服务器如何跟踪到客户端的路由?

我了解客户端如何跟踪到服务器的路由(使用traceroute或tracert)。 但有没有办法让服务器跟踪到客户端的路由?

问题是我有一群互联网用户住在偏远地区,他们抱怨说他们的互联网访问速度很慢。 我打算构build一些软件,使他们能够轻松地进行下载testing,然后存储结果。 一旦我们收集了合理数量的数据,我们希望能够find一个模式。

与下载数据一起使用跟踪路由数据将是非常好的。 我不知道如何在没有编写客户端软件的情况下从客户端启动这个function,这是我不想做的事情。 因此,我试图find一个收集路由信息但由服务器发起的机制。

我的首选是使用Linux服务器。

你不想这样做。 从服务器到客户端的traceroute运行不能保证返回从客户端运行到服务器的结果。

数据包从节点A到节点B的路由可能很容易与沿相反方向传播的路由不同。 *任何给定的IP数据包所采取的确切路由是由分组path上的中间路由器决定的。 路由器可能有多条到达目的networking的路由(例如为了冗余),并且可以根据networking拥塞,链路故障等事情自由决定使用哪条路由。

因此,不可能从节点B (即“服务器”)发起从A到B的路由的有意义的跟踪,因为不能保证所报告的路由是从节点A发送到B的分组实际使用的路由。

如果服务器确实要“启动”从客户端到服务器的跟踪路由,则服务器必须简单地命令客户端向服务器运行跟踪路由。 当然,这与在客户端上configuration的计划或触发命令完全相同。

* 从A节点到B节点的一些数据包甚至有可能从其他节点到不同的路由,尽pipe实际上这种情况通常不会发生在稳定的networking上。