2011-04-06 10 views
10

私は同じインターネットに接続している2台のコンピュータ、1台のWindowsと1台のLinuxを私の机の上に並べて座っています。 www.stackoverflow.comとtraceroute www.stackoverflow.comでtracertを実行すると、両方とも同じデータが返されます。ただし、Windows上のtracertは、私がのtracert -dなく、話すための本当の違いを試してみましたWindowsのTracertはLinuxより遅い

(Linuxのtrがほとんど瞬間的である)Linux上でのtracerouteとして(同じのparamsを持つ)の3倍の時間がかかります。

Windowsのtracertを同じ速度で戻すにはどうすればよいですか?

おかげ

答えて

8

Windows tracertツールはICMP echo requestsを送信します。多くのルータはただDROP ICMPエコー要求です。したがって、ツールは、そのルートが死んだことを宣言する前に、内部タイムアウトを待つ必要があります。

Linux tracerouteツールは、UDP接続試行を送信します。ルータはこれらのパケットを転送する必要があるため、かなり信頼性の高い方法で動作します。つまり、ツールは途中で大部分のルータからのタイムアウトを待つ必要はありません。

+0

これに加えて、cygwin用のtracerouteプラグインがあると思うので、Windowsでlinuxesque traceroutesを入手することができます。 – richzilla

+0

ニース!私はいつもこれについて疑問に思っています! –

+2

これは、匿名ユーザーが残したコメントからのものですが、拒否されました(無効なメッセージ編集): 'この答えは3つの理由で間違っています:1)インターネットルータがICMPパケットをドロップすることはほとんどありません2)Linux/UnixのtracerouteはTCP 3)ICMPとUDPの使用は速度に実際の影響はありません。 以下の答え(Windowsはホップ間で1秒待っています)は真実で正確です。 ' – ChrisWue

10

ホップの間に約1秒を待つtracertのWindows。 Linux tracerouteはホップ間を待つことはありません。 Windows tracertがこの遅延を無効にするための文書化されたオプションはありません。

3

ヒントとして、tracert -dで解決を無効にすることで、Windowsでのトレースルートを高速化できます。

2

tracertはプローブを1つずつ送信し、tracerouteは一度に16を送信します(-N引数で変更できます)。

+0

これは質問に答えていないようです。 OPが何をすべきか説明してください。 – superEb

2

この古いスレッドに遭遇し、Windowsでtracertを高速化するオプションがあると言いたいと思っていました。

のtracert 100

-dは、100ミリ秒にホスト名解決

-w 100は、応答タイムアウトを防止する-w -d。

VPNや遠方のMPLSでネットワークに接続する速度が遅い場合は、Ping応答が表示されない場合がありますが、tracertの速度は約40秒になります。

関連する問題