Трассировка и с чем ее едят #1
Вступление
Привет 👋
Это первая часть серии статей о трассировке
Другие части: №2, №3
В этих статьях мы разберем проблемную у многих тему трассировок
Здесь мы рассмотрим следующие моменты:
- Что такое трассировка;
- Когда нужна трассировка;
- Как выполнять трассировку;
- Как интерпретировать результат трассировки.
Что такое трассировка?
Трассировка - это процесс выявления маршрута, соединяющего два компьютера (или серверы, иные сетевые устройства). Маршрутом в этом случае являются адреса промежуточных устройств.
Но это заумно, а если простыми словами?
Проще говоря, трассировка - это выявление пути от точки А до точки Б
с условием, что ты по пути зайдешь еще в магазин за пивом, в кфс за курочкой и еще куда-нибудь.
Когда нужна трассировка?
Трассировка - очень сильный и полезный инструмент в работе тех.пода. Он помогает решать такие вопросы, которые не решить с помощью других инструментов
Приведу пример кейсов, когда это может пригодиться:
- Высокий пинг;
- Потеря пакетов в игре;
- Не открывается сайт;
- Низкая скорость
и так далее, кейсов бесконечное множество, и к решению каждого из них можно применить трассировку
Как выполнять трассировку?
Самый простой и привычный вариант - выполнять ее с компьютера. Неважно, Windows это, Linux, MacOS, OpenBSD или что-то еще
В каждом варианте есть инструмент для проведения трассировки, и это tracert (traceroute)
На всех системах проблемный ресурс вводится в следующем виде:
- Если это домен: chrsnv.ru (без http/https, может содержать поддомен, например guides.chrsnv.ru)
- Если это IP-адрес: 127.0.0.1 (указывается без портов и других доп. символов)
На Windows
Для запуска трассировки потребуется открыть cmd, на Windows это происходит комбинацией клавиш Win+r
Далее в открывшемся окне вводим cmd и нажимаем OK
Далее в терминале вводим команду tracert проблемный_ресурс, жмем Enter и ждем окончания
На MacOS / Linux
Для запуска трассировки потребуется открыть Терминал, на MacOS это можно сделать через меню приложений или поиск
Далее в терминале вводим команду traceroute проблемный_ресурс, жмем Enter и ждем окончания
Результат трассировки
На всех операционных системах вывод утилиты tracert (traceroute) примерно одинаковый и состоит из:
- Порядкового номера маршрутизатора (узла/хопа);
- Имени узла;
- IP-адреса узла;
- Пинга (Круговая задержка - время, потраченное на отправку запроса и получение ответа).
Рассмотрим на примере скрина ниже:
Мы видим следующие хопы трассировки:
Archer_AX55- роутер, так как сперва мой компьютер устанавливает соединение с ним. Ср. пинг - 2мс;100.95.255.253- первый маршрутизатор на сети (не подъездный коммутатор, он не будет отображаться на трассировке). Находится в нашей зоне ответственности. Ср. пинг - 3мс;lag-3-438.bgw01.tmn.ertelecom.ru [109.194.168.30]- центральный сервер в городе, от него идет оптика до дома клиента.
Понять это можно по tmn.ertelecom.ru в Hostname. Ср. пинг - 4мс. Тут заканчивается наша зона ответственности, следующие шаги контролировать мы не можем;gw-as9049.retn.net- переход с нашей сети на сеть одного из магистральных провайдеров - RETN. Ср. пинг - 31мс. Пинг резко вырастает, так как находится вне нашей сети;sap-b5-link.ip.twelve99.net- магистраль (переход с сети) RETN на сеть Twelve99. Ср. пинг - 34мс;Промежуточный сервер Twelve99;Промежуточный сервер Twelve99;Промежуточный сервер Twelve99;anexia-ic-327209.ip.twelve99-cust.net- магистраль (переход) Twelve99 на AnexiaIT. Потерь пакетов нет, ср. пинг - 66мс;Промежуточный сервер Anexia;Промежуточный сервер Anexia;Промежуточный сервер Anexia;Промежуточный сервер Anexia;noname.nodomain.nowhere- конечный сервер, который принадлежит указанному в поле Host домену или IP. Ср. пинг - 78мс.
На что обращать внимание?
- Наши сервера
Наши сервера, а соответственно и нашу зону ответственности, легко определить - они содержатertelecomв названии (Hostname)
Они всегда будут идти самыми первыми в списке серверов на трассировке. Сервера, не содержащиеertelecom, расположенное ниже серверов с ertelecom в названии - находятся ВНЕ НАШЕЙ ЗОНЫ ОТВЕТСТВЕННОСТИ - Средний/максимальный пинг
На серверах ЭРТелеком средний пинг не должен превышать 80мс. НО это только на наших шагах, на оставшихся узлах трассировки пинг может и с высокой вероятностью БУДЕТ выше 80мс если сервер находится далеко от клиента территориально - Потери пакетов
На серверах ЭРТелеком допустимые потери пакетов составляют 1% между магистральными узлами. Это так же не касается оставшихся узлов трассировки, которые нам не принадлежат. За них мы ручаться не можем, как и повлиять на них
Ошибки в tracert
-
Ошибка Request timed out (Превышен интервал ожидания)
Ошибка говорит о истекшем времени ожидания ответа от ресурса. Такое может происходить если на сервере узла настроено игнорирование опроса ICMP-пакетами.
Если в Hostname последнего шага нет этой ошибки - все хорошо. Если там такая же ошибка - значит либо IP/домен в поле Hostname указан некорректно, либо по какой-то причине соединение обрывается на последнем отображаемом шаге -
Ошибка Destination host unreachable (Не удается разрешить системное имя узла)
Ошибка означает, что утилите не удалось определить конечный сервер, принадлежащий указанному IP или домену. Скорее всего некорректно заполнен проблемный ресурс
-
Символы * * * вместо времени отклика
Узел не отвечает на ICMP-запросы из-за настроенного игнорирования опроса ICMP-пакетами.
Важно: если следующие шаги от проблемного так же показывают * * * - можно запустить трассировку повторно с параметром -T
Команда будет выглядеть следующим образом:traceroute -T проблемный_ресурс. Этот параметр меняет опрос ICMP-пакетами на TCP-пакеты -
Ошибка “General failure” (Общий сбой)
Проблемы с сетевым адаптером или его драйверами.
Может помочь перезагрузка сетевого адаптера, компьютера, обновление драйверов сетевой карты.
Доп. материалы
Видеогайд по трассировке от Сережи Х.
← К постам