Maximum transmission unit: Porovnání verzí

Z Wikipedie, otevřené encyklopedie
Smazaný obsah Přidaný obsah
m překlep v číslu RFC
→‎Fragmentace paketů: - přepracování
Řádek 4: Řádek 4:


== Fragmentace paketů ==
== Fragmentace paketů ==
U přenosového protokolu [[Internet Protocol|IP]] je při směrování paketu do přenosového kanálu s nižším MTU než je délka paketu, provedena fragmentace paketu. V hlavičce všech fragmentů kromě posledního je nastaven příznak ''More fragments'', identifikátor je zachován a příslušným způsobem je nastavena položka ''Fragment offset''. Opravena je položka ''Total Length''.
U přenosového protokolu [[Internet Protocol|IPv4]] může být při směrování paketu do přenosového kanálu s nižším MTU než je délka paketu, provedena fragmentace paketu. V hlavičce všech fragmentů kromě posledního je nastaven příznak ''More fragments'', identifikátor je zachován a příslušným způsobem je nastavena položka ''Fragment offset''. Opravena je položka ''Total Length''.


Fragmenty sestavuje zásadně až příjemce, protože každý fragment může využít v síti jinou cestu. Již fragmentované pakety lze dále fragmentovat. Fragmentace působí potíže zejména u vyšších protokolů, kdy je kvůli ztrátě 1 fragmentu nutné přenášet celý chybějící celek. Proto [[IPv6]] místo fragmentace příliš dlouhé pakety zahazuje.
Fragmenty sestavuje zásadně až příjemce, protože každý fragment může využít v síti jinou cestu. Již fragmentované pakety lze dále fragmentovat. Fragmentace působí potíže zejména u vyšších protokolů, kdy je kvůli ztrátě jednoho fragmentu nutné přenášet celý chybějící celek. Nehodí se zejména pro transportní protokol [[TCP]], jehož segmenty je možné nadimenzovat na MTU linky tak, aby fragmentace nebyla potřebná. K tomu slouží [[objevování MTU cesty]]. V takovém případě jsou IP datagramy vysílány s příznakem ''Do not fragment'' (nefragmentovat) a pokud některý router potřebuje provést fragmentaci (která je zakázána), je pomocí protokolu [[ICMP]] oznámena odesílateli chyba, takže může svoje MTU opravit. Stejně se chová i protokol [[IPv6]], u kterého routerům není povoleno fragmentovat datagramy (fragmentaci však nadále může provádět odesílatel).


Někdy není fragmentování vhodné nebo dokonce příjemce fragmentované datagramy odmítá. V takovém případě je možné, aby bylo MTU pro [[TCP]] spojení nastaveno u odesílatele na menší hodnotu pomocí manipulace s položkami MSS (Maximum Segment Size) na hraničních routerech. Vysílající strana si obecně sama může zjistit maximální možnou velikost MTU na trase pomocí metody [[Path MTU discovery]], avšak to je nutné zajistit na aplikační úrovni (implementací v tom kterém programu). Před započetím komunikace je pak vyslán datagram s nastaveným příznakem ''Do not fragment'' (nefragmentovat) a pokud některý router potřebuje provést fragmentaci (která je zakázána), je pomocí protokolu [[ICMP]] oznámena odesílateli chyba, takže vysílající může svoje MTU opravit.
Proces objevování MTU cesty v některých případech selhává, zejména z důvodu blokování potřebných [[ICMP]] zpráv. V takovém případě je možné, aby bylo MTU pro [[TCP]] spojení nastaveno u odesílatele na menší hodnotu pomocí manipulace s položkami MSS (Maximum Segment Size) na routerech.


== Reference ==
== Reference ==

Verze z 24. 6. 2014, 17:47

Maximum transmission unit (MTU, maximální přenosová jednotka) je v informatice označení pro maximální velikosti IP datagramu, který je možné vyslat daným síťovým rozhraním. Obvyklá hodnota MTU je 1500 bajtů, což je standardní MTU pro široce rozšířený Ethernet. Mezi některými místy počítačové sítě může být MTU nastaveno na nižší hodnotu (například spojených vytáčeným připojením, tunelem, VPN) nebo naopak vyšší hodnotu (tzv. jumbo frame). Různé síťové protokoly mají požadavky na minimální velikost datagramu, kterou musí být síťové rozhraní schopno doručit. V případě IPv4 je to 68 bajtů[1], v případě IPv6 pak 1280 bajtů[2].

MTU by nemělo být zaměňováno s minimální velikostí datagramu, kterou mají být síťová zařízení schopna zpracovat. V případě IPv4 je to 576 bajtů[3], v případě IPv6 pak 1500 bajtů[4].

Fragmentace paketů

U přenosového protokolu IPv4 může být při směrování paketu do přenosového kanálu s nižším MTU než je délka paketu, provedena fragmentace paketu. V hlavičce všech fragmentů kromě posledního je nastaven příznak More fragments, identifikátor je zachován a příslušným způsobem je nastavena položka Fragment offset. Opravena je položka Total Length.

Fragmenty sestavuje zásadně až příjemce, protože každý fragment může využít v síti jinou cestu. Již fragmentované pakety lze dále fragmentovat. Fragmentace působí potíže zejména u vyšších protokolů, kdy je kvůli ztrátě jednoho fragmentu nutné přenášet celý chybějící celek. Nehodí se zejména pro transportní protokol TCP, jehož segmenty je možné nadimenzovat na MTU linky tak, aby fragmentace nebyla potřebná. K tomu slouží objevování MTU cesty. V takovém případě jsou IP datagramy vysílány s příznakem Do not fragment (nefragmentovat) a pokud některý router potřebuje provést fragmentaci (která je zakázána), je pomocí protokolu ICMP oznámena odesílateli chyba, takže může svoje MTU opravit. Stejně se chová i protokol IPv6, u kterého routerům není povoleno fragmentovat datagramy (fragmentaci však nadále může provádět odesílatel).

Proces objevování MTU cesty v některých případech selhává, zejména z důvodu blokování potřebných ICMP zpráv. V takovém případě je možné, aby bylo MTU pro TCP spojení nastaveno u odesílatele na menší hodnotu pomocí manipulace s položkami MSS (Maximum Segment Size) na routerech.

Reference

  1. RFC 791, strana 25
  2. RFC 2460, strana 24
  3. RFC 791, strana 13
  4. RFC 2460, strana 25

Související články

Externí odkazy