5. Hálózati réteg Feladata: - Csomagok eljuttatása a forrástól a célig. - Ismernie kell a kommunikációs alhálózat (vagyis a routerek halmaza) topológiáját, és megfelelő útvonalakat kell találnia azon keresztül. - Az összekapcsolt hálózatok közti különbségekből adódó problémák megoldása.
5.1. Hálózatszervezési módszerek Alapvetően két eltérő hálózatszervezési módszer létezik: 1. Összeköttetés alapú (virtuális áramkörök). A forrás és a cél között felépült állandó úton vándorolnak a csomagok, de egy fizikai közeget egyszerre több virtuális kapcsolat használhat. Nem kell minden egyes csomagra forgalomszabályozási döntést hozni. A virtuális áramkörök kialakításához minden csomópontnak fenn kell tartani egy olyan táblázatot, amely a rajta keresztül haladó éppen használt virtuális áramkörök jellemzőit tartalmazza. Minden hálózaton keresztül haladó csomagnak tartalmaznia kell az általa használt virtuális áramkör sorszámát.
2. Összeköttetés mentes (datagram). Összeköttetés mentes hálózatban elvileg minden egyes csomag különböző útvonalakat követhet, mivel a csomagok útválasztása egymástól független. Ilyenkor a csomagoknak tartalmazniuk kell mind a forrás, mind a cél teljes címét. Összehasonlítás: VÁ esetén egyszerűbb a címzés, viszont a kapcsolat felépítéséhez (és bontásához) idő kell. A VÁ-k sebezhetőbbek, viszont van némi előnyük a torlódás elkerülésénél. Az Internetnek datagram hálózati rétege van.
5.2. Forgalomirányítás (routing) A forgalomirányítás (routing) feladata csomagok útjának a kijelölése és hatékony (gyors) eljuttatásuk a forrástól a célállomásig. A hálózatot célszerű gráfként modellezni, ahol a csomópontok a routerek, és a csomópontokat összekötő élek a csatornák. Mivel a hálózati csomópontok irányítási, továbbküldési kapacitása véges, elképzelhető a csomagok sorban állása a bemenő oldalon. A csomópontok ún. routing táblákat tartalmaznak a velük kapcsolatban álló csomópontok adatairól.
A forgalomirányítás összetettségét alapvetően meghatározza a hálózat topológiája. A forgalomirányítási algoritmusoknak két osztálya van: - adaptív (alkalmazkodó), amely a hálózati forgalomhoz alkalmazkodik (dinamikus forgalomirányítás = dynamic routing); - determinisztikus (előre meghatározott), ahol az útvonal választási döntéseket nem befolyásolják a pillanatnyi forgalom mért vagy becsült értékei (statikus forgalomirányítás= static routing) Ezek alapján alapvetően négy lehetséges vezérlésmód különböztethető meg:
- determinisztikus forgalomirányítás; olyan rögzített eljárás, amelyet a változó feltételek nem befolyásolnak; - elszigetelt adaptív forgalomirányítás, amelynél minden csomópont hoz irányítási döntéseket, de csak helyi információk alapján; - elosztott adaptív forgalomirányítás, amelynél a csomópontok információt cserélnek azért, hogy az irányítási döntéseket a helyi és a kapott információkra együtt alapozhassák; - központosított adaptív forgalomirányítás; amelynél a csomópontok a helyi forgalmi információikat egy közös irányító központnak jelentik, amely erre válaszul forgalomirányítási utasításokat ad ki az egyes csomópontok részére.
A legrövidebb út meghatározása (shortest path) A forgalomirányítás során két csomópont (router) között meg kell találni a legoptimálisabb útvonalat. Egy út hosszát mérhetjük például az átlépett csomópontok számával (hop count). Az optimális útvonal nem feltétlenül jelenti a fizikailag legrövidebb útvonalat, mivel számos egyéb tényező is befolyásolhatja az optimális választást. Általánosan egy adott szakasz ún. mértékét a távolság, az adatátviteli sebesség, az átlagos forgalom, a kommunikációs költség, az átlagos sorhosszúság vagy más egyéb tényezők alapján határozzák meg. Példa: distance-vector routing protocols. They use hop count and composite metric for calculating the best path from a router to a destination.
5.3. Torlódásvédelem Azt hihetnénk, hogy ha a vonalak és csomópontok kapacitása elegendő az adatforgalom lebonyolításához, akkor a szabad információáramlás minden esetben garantálható. A tényleges helyzet azonban más. Előfordul, hogy a rendeltetési helyen a csomagoknak a hálózatból való kiléptetése akadályba ütközik. A csomagok küldőjére ekkor minél előbb át kell hárítani ezt az akadályt, ellenkező esetben a csomagok a hálózatban felhalmozódnak.
Ha egyes hálózatrészek túltelítődnek akkor a csomagok mozgatása lehetetlenné válhat. Azok a várakozási sorok, amelyeknek ezeket a csomagokat be kellene fogadniuk, állandóan tele vannak. Ennek következményeként a hálózat teljesítménye erősen lecsökken. Ezt a helyzetet nevezzük torlódásnak (congestion). A torlódás egyik lehetséges oka, hogy az állomások lassabban dolgozzák fel a vett csomagokat, mint ahogy azokat az átviteli közeg továbbítani képes. Ennek az esetnek a fordítottja is lehetséges, amikor az állomások sokkal gyorsabban küldenék a csomagokat, mint ahogy azokat az átviteli közeg továbbítani tudná. Mindkét eset ütközést vált ki, amely a csomagok újraküldését fogja eredményezni akkor, amikor még több csomagot kellene átvinni.
Amikor túl nagy forgalmat követelünk, bekövetkezik a torlódás, és a teljesítőképesség meredeken visszaesik.
A torlódás szélsőséges esete a befulladás (lock-up). Ez olyan, főként tervezési hibák miatt előálló eset, amelyben bizonyos információfolyamok egyszer s mindenkorra leállnak a hálózatban. A csomagkapcsolt hálózatokban a helytelen puffer-elosztás és a rossz prioritási szabályok befulladásokat okozhatnak. A torlódások legsúlyosabb esete a holtpont. Ez azt jelenti, hogy a routerek kölcsönösen egymásra várnak. A torlódásvezérlésnek kell biztosítania, hogy az alhálózat a jelentkező forgalmat képes legyen lebonyolítani.
Layer names and number of layers in the literature
5.4. Az internet hálózati rétege A hálózati réteg feladata a csomagok továbbítása a hálózaton.
Internet protokoll (IP) Az internet hálózati rétegének elsődleges protokollja (RFC 791). Megbízhatatlan, összeköttetés mentes szolgálat. - címzés - csomagforma definiálása, - útvonalválasztás, - csomagfeldolgozásra vonatkozó szabályok. (Best-effort: a csomagok elveszhetnek, duplázódhatnak, rossz sorrendben érkezhetnek meg) Az üzeneteket max. 64 kbyte hosszúságú datagramokra bontja. Az elküldött datagramok az útjuk során még kisebb méretűre tördelődhetnek szét. Amikor az összes datagram eléri a célállomást, akkor az ismét egyesíti ezeket, és ezzel összerakja az eredeti üzenetet.
Internetwork Packet Exchange protokoll (IPX) A Novell cég hozta létre a Netware hálózatokban az adatátvitel megoldására. A Netware hálózatok kilens-szerver architektúrájúak. Az IPX a Xerox által kidolgozott XNS-protokollon alapul. Az OSI-modell szerint az IPX a hálózati réteg protokollja. Az IPX egy kapcsolatmentes datagram protokollt valósít meg, amely nem tartalmaz semmilyen nyugtázást az átvitt csomagokkal kapcsolatban. Az IPX ekvivalens az IP-vel a TCP/IP környezetben. Minden hálózati szegmensnek van egy egyedi hálózatcíme. Előfordulhatnak a már meglevő rendszerekkel történő címütközések is. Ennek elkerülésére a Novell cégtől lehet kérni egyedi hálózatcímeket is.
Az állomások címhozzárendelése automatikusan történik, amikor az állomást indítjuk. Az állomás címét a hálózati kártya MAC-címe fogja adni, ami egyedi lesz. Az IPX-címek 80 bit hosszúak. Minden IPX-cím két részből áll: 32 bites hálózati címből, 48 bites állomáscímből. Pl.: 1b2b.0000.3c4d.5ef1. - egy lehetséges állomáscím A címnek az 1b2b része jelenti a hálózat címét, míg a 0000. 3c4d.5ef1 az 1b2b című hálózaton belül azonosítja az állomást. Ezen címek alapján lehet forgalomirányítást végezni a különböző hálózati szegmensek között.
Címzési rendszer Az IP-cím (Internet Protocol-cím) egy egyedi hálózati azonosító, amelyet az IP segítségével kommunikáló számítógépek egymás azonosítására használnak. Minden, az internetre kapcsolt számítógépnek van IP-címe, de egy-egy konkrét cím nem kötődik feltétlenül egy-egy géphez: - egyes gépeknek több címük is lehet (ilyenkor a különböző címek rendszerint a számítógép különböző hálózati eszközeit azonosítják), - vagy több gép osztozhat egy címen - vagy a gép IP-címe rendszeresen változhat (ez különösen a lakossági internetszolgáltatón keresztül kapcsolódó otthoni számítógépekre jellemző).
Az internetet használó számítógépek minden tranzakció során (például egy weboldal megjelenítésekor) megadják IP-címüket, ami révén elvileg be lehet azonosítani az adott gép helyét és tulajdonosát, illetve egy adott géppel végzett tevékenységekről információkat lehet gyűjteni. A gyakorlatban a számítógépek jelentős része az internetszolgáltatójától rendszeresen új IP-címet kap, így azonosítása csak a szolgáltató együttműködésével lehetséges, aki csak rendőri megkeresésre és más jól meghatározott esetekben adhatja ki. Az IP-cím számos országban, többek között Magyarországon is személyes adatnak számít. Számos program és protokoll létezik, amelynek célja az IP-cím elrejtése; ezek rendszerint köztes gépeken irányítják át a forgalmat.
Hierarchikus, 32 bites címek: - hálózatot azonosító rész, - hosztot azonosító rész Hoszt cím adminisztrálása: a hálózati adminisztrátor feladata. Pl. 193.224.106.3 Ponttal elválasztott decimális jelölés – a 4 bájt értéke decimálisan (Dotted decimal format) http://myip.fmp1.net/ A 32 bites címzési rendszer túlhaladott: IPv6: 16 bájt hosszú címek. 2128 ~1038 cím megadása lehetséges. Az IPv6 protokollt az internetnek jelentős hányada használja.
Címosztályok Attól függően, hogy hány bit terjedelmű a hálózati, ill. a hoszt rész a címben, megkülönböztetünk A, B és C osztályú címeket. A osztály: 7 bites hálózati és 24 bites hoszt cím (27-2 = 126 hálózat, 224-2 = 16777214 hoszt) B osztály: 14 bites hálózati és 16 bites hoszt cím (214-2 = 16382 hálózat, 216-2 = 65534 hoszt) C osztály: 21 bites hálózati és 8 bites hoszt cím (221-2 = 2097150 hálózat, 28-2 = 254 hoszt)
IP alhálózatok címzése: A hálózatot további alhálózatokra bontjuk. IP cím = hálózati cím + alhálózati cím + hoszt cím Külső hálózatból nem látszik a bontás. A helyi adminisztrátor dönt a felosztásról. Alhálózati maszk (subnet mask): 0 bit: hoszt 1 bit: hálózat és alhálózat Példa: Alhálózati maszk: 255.255.248.0. B osztály 16 bit hálózat 5 bit alhálózat 11 bit hosztok 11111111 11111111 11111 00000000000
Példák B osztályú hálózat alhálózatokra bontására: 8 bites alhálózati cím, 8 bites hoszt cím (28-2 = 254 alhálózat, 28-2 = 254 hoszt) alhálózati maszk: 255.255.255.0 12 bites alhálózati cím, 4 bites hoszt cím (212-2 = 4094 alhálózat, 24-2 = 14 hoszt) alhálózati maszk: 255.255.255.240 Az alhálózati maszk folytonos legyen (nem lehet pl. 11100111 benne). Alhálózatokra bontás típusai • Statikus: minden alhálózat ugyanazt a maszkot használja • Változó hosszúságú: különböző méretű alhálózatok
Példa A osztályú hálózat statikus bontására: • Legyen egy A osztályú IP címünk: 00001001 01000011 00100110 00000001 (9.67.38.1) • Hálózati cím: 9, hoszt cím: 67.38.1 • Alhálózati cím: 8-25 bit • Hoszt cím: 26-31 bit • Alhálózati maszk: 11111111 11111111 11111111 11000000 (255.255.255.192) • 218-2 = 262143 alhálózat, 26-2 = 62 hoszt 00001001 01000011 00100110 00000001 = 9.67.38.1 (class A address) 11111111 11111111 11111111 11000000 = 255.255.255.192 (subnet mask) ===================================== logical_AND 00001001 01000011 00100110 00000000 = 9.67.38.0(subnet base address) 00000000 00000000 00000000 00000001 = 1 (host address) -------- 01000011 00100110 00------ = 68760 (subnet number)
Példa változó hosszúságú bontásra • C osztályú 165.214.32.0 hálózati cím • Alhálózatok: o #1: 50 hoszt o #2: 50 hoszt o #3: 50 hoszt o #4: 30 hoszt o #5: 30 hoszt • Statikus bontás: 4 alhálózat/64 hoszt, vagy 8 alhálózat/32 hoszt • Megoldás: o Először 255.255.255.192 maszkkal bontsuk 4 alhálózat/64 hoszt –ra o A 4. alhálózatot 255.255.255.224 maszkkal bontsuk 2 alhálózat/32 hoszt –ra • Eredmény: 3 alhálózat/64 hoszt, 2 alhálózat/32 hoszt