Перейти к содержимому

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

2

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

traceroute google.com 

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

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

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

5 921 просмотр
Bulat M. спросил 9 лет назад
B 147

3 ответа

2

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

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

Alejandra Moreno ответил 9 лет назад
A 612
2
Принятый ответ

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

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

Превышение времени означает, что больше нет прыжков, чтобы прыгать через маршрутизаторы вдоль пути?

Bulat M. · 9 лет назад · 0

Как я понял речь идет не о времени, а о хозяевах?

Bulat M. · 9 лет назад · 0

Опечатка, должно быть хмель.

Bulat M. · 9 лет назад · 0

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

Ben Voigt · 9 лет назад · 2
Ben Voigt ответил 9 лет назад
B 5 437
1

Это означает, что время ожидания пакета истекло, по умолчанию время ожидания составляет 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. · 9 лет назад · 0

Пакеты трассировки всегда имеют срок действия TTL, вот как это работает. TTL имеет единицы прыжков, а не секунд.

Ben Voigt · 9 лет назад · 2

А какой протокол по умолчанию используется для отправки запросов?

Bulat M. · 9 лет назад · 0

traceroute в linux по умолчанию использует UDP, но вы можете переключиться на другие протоколы, tracert в windows использует ICMP, traceroute работает в течение не более 30 прыжков и не остановится раньше, если не получен ответ от последнего перехода, он достигнет пункта назначения менее чем за 30 прыжки, он отправляет пакеты с TTL, увеличенным на единицу для каждого прыжка, и прыжки являются теми, которые выполняют маршрутизацию к следующему прыжку.

rAlen · 9 лет назад · 0
rAlen ответил 9 лет назад
R 1 760