Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

DComNet1 Computer netværk og TCP/IP protokoller. dComNet2 Maskinarkitektur.. fokus på intern organisation af en enkelt computer:

Lignende præsentationer


Præsentationer af emnet: "DComNet1 Computer netværk og TCP/IP protokoller. dComNet2 Maskinarkitektur.. fokus på intern organisation af en enkelt computer:"— Præsentationens transcript:

1 dComNet1 Computer netværk og TCP/IP protokoller

2 dComNet2 Maskinarkitektur.. fokus på intern organisation af en enkelt computer:

3 dComNet3 Computer netværk netværk.. kommunikation mellem maskiner forbindet i et netværk: Transmission af bits (data) over netværket kan være baseret på kobber, fiberoptik, radiobølger, … 0100100100011100010101011

4 dComNet4 Netværksinterface.. netværket tilgås via et netværkskort (interface): Network interface card netværk.. netværkskortet tilgås via specielle input/output maskininstruktioner eller specielle lageraddresser.

5 dComNet5 Strukturering af netværkskommunikation.. stort spænd fra fysisk transmission af bits til applikationer: 0100100100011100010101011 0110100100011100010111011 HTTP Request www.cs.au.dk/index.html HTTP Response

6 dComNet6 Protokolstak.. netværkskommunikation struktureres i en protokolstak: 7-lags OSI modellen pålidelig end-to-end transmission af segmenter fysiske og upålidelige transmission af bits medie adgangskontol, upålidelig transmission af frames rutning, upålidelig end-to-end transmission af pakker etablering af forbindelser mellem processer/applikationer repræsentation af data (heltal, objekter,…)

7 dComNet7 Protokoller og services.. protokolstakken implementeres på hver computer i netværket: service protokol

8 dComNet8 TCP/IP protokolstakken.. danner grundlag for Internet kommunikation: hardware software operativ systemet

9 dComNet9 Link laget

10 dComNet10 Link laget.. kommunikation mellem maskiner over et fysisk netværk: Kommunikation foregår via transmission af frames. Kommunikation typisk upålidelig: frames kan gå tabt. Håndterer deling af mediet (Medium Access Control). Hver tilkoblet maskine har en unik link-lags addresse.

11 dComNet11 Ethernet.. klassisk og mest udbredte lokal netværks (LAN) teknologi: Carrier Sense Multiple Access with Collision Detection. Anvender 48-bits link-lags addresser (eks: 74-29-9C-E8-FF-55). Ethernet frames: 46-1500 bytes8 bytes 6 bytes 2 4 bytes

12 dComNet12 Ethernet Hub Modtager frames på en port som så videresendes på alle porte. Regenererer signal for hver frame, men inspicerer ikke indholdet. Kollisioner vil forekomme hvis maskiner transmitterer samtidig.

13 dComNet13 Ethernet Switch.. lærer link-lags addresser udfra modtage frames... undgår at videresende frames på alle porte.

14 Sidekvindeopgave Hvorfor buffer ? Inputs 1 Gbit/s -> Output 100Mbit/s –Hvad sker der? Hvorfor aging (ældelse) ? dComNet14

15 dComNet15 Netværkslaget

16 dComNet16 En zoologisk have.. der findes mange forskellige netværksteknologier: Ethernet Frame Relay ATM FDDI X.25 Satellite links UMTS WiFi Token ring GPRS Point-to-Point WiMax Bluetooth ZigBee UWB Grundideen bag internet: Et universelt virtuelt netværk baseret på at forbinde heterogene fysiske netværk.

17 dComNet17 IP netværkslaget Ekstern arkitektur: Et virtuelt netværk. Hosts forbinder sig direkte. Intern struktur usynlig for applikationer. Intern arkitektur: Antal forbundne fysiske netværk. Hver host forbundet til et fysisk netværk. Fysiske netværk forbundet via routere... end-to-end, forbindelsesløs, upålidelig transmission af pakker (datagrammer). netværkslaget

18 dComNet18 Adressering.. baseret på 32-bits internet addresser (IP addresser, IPv4):.. IP addresser knyttes til (fysiske) netværksinterfaces. Skrives i dotted-decimal notation: 126.230.140.67 10100101 11100110 10001100 01000011

19 dComNet19 Adressering.. baseret på 32-bits internet addresser (IP addresser):.. IP addresser knyttes til (fysiske) netværksinterfaces. Skrives i dotted-decimal notation: 126.230.140.67 10100101 11100110 10001100 01000011

20 Sidekvindeopgave Hvilken ”classes” ? –35.230.100.67 –135.230.100.67 –191.230.100.67 dComNet20

21 dComNet21 IP datagrammer / pakker

22 dComNet22 Rutning.. netværkslaget er ansvarlig for multi-hop rutning: source destination Routere forbinder et eller flere fysiske netværk og er ansvarlige for videresendelse af datagrammer. Routere har et eller flere netværksinterfaces. Videresendelse baseret på rutnings- tabeller med indgange på formen: (netværksprefix, next-hop interface)

23 dComNet23 Router.. en computer med multiple netværkskort der videresender pakker: CISCO 3500

24 dComNet24 Address Resolution.. behov for at afbilde mellem IP addresser og link-lags addresser: 222.222.222.220 222.222.222.222 ? 1A-23-F9-CD-06-9B

25 dComNet25 Address Resolution Protocol (ARP).. gør det muligt at lave addresse afbildning:.. maskiner har en ARP tabel for at reducere antal ARP requests. broadcast ARP request: who has 222.222.222.222 (target)? unicast ARP reply: me (222.222.222.222,49-BD-D2-C7-56-2A)

26 dComNet26 ARP og rutning source destination.. hvordan sendes IP pakken, ARP request, frames?

27 dComNet27 Transport laget

28 dComNet28 Transportlaget End-to-end kommunikation mellem applikationsprocesser via TCP/UDP segmenter TCP: Transmission Control Protocol UDP: User Datagram Protocol Forbindelsesorienteret Pålidelig bytestream Forbindelsesløs Upålidelig (tab, ombytning, duplering) UDP header Src & Dst Porte

29 dComNet29 Transportlags porte.. behov for identifikation af sender/modtager applikationsprocess: Multiplexing og demultiplexing af transportsegmenter baseret på porte. Porte identificerer også typisk netværks services (HTTP, port 80). Process Port 1 fysiks forbindelse

30 dComNet30 TCP/UDP segmenter

31 Sidekvindeopgave Hvor mange porte (antal) er muligt? Hvad sker der hvis server port ikke eksisterer? (UDP) dComNet31

32 dComNet32 Transportlags API

33 dComNet33 UDP Transportlags API: JAVA.. interaktion med transportlaget foregår via sockets som mappes på porte Oprettelse af en socket: DatagramSocket clientSocket = new DatagramSocket(19157); DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 46428); clientSocket.send(sendPacket); Afsendelse af UDP segment: Modtagelse af UDP segment: DatagramSocket serverSocket = new DatagramSocket(46428); DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); serverSocket.receive(receivePacket);

34 dComNet34 Eksempel klient applikationserver applikation 1.Klient applikationen læser linie fra tastatur. 2.Klient applikation sender linien til server applikation. 3.Server modtager linien og konverterer den til upper case. 4.Server sender konverteret linie tilbage til klient applikationen. 5.Klient applikationen modtager den konverterede linie. 6.Klient applikationen skriver linie på skærm.

35 dComNet35 UDP klient-server applikationer

36 dComNet36 UDP klienten

37 dComNet37 import java.io.*; import java.net.*; class UDPClient { public static void main(String args[]) throws Exception { BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); DatagramSocket clientSocket = new DatagramSocket(); InetAddress IPAddress = InetAddress.getByName("hostname"); byte[] sendData = new byte[1024]; byte[] receiveData = new byte[1024]; String sentence = inFromUser.readLine(); sendData = sentence.getBytes(); Create input stream Create client socket Translate hostname to IP address using DNS UDPClient.java

38 dComNet38 DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 9876); clientSocket.send(sendPacket); DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); clientSocket.receive(receivePacket); String modifiedSentence = new String(receivePacket.getData()); System.out.println("FROM SERVER:" + modifiedSentence); clientSocket.close(); } Create datagram with data-to-send, length, IP addr, port Send datagram to server Read datagram from server

39 dComNet39 UDP server

40 dComNet40 import java.io.*; import java.net.*; class UDPServer { public static void main(String args[]) throws Exception { DatagramSocket serverSocket = new DatagramSocket(9876); byte[] receiveData = new byte[1024]; byte[] sendData = new byte[1024]; while(true) { DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); serverSocket.receive(receivePacket); Create space for received datagram Receive datagram Create datagram socket at port 9876 UDPServer.java

41 dComNet41 String sentence = new String(receivePacket.getData()); InetAddress IPAddress = receivePacket.getAddress(); int port = receivePacket.getPort(); String capitalizedSentence = sentence.toUpperCase(); sendData = capitalizedSentence.getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port); serverSocket.send(sendPacket); } Get IP addr port #, of sender Write out datagram to socket End of while loop, loop back and wait for another datagram Create datagram to send to client

42 dComNet42 Applikationslaget

43 dComNet43 Applikationslaget

44 dComNet44 Opsummering: TCP/IP netværk Frames, adgangskontrol, et-hops upålidelig kommunikation, link-lags addresser, hubs, switches. IP addresser, rutning, upålidelig multi-hop kommunikation, routere. Address Resolution Protocol End-to-end kommunikation mellem processer, UDP, TCP, porte. Socket API


Download ppt "DComNet1 Computer netværk og TCP/IP protokoller. dComNet2 Maskinarkitektur.. fokus på intern organisation af en enkelt computer:"

Lignende præsentationer


Annoncer fra Google