2019. május 21., kedd

Hálózati réteg protokolljai IP protokoll

A hálózati réteg, vagy más néven az OSI 3. rétege olyan szolgáltatásokat biztosít, amelyek lehetővé teszik a végberendezések közötti kommunikációt a hálózaton.


A végponttól-végpontig történő szállításhoz a hálózati réteg négy alapvető folyamatot használ:


  • Végberendezések címzése Mint ahogy egy telefon egyedi telefonszámmal rendelkezik, úgy egy végberendezés is csak egyedi IP-címmel azonosítható a hálózaton. Egy adott IP-címmel rendelkező végberendezést állomásnak nevezünk.
  • Beágyazás - A hálózati réteg a szállítási rétegtől fogad egy protokoll adategységet (PDU - protocol data unit). A beágyazás során a hálózati réteg ezt a PDU-t IP-fejléc információkkal egészíti ki, mint például a forrás- és a célállomás IP-címe. A fejléc információkkal kiegészített PDU-t nevezzük csomagnak.
  • Forgalomirányítás - A hálózati réteg szolgáltatásainak segítségével a csomagok egy másik hálózaton lévő célállomáshoz irányíthatók. A csomag másik hálózatba történő továbbításához forgalomirányítóra van szükség. A forgalomirányító feladata a célállomás felé vezető út kiválasztása és a csomagok cél felé továbbítása. Ezt a folyamatot nevezzük forgalomirányításnak. A csomag számos közvetítő eszközön haladhat keresztül, mielőtt elérkezik a célállomáshoz. A célállomáshoz vezető útvonal egyes szakaszait ugrásnak nevezzük.
  • Kicsomagolás - Amikor a csomag megérkezik a célállomás hálózati rétegéhez, az állomás ellenőrzi a csomag IP-fejlécét. Ha a fejlécben lévő cél IP-cím megegyezik a saját IP-címével, akkor eltávolítja a csomagról az IP-fejlécet. Az alacsonyabb rétegek fejlécének eltávolítását nevezzük kicsomagolásnak. A hálózati rétegben történő kicsomagolást követően a keletkezett 4. rétegbeli PDU a szállítási réteg megfelelő szolgáltatásához kerül.

Míg a szállítási réteg (OSI 4. réteg) az állomásokon futó folyamatok közötti adattovábbítást kezeli, addig a hálózati réteg a csomagok felépítését és feldolgozását definiálja, ami az adatok állomásról állomásra történő továbbításához szükséges. A csomagokban szállított adatoktól független működésnek köszönhetően, a hálózati réteg képes az állomások közötti különböző típusú kommunikáció továbbítására.
Számos hálózati rétegbeli protokoll létezik, de leginkább az alábbi, ábrán is látható kettőt használják a gyakorlatban:


  • IPv4 (Internet Protocol Version 4)
  • IPv6 (Internet Protocol Version 6)

További, ritkábban használt hálózati rétegbeli protokollok:


  • IPX (Novell Internetwork Packet Exchange)
  • AppleTalk
  • CLNS/DECNet (Connectionless Network Service)

Ezekről a régebbi protokollokról csak érintőlegesen lesz szó.

Az IP-protokoll jellemzői


Az IP- a TCP/IP-protokollkészlet hálózati rétegbeli szolgáltatása.

Az IP-t kis többletterhelésű protokollnak tervezték. Ennek megfelelően csak azokat a funkciókat tartalmazza, amelyek feltétlenül szükségesek ahhoz, hogy egy csomag összekapcsolt hálózatokon keresztül a forrástól a célig eljusson. A protokollnak nem feladata a csomagok nyomon követése és felügyelete. Ezeket a funkciókat szükség esetén más rétegbeli protokollok biztosítják.

Az IP legfőbb jellemzői:

  • Összeköttetés-mentes - Az adatküldést megelőzően nem épül fel kapcsolat a küldő és a fogadó állomás között.
A hálózati réteg feladata a csomagok állomások közötti továbbítása a hálózatra nézve a lehető legkisebb többletterheléssel. A hálózati réteg nem foglalkozik, vagy tudatában sincs a csomagban zajló kommunikáció típusával. Az IP összeköttetés-mentes, ami azt jelenti, hogy az adatküldést megelőzően a végpontok között nem épül ki kapcsolat. Az összeköttetés-mentes kommunikáció hasonló ahhoz, mint amikor egy levelet küldünk anélkül, hogy arról a címzettet előre értesítenénk.

