IPv6 csomag

Az IPv6-csomag ( eng.  IPv6-csomag ) az IPv6 -protokollt támogató számítógépes hálózatokon történő továbbításhoz formázott információblokk .

A csomagok a csomag célba juttatásához szükséges vezérlőinformációkat és az elküldendő hasznos terhet tartalmazzák. A vezérlő információ a fő rögzített fejlécben és az opcionális kiegészítő fejlécek egyikében található. A hasznos adat általában egy datagram vagy magasabb szállítási réteg protokolltöredéke , de lehetnek hálózati rétegbeli adatok (például ICMPv6 ) vagy kapcsolati rétegbeli adatok (például OSPF ).

Az IPv6 - csomagok továbbítása általában kapcsolati rétegbeli protokollok használatával történik , mint például az Ethernet , amely minden csomagot egy keretbe foglal . Az IPv6-csomag magasabb rétegű alagútkezelési protokollal is küldhető , például 6to4 vagy Teredo .

Az IPv4 -től eltérően az útválasztók nem töredezik az IPv6-csomagokat olyan helyzetekben, amikor a csomag nagyobb, mint a kapcsolat MTU , és a gazdagépeknek erősen ajánlott [1] a Path MTU felfedezési mechanizmus megvalósítása az MTU elérési út méretének meghatározásához. Ellenkező esetben a minimálisan megengedett MTU-t kell használniuk az IPv6-hálózatokban, ami 1280 oktettnek felel meg . A végcsomópontok feldarabolhatják a csomagot a küldés előtt, ha az nagyobb, mint az MTU elérési út.

Javítva a fejléc

Az IPv6-csomag rögzített fejléce 40 oktettből (320 bitből) [1] áll , és a következő formátumú:

Behúzás oktettben 0 egy 2 3
Behúzás bitekben 0 egy 2 3 négy 5 6 7 nyolc 9 tíz tizenegy 12 13 tizennégy tizenöt 16 17 tizennyolc 19 húsz 21 22 23 24 25 26 27 28 29 harminc 31
0 0 változat Forgalmi osztály áramlási címke
négy 32 hasznos teher hossza Következő fejléc Hop limit
nyolc 64 forráscím
C 96
tíz 128
tizennégy 160
tizennyolc 192 Cél címe
1C 224
húsz 256
24 288

A mezők leírása:

A teljesítmény javítása érdekében, és azzal az elvárással, hogy a kapcsolati és szállítási rétegek modern technológiái megfelelő szintű hibaészlelést biztosítsanak, [5] a fejléc nem tartalmaz ellenőrző összeget .

Bővítmény fejlécek  _ _

A kiterjesztett fejlécek további információkat tartalmaznak, és a rögzített fejléc és a magasabb szintű protokollfejléc között helyezkednek el [1] . Az első kiterjesztett fejléc típusa a rögzített fejléc Következő fejléc mezőjében van megadva , és minden kiterjesztett fejlécnek van egy hasonló mezője, amely a következő kiterjesztett fejléc típusát tárolja. Az utolsó fejléc Következő fejléc mezője tartalmazza a hasznos adatként jelen lévő magasabb rétegbeli protokoll típusát.

Minden kiterjesztett fejlécnek 8 többszörösének kell lennie oktettben. Egyes fejléceket a megfelelő méretre kell kiterjeszteni.

A kiterjesztett fejléceket csak a végcsomópont dolgozhatja fel, a Hop-By-Hop Options fejléc kivételével , amelyet a csomag útvonala mentén minden közbenső csomópontnak fel kell dolgoznia, beleértve a küldőt és a fogadót is. Ha több kiterjesztett fejléc is van a csomagban, akkor ajánlatos azokat az alábbi táblázat szerint rendezni. Vegye figyelembe, hogy az összes kiterjesztett fejléc nem kötelező, és nem jelenhet meg többször egy csomagban, kivéve a Destination Options fejlécet , amely kétszer is megjelenhet.

