Dešifrovanie, fragmentácia a opätovné zostavenie IP adresy: Mylinking™ Network Packet Broker identifikuje fragmentované IP pakety

Úvod

Všetci poznáme princíp klasifikácie a neklasifikácie IP a jeho aplikáciu v sieťovej komunikácii. Fragmentácia a opätovné zostavovanie IP je kľúčovým mechanizmom v procese prenosu paketov. Keď veľkosť paketu prekročí limit maximálnej prenosovej jednotky (MTU) sieťového pripojenia, fragmentácia IP rozdelí paket na viacero menších fragmentov na prenos. Tieto fragmenty sa v sieti prenášajú nezávisle a po príchode do cieľa sa pomocou mechanizmu opätovného zostavovania IP znova zostavia do kompletných paketov. Tento proces fragmentácie a opätovného zostavovania zabezpečuje, že v sieti je možné prenášať aj veľké pakety, pričom sa zabezpečí integrita a spoľahlivosť údajov. V tejto časti sa bližšie pozrieme na to, ako funguje fragmentácia a opätovné zostavovanie IP.

Fragmentácia a opätovné zostavenie IP adresy

Rôzne dátové linky majú rôzne maximálne prenosové jednotky (MTU); napríklad dátová linka FDDI má MTU 4352 bajtov a ethernetová MTU 1500 bajtov. MTU je skratka pre Maximum Transmission Unit a označuje maximálnu veľkosť paketu, ktorý je možné preniesť cez sieť.

FDDI (Fiber Distributed Data Interface) je štandard vysokorýchlostnej lokálnej siete (LAN), ktorá používa optické vlákno ako prenosové médium. Maximálna prenosová jednotka (MTU) je maximálna veľkosť paketu, ktorú je možné preniesť protokolom dátovej vrstvy. V sieťach FDDI je veľkosť MTU 4352 bajtov. To znamená, že maximálna veľkosť paketu, ktorú je možné preniesť protokolom dátovej vrstvy v sieti FDDI, je 4352 bajtov. Ak prenášaný paket presiahne túto veľkosť, je potrebné ho fragmentovať, aby sa rozdelil na viacero fragmentov vhodných pre veľkosť MTU na prenos a opätovné zostavenie v prijímači.

Pre Ethernet je veľkosť MTU typicky 1500 bajtov. To znamená, že Ethernet dokáže prenášať pakety s veľkosťou až 1500 bajtov. Ak veľkosť paketu prekročí limit MTU, paket sa fragmentuje na menšie fragmenty pre prenos a v cieľovom mieste sa znova zostaví. Opätovné zostavenie fragmentovaného IP datagramu môže vykonať iba cieľový hostiteľ a smerovač operáciu opätovného zostavenia nevykoná.

Už sme hovorili o segmentoch TCP, ale MSS je skratka pre Maximum Segment Size (Maximálna veľkosť segmentu) a hrá dôležitú úlohu v protokole TCP. MSS označuje veľkosť maximálneho dátového segmentu, ktorý je možné odoslať v rámci TCP pripojenia. Podobne ako MTU, aj MSS sa používa na obmedzenie veľkosti paketov, ale robí to na transportnej vrstve, teda na vrstve protokolu TCP. Protokol TCP prenáša dáta aplikačnej vrstvy rozdelením dát do viacerých dátových segmentov a veľkosť každého dátového segmentu je obmedzená MSS.

Hodnota MTU každého dátového prepojenia je odlišná, pretože každý iný typ dátového prepojenia sa používa na rôzne účely. V závislosti od účelu použitia je možné hostiť rôzne hodnoty MTU.

Predpokladajme, že odosielateľ chce odoslať veľký 4000-bajtový datagram na prenos cez ethernetové pripojenie, takže datagram je potrebné rozdeliť na tri menšie datagramy na prenos. Je to preto, že veľkosť každého malého datagramu nemôže prekročiť limit MTU, ktorý je 1500 bajtov. Po prijatí troch malých datagramov ich prijímač znova zostaví do pôvodného 4000-bajtového veľkého datagramu na základe poradového čísla a offsetu každého datagramu.

 Fragmentácia a opätovné zostavenie IP adresy

