Если у вас возникают постоянные проблемы с каналом связи, а сотрудники службы поддержки постоянно утверждают, что проблемы на их стороне отсутствуют, то есть способ разобраться! Утилита tracert может помочь определить, на каком узле возможна проблема.
Назначение команды
«Tracert» представляет собой набор функций, доступных в операционной системе Windows, которые позволяют осуществлять трассировку маршрута до указанного узла сети, будь то локальная или глобальная. Эта утилита интегрирована непосредственно в ОС и может быть запущена как через командную строку «CMD», так и через «PowerShell». Исполняемый файл «tracertpt.exe» располагается в системном разделе папки System32.
При проведении сетевой диагностики и устранения неполадок команда «tracert» часто используется. С ее помощью определяется маршрут следования пакета до указанного узла. Преимущество программы заключается в том, что она работает с доменными именами, а также с IPv4 и IPv6. Кроме определения маршрута, программа отображает время прохождения пакетов до транзитных, промежуточных и конечных узлов.
С помощью этой команды можно узнать следующее:
- На каком уровне заблокировался веб-ресурс: на уровне локальной сети (пакет не доходит до основного маршрутизатора), в сети провайдера (коммутатор L3 не пропускает пакет далее), на уровне промежуточного сервера или конечного (проблема на стороне сервера).
- На каком этапе пути пакеты данных сбиваются с маршрута и вместо нужного адресата вас перенаправляет на другой (например, на сайт с рекламой).
- Окончательный веб-сайт — это именно то, что он представляет.
Основные моменты работы и анализ
Для отслеживания маршрута передачи данных от вашего компьютера до сервера, необходимо ввести IP-адрес сервера после основной команды.
Как показывает пример, после ввода команды и IP-адреса было установлено, что это IP-адрес сервера Яндекса. Также были обнаружены транзитные узлы, которые пакету нужно пройти, чтобы добраться до сервера «yandex.ru».
Замечательно, что команда автоматически определяет как IP-адреса, так и доменные имена.
При вводе команды для трассировки маршрута каждый порядковый номер строки называется либо шагом, либо прыжком, либо хопом.
Джампами, которые видны при выполнении утилиты, являются роутеры, серверы или коммутаторы L3 провайдера. Важно отметить, что провайдеры могут использовать коммутаторы L2 для подключения множества абонентов, которые обрабатывают и регистрируют МАС-адреса фреймов, осуществляют физическую адресацию и управляют потоком данных.
Таких коммутаторов в инфраструктуре сети провайдера может быть десятки. Они не отображаются в «ТрасеРТ» из-за того, что L2 коммутаторы не используют IP-адреса. Пакеты не задерживаются на них и не регистрируют эти устройства, поскольку их воспринимают как обычные кабели витой пары или оптоволокно.
СОВЕТ! Рекомендуется изучить информацию об уровнях модели OSI, чтобы понимать на каком уровне работает коммутирующее устройство.
При выполнении запроса утилита отправляет три запроса (TTL) на каждом шаге и получает ответы от каждого шага. Если не получен ответ, то в трех столбцах может быть указан символ «*». В последнем столбце предоставляется небольшая подсказка относительно причины получения символа «*». Превышение временного интервала будет отмечено в случае, если время ожидания превысило 4 секунды.
Звездочки не всегда указывают на неисправность или недоступность порта. Возможно, они настроены таким образом, что они не могут ответить на ICMP-запрос из-за того, что такие настройки часто используются для защиты интернет-ресурсов от DDoS-атак.
При получении информации, первые три столбца содержат результаты RTT и отображают количество миллисекунд, за которые информация прошла от отправителя к получателю. Четвертый столбец содержит IP-адрес (или доменное имя конечного получателя) узлов, которые ответили на запрос.
Оправляемые пакеты
Определение состояния сети осуществляется путем отправки пакетов. Программа «Tracet» в операционной системе Windows использует протокол ICMP. Также существует команда traceroute, которая входит в дистрибутивы Linux и является частью функционала приложений, таких как Linux Mint. Последняя использует UDP-протокол для передачи данных по узлам сети.
Наличие библиотеки Perl, graphviz и запущенного скрипта позволяет после выполнения основного программного запроса отобразить узлы трассировки в графической tracemap.
При этом файл сохраняется как «tracemap.png» и выглядит аналогично представленной ниже карте.
Перед отправкой ICMP-сообщение упаковывается в IP-пакет. Это сообщение имеет свое собственное время жизни (TTL — время жизни). При каждой отправке пакета TTL увеличивается на 1. Первый отправленный пакет в сети имеет значение 1. Команда отправляет 3 пакета с одинаковым TTL в качестве дефолтных настроек, чтобы получить 3 пакета в ответ от узла.
Дефолтное значение TTL для трассировки равно 30. Однако протокол IPv4 позволяет использовать максимальное значение TTL в 255 единиц. Опытным путем было установлено, что для достижения конечных узлов веб-ресурсов достаточно 30 шагов TTL.
Ключи для команды
Для овладения материалом и понимания работы трассировки, а также доступных значений, воспользуйтесь специальными ключами. Запустите программу «tracetcp.exe» или введите команду tracert /? в командной строке для отображения всех ключей и их значений.
Ключ | Назначение |
-d | Отображает только IP-адреса в 4 столбце (ускорение трассировки) |
-h | Ограничение количества прыжков (максимальный TTL — 255, по умолчанию — 30) |
-w | Установка времени ожидания ответов в мс |
-j | Выбор маршрута из предоставленного списка узлов (доступно в IPv4) |
-R | Проведение трассировки пути по IPv6 |
-S | Начало трассировки с указанного узла |
-4 | Прыжки только по протоколам IPv4 |
-6 | Прыжки только по протоколам IPv6 |