Что такое traceroute?

«Что такое traceroute?» — вопрос из категории Сети, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

traceroute (в Windows — tracert) — это сетевая диагностическая утилита, которая отображает путь (маршрут), который проходят сетевые пакеты от исходного хоста до целевого, перечисляя все промежуточные маршрутизаторы (хосты). Она измеряет задержку (latency) на каждом "прыжке" (hop) и помогает локализовать проблемы: потерю пакетов, узкие места или сбои маршрутизации.

Принцип работы: Утилита отправляет серию пакетов (обычно UDP, ICMP или TCP SYN) с последовательно увеличивающимся значением TTL (Time To Live). Каждый маршрутизатор на пути уменьшает TTL пакета на 1. Когда TTL достигает 0, маршрутизатор отбрасывает пакет и отправляет обратно отправителю ICMP-сообщение "Time Exceeded". Traceroute фиксирует адрес отправителя этого сообщения и время между отправкой и получением ответа (RTT).

Пример использования и вывода:

traceroute -I -n 8.8.8.8  # -I использует ICMP Echo, -n не резолвит имена
 1  192.168.1.1  1.234 ms
 2  10.10.0.1    5.678 ms
 3  203.0.113.1  12.345 ms
 4  * * *                     # Пакеты потеряны (маршрутизатор не отвечает)
 5  142.250.235.238  25.1 ms
 6  8.8.8.8       26.5 ms

Практическое значение для DevOps-инженера:

  • Диагностика сетевых проблем: Если ping до сервера не проходит, traceroute покажет, на каком именно участке сети (каком хопе) возникает проблема — в вашей локальной сети, у интернет-провайдера или в сети облачного провайдера.
  • Анализ задержек: Помогает выявить узкие места, где задержка неожиданно возрастает.
  • Верификация маршрутизации: Позволяет убедиться, что трафик между VPC, регионами или через VPN идет по ожидаемому пути, а не по неоптимальному маршруту.
  • Альтернативы: В современных облачных средах или контейнерах стандартный traceroute может быть заблокирован. Для диагностики используются другие инструменты: mtr (объединяет ping и traceroute), tcptraceroute, или облачные VPC Flow Logs и трассировщики (AWS X-Ray, GCP VPC Flow Logs).