Pri fragmentovanom prenose strata fragmentu zneplatní celý IP datagram. Aby sa tomu predišlo, TCP zaviedol MSS, kde sa fragmentácia vykonáva na vrstve TCP namiesto vrstvy IP. Výhodou tohto prístupu je, že TCP má presnejšiu kontrolu nad veľkosťou každého segmentu, čo sa vyhýba problémom spojeným s fragmentáciou na vrstve IP.

V prípade UDP sa snažíme neodosielať dátové pakety väčšie ako MTU. Je to preto, že UDP je bezspojkový transportný protokol, ktorý neposkytuje spoľahlivosť a mechanizmy opakovaného prenosu ako TCP. Ak odošleme dátový paket UDP väčší ako MTU, bude fragmentovaný vrstvou IP pri prenose. Akonáhle sa jeden z fragmentov stratí, protokol UDP ho nemôže znova odoslať, čo vedie k strate dát. Preto, aby sme zabezpečili spoľahlivý prenos dát, mali by sme sa snažiť kontrolovať veľkosť dátových paketov UDP v rámci MTU a vyhnúť sa fragmentovanému prenosu.

Sprostredkovateľ sieťových paketov Mylinking™dokáže automaticky identifikovať rôzne druhy tunelových protokolov VxLAN/NVGRE/IPoverIP/MPLS/GRE atď., možno ich určiť podľa profilu používateľa podľa výstupu toku tunela s vnútornými alebo vonkajšími charakteristikami.

○ Dokáže rozpoznávať pakety VLAN, QinQ a MPLS

○ Dokáže identifikovať vnútornú a vonkajšiu VLAN

○ Je možné identifikovať pakety IPv4/IPv6

○ Dokáže identifikovať tunelové pakety VxLAN, NVGRE, GRE, IPoverIP, GENEVE, MPLS

○ Možnosť identifikácie fragmentovaných IP paketov (Podpora identifikácie fragmentácie IP a podpora opätovného zostavenia fragmentácie IP s cieľom implementovať filtrovanie funkcií L4 na všetkých paketoch fragmentácie IP. Implementácia politiky výstupu prevádzky.)

Prečo je IP a TCP fragmentovaný?

Keďže pri sieťovom prenose vrstva IP automaticky fragmentuje dátový paket, aj keď vrstva TCP dáta nesegmentuje, vrstva IP dátový paket automaticky fragmentuje a prenesie ho normálne. Prečo teda TCP potrebuje fragmentáciu? Nie je to prehnané?

Predpokladajme, že existuje veľký paket, ktorý nie je segmentovaný na vrstve TCP a stratí sa počas prenosu; TCP ho prenesie znova, ale iba v celom veľkom pakete (hoci vrstva IP rozdeľuje dáta na menšie pakety, z ktorých každý má dĺžku MTU). Je to preto, že vrstva IP sa nestará o spoľahlivý prenos dát.

Inými slovami, ak na prenosovej vrstve počítača do siete fragmentuje dáta, vrstva IP ich nefragmentuje. Ak sa fragmentácia nevykoná na transportnej vrstve, fragmentácia je možná na vrstve IP.

Zjednodušene povedané, TCP segmentuje dáta tak, aby vrstva IP už nebola fragmentovaná, a pri opakovaných prenosoch sa prenášajú iba malé časti fragmentovaných dát. Týmto spôsobom sa dá zlepšiť efektivita a spoľahlivosť prenosu.

Ak je TCP fragmentovaný, nie je fragmentovaná aj IP vrstva?

Vo vyššie uvedenej diskusii sme spomenuli, že po fragmentácii TCP u odosielateľa nedochádza k fragmentácii na IP vrstve. V prenosovom spojení však môžu existovať aj iné zariadenia sieťovej vrstvy, ktoré môžu mať maximálnu prenosovú jednotku (MTU) menšiu ako MTU u odosielateľa. Preto aj keď bol paket fragmentovaný u odosielateľa, fragmentuje sa znova pri prechode cez IP vrstvu týchto zariadení. Nakoniec sa všetky fragmenty zostavia u prijímača.

