Команда traceroute — это фундаментальный инструмент сетевой диагностики, используемый для отслеживания пути, который пакеты проходят от вашего компьютера до целевого хоста. Показывая каждый «прыжок» или маршрутизатор на пути, она помогает выявить узкие места в сети и устранить проблемы с подключением. Утилита traceroute linux незаменима для любого системного администратора или сетевого инженера.
Как работает Traceroute
Механизм, лежащий в основе traceroute, заключается в умном манипулировании полем Time To Live (TTL) в заголовке IP-пакета. Процесс работает следующим образом:
tracerouteотправляет зондирующий пакет со значением TTL, равным 1.- Первый маршрутизатор на пути получает пакет, уменьшает TTL до 0 и отбрасывает его. Затем маршрутизатор отправляет обратно на ваш компьютер сообщение ICMP «Time Exceeded» (Время истекло).
tracerouteзаписывает IP-адрес маршрутизатора и время кругового пути.- Затем он отправляет еще один пакет, на этот раз с TTL, равным 2. Этот пакет успешно проходит первый маршрутизатор, но отбрасывается вторым маршрутизатором, который снова отправляет сообщение «Time Exceeded».
- Этот процесс повторяется, при этом TTL увеличивается на единицу для каждого последующего набора пакетов. Составляя список маршрутизаторов, которые возвращают сообщения «Time Exceeded»,
tracerouteотображает весь маршрут. - Процесс завершается, когда пакеты наконец достигают цели, которая отвечает сообщением ICMP «Echo Reply» (Эхо-ответ).
Понимание вывода Traceroute
Рассмотрим пример вывода команды traceroute, запущенной в терминале Linux:
$ traceroute google.com
traceroute to google.com (216.58.216.174), 30 hops max, 60 byte packets
1 192.168.4.254 (192.168.4.254) 0.028 ms 0.009 ms 0.008 ms
2 100.64.1.113 (100.64.1.113) 1.227 ms 1.226 ms 0.920 ms
3 100.64.0.20 (100.64.0.20) 1.501 ms 1.556 ms 0.855 ms
Каждая пронумерованная строка представляет собой «прыжок» по сетевому пути. Вот как интерпретировать информацию:
- Номер прыжка: Первый столбец (например,
1,2,3) указывает последовательность маршрутизатора на пути. - Имя маршрутизатора и IP-адрес: Следующая часть показывает имя хоста (если его удалось разрешить) и IP-адрес маршрутизатора на этом прыжке.
- Время кругового пути (RTT): Последние три столбца показывают время кругового пути для каждого из трех зондирующих пакетов, отправленных на этот конкретный узел. Эти времена, измеряемые в миллисекундах (мс), помогают оценить задержку на каждом этапе пути.
Эффективное использование команды traceroute linux дает бесценное представление о производительности и структуре вашей сети.