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。因此,跟踪路由将无法正常工作。
我是不是误会了什么?