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 секунд.