Ievads
Mēs visi zinām IP klasifikācijas un neklasificēšanas principu un tā pielietojumu tīkla komunikācijā. IP fragmentācija un atkārtota montāža ir galvenais mehānisms pakešu pārraides procesā. Kad paketes lielums pārsniedz tīkla saites maksimālo pārraides vienības (MTU) ierobežojumu, IP fragmentācija sadala paketi vairākos mazākos fragmentos pārraidei. Šie fragmenti tiek pārraidīti tīklā neatkarīgi, un, nonākot galamērķī, tie tiek atkārtoti salikti pilnās paketēs, izmantojot IP atkārtotas montāžas mehānismu. Šis fragmentācijas un atkārtotas montāžas process nodrošina, ka tīklā var pārraidīt liela izmēra paketes, vienlaikus nodrošinot datu integritāti un uzticamību. Šajā sadaļā mēs sīkāk aplūkosim, kā darbojas IP fragmentācija un atkārtota montāža.
IP fragmentācija un atkārtota montāža
Dažādām datu saitēm ir atšķirīgas maksimālās pārraides vienības (MTU); piemēram, FDDI datu saites MTU ir 4352 baiti, bet Ethernet MTU ir 1500 baiti. MTU apzīmē maksimālo pārraides vienību un attiecas uz maksimālo pakešu lielumu, ko var pārraidīt tīklā.
FDDI (Fiber Distributed Data Interface — šķiedru sadalītā datu saskarne) ir ātrdarbīga lokālā tīkla (LAN) standarts, kas kā pārraides vidi izmanto optisko šķiedru. Maksimālā pārraides vienība (MTU) ir maksimālais paketes lielums, ko var pārraidīt, izmantojot datu saites slāņa protokolu. FDDI tīklos MTU lielums ir 4352 baiti. Tas nozīmē, ka maksimālais paketes lielums, ko var pārraidīt, izmantojot datu saites slāņa protokolu FDDI tīklā, ir 4352 baiti. Ja pārraidāmā pakete pārsniedz šo lielumu, tā ir jāfragmentē, lai sadalītu paketi vairākos fragmentos, kas ir piemēroti MTU lielumam pārraidei un atkārtotai montāžai uztvērējā.
Ethernet tīklā MTU parasti ir 1500 baitu liels. Tas nozīmē, ka Ethernet var pārsūtīt paketes, kuru lielums ir līdz 1500 baitiem. Ja paketes lielums pārsniedz MTU ierobežojumu, pakete tiek fragmentēta mazākos fragmentos pārraidei un atkārtoti salikta galamērķī. Fragmentētās IP datagrammas atkārtotu salikšanu var veikt tikai mērķa resursdators, un maršrutētājs neveiks atkārtotas salikšanas darbību.
Mēs jau iepriekš runājām par TCP segmentiem, bet MSS apzīmē maksimālo segmenta izmēru (Maximum Segment Size), un tam ir svarīga loma TCP protokolā. MSS attiecas uz maksimālā datu segmenta lielumu, ko atļauts nosūtīt TCP savienojumā. Līdzīgi kā MTU, MSS tiek izmantots, lai ierobežotu pakešu lielumu, bet tas tiek darīts transporta slānī, TCP protokola slānī. TCP protokols pārraida lietojumprogrammas slāņa datus, sadalot datus vairākos datu segmentos, un katra datu segmenta lielumu ierobežo MSS.
Katras datu saites MTU ir atšķirīga, jo katrs atšķirīgais datu saites veids tiek izmantots dažādiem mērķiem. Atkarībā no lietošanas mērķa var tikt mitināti dažādi MTU.
Pieņemsim, ka sūtītājs vēlas nosūtīt lielu 4000 baitu datagrammu pārraidei pa Ethernet saiti, tāpēc datagramma pārraidei ir jāsadala trīs mazākās datagrammās. Tas ir tāpēc, ka katras mazās datagrammas lielums nedrīkst pārsniegt MTU ierobežojumu, kas ir 1500 baiti. Pēc trīs mazo datagrammu saņemšanas uztvērējs tās atkal saliek sākotnējā 4000 baitu lielajā datagrammā, pamatojoties uz katras datagrammas secības numuru un nobīdi.
Fragmentētas pārraides gadījumā fragmenta zudums padarīs visu IP datagrammu nederīgu. Lai no tā izvairītos, TCP ieviesa MSS, kur fragmentācija tiek veikta TCP slānī, nevis IP slānī. Šīs pieejas priekšrocība ir tā, ka TCP precīzāk kontrolē katra segmenta lielumu, kas novērš problēmas, kas saistītas ar fragmentāciju IP slānī.
UDP gadījumā mēs cenšamies nesūtīt datu paketes, kas ir lielākas par MTU. Tas ir tāpēc, ka UDP ir bezsavienojuma transporta protokols, kas nenodrošina uzticamību un atkārtotas pārraides mehānismus, piemēram, TCP. Ja mēs nosūtām UDP datu paketi, kas ir lielāka par MTU, IP slānis to fragmentēs pārraidei. Kad viens no fragmentiem ir pazaudēts, UDP protokols nevar atkārtoti pārraidīt, kā rezultātā tiek zaudēti dati. Tāpēc, lai nodrošinātu uzticamu datu pārraidi, mums jācenšas kontrolēt UDP datu pakešu lielumu MTU ietvaros un jāizvairās no fragmentētas pārraides.
Mylinking™ tīkla pakešu brokerisvar automātiski identificēt dažāda veida tuneļa protokolus, piemēram, VxLAN/NVGRE/IPoverIP/MPLS/GRE utt., un tos var noteikt atbilstoši lietotāja profilam, pamatojoties uz tuneļa plūsmas izvadi, kas atbilst iekšējām vai ārējām īpašībām.
○ Tas var atpazīt VLAN, QinQ un MPLS etiķešu paketes
○ Var identificēt iekšējo un ārējo VLAN
○ Var identificēt IPv4/IPv6 paketes
○ Var identificēt VxLAN, NVGRE, GRE, IPoverIP, GENEVE, MPLS tuneļa paketes
○ Var identificēt IP fragmentētas paketes (atbalsta IP fragmentācijas identifikāciju un atbalsta IP fragmentācijas atkārtotu salikšanu, lai ieviestu L4 funkciju filtrēšanu visām IP fragmentācijas paketēm. Ieviest datplūsmas izvades politiku.)
Kāpēc IP ir fragmentēts un TCP ir fragmentēts?
Tā kā tīkla pārraidē IP slānis automātiski fragmentēs datu paketi, pat ja TCP slānis nesegmentēs datus, IP slānis automātiski fragmentēs datu paketi un pārraidīs to normāli. Tad kāpēc TCP ir nepieciešama fragmentācija? Vai tas nav pārspīlēti?
Pieņemsim, ka pastāv liela pakete, kas nav segmentēta TCP slānī un tiek pazaudēta tranzītā; TCP to atkārtoti pārsūtīs, bet tikai visu lielo paketi (lai gan IP slānis sadala datus mazākās paketēs, katrai no kurām ir MTU garums). Tas ir tāpēc, ka IP slānim nerūp uzticama datu pārraide.
Citiem vārdiem sakot, iekārtas transporta un tīkla savienojumā, ja transporta slānis fragmentē datus, IP slānis tos nefragmentē. Ja fragmentācija transporta slānī netiek veikta, fragmentācija ir iespējama IP slānī.
Vienkārši sakot, TCP segmentē datus tā, lai IP slānis vairs nebūtu fragmentēts, un, veicot atkārtotu pārraidi, tiek atkārtoti pārraidītas tikai nelielas fragmentēto datu daļas. Tādā veidā var uzlabot pārraides efektivitāti un uzticamību.
Ja TCP ir fragmentēts, vai IP slānis nav fragmentēts?
Iepriekš minētajā diskusijā mēs minējām, ka pēc TCP fragmentācijas sūtītājā IP slānī fragmentācijas nenotiek. Tomēr visā transporta saitē var būt arī citas tīkla slāņa ierīces, kuru maksimālā pārraides vienība (MTU) var būt mazāka par sūtītāja MTU. Tādēļ, pat ja pakete ir fragmentēta sūtītājā, tā atkal tiek fragmentēta, izejot cauri šo ierīču IP slānim. Galu galā visas fragmentācijas tiks saliktas uztvērējā.
Ja mēs varam noteikt minimālo MTU visā saitē un nosūtīt datus šādā garumā, fragmentācija nenotiks neatkarīgi no tā, uz kuru mezglu dati tiek pārsūtīti. Šo minimālo MTU visā saitē sauc par ceļa MTU (PMTU). Kad maršrutētājā nonāk IP pakete, ja maršrutētāja MTU ir mazāks par paketes garumu un DF (nefragmentēt) karodziņš ir iestatīts uz 1, maršrutētājs nevarēs fragmentēt paketi un var to tikai nomest. Šajā gadījumā maršrutētājs ģenerē ICMP (interneta vadības ziņojumu protokols) kļūdas ziņojumu ar nosaukumu "Nepieciešama fragmentācija, bet DF ir iestatīts". Šis ICMP kļūdas ziņojums tiks nosūtīts atpakaļ uz avota adresi ar maršrutētāja MTU vērtību. Kad sūtītājs saņem ICMP kļūdas ziņojumu, tas var pielāgot paketes lielumu, pamatojoties uz MTU vērtību, lai vēlreiz izvairītos no aizliegtas fragmentācijas situācijas.
IP fragmentācija ir nepieciešamība, un no tās vajadzētu izvairīties IP slānī, īpaši starpposma ierīcēs savienojumā. Tāpēc IPv6 IP pakešu fragmentācija starpposma ierīcēs ir aizliegta, un fragmentāciju var veikt tikai savienojuma sākumā un beigās.
IPv6 pamatzināšanas
IPv6 ir interneta protokola 6. versija, kas ir IPv4 pēctecis. IPv6 izmanto 128 bitu adreses garumu, kas var nodrošināt vairāk IP adrešu nekā IPv4 32 bitu adreses garums. Tas ir tāpēc, ka IPv4 adrešu telpa pakāpeniski tiek izsmelta, savukārt IPv6 adrešu telpa ir ļoti liela un var apmierināt nākotnes interneta vajadzības.
Runājot par IPv6, papildus lielākai adrešu telpai tas nodrošina arī labāku drošību un mērogojamību, kas nozīmē, ka IPv6 var nodrošināt labāku tīkla pieredzi salīdzinājumā ar IPv4.
Lai gan IPv6 pastāv jau ilgu laiku, tā globālā ieviešana joprojām ir relatīvi lēna. Tas galvenokārt ir tāpēc, ka IPv6 ir jābūt saderīgam ar esošo IPv4 tīklu, kam nepieciešama pāreja un migrācija. Tomēr, samazinoties IPv4 adresēm un pieaugot pieprasījumam pēc IPv6, arvien vairāk interneta pakalpojumu sniedzēju un organizāciju pakāpeniski ievieš IPv6 un pakāpeniski realizē IPv6 un IPv4 divkaudzes darbību.
Kopsavilkums
Šajā nodaļā mēs padziļināti aplūkojām IP fragmentācijas un atkārtotas salikšanas darbības principu. Dažādām datu saitēm ir atšķirīga maksimālā pārraides vienība (MTU). Kad paketes lielums pārsniedz MTU ierobežojumu, IP fragmentācija sadala paketi vairākos mazākos fragmentos pārraidei un pēc nonākšanas galamērķī tos atkārtoti saliek pilnā paketē, izmantojot IP atkārtotas salikšanas mehānismu. TCP fragmentācijas mērķis ir panākt, lai IP slānis vairs nefragmentētu un atkārtoti pārraidītu tikai tos mazos datus, kas ir fragmentēti atkārtotas pārraides laikā, lai uzlabotu pārraides efektivitāti un uzticamību. Tomēr visā transporta saitē var būt arī citas tīkla slāņa ierīces, kuru MTU var būt mazāks nekā sūtītāja MTU, tāpēc pakete joprojām tiks fragmentēta vēlreiz šo ierīču IP slānī. Cik vien iespējams, jāizvairās no fragmentācijas IP slānī, jo īpaši saites starpniekserveros.
Publicēšanas laiks: 2025. gada 7. augusts