Значение имени трейс. Traceroute: про умение читать вывод Что значит trace

4 октября 2011 в 02:50

Traceroute: про умение читать вывод

  • Сетевые технологии
  • Почему в трейсроуте после узла X идут звездочки?
  • Сервис не работает, а трейсроут обрывается на узле X - значит проблема в узле X?
  • Почему одинаковые трейсроуты с Windows и Unix показывают разные результаты?
  • Почему трейсроут показывает большие задержки на определенном узле?
  • Почему трейсроут показывает «серые» адреса при трассировке через интернет?
  • Почему маршрутизатор отвечает на трейсроут не тем адресом, каким я хочу?
  • Почему трейсроут показывает какие-то «не такие» доменные имена?
  • Почему вообще вывод трейсроута отличается от интуитивно ожидаемого чаще, чем хотелось бы?
Сетевые инженеры и администраторы в отношениях с трейсроутом делятся на две категории: регулярно задающие себе и окружающим эти вопросы и заколебавшиеся на них отвечать.

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

По поводу взаимоотношений с трейсроутом Ричард нашевсе Стинберген сделал на конференции NANOG-47 (2009) доклад, тезисы которого я и рекомендую к изучению всем заинтересованным лицам. A Practical Guide to (Correctly) Troubleshooting with Traceroute (PDF, 222 КБ) (на английском, разумеется, языке).

Не стану пересказывать тут подробности (желающие да прочтут), остановлюсь лишь на своде аргументов и выводах, которые хорошо бы иметь в виду, прежде чем звать на помощь с криком «у меня трейс показывает, что…»

Все ниже (и выше) излагаемое - моя личная точка зрения. Топик написан под влиянием указанной презентации, но не является ни ее пересказом, ни, упаси господь, переводом. Возможно даже, вы сможете обнаружить в ней разночтения с данным топиком. Уж как минимум не стоит приписывать Ричарду тех или иных высказываний, прочтя их у меня, но не сверившись с его докладом.

Некоторые факты (без углубления в детали)

  • Задержка прохождения пакета по сети складывается из нескольких факторов: сериализация, буферизация, распространение. Каждый из факторов сложнее, чем вы о нем думаете.
  • Задержка, которую вам показывает трейсроут, - еще более комплексная величина: маршрутизаторы обрабатывают пакеты, адресованные самим себе, абсолютно иначе, чем транзитные пакеты. Данное обстоятельство приводит к специфической природе значений задержек, которые нам показывает трейсроут. Из этого не следует, что на них нельзя ориентироваться, но нужно уметь их читать.
  • Трафик в интернете почти всегда идет разными путями в направлениях от клиента к серверу и от сервера к клиенту. Трейсроут же всегда показывает суммарную задержку в обе стороны, а трассировку - только по одному направлению.
  • Указание трейсроуту адреса источника на устройстве с несколькими интерфейсами (маршрутизаторе) не влияет на выбор интерфейса, с которого будут отправлены запросы. А влияет - на выбор обратного пути, по которому передаются ответы. Их трассировка не видна в выводе, но таким образом можно измерять разницу задержки для параллельных обратных маршрутов.
  • Использование L3-балансировки где-то на интернет-магистралях скорее всего заставит разные пакеты в рамках одной трассировки идти разными путями. Такое поведение приводит к сложноинтерпретируемому выводу, грамотно прочесть который может далеко не каждый.
  • Современные маршрутизаторы при ответе на трейсроут не соблюдают требования пункта 4.3.2.4 RFC1812, обязывающего устанавливать IP-адрес источника ICMP-ответов равным адресу исходящего интерфейса. Вместо этого они устанавливают его равным адресу интерфейса, на который был получен трейсроут-запрос (пакет с TTL=1). Впрочем, если б было наоборот, читать вывод трейсроута было бы куда тяжелее.
  • Наличие MPLS-коммутации внутри магистральных сетей (нынче это так у любого уважающего себя крупного провайдера) приводит к контруинтуитивному пути передачи ответов на трейсроут и еще менее очевидному способу вычисления задержек.

