4.3.1.1. Internet Protocol (IP)

Ez protokollcsalád lelke. Az IP egy csomagkapcsolt, datagram jellegû, megbízhatatlan hálózati protokoll. Az információt csomagokban továbbítjuk, a csomagok haladási útvonaláról azok feladásakor semmit sem tudhatunk. Minden csomag tartalmazza a küldô és a vevô címét. A protokoll nem garantálja sem a csomag továbbítását, sem azt, hogy jó helyre érkezik, sem azt, hogy hibátlanul. A hibakezelés és -korrekció a felsôbb rétegek feladata.

25. ábra. Az IP csomag fejléce

Az IP csomag fejléce tartalmazza a következô mezôket:

  1. A jelenlegi IP verziószámot, ami most még 4 (IPv4),
  2. a fejléc hosszát (Header Length),
  3. néhány bitet, melyek a szolgáltatás típusát határozzák meg (Type of Service, TOS),
  4. a csomag hosszát,
  5. a fragmentációhoz szükséges információkat,
  6. a TTL (Time To Live) mezôt,
  7. annak a felsôbb szintû protokollnak a számát, amelyik számára a csomag szól,
  8. ellenôrzô összeget,
  9. a küldô címét,
  10. a cél címét,
  11. esetleges opciókat.

A TTL mezô egy másodpercben megadott érték és a csomag élettartamát jelöli. Minden hálózati berendezés köteles másodpercenként csökkenteni ezen az értéken, és ha eléri a nullát, a csomagot el kell dobni. Ezzel érjük el, hogy egy csomag ne kerengjen az örökkévalóságig a hálózatban. A router-eknek akkor is csökkenteniük kell egyel ezt a mezôt, ha egy másodpercnél rövidebb idô alatt továbbítják a csomagot. Minthogy az esetek többségében ez történik, a TTL mezô gyakorlatilag minden router-en való áthaladáskor csökken egyet. (Egy ilyen áthaladást hop-nak nevezünk.) Az IP következô verziójában éppen ezért ezt a mezôt hop-count-nak (hop-számláló) nevezik.

A TOS mezô két részbôl áll. 3 bit a csomag fontosságát határozza meg, azonban csak a lokálisan értelmezendô. Két bit foglalt, a fennmaradó 3 bit valamelyikének (vagy mindegyikének) beállításával kérheti a csomag feladója, hogy azt rendre kisebb késleltetésû és/vagy nagyobb sávszélességû és/vagy nagyobb megbízhatóságú útvonalon keresztül továbbítsa a hálózat, amennyiben választási lehetôség adódik. Minthogy a specifikáció nem követeli meg ezeknek a biteknek a figyelését, a jelenlegi Internetben nem sokat számít a TOS bitek beállítása.

A fragmentáció akkor következik be, ha haladási útvonalon a következô link-en az MTU kisebb, mint a csomagméret. Ekkor a router (vagy maga a feladó) több darabra tördeli a csomagot, mindegyik darabba beleírja, hogy ez az eredeti csomag hányadik byte-jától kezdôdô információkat tartalmazza és ad a csomagnak egy egyedi azonosítót. Az azonosító fragmentbe belekerül és jelzi a vevônek, hogy mely darabok alkotják az eredeti csomagot. A router a kapott darabokat egyesével feladja és a hálózatra bízza ôket. A nagyobb fragmentek esetleg késôbb még tovább darabolódhatnak egy még kisebb MTU-jú link-en. A vevô feladata a csomag összevárása és összerakása. A feladó egy bit (DF=Don't Fragment bit) beállításával kérheti, hogy csomagját ne darabolják, ez esetben ha az MTU túl kicsi a csomag továbbításához, a csomagot eldobják és errôl ICMP üzenetben tájékoztatják a feladót (lásd lejjebb). Az IP csupán azt követeli meg, hogy az alatta lévô hálózat képes legyen minimum 68 byte-os IP csomagok továbbítására, ez tehát a minimálisan szükséges MTU. Minden állomásnak képesnek kell lennie minimum 576 byte-os csomagok fogadására (egészben vagy fragmentálva) és javaslat, hogy ekkora csomagokon keresztül kommunikáljanak az állomások.

Az opciók szolgálnak olyan ritka, IP szintû funkciók megvalósítására, melyeknek nem volt érdemes a minden csomagban jelen lévô fejlécben helyen fenntartani. Az opciókat minden állomás köteles megérteni és feldolgozni, nem implementációjuk, csupán jelenlétük választható. Az RFC791 a következô opciókat definiálja:

  1. Security. A csomag hitelesítéséhez szükséges információk.
  2. Source routing. A feladó által megadott útvonalon, állomások megadott listáján halad végig a csomag. Két vállfaja van, a szigorú (strict) és a laza (loose). Az elsô esetben csak a listán felsorolt állomásokon haladhat végig a csomag és ha két szomszédosnak felsorolt állomás nem szomszédos, akkor a csomag elvész és egy „Source routing failed" ICMP csomag küldôdik a feladóhoz. A második esetben ha a listán két szomszédosnak feltüntetett állomás a valóságban nem szomszédos, akkor is továbbítódik a csomag a lista következô eleméhez, de a router-ek által kijelölt útvonalon.
  3. Útvonalrögzítés. A csomag által érintett állomások IP címe rögzül a csomagban.
  4. Idôbélyeg
  5. Stream ID. Egy 16 bites azonosító, fôként más, folyam(kapcsolat)orientált hálózatokkal való együttmûködés segítése miatt.