数据包跟踪如何确定地工作?

网络工程 数据包跟踪器 icmp 跟踪路由
2022-02-09 15:55:12

如果一个数据包可以采用任何路由,你如何迭代地找出从你到主机的路径?

据我所知,数据包跟踪是在 packet_i采用路由的基础上工作的:route(packet_(i-1)) + router_i

2个回答

关于 traceroute 如何在 Web 上工作的解释有很多,所以这里没有必要重复。你可以试试这个。

如果一个数据包可以采用任何路由,你如何迭代地找出从你到主机的路径?

你不能。

但是实际上数据包不采用任何旧路由,它们采用路由器认为最好的路由。虽然这肯定会在较长的持续时间和较短的持续时间内发生变化,但它往往相当稳定。

问题是,如果两条路由在路由器看来同样好,会发生什么。在这种情况下,原则上可以将路由器配置为在两条同样好的路由之间进行循环。在实践中,很少这样做,因为无序数据包交付会导致性能问题。相反,要么为所有数据包选择一条路由,要么通过数据包元数据的散列在路由之间拆分数据包,这些元数据对于给定的连接可能保持一致(例如源/目标 ips、L4 协议、端口号或类似的) .

所以大多数时候迭代过程会产生合理的结果,但并不是 100% 保证的。