Некоторые наиболее важные выводы (с моим творческим осмыслением)

  • Трейсроут - не такая простая штука, как кажется; ею нужно уметь пользоваться. А для этого надо понимать, как она работает.
  • Большинство админов и инженеров служб эксплуатации, не говоря уже о простых пользователях, не понимают и не умеют. Такое положение дел очень часто приводит к ложным тревогам, неправильной диагностике и т. п.
  • Трейсроут трейсроуту рознь. Стандартные утилиты tracert в Windows и traceroute в Линукс реализованы по-разному и могут давать разные результаты. Windows посылает ICMP, а Linux - UDP, файрволы на пути трассировки могут иметь неодинаковые настройки фильтрации для разных протоколов.
  • При интерпретации результатов трассировки требуется опыт и сообразительность. Бывает, что важные выводы можно сделать лишь путем догадки, опираясь на косвенные данные, а иные - и вовсе не однозначно, а лишь с точностью до «скорее всего».

Итого

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

Если вы не видите проблем с сервисом (все работает), но в выводе трейсроута вам что-то не нравится - подумайте хорошенько, прежде чем подымать тревогу. Крайне вероятно, что вы просто неверно интерпретируете вывод. Очень нечасто по одному трейсроуту можно судить о наличии проблемы. А если проблема действительно есть, обычно ее проще продемонстрировать без трейсроута.

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

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

Роль белка в организме человека. Как трудно несведущему человеку расшифровывать такие понятия как pro trace. Что это означает, и какова его норма в общем анализе мочи. Чем грозит для человека обнаружение белка в урине.

Все лабораторные исследования имею зашифрованную для несведущего человека терминологию. Все что называется у простого человека белком, доктор обозначена как pro. Как правило, этот показатель в анализах у здорового человека отсутствует, но может стоять значение trace, которые говорят о присутствие белка. Дословно в периоде словосочетание Pro trace – следы белка.

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

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

Белок находится везде – в мышцах, костях, волосах. Сам он участвует во многих процессах, происходящих в организме. Кровь, циркулируя по организму, доходит до почки, где начинает свою фильтрацию.

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

Белок чаще других попадает в мочу, но это не означает сразу патологию. Как правило, врачи заставляют неоднократно сдавать анализы. Это позволяет более подробно изучить организм пациента.

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

Расшифровка анализа: норма значений

Зная терминологию врачей можно без труда расшифровать свои анализы . Конечно на первом этапе не стоит ставить себе какой-либо диагноз, так как его подтверждение требует дополнительного исследования. Приведём примеры значений в анализах и посмотрим, что считается нормой:

  • Эритроциты (BLd): должны отсутствовать. Если были обнаружены, человек срочно отправляется на дообследованные. Допустимые значения BLd не более 1-2 в поле зрения.
  • Билирубин (Bil): у здорового человека он не должен быть обнаружен. Если начинается патологические изменения в печени, может быть выявлен.
  • Кетоны (KET): в норме отсутствуют, если были обнаружены, это может быть вызвано сахарным диабетом.
  • Белок (PRO): нормальные показатели - это отсутствие. Обнаружение может быть вызвано патологическими изменениями в почке, воспалительных процессах (цистит, простатит).
  • Бактериурия (NIT): отсутствует, или может определится в малых количествах. Здоровый человек имеет стерильную мочу. Но когда происходит процесс мочеиспускания, в неё попадают микробы, их количество не должно превышать 10 000 на один миллилитр урины.
  • Глюкоза (GLU): также при норме не должна обнаруживаться. Если же была выявлена, это значит заболевание сахарным диабетом возможно.
  • Кислотность урины (pH): норма для человеческого организма 5,0 – 6,0. Свыше этих значений может свидетельствовать об отклонении щитовидки, почечную недостаточность.
  • Плотность (S.G): норма для организма – 1030, больше означает сахарный диабет, менее нормы вызывает почечную недостаточность.
  • Лейкоциты (LEU): заболевания, связанные с почками и мочевой сферой, показывают повышение содержание LEU в урине.
  • Уробилиноген (UBG): моча здорового человека может содержать следы этого вещества. Показатели сверх нормы поможет означать о заболевании желтухой, токсические и воспалительные процессы в печени, кишечнике.

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

