Intereting Posts
Запуск длинного скрипта PHP на cloudflare дает мне тайм-аут (с использованием nginx) Не удалось получить версию adb … Нет такого файла или каталога В чем разница между двумя командами sed ниже? Spring Boot Application: конвертер не найден для возвращаемого значения типа Получение UPTIME из номера порта в команде UNIX Что такое функция Aero для предварительного просмотра состояния экрана за окном? Запустить Docker PHP-apache: Запрещено У вас нет разрешения на доступ / на этом сервере htaccess Переписать файл с тем же именем в разных папках сайта grep string после того, что я укажу Приложение Capistrano + NGINX Passenger Restart Rails Как установить / изменить имя хоста с помощью шеф-повара? python3 pip сломан с момента обновления системы Windows – происходит ли доступ к данным через «localhost» из-за накладных расходов сетевого стека Обнаруживать и переписывать заголовки заголовков HTTP / Basic в пользовательские заголовки с помощью Nginx / Lua Проблема с доступом к Tomcat с использованием Apache в качестве защищенного прокси

Как работает traceroute?

Это кажется почти волшебным. Что делает команда traceroute, чтобы отобразить весь путь к другому узлу в Интернете?

Traceroute передает пакеты с небольшими значениями TTL (Time To Live). TTL – это поле заголовка IP, которое используется для предотвращения запуска пакетов в бесконечные циклы. Когда маршрутизатор, который обрабатывает пакет, вычитает один из TTL пакета. Пакет истекает, и он отбрасывается, когда TTL достигает нуля.

Traceroute отправляет сообщения ICMP Time Exceeded ( RFC 792 ) обратно к отправителю, когда это происходит. Используя небольшие значения TTL, пакеты быстро истекают, поэтому traceroute заставляет все маршрутизаторы вдоль пути пакета генерировать ICMP-сообщения, идентифицирующие маршрутизатор.

Например, TTL = 1 должен вывести сообщение от первого маршрутизатора, TTL = 2 генерирует сообщение от второго маршрутизатора в пути и так далее …

traceroute устанавливает поле TTL (Time To LIve) в 1 и увеличивает его для каждого прыжка. маршрутизаторы, получающие сообщение, уменьшают это значение, и когда он достигает 0, они отвечают на сообщение, что TTL достиг нулевого значения. С помощью этого ответа клиент узнал, кто находится между ними. делайте это итеративно до места назначения, и вы получите маршрут (по крайней мере один из них)