...
🧠 Blogi on pühendatud VPN-i ja turvalisuse, andmete privaatsuse teemale Internetis. Räägime praegustest kaitsega seotud trendidest ja uudistest.

IP killustatus: täielikult selgitatud

18

Igal IP-pakettidel põhineval võrgul on maksimaalne edastusühiku (MTU) suurus. MTU, nagu termin viitab, on võrgus edastatava paketi maksimaalne suurus .

MTU suurusest suuremad IP-paketid tuleb jagada väiksemateks fragmentideks või pakettideks, et neid saaks üle võrgu reisida.

Kas olete endiselt segaduses? Ära muretse. 

Selles juhendis selgitame kõike IP killustatuse kohta – mis see on, mida see teeb, kuidas seda kasutatakse ja selle puudusi võhikute mõistmiseks. Vastame täiendavalt mõnele konkreetsele kasutajate päringule, mis on selle teemaga seotud. Nii et ilma pikema jututa alustame!

Mis on IP killustatus?

Iga kohalik võrk toetab IP-paketi maksimaalset suurust. Seega, kui host kasutab IP-paketi edastamiseks võrku, ei tohiks see olla suurem kui maksimaalne edastusühiku (MTU) suurus. Vastasel juhul on see jagatud väikesteks tükkideks – seda protsessi nimetatakse IP killustatuks.

Selle suuruse määravad tavaliselt MTU-d ja võrgu andmesideühendus, mis on sageli sama. Kaasaegsel töökohal, andmekeskusel või ülikoolilinnaku võrgul, mida pakutakse Etherneti kaudu, on MTU väärtused 1500 baiti.

Siiski võivad IP-paketid, mis edastatakse esmakordselt ühte MCU-d toetava võrgu kaudu, vajada marsruutimist VPN-tunnelite, WAN-ide või muude väiksemate maksimaalsete edastusühikutega võrkude kaudu. Kui paketi suurus ületab väiksemat MTU-d, tuleb selle paketi andmed killustada.

Andmed jagatakse mitmeks tükiks ja kantakse edasi uute fragmentidena (pakettidena), mis on väiksemad või võrdse suurusega kui alumine MCU. Need killustatud andmed kogutakse seejärel sihtkohta jõudes uuesti kokku.


IPv4

Kasutatud IPv4 päiseväljad

Killustamise ja uuesti kokkupanemise protsessis on kaasatud erinevad IP-päiseväljad, mis on jagatud tükkideks/fragmentideks.

(Pildi autorid: packetpushers.net)

Killustamise toimimine tugineb kolmele IP päiseväljale (kokku 32 bitti). Kõigi nende fragmentide väärtused erinevad oluliselt võrreldes algse IP-paketiga:

Identifitseerimisväli (16 bitti) sisaldab kordumatut ID-numbrit, mis on segu lähte- ja sihtkoha IP-aadressidest. Protokolli väli, millel on algse paketi väärtus, võimaldab sihtkohal eristada samast allikast pärit pakettide fragmente.

See tähendab lihtsalt, et sama ID-d saab kasutada ka siis, kui killustatud pakettide allikas, protokoll ja sihtkoht ei ole samad.

Täpselt nagu algse IP-paketi puhul on  väljal Flags esimene reserveeritud bitt (kokku 3 bitti) ja teine ​​bitt Ära killu (DF)  mõlemad määramata (0).

Viimasel fragmendil on aga välja kolmas bitt, st More Fragments (MF) seatud väärtusele 1. Viimase IP-paketi kõik sellel väljal olevad bitid seatakse väärtuseks 0, täpselt nagu algne IP-pakett (kui see pole fragment).

Kui algses paketis on seatud lipp Ära killusta, hoiab see ära killustumise ja selle tulemuseks on paketid, mis tuleb ära visata. Sel juhul tuleks saatjale saata vead, näiteks tüüp 3 ICMP viga: „Sihtkoht kättesaamatu", kood 4: „Nõutav on killustatus ja DF on määratud”.

Välja Fragment Offset  (kokku 13 bitti) kasutatakse algandmete asukoha näitamiseks fragmendis, võrreldes algse IP-paketi lähteandmetega. Seda kasutatakse seejärel kõigi fragmentide (saabunud või mitte) andmete uuesti kokkupanekuks.

Esimese fragmendi nihe on 0, kuna selle killustatud paketi ja algse paketi andmed algavad samast kohast. Järgmistes fragmentides on killustatud andmete väärtus nihutatud andmete algusest esialgses fragmendis (0 nihe), 8-baidistes plokkides (tuntud ka kui kaheksasõnad).

Kui IP-pakett, mis sisaldab andmeid väärtusega 800 baiti, jagatakse kaheks võrdseks osaks/fragmendiks, millest igaüks kannab 400 baiti, siis esimese fragmendi fragmendi nihe on 0, samas kui teise fragmendi nihe on 50 (400/8).

Nihke väärtus peab olema 8-baidiste andmeplokkide arv. See tähendab, et eelmine fragment peab olema 8 baidi kordne. Viimasel fragmendil on lubatud kanda andmeid, mis ei ole 8-baidi kordne, kuna fragmente enam ei ole.


IPv6

Kuigi enamik päisevälju jääb samaks, toimib IP- killustatus IPv6-s pisut teisiti kui IPv4. IPv6 puhul saab andmeid killustada ainult lähtehostis. See tähendab, et killustatust ei saa teostada teistes võrkudes, välja arvatud allikas.