Е сли вы когда-либо обращались к своему Интернет-провайдеру или на технические форумы с жалобами на нестабильную связь, наверняка, команда «tracert» вам уже знакома. Специалисты поддержки нередко просят пользователей выполнить ее в командной строке и сообщить результат. Это помогает им определить источник неполадки.

Может быть, вас даже удивило, как непонятный набор символов способен помочь в решении сетевых проблем? Что означают эти числа, колонки и строки? Если желаете научиться применять и понимать tracert не хуже профессионалов, эта статья – для вас.

Назначение и применение Tracert на практике

T racert – не просто некая абстрактная команда, которую понимает командная строка, а полноценная программа. Точнее, служебное консольное (не имеющее оконного интерфейса) Windows-приложение, предназначенное для определения пути, по которому направляются сетевые пакеты от одного узла к другому. Имя приложения образовано от «trace route», что означает «трассировка маршрута».

Программа Tracert является собственным компонентом Windows (устанавливается на компьютер вместе с ОС), ее исполняемый файл – TRACERT.exe, постоянно находится в папке %windir%/system32.

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

Подобным образом работает и Tracert. Только он предоставляет информацию о не почтовых, а о сетевых отправлениях.

Обратите внимание на сходство этих записей:

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

  • На каком уровне происходит блокировка недоступного веб-ресурса: на уровне домашней сети (пакеты не отсылаются дальше шлюза), в сети провайдера или за ее пределами.
  • Где пакеты сбиваются с правильного маршрута. Например, причиной того, что вместо запрашиваемого , может быть и вредоносная программа на компьютере пользователя, и перенаправление с какого-либо сетевого узла.
  • Является ли веб-ресурс тем, за что себя выдает.

Как работает трассировка

К ак вы знаете, приложение запускается и выполняется в командной строке Windows. Чаще всего оно используется без дополнительных параметров. Команда трассировки маршрута к нужному веб-ресурсу выглядит так:

tracert URL_сайта или IP_сайта. Например, tracert Mts.ru , tracert 91.216.147.50

Ответом на нее будет примерно следующее:

Ниже я поясню, что означают эти числа и записи, а сначала, чтобы было понятно, рассмотрим принцип работы трассировщика.

Как только вы введете вышеуказанную инструкцию в командную сроку и нажмете Enter, приложение отправит заданному веб-ресурсу серию из трех ICMP-пакетов. В одном из служебных полей каждого пакета указано значение TTL – количество допустимых передач между узлами сети или, как говорят,«время жизни» запроса. При переходе отправления от роутера к роутеру значение TTL уменьшается на единицу. Когда оно достигает нуля, пересылка прекращается, пакет отбрасывается, а компьютер-отправитель получает об этом ICMP-уведомление.

Значение TTL первой партии ICMP-запросов равно 1. Первый же узел, на который она поступит, вычтет из этого значения единицу. Так как «время жизни» пакетов станет равным нулю, они будут выброшены «на свалку истории», а отправитель получит ответное «письмо» с указанием имени и IP-адреса этого узла.

Значение TTL второй партии будет равно двум (ответ будет получен от второго узла), третьей – трем и т. д. Отправка с увеличением TTL на 1 будет продолжаться до тех пор, пока данные не получит адресат.

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

В ернемся к анализу вывода Tracert. Мой запрос к сайту Yandex.ru совершил 16 прыжков – прошел через 15 «перевалочных пунктов» и шестнадцатым шагом достиг конечной цели. Порядковые номера прыжков отображены в столбце, обведенном красной рамкой. По умолчанию их максимальное число составляет 30.

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

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

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

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

