Что такое Traceroute?

Знакомство

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

Что такое Traceroute?

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

Как работает Traceroute

  • Запустите Traceroute: Когда Вы запускаете команду traceroute, она начинает с отправки пакета со значением TTL
    1. Этот пакет достигает первого маршрутизатора (first hop), который уменьшает TTL на 1, в результате чего TTL становится равным 0.
    Затем маршрутизатор отбрасывает пакеты, а также отправляет ICMP-сообщение “Время превышено” обратно источнику.
  • Инкрементный TTL: Traceroute отправляет следующий пакет с TTL, равным 2, который достигает второго маршрутизатора, прежде чем быть отброшенным.
    Затем этот процесс продолжается, увеличивая значение TTL на 1 для каждого последующего пакета.
  • Записывайте маршрут и время: Для каждого маршрутизатора, ответившего сообщением “Время превышено”, traceroute записывает IP-адрес маршрутизатора и время прохождения маршрута (RTT).
    Этот процесс продолжается до тех пор, пока пакеты не достигнут узла назначения или не будет достигнуто максимальное значение TTL.
  • Конечный пункт назначения: Как только пакет достигает конечного пункта назначения, он отправляет обратно ICMP-сообщение “Echo Reply”, указывающее на то, что пункт назначения был достигнут.

Использование команды Traceroute

Команда traceroute доступна во многих операционных системах и может быть выполнена непосредственно из интерфейса командной строки.
Вот как ее использовать:

Командная строка Windows/Unix/Mac:

traceroute example.com

Когда Вы выполните команду traceroute, Вы увидите результат, похожий на следующий:

traceroute к example.com (93.184.216.34), максимум 30 переходов, пакеты по 60 байт

1 192.168.1.1 (192.168.1.1) 2,123 мс 1,953 мс 2,054 мс

2 10.10.10.1 (10.10.10.1) 5.234 мс 4.567 мс 4.789 мс

3 172.16.0.1 (172.16.0.1) 12.345 мс 11.987 мс 12.456 мс

4 93.184.216.34 (93.184.216.34) 24.678 ms 23.789 ms 24.123 ms

Интерпретация результатов Traceroute

  • Хопы: Каждая строка в выводе traceroute представляет собой хоп, то есть точку, в которой пакет передается от одного сетевого устройства (обычно маршрутизатора) к другому.
  • IP-адреса: IP-адрес каждого хопа отображается, показывая путь пакета через сеть.
  • Имена хостов: В дополнение к IP-адресам traceroute может отображать имя хоста, связанное с каждым IP-адресом, предоставляя больше информации о каждом сетевом устройстве.
  • Время в пути (Round-Trip Time, RTT): Время, необходимое пакету для прохождения каждого хопа и возвращения к источнику, измеряется в миллисекундах (мс).
    Несколько измерений RTT показаны для каждого хопа, чтобы получить среднее значение.
  • Звездочки (*): Если Вы видите звездочки вместо значений RTT, это означает, что хоп не ответил в течение таймаута.
    Это может указывать на потерю пакетов, фильтрацию или ограничения брандмауэра.

ICMP-пакеты и Traceroute

Traceroute в основном использует ICMP-пакеты для отслеживания маршрута пакетов по сети.
Каждый ICMP-пакет содержит заголовок и полезную нагрузку.
Заголовок содержит такую информацию, как тип ICMP-сообщения, код, контрольная сумма и идентификаторы.
Полезная нагрузка содержит дополнительные данные, которые инструмент traceroute использует для идентификации и отслеживания пакетов.

Важность Traceroute в управлении сетью

  • Выявление узких мест в сети: Traceroute помогает выявить медленные или не реагирующие на запросы маршрутизаторы на пути следования, что может указывать на перегрузку сети или проблемы с оборудованием.
  • Диагностика проблем с маршрутизацией: Показывая путь, который проходят пакеты, traceroute может выявить неоптимальную маршрутизацию или неправильные конфигурации, которые могут быть причиной проблем в сети.
  • Мониторинг производительности сети: Регулярное использование traceroute может помочь сетевым администраторам следить за производительностью и здоровьем сети, обеспечивая эффективную передачу данных.
  • Устранение проблем с подключением: Когда пользователи сообщают о проблемах с подключением, traceroute поможет определить, где именно возникла проблема: в локальной сети, у провайдера или в пункте назначения.
  • Анализ задержек: Измеряя RTT до каждого хопа, traceroute дает представление о том, где на пути возникает задержка, помогая выявить и устранить проблемы с производительностью.

Общие проблемы и решения

  • Высокие значения RTT: Постоянно высокие значения RTT в определенном хопе могут указывать на перегрузку сети или неисправность маршрутизатора.
    Исследуйте затронутый хоп и при необходимости измените маршрутизацию трафика.
  • Потеря пакетов: Звездочки в выводе traceroute означают потерю пакетов.
    Это может быть вызвано перегрузкой сети, фильтрацией или неисправным оборудованием.
    Исследуйте причину потери пакетов и примите меры по ее устранению.
  • Тайм-ауты: Если traceroute прерывается, не достигнув пункта назначения, это может быть связано с брандмауэрами или политиками безопасности, блокирующими ICMP-трафик.
    Проверьте конфигурацию сети и убедитесь, что ICMP-трафик разрешен.
  • Недоступные пункты назначения: Если результаты traceroute показывают, что пункт назначения недостижим, проверьте, нет ли проблем с маршрутизацией, неправильных IP-адресов или настроек брандмауэра, которые могут блокировать трафик.

Лучшие рекомендации по использованию Traceroute

  • Регулярный мониторинг: Регулярно используйте traceroute для мониторинга производительности сети, чтобы устранить потенциальные проблемы до того, как они повлияют на пользователей.
  • Сравните результаты: Запустите traceroute из разных мест и в разное время, чтобы всесторонне просмотреть производительность сети и выявить периодические проблемы.
  • Документируйте результаты: Сохраняйте результаты traceroute, чтобы отслеживать изменения в показателях производительности сети, зафиксированные с течением времени, и выявлять повторяющиеся проблемы.
  • Комбинируйте с другими инструментами: Используйте traceroute вместе с другими инструментами диагностики сети, такими как ping и сетевые анализаторы, чтобы получить полную картину состояния сети.

Дополнительные опции трассировки

Traceroute предлагает различные опции, которые могут предоставить более подробную информацию или адаптировать команду под конкретные нужды:

ICMP Traceroute: Используйте опцию -I (в Linux), чтобы использовать пакеты ICMP Echo Request вместо UDP-пакетов.

traceroute -I example.com

TCP Traceroute: Используйте опцию -T (в Linux), чтобы использовать TCP-пакеты, что может быть полезно для отслеживания пути к определенному порту.

traceroute -T example.com

Максимальное количество хопов: Используйте опцию -m, чтобы указать максимальное количество переходов для трассировки.

traceroute -m 20 example.com

Тайм-аут: Используйте опцию -w, чтобы установить тайм-аут для каждого зонда.

traceroute -w 2 example.com

IPv6 и Traceroute

Traceroute также поддерживает IPv6, позволяя сетевым администраторам диагностировать проблемы с маршрутизацией в сетях IPv6.
Команда для IPv6 traceroute обычно включает опцию для указания IPv6, например, traceroute6 в Linux.

traceroute6 example.com

Tracepath: Альтернатива Traceroute

Tracepath – это еще один инструмент диагностики сети, похожий на traceroute, доступный в системах Linux.
Он работает, отслеживая путь пакетов к месту назначения, но не требует привилегий суперпользователя.
Tracepath автоматически определяет максимальное значение TTL и может использоваться для IPv4 и IPv6.

Узлы и Traceroute

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

Функциональные возможности Traceroute

Основная функция Traceroute заключается в составлении карты маршрута, по которому пакеты проходят через сеть, выделяя каждый промежуточный узел (маршрутизатор) и измеряя задержку до каждого из них.
Эта информация помогает сетевым администраторам понять, где могут возникать задержки или проблемы, способствуя более быстрой диагностике и решению сетевых проблем.

Протокол управляющих сообщений Интернета (ICMP)

Traceroute может использовать протокол Internet Control Message Protocol (ICMP) для выполнения своих диагностических функций.
ICMP необходим для отправки сообщений об ошибках и оперативной информации, указывающей, доступна ли сетевая услуга или доступен ли маршрутизатор.
Используя ICMP, traceroute может предоставлять подробную информацию о пути и производительности пакетов в сети.

заключение

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

Готовы узнать, почему Вам необходимо разрабатывать и использовать наше ключевое усовершенствование traceroute, позволяющее визуально отображать путь пакетов в Вашей сети?
Запишитесь на бесплатную пробную версию сегодня или запланируйте демонстрацию, чтобы увидеть ее в действии!