IP-fragmentering
IP-fragmentering är en Internet Protocol (IP) process som bryter paket i mindre bitar (fragment), så att de resulterande bitarna kan passera genom en länk med en mindre maximal överföringsenhet (MTU) än den ursprungliga paketstorleken. Fragmenten sätts ihop igen av den mottagande värden .
Detaljerna i fragmenteringsmekanismen, såväl som den övergripande arkitektoniska strategin för fragmentering, är olika mellan IPv4 och IPv6 .
Bearbeta
RFC 791 beskriver proceduren för IP-fragmentering och överföring och återmontering av IP-paket. RFC 815 beskriver en förenklad återmonteringsalgoritm. Identifieringsfältet tillsammans med den utländska och lokala internetadressen och protokoll-ID och Fragment offset-fältet tillsammans med flaggorna Don't Fragment och More Fragments i IP - huvudet används för fragmentering och återmontering av IP-paket.
Om en mottagande värd tar emot ett fragmenterat IP-paket måste den sätta ihop paketet igen och skicka det till det högre protokolllagret. Återmontering är tänkt att ske i den mottagande värden, men i praktiken kan det göras av en mellanliggande router, till exempel kan nätverksadressöversättning (NAT) behöva återsammansätta fragment för att översätta dataströmmar.
IPv4 och IPv6 skillnader
Under IPv4 har en router som tar emot ett nätverkspaket som är större än nästa hops MTU två alternativ: släpp paketet om flaggbiten Don't Fragment (DF) är inställd i paketets rubrik och skicka ett Internet Control Message Protocol (ICMP) meddelande som indikerar tillståndet Fragmentation Needed (Typ 3, Code 4), eller fragmentera paketet och skicka det över länken med en mindre MTU. Även om upphovsmän kan producera fragmenterade paket, har IPv6-routrar inte möjlighet att fragmentera ytterligare. Istället krävs nätverksutrustning för att leverera alla IPv6-paket eller paketfragment som är mindre än eller lika med 1280 byte och IPv6-värdar krävs för att bestämma den optimala MTU genom Path MTU Discovery innan paket skickas.
Även om headerformaten är olika för IPv4 och IPv6, används analoga fält för fragmentering, så samma algoritm kan återanvändas för IPv4- och IPv6-fragmentering och återmontering.
I IPv4 måste värdar göra sitt bästa försök att återmontera fragmenterade IP-paket med en total återmonterad storlek på upp till 576 byte. De kan också försöka återmontera fragmenterade IP-paket som är större än 576 byte, men de är också tillåtna att tyst kassera sådana större paket. Applikationer rekommenderas att avstå från att skicka paket som är större än 576 byte om de inte har förkunskaper om att fjärrvärden kan acceptera eller återmontera dem.
I IPv6 måste värdar göra sitt bästa försök att återmontera fragmenterade paket med en total återmonterad storlek på upp till 1500 byte, större än IPv6:s lägsta MTU på 1280 byte. Fragmenterade paket med en total återmonterad storlek större än 1500 byte kan valfritt kasseras tyst. Applikationer som förlitar sig på IPv6-fragmentering för att övervinna en MTU-vägsbegränsning måste explicit fragmentera paketet vid ursprungspunkten; de bör dock inte försöka skicka fragmenterade paket med en total storlek större än 1500 byte om de inte i förväg vet att fjärrvärden kan återmonteras.
Inverkan på vidarebefordran av nätverk
När ett nätverk har flera parallella vägar delar tekniker som LAG och CEF upp trafik över vägarna enligt en hashalgoritm . Ett mål med algoritmen är att säkerställa att alla paket med samma flöde skickas ut på samma väg för att minimera onödig paketomordning .
IP-fragmentering kan orsaka överdrivna omsändningar när fragment stöter på paketförlust och tillförlitliga protokoll som TCP måste återsända alla fragment för att återhämta sig från förlusten av ett enstaka fragment. Således använder avsändare vanligtvis två metoder för att bestämma storleken på IP-paket som ska skickas över nätverket. Den första är att den sändande värden skickar ett IP-paket av storlek lika med MTU:n för det första hoppet i käll-destinationsparet. Den andra är att köra Path MTU Discovery-algoritmen för att bestämma sökvägen MTU mellan två IP-värdar så att IP-fragmentering kan undvikas.
Från och med 2020 anses IP-fragmentering vara bräcklig och ofta oönskad på grund av dess säkerhetspåverkan.
Se även
- IPv4 § Fragmentering och återmontering
- IPv6-paket § Fragmentering
- IP-fragmenteringsattack
- Protokolldataenhet och Servicedataenhet