Параметры Tracert

Е сли выполнить команду tracert без указания веб-ресурса, в консоли отобразится справочная информация о параметрах запуска или, как их называют, ключах приложения.

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

Tracert – w 1000 yandex. ru , что означает: провести трассировку маршрута к yandex.ru с таймаутом ответов в 1000 ms.

Ниже приведен список параметров с их значениями.

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

Ещё на сайте:

Какие секреты поможет узнать команда Tracert обновлено: Декабрь 5, 2016 автором: Johnny Mnemonic

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

Что проверяет команда tracert?

Tracert посылает в точку назначения запросы подобно Заметив, что пользователем набрана команда tracert, Windows отправляет специально помеченные пакеты, которые, достигнув первого же шлюза, возвращаются обратно на компьютер пользователя. При этом в полученных данных содержится информация об узле, вернувшем его. После этого отправляется следующий запрос, в теле которого уже присутствует указание пропустить его предыдущему шлюзу.

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

Запуск команды tracert в Windows

Попав в командную строку, необходимо ввести tracert domen.ru, где вместо domen.ru можно указать любое доменное имя или IP-адрес. Это приведет к запуску утилиты со стандартными параметрами.

Ключи команды tracert

Запущенная опытным пользователем, содержит команда tracert описание ключей. Его можно вызвать, просто набрав команду tracert с параметром -?.

Приведем краткое описание параметров, которые поддерживает команда tracert:

  • -h задает максимальное количество переходов, которое может быть выполнено при поиске конечного узла.
  • -d запрещает команде производить попытки превратить IP-адрес промежуточного шлюза в имя.
  • -j позволяет утилите производить свободный поиск маршрута по списку узлов. Максимум можно указать 9 маршрутизаторов.
  • -w служит для указания времени ожидания ответа на запрос от узла. Если ответ не получен, то будет выведена звездочка. Указывается в миллисекундах.

По умолчанию максимальное число прыжков ограничено 30-ю, а время ожидания - 4-мя секундами.

Аналог в Linux

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

Запуск трассировки с помощью ICMP осуществляет команда tracertroute с ключом -I. Стоит обратить внимание, что для выполнения этой операции потребуются права администратора. При стандартных настройках в большинстве дистрибутивов запуск команды tracertroute может быть осуществлен любым пользователем. В этом случае будут использовать UDP-пакеты, также можно утилите принудительно указать использовать именно их с помощью параметра -U.

Звездочки в выводе маршрутов

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

Что следует знать о трассировке маршрутов?

Tracert - команда, которая очень важна при диагностике сетевых проблем. Однако стоит учитывать, что ошибиться, рассматривая вывод команды tracert, достаточно просто. Поэтому не надо использовать трассировку маршрутов как единственное средство поиска неполадок.

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

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

Утилита MTR

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

Версия утилиты для Windows имеет название WinMTR и распространяется бесплатно.

Пользователю предоставляется возможность работать с графическим интерфейсом, в котором необходимо указать IP-адрес или домен узла назначения, запустить сбор статистики. Как правило, для анализа необходимо отправить минимум 100 пакетов.

Пользователям Linux также придется MTR устанавливать дополнительно из репозиториев. В этих операционных системах обычно используется консольная версия утилиты. Пользователю доступны разнообразные параметры, позволяющие задать количество отправляемых пакетов, запись отчета в файл, таймаут. Также версия для Linux может использовать для тестирования определенные порты или TCP-пакеты.

Что следует отправлять провайдеру для диагностики сетевых проблем?

Администратору сервера или провайдеру, как правило, лучше отправить выводы команд tracert (traceroute), ping и отчет утилиты MTR. Можно, конечно, постараться обойтись только последним, но чем больше информации предоставлено, тем легче специалисту найти и устранить проблему.