Ha egy csomópont nem tud feldolgozni egy kiterjesztett fejlécet, akkor el KELL dobnia a csomagot, és Parameter Probléma üzenetet kell küldenie ( ICMPv6 Type 4 Code 1). Ha a kiterjesztett fejléc Next Header mezője 0, akkor a csomópontnak is ezt kell tennie.

Kiterjesztett fejléc Típusú Leírás
Hop-by-Hop opciók 0 Az egyes tranzit csomópontok által feldolgozandó paraméterek.
Úticél beállításai 60 Paraméterek, amelyeket csak a címzettnek szabad feldolgoznia.
útvonalválasztás 43 Lehetővé teszi a feladó számára azon csomópontok listájának megadását, amelyeken a csomagnak át kell haladnia.
Töredék 44 A fejléc információkat tartalmaz a csomagok töredezettségéről.
Hitelesítési fejléc (AH) 51 A csomag legtöbbjének hitelesítéséhez használt információkat tartalmaz. Lásd: IPsec .
Encapsulating Security Payload (ESP) ötven Adattitkosítást biztosít a biztonságos kapcsolatokhoz. Lásd: IPsec .

Hop-by-hop Options és Destination Options

A Hop-by-hop Options kiterjesztett fejléc szükséges ahhoz, hogy a csomag útvonalán az egyes csomópontok által kezelt további opciókat továbbítsák, beleértve a küldőt és a fogadót is. A kiterjesztett Destination Options fejléc szükséges további opciók átadásához a végcsomópontnak vagy csomópontoknak. A fejléc formátuma mindkét kiterjesztett fejléc esetében azonos.

Behúzás oktettben 0 egy 2 3
Behúzás bitekben 0 egy 2 3 négy 5 6 7 nyolc 9 tíz tizenegy 12 13 tizennégy tizenöt 16 17 tizennyolc 19 húsz 21 22 23 24 25 26 27 28 29 harminc 31
0 0 Következő fejléc HDR Ext Len Lehetőségek
TLV kódolású opciók
Behúzás oktettben 0 egy 2 3
Behúzás bitekben 0 egy 2 3 négy 5 6 7 nyolc 9 tíz tizenegy 12 13 tizennégy tizenöt 16 17 tizennyolc 19 húsz 21 22 23 24 25 26 27 28 29 harminc 31
0 0 Opciók típusa Opt Data Line Opciók Adatok
  • Opció típusa (8 bit): Opció típusa. A felső két bit jelzi, hogy mit kell tenni, ha a csomópont nem ismeri fel az opciót:
0 (00) - Kihagyja ezt a lehetőséget, és folytassa a fejléc feldolgozását. 1 (01) - Dobd el a csomagot. 2 (10) - Dobja el a csomagot, és küldjön egy Parameter Probléma üzenetet ( ICMPv6 Type 4 Code 2), még akkor is, ha a csomag csoportos küldési címre van irányítva. 3 (11) - Dobja el a csomagot, és csak akkor küldjön Paraméter probléma üzenetet ( ICMPv6 Type 4 Code 2), ha a csomag nem csoportos küldési címre van irányítva.
  • Opt Data Len (8 bit): Az Option Data mező hossza oktettben.
  • Opció adatok : Változó hosszúságú mező, amely a megadott típusú adatokat tartalmazza.

Útválasztás

A kiterjesztett Routing fejléc azon átviteli csomópontok listájának megadására szolgál, amelyeken a csomagnak át kell haladnia, mielőtt elérné a címzettet.

