Traceroute

На чьей стороне ошибка?

Итак, обрыв повторился. Но на этот раз запущенный пинг промежуточных узлов поможет «обличить» виновника. Тут все просто – с какого узла вам начало выдавать «Превышен интервал ожидания», тот и слабое звено.

Кто виноват – ясно, теперь нужно понять, что делать в конкретных ситуациях.

1. Последний узел. Если последний узел сначала пинговался нормально (некоторые Windows-машины вообще не отвечают на пинг, это задается в настройках брандмауэра)…

…а после обрыва начал показывать «Превышен интервал ожидания», обрыв происходит на вашем сервере.

В этом случае зайдите в панель управления, запустите консоль и войдите в операционную систему, чтобы разобраться, почему сервер не работает. Если окажется, что операционная система зависла, перезагрузите сервер.

2. Любые узлы, кроме последнего. В этом случае обращайтесь одновременно в техподдержку и облачного, и интернет-провайдера. При этом обязательно укажите, как изначально выглядела трассировка маршрута, и составьте перечень узлов с указанием, на каких из них пинг во время обрыва прервался, а на каких нет. Будьте внимательны, это важная информация, не ошибитесь.

3. Все узлы одновременно. Если все окна с пингом начали показывать «Превышен интервал ожидания», проблема в вашем компьютере или сети, к которой он подключен.

Функциональность

Traceroute использует эхо-пакеты протокола ICMP (Internet Control Message Protocol — ICMP) со значениями переменного времени жизни (TTL). Каждое время отклика каждого прыжка будет вычисляться. Для того, чтобы гарантировать и гарантировать точность, каждый прыжок будет опрашиваться несколько раз, обычно 3 раза, чтобы лучше измерить и проверить реакцию конкретного прыжка. Он использует очень важный и полезный инструмент для определения задержек ответа и циклов маршрутизации, которые присутствуют в сетевом пути через узлы пакетной коммутации. Он помогает определить местоположение любых точек сбоя, которые могут возникнуть по пути к определенному пункту назначения. Если при передаче данных возникнет икота или прерывание, трассировщик автоматически покажет, где именно по цепочке возникла проблема.

Если будет введена команда traceroute, утилита инициирует отправку пакетов, используя ICMP, включая TTL. Это позволит трассировщику определить время, необходимое для перехода к первому маршрутизатору. Если предельное значение времени будет увеличено, пакет будет повторно отправлен на второй маршрутизатор по пути к пункту назначения и вернет сообщение о превышении времени и т.д. и т.д. Если значение времени будет увеличено, то пакет будет повторно отправлен, чтобы он достиг второго маршрутизатора по пути к пункту назначения. Traceroute помогает пользователям определить, когда пакет достиг места назначения, путем включения номера порта, который находится за пределами нормального диапазона. Когда он будет получен, будет возвращено недоступное сообщение порта. Это позволит трассировщику измерить длительность последнего прыжка. С прогрессом, который будет достигнут при трассировке, записи будут отображаться пользователям прыгать прыжком.

На выходе Traceroute отобразится IP-адрес пункта назначения и максимальное количество прыжков, которые он пройдет, прежде чем полностью покинет трассу. Затем на экране отобразится имя, IP-адрес и время отклика, требуемое для каждого перехода.

  1. Это интернет-шлюз сети, с которой выполняется запуск трассировки.
  2. Обычно это шлюз провайдера Интернет-услуг (ISP).
  3. Обычно это имя и IP-адрес провайдера хмеля магистрального ISP.

Эти следы продолжатся до целевого домена, будут перечислять все прыжки прямо по пути сюда. Если нет ответа от прыжка, на экране появится звездочка (*), после чего будет выполнена попытка еще одного прыжка. Если это будет сделано успешно, отобразится время отклика прыжка. Наконец, будет также отображен целевой домен с IP-адресом.

Как сделать трассировку сайта

Дальше я расскажу, как сделать трассировку маршрута в ОС Windows. Для этого нам понадобится воспользоваться служебной программой Tracert, которая, аналогично программе ping, запускается командной строкой. Чтоб в нее попасть, можно использовать один из трех предлагаемых мной способов:

2. Воспользоваться комбинацией клавиш вида Win+R, которая открывает окно как в первом способе. Дальше все действия одинаковы.

Откроется окошко с черным фоном, где нужно набрать команду в виде tracert название_сайта (в качестве примера: tracert yahoo.com) и подтверждаем ввод клавишей Enter. Если известен IP-адрес ресурса, то вместо названия домена, можно вводить его. Вводя адрес, устанавливается маршрут к конечному узлу. Окно командной строки выводит результаты сделанной трассировки в реальном времени: IP-адреса и названия промежуточных узлов, а также время отклика, отображаемое в миллисекундах.

