Как работает traceroute в linux?
Содержание:
- Основные команды командной строки
- What is the Difference between Tracert vs Traceroute?
- Утилита Traceroute
- Проверка пинга
- Как работает трассировка
- Why perform a traceroute?
- Функциональность
- What is Traceroute?
- Traceroute Example
- Traceroute Command Syntax and Options (for Windows)
- Трассировка маршрута
- Prerequisites
- Traceroute IPv4 and IPv6
- How Does Traceroute Works?
- Создание файла трассировки
- Несколько советов о том, как читать и интерпретировать выводы результатов работы команды tracert
Основные команды командной строки
DIR — сокращение от Directory, эта CMD команда для новичка выводит список всех файлов и папок в определенном каталоге. А также их размер, расширение и свободное пространство, оставшееся на диске. Команда dir в командной строке может быть изменена с помощью дополнительных параметров, таких как DIR /р (выводит список по страницам), DIR /q (выводит информацию о владельце сайта), DIR /w (выводит список в расширенном формате с максимальным количеством файлов в одной строке), DIR / d (выводит список в расширенном формате с разбивкой на столбцы), DIR /n (выводит длинный список одной строкой), DIR /l (выводит несортированный список имен каталогов и файлов в нижнем регистре), DIR /b (выводит список файлов без дополнительной информации). DIR /s выводит список файлов и директорий данного каталога, а также всех подкаталогов. Введя DIR/?, вы увидите список всех доступных параметров.
Команда CD командной строки или CHDIR (Change Directory) предназначена для того, чтобы сменить каталог. Команда выполняет несколько операций. CD перемещает вас на самый верх дерева каталогов. CD .. перемещает вас в родительский каталог по отношению к текущему. CD имя-каталога перемещает вас в этот каталог. Введите CD, чтобы вывести на экран имя текущего каталога.
MD или MKDIR (Make Directory) позволяет создать каталог (папку). Чтобы создать каталог, используйте следующий синтаксис: MD имя-каталога.
CLS очищает экран. Эта команда CMD в Windows применяется, если эмулятор командной строки заполнен перечнем команд и их операций.
EDIT имя-файла позволяет изменять содержимое файла.
Команда DEL позволяет удалить один или несколько файлов. В качестве альтернативы можно использовать команду ERASE. Для удаления файла используйте синтаксис DEL имя-файла.
Если вы хотите удалить все файлы с определенным расширением, то введите DEL *.doc, и из текущего каталога будут удалены все файлы с расширением doc. DEL *.* удаляет все файлы из текущего каталога, поэтому будьте осторожны с этой командой.
RD или RMDIR — вы можете использовать эту команду, чтобы удалить папку, но папка должна быть пустой. Синтаксис довольно прост. Введите RD имя-папки. Если вы хотите удалить папку, которая не является пустой, вы можете использовать RD / S имя-папки. Будьте осторожны с этой командой, так как она удаляет папку и все ее содержимое без возможности восстановления.
RENAME, или REN переименовывает файл или каталог. Синтаксис этой команды CMD управления компьютером следующий: RENAME текущее-имя новое-имя. Например, если вы хотите переименовать файл с именем iPhone.txt в iPad.txt, введите RENAME iPhone.txt iPad.txt.
MOVE позволяет переместить один или несколько файлов из одного каталога в другой. Например, если вы хотите переместить файл 1.txt размещенный в текущей директории в папку с именем Numericals внутри текущего каталога, введите MOVE 1.txt Numericals. Если вы пытались переименовать директорию (папку) с помощью команды RENAME приведенным выше способом, то знаете, что это не работает. В этом нам поможет команда MOVE, так как она также может быть использована для переименования каталогов. Введите MOVE текущее-имя новое-имя, где текущее имя — это имя директории в текущей папке.
Команда COPY позволяет скопировать один или несколько файлов из одного места в другое. Команда позволяет объединять файлы одного и того же типа. Давайте посмотрим на различные примеры применения команды COPY:
- COPY имя-файла имя-папки скопирует файл имя-файла в уже существующую папку;
- COPY имя-файла новое-имя-файла создает копию файла с новым именем;
- COPY *.doc Word копирует все файлы с расширением .doc в папку с именем Word.
CMD основная команда XCOPY предназначена для файлов и каталогов, включая подкаталоги. Простейший вариант ее использования — скопировать все файлы с одного диска на другой. Синтаксис: XCOPY Исходный-диск: Диск-назначения: /e, где параметр /е позволяет копировать все подкаталоги, даже если они пусты. Используйте /s, чтобы запретить копирование пустых директорий. Вы можете использовать имена папок исходного диска или диска назначения, чтобы просто скопировать все содержимое одной папки в другую.
What is the Difference between Tracert vs Traceroute?
Tracert and Traceroute have different syntax but both of these commands do the basic same thing.
What makes them different is the Operating System where they are executed, Tracert for Windows and Traceroute for Linux.
The other thing is how each command is implemented in the background.
On the foreground, you see the same kind of information for both cases. As a result of running tracert or traceroute, you will see the same route and transit delays of packets across the entire path.
The command is available in Unix-based, Linux, and MacOS as ‘traceroute’, while it is available as ‘tracert’ in Windows.
Утилита Traceroute
Перед тем как перейти к примерам работы с утилитой давайте рассмотрим ее синтаксис и основные опции. Синтаксис вызова очень прост:
$ traceroute опции адрес_узла
В качестве адреса может использоваться ip адрес или доменное имя. Рассмотрим основные опции:
- -4 или -6 — использовать ipv4 или ipv6 протокол;
- -I — использовать ICMP пакеты вместо UDP;
- -T — использовать TCP пакеты вместо UDP;
- -F — не фрагментировать пакеты;
- -f — указать TTL с которого нужно начать;
- -g — передавать пакет через указанный шлюз;
- -i — передавать пакет через указанный интерфейс;
- -m — максимальное количество узлов, через которые пройдет пакет;
- -q — количество пакетов, отправляемых за раз, по умолчанию три;
- -n — не узнавать доменные имена;
- -p — указать порт вместо порта по умолчанию;
- -w — установить время ожидания ответа от узла, по умолчанию полсекунды;
- -r — использовать другой роутер вместо того, что указанный в таблице маршрутизации;
- -z — минимальный интервал между пакетами;
- -U — использовать UDP с увеличением номера порта;
- -UL — использовать протокол UDPLITE;
- -D — использовать протокол DCCP;
- —mtu — указать размер пакета;
- -P — протокол, доступны такие значения: raw, dccp, udplite, udp, tcpconn, tcp, icmp.
Это не все опции утилиты, но все основные, которыми вы будете пользоваться. Дальше перейдем практике того, как выполняется трассировка сети Linux.
Проверка пинга
Для проверки пинга используется одноименная команда ping, которую необходимо вводить в командной строке. Запустить командную строку можно следующими способами:
Windows:
1) Пуск -> Все программы -> Стандартные -> Командная строка
2) Пуск -> Выполнить -> cmd
Linux:
В данной ОС существует множество терминалов, поэтому для этих целей можно использовать любой из установленных на ПК. Обычно стандартный терминал можно запустить сочетанием клавиш CTRL+ALT+T.
Итак, чтобы пропинговать определенный сервер, необходимо выполнить команду:
ping <IP или домен>
Например, для пинга адреса 11.222.33.44 необходимо выполнить команду:
ping 11.222.33.44
Ниже приведён пример результатов выполнения пинга одного из IP адресов.
Как видно из результатов, было передано и получено 4 пакета размером 32 байта. Время обмена одним пакетом составило 47 милисекунд.
Стоит отметить, что в Windows по умолчанию выполняется отправка только 4 пакетов. В Linux обмен пакетами продолжается до тех пор, пока пользователь самостоятельно не остановит процесс сочетанием клавиш CTRL+C. Чтобы запустить ping аналогичным образом в Windows, необходимо использовать параметр -t. Например:
ping -t 11.222.33.44
Остановка обмена пакетами выполняется тем же сочетанием клавиш – CTRL+C.
Установка количества отправляемых пакетов
Чтобы задать максимальное количество отправляемых пакетов, необходимо использовать команду следующего вида:
Windows:
ping -n <число_пакетов> <IP или домен>
например:
ping -n 5 11.22.33.44
Linux:
ping -c <число_пакетов> <IP или домен>
например:
ping -c 5 11.22.33.44
Изменение размера отправляемых пакетов
Чтобы выполнить ping с использованием пакетов определенного размера (в байтах), необходимо использовать следующую команду:
Windows:
ping -l <размер_пакетов> <IP или домен>
например:
ping -l 64 11.22.33.44
Linux:
ping -s <размер_пакетов> <IP или домен>
например:
ping -s 64 11.22.33.44
В данном случае производилась отправка пакетов размером в 64 байта.
Как работает трассировка
Как вы знаете, приложение запускается и выполняется в командной строке Windows. Чаще всего оно используется без дополнительных параметров. Команда трассировки маршрута к нужному веб-ресурсу выглядит так:
tracert URL_сайта или IP_сайта. Например, tracert Mts.ru, tracert 91.216.147.50
Ответом на нее будет примерно следующее:

