Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Problém s velkými pakety

Zdravim,
jiz delsi dobu si nekteri uzivatele meho webu (www.upczone.cz) stezuji, ze se jim web jevi jako nedostupny,
po dlouhe dobe hledani priciny jsme nakonec prisli na to, ze problem maji ti, kteri maji ve svem PC zapnoutu fukci Jumbo frame, tedy posilani velkych paketu.
Problem je ovsem v tom ze tyto pakety nedorazi na server webohostingu kde bezi muj web,
pomoci testovani pres prikaz PING (ping 88.86.107.79 -l 1473) jsem zjistil, ze pakty vetsi jak 1500 byte (>1472), server odmitne, mely by se fragmentovat, ale to se nestane,
pritom na jine weby, napr. seznam.cz lze poslat paket o jakekoliv velikosti a bezproblemu dorazi.

Resil jsem proto zmineny problem s provozovatelem webhostingu (mujhost.net), ale ten vytrvale tvrdi, ze vse proverili a ze u nich je vse vporadku a zavada musi byt nekde jinde.

Zkousel jsem postupne pingat jednotlive prvky po ceste ne tento server, ale na vsechny pakety prosli, az na ten posledni ne.

Proto se chci zeptat jestli je zde nekdo, kdo teto problematice opravdu rozumi a mohl by me poradit kde by mohla byt pricina tohoto problemu, protoze sam uz si opravdu nevim rady.

Jinak zmineny problem resime na mem webu zde: viewtopic.php

Předmět Autor Datum
tracert -d www.upczone.cz ... 6 25 ms 33 ms 25 ms 88.86.97.89 7 26 ms 25 ms 25 ms 88.86.96.130 8 25…
touchwood 24.05.2012 22:24
touchwood
Neni to s tim MTU nahodou tak, ze pri pingu -l 1500 byte, značí velikost obsahu paketu, ale nezapočí…
tomus. 25.05.2012 11:56
tomus.
nerozumiem celkom, ako to myslis, ze MTU je nastavena spravne. Ako ti touchwood vysvetlil vyssie, tv…
nl12345... 25.05.2012 13:28
nl12345...
To je úplně jedno. Technicky musí být jasně na VŠECH strojích určeno, jaké maximální MTU mohou přené… poslední
touchwood 25.05.2012 14:01
touchwood
vyzkoušel jsem ping 88.86.107.79 -l 1473 server neodpověděl. ping 88.86.107.79 -l 1472 je funkční. t…
kmochna 25.05.2012 13:57
kmochna
tracert -d www.upczone.cz

...
  6    25 ms    33 ms    25 ms  88.86.97.89
  7    26 ms    25 ms    25 ms  88.86.96.130
  8    25 ms    25 ms    25 ms  88.86.107.79

Trasování bylo dokončeno.

Opingáme posledního hostitele před samotným serverem:

C:\>ping 88.86.96.130 -l 1500

Příkaz PING na 88.86.96.130 - 1500 bajtů dat:
Odpověď od 88.86.96.130: bajty=1500 čas=32ms TTL=248
Odpověď od 88.86.96.130: bajty=1500 čas=32ms TTL=248
Odpověď od 88.86.96.130: bajty=1500 čas=37ms TTL=248

Ale Hlaváček mlčí...:

C:\>ping 88.86.107.79 -l 1500

Příkaz PING na 88.86.107.79 - 1500 bajtů dat:
Vypršel časový limit žádosti.
Vypršel časový limit žádosti.
Vypršel časový limit žádosti.
Vypršel časový limit žádosti.

Statistika ping pro 88.86.107.79:
Pakety: Odeslané = 4, Přijaté = 0, Ztracené = 4 (ztráta 100%),

Z toho plyne, že na posledním nebo předposledním hostiteli je chybně nastaven MTU plus není nastaveno správný advertising MSS/MTU (na linuxu typicky přes iptables)

Neni to s tim MTU nahodou tak, ze pri pingu -l 1500 byte, značí velikost obsahu paketu, ale nezapočítává velikost IP a ICMP hlavičky, které mají velikost 20 a 8 byte ?
Velikost paketu je tedy o 28 byte větší, 1500 + 28 = 1528 Byte,
naopak kdyz jsem zkousel odeslat paket mensi nez 1473 (1472+28=1500) tak vzdy prosel,
takze podle meho laickeho nazoru bude hodnota MTU nastavena spravne.

To je úplně jedno. Technicky musí být jasně na VŠECH strojích určeno, jaké maximální MTU mohou přenést daným síťovým spojem. Pokud je paket větší, musí dojít buď k:
1. jeho splitu a odeslání ve dvou (či více paketech), tak aby "prošel" limitem MTU
2. odeslání ICMP paketu "too large" - typ 3, kód 4, který způsobí na odesílající straně Path MTU discovery (tj. pokus o odeslání paketu s menším MTU)

Problém bodu 1. je ten, že uměle zvyšuje zátěž sítě
Problém bodu 2. je ten, že dnešní internetoví domácí umělci s jumbopakety mají taky různé hyper-super firewally, ve kterých mají pozakazováno všechno co neznají, včetně ICMP - pak samozřejmě tato informace k nim nikdy nedoputuje.

Jak z toho ven - donutit ISP aby zvedl MTU výše (na velikost jumbo frame), popř. zavedl frag bit. Donutit frajery nastavit si firewall, to je asi už z říše fantazie ;-)

edit: a samozřejmě je otázka, zda ICMP paket není zahozen někde po cestě.

edit2: k dotazu na velikost 1500b - klidně můžeš použít -l 2500 nebo -l 6000. Na podstatě to nic nemění, už těch 1500b (+ICMP hlavička) je spolehlivě za standardem ethernetu, což je MTU 1500b.

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