Puudub lipp Ära killusta, seega pole vaja vaid fragmente luua.

IP killustatust ei saa teostada, kui PMTUD-d ei kasutata. Sõlmed ei saa kasutada MTU-d, mis on suuremad kui 1280 baiti, mis on IPv6 miinimum, kui nad ei rakenda Path MTU Discovery (PMUTD).

Kuigi Path MTU Discovery töötab samamoodi nagu IPv4, on ICMP veateade erinev:

(Pildi autorid: packetpushers.net)

Kui IP-pakett on MCU-st suurem, peab IPv6 ruuter selle ära viskama ja saatma saatjale 2. tüüpi ICMPv6 veateate ‘Pakett liiga suur' – kood 0.

Pange tähele, et tagakanalile ja ICMP-le tuginemisel lähtehostile on mitmeid puudusi – üks oluline neist on see, et ICMP-sõnumid blokeeritakse sageli võrgus turvaeeliseid silmas pidades.

Nii ei saa lähtehost sõnumeid Packet Too Big kätte ja saadab korduvalt ümber visatud IP-paketid, mis kindlasti kohale ei jõua. Lõpuks loetakse ühendus ebastabiilseks ja suletuks. Isegi kui asutataks uus, korduks probleem.

Killustamisega seotud päiseväljad paigutatakse laienduspäisesse, mida nimetatakse fragmendi päiseks. See määratakse standardse IPv6 või mis tahes varasema laienduse päise väljaga Järgmine päis (väärtus 44).

Nagu kõik laienduse päised, on ka see 8 baiti/64 bitti pikk koos standardpäisega, mille tulemuseks on IPv6 killustatus suurema üldkuluga kui IPv4.

Kasutatud IPv6 päiseväljad

Vaadake IPv6 fragmendi laienduse päises olevaid välju:

(Pildi autorid: packetpushers.net)

Väli nimega Järgmine päis (8 bitti) määrab päise tüübi, nagu ülemise kihi protokolli päis või IPv6 laienduse päis. Järgmised 8 bitti reserveeritakse.

13-bitist välja Fragment Offset kasutatakse sarnaselt IPv4-ga. Pärast seda reserveeritakse järgmised 2 bitti.

Välja M lipp seatakse väärtusele 1 ja lõplik fragment määratakse nagu IPv4 väljale More Fragments (MF) .

32-bitine identifitseerimisväli on sama, mis 16-bitine IPv4 väli, mis sisaldab unikaalset ID-numbrit lähte- ja sihtkoha aadresside kombinatsiooni jaoks. Väli Protokoll pole IPv6 puhul saadaval.


IP killustatuse puudused

IP-protokolli virnal on ebausaldusväärne mehhanism, mille tõttu lõpphostid ei saa IPv4 ja IPv6 hosti kaudu suhtlemisel välja selgitada kasuliku koormuse maksimaalset suurust.

Kuigi MTU mehhanismi puudumine kogu võrgus on arusaadav, kuna IP-paketid liiguvad erinevatel marsruutidel, võib otsast lõpuni teabe puudumine põhjustada selle, et vahendavad ruuterid saavad liiga suuri pakette ega suuda neid edastada.

IPv4-ruuterid saavad edastamise ajal IP-paketid fragmentideks jagada, kuid sama funktsioon pole saadaval IPv6-ruuterites, kus saatja peab killustama.

Killustumise tulemuseks on 3 kihi ülaosa teravik. Näiteks kui lõpphost usub, et ta suudab kasutada 1500-baidiseid IP-pakette, kuid tema teel on hüppeline MTU suurus 1472, siis jagatakse IP-pakett kaheks paketiks, mille tulemuseks on lisatud IPv6 päis. 40 baiti ja IPv4 päis 20 baiti.

IP-fragmendid panevad vastuvõtvale süsteemile täiendava koormuse, kuna nende kõrgematele protokollikihtidele edastamiseks tuleb killud uuesti kokku panna. See tegevus süveneb, kui ruuter lõpetab IP-liikluse.

Kui ruuter proovib killustatud pakette kokku panna, ei õnnestu pakette riistvaras uuesti kokku panna ja see vähendab platvormi jõudlust drastiliselt.


KKK-d

IP killustatus on andmete edastamiseks ülioluline, kuna igal võrgul on andmete töötlemiseks erinev suurusepiirang. Seda piiri tuntakse ka kui MTU (maksimaalne ülekandeüksus).

Ei, ruuterid saavad IP-pakette fragmenteerida, kuid mitte neid uuesti kokku panna. Sihtseadme ülesanne on need paketid kasutaja jaoks uuesti kokku panna.

Kui datagrammi üks või mitu fragmenti läheb kaotsi, visatakse kogu datagramm pärast ajalõpuperioodi ära.


Järeldus

See lõpetab meie üksikasjaliku juhendi IP killustatuse kohta.

Kiire ülevaate andmiseks, kui võrgu kaudu saadetavad andmed on suuremad kui maksimaalse edastusühiku (MTU) suurus, jagatakse andmed mitmeks killuks ja saadetakse vastuvõtjale.

Niipea, kui IP-fragmendid sihtkohta jõuavad, komplekteeritakse need uuesti õiges järjekorras, et andmed oleksid kasutajatele kasulikud. Killustumise mehhanism on erinev nii IPv4 kui ka IPv6 võrkude vahel, mille üksikasjad on eespool mainitud.

Kui teil on küsimusi IP-aadresside ja killustatuse kohta, pöörduge meie poole kommentaarides.

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem