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.
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 .
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 . |
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 |
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 |
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 |
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).
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 |
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.
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.
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 ).
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] .
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.
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.
Fő | |
---|---|
Végrehajtás |
|
Migráció IPv4-ről IPv6-ra |
|
Kapcsolódó protokollok |
|