Ahogy az ábrán is látható, a posta a borítékon lévő információkat használja a levél kézbesítéséhez. A borítékon lévő cím nem tartalmaz információt a címzett létezéséről, mint ahogy arról sem, hogy a levél megérkezik-e, vagy hogy a címzett el tudja-e olvasni azt. Valójában a posta nem ismeri a kézbesítendő levél vagy csomag tartalmát, így a felmerülő hibák javítására sem képes.

Az összeköttetés-mentes kommunikáció is hasonló elven működik.

Mivel az IP összeköttetés-mentes, így a csomagtovábbítás előtt nincs szükség a végpontok közötti kapcsolat kiépítéséhez fontos vezérlési információk cseréjére sem. Szintén nincs szükség a PDU-fejlécében olyan további információkra, amelyek a felépített kapcsolat kezelését segítenék. Mindezek nagy mértékben csökkentik az IP által okozott többletterhelését. Mivel nem épül fel kapcsolat a végpontok között, így a küldőnek nincs információja a megcímzett eszköz létezéséről vagy működéséről, illetve arról sem, hogy a csomagja megérkezik-e vagy hogy a címzett fel tudja-e azt dolgozni.
  • Legjobb szándékú (nem megbízható) - A csomagok kézbesítése nem garantált.
Az IP-t gyakran nevezik nem megbízható vagy legjobb szándékú kézbesítést (best-effort delivery) biztosító protokollnak. Ez nem azt jelenti, hogy az IP időnként megfelelően működik, máskor pedig nem, vagy hogy az IP gyenge adatkommunikációs protokoll. A nem megbízható mindössze annyit jelent, hogy az IP nem képes felügyelni és helyreállítani a nem kézbesített vagy hibás csomagokat. Ez amiatt van, hogy az IP-csomag a feladási helyen kívül semmilyen információt nem tartalmaz, ami alapján a küldőt értesíteni lehetne a sikeres kézbesítésről. Az IP fejléce nem tartalmaz szinkronizációs adatokat a csomagok kézbesítési sorrendjének nyomon követéséhez, nem nyugtázza a csomagok megérkezését, és nem tartalmaz hibajavítási adatot sem, amellyel ellenőrizhető a csomagok hibamentes kézbesítése. Előfordulhat, hogy a csomagok hibásan, rossz sorrendben vagy egyáltalán nem érkeznek meg a célállomáshoz. Az IP-fejlécben található információk alapján, egyik hiba esetében sincs mód a csomag újraküldésére.

Rossz sorrendben érkező vagy elveszett csomagok esetén a magasabb rétegbeli szolgáltatások, mint például a TCP feladata a probléma kezelése. Mindezek eredményeképpen az IP nagyon hatékonyan képes működni. Ha az IP-fejléc a megbízhatósághoz szükséges többlet információkat is tartalmazná, akkor az összeköttetést vagy megbízhatóságot nem igénylő kommunikációk esetében sávszélesség felhasználási és késleltetési problémák merülnének fel. A TCP/IP-protokollkészletben a szállítási rétegbeli protokoll lehet TCP vagy UDP attól függően, hogy az adott kommunikáció esetében mennyire fontos a megbízhatóság. Annak köszönhetően, hogy az IP a megbízhatósági feladatokat a szállítási rétegre bízza, egy rugalmas és különböző típusú kommunikációk esetén is használható protokoll.

Az ábrán egy IP-kommunikáció látható. Az összeköttetés-alapú protokollok esetében, mint például a TCP, a kapcsolat létrehozásához szükség van a vezérlő információk cseréjére, és a felépült kapcsolat kezelése is további mezőket igényel a PDU-fejlécben.
  • Közegfüggetlen - Működése független az adattovábbításhoz használt átviteli közegtől.
A hálózati réteg nem foglalkozik a csomagok továbbításához használt átviteli közeg jellemzőivel sem. Az IP teljesen függetlenül működik az átviteli közegtől, ahol a protokollkészlet alacsonyabb rétegeiben zajló adatátvitel történik. Ahogy az ábrán is látható, az IP-csomagok továbbíthatók elektromos úton kábelen keresztül, optikai jelként üvegszálat használva, vagy vezeték nélküli környezetben rádió jelként.

Az IP-csomagok fogadása és felkészítése az átviteli közegen történő továbbításra az OSI adatkapcsolati rétegének feladata. Mindez azt jelenti, hogy az IP-csomagok továbbítása nincs korlátozva egyetlen átviteli közegre sem.

