gpt4 book ai didi

networking - Traceroute:发送的所有探测包路径是否相同?

转载 作者:可可西里 更新时间:2023-11-01 02:33:56 26 4
gpt4 key购买 nike

Traceroute 是一个跟踪从 A 到 B 的路径的应用程序。(A 是您的位置,B 是您要跟踪的服务器)。

基本算法如下:

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

我有一个疑问让我怀疑这个算法是否正确工作。

由于路由表经常更新,在跟踪路由期间,例如 TTL=3,探测数据包遵循路径 A1->A2->A3->A4。

现在,当我们发送一个 TTL=4 的探测数据包时,它是否能保证通过 A1、A2、A3 和 A4,然后到达 A5?

如果不是呢?最终输出是否表示有效路径?

希望有人能阐明这个问题。非常感谢!

最佳答案

Now, when we send a probe packet with TTL=4, is it guaranteed to pass through A1, A2, A3, and A4 and then onto A5?

不,这不能保证,但在大多数现实世界的情况下很可能。如果 TTL=4 数据包没有沿着与之前数据包相同的路径传播,您最终会得到不能准确反射(reflect)实际网络拓扑的结果:

enter image description here

您可以使用 Paris Traceroute 来降低发生这种情况的可能性。 ,这是一个 traceroute 实现,它会摆弄各种 IP 和 ICMP header 字段 ( article ),以增加所有数据包沿同一路径传输的机会。

关于networking - Traceroute:发送的所有探测包路径是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42890444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com