Показывает ли traceroute / tracert каждый прыжок или пропускает / скрывает некоторые детали пути?


35

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

Это противоречит всему, что я могу найти на traceroute. Насколько мне известно, traceroute работает, отправляя пакеты ICMP (или UDP) определенному месту назначения с TTL от 0 -> n до тех пор, пока оно не будет достигнуто. Тестовые пакеты, которые отправляются по тайм-ауту в каждом месте по пути подряд, производят ICMP-ответ «превышено время» и, наконец, сообщение «Порт недоступен» при достижении пункта назначения.

Я понимаю недостатки трассировки - например, трафик трассировки может быть заблокирован определенными шлюзами, или TTL ответного пакета может быть установлен на оставшийся TTL зонда, в результате чего он никогда не возвращается отправителю.

Тем не менее, после долгих исследований я не могу найти что-либо, ссылающееся на traceroute, являющееся неточным в случае traceroute, который всегда возвращает один и тот же путь. Точно так же, ничто не указывает на наличие каких-либо «лишних» прыжков, о которых не сообщало traceroute (кроме * * * прыжков, для которых истекло время без ответа).

Я открыт для обсуждения, и мне искренне интересно узнать ответ на этот вопрос.


1
просто чтобы быть понятным, первый пакет icmp / udp будет иметь TTL 1, а не 0
расцвет

1
Это может вас заинтересовать: nanog.org/meetings/nanog47/presentations/Sunday/…
Codey

Ответы:


40

Трассировка маршрута покажет вам, сколько переходов layer3 вы достигаете от A до B.

Однако вы могли бы пройти через сотни переключателей между ними. Вы также можете проходить через 10 ISP-маршрутизаторов, использующих vpn уровня 2, который отображается как один прыжок. Сеть MPLS может скрывать свои внутренние данные или показывать вам свои внутренние. Вы также можете иметь прозрачные брандмауэры на пути.

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

Это не происходит все время, хотя. Если вы видите 15 прыжков, это может быть 15 прыжков.

Это базовый пример MPLS, настроенного в отношении TTL: http://www.juniper.net/techpubs/en_US/junos13.2/topics/reference/configuration-statement/no-propagate-ttl-edit-protocols -mpls.html


Спасибо! Ситуации, которые вы указали, определенно дают больше информации о том, что может отсутствовать traceroute.
WilHall

1
Не стоит беспокоиться. Даже такие вещи, как туннель GRE, могут скрывать подстилающий хмель, так как сам заголовок GRE имеет свой собственный TTL
расцвет

18

Любое устройство, которое не уменьшает значение поля IP TTL, не будет отображаться в пути traceroute. Например, межсетевой экран Cisco ASA может быть настроен для уменьшения поля IP TTL для пакетов, проходящих через межсетевой экран ( установите значение параметраmentment-ttl ). По умолчанию TTL не уменьшается, таким образом скрывая (ну, в некоторой степени) межсетевой экран.


13

Traceroute не будет показывать вам устройства, которые не уменьшают поля TTL дейтаграммы IP.

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

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


Это не такая отдаленная возможность, все, что нужно, это одна сеть, которая использовала бы частные IP-адреса для своих соединений между маршрутизаторами, и другая, которая отбрасывала все пакеты с частными IP-адресами.
Питер Грин
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.