Ниже я поясню, что означают эти числа и записи, а сначала, чтобы было понятно, рассмотрим принцип работы трассировщика.
Как только вы введете вышеуказанную инструкцию в командную сроку и нажмете Enter, приложение отправит заданному веб-ресурсу серию из трех ICMP-пакетов. В одном из служебных полей каждого пакета указано значение TTL – количество допустимых передач между узлами сети или, как говорят,«время жизни» запроса. При переходе отправления от роутера к роутеру значение TTL уменьшается на единицу. Когда оно достигает нуля, пересылка прекращается, пакет отбрасывается, а компьютер-отправитель получает об этом ICMP-уведомление.
Значение TTL первой партии ICMP-запросов равно 1. Первый же узел, на который она поступит, вычтет из этого значения единицу. Так как «время жизни» пакетов станет равным нулю, они будут выброшены «на свалку истории», а отправитель получит ответное «письмо» с указанием имени и IP-адреса этого узла.
Значение TTL второй партии будет равно двум (ответ будет получен от второго узла), третьей – трем и т. д. Отправка с увеличением TTL на 1 будет продолжаться до тех пор, пока данные не получит адресат.
Why perform a traceroute?
The objective of a graphical traceroute is to discover each server relaying your IP packet from point to another, and to measure the return-trip delay between the probing host (here G Suite.Tools) and each relay on the packet path.
G Suite.Tools’ visual traceroute online app makes it easy to precisely pinpoint weak nodes impacting your global network performance. In addition to determining the response time of each hop the packet is travelling through, you’re now able to visualize in full screen the path of each probe ping between our server and the tested IP address within Google Maps in a instant.
By tracing the actual route between G Suite.Tools’ server and yours, you can decide in which way to optimize your network setup to lower response times in your application, service or website.
Функциональность
Traceroute использует эхо-пакеты протокола ICMP (Internet Control Message Protocol — ICMP) со значениями переменного времени жизни (TTL). Каждое время отклика каждого прыжка будет вычисляться. Для того, чтобы гарантировать и гарантировать точность, каждый прыжок будет опрашиваться несколько раз, обычно 3 раза, чтобы лучше измерить и проверить реакцию конкретного прыжка. Он использует очень важный и полезный инструмент для определения задержек ответа и циклов маршрутизации, которые присутствуют в сетевом пути через узлы пакетной коммутации. Он помогает определить местоположение любых точек сбоя, которые могут возникнуть по пути к определенному пункту назначения. Если при передаче данных возникнет икота или прерывание, трассировщик автоматически покажет, где именно по цепочке возникла проблема.
Если будет введена команда traceroute, утилита инициирует отправку пакетов, используя ICMP, включая TTL. Это позволит трассировщику определить время, необходимое для перехода к первому маршрутизатору. Если предельное значение времени будет увеличено, пакет будет повторно отправлен на второй маршрутизатор по пути к пункту назначения и вернет сообщение о превышении времени и т.д. и т.д. Если значение времени будет увеличено, то пакет будет повторно отправлен, чтобы он достиг второго маршрутизатора по пути к пункту назначения. Traceroute помогает пользователям определить, когда пакет достиг места назначения, путем включения номера порта, который находится за пределами нормального диапазона. Когда он будет получен, будет возвращено недоступное сообщение порта. Это позволит трассировщику измерить длительность последнего прыжка. С прогрессом, который будет достигнут при трассировке, записи будут отображаться пользователям прыгать прыжком.
На выходе Traceroute отобразится IP-адрес пункта назначения и максимальное количество прыжков, которые он пройдет, прежде чем полностью покинет трассу. Затем на экране отобразится имя, IP-адрес и время отклика, требуемое для каждого перехода.
- Это интернет-шлюз сети, с которой выполняется запуск трассировки.
- Обычно это шлюз провайдера Интернет-услуг (ISP).
- Обычно это имя и IP-адрес провайдера хмеля магистрального ISP.
Эти следы продолжатся до целевого домена, будут перечислять все прыжки прямо по пути сюда. Если нет ответа от прыжка, на экране появится звездочка (*), после чего будет выполнена попытка еще одного прыжка. Если это будет сделано успешно, отобразится время отклика прыжка. Наконец, будет также отображен целевой домен с IP-адресом.
What is Traceroute?
Traceroute is a monitoring command commonly used by network and system administrators in their day-to-day operations.
This basic network diagnostic tool has three primary objectives, which give you an accurate and complete understanding of a network problem.
With Traceroute, you can?
- Get the complete path that a packet uses to reach its destination.
- Discover the names and identity of routers and devices within the path.
- Find the time it took to send and receive data to each device on the path.
Traceroute gives you complete information about the path that your data will take to reach its destination, without actually sending data (other than ICMP).
For example, if the source of the path (your computer) is in Boston, Massachusetts and the destination in San Jose, California (a Server), Traceroute will identify the complete path, each hop (the computers, routers, or any devices that comes in between the source and the destination) on the path, and the time it takes to go and come back.

Traceroute Example
Traceroute starts its journey towards its destination differently. It begins with a TTL=1 (instead of the default 51) and adds one until it reaches its final destination.
When beginning the Traceroute test, the next hop that receives the packet with a TTL=1, which in my case, is the gateway, will execute the TTL-1 by protocol, which will result in TTL=0. That means there will be no further forwarding and the packet will be discarded.
The next-hop (my gateway) will notify the source that the TTL exceeded with the “ICMP TTL exceeded” message, containing valuable information such as IP, hostname, and delay.
As mentioned in the previous section, the main job of the Traceroute command is to +1 to the TTL until the packet reaches the final destination.
So, back to our example, let’s traceroute 8.8.8.8.

The Traceroute example shows that the packet took 13 hops from the source (192.168.0.1) to reach its destination (8.8.8.8), along with all information from the hops in between.
From the same screenshot, you can see that the hop number 10 is “72.14.219.20” the same IP that we got from command “ping 8.8.8.8 -10”.
Traceroute Command Syntax and Options (for Windows)
The tracert (for windows) command is available at the Command Prompt in all Windows operating systems including Windows 10, Windows 8, Windows 7, Windows XP, Windows Vista, and older versions of Windows as well.
The tracert command syntax is given below:
tracert target
Below is a brief description with each tracert option in Windows…
| Option | Description |
| -d | This tracert option prevents tracert from resolving IP addresses to hostnames, often resulting in much faster results. |
| -h MaxHops | This option specifies the maximum number of hops in the search for the target. If you do not specify MaxHops, and a target has not been found by the default max hops (30 for Windows), tracert will stop looking. |
| -w TimeOut | Using this tracert option, you can specify the time, in milliseconds, to allow each reply before timeout. |
| -4 | It forces tracert to use IPv4 only. |
| -6 | It forces tracert to use IPv6 only. |
| Target | A mandatory option. It is used to specify the destination, either an IP address or hostname. |
| /? | Use the help switch with the tracert command to show detailed help about the command’s multiple options. |
Трассировка маршрута
Использование утилиты «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 номера и кратким описанием вашей проблемы.
Prerequisites
Requirements
Readers of this document should have basic knowledge of one of these operating systems:
-
Cisco IOS Software
-
Linux
-
Microsoft Windows
Components Used
The information in this document applies to these software and hardware versions:
-
Cisco Router that runs Cisco IOS Software Release 12.2(27)
-
PC that runs Red Hat Linux version 9
-
PC that runs MS Windows 2000
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
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

How Does Traceroute Works?
Each IP packet sent on the Internet has a field known as Time-To-Live (TTL). But this field is not explicitly related to the time measured by the number of hops. It is instead, the maximum number of hops that a packet can travel across the Internet before it gets discarded.
The TTL field in an IP packet is so essential because if there wasn’t one, the packet would keep flowing from one router to another forever searching for its destination, in a never-ending loop.
The TTL value helps in route poisoning, and most importantly, it can help Distance Vector protocols to avoid routing loops.
Traceroute depends on TTL to measure the distance between source and destination and to find the hops in between.

In a traceroute, the source re-defines the TTL value every time it gets a response and sends the packet with TTL= +1 until it reaches its destination.
When a packet reaches its maximum TTL, the last hop in line will send back an “ICMP TTL Exceeded” packet back to the source.
This communication is what traceroute is looking for. The “ICMP TTL Exceeded” contains valuable information, such as the time it took to reach that particular hop and the name of the server that is replying.

Создание файла трассировки
Трассировка является эффективным способом записи подробной информации о функционировании программы. Специалисты Службы технической поддержки используют файлы трассировки для устранения неисправностей.
Важно! Рекомендуется использовать трассировку только под руководством специалиста Службы технической поддержки «Лаборатории Касперского». Для записи файлов трассировки может потребоваться много места на диске
Если файлы трассировки больше не нужны, выключите трассировку
Для записи файлов трассировки может потребоваться много места на диске. Если файлы трассировки больше не нужны, выключите трассировку.
Kaspersky Endpoint Security сохраняет в файле трассировки следующую информацию:
- информацию об устройстве и об установленной на нем операционной системе (уникальный идентификатор устройства, тип устройства, MAC-адреса сетевых устройств, тип операционной системы, версию операционной системы);
- информацию о работе программы и ее модулей;
- информацию о подписке (тип подписки, регион);
- информацию о языке интерфейса, идентификатор программы, кастомизацию программы, версию программы, уникальный идентификатор установки программы, уникальный идентификатор компьютера;
- информацию о состоянии антивирусной защиты компьютера, а также данные обо всех обработанных и обнаруженных объектах (название детектируемого объекта, дата и время обнаружения, веб-адрес, по которому он был загружен, названия и размер зараженных файлов и пути к ним, IP-адрес атакующего компьютера и номер порта компьютера Пользователя, на который была направлена сетевая атака, перечень активностей вредоносной программы, нежелательные веб-адреса) и соответствующих действиях и решениях ПО и пользователя по ним;
- информацию о загруженных пользователем программах (веб-адреса, атрибуты, размер файлов, сведения о процессе, который загрузил файл);
- информацию о запускаемых программах и их модулях программ (размер, атрибуты, дата создания, информация заголовка PE, регион, имя, расположение, упаковщики);
- информацию об ошибках и использовании пользовательского интерфейса установленного ПО «Лаборатории Касперского»;
- информацию о сетевых соединениях: IP-адрес удаленного компьютера и компьютера Пользователя, номера портов, через которые устанавливалось соединение, сетевой протокол соединения;
- информацию о сетевых пакетах, получаемых и передаваемых компьютером по информационно-телекоммуникационным сетям;
- информацию об отправляемых и принимаемых сообщениях электронной почты и мгновенных сообщениях;
- информацию о посещаемых веб-адресах: данные о логине и пароле для сайта и содержимое файлов cookie (если соединение устанавливалось по открытому протоколу);
- публичный сертификат сервера.
Файлы трассировки содержат только данные, необходимые для устранения неполадок в работе программы. «Лаборатория Касперского» использует файлы трассировки в целях расследования инцидентов, связанных с ошибками в работе Kaspersky Endpoint Security.
По умолчанию создание файлов трассировки выключено. Вы можете включить создание файлов трассировки в настройках программы.
Файлы трассировки можно отправить в «Лабораторию Касперского» только вручную. Kaspersky Endpoint Security не отправляет автоматически файлы трассировки в «Лабораторию Касперского».
Вы можете выбрать способ отправки файлов трассировки в «Лабораторию Касперского».
Перед отправкой файлов трассировки в «Лабораторию Касперского» ознакомьтесь с данными, которые в них содержатся.
Важно! Файлы трассировки могут содержать конфиденциальные данные. Отправляя файлы отчетов в «Лабораторию Касперского», вы соглашаетесь с передачей данных, которые в них содержатся, а также выражаете согласие со способом их передачи
Несколько советов о том, как читать и интерпретировать выводы результатов работы команды tracert
Во-первых, отмечу, что пользоваться командой tracert очень легко, на самом деле очень легко пользоваться любыми сетевыми утилитами, легко писать команды на сетевых устройствах, но понимать, как это всё работает, задача гораздо более сложная. Понимать выводы команды tracert тоже непросто, иногда даже невозможно их правильно интерпретировать.
Вы наверняка думает, что tracecrt позволяет вам правильно оценить задержку прохождения пакетов по сети, ведь так? Всё вроде бы очевидно, три раза отправили, три раза получили, взяли среднее арифметическое и получили среднее время, так? Нет, не так. У пакетов есть время распространения по сети, а у сетевых устройств есть такие факторы как сериализация и буферизация, они довольно сложные.
Когда вы используете tracert или traceroute не забывайте, что маршрутизатор, который будет отвечать на ваши запросы, обрабатывает эти запросы несколько иначе, чем полезный сетевой трафик, который проходит через него транзитом. Мы с вами делали трассировки до узлов Яндекса, Гугла и Майкрософта, мы получали определенные задержки на хопах, но при трассировке мы видим только маршрут «туда», обратный маршрут с вероятностью 90% будет отличаться, но у вас нет возможности сделать трассировку до себя с указанных серверов.
То есть получается, что мы видим маршрут «туда», но получаем усредненное время, которое получается путем сложения времени, которое будет затрачено на то, чтобы добраться туда с временем, которое будет затрачено на то, чтобы добраться обратно другим маршрутом (еще раз повторю, что маршрут «обратно» не обязательно должен совпадать и очень часто не совпадет с маршрутом «обратно»), несовпадение маршрутов главным образом связано с коммерческой и юридической сферой взаимодействия провайдеров и других крупных игроков интернета.
Провайдеры используют протоколы динамической маршрутизации, у которых есть функция балансировки трафика, часто до одного и того же сервера можно добраться по нескольким маршрутам. Иногда, когда вы делаете трассировку, ваш первый пакет «туда» идет одним маршрутом, а ваш второй пакет «туда» пойдет другим маршрутом.
Команда tracert только на первый взгляд кажется простой, на самом деле это не так, я сейчас даже не говорю про простых пользователей, многие админы умеют пользоваться tracert на уровне обезьяны и не хотят это исправлять, иначе не объяснишь их восприятие звездочек в выводе («это потери, ужас, мрак, хостер, провайдер, дата-центр, за что я плачу тебе 100 рублей?» обычно именно такие ребята поднимают поросячий визг из-за своей некомпетентности в вопросе, потому что те кто может платить больше, позволяют себе нанимать более компетентных людей, хотя это и не всегда так), например, вот так:
Если вы посчитали первый ответ потерей, то вам нужно изучать принцип работы tracert, а также помнить, что сетевое оборудование можно настраивать, в том числе и на работу с ICMP, а может это не потери, а роутер настроен таким образом, чтобы игнорировать часть запросов?
Tracert прекрасно справляется со своей задачей – она отображает путь, по которому проходит IP-пакет, а также время ответа транзитных роутеров/маршрутизаторов, но при помощи данной утилиты невозможно точно оценить потери и нельзя с уверенностью сказать – на каком участке сети потери происходят, чтобы оценить потери в компьютерной сети (здесь можно почитать про основные характеристики компьютерной сети), лучше воспользоваться стандартной утилитой Windows, которая называется pathping, либо более удобной программой WinMTR или mtr в операционных системах семейства Linux.