Formát datagramu

Z IPv6.cz
Přejít na: navigace, hledání

Formát datagramu má v IPv6 obvyklou podobu: nejprve hlavička, za ní pak vlastní nesená data. Ovšem hlavička stojí rozhodně za pozornost. Přestože se délka adres prodloužila na čtyřnásobek, celkově má hlavička ve srovnání s IPv4 jen dvojnásobnou délku: 40 bajtů, z toho 32 B tvoří adresy odesilatele a příjemce.

Zajímavý je přístup k různým rozšiřujícím informacím. V IPv4 byly přímo součástí hlavičky, jako její nepovinné položky. V důsledku toho měla hlavička proměnlivou délku. IPv6 řeší problém zcela odlišně. Základní hlavička byla maximálně zjednodušena a obsahuje jen nejnutnější položky. Její složení i délka je konstantní.

Položka nazvaná další hlavička (next header) identifikuje, co následuje za základní hlavičkou. Může se jednat o TCP nebo UDP data, pokud datagram vystačí se základní hlavičkou. Je-li třeba přidat doplňující informaci, vloží se v podobě rozšiřující hlavičky. Každá z rozšiřujících hlaviček má svou položku další hlavička. Z jejich hodnot pak vznikne řetěz, který postupně sděluje "za základní hlavičkou je tahle rozšiřující, pak támhleta, pak ještě takováhle a pak následují data pro TCP.

Pořadí rozšiřujících hlaviček je předepsáno tak, aby nejprve byly umístěny ty, které potenciálně mohou zajímat i směrovače, jimiž datagram prochází. Celé toto uspořádání má jediný cíl: aby směrovače měly co nejlehčí práci. Prozkoumají základní hlavičku a hodnotu v položce další hlavička. Pokud je dotyčná hlavička určena pro ně, zařadí ji do zpracování a zajímají se o další. Jakmile narazí na první rozšiřující hlavičku, která není pro ně, mohou zkoumání paketu ukončit - nic dalšího zajímavého je již nečeká.

Podívejme se, jak vypadá základní hlavička IPv6 datagramu:

Ipv6datagram.gif

První čtveřice bajtů slouží vedle identifikace verze protokolu k realizaci pokročilejších směrovacích technik. Třída provozu umožňuje specifikovat požadavky na vlastnosti sítě, které daný datagram má. Prostřednictvím značky toku se pak identifikuje tok - proud datagramů od jednoho odesilatele ke stejnému cíli se stejnými vlastnostmi. Příslušnost ke stejnému toku by měla usnadnit směrování, zejména ve spolupráci se spojovanými technologiemi, jako je třeba ATM.

A už se na nás ze skříně šklebí první kostlivec. Ani jeden z těchto pokročilejších prvků zatím nebyl detailně definován. Je to zřejmě osud, protože v hlavičce IPv4 také je položka typ služby (TOS) podobného významu, u které bylo přislíbeno pozdější upřesnění. Nikdy k němu pořádně nedošlo.

Na druhém řádku najdete celkem očekávatelné údaje: délku přenášených dat, avizovanou identifikaci typu další hlavičky a konečně maximální počet směrovačů, kterými datagram ještě smí projít (max. skoků, analogie TTL z IPv4). Každý směrovač ji sníží o jedničku a dojde-li do nuly, je povinen datagram zahodit a odeslat odesilateli ICMPv6 zprávu o tomto skutku. Je to klasický způsob ochrany před zacyklením při směrování.

A dále už následují jen adresy: zdrojová a cílová. Všimněte si, že hlavička neobsahuje kontrolní součet. Zdržoval by a v praxi není potřebný (o kontrolu dat se postarají nižší vrstvy).

Ve srovnání s IPv4 zmizely také položky věnované fragmentaci. IPv6 se snaží, aby k ní pokud možno nedocházelo. Proto by komunikující partneři měli měřit MTU (maximální velikost paketu) celé přenosové trasy a posílat dostatečně malé pakety. Pokud k ní přece jen dojde, přibalí se rozšiřující hlavička Fragmentace. Fragmentovat smí jen odesilatel dat.

Přehled rozšiřujících hlaviček

Volby pro všechny 0 informace zajímavé pro každého po cestě (např. upozornění směrovače, že paket nese data, která by jej mohla zajímat)
Směrování 43 datagram musí projít předepsanou cestou
Fragmentace 44 při fragmentaci paketu nese informace nutné pro jeho složení do původní podoby
Šifrování obsahu (ESP) 50 obsah datagramu je zašifrován, ESP hlavička nese odkaz na parametry pro dešifrování
Autentizace (AH) 51 data pro ověření totožnosti odesilatele a původnosti obsahu
Poslední hlavička 59 nic dalšího nenásleduje
Volby pro cíl 60 informace určené příjemci datagramu (např. domácí adresa mobilního uzlu)
Mobilita 135 pro potřeby komunikace s mobilními zařízeními