Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Upravení velikosti MTU

Dobrý den, obrátil se na mne kamarád, že zase viděl na internetu nějakou chytrou radu, jak mít "rychlejší internet a lepší ping". Často se na mne obrací a většinou jsem mu schopný říct, zda mu nějaká změna pomůže nebo ne (většinou jsou to samozřejmě kraviny). Tohle mě nicméně celkem zaujalo, asi i protože se v tom moc nevyznám, tak prosím o drobné dovysvětlení někým znalejším.

O co tedy jde? MTU (Maximum transmission unit). Konkrétně o to, upravit MTU, aby nedocházelo k fragmentaci. Návod je např. zde Find-Proper-MTU-Size-for-Network
Tady se dostávám k tomu, co mne zajímá. Na webu jsem se dočetl, že jakmile pomocí pingu dojdete ke konkrétní velikosti MTU, kdy už nedochází k fragmentaci, tak přidáváte 28 bajtů kvůli "IP/ICMP headers" a máte výslednou velikost MTU. Co jsem se díval na nějaké diskuze, většinou lidem vyšlo 1472. Když k tomu přičteme ty IP a ICMP hlavičky, tak jsme na 1500 a vidíme, že není jak měnit, protože výchozí hodnota ve Windows je na 1500 nastavena. Kamarádovi ovšem vyšlo 1432, tedy by dle ukázky měl nastavit MTU na 1460. Po chvíli hledání jsem narazil na to, že sice hlavička IPv4 je 20 bajtů (reálně nicméně může být 20-60 bajtů), ale hlavička IPv6 je 40 bajtů. Vzhledem k tomu, že od Vodafone má adresu IPv6, není možné, že je pak třeba započítat do té "rezervy" pro hlavičky také těch 40 bajtů IPv6 hlavičky? Jediné, co jsem k tomu dohledal, je jeden příspěvek na redditu, který mi připadá, že právě tohle ukazuje.

1,432 bytes payload
+ 8 byte ICMP header
+ 40 byte IPv6 header
+ 20 byte IPv4 tunnel header
= 1500 bytes

Z toho by mi vyplynulo, že i s tím, že mu vyšlo 1432, tak reálně těch 68 bajtů je ta "rezerva" pro hlavičky, a tedy opět lepší nechat MTU na výchozí hodnotě 1500.
Upřímně jsem mu řekl, ať to nechá být. Nemyslím, že by mu tohle jakkoliv pomohlo, zvlášť, když reálně nemá žádný problém. Nicméně mi tohle přijde celkem zajímavé a proto jsem se chtěl zeptat i zde.
Moc se omlouvám, pokud jsem napsal nějaké kraviny. Vážně se v tom moc nevyznám a tohle jsou jen věci, co jsem tak posbíral po internetu, ale bez nějakých hlubších znalostí. Nicméně jak jsem psal, docela mne to zajímá, takže pokud by někdo věděl, zda ta úvaha pro větší rezervu (kvůli IPv6) u MTU, je správná, budu rád za potvrzení a případné dovysvětlení.

Děkuji

Předmět Autor Datum
velikost MTU se upravuje automaticky na základě informací od routeru (pokud je tento dobře nakonfigu…
touchwood 24.01.2024 05:57
touchwood
Děkuji. Jsem zase o něco málo chytřejší :)
Baban 24.01.2024 23:19
Baban
Podobné návody vídávám snad už tak 25 let (tj. od doby, kdy mám doma internet). Párkrát (hlavně zpoč…
Wikan 24.01.2024 07:45
Wikan
Souhlasím, že většinou jsou to věci, které reálně nic neovlivní, ale není tomu tak vždy. Obecně MS l…
Baban 24.01.2024 23:18
Baban
MS v tomto ohledu nic neupravuje, jeho network stack už roky vychází z BSD, tudíž tam opravdu není c… poslední
touchwood 25.01.2024 08:22
touchwood

velikost MTU se upravuje automaticky na základě informací od routeru (pokud je tento dobře nakonfigurován), pokud hostitel neblokuje ICMP pakety. Ručně omezovat velikost paketu zcela univerzálně je nesmysl. Kromě toho že si blokuješ výkon v LAN, je tu ještě podstatnější rozdíl: nikdy nevíš jakou velikost paketu podporuje "druhá strana" respektive cesta k ní.

Viz https://en.wikipedia.org/wiki/Path_MTU_Discovery

Máš tam vysvětleno i to, jak to chodí u ipv6.

Souhlasím, že většinou jsou to věci, které reálně nic neovlivní, ale není tomu tak vždy. Obecně MS logicky nastavuje systém tak, aby fungoval na co nejširším spektru uživatelů. To ale vede k tomu, že je tam spousta věcí, které někdo prostě nepotřebuje a pak nevidím důvod si systém neupravit podle sebe. Samozřejmě za předpokladu, že člověk chápe co a proč upravuje a né jen slepě následuje tutoriál na Youtube. Pro běžného uživatele toto ale nemá cenu řešit.

MS v tomto ohledu nic neupravuje, jeho network stack už roky vychází z BSD, tudíž tam opravdu není co "masivně zlepšovat," protože nakonec všechno řídí normy RFC. Daleko podstatnější je v tomto ohledu to, jak je nastaven domácí síťový HW (typicky router). Nicméně s ohledem na dnešní rychlá připojení je prakticky už úplně jedno, jestli se paket v routeru splitne na dva (velký a malý), to mělo smysl v dobách (řádově) kilobitových linek, kdy hlavička paketu a třístavový protokol generovaly podstatnou režii vůči dostupné šířce pásma a routery byly rychlé jako dnešní kalkulačky.

Zpět do poradny Odpovědět na původní otázku Nahoru