Tracerouteは、AからBへのパスをトレースするアプリケーションです(Aは現在地であり、Bはトレースするサーバーです)。Windowsでは、と入力できますtracert
。主なアルゴリズムは次のとおりです。
send UDP with TTL = 1
Server A1 received, and return ICMP packet to A because TTL is expired.
--> know first machine between. For example A1.
send UDP with TTL = 2
Server A1 received, and send this UDP to server A2.
Server A2 received, and return ICMP packet to A because TTL is expired
--> know second machine between. In this example is A2.
Do it until to B. we can track down: A -> A1 -> A2 -> ... ->B
このアルゴリズムは正しく機能しますか?なぜなら、異なる時間に、中間サーバーが異なるサーバーにメッセージを送信できるからです。たとえば、最初はUDPメッセージがA1に送信されますが、後で別のサーバー(B1など)に送信できます。そのため、tracerouteは正しく機能しません。
私は何かを誤解しましたか?