A hálózati réteg azonban figyelembe veszi az átviteli közeg egy fő jellemzőjét, a közegen átvihető maximális PDU méretét. Ezt nevezzük maximális átviteli egységnek (Maximum Transmission Unit, MTU). A csomagok maximális méretének meghatározása az adatkapcsolati és a hálózati réteg közötti kommunikáció során történik. Az adatkapcsolati réteg megadja a hálózati réteg számára az MTU értékét, a hálózati réteg pedig meghatározza a maximális csomagméretet.

Bizonyos esetekben egy közvetítő eszköznek, általában egy forgalomirányítónak át kell méreteznie a csomagokat ahhoz, hogy egy kisebb MTU-értékkel rendelkező közegen továbbítani tudja őket. Ezt a folyamatot nevezik tördelésnek vagy feldarabolásnak (fragmentation).


IP beágyazás

Az IP egy fejléc hozzáadásával csomagolja be a szállítási réteg szegmenseit. Ez a fejléc teszi lehetővé a csomagok célállomáshoz továbbítását, és mindaddig szükség van rá, amíg a csomag a forrás hálózati rétegét elhagyva megérkezik a célállomás hálózati rétegéhez.


Az adatok rétegről rétegre történő becsomagolásának folyamata teszi lehetővé, hogy az egyes rétegek szolgáltatásai más rétegektől függetlenül fejlődjenek és bővüljenek. Mindez azt jelenti, hogy a szállítási réteg szegmensei becsomagolhatók IPv4, IPv6 vagy akár egy új, a jövőben kifejlesztett protokoll segítségével is.

A forgalomirányítók képesek a különböző hálózati rétegbeli protokollok egyidejű működtetésére, összekötve a hálózat különböző típusú állomásait. A közvetítő eszközök a forgalomirányítás során csak a csomag fejlécének tartalmát veszik figyelembe. A csomag adat része - a szállítási rétegbeli PDU - a hálózati rétegbeli feldolgozás során minden esetben változatlan marad.

Az IPv4-csomag


Az IPv4-et 1983-ban fejlesztették ki az Internet elődjének tekinthető ARPANET (Advenced Tesarch Projects Agency Network) hálózat működéséhez. Az internet elsősorban az IPv4 protokollra épül, ami a legszélesebb körben használt hálózati rétegbeli protokoll.

Az IPv4 csomag két részből áll:

IP-fejléc - A csomag jellemzőit határozza meg.
Adattartalom - A 4. rétegbeli szegmens információkat és a tényleges adatokat tartalmazza.
Ahogy az ábrán is látható, az IPv4-csomag fejléce olyan mezőkből áll, melyek a csomagról tartalmaznak fontos információkat. Ezek a mezők bináris számok, melyeket a 3. réteg dolgoz fel. Az egyes mezők bináris értékei az IP-csomag különböző tulajdonságait határozzák meg.

A legfontosabb IPv4-fejléc mezők:

  • Verzió - Az IP-csomag verzióját határozza meg 4 biten. IPv4 esetén ez az érték mindig 0100.
  • Differenciált szolgáltatások (Differentiated Services, DS) - A korábban ToS-nak (Type of Service, szolgáltatás típus) nevezett DS mező egy 8 bites érték, ami a csomagok prioritását adja meg. Az első 6 bit a DCSP (Differentiated Services Code Point, differenciált szolgáltatások kódpont) érték, amit a szolgáltatási minőség (Quality of Service, QOS) biztosításához használnak. Az utolsó 2 bit pedig az ECN (explicit congestion notification, explicit torlódásjelzés) érték, ami hálózati torlódás esetén a csomagvesztések elkerülésére szolgál.
  • Élettartam (Time-To-Live, TTL) - A csomag élettartamát korlátozó 8 bites bináris szám. Értéke másodpercben van megadva, de rendszerint ugrásszámmal hivatkoznak rá. A csomag küldője beállít egy kezdeti TTL-értéket, amit a csomagot feldolgozó minden forgalomirányító vagy 3. rétegbeli továbbító eszköz eggyel csökkent. Ha a TTL értéke eléri a nullát, a forgalomirányító eldobja a csomagot és egy ICMP Time Exceeded üzenetet küld a forrás állomásnak. A traceroute parancs ezt a mezőt használja a forrás- és a célállomás közötti forgalomirányítók azonosításához.
  • Protokoll - 8 bites érték, ami meghatározza a csomagban szállított adattartalom típusát. Ennek segítségével továbbítja a hálózati réteg az adatot a megfelelő felsőbb rétegbeli protokoll számára. A leggyakoribb értékei: 0x01 (ICMP), 0x06 (TCP), 0x11 (UDP).
  • Forrás IP-cím - A csomag forrásállomásának címét megadó 32 bites bináris szám.
  • Cél IP-cím - A csomag célállomásának címét megadó 32 bites bináris szám.
