Что означает N * * * в выводе traceroute?

5797
Bulat M.

Требуется выполнить простую трассировку в учебных целях:

traceroute google.com 

Это дало мне среди других строк несколько строк, которые выглядят следующим образом

... 15 * * * 16 * * * 17 * * * ... few similar lines 

Что это значит?

2

3 ответа на вопрос

2
Alejandra Moreno

Все реализации traceroute полагаются на пакеты ICMP, отправляемые отправителю.

Эта программа пытается отследить маршрут, запустив тестовые пакеты UDP с небольшим ttl, а затем прослушивая ответ ICMP «превышено время» от шлюза.

2
Ben Voigt

Это показывает, что время ожидания сообщения ICMP «Превышено время» (истекло TTL) истекло.

Это может произойти в конце линии, если маршрутизация была в конечном итоге неудачной (возможно, конечный компьютер выключен), или в любой точке маршрута, если маршрутизатор на этом прыжке не генерирует ICMP-уведомления «Превышено время». Соблюдение TTL является обязательным, но уведомление отправителя о том, что пакет был отброшен из-за того, что TTL достигнет нуля, является необязательным.

Превышение времени означает, что больше нет прыжков, чтобы прыгать через маршрутизаторы вдоль пути? Bulat M. 7 лет назад 0
Как я понял речь идет не о времени, а о хозяевах? Bulat M. 7 лет назад 0
Опечатка, должно быть хмель. Bulat M. 7 лет назад 0
Обычно происходит то, что программа traceroute отправляет UDP-пакет с низким TTL и следит за ответом ICMP. Этот ответ может никогда не прийти, если какой-либо маршрутизатор на пути блокирует ICMP (межсетевой экран) или просто не генерирует их. По этой причине traceroute не ждет ответа вечно, а настраивает время ожидания (время в часах, а не скачки), прежде чем пытаться выполнить следующий пакет. Ben Voigt 7 лет назад 2
1
rAlen

Это означает, что время ожидания пакета истекло, по умолчанию время ожидания составляет 5 секунд, и если ответ не получен в это время, он показывает звездочку и переходит к следующему прыжку. Время ожидания может истечь из-за того, что маршрутизатор на этом прыжке блокирует трафик или из-за того, что не может найти маршрут к IP следующего перехода.

Вы можете использовать -w для увеличения периода ожидания.

-w waittime Set the time (in seconds) to wait for a response to a probe (default 5.0 sec). 

Вы также можете попытаться использовать разные протоколы для переключения между UDP, ICMP и TCP, так как иногда маршрутизаторы блокируют один из них, но допускают протокол другого типа.

 -I Use ICMP ECHO for probes  -T Use TCP SYN for probes  -U Use UDP datagrams for probes (it is default). Only UDP method is allowed for unprivileged users. 
1. «или потому что он не может найти маршрут к IP следующего перехода», если он не может найти маршрут, как он пропускает трафик дальше (traceroute показывает несколько строк после строки «* * *»? Какой протокол используется по умолчанию ? Bulat M. 7 лет назад 0
Пакеты трассировки всегда имеют срок действия TTL, вот как это работает. TTL имеет единицы прыжков, а не секунд. Ben Voigt 7 лет назад 2
А какой протокол по умолчанию используется для отправки запросов? Bulat M. 7 лет назад 0
traceroute в linux по умолчанию использует UDP, но вы можете переключиться на другие протоколы, tracert в windows использует ICMP, traceroute работает в течение не более 30 прыжков и не остановится раньше, если не получен ответ от последнего перехода, он достигнет пункта назначения менее чем за 30 прыжки, он отправляет пакеты с TTL, увеличенным на единицу для каждого прыжка, и прыжки являются теми, которые выполняют маршрутизацию к следующему прыжку. rAlen 7 лет назад 0