Furcsa traceroute és hálózat

 ( mljava | 2010. február 22., hétfő - 13:59 )

Sziasztok!

Van egy kis gondom a hálózatunkal pontosabban szerintem a szolgáltató hálózatával.
Átlagba 150-250ms a ping és 20-40% a veszteség.

A háló WiFi. Az én gépemtől pingelve a szolgáltató átjáróját tökéletes. 1ms alatt van veszteségmentesen.
Ebből arra következtetek, hogy nálam minden ok. A WiFi-vel is.

Szerettem volna traceroute megnézni, hogy hol nő meg a válaszidő. Na nem sikerült.
Bármit is próbálok:
# traceroute index.hu
traceroute to index.hu (217.20.130.97), 30 hops max, 40 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 *
......

Szerintetek mi lehet a gond?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

"Szerintetek mi lehet a gond?"
Például a tűzfaladon nem engeded ki a traceroute által alapértelmezetten használt UDP porttartományt, vagy nem engeded vissza az ICMP Destination Unreachable üzeneteit. Vagy ha nincs tűzfalad, akkor a szolgáltató oldala nem válaszol erre, illetőleg nem engedi tovább vagy vissza az előbb említett forgalmat.

Javaslat: ilyenkor használj ICMP-t a pinghez hasonlóan, egyes traceroute implementációk esetén megadható a használt protokoll és port (pl.: traceroute -P icmp).

Most a munkahelyemen próbálgatom. Az említett eset az otthoni.

De itt sem megy a traceroute. Legjobb esetben csak a kiinduló ip-t és a cél ip-t látom. Hogy a kettő között mi történt arra semmi válasz.
Elvileg az én routerem át kell, hogy engedje. Nincs korlátozás beállítva.

Én ezt nem éertem. Ping megy Traceroute nem?

:# ping -c 10 google.com
PING google.com (74.125.87.99) 56(84) bytes of data.
64 bytes from hb-in-f99.1e100.net (74.125.87.99): icmp_seq=1 ttl=54 time=29.9 ms
64 bytes from hb-in-f99.1e100.net (74.125.87.99): icmp_seq=2 ttl=54 time=28.3 ms
64 bytes from hb-in-f99.1e100.net (74.125.87.99): icmp_seq=3 ttl=54 time=28.4 ms
64 bytes from hb-in-f99.1e100.net (74.125.87.99): icmp_seq=4 ttl=54 time=29.4 ms
64 bytes from hb-in-f99.1e100.net (74.125.87.99): icmp_seq=5 ttl=54 time=29.5 ms
64 bytes from hb-in-f99.1e100.net (74.125.87.99): icmp_seq=6 ttl=54 time=29.8 ms
64 bytes from hb-in-f99.1e100.net (74.125.87.99): icmp_seq=7 ttl=54 time=27.9 ms
64 bytes from hb-in-f99.1e100.net (74.125.87.99): icmp_seq=8 ttl=54 time=29.4 ms
64 bytes from hb-in-f99.1e100.net (74.125.87.99): icmp_seq=9 ttl=54 time=28.9 ms
64 bytes from hb-in-f99.1e100.net (74.125.87.99): icmp_seq=10 ttl=54 time=29.5 ms

--- google.com ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9002ms
rtt min/avg/max/mdev = 27.901/29.147/29.972/0.687 ms

Tudomásom szerint a windows tracert ICMP csomagot használ.
tracert google.com

1 * * * A kérésre nem érkezett válasz
...
...
...
10 28ms 27ms 29ms hb-in-f99.1e100.net [74.125.87.99]

Na, de mi volt 2-9 -ig? Ezt miért nem mutatja?

Pedig tök egyszerű, a pingedet a közbeeső routerek tovább forwardolják gond nélkül, egészen a célig. Viszont a local processing icmp-re nincs valasz, mert vagy le van tiltva a te irányodból, vagy ez mar meghaladja az icmp-threshold értéket és ezért dobja el.

A tűzfal biztos, hogy nem fogja meg. Megnéztem a router-em és ott sincs ez korlátozva. Nem értem :(

nezd meg a szolgaltatod routeret is (hint: ha mar ott jarsz, meg is oldhatod a problemadat)

Tyrael

És, ha ez nem fog menni akkor hogyan derítem ki, hogy hol nő meg a válaszidőm illetve, hogy merre járok a neten?

esetleg jelentsd be hibára a szolgáltatónak... ;)

válaszidő és csomagvesztés monitorozására jó egy házi minipc és smokeping :)
http://oss.oetiker.ch/smokeping/

a kerdes alapvetoen bonyolult, es az IP mukodesenek mely lelkivilagaba vezet.

probalkozhatsz a tcptraceroute -val, az mtr -rel, vagy a traceproto -vel, kideriteni a .. mit is?

Ha egy tavoli gep rosszul pingik (nagy csomagveszteseg, nagy kesleltetes) akkor annak okai lehetnek:
- a celgep (processzora) leterhelt, es nem tud idoben valaszolni a ping (icmp echo) -ra
- a celgephez meno utolso halozati elem (ethernetkabel) leterhelt, es nem fer bele a csomagod
- egy kozbenso router leterhelt, es nem tud routolni
- egy kozbenso halozati elem (ethernetkabel vagy mi) leterhelt, es nem fer bele a csomagod

Van olyan is, hogy a celgep jol pingik, problemamentesen, azonban a kozbenso routerek tulterheltek. Hardwerbol tovabbitjak a csomagokat (az meg megy) de a sajat pingukre nem tudnak mar valaszolni (az cpu-bol menne). Ilyenkor az mtr hamis erteket mutat.
Erdemes neha root-kent a

ping -Rn remotehost

azonban a legtobb eszkoz mar nem reagal a 'recordroute'-ra.

a sima ping kimenete azonban mutat egy 'ttl=' erteket, es ha tudod, hogy a tavoli host milyen oprendszer, es varhatoan milyen ttl -lel inditja utnak a 'icmp echo reply' csomagot, akkor lathatod belole, hogy hany hop tavolsagban van a visszaut. Az odautat pedig a (tcp|icmp)traceroute, segitsegevel tudod becsulni (a tavolsagot marmint). Nem feltetlenul azonos az oda-, es a visszaut.

subscribe

Tyrael

Probáld úgy, hogy
traceroute -I $CELIP
A -I icmp csomagot használ, mint a ping.