Introduktion
Vi känner alla till principerna om klassificering och icke-klassificering inom IP och dess tillämpning i nätverkskommunikation. IP-fragmentering och återmontering är en viktig mekanism i paketöverföringsprocessen. När storleken på ett paket överstiger den maximala överföringsenheten (MTU) för en nätverkslänk, delar IP-fragmenteringen upp paketet i flera mindre fragment för överföring. Dessa fragment överförs oberoende i nätverket och, när de anländer till destinationen, återmonteras de till kompletta paket med hjälp av IP-återmonteringsmekanismen. Denna process av fragmentering och återmontering säkerställer att stora paket kan överföras i nätverket samtidigt som datas integritet och tillförlitlighet säkerställs. I det här avsnittet ska vi titta närmare på hur IP-fragmentering och återmontering fungerar.
IP-fragmentering och återmontering
Olika datalänkar har olika maximala överföringsenheter (MTU); till exempel har FDDI-datalänken en MTU på 4352 byte och Ethernet-MTU på 1500 byte. MTU står för Maximum Transmission Unit och hänvisar till den maximala paketstorleken som kan överföras över nätverket.
FDDI (Fiber Distributed Data Interface) är en standard för höghastighetslokalnätverk (LAN) som använder optisk fiber som överföringsmedium. Maximum Transmission Unit (MTU) är den maximala paketstorleken som kan överföras med ett datalänkskiktsprotokoll. I FDDI-nätverk är storleken på MTU 4352 byte. Det betyder att den maximala paketstorleken som kan överföras med datalänkskiktsprotokollet i FDDI-nätverk är 4352 byte. Om paketet som ska överföras överstiger denna storlek måste det fragmenteras för att dela upp paketet i flera fragment som är lämpliga för MTU-storlek för överföring och återmontering hos mottagaren.
För Ethernet är MTU vanligtvis 1500 byte stor. Det betyder att Ethernet kan överföra paket upp till 1500 byte stora. Om paketstorleken överstiger MTU-gränsen fragmenteras paketet i mindre fragment för överföring och sätts ihop igen vid destinationen. Återmontering av det fragmenterade IP-datagrammet kan endast utföras av destinationsvärden, och routern kommer inte att utföra någon återmonteringsoperation.
Vi pratade också om TCP-segment tidigare, men MSS står för Maximum Segment Size, och det spelar en viktig roll i TCP-protokollet. MSS hänvisar till storleken på det maximala datasegmentet som tillåts skickas i en TCP-anslutning. I likhet med MTU används MSS för att begränsa storleken på paket, men det gör det på transportlagret, TCP-protokolllagret. TCP-protokollet överför data från applikationslagret genom att dela upp datan i flera datasegment, och storleken på varje datasegment begränsas av MSS.
MTU:n för varje datalänk är olika eftersom varje typ av datalänk används för olika ändamål. Beroende på användningssyftet kan olika MTU:er användas.
Anta att avsändaren vill skicka ett stort datagram på 4000 byte för överföring via en Ethernet-länk, så datagrammet måste delas upp i tre mindre datagram för överföring. Detta beror på att storleken på varje litet datagram inte får överstiga MTU-gränsen, som är 1500 byte. Efter att ha mottagit de tre små datagrammen sätter mottagaren ihop dem till det ursprungliga 4000 byte stora datagrammet baserat på sekvensnumret och offseten för varje datagram.
Vid fragmenterad överföring kommer förlusten av ett fragment att ogiltigförklara hela IP-datagrammet. För att undvika detta introducerade TCP MSS, där fragmentering sker på TCP-lagret istället för av IP-lagret. Fördelen med denna metod är att TCP har mer exakt kontroll över storleken på varje segment, vilket undviker problemen som är förknippade med fragmentering på IP-lagret.
För UDP försöker vi att inte skicka ett datapaket större än MTU. Detta beror på att UDP är ett anslutningslöst transportprotokoll, vilket inte erbjuder tillförlitlighet och återöverföringsmekanismer som TCP. Om vi skickar ett UDP-datapaket större än MTU kommer det att fragmenteras av IP-lagret för överföring. När ett av fragmenten går förlorat kan UDP-protokollet inte återsända, vilket resulterar i dataförlust. För att säkerställa tillförlitlig dataöverföring bör vi därför försöka kontrollera storleken på UDP-datapaketen inom MTU och undvika fragmenterad överföring.
Mylinking ™ Nätverkspaketmäklarekan automatiskt identifiera olika typer av tunnelprotokoll VxLAN/NVGRE/IPoverIP/MPLS/GRE, etc., kan bestämmas enligt användarprofilen enligt tunnelflödets utdata för inre eller yttre egenskaper.
○ Den kan känna igen VLAN-, QinQ- och MPLS-etikettpaket
○ Kan identifiera det inre och yttre VLAN:et
○ IPv4/IPv6-paket kan identifieras
○ Kan identifiera VxLAN-, NVGRE-, GRE-, IPoverIP-, GENEVE- och MPLS-tunnelpaket
○ IP-fragmenterade paket kan identifieras (Stöder identifiering av IP-fragmentering och stöder återmontering av IP-fragmentering för att implementera L4-funktionsfiltrering på alla IP-fragmenteringspaket. Implementera policy för trafikutdata.)
Varför är IP fragmenterat och TCP fragmenterat?
Eftersom IP-lagret automatiskt fragmenterar datapaketet vid nätverksöverföring, även om TCP-lagret inte segmenterar data, kommer datapaketet automatiskt att fragmenteras av IP-lagret och överföras normalt. Så varför behöver TCP fragmenteras? Är inte det överdrivet?
Anta att det finns ett stort paket som inte är segmenterat i TCP-lagret och går förlorat under överföringen; TCP kommer att sända om det, men bara i hela det stora paketet (även om IP-lagret delar upp data i mindre paket, som vart och ett har MTU-längd). Detta beror på att IP-lagret inte bryr sig om tillförlitlig dataöverföring.
Med andra ord, om transportlagret fragmenterar data på en maskins transport-till-nätverkslänk, fragmenterar inte IP-lagret det. Om fragmentering inte utförs på transportlagret är fragmentering möjlig på IP-lagret.
Enkelt uttryckt segmenterar TCP data så att IP-lagret inte längre är fragmenterat, och när återöverföringar sker återsänds endast små delar av den data som har fragmenterats. På så sätt kan överföringseffektiviteten och tillförlitligheten förbättras.
Om TCP är fragmenterat, är inte IP-lagret fragmenterat?
I diskussionen ovan nämnde vi att efter TCP-fragmentering hos sändaren sker ingen fragmentering på IP-lagret. Det kan dock finnas andra nätverkslagerenheter i hela transportlänken som kan ha en maximal överföringsenhet (MTU) som är mindre än MTU hos sändaren. Därför, även om paketet har fragmenterats hos sändaren, fragmenteras det igen när det passerar genom IP-lagret på dessa enheter. Så småningom kommer alla shards att sättas ihop hos mottagaren.
Om vi kan bestämma minsta MTU över hela länken och skicka data med den längden, kommer ingen fragmentering att ske oavsett vilken nod data överförs till. Denna minsta MTU över hela länken kallas sökvägens MTU (PMTU). När ett IP-paket anländer till en router, om routerns MTU är mindre än paketlängden och DF (Do not Fragment)-flaggan är inställd på 1, kommer routern inte att kunna fragmentera paketet utan kan bara släppa det. I detta fall genererar routern ett ICMP-felmeddelande (Internet Control Message Protocol) som heter "Fragmentation Needed But DF Set". Detta ICMP-felmeddelande skickas tillbaka till källadressen med routerns MTU-värde. När avsändaren får ICMP-felmeddelandet kan den justera paketstorleken baserat på MTU-värdet för att undvika den förbjudna fragmenteringssituationen igen.
IP-fragmentering är en nödvändighet och bör undvikas på IP-lagret, särskilt på mellanliggande enheter i länken. Därför är fragmentering av IP-paket av mellanliggande enheter förbjuden i IPv6, och fragmentering kan endast utföras i början och slutet av länken.
Grundläggande förståelse för IPv6
IPv6 är version 6 av Internetprotokollet, som är efterföljaren till IPv4. IPv6 använder 128-bitars adresslängd, vilket kan ge fler IP-adresser än 32-bitars adresslängden för IPv4. Detta beror på att IPv4-adressutrymmet gradvis uttöms, medan IPv6-adressutrymmet är mycket stort och kan möta behoven hos framtidens internet.
När man talar om IPv6, förutom mer adressutrymme, ger det också bättre säkerhet och skalbarhet, vilket innebär att IPv6 kan ge en bättre nätverksupplevelse jämfört med IPv4.
Även om IPv6 har funnits länge är dess globala utbyggnad fortfarande relativt långsam. Detta beror främst på att IPv6 måste vara kompatibelt med det befintliga IPv4-nätverket, vilket kräver övergång och migrering. Men med uttömningen av IPv4-adresser och den ökande efterfrågan på IPv6, antar fler och fler internetleverantörer och organisationer gradvis IPv6 och inser gradvis dual-stack-driften av IPv6 och IPv4.
Sammanfattning
I det här kapitlet har vi tittat djupare på hur IP-fragmentering och återmontering fungerar. Olika datalänkar har olika maximala överföringsenheter (MTU). När storleken på ett paket överstiger MTU-gränsen delar IP-fragmenteringen upp paketet i flera mindre fragment för överföring och sätter ihop dem till ett komplett paket med hjälp av IP-återmonteringsmekanismen efter att de anlänt till destinationen. Syftet med TCP-fragmentering är att få IP-lagret att inte längre fragmenteras och endast sända om den lilla data som har fragmenterats när återsändningen sker, för att förbättra överföringseffektiviteten och tillförlitligheten. Det kan dock finnas andra nätverkslagerenheter i hela transportlänken vars MTU kan vara mindre än avsändarens, så paketet kommer fortfarande att fragmenteras igen på IP-lagret för dessa enheter. Fragmentering på IP-lagret bör undvikas så mycket som möjligt, särskilt på mellanliggande enheter i länken.
Publiceringstid: 7 augusti 2025