В случае, если имена каких-либо промежуточных узлов не интересны, то трассировку маршрута необходимо выполнять с добавлением параметра –d, что позволяет скрыть имена маршрутизаторов. Вот так выглядит пример запроса: tracert -d yahoo.com.

Время отклика характеризует загруженность выделенного канала. При большом времени отклика, загрузка сайта будет идти, но весьма трудно. Но если появляется надпись с предупреждением о превышении интервала ожидания запроса, то на конкретном узле наблюдается потеря данных. Следовательно, этот узел – проблемный.

Таким образом, трассировка маршрута позволяет определить проблемы на узлах. Если поступление данных происходит нормально, а теряются они уже в узле назначения, то проблема именно с сайтом. При обрыве трассировки на середине маршрута – проблема с промежуточным маршрутизатором. Если пакеты теряются в сети провайдера, которым вы пользуетесь, то такая проблема решается уже непосредственно с ним.

Наверное немногие из вас знают, что такое tracert. Рассмотрим варианты проверки доступности определенного IP, сервера или компьютера в сети.

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.

Объективы трассировки

Существует три цели этого инструмента трассировки, который дает представление о проблеме пользователя в сети:

  • Весь путь, по которому проходит пакет.
  • Имена и идентификационные данные маршрутизаторов и устройств на пути пользователя.
  • Сетевая задержка или, точнее, время, необходимое для отправки и получения данных на каждое устройство по маршруту.

Трассировщик покажет предел того, сколько строк хмеля он будет отображать, а именно 30 хмелей, это считается максимальным числом.

Ниже приведен список символов с описанием, которые появятся в выводе команды traceroute:

Командный символ трассировки Описание
Nn msec Обратный ход (в миллисекундах) для указанного количества зондов.
* Зонд выключен.
A Административно запрещено
Q Успокоительное средство для источника
I Пользовательский прерванный тест
U Порт недоступен
H Хост недоступен
N Сеть недоступна
P Протокол недоступен
T Таймаут
? Неизвестный тип пакета

Однако, помимо всего этого, у трассировки есть ограничения. Traceroute обнаруживает пути не на уровне маршрутизатора, а на уровне интерфейса. Это может также указывать на путь, которого на самом деле не существует для того, чтобы минимизировать проблему, есть Париж-трассировка, которая служит модификацией трассировки. Это помогает поддерживать идентификатор потока зондов, чтобы избежать балансировки.

Пример в Linux

В UNIX/Linux системах существуют режимы, в которых запуск программы возможен только от имени суперпользователя root (администратора). К числу этих режимов относится важный режим трассировки с помощью ICMP (ключ ).

Во всех остальных случаях, traceroute может работать от имени обычного рядового пользователя.
При этом, параметры по умолчанию различаются от дистрибутива к дистрибутиву, хотя в справке традиционно пишется ключ (UDP) в качестве такового. В отдельных RedHat-based дистрибутивах фактически в качестве умолчания используется , поэтому в случае, если команда из следующего примера выдаст сообщение о недостатке прав, попробуйте явно указать ключ .

  $ traceroute www.ru
  traceroute to www.ru (194.87.0.50), 30 hops max, 38 byte packets 
   1    mygateway.ar7                       (192.168.1.1)       0.777 ms    0.664 ms   0.506 ms
   2    L0.ghsdr04                          (213.227.224.91)   15.661 ms   15.867 ms  31.426 ms
   3    213.227.224.1                       (213.227.224.1)    16.797 ms   18.221 ms  16.756 ms
   4    dg                                  (213.186.216.161)  53.068 ms   39.163 ms  38.283 ms
   5    br13                                (213.186.193.43)   40.156 ms   39.768 ms  42.803 ms
   6    aggr                                (62.221.40.169)    37.884 ms   38.712 ms  37.207 ms
   7    edge-3GE-216dot1q.kiev.ucomline.net (213.130.30.182)   39.723 ms   38.039 ms  41.261 ms
   8    ae0-202.RT771-001.kiv.retn.net      (81.222.15.1)      40.029 ms   37.088 ms  40.039 ms
   9    ae0-3.RT502-001.msk.retn.net        (81.222.15.1)     128.932 ms  122.043 ms 121.612 ms
  10    GW-Demos.retn.net                   (81.222.8.46)     120.023 ms  121.135 ms 119.493 ms
  11    iki-1-vl10.demos.net                (194.87.0.83)     119.074 ms  119.784 ms 123.607 ms
  12    www.ru                              (194.87.0.50)     120.358 ms  122.545 ms 119.399 ms

Альтернативы и дополнения к traceroute

