2011-04-06 2 views
10

두 대의 컴퓨터, 한 대의 Windows와 한 대의 Linux가 내 책상에 나란히 서서 같은 인터넷에 연결되어 있습니다. www.stackoverflow.com 및 traceroute www.stackoverflow.com에서 tracert를 실행하면 동일한 데이터가 반환됩니다. 그러나 Windows에서 tracert는 리눅스에서 traceroute만큼 (동일한 params로) 3 배 길다. (리눅스 tr는 거의 즉각적이다.)Windows에서 Tracert가 Linux보다 느림

나는 tracert -d를 시도했으나 실제 차이는 없다.

Windows tracert를 동일한 속도로 반환하려면 어떻게합니까?

감사

답변

8

Windows tracert 도구는 ICMP echo requests을 전송합니다. 많은 라우터는 단지 DROP ICMP 에코 요청을합니다. 따라서 도구는 해당 경로를 선언하기 전에 내부 시간 초과를 기다려야합니다.

Linux traceroute 도구는 UDP 연결 시도를 보냅니다. 라우터는 이러한 패킷을 전달해야하므로 꽤 안정적으로 작동합니다. 이것은 도구가 길을 따라 대부분의 라우터에서 시간 제한을 기다릴 필요가 없다는 것을 의미합니다.

+0

이 외에도 cygwin 용 traceroute 플러그인이 있기 때문에 창문에 linuxesque traceroutes를 설치할 수 있습니다. – richzilla

+0

니스! 나는 항상 이것에 대해 궁금해했다! –

+2

이것은 익명 사용자가 남긴 코멘트에서 온 것입니다. (잘못된 메시지 편집) : '이 답변은 세 가지 이유로 잘못되었습니다 : 1) 인터넷 라우터가 ICMP 패킷을 드롭하면 거의 없습니다. 2) Linux/Unix traceroute는 TCP가 아닌 UDP를 사용합니다. 3) ICMP 대 UDP의 사용은 속도에 실질적인 영향을 미치지 않습니다. 아래 답변은 (Windows는 홉 사이에서 1 초 정도 기다립니다) 사실이고 정확한 대답입니다. ' – ChrisWue

10

윈도우 tracert 홉 사이에 약 1 초를 기다립니다. 리눅스 traceroute은 홉 사이를 기다리지 않습니다. Windows tracert에서이 지연을 비활성화하는 데 대한 문서화 된 옵션이 없습니다.

3

팁으로는 tracert -d으로 해결을 사용하지 않도록 설정하여 Windows에서 traceroute의 속도를 높일 수 있습니다.

2

tracert은 프로브를 하나씩 전송하고 traceroute은 한 번에 16 개를 전송합니다 (-N 인수로 변경할 수 있음).

+0

이것은 질문에 대답하지 않는 것 같습니다. OP가해야 할 일을 설명하십시오. – superEb

2

이 오래된 스레드에 비틀 거리며 Windows에서 tracert의 속도를 높이는 옵션이 있다고 말하고 싶습니다.

TRACERT 100

-d 100ms의 호스트에 해상도

-w 100 세트 응답 타임 아웃을 방지 -w -d.

VPN 또는 멀리있는 MPLS를 통해 느린 네트워크 장비에 ping을 걸면 ping 응답이 누락 될 수 있지만 tracert의 속도는 약 40 초까지 빨라집니다.