Zavedení
Všichni známe princip klasifikace a neklasifikace IP a jeho aplikaci v síťové komunikaci. Fragmentace a opětovné sestavování IP je klíčovým mechanismem v procesu přenosu paketů. Když velikost paketu překročí limit maximální přenosové jednotky (MTU) síťového spojení, fragmentace IP rozdělí paket na několik menších fragmentů pro přenos. Tyto fragmenty jsou v síti přenášeny nezávisle a po příjezdu do cíle jsou pomocí mechanismu opětovného sestavování IP znovu sestaveny do kompletních paketů. Tento proces fragmentace a opětovného sestavování zajišťuje, že v síti lze přenášet i velké pakety a zároveň zajišťuje integritu a spolehlivost dat. V této části se hlouběji podíváme na to, jak fragmentace a opětovné sestavování IP funguje.
Fragmentace a opětovné sestavení IP adres
Různé datové linky mají různé maximální přenosové jednotky (MTU); například datová linka FDDI má MTU 4352 bajtů a ethernetová MTU 1500 bajtů. MTU je zkratka pro Maximum Transmission Unit a označuje maximální velikost paketu, který lze přenést po síti.
FDDI (Fiber Distributed Data Interface) je standard vysokorychlostní lokální sítě (LAN), který používá optické vlákno jako přenosové médium. Maximální přenosová jednotka (MTU) je maximální velikost paketu, kterou lze přenést protokolem linkové vrstvy. V sítích FDDI je velikost MTU 4352 bajtů. To znamená, že maximální velikost paketu, kterou lze přenést protokolem linkové vrstvy v síti FDDI, je 4352 bajtů. Pokud přenášený paket tuto velikost překročí, je třeba jej fragmentovat, aby se paket rozdělil na více fragmentů vhodných pro velikost MTU pro přenos a opětovné sestavení v přijímači.
U Ethernetu je velikost MTU typicky 1500 bajtů. To znamená, že Ethernet může přenášet pakety o velikosti až 1500 bajtů. Pokud velikost paketu překročí limit MTU, je paket pro přenos fragmentován na menší fragmenty a znovu sestaven v cíli. Opětovné sestavení fragmentovaného IP datagramu může provést pouze cílový hostitel a router operaci opětovného sestavení neprovede.
Také jsme dříve hovořili o segmentech TCP, ale MSS je zkratka pro Maximum Segment Size (Maximální velikost segmentu) a hraje v protokolu TCP důležitou roli. MSS označuje maximální velikost datového segmentu, který je možné odeslat v rámci TCP spojení. Podobně jako MTU se MSS používá k omezení velikosti paketů, ale dělá to na transportní vrstvě, tedy na vrstvě protokolu TCP. Protokol TCP přenáší data aplikační vrstvy tak, že je dělí do více datových segmentů a velikost každého datového segmentu je omezena hodnotou MSS.
Hodnota MTU každého datového spojení se liší, protože každý jiný typ datového spojení se používá k různým účelům. V závislosti na účelu použití lze hostovat různé hodnoty MTU.
Předpokládejme, že odesílatel chce odeslat velký datagram o délce 4000 bajtů pro přenos přes ethernetové spojení, takže datagram je třeba pro přenos rozdělit na tři menší datagramy. Je to proto, že velikost každého malého datagramu nesmí překročit limit MTU, který je 1500 bajtů. Po přijetí tří malých datagramů je příjemce znovu sestaví do původního velkého datagramu o délce 4000 bajtů na základě pořadového čísla a offsetu každého datagramu.
Při fragmentovaném přenosu ztráta fragmentu zneplatní celý IP datagram. Aby se tomu zabránilo, TCP zavedl MSS, kde se fragmentace provádí na vrstvě TCP, nikoli na vrstvě IP. Výhodou tohoto přístupu je, že TCP má přesnější kontrolu nad velikostí každého segmentu, což se vyhýbá problémům spojeným s fragmentací na vrstvě IP.
U UDP se snažíme neodesílat datové pakety větší než MTU. Je to proto, že UDP je bezspojkový transportní protokol, který neposkytuje spolehlivost a mechanismy opakovaného přenosu jako TCP. Pokud odešleme datový paket UDP větší než MTU, bude fragmentován vrstvou IP pro přenos. Jakmile se jeden z fragmentů ztratí, protokol UDP nemůže provést opakovaný přenos, což má za následek ztrátu dat. Abychom zajistili spolehlivý přenos dat, měli bychom se proto snažit kontrolovat velikost datových paketů UDP v rámci MTU a vyhnout se fragmentovanému přenosu.
Zprostředkovatel síťových paketů Mylinking™Dokáže automaticky identifikovat různé druhy tunelových protokolů VxLAN/NVGRE/IPoverIP/MPLS/GRE atd., lze je určit podle uživatelského profilu a podle výstupu toku tunelu s vnitřními nebo vnějšími charakteristikami.
○ Dokáže rozpoznávat pakety VLAN, QinQ a MPLS.
○ Dokáže identifikovat vnitřní a vnější VLAN
○ Lze identifikovat pakety IPv4/IPv6
○ Dokáže identifikovat tunelové pakety VxLAN, NVGRE, GRE, IPoverIP, GENEVE, MPLS
○ Lze identifikovat fragmentované IP pakety (Podpora identifikace fragmentace IP a podpora opětovného sestavení fragmentace IP adresy za účelem implementace filtrování funkcí L4 u všech fragmentovaných IP paketů. Implementace politiky výstupu provozu.)
Proč je IP a TCP fragmentovaný?
Protože při síťovém přenosu vrstva IP automaticky fragmentuje datový paket, i když vrstva TCP data nesegmentuje, datový paket bude automaticky fragmentován vrstvou IP a přenesen normálně. Proč tedy TCP potřebuje fragmentaci? Není to přehnané?
Předpokládejme, že existuje velký paket, který není na vrstvě TCP segmentován a během přenosu se ztratí. TCP jej sice odešle znovu, ale pouze v celém velkém paketu (ačkoli vrstva IP rozděluje data na menší pakety, z nichž každý má délku MTU). Je to proto, že vrstvě IP nezáleží na spolehlivém přenosu dat.
Jinými slovy, pokud na transportní vrstvě do sítě dojde k fragmentaci dat ze strany transportní vrstvy, vrstva IP je nefragmentuje. Pokud fragmentace neprobíhá na transportní vrstvě, je fragmentace možná na vrstvě IP.
Jednoduše řečeno, TCP segmentuje data tak, aby vrstva IP již nebyla fragmentována, a při opakovaném přenosu se přenesou pouze malé části fragmentovaných dat. Tímto způsobem lze zlepšit efektivitu a spolehlivost přenosu.
Pokud je TCP fragmentovaný, není fragmentovaná i IP vrstva?
Ve výše uvedené diskusi jsme zmínili, že po fragmentaci TCP u odesílatele nedochází k fragmentaci na IP vrstvě. V transportním spojení však mohou existovat další zařízení síťové vrstvy, která mohou mít maximální přenosovou jednotku (MTU) menší než MTU u odesílatele. Proto i když byl paket fragmentován u odesílatele, je fragmentován znovu, když prochází IP vrstvou těchto zařízení. Nakonec budou všechny shardy sestaveny u příjemce.
Pokud dokážeme určit minimální hodnotu MTU v celém spojení a odeslat data v této délce, nedojde k žádné fragmentaci bez ohledu na to, do kterého uzlu jsou data přenášena. Tato minimální hodnota MTU v celém spojení se nazývá hodnota MTU cesty (PMTU). Když IP paket dorazí k routeru a hodnota MTU routeru je menší než délka paketu a příznak DF (Do not Fragment) je nastaven na 1, router nebude schopen paket fragmentovat a může jej pouze zahodit. V tomto případě router vygeneruje chybovou zprávu ICMP (Internet Control Message Protocol) s názvem „Fragmentation Needed But DF Set“. Tato chybová zpráva ICMP bude odeslána zpět na zdrojovou adresu s hodnotou MTU routeru. Když odesílatel obdrží chybovou zprávu ICMP, může upravit velikost paketu na základě hodnoty MTU, aby se opět vyhnul situaci zakázané fragmentace.
Fragmentace IP je nutností a na IP vrstvě je třeba se jí vyhnout, zejména na mezilehlých zařízeních v rámci linky. Proto je v IPv6 fragmentace IP paketů mezilehlými zařízeními zakázána a fragmentaci lze provádět pouze na začátku a na konci linky.
Základní znalost IPv6
IPv6 je verze 6 internetového protokolu, který je nástupcem IPv4. IPv6 používá 128bitovou délku adresy, což umožňuje poskytnout více IP adres než 32bitová délka adresy IPv4. Je to proto, že adresní prostor IPv4 se postupně vyčerpává, zatímco adresní prostor IPv6 je velmi rozsáhlý a dokáže uspokojit potřeby budoucího internetu.
Pokud jde o IPv6, kromě většího adresního prostoru přináší také lepší zabezpečení a škálovatelnost, což znamená, že IPv6 může poskytnout lepší síťový zážitek ve srovnání s IPv4.
Přestože IPv6 existuje již dlouhou dobu, jeho globální zavádění je stále relativně pomalé. Je to především proto, že IPv6 musí být kompatibilní se stávající sítí IPv4, což vyžaduje přechod a migraci. S vyčerpáním adres IPv4 a rostoucí poptávkou po IPv6 však stále více poskytovatelů internetových služeb a organizací postupně zavádí IPv6 a postupně realizuje duální provoz IPv6 a IPv4.
Shrnutí
V této kapitole jsme se hlouběji podívali na to, jak funguje fragmentace a opětovné sestavování IP. Různé datové linky mají různou maximální přenosovou jednotku (MTU). Když velikost paketu překročí limit MTU, fragmentace IP rozdělí paket na několik menších fragmentů pro přenos a po doručení do cíle je pomocí mechanismu opětovného sestavování IP znovu sestaví do kompletního paketu. Účelem fragmentace TCP je zabránit fragmentaci IP vrstvy a znovu přenášet pouze malá data, která byla při opětovném přenosu fragmentována, aby se zlepšila efektivita a spolehlivost přenosu. V transportním spojení však mohou existovat další zařízení síťové vrstvy, jejichž MTU může být menší než MTU odesílatele, takže paket bude na IP vrstvě těchto zařízení stále znovu fragmentován. Fragmentaci na IP vrstvě je třeba se co nejvíce vyhnout, zejména na mezilehlých zařízeních v rámci linky.
Čas zveřejnění: 7. srpna 2025