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

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

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

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

Спасибо

Ответ 1

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

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

Ответ 2

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

tracert -d -w 100

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

-w 100 устанавливает тайм-аут ответа на 100 мс.

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