A két leggyakrabban hivatkozott mező a forrás és cél IP-cím. Ezek határozzák meg, hogy a csomag honnan indult és hová tart. Általában ezek a címek nem változnak a forrástól a célállomásig vezető út során.

Az eddig nem említett mezők a csomag azonosításához és érvényesítéséhez, vagy a szétdarabolt csomag újbóli összeállításához szükségesek.

Az azonosításra és érvényesítésre használt mezők:

  • Internet fejléc hossz (Internet Header Length, IHL) - Egy 4 bites érték, ami megadja a csomag fejlécében található 32 bites szavak számát. Az IHL értéke változhat az Options (opciók) és a Padding (kitöltés) mezők miatt. A mező legkisebb értéke 5 (5x32=160bit=20 bájt), legnagyobb értéke pedig 15 (15x32=480bit=60 bájt) lehet.
  • Teljes hossz (Total Lenght) - Az időnként Packet Lenght-nek (csomaghossz) is nevezett 16 bites mező a teljes csomag (fejléc és adat) bájtokban mért hosszát adja meg. A minimális csomagméret 20 bájt (20 bájt fejléc + 0 bájt adat), a maximális pedig 65535 bájt.
  • Fejléc ellenőrző összeg (Header Checksum) - 16 bites mező az IP-csomag sértetlenségének ellenőrzésére. Egy csomag megérkezésekor a fejléc ellenőrző összegét újraszámolják és összehasonlítják a mező értékével. Ha a kér érték nem egyezik, akkor a csomag eldobásra kerül.
Amikor egy forgalomirányító a csomagokat egy kisebb MTU-értékkel rendelkező átviteli közegre továbbítja, akkor a csomagokat kisebb egységekre kell feldarabolnia. Ezt a folyamatot nevezzük feldarabolásnak (fragmentation). A feldarabolt adategységek nyomon követéséhez az IPv4-csomag a következő mezőket használja:

  • Azonosítás (Identification) - 16 bites szám, ami egyértelműen azonosítja az IP-csomag egy darabját.
  • Jelzők (Flags) - A csomag feldarabolásának módját meghatározó 3 bit. A Fragment Offset (csomagdarab eltolás) és az Identification mezőkkel együtt elősegíti a csomagdarabokból az eredeti csomag visszaállítását.
  • Csomagdarab eltolás (Fragment Offset) - 13 bites érték, ami a csomag darabokból történő összeállításánál megadja a csomagok sorrendjét.


Az elmúlt évek során az IPv4 protokollt a megjelenő újabb és újabb kihívásoknak köszönhetően számtalanszor frissítették. Mindezek ellenére az IPv4-nek maradt három alapvető problémája:

  • Elfogytak az IPv4-címek - Az IPv4 korlátozott számú egyedi nyilvános címmel rendelkezik. Bár megközelítőleg 4 billió IPv4-cím létezik, az IP-alapú eszközök számának növekedése, a permanens kapcsolatok és a fejletlen országok várható igényei nagyban megnövelték a szükséges címek számát.
  • Megnövekedett irányítótábla méret az interneten - Az irányítótáblát a forgalomirányítók a legjobb útvonal kiválasztásához használják. Az internetre csatlakozó szerverek számának növekedésével növekszik a hálózati útvonalak száma is. Ezen IPv4-útvonalak kezelése rengeteg memóriát és processzorteljesítményt igényel az internet forgalomirányítóin.
  • Végponttól végpontig tartó kapcsolatok hiánya - A hálózati címfordítás (Network Address Translation, NAT) az IPv4-hálózatokban gyakorta alkalmazott technológia. A NAT lehetővé teszi, hogy több eszköz egyetlen nyilvános IP-címet használjon. Mivel a nyilvános IP-címek a megosztottak, a belső állomások IP-címei rejtve maradnak. Ez problémát okozhat a végponti kapcsolatokat igénylő technológiák esetén .
Dolgozat kérdései:
az IPv4 fejléce táblázat

Nincsenek megjegyzések:

Megjegyzés küldése