Трассировка маршрута: что обозначает понятие? как сделать трассировку самостоятельно?
Содержание:
- Где используется
- Назначение команды
- Трассировка маршрута
- How to Run a Traceroute on a Windows 10 Computer
- How to use the Traceroute command?
- Что такое traceroute или tracert и для чего они нужны
- VisualRoute Lite
- Как работают Tracert и Traceroute
- Бонус!
- Назначение и применение Tracert на практике
- Traceroute IPv4 and IPv6
- Анализатор пути Pro
- Ограничения
- Техническая характеристика соединения
- Как сделать трассировку?
Где используется
Применяется для диагностики сетевых сбоев. Позволяет определить:
- Где произошла блокировка недоступного сайта: у провайдера или за его пределами;
- Место сбоя с нужного маршрута;
- Является ли ресурс подлинным.
Команда трассировки в CMD
Задумывались ли вы как идет сигнал от ПК к сайту? Чтобы узнать, используйте команду TRACERT. Рассмотрим на примере как мы ходим на сайт https://public-pc.com/. Запускаем командную строку. Нажимаем комбинацию клавиш «Win+R». В открывшемся окне пишем «cmd».
Пишем команду: TRACERT public-pc.com. Отобразится результат ее выполнения. Главное, чтобы количество посланных пакетов совпадало с полученными. Без потерь. Посмотрите, чтобы адрес места назначения совпал с адресом конечной точки.
Как разобраться с результатом
Команда трассировки маршрута TCP отобразит весь путь, прошедший сетевым пакетом до узла назначения. В нашем примере запрос к сайту сделал четырнадцать переходов, прошел 13 пунктов. Четырнадцатым шагом достиг результата. По умолчанию максимальное количество переходов тридцать. Во 2, 3, 4 столбце содержится информация о времени с момента отправки пакета, и до получения ответа. В последнем столбце отображаются имена и адреса узлов.
Участки, на которых время отклика самое маленькое говорит, что канал не перегружен, информация проходит без задержек. На узлах с большим временем отклика будет написано, что превышено время ожидания. Означает, что или сайт временно недоступен, или проблема у провайдера. Если прописать команду без сайта, появится справка о параметрах.
Назначение команды
«Tracert» – это набор функций в Windows, разрешающих выполнять трассировку маршрута до указанного узла сети (локальной и глобальной). Утилита интегрирована в ОС и ее можно запустить через «CMD» или «PowerShell». Исполняемый файл «tracertpt.exe находится в системном разделе папки System32.
Команда «tracert» достаточно частый гость во время сетевой диагностики и troubleshooting. С ее помощью определяется маршрут, по которому следует пакет до выставленного узла. Преимущество программы: работа с доменными именами, IPv4 и IPv6. Кроме определения маршрута, программа выявляет и демонстрирует время прохождения пакетов до транзитных, промежуточных и конечных узлов.
С помощью команды можно узнать:
Трассировка маршрута
Использование утилиты «Tracert».
Рассмотрим пример работы программы в операционной системе Windоws. Программа tracert выполняет отправку данных указанному узлу сети, при этом отображая сведения о всех промежуточных маршрутизаторах, через которые прошли данные на пути к целевому узлу. В случае проблем при доставке данных до какого-либо узла программа позволяет определить, на каком именно участке сети возникли неполадки. Здесь хочется отметить, что программа работает только в направлении от источника пакетов и является весьма грубым инструментом для выявления неполадок в сети. В силу особенностей работы протоколов маршрутизации в сети Интернет, обратные маршруты часто не совпадают с прямыми, причем это справедливо для всех промежуточных узлов в трейсе. Поэтому ICMP ответ от каждого промежуточного узла может идти своим собственным маршрутом, затеряться или прийти с большой задержкой, хотя в реальности с пакетами, которые адресованы конечному узлу, этого не происходит. Кроме того, на промежуточных маршрутизаторах часто стоит ограничение числа ответов ICMP в единицу времени, что приводит к появлению ложных потерь.
Запуск программы производится из командной строки. Для этого вы должны войти в неё. Для операционных систем семейства Windows существует несколько способов запуска командной строки:
1. Пуск — Выполнить — В графе «Открыть» написать «cmd» и нажать Ок.
2. Сочетание клавиш Win (кнопка с логотипом Windows) + R (должны быть нажаты одновременно) — В графе «Открыть» написать «cmd» и нажать Ок.
3. Пуск — Все программы (или просто «Программы», зависит от версии операционной системы) — Стандартные — Командная строка.
Далее вам необходимо произвести трассировку до заданного ip адреса или доменного имени.
Использование утилиты «Pathping
PathPing предоставляет информацию о латентности сети и потерях данных на промежуточных узлах между исходным пунктом и пунктом назначения. Команда pathping в течение некоторого периода времени отправляет многочисленные сообщения с эхо-запросом каждому маршрутизатору, находящемуся между исходным пунктом и пунктом назначения, а затем на основании пакетов, полученных от каждого из них, вычисляет результаты. Поскольку pathping показывает коэффициент потери пакетов для каждого маршрутизатора или связи, можно определить маршрутизаторы или подсети, имеющие проблемы с сетью. Команда pathping выполняет эквивалентное команде tracert действие, идентифицируя маршрутизаторы, находящиеся на пути.
Запуск программы производится из командной строки. Для этого вы должны войти в неё. Для операционных систем семейства Windows существует несколько способов запуска командной строки:
1. Пуск — Выполнить — В графе «Открыть» написать «cmd» и нажать Ок.
2. Сочетание клавиш Win (кнопка с логотипом Windows) + R (должны быть нажаты одновременно) — В графе «Открыть» написать «cmd» и нажать Ок.
3. Пуск — Все программы (или просто «Программы», зависит от версии операционной системы) — Стандартные — Командная
Внимание! Выполнение данной команды потребует некоторое время, необходимо дождаться полного выполнения, как указано в примере ниже
Копирование текста из командной строки.
Чтобы скопировать текст к кликаем правой кнопкой мышки по командной строке и вызываем контекстное меню. В открывшемся меню выбираем пункт «Пометить». После этого текст в командной строке можно выделить обычным движением мышкой и скопировать с помощь комбинации клавиш Ctrl+C.
Далее результаты необходимо будет переслать на электронный адрес почты 911@profintel.ru, с указанием вашего id номера и кратким описанием вашей проблемы.
How to Run a Traceroute on a Windows 10 Computer
To run a traceroute on a Windows 10 computer, open the Windows search box and type CMD into the search bar. Then open the Command Prompt app and type in tracert followed by a space and then the destination URL or IP address. Finally, hit Enter.
- Open the Windows search box. You can do this by clicking the magnifying glass icon in the bottom-left corner of your screen.
- Then type CMD in the search bar and click Open.
- Next, type tracert followed by a space and then an IP address or URL. If you just want to test your internet connection, it is a good idea to run a traceroute to 8.8.8.8 (Google’s DNS server). You can also run a traceroute to the URL of any website or IP address. Just make sure you leave a space after tracert and before the URL or IP address. For example, to run a traceroute to HelloTech.com, you would type tracert hellotech.com into the Command Prompt app.
- Finally, press Enter on your keyboard and wait for the traceroute to finish. You will see the words Trace complete when the process is finished. You can also stop a traceroute at any time by pressing the Control + C keys on your keyboard at the same time.
To copy the traceroute results, left-click and drag your mouse to select the traceroute results. Then press Enter on your keyboard. Next, open a document or text file and paste the traceroute results there.
How to use the Traceroute command?
Use the traceroute command by writing the command “traceroute + domain.com / IP address” or, in the Terminal on Linux and macOS or “tracert + domain.com / IP address” in the Command Prompt on Windows.
Traceroute (Linux and macOS)
traceroute domian.com or traceroute 12.23.34.45
Tracert (Windows)
tracert domian.com or tracert 12.23.34.45
On macOS, you can also use the Traceroute utility. Press the command button + space. Then write Network Utility. Inside it, navigate to Traceroute. Write the hostname or IP address and press enter. It will show you the result.
*You can change the domain.com with another domain you want to probe, and the same goes for the IP address.
Some differences between the Traceroute command, and the Tracert exist. Check the options below.
Что такое traceroute или tracert и для чего они нужны
Одна из функций сетевого администратора в рамках их повседневных обязанностей может включать обеспечение безотказной работы и производительности сети
В этом случае очень важно иметь возможность измерять время между переходами в вашей сети. Tracert включен Windows или Traceroute в Unix / Linux — это инструмент командной строки, который позволяет нам измерять путь, пройденный вашими пакетами в сети, а также показывает время, необходимое для каждого перехода, что идеально подходит для обнаружения возможных проблем между узлами
В случае сбоя в нашей сети, благодаря этим двум командам мы сможем определить, как далеко ушел отправленный нами пакет данных и на каком IP-адресе или переходе произошел сбой. Далее мы собираемся предложить вам список лучших программ Traceroute, потому что есть даже более полные инструменты, чем типичные, которые поставляются с операционными системами.
VisualRoute Lite
Еще одна из лучших программ Traceroute — VisualRoute Lite, это бесплатное программное обеспечение, если его использование не является коммерческим. С VisualRoute Lite мы можем получить мгновенный анализ производительности подключения к Интернету, задержки в сети, плохого качества подключения, вызванного потерей пакетов, и определить ответственного поставщика услуг (ISP). Таким образом, мы можем определить, связана ли неисправность Интернета с нашим интернет-провайдером или с проблемой Интернета.
В этой облегченной версии доступно два раздела дисплея. Таким образом, вверху представлен обзор, показывающий основную статистику, обнаруженную во время пути обхода. Внизу мы находим график маршрута, который показывает, как маршрут был проложен в зависимости от времени в пути туда и обратно. Если вы хотите попробовать эту программу в ее версии для Windows или Mac OS X, вы можете сделать это, щелкнув следующую ссылке .
Как работают Tracert и Traceroute
Когда вы пытаетесь открыть сайт, браузер отправляет сообщение (запрос) серверу, на котором этот сайт находится. Сообщение на своём пути проходит через маршрутизаторы. Они решают, куда дальше передать сообщение, чтобы гарантированно его доставить адресату. В трассировке маршрутизаторы ещё называют хопами (хоп — прыжок) или узлами. Количество узлов, через которые на своём пути пройдёт запрос, можно узнать при помощи утилит Tracert и Traceroute. Узлы, которые не являются целевыми для запроса, называют транзитными.
Утилита Traceroute формирует UDP-датаграмму (сообщение, которое нужно доставить целевому серверу), упаковывает её в IP-пакет и передаёт первому транзитному узлу. В заголовке такого IP-пакета есть поле TTL (Time To Live) — время жизни пакета. Оно определяет количество хопов, через которые пакет может пройти. На каждом узле TTL уменьшается на единицу. Если на пути к удалённому адресату время жизни пакета станет равно 0, маршрутизатор отбросит пакет и отправит источнику ICMP-сообщение об ошибке «Time Exceeded» (время истекло).
Этот принцип лежит в основе работы утилит Tracert и Traceroute, однако между ними есть отличия. Рассмотрим каждую утилиту отдельно.
Tracert отправляет на хост назначения ICPM-запрос «Echo Request» с TTL=1. Первый маршрутизатор, который получит запрос, проверяет, кому он предназначен. Если маршрутизатор не является целевым хостом, он уменьшает TTL на 1, отбрасывает пакет и отправляет ICMP-сообщение источнику, так как время жизни теперь равно 0. В этом сообщении маршрутизатор указывает информацию о себе и причину дропа пакета. Получив сообщение, Tracert запоминает этот маршрутизатор как первый хоп (прыжок) и отправляет следующий пакет, но уже с TTL=2. Первый хоп успешно обрабатывает новый пакет, уменьшает время его жизни на 1 и передаёт дальше. Следующий маршрутизатор тоже выполняет проверку хоста назначения и, если пакет предназначен не ему, уменьшает TTL, отбрасывает пакет и отправляет ICMP-сообщение источнику. Tracert запоминает второй хоп, снова увеличивает TTL на 1 и отправляет следующий пакет. Эти действия будут повторяться до тех пор, пока пакет не достигнет целевого хоста. Когда запрос попадёт к целевому хосту, этот хост в ответ направит ICMP «Echo Reply». Источник воспримет это как завершение трассировки.
Утилита Traceroute вместо ICMP-запроса отправляет 3 UDP-пакета на определенный порт целевого хоста и ожидает ответа о недоступности этого порта. Первый пакет отправляется с TTL=1, второй с TTL=2 и так далее, пока запрос не попадёт адресату. Отличие от Tracert в том, как Traceroute понимает, что трассировка завершена. Так как вместо ICMP-запроса он отправляет UDP-запрос, в каждом запросе есть порт отправителя (Sourсe) и порт получателя (Destination). По умолчанию запрос отправляется на закрытый порт 34434. Когда запрос попадёт на хост назначения, этот хост отправит ответ о недоступности порта «Destination port unreachable» (порт назначения недоступен). Это значит, что адресат получил запрос. Traceroute воспримет этот ответ как завершение трассировки.
Если Tracert работает по протоколу ICMP, то какой протокол используется командой Traceroute? По умолчанию используется протокол UDP, но traceroute может отправить и ICMP-запрос «Echo Request», как Tracert. Такой способ пригодится, если хоп не отвечает на UDP-пакет.
Бонус!
Ну, а чтобы вам было совсем уж комфортно, мы тут подобрали утилиты, с которыми можно делать трассировку и пинг промежуточных узлов одним простым движением без запуска пятнадцати различных окон.
Для ОС семейства Windows такую оптимизацию проводит утилита Winmtr. Она не нуждается в установке и готова к использованию сразу после распаковки из архива.
Распаковали, запустили, что дальше?
В поле Host укажите конечный сервер, с которым будет проверяться соединение, и нажмите Start:
В нашем примере видна трассировка маршрута и все промежуточные узлы. При этом к каждому из них направляются ICMP-пакеты, по которым можно определить качество связи.
Собственно, в этом и заключается главное преимущество утилиты – ее вывод постоянно обновляется, это позволяет собирать статистику, отслеживать средние показатели, тенденции и какие-либо изменения качества сети.
Раз мы проверяем соединение с сервером, нас интересуют столбцы Sent (отправлено пакетов) и Recv (получено пакетов). Если значения в этих столбцах не совпадают, значит, качество связи с узлом ухудшилось. Что делать? Обратиться в соответствующую техподдержку.
Столбец Loss поможет просмотреть динамику потерь в процентном соотношении.
Также утилита позволяет копировать текст в удобных форматах (.txt и .html) в буфер обмена (Copy to clipboard) или в отдельный файл (Export).
Двойной щелчок по промежуточному узлу позволит получить дополнительную информацию о нем.
Важно знать!
Для детализации проблемы специалисты техподдержки могут запросить дополнительные пинги с особыми настройками. Для этого достаточно внести их в окошке Options, которое позволит указать:
- Interval (sec) – время обновления данных в секундах.
- Max host in LRU list – максимальное количество хостов (или IP-адресов, если не активна опция Resolve names) до конечной точки.
- Ping size (bytes) – размер ICMP-пакета.
- Resolve names – возможность преобразовать IP-адрес в имя хоста.
А что же линуксоиды?
Для ОС семейства Linux утилита называется просто MTR. Если ее нет в вашей операционной системе, установить ее можно одним из следующих способов:
Debian/Ubuntu/Mint:
CentOS/RedHat/Fedora:
У MTR такой же функционал, как у Winmtr, а также схожий графический интерфейс. Запустить утилиту можно командой:
где X.X.X.X – это IP-адрес конечного сервера или имя хоста.
В данном случае интересуют следующие столбцы:
- Loss % – процент потерянных пакетов между компьютером-отправителем и промежуточными узлами.
- SNT – общее количество отправленных пакетов.
Как только где-то что-то потерялось, утилита сигнализирует нам об этом, окрашивая узел в красный цвет и подсчитывая процент потерь.
Отдельно отметим возможность запуска утилиты в текстовом (консольном) режиме. Для этого достаточно добавить опцию -t или —curses:
Рассмотрим еще несколько важных опций MTR, которые могут быть крайне полезны в процессе диагностики сети.
Запускает режим отчета, в котором MTR обработает заданное количество циклов (определенных опцией -c), а затем отобразит статистику и автоматически завершит работу. Этот режим полезен для сбора статистики о качестве сети.
Позволяет задать количество циклов, после которых MTR завершит работу.
Устанавливает размер пакетов в байтах.
Задает интервал между отправляемыми пакетами.
Разрешает не использовать DNS, отображает IP-адреса узлов.
Позволяет указать адрес интерфейса компьютера, с которого будут отправляться ICMP-запросы.
Итого
Разумеется, команды в консоли дают более точный результат, поскольку фиксируют даже единичные потери пакетов (короткие обрывы), но Winmtr и MTR компактные и более удобны в использовании. А на чем остановить свой выбор, решать только вам.
Назначение и применение Tracert на практике
Tracert – не просто некая абстрактная команда, которую понимает командная строка, а полноценная программа. Точнее, служебное консольное (не имеющее оконного интерфейса) Windows-приложение, предназначенное для определения пути, по которому направляются сетевые пакеты от одного узла к другому. Имя приложения образовано от «trace route», что означает «трассировка маршрута».
Программа Tracert является собственным компонентом Windows (устанавливается на компьютер вместе с ОС), ее исполняемый файл – TRACERT.exe, постоянно находится в папке %windir%/system32.
Для простоты понимания работы трассировщика представим сетевой пакет как обычную посылку, которую вы отправили по почте в соседний город. На пути следования к адресату (конечному узлу), посылка делает несколько остановок на сортировочных пунктах (промежуточных узлах), где ее регистрируют и отсылают дальше. Вы, как отправитель, зная почтовый трек-номер посылки, можете следить за ее передвижением на специальных сайтах. Если отправление вовремя не доставлено, вы легко узнаете, на каком этапе пути оно потерялось.
Подобным образом работает и Tracert. Только он предоставляет информацию о не почтовых, а о сетевых отправлениях.
Обратите внимание на сходство этих записей:
Трассировка применяется как один из инструментов комплексной диагностики сетевых сбоев. Так, с ее помощью можно определить:
- На каком уровне происходит блокировка недоступного веб-ресурса: на уровне домашней сети (пакеты не отсылаются дальше шлюза), в сети провайдера или за ее пределами.
- Где пакеты сбиваются с правильного маршрута. Например, причиной того, что вместо запрашиваемого сайта открывается страница с рекламой, может быть и вредоносная программа на компьютере пользователя, и перенаправление с какого-либо сетевого узла.
- Является ли веб-ресурс тем, за что себя выдает.
Traceroute IPv4 and IPv6
By default, tracert and traceroute will test the path only for IPv4 addresses. But that doesn’t mean you can’t test IPv6. All modern OSs come with full support for IPv6 addresses, including all commands, such as ping, traceroute, netstat, etc., to support IPv6.
But IPv4 is the preferred addressing method, so you might not have IPv6 routes in your router ready to send the ICMP packet towards the IPv4 destination. If you do have IPv6 routes support in your OS and your router, you can perform a test.
To test a route for an IPv6 address, use the “tracert6” or “traceroute6” for Linux OS. The tracert6 command sends a sequence of User Datagram Protocol (UDP) to the destination host. While in the case of Windows, you can traceroute to IPv6 addresses using “tracert -6”.
- For macOS and Linux: traceroute6 2a00:1450:400a:804::2004
- For Windows: tracert -6 2a00:1450:400a:804::2004
Анализатор пути Pro
Следующий инструмент, который мы собираемся упомянуть, — это Path Analyzer Pro. Благодаря ему мы сможем отслеживать расширенные сетевые маршруты с помощью тестов производительности, DNS, Whois и разрешение сети для исследования сетевых проблем. Кроме того, он имеет простой графический интерфейс и доступен для Windows и Мак Операционные системы OS X.
Очень важной особенностью является то, что он до 20 раз быстрее, чем традиционный traceroute. Также заслуживает внимания его функция «синопсиса», благодаря которой нам не придется искать данные с пяти или десяти серверов Whois, регистраторов, маршрутизаторов и других источников, а затем сопоставлять их и получать сводную информацию
Если вы хотите скачать пробную версию программы, вы можете сделать это из здесь , если вам нравится самая базовая версия, она стоит 30 евро.
Ограничения
Ограничения Traceroute хорошо известны и должны приниматься во внимание при использовании инструмента. Например, traceroute обнаруживает пути не на уровне маршрутизатора, а на уровне интерфейса
Другое ограничение появляется, когда маршрутизаторы не отвечают на зонды или когда маршрутизаторы имеют ограничение на ответы ICMP. При наличии пробок Балансировка нагрузки, traceroute может указывать путь, который на самом деле не существует; чтобы свести к минимуму эту проблему, существует модификация traceroute под названием Paris-traceroute, который поддерживает идентификатор потока зондов, чтобы избежать балансировки нагрузки.
Техническая характеристика соединения
Соединение с сетью интернет является не чем иным, как удаленной передачей информации с сервера на устройство, обеспеченной провайдером и выраженной в текстовом, графическом и аудиальном виде.
Сервер данных, который содержит всю информацию, использует алгоритмы кодировки исходных данных для их дальнейшей передачи через коммуникационную сеть. Движение информации происходит в виде сгруппированных пакетов, а также имеет свою собственную скорость, для анализа которой используется трассировка маршрута и пинговка.
По достижении устройства вывода происходит перекодировка пакетных данных и их текстовая, графическая и аудиальная интерпретация, представляющая информацию в подобающем для использования виде.
Как сделать трассировку?
Для этого вам понадобится служебная программа (утилита) traceroute. Принцип ее действия прост: программа посылает в проблемном направлении информационный сигнал – пакет данных, получая ответ от каждого из узлов – своеобразное информационное эхо. Таким образом, можно замерить время прохождения сигнала от одного узла к другому, без труда выявив «слабое звено».
Не нужно бросаться искать, где бы скачать такую полезную вещь: утилита traceroute уже встроена в вашу операционную систему. Для ее запуска служит команда tracert. Итак, что вам необходимо сделать:
- Вызываем командную строку. Для этого:
- Нажимаем кнопку пуск на экране либо клавишу win на клавиатуре (клавиша win на стандартной клавиатуре находится между Alt и Control, на ней изображен всемирно известный логотип всеми любимой операционной системы Windows);
- В появившемся меню (стартовом меню) выбираем пункт «выполнить». Команда «выполнить» позволяет задействовать служебные программы системы Windows, спрятанные подальше от рук любопытных пользователей, так как неумелое пользование некоторыми программами может нанести вред работе операционной системе и хранящимся на компьютере данным. Своего рода «защита от дурака». Но мы уж точно не дураки, поэтому продолжаем;
- В появившейся после выбора «выполнить» строке вводим вручную латинским шрифтом cmd и нажимаем Ok. Командная строка вызвана.
Справка: быстро вызвать строку «выполнить» можно нажав на клавиатуре комбинацию win+r. После чего можно ввести cmd.
- В командную строку вводим команду tracert имя или IP сайта (с подсоединением к которому возникли проблемы). Например, tracert ru.
- Ожидаем результат. В результате мы увидим несколько строк (до 30), каждая из которых – узел, через который проходит информация. В строке будет написано имя или IP узла и время прохождения сигнала в миллисекундах (ms – тысячная доля секунды).
Выше описанное актуально для операционной системы Windows, а как выполняется трассировка маршрута под Linux? В общих чертах аналогично, только терминал (аналог командной строки) вместо cmd вызывается сочетанием клавиш Ctrl+Alt+t, а вместо tracert вводим traceroute. Стоит также отметить, что трассировка в Linux будет продолжаться, пока пользователь не прервет ее сам, нажав ctrl+c.
Что нам даст результат? Чем больше время прохождения пакета, тем больше сайт «тормозит», таким образом, мы выявим узел, виновный в «тормозах». Непроходимый же узел будет обозначен надписью «Превышен интервал ожидания маршрута». Чем выше в списке проблемная строка, тем более локальна проблема. «Непроходимость» внизу списка указывает на проблемы с сайтом или доменом, а вверху – у вашего провайдера либо в локальной сети.