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