Как работает traceroute?

Как работает traceroute?
gotoADM.ru – инструменты для диагностики сети.

При проблемах с сетью (не удается подключиться к серверу или рабочей станции, “тормозит” Интернет и т.п.) на помощь придёт утилита traceroute (в Windows – tracert.exe). С ее помощью можно попытаться определить на каком участке IP-сети произошел сбой:

  • упал хост (удаленный сервер);
  • либо у провайдера проблемы;
  • или на данной машине проблемы с IP-соединением.

С помощью traceroute можно исследовать сети, применяя на практике полученные теоретические знания – о маршрутизации, серверах DNS, бэкбонах, системах подсетей, да мало ли о чем еще 😉

Нет времени читать статью?🚀 Заказать диагностику сети и сетевых подключений:📞 8-980-346-05-01 📩 support@gotoADM.ru 💥 Telegram 👍

Как работает traceroute?

Для начала нужно вспомнить формат заголовка IP-пакета, точнее одно из его полей – TTL (Time To Live). Это восьмибитное поле задает максимальное число хопов (hop – “прыжок” – прохождение дейтаграммы от одного маршрутизатора к другому) в течение которого пакет может находиться в сети. Каждый маршрутизатор, 
обрабатывающий эту дейтаграмму, выполняет операцию TTL=TTL-1. Когда TTL становится равным нулю, маршрутизатор уничтожает пакет,
отправителю высылается ICMP-сообщение Time
Exceeded
.

Утилита посылает в направлении заданного хоста пакет с TTL=1, и ждет, от кого вернется ответ time exceeded. Отвечающий записывается как первый хоп (результат первого шага на пути к цели). Затем посылаются последовательно пакеты с TTL=2, 3, 4 и т.д. по порядку, пока при некотором значении TTL пакет не достигнет цели и не получит от нее ответ.

*nix traceroute посылает в сторону заданного хоста UDP-пакеты на произвольный порт – скорее всего не занятый другим сервисом (например 28942, 30471) или на зарезервированный, например 0, умолчанию – 33434. Сначала посылается серия из 3-х таких пакетов с TTL=1, по приходу ответов замеряется время прохождения и определяется доменное имя транзитного узла (хотя это зависит от заданных опций). Затем, посылаются очередные серии пакетов с одинаковым TTL, предназначенных для выявления одного и того же хопа. В конце мы получаем от конечного хоста отклик port unreachable (порт недоступен), что означает завершение трассировки.
Стандартный консольный Windows tracert работает точно также, но посылает только ICMP echo request пакеты.

В заключение скажу, не бойся экспериментировать – только так можно по-настоящему “понять” сеть. Ищи информацию и пользуйся ею. Удачи!

Остались вопросы? Напишите их в комментарии!

blank

Занимаюсь IT с 2007 года. Всё началось с увлечения — разгона компьютерного оборудования. Много воды и азота утекло с тех пор... Сейчас уже более 3х лет со своей командой оказываю комплексную поддержку и продвижение бизнеса: SEO, Яндекс.Директ, рассылки и удалённое обслуживание серверов. Буду рад помочь, обращайтесь!

Оцените автора
IT для специалистов и бизнеса
Добавить комментарий