Jump to content

трассировка

трассировка
Оригинальный автор(ы) Ван Джейкобсон
Первоначальный выпуск 1987 год ; 37 лет назад ( 1987 )
Платформа Unix-подобные системы
Тип Команда
трассировка
Разработчик(и) Microsoft , участники ReactOS
Платформа Windows , РеактОС
Тип Команда
Лицензия Microsoft Windows: проприетарное коммерческое программное обеспечение.
ReactOS: Стандартная общественная лицензия GNU

В вычислениях , traceroute и tracert — это диагностические интерфейса командной строки команды для отображения возможных маршрутов (путей) и задержек передачи пакетов по Интернет-протокола (IP) сети .

Команда сообщает время прохождения пакетов туда и обратно, полученных от каждого последующего хоста (удаленного узла) на пути к месту назначения. Сумма среднего времени в каждом прыжке является мерой общего времени, затраченного на установление соединения. Команда прерывается, если все отправленные пакеты (обычно три) теряются более двух раз.

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

Для Интернет-протокола версии 6 (IPv6) инструмент иногда имеет название traceroute6[1] и tracert6. [2]

Реализации

[ редактировать ]

Команда доступна во многих современных операционных системах и обычно называется traceroute в Unix-подобных системах, таких как FreeBSD , macOS и Linux , и называется tracert в Windows и ReactOS .

Эта функциональность была доступна в графическом виде в macOS, но устарела с момента выпуска macOS Big Sur . [3]

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

Версия ReactOS была разработана Гедом Мерфи и распространяется под лицензией GPL . [4]

В Unix-подобных операционных системах трассировка по умолчанию отправляет последовательность пакетов протокола пользовательских дейтаграмм (UDP) с номерами портов назначения в диапазоне от 33434 до 33534; реализации трассировки, поставляемые с Linux , [5] FreeBSD , [6] НетБСД , [7] OpenBSD , [8] Драгонфлай БСД , [9] и macOS включают возможность использовать эхо-запроса ICMP пакеты ( -I ) или любой произвольный протокол ( -P ), например UDP, TCP с использованием пакетов TCP SYN или ICMP. [10]

В Windows трассировка отправляет пакеты эхо-запроса ICMP, а не UDP-пакеты, которые трассировка отправляет по умолчанию. [11]

Значение времени жизни (TTL), также известное как предел прыжков , используется при определении промежуточных маршрутизаторов, через которые проходит путь к пункту назначения. Traceroute отправляет пакеты со значениями TTL, которые постепенно увеличиваются от пакета к пакету, начиная со значения TTL, равного единице. Маршрутизаторы уменьшают значения TTL пакетов на единицу при маршрутизации и отбрасывают пакеты, значение TTL которых достигло нуля, возвращая сообщение об ошибке ICMP ICMP Time Exceeded . [10] Для первого набора пакетов первый маршрутизатор получает пакет, уменьшает значение TTL и отбрасывает пакет, поскольку тогда его значение TTL равно нулю. Маршрутизатор отправляет сообщение ICMP Time Exceeded обратно источнику. Следующему набору пакетов присваивается значение TTL, равное двум, поэтому первый маршрутизатор пересылает пакеты, но второй маршрутизатор отбрасывает их и отвечает сообщением ICMP Time Exceeded. Действуя таким образом, трассировка использует возвращенные сообщения ICMP Time Exceeded для построения списка маршрутизаторов, через которые проходят пакеты, пока не будет достигнут пункт назначения, и возвращает сообщение ICMP Destination Unreachable, если используются UDP-пакеты, или сообщение ICMP Echo Reply, если ICMP Echo. сообщения используются. [10]

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

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

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

Если в сети есть брандмауэр и работают как Windows, так и Unix-подобные системы, необходимо включить более одного протокола, входящего через брандмауэр, чтобы трассировка работала и получала ответы.

Некоторые реализации трассировки используют TCP-пакеты, такие как tcptraceroute и трассировка четвертого уровня (lft). PathPing — это утилита, представленная в Windows NT , которая сочетает в себе функции проверки связи и трассировки. MTR — это расширенная версия трассировки ICMP, доступная для Unix-подобных и Windows-систем. Все различные реализации трассировки полагаются на отправку пакетов ICMP Time Exceeded (тип 11) источнику.

В Linux трассировка — это утилита, похожая на трассировку, с основным отличием от того, что она не требует привилегий суперпользователя . [12]

Реализация трассировки Cisco также использует последовательность дейтаграмм UDP , каждая с возрастающим значением TTL , к недопустимому номеру порта на удаленном хосте; по умолчанию используется UDP-порт 33434. Расширенная версия этой команды (известная как расширенная команда трассировки ) может изменить номер порта назначения, используемый сообщениями проверки UDP. [13]

Использование

[ редактировать ]
Адреса маршрутизаторов могут быть наложены на карты их физического расположения. В этом примере показан запрос из Новой Зеландии на IP-адрес в Массачусетсе , маршрут которого проходит через Европу .

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

Для Linux man трассировка предоставляет более подробную информацию, включая отображаемые флаги ошибок.

Например:

