所以我正在运行一条从http://www.speedtest.com.sg/tr.php到我的系统的跟踪路径。我找到了一条路。我运行了一条从我的系统到上面的网站的追踪路线,我得到了一条不同的路线。为什么会这样呢?为什么它不走同一条路?如果您观察到正向和反向路径之间的常见路由器,我们是否也观察到相同的IP地址?为什么或者为什么不?
这是一项网络任务,我猛击我的头,因为我不明白这是如何工作的。
发布于 2020-06-12 12:38:59
这是不对称的路由,它是相当常见的。
这是因为每个路由器都对下一跳(即它将发送数据包到的路由器)作出自己的决定,并且不关心(实际上不知道)在相同转换中的另一个数据包所使用的路径。
你是否曾经用GPS去过某个地方,也做过相反的路径,它让你在2次旅行中走上了另一条路?还是同一条道路在不同的日子里选择不同的路径,因为事故或交通堵塞?
这是一个相同的概念:为这个特定的数据包选择最好的(已知的)路径,这是分组交换网络( Internet是建立在此基础上)的一个基本特性。
请注意,GPS系统和网络路由之间有一个重要的区别: GPS在启动时构建整个路径,然后进行调整,而每个路由器只选择下一个跳(连接),并且不预先知道完整的路径。
发布于 2020-06-12 15:20:38
所以我正在运行一条从http://www.speedtest.com.sg/tr.php到我的系统的跟踪路径。我找到了一条路。我运行了一条从我的系统到上面的网站的追踪路线,我得到了一条不同的路线。为什么会这样呢?为什么它不走同一条路?
因为路由是一个分布式过程,所以每个路由器都根据它拥有的信息来决定使用什么路径,默认的因特网路由规则(使用最短的作为路径,如果AS路径长度被绑定使用最近的出口)和由它的所有者设置的规则(例如,路由器所有者可能更愿意将流量发送到对等方而不是上游)。
如果您观察到正向和反向路径之间的常见路由器,我们是否也观察到相同的IP地址?为什么或者为什么不?
通常不会。
几乎所有路由器都有多个IP地址,通常它们都有与每个接口相关联的IP地址。大多数主要路由器还将有一个代表整个路由器的“回送”接口。
用于生成ICMP错误的ip地址的策略各不相同,一些实现可能使用接收数据包的接口,有些可能使用错误发送的接口,有些可能使用路由器的回送IP。
发布于 2020-06-12 16:51:23
Traceroute没有显示路径中的入口。它显示了这些网关用来发送超过时间的消息的任何接口。该接口应该是面向发送方的接口(这是最常见的,也是您所期望的),但它也可能是一个完全不同的接口,甚至是一个内部回送接口。
从不同的侧面追踪相同的路径可以显示完全不同的IP地址,即使网关是完全相同的。如果没有对所涉及的基础设施的详细了解,您只能对正在发生的事情做出一些有一定教育意义的猜测。
此外,正如JFL所指出的,当路由是不对称的时,每个方向都可以使用完全不同的路径。
https://networkengineering.stackexchange.com/questions/68426
复制相似问题