Tracert в Windows возвращается медленнее, чем в Linux

У меня есть два компьютера, один Windows и один Linux, сидящие бок о бок на моем столе, оба подключаются к одному интернету. Если я запустил tracert www.stackoverflow.com и traceroute www.stackoverflow.com, оба возвращают одни и те же данные. Однако tracert в Windows занимает 3x столько же времени (с теми же параметрами), сколько traceroute в Linux (linux tr почти мгновенно)

Я попробовал tracert-d, но никакой реальной разницы.

Как я могу получить Windows tracert для возврата на той же скорости?

спасибо

5 ответов


Окна передает ICMP эхо-запросов; многие маршрутизаторы просто DROP эхо-запросы ICMP. Таким образом, инструмент должен дождаться внутреннего таймаута, прежде чем объявить этот маршрут мертвым.

В Linux traceroute инструмент отправляет попытки подключения UDP; маршрутизаторы должны пересылать эти пакеты, поэтому он работает довольно надежно. Это означает, что инструменту не придется ждать тайм-аутов от большинства маршрутизаторов по пути.


Окна tracert ждет около 1 секунды между прыжками. В Linux traceroute не ждет между прыжками. Нет документированной опции для Windows tracert чтобы отключить эту задержку.


в качестве подсказки вы можете ускорить трассировку в Windows, отключив разрешение с помощью tracert -d.


наткнулся на этот старый поток и хотел сказать, что есть возможность ускорить tracert в Windows.

tracert-d-w 100

- d предотвращает разрешение имени хоста

- w 100 устанавливает время ожидания ответа на 100 мс.

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


tracert посылает зонды один за другим,traceroute отправляет 16 одновременно (может быть изменен с аргументом-N).