Tracert в Windows возвращается медленнее, чем в Linux - PullRequest
12 голосов
/ 07 апреля 2011

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

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

Как я могу заставить Windows tracert возвращаться с той же скоростью?

Спасибо

Ответы [ 5 ]

11 голосов
/ 07 апреля 2011

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

8 голосов
/ 07 апреля 2011

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

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

4 голосов
/ 22 июля 2015

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

tracert -d -w 100

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

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

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

3 голосов
/ 27 января 2014

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

2 голосов
/ 27 февраля 2014

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

...