Paketfragmentering

De flesta datalänkar reglerar dataöverföringar med maximala storleken, känd som MTU eller Maximum Transmission Unit. MTU är ett mått som inkluderar den totala paketlängden, inklusive dess header. Detta gäller för både IPv4 och IPv6.

IPv4 kräver att varje nod (mellanliggande nätverkshanterare) i nätverket klarar av paketöverföring på 68 byte utan fragmenteringar. Detta på grund av IPv4 header maximalt storlek är på 60 byte. Det innebär att nyttolasten (payload) kan vara max 8 byte, men som oftast är större. Alternativt kan 8 byte omfatta ett annat protokoll, annars måste ske paketfragmentering. Varje klient-mottagare i destinationsnätverket måste kunna ta emot IPv4 paket med minsta storleken på 576 byte (flera paketfragment).

IPv6 kräver minimalt MTU på 1280 byte, men rekommenderas en MTU på 1500 byte.

IPv4 paketfragmentering

Bild 1: IPv4 Datalänk med mindre MTU

IPv4 har designats för olika bandbredd därmed varierande datalänk typer. I en sådan nätverksmiljö tillåts routrar fragmentera stora paket när det behövs. Till exempel när en router tar emot ett för stort paket som inte kan vidarebefordras på grund av att utgående interface har mindre MTU, se bild 1. Det innebär att paketet måste fragmenteras för vidarebefordring men det förutsätter att flaggan DF är satt till noll, om DF flaggan är satt till ett (DF=1) kommer paketet att tas bort. Om DF är satt till noll fragmenteras paketet och när alla paketfragment kommer fram till mottagare är dennes arbetsuppgift att återsamla dessa till de ursprungliga paketen.

IPv6 paketfragmentering

Till skillnad från IPv4, där routrar tillåts fragmentera paket med ett för stor MTU, fragmenteras inte paket av IPv6 routrar. Avsändaren får fragmentera paket vid behov, men inte mellanliggande routrar. När en IPv6-router tar emot ett paket som är större än utgående interface MTU tar routern bort paketet och skickar ett ICMPv6 Packet Too Big meddelande tillbaka till avsändaren. Meddelandet Packet Too Big innehåller MTU-storleken på datalänken i byte så att avsändaren kan ändra paketets storlek för vidareöverföring.

Bild 2: IPv6 routrar utför inte paketfragmentering

så vad är det bästa för en klient, små eller stora paketstorlek?

Data är vanligtvis överförd som en serie paket, ibland kallad pakettåg. Ju större paketen är, desto färre paket behövs för dataöverföring. Det gör att det största paketstorleken föredras, men i enlighet med den minsta MTU längs vägen till mottagare. För att kunna identifiera den minsta MTU skickas först ett utforskande paket med namnet Path MTU-discovery.