Полученная с помощью tracemap графическая карта трассировки пути на корневые серверы DNS с хоста, расположенного в Киеве

  • tracepath — похожая на traceroute программа, но может строить асимметричные трассы и имеет некоторые другие отличия.
  • mtr — Интерактивная программа, способная постоянно выводить обновлённую статистику по трассе.
  • tracemap — программа, позволяющая выполнять трассировку пути на несколько хостов сразу и представить полученные данные в виде графической карты.
  • tcptraceroute (tracetcp) — аналогичная traceroute программа, но предназначена для диагностики TCP соединений; вместо UDP-пакетов использует TCP-пакеты открытия соединения (|) с указанным сервисом (по умолчанию — web-сервер, порт 80) интересующего хоста; в результате получаем информацию о времени прохождения данного вида TCP-пакетов через маршрутизаторы и информацию о доступности сервиса на интересующем хосте, либо, в случае проблем с доставкой пакетов — видим, в каком месте трассы они возникли.

TRACEROUTE RESPONSE TIME

The response time chart shows the MTR traceroute data in a chart. Using a chart such as the one shown here clearly shows hops where variation in response times is apparent, possibly due to network instability.

Obviously we want our response times to be as small as possible in order to have the best experience when using the Internet. Keep in mind that there are limits to how low a response time can get when pinging the other side of the world. These limits are based on science and physics so upgrading your server will not suffice. A decent response time to the other side of the world is typically in the low 200ms range. While access to Google services are commonly seen under 10ms if you are on a good connection.

Did you know routers can prioritise traffic? It is common to give packets a lower priority than other traffic. If this is the case the response times listed in the traceroute may not accurately depict the application response times. On the other hand if there is a slow hop for it is likely this router is having a bad day and the application traffic will also be slow through this hop.

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 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”.

Обзор бесплатных программ трассировки маршрута

Программа трассировки маршрута 3D Traceroute отличный пример качественного продукта

 представляет собой хороший пример того, каким должен быть инструмент для трассировки. Просто введите адрес или IP удаленного сервера, и программа отобразит весь маршрут между вами и сервером в удобном и понятном графическом виде. Предоставляется полная информация, в том числе время, необходимое для каждого хопа (перехода) в цепи, и полная информация о всех серверах в маршруте. Иногда, вы не сможете увидеть полную информацию, например, в случае защищенных сетей (промежуточный узел будет работать, но будет скрывать себя изо всех сил). Однако, у вас всегда будет информация о соседнем сетевом оборудовании, на основании которой можно сделать ряд полезных умозаключений.

Вы можете использовать данную программу как для технических задач, таких как диагностика медленных соединений, так и для получения общей информации о местоположении и хостере веб-сайта. Ну, или в крайнем случае, для вычисления местоположения некоторых нехороших личностей.

VisualRoute Lite отличное решение для диагностики сети и трассировки маршрута

 является отличной программой трассировки маршрута. И подойдет лучше всего, если вас в большей степени интересует именно выявление проблем со временем отклика сетевого оборудования. На построенном программой графе, вы сможете быстро обнаружить те хопы, которые больше всего замедляют весь маршрут.

VisualRoute — это инструмент с достаточно большой историей. Программа написана на Java, так что вам нужно будет установить Java машину себе на компьютер. Если вы не хотите устанавливать программу себе на компьютер, то вы можете использовать онлайн сервис, который в основном делает то же самое.

К сожалению, красивая карта мира отключена в версии Lite. А так же отключена возможность отображения маршрута в виде списка, что очень странно, но в каком-то смысле ожидаемо. Тем не менее, Lite версия это хорошее соотношение бесплатного и полезного. И она стоит того, чтобы вы попробовали ее в деле.

Программа Alien IP простой и симпатичный инструмент для трассировки маршрута

 это простой инструмент трассировки, который умеет отображать на карте местоположение конечного пункта маршрута. Программа сравнима по возможностям с 3D Traceroute. Имеет простой и понятный интерфейс. Просто введите IP или Url адрес, и Alien IP тут же покажет на карте его месторасположение. Alien IP может так же определить дополнительную информацию хоста, обработать список IP, сохранить в текстовый файл вывод трассировки. Она включает редкий, но очень удобный инструмент — калькулятор IP адресов.

Как читать результат трассировки

В

Второй, третий и четвертый столбцы содержат значения RTT – времени, прошедшего от момента отправки запроса до получения ответа (как вы помните, партия состоит из трех пакетов). Чем оно меньше, тем быстрее осуществляется передача. Если оно больше 4 секунд, интервал ожидания считается превышенным.

Последний столбец – это имена и адреса промежуточных и конечного узлов.

Звездочки вместо значений не всегда указывают на недоступность или неисправность сетевого устройства (как пишут в некоторых источниках). Чаще всего это просто настройка, не позволяющая отправлять ответные ICMP-сообщения (меры по защите веб-узла от DDoS-атак). Если ваш запрос благополучно достиг конечной точки за приемлемое время, беспокоиться не о чем.

Причиной сбоя доставки ICMP-пакетов (если запрос так и не дошел до адресата) может быть неработоспособность (отключение или неисправность) сетевого устройства или политика безопасности (блокировка данного действия администратором сети).

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
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector