Transcript ppt
Pregled na najvažnije koncepte mreže Uvod u mreže. Ova prezentacija koristi primjer sa prve prezentacije (prezentacija sa prve vježbe) da bi napravili pregled najvažnijih koncepata mreže: arhitektura protokola, protokol slojevi, encapsulation, demultipleksiranje, mrežna apstrakcija. 1 Mrežni koncepti (koncept, skica, nacrt, plan) • Arhitektura protokola • Protokol slojevi • Encapsulation • Mrežna apstrakcija 2 Slanje paketa sa Argon-1 prema Neon-u argon.tcpip-lab.edu "Argon" 128.143.137.144 neon.tcpip-lab.edu "Neon" 128.143.71.21 router137.tcpip-lab.edu "Router137" 128.143.137.1 router71.tcpip-lab.edu "Router71" 128.143.71.1 Router Ethernet Network Ethernet Network 3 Slanje paketa sa128.143.71.21 Argon-1nije prema Neon-u na mojoj lokalnoj mreži. Prema tom, ja trebam poslati paket svom 128.143.71.21 je na mojoj lokalnoj mreži. default gateway-u čija je adresa 128.143.137.1 DNS: DNS: ThejeIP adresa of Prema tome, ja mogu poslati paket direktno. ARP:Koja Koja jeIPaddress MAC adresa od“neon.tcpip-lab.edu ”is? od od“neon.tcpip-lab.edu 128.143.137.1? ARP: (jedina) MAC ”adresa 128.143.71.21 128.143.137.1 je 00:e0:f9:23:a8:20 argon.tcpip-lab.edu "Argon" 128.143.137.144 ARP: Koja je MAC adresa ARP: (jedina) MAC adresa od od 128.143.71.21? 128.143.137.1 jeneon.tcpip-lab.edu 00:20:af:03:98:28 "Neon" 128.143.71.21 router137.tcpip-lab.edu "Router137" 128.143.137.1 router71.tcpip-lab.edu "Router71" 128.143.71.1 Router frame Ethernet Network frame Ethernet Network 4 Komunikacijska arhitektura • Kompleksnost komunikaciskog zadatka se svodi na korištenje mnogostrukih protokol slojeva: • Svaki protokol se implementira nezavisno • Svaki protokol je odgovoran za odgovarajući podzadatak • Svi protokoli su grupirani u hijerarhiju • Strukturu skupa protokola zovemo komunikaciska arhitektura ili protokol nacrt 5 TCP/IP protokol nacrt • (jedina) TCP/IP protokol nacrt je (jedinstvena) protokol arhitektura Internet-a Application User-level programs Transport • TCP/IP nacrt ima četri sloja: Programi, Prenos, Mreža i Podaci-veza sloj • Sistemi na kraju veze (host-ovi) primjenjuju sva četri sloja. Gateway-i (Router-i) su jedini koji imaju dva donja sloja. Operating system Network Data Link Data Link Media Access Control (MAC) Sublayer in Local Area Networks 6 Funkcija slojeva • Podaci- veza sloj: – Namjena: Pouzdan prenos frejme-ova preko veze Media Access Control koji se nalazi na LAN-u – Funkcija: Framing, media access control, provjera greški • Mrežni sloj: – Namjena: Pomjera pakete sa izvornog host-a do željenog host-a – Funkcija: Routing, addressing • Prenosni sloj: – Namjena: – Funkcija: Dostava podataka između host-ova Veza je uspostavljena\ukinuta, kontrolisanje greški kontrola protoka • Programski sloj: – Namjena: Programi za specifičnu namjenu (dostavljanje email-a, prikaz HTML dokumentadocuments, pouzdano slanje podataka) – Funkcija: Zavisi od specifičnosti programa 7 TCP/IP nacrt i OSI Reference Model Application Layer (jedini) TCP/IP protokol stek ne definiše donje slojeve od kompletnog protokol stek-a (Šta je stek?) Application Layer Transport Layer Network Layer (Data) Link Layer Presentation Layer Session Layer Transport Layer Network Layer (Data) Link Layer Physical Layer TCP/IP Suite OSI Reference Model 8 Zaduživanje protokola odgovarajćim slojevim ping application HTTP Telnet FTP TCP DNS SNMP Application Layer Transport Layer UDP Routing Protocols ICMP RIP IP IGMP PIM Network Layer OSPF DHCP ARP Ethernet Network Interface Data Link Layer 9 Komunikacija preko slojeva • Entitet određenog sloja može jedino komunicirati sa: 1. peer sloj entitet-om korištenjem zajedničkog protokola (Peer Protocol) 2. susjednim sloj-em da omogući servis i da primi servis N+1 Layer N+1 Layer Entity N+1 Layer Protocol N+1 Layer Entity N Layer Entity N Layer Protocol N Layer Entity N-1 Layer Entity N-1 Layer Protocol N-1 Layer Entity layer N+1/N interface N Layer layer N/N-1 interface N-1 Layer 10 Slojevi komunikacije Sloj N+1 entitet vidi donje slojeve jedino kao service provider (service provider se prevodi kao davatelj usluga) N+1 Layer Entity N+1 Layer Peer Protocol N+1 Layer Entity Indicate Delivery Request Delivery Service Provider 11 Service (service ili usluga) Access Points • Servisni korisnički pristup je usluga od service providera (provajder ili davatelj ili poslužitelj) na Service Access Points (SAPs) • SAP posjeduje adrese koje jedinstveno određuju gdje se servisu može pristupiti N Layer Layer-N Entity Layer N-1 SAP layer N/N-1 service interface N-1 Layer Layer- N-1 Entity 12 Razmjena podataka • Jedinična količina podataka koja se šalje između peer entiteta se zove Protocol Data Unit (PDU) • Za sad, tumačimo PDU kao jedan paket A N Layer Entity PDU (at layer N) N Layer Entity B • Scenario: Sloj-N na A šalje sloj-N PDU prema sloju-N na B • Šta se u stvari dešava: – A sloj-N šalje PDU prema jednom od SAP-ova na sloju-N-1 – Sloj-N-1 entitet na A svoj sopstveni (sloj-N-1) PDU koji se šalje prema sloju-N1 entiteta od B – PDU na sloju-N-1 = sloj-N-1 zaglavlje + sloj–N PDU 13 Razmjena podataka A B Layer-N Entity control Layer-N PDU and control data is sent to SAP of Layer-N-1 Layer-N Entity N PDU SAPs Layer- N-1 Entity Layer- N-1 Entity Header control N PDU (of layer N-1) N PDU PDU of Layer-N-1 14 Slojevi u primjeru HTTP HTTP protocol HTTP TCP TCP protocol TCP IP Ethernet IP IP protocol Ethernet argon.tcpiplab.edu 128.143.137.144 Ethernet IP protocol Ethernet Ethernet router71.tcpip- router137.tcpiplab.edu lab.edu 128.143.137.1 128.143.71.1 00:e0:f9:23:a8:20 IP Ethernet neon.tcpip-lab.edu 128.143.71.21 15 Layers in the Example HTTP TCP IP Frame je na IP datagram-u Ethernet Šalje HTTP zahtjev prema Neon-u Uspostavlja vezu sa 128.143.71.21 na portu broj 80Orvara TCP vezu sa 128.143.71.21 na portu broj 80 IP datagram je TCP segment za port 80 Šaljezahtjev IP datagram Šalje datagram (koja sadrži za vezu) Šalje IP datagram prema IP prema 128.143.71.21 prema 128.143.71.21 128.143.71.21 Frame je na IP datagram-u Šalje datagram prema 128.143.137.1 Ethernet Ethernet HTTP TCP IP Šalje datagram Ethernet prema 128.143.7.21 argon.tcpipneon.tcpip-lab.edu router71.tcpip- router137.tcpipŠalje Ethernet frame Šalje Ethernet frame lab.edu 128.143.71.21 lab.edu lab.edu prema 00:20:af:03:98:28 prema 00:e0:f9:23:a8:20 128.143.137.144 128.143.137.1 128.143.71.1 00:e0:f9:23:a8:20 16 Slojevi i servisi • Servis opremljen sa TCP prema HTTP: – pouzdan prenos podataka na logičkom vezom • Servis opremljen sa IP prema TCP: – nepouzdan prenos IP datagram-a preko IP mreže • Servis opremljen sa Ethernet prema IP: – Prenos frejmova preko Ethernet segmenata • Ostali servisi: – DNS: Prenos između domain imena i IP adresa – ARP: Prevođenje između IP adresa i MAC adresa 17 Encapsulation i Demultipleksiranje • Encapsulation (sažimanje) • Kako se podatak pomjera dole u protokol steku, svaki protokol dodaje sloj-specifikaciju za kontrolu informacija User data HTTP HTTP Header User data HTTP Header User data TCP TCP Header IP TCP segment IP Header Ethernet TCP Header HTTP Header User data IP datagram Ethernet Header IP Header TCP Header HTTP Header Ethernet frame User data Ethernet Trailer 18 Encapsulation i demultipleksiranje u našem primjeru • Pogledajmo detaljnije u Ethernet frame između Argon i Router, koji sadrži TCP zahtjev za vezu prema Neon-u. • Ovaj frame je u hexadecimal-nom zapisu . 00e0 9d08 0050 0204 f923 a820 00a0 2471 e444 0800 4500 002c 4000 8006 8bff 808f 8990 808f 4715 065b 0009 465b 0000 0000 6002 2000 598e 0000 05b4 19 Ethereal Pogled 1: Zbir svih paketa Pogled 2: Detalji zaglavlja od paketa View 3: Sadržaj paketa u hexadecimal i ASCII obliku 20 Raščlanjivanje informacija sadržanih u frame-u 4 bytes destination address 00:e0:f9:23:a8:20 Ethernet header (14 bytes) source address 0:a0:24:71:e4:44 type 0x0800 version 0x4 IP Header (20 bytes) Type of Service/TOS 0x5 0x00 Identification flags 0x9d08 0102 time-to;ive protocol 0x80 0x06 cource IP address 128.143.137.144 destination IP address 128.143.71.21 header length source port number 162710 TCP Header (24 bytes) 0x6 Ethernet trailer (4 bytes) destination port number 8010 sequence number 0x0009465b acknowledgement number 0x00000000 flags 0000102 unused 0000002 TCP checksum 0x598e option type option length 0x02 0x04 header length total length (in bytes) 0x002c fragment offset 00000000000002 header checksum 0x8bff window size 819210 urgent pointer 0x0000 maximum segment size 146010 CRC 21 Encapsulation i demultipleksiranje 6 bytes destination address 4 bytes source address type Ethernet Header CRC IP Header TCP Header Application data Ethernet Trailer Ethernet frame 22 Encapsulation i demultipleksiranje : Ethernet zaglavlje 6 bytes 00:e0:f9:23:a8:20 4 bytes 0:a0:24:71:e4:44 0x0800 Ethernet Header CRC IP Header TCP Header Application data Ethernet Trailer Ethernet frame 23 Encapsulation i demultipleksiranje: IP zaglavlje 32 bits version (4 bits) header length DS flags (3 bits) Identification (16 bits) TTL Time-to-Live (8 bits) Total Length (in bytes) (16 bits) ECN Protocol (8 bits) Fragment Offset (13 bits) Header Checksum (16 bits) Source IP address (32 bits) Destination IP address (32 bits) Ethernet Header IP Header TCP Header Application data Ethernet Trailer Ethernet frame 24 Encapsulation i demultipleksiranje: IP zaglavlje 32 bits 0x4 0x5 0x0 0x0 9d08 12810 4410 0102 00000000000002 0x06 8bff 128.143.137.144 128.143.71.21 Ethernet Header IP Header TCP Header Application data Ethernet Trailer Ethernet frame 25 Encapsulation i demultipleksiranje: TCP Zaglavlje 32 bits Source Port Number Destination Port Number Sequence number (32 bits) Acknowledgement number (32 bits) header length 0 Flags TCP checksum option type Ethernet Header IP Header length window size urgent pointer Max. segment size TCP Header Application data Izborno: maksimalna veličina segmenta Ethernet Trailer Ethernet frame 26 Encapsulation i demultipleksiranje: TCP zaglavlje 32 bits 162710 8010 60783510 010 610 0000002 0000102 0x598e 210 Ethernet Header IP Header 819210 00002 410 TCP Header 146010 Application data Ethernet Trailer Ethernet frame 27 Encapsulation i demultipleksiranje: Programski podaci Nema podataka o programu u ovom frame-u Ethernet Header IP Header TCP Header Application data Ethernet Trailer Ethernet frame 28 Različiti pogledi na mrežu • Različiti slojevi protokol steka imaju različit pogled na mrežu. Ovo je HTTP-ov i TCP-ov pogled na mrežu. Argon 128.143.137.144 Neon 128.143.71.21 HTTP client HTTP server HTTP server TCP client TCP server TCP server IP Network 29 Pogled na mrežu od IP protokola 30 Ethernet-ov pogled na mrežu • Ethernet-ov pogled na mrežu 31 Literatura • "Mastering Networks: An Internet Lab Manual"; Jorg Liebeherr, Magda El Zarki; Chapter 0. • http://www.cs.virginia.edu/~itlab/book/slides/ 32