Behúzás oktettben 0 egy 2 3
Behúzás bitekben 0 egy 2 3 négy 5 6 7 nyolc 9 tíz tizenegy 12 13 tizennégy tizenöt 16 17 tizennyolc 19 húsz 21 22 23 24 25 26 27 28 29 harminc 31
0 0 Következő fejléc HDR Ext Len Útválasztás típusa Szegmensek balra
négy 32 Típusspecifikus adatok
  • Következő fejléc (8 bit): Következő kiterjesztett fejléctípus vagy protokolltípus, amelyet hasznos adatként kell elküldeni.
  • Hdr Ext Len (8 bit): A fejléc hossza nyolc oktettes blokkokban, az első blokk nélkül.
  • Routing Type (8 bit): Fejléc altípusa.
  • Szegmensek Left (8 bit): A listából még nem látogatott csomópontok száma.
  • Típusspecifikus adatok : Változó hosszúságú mező, a mező konkrét formátuma az Útvonaltípus mező tartalmától függ .
Útválasztási fejléc altípusai

A fejléc 0 altípusa elavult, mivel a fejléc DoS támadás szervezésére használható [6] . Ha a Segments Left mező értéke nulla, akkor a csomópontnak figyelmen kívül kell hagynia a Routing kiterjesztett fejlécet , és folytatnia kell a következő kiterjesztett fejlécek feldolgozását. Ha a Segments Left mező értéke nem nulla, akkor a csomópontnak el KELL dobnia a csomagot, és Parameter Probléma üzenetet kell küldenie ( ICMPv6 type 4, code 0).

Töredék

Az MTU elérési útnál nagyobb csomag elküldése érdekében a feladó a csomagot töredékekre bontja. A kiterjesztett Fragment fejléc tartalmazza azokat az információkat, amelyek a címzettnek az eredeti (nem töredezett) csomag összeállításához szükségesek.

Behúzás oktettben 0 egy 2 3
Behúzás bitekben 0 egy 2 3 négy 5 6 7 nyolc 9 tíz tizenegy 12 13 tizennégy tizenöt 16 17 tizennyolc 19 húsz 21 22 23 24 25 26 27 28 29 harminc 31
0 0 Következő fejléc Fenntartott Töredékeltolás Res M
négy 32 Azonosítás
  • Következő fejléc (8 bit): Következő kiterjesztett fejléctípus vagy protokolltípus, amelyet hasznos adatként kell elküldeni.
  • Fenntartva (8 bit): Fenntartva, nullára kell inicializálni.
  • Fragment Offset (13 bit): Részleteltolás nyolc oktett blokkban a csomag töredezett részének kezdetétől számítva.
  • Res (2 bit): Fenntartva, nullára kell inicializálni.
  • M (1 bit): Lesz-e több töredék. Ha 0, akkor ez az utolsó töredék.
  • Azonosítás (32 bit): Az eredeti csomagot azonosító szám.

Hasznos adatok

A rögzített és kiterjesztett fejlécek mögött a szállítási réteg protokoll hasznos terhelése található , például egy TCP - szegmens vagy egy UDP - adatgram. Az utolsó IPv6-fejléc Next Header mezője jelzi a csomagban tárolt hasznos adattípust.

Normál hasznos teherhossz

A Payload Length rögzített fejléc mező 16 bites , így a maximális lehetséges hasznos terhelés és a kiterjesztett fejlécek 65535 oktett . Sok kapcsolatréteg-protokoll maximális keretmérete sokkal kisebb.

Jambogramok

Egy IPv6-csomag több adatot képes szállítani a kiterjesztett Hop-By-Hop Options fejlécben található jumbo payload opcióval [7] . Ez az opció lehetővé teszi az 1 bájttal 4 GiB -nál (2 32 − 1 = 4294967295 bájt) kisebb hasznos adatméretű csomagok cseréjét . Az ilyen tartalmú csomagot jambogramnak nevezzük.

Mivel a TCP és az UDP protokollok hosszmezői 16 bitre korlátozódnak, módosított szállítási réteg protokollok megvalósítása szükséges a jambogramok támogatásához. A jumbogramok csak olyan kapcsolatokon működnek, amelyek MTU - ja nagyobb, mint 65583 oktett (több mint 65535 oktett a hasznos terhelésnél, 40 oktett a rögzített fejlécnél és 8 oktett a kiterjesztett Hop-By-Hop Options fejlécnél ).

Töredezettség

Az IPv6 - csomagokat az útválasztók soha nem töredezik fel . A hálózati kapcsolat MTU -jánál nagyobb csomagokat a rendszer eldobja, és a csomag túl nagy ( ICMPv6 type 2) üzenetet küld a feladónak . Hasonló viselkedés történik az IPv4 -ben , ha a Don't Fragment bit be van állítva .

Az IPv6 végcsomópontjaitól elvárás, hogy végrehajtsák az MTU útvonal-felderítést , hogy meghatározzák az általuk küldhető csomagok maximális megengedett méretét, és a magasabb rétegű protokoll korlátozza a csomagméretet. Ha azonban a magasabb rétegbeli protokoll nem képes erre, a küldő ALKALMAZHATJA a kiterjesztett Fragment fejlécet az IPv6-csomagok töredezettségének végrehajtására. Minden IPv6-csomagokat hordozó protokoll MTU-jának 1280 oktettnek vagy annál nagyobbnak kell lennie. Azoknak a protokolloknak, amelyek nem képesek egy blokkban 1280 oktettes csomagot továbbítani, fel kell törniük és újra össze kell állítaniuk magukat anélkül, hogy az IPv6-réteget érintenének [1] .

Töredezettség

Az eredeti (nagy) csomag töredékét tartalmazó csomag két részből áll: az eredeti csomag nem töredezett részéből, amely minden töredékre azonos, és a töredékes részből, amelyet a töredék eltolása azonosít.

A csomag nem töredezett része egy rögzített fejlécből és az eredeti csomag kiterjesztett fejlécéből áll (opcionális).

A nem töredezett rész utolsó fejlécének Következő fejléc mezőjének 44-nek kell lennie, ami azt jelzi, hogy a következő fejléc Fragment lesz . A Töredék fejlécben a Következő fejléc mezőnek meg kell egyeznie a töredezett rész első fejlécének típusával. A Fragment fejlécet az eredeti csomag töredéke követi. A töredezett rész minden töredékének méretének 8 többszörösének kell lennie, kivéve az utolsó töredéket.

Töredékek összeállítása

A fogadó csomópont, miután az összes töredéket összegyűjtötte, eldobja a kiterjesztett Fragments fejlécet , és a töredékeket a Fragment Offset mezőben megadott eltolásokra helyezi 8-szorozva. A töredékeket tartalmazó csomagoknak nem kell a megfelelő sorrendben érkezniük, és átrendeződnek. szükség esetén a fogadó csomópont által.

Ha az első töredék átvétele után 60 másodperccel nem sikerült összegyűjteni az összes töredéket, akkor az eredeti csomag összeállítása megszakad, és az összes kapott töredéket eldobják. Ha az első töredék vétele megtörténik (a töredékeltolás nullára van állítva), akkor egy Fragment Reassembly Time Exceeded ( ICMPv6 Type 3 code 1) üzenet kerül elküldésre a töredezett csomag küldőjének.

Az eredeti csomag maximális mérete nem haladhatja meg a 65 535 oktettet, és ha az eredeti csomag összeszerelés után nagyobb, akkor azt ki kell dobni.

Jegyzetek

  1. 1 2 3 4 Internet Protokoll, 6-os verzió (IPv6) Specifikáció. RFC 2460 .
  2. A differenciált szolgáltatásmező (DS Field) meghatározása az IPv4 és IPv6 fejlécekben. RFC 2474 .
  3. Új terminológia és pontosítások a DiffServ számára. RFC 3260 .
  4. Explicit Congestion Notification (ECN) hozzáadása az IP-hez. RFC 3168 .
  5. Technikai kritériumok az IP kiválasztásához The Next Generation (IPng). RFC 1726 .
  6. A 0. típusú útválasztási fejlécek elavultsága az IPv6-ban. RFC 5095
  7. IPv6 Jumbogramok. RFC 2675