$  трассировка   -w   3   -q   1   -m   16   example.com трассировка до example.com (93.184.216.34), максимум 16 прыжков, пакеты по 52 байта  1 192.xxx (192.xxx) 5,152 мс  2 10.xxx (10.xxx) 12,767 мс  3 172.xxx (172.xxx) 11,638 мс  4 172.xxx (172.xxx) 13,193 мс  5 xxx.xxxcox.net (68.xxx) 20,624 мс  6 xxx.xxx.xxx.edgecastcdn.net (192.xxx) 56,205 мс  7 xxx.xxx.xxx.edgecastcdn .net (192.xxx) 24,573 мс  8 *  9 *  10 93.xxx (93.xxx) 22,810 мс  11 93.xxx (93.xxx) 20,235 мс 

В приведенном выше примере выбранные параметры: ждать три секунды (вместо пяти), отправлять только один запрос на каждый переход (вместо трех), ограничивать максимальное количество переходов до 16 перед отказом (вместо 30), с example.com в качестве конечного хоста. В строках 8 и 9 (TTL 8 и 9) отображаются звездочки, если маршрутизатор не ответил в течение таймаута.

Traceroute может помочь выявить неправильные определения таблицы маршрутизации или брандмауэры, которые могут блокировать трафик ICMP или UDP с высоким портом при проверке связи Unix на сайте. [ объяснить ] Правильный ответ трассировки не гарантирует подключения приложений, поскольку межсетевой экран может разрешать пакеты ICMP, но не разрешать пакеты других протоколов.

Traceroute используется тестировщиками на проникновение для сбора информации о сетевой инфраструктуре и диапазонах IP-адресов вокруг данного хоста.

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

Происхождение

[ редактировать ]

по трассировке На странице руководства указано, что исходная программа трассировки была написана Ван Джейкобсоном в 1987 году по предложению Стива Диринга , и что Гай Алмс и Мэтт Матис также придерживались этой идеи одновременно с Дирингом. [14] Автор ping программы Майк Муусс заявляет на своем веб-сайте, что трассировка была написана с использованием поддержки ICMP ядра, которую он ранее запрограммировал для включения необработанных сокетов ICMP, когда впервые писал программу ping. [15]

Ограничения

[ редактировать ]

Traceroute имеет множество ограничений. [16] Traceroute обнаруживает пути не на уровне маршрутизатора, а на уровне интерфейса. Другое ограничение появляется, когда маршрутизаторы не отвечают на запросы или когда маршрутизаторы имеют ограничение на ответы ICMP. [17] При наличии балансировки нагрузки трафика трассировка может указывать путь, которого на самом деле не существует; Чтобы минимизировать эту проблему, существует модификация трассировки под названием Paris-traceroute, [18] который сохраняет идентификатор потока зондов, чтобы избежать балансировки нагрузки.

См. также

[ редактировать ]
  1. ^ «Traceroute6(8) — справочная страница Linux» .
  2. ^ «Tracert6(8): инструмент трассировки IPv6 — справочная страница Linux» .
  3. ^ Россингол, Джо (23 июня 2020 г.). «Сетевая утилита устарела в macOS Big Sur» . МакСлухи .
  4. ^ Tracert.cpp на GitHub
  5. ^ traceroute(8) Linux программиста Руководство – Администрирование и привилегированные команды
  6. ^ traceroute(8) FreeBSD системного администратора Руководство
  7. ^ traceroute(8) NetBSD . системного администратора Руководство
  8. ^ traceroute(8) OpenBSD системного менеджера Руководство
  9. ^ traceroute(8) DragonFly BSD. по обслуживанию и эксплуатации системы Руководство
  10. ^ Jump up to: а б с Комер, Дуглас (2004). Компьютерная сеть и Интернет с интернет-приложениями . Pearson Education, Inc., стр. 360–362. ISBN  978-0131433519 .
  11. ^ «Трассерт» . Документы Майкрософт . 3 февраля 2023 г. Проверено 29 июля 2023 г.
  12. ^ «tracepath(8) — справочная страница Linux» . linux.die.net . Проверено 21 июня 2015 г.
  13. ^ «Понимание команд Ping и Traceroute» . Выпуски программного обеспечения Cisco IOS 12.1 Mainline . Cisco.com. 29 ноября 2006 г. Проверено 8 декабря 2013 г.
  14. ^ «Исходный код Traceroute6.c» . 04.10.2022 . Проверено 17 сентября 2023 г.
  15. ^ «История программы PING» .
  16. ^ Рэй Бельвиль (3 марта 2017 г.). «Объяснение ограничений Traceroute» .
  17. ^ Маркетта, П.; Монтьери, А.; Персико, В.; Пескапе, А.; Кунья, О; Кац-Бассетт, Э. (июнь 2016 г.). Как и насколько трассировка запутывает наше понимание сетевых путей . Международный симпозиум IEEE по локальным и городским сетям 2016 г. (LANMAN). стр. 1–7. дои : 10.1109/lanman.2016.7548847 . ISBN  978-1-4673-9882-4 . S2CID   4643833 .
  18. ^ «Парижский трейсерут» . Париж-traceroute.net . Проверено 10 июня 2017 г.

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 20694e326e59ee42968e8cca5e9f925e__1715884440
URL1:https://arc.ask3.ru/arc/aa/20/5e/20694e326e59ee42968e8cca5e9f925e.html
Заголовок, (Title) документа по адресу, URL1:
traceroute - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)