Ak dokážeme určiť minimálnu hodnotu MTU v celom spojení a odoslať dáta s touto dĺžkou, nedôjde k fragmentácii bez ohľadu na to, do ktorého uzla sa dáta prenášajú. Táto minimálna hodnota MTU v celom spojení sa nazýva hodnota MTU cesty (PMTU). Keď IP paket dorazí do smerovača a hodnota MTU smerovača je menšia ako dĺžka paketu a príznak DF (Do not Fragment) je nastavený na 1, smerovač nebude môcť paket fragmentovať a môže ho iba zahodiť. V tomto prípade smerovač vygeneruje chybovú správu ICMP (Internet Control Message Protocol) s názvom „Fragmentation Needed But DF Set“. Táto chybová správa ICMP sa odošle späť na zdrojovú adresu s hodnotou MTU smerovača. Keď odosielateľ dostane chybovú správu ICMP, môže upraviť veľkosť paketu na základe hodnoty MTU, aby sa predišlo opätovnej situácii so zakázanou fragmentáciou.

Fragmentácia IP je nevyhnutná a malo by sa jej na IP vrstve vyhnúť, najmä na medziľahlých zariadeniach v spojení. Preto je v IPv6 fragmentácia IP paketov medziľahlými zariadeniami zakázaná a fragmentácia sa môže vykonávať iba na začiatku a na konci spojenia.

Základné znalosti o IPv6

IPv6 je verzia 6 internetového protokolu, ktorý je nástupcom IPv4. IPv6 používa 128-bitovú dĺžku adresy, čo umožňuje poskytnúť viac IP adries ako 32-bitová dĺžka adresy IPv4. Je to preto, že adresný priestor IPv4 sa postupne vyčerpáva, zatiaľ čo adresný priestor IPv6 je veľmi rozsiahly a dokáže uspokojiť potreby budúceho internetu.

Keď hovoríme o IPv6, okrem väčšieho adresného priestoru prináša aj lepšiu bezpečnosť a škálovateľnosť, čo znamená, že IPv6 dokáže poskytnúť lepší sieťový zážitok v porovnaní s IPv4.

Hoci IPv6 existuje už dlho, jeho globálne zavádzanie je stále relatívne pomalé. Je to najmä preto, že IPv6 musí byť kompatibilný s existujúcou sieťou IPv4, čo si vyžaduje prechod a migráciu. S vyčerpaním adries IPv4 a rastúcim dopytom po IPv6 však čoraz viac poskytovateľov internetových služieb a organizácií postupne prijíma IPv6 a postupne realizuje duálnu prevádzku IPv6 a IPv4.

Zhrnutie

V tejto kapitole sme sa hlbšie pozreli na to, ako funguje fragmentácia a opätovné zostavovanie IP. Rôzne dátové linky majú rôznu maximálnu prenosovú jednotku (MTU). Keď veľkosť paketu prekročí limit MTU, fragmentácia IP rozdelí paket na viacero menších fragmentov na prenos a po príchode do cieľa ich pomocou mechanizmu opätovného zostavovania IP znova zostaví do kompletného paketu. Účelom fragmentácie TCP je zabrániť fragmentácii vrstvy IP a opätovne preniesť iba malé dáta, ktoré boli pri opätovnom prenose fragmentované, aby sa zlepšila efektivita a spoľahlivosť prenosu. V prenosovom linke však môžu existovať aj iné zariadenia sieťovej vrstvy, ktorých MTU môže byť menšia ako MTU odosielateľa, takže paket bude na vrstve IP týchto zariadení stále znova fragmentovaný. Fragmentácii na vrstve IP by sa malo čo najviac predchádzať, najmä na medziľahlých zariadeniach v linke.


Čas uverejnenia: 7. augusta 2025