Подробности команды traceroute

Как я вижу в википедии, утилита traceroute отправляет последовательность пакетов по протоколу ICMP группами по три и с увеличением значения TTL для идентификации сетевых маршрутизаторов. В нем также говорится, что интернет-протокол не гарантирует, что все пакеты проходят по одному и тому же маршруту.

Итак, у меня есть три вопроса:

1- Почему три пакета отправляются для каждого маршрутизатора?

2. Что произойдет, если эти три пакета с одинаковым значением TTL пройдут разными путями маршрутизации?

3- Когда эти маршруты могут быть изменены во время для разных групп пакетов, как результат может быть полезен?!

заранее спасибо

2 ответа

Решение
  1. Основное преимущество заключается в том, что вы получите ответ даже при потере пакета. Другие преимущества включают в себя получение большего количества точек данных за время прохождения туда-обратно и просмотр, если разные пакеты принимают разные маршруты.

  2. Это напечатало бы шлюз для каждого пакета.

  3. Смысл в запуске traceroute состоит в том, чтобы увидеть, куда отправляются пакеты, если ваш traceroute показывает постоянно изменяющийся маршрут, тогда остальные пакеты делают то же самое. Мне кажется, что это полезно знать, так как изучение вашего маршрута по сути статично.

    Тем не менее, то, что маршруты не могут измениться, не означает, что они меняются. Большую часть времени, когда вы запускаете traceroute, вы получаете один и тот же маршрут. Изменение маршрутов происходит в основном при переходных состояниях, например, когда данный маршрутизатор становится слишком занятым.

  • Он часто использует UDP или даже TCP (tcptraceroute часто более полезен, или опцию -t в некоторых реализациях) для исходящих пакетов, но во всех случаях полагается на сообщения превышения ICMP TTL.

  • Traceroute - это умный взлом tcp/ip, а не встроенная функция для обнаружения маршрутов. Это была умная запоздалая мысль.

  • Вы можете указать разное количество отправляемых пакетов - не обязательно три.

  • Как сказал Коух, маршруты могут меняться, но не обязательно так часто. Существует множество причин, по которым traceorute может давать ошибочные результаты - из-за того, что ICMP имеет более низкий приоритет или полностью заблокирован - важная часть состоит в том, чтобы понять механизм его работы, что он такое и что он вам не говорит.

Другие вопросы по тегам