A hálózati réteg feladatai A TCP/ modell hálózati rétege (Network Layer) A csomagok szállítása a forrásállomástól a cél-állomásig A hálózati réteg protokollja minden állomáson és forgalomirányítón fut (a forrás-állomástól a célállomásig) 3a-1 Két fontos funkció: A legjobb útvonal meghatározása: a csomagok útvonala a forrástól a célig. Routing algorithms Átmásolás: a forgalomirányító bejövı portjától a megfelelı kimenı portjáig 3a-2 HTTP TCP Protokoll-készlet: a csomagok továbbítása Host A Router R Router W Host B HTTP TCP Datagramma hálózatok: az Internet modell Nincs hívás-felépítés a hálózati rétegnél Forgalomirányító: nincs ismerete a a forrás-állomás célállomás kapcsolatról Nem létezik a kapcsolat koncepció a hálózati réteg szintjén A hálózati rétegben a csomagokat tipikusan a cél-állomás címe alapján irányítják Ugyanazon forrás cél között közlekedı csomagok egészen más útvonalat járhatnak be Legjobb szándékú kézbesítés Ethernet Ethernet link link Ethernet Ethernet 1. Adatok küldése 2. Adatok fogadása 3a-3 3a-4 Legjobb szándékú kézbesítés Mi történhet egy datagrammal? A hálózati réteg Egy állomás, forgalomirányító hálózati rétegbeli funkciói : Transport layer: TCP, UDP A fizikai rétegben megsérül Megtelt forgalomirányító-puffer miatt eldobásra kerül A cél elérhetetlen Forgalomirányítási hurkok Hálózati réteg Irányító protokollok útvonalválasztás R, OSPF, BGP protokoll Címzési konvenciók datagramm formátum Csomag-kezelési konvenciók Irányítási tábla ICMP protocol hibajelentés router jelzések Link layer layer 3a-5 3a-6 1
Irányító protokollok: késıbb Internet Protokoll 3a-7 Az Internet a heterogén hálózatok hálózata : Különbözı technológiákat használ (pl. különféle maximális csomagméreteket) Különbözı cégekhez tartozó eszközöket használ (például képes fogadni a legkülönbözıbb címekrıl érkezı csomagokat) Az célja: úgy kapcsolja össze az egyes végpontokat, hogy azoknak semmit sem kell tudniuk a közbensı hálózatokról Forgalomirányítók, kapcsolók, hidak: a heterogén hálózatokban a datagrammok továbbítására szolgáló eszközök 3a-8 címzés: késıbb -csomag formátum protocol version Number header type of data max number remaining hops (decremented at each router) upper layer protocol to deliver payload to 32 bits ver head. type of len service 16-bit identifier flgs fragment time to upper Internet live layer checksum 32 bit source address 32 bit destination address Options (if any) data (variable, typically a TCP or UDP segment) total datagram (bytes) for fragmentation/ reassembly E.g. timestamp, record route taken, pecify list of routers to visit. 3a-9 3a-10 fragmentálás & visszaállítás fragmentálás & visszaállítás A hálózati kapcsolatoknak van egy MTU-ja (max.transfer size) a létezı legnagyobb adatkapcsolati rétegbeli keret mérete. Különbözı protokollok, különbözı MTU-k A nagy csomagokat a hálózaton belül darabokra tördelik ( fragmentálják ) Egy csomagból több csomag lesz csak a végpontban kerülnek visszaállításra fej bitjeit használják arra, hogy azonosítsák és sorrendbe állítsák a fragmenseket visszaállítás fragmentálás: be: egy nagy csomag out: 3 kisebb csomag Példa 4000 bájtos csomag MTU = 1500 bájt Az -fej hossza 20 byte Jellemzık: Hossza változhat Identification ugyanaz Fragflag változik Offset nı az elızı adat hosszával (1500 20 = 1480) =4000 =1500 Egy nagy csomag több kisebb csomagra fragmentálódik =1500 =1040 =1 =1 =1480 =2960 3a-11 3a-12 2
-fej: Time-to-live mezı / TTL (8 bits) -fej: Protokoll 8bit, tehát a két állomás közötti ugrás-korlát: 2 8-1 = 255 A forrás állítja be a kezdı értékét; Általában 32-re, 64-re vagy 128-ra állítják minden ugrás azaz forgalomirányító eggyel csökkenti azt Amikor eléri a nullát, akkor a datagramm eldobásra kerül Megakadályozza a végtelen irányítási hurkok káros hatását A traceroute ezt használja (késıbb meglátjuk, hogyan) Meghatározza, hogy az protokoll melyik felsıbb rétegő protokollnak adja át a datagrammot. 8 bits: 2 8-1 = 255 a maximális protokoll-szám 1= ICMP 2= IGMP 6 = TCP 17 = UDP 135-254: Nincs kiosztva Ki osztja ki ezeket a számokat? http://www.iana.org/assignments/protocol-numbers 3a-13 3a-14 -fej: forrás és cél -cím -címek: hogyan szerezhetünk egyet? Késıbb tekintjük át. Állomások (állomás-címrész): LAN esetén: A rendszergazda manuálisan beállítja DHCP: Dynamic Host Configuration Protocol: dinamikus cím-szerzés plug-and-play WAN esetén, például otthon: Az Internet szolgáltatótól kapjuk, tipikusan a gépünk (forgalomirányítónk) bekapcsolásakor 3a-15 3a-16 ICMP: Internet Control Message Protocol ICMP: A forgalomirányításnál használják Állomások, forgalomirányítók, átjárók (gateways) használják, hogy a hálózati szintő információkat továbbítani tudják a hálózati feltételek lekérdezésére-közlésére hibaüzenetek közlése feletti hálózati réteg : ICMP üzenetek datagrammokban közlekednek ICMP üzenet: típus (type), kód (code) plusz az datagramm elsı 8 bájtja 8-bit type ICMP üzenet-formátum 8-bit code 16-bit checksum A tartalom a típustól (type) függ ICMP-t használnak a forgalomirányítók feltárásához illetve a forgalomirányító hirdetéséhez ICMP-t használnak redirection céljára A forrásnak lehet jelezni, hogy egy nem hatékony porton keresztül kommunikál 3a-17 3a-18 3
3. réteg: ICMP ICMP: Internet Control Message Protocol ICMP echo kérés és válasz keret 0 8 16 31 TYPE (8 v. 0) CODE (0) CHECKSUM ENTIFIER SEQUENCE NUMBER OPTIONAL DATA... Hiba-feltételek unreachable host,, port, protocol echo request/reply (used by ping) Need to fragment and can t; TTL expired Source Quench Kérdés-válasz Ping Address mask request/reply Timestamp request/reply Reply echos identifier from query so they can be matched Type Code description 0 0 echo reply (ping) 3 0 dest. unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest unknown 3 7 dest host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad header 3a-19 3a-20 ICMP üzenet ICMP üzenetre? ping Sohasem megy ICMP üzenet a következıkre válaszul: A speciális -címre küldött üzenetre (broadcast, multicast, loopback,..) Más ICMP hibaüzenetre (error messages) ICMP visszhang kérést (echo request) küld egy állomásnak, és vár tıle egy ICMP visszhang-választ (echo reply) Használata A másik állomás elérhetıségének ellenırzésére (pont-pont mőködıképesség) Az RTT mérésére 3a-21 3a-22 3. réteg: ping Ping request 3a-23 3a-24 4
Ping reply traceroute /tracert TTL + ICMP Egy -csomag sorozatot küld növekvı TTL-mezı értékkel A forrás elküld egy TTL =1 csomagot, kap egy TTL-mezı expired üzenetet az elsı ugráson lévı forgalomirányítótól A forrás beállít egy TTL=2, kap egy TTL-mezı expired üzenetet a második ugráson lévı forgalomirányítótól Lényeges a hálózat feltárásában Korlátok Az egymást követı csomagok egészen más útvonalon is haladhatnak 3a-25 3a-26 3. réteg: tracert tracert kérés 3a-27 3a-28 A tracert válaszok egyike Visszaküldi a hibaüzenetet: Type 11 (time to live exceeded) a kapott +ICMP fejet, elemzés céljára 3a-29 5