【问题标题】:Tracerouting in UDP protocalUDP 协议中的 Traceroute
【发布时间】:2011-06-27 17:52:44
【问题描述】:

我正在使用 UDP 网络协议将消息从各种客户端发送到根服务器。

客户端到服务器的消息可能不直接发送,可能会通过其他客户端发送。

我想通过查看根服务器收到的消息来了解发送消息的客户端。如何做到这一点?

【问题讨论】:

    标签: network-programming udp traceroute


    【解决方案1】:

    UDP 不包含此信息。如果您想跟踪消息通过的服务器,则需要在协议中包含一些内容。

    traceroute 程序通过将 TTL 设置为增加的数字来使用一种技巧来获取退回的数据包。它以 1 的 TTL 开始,以便第一次反弹来自离源最近的服务器。然后它尝试 2 的 TTL 以从路径上的第二个服务器获得反弹,依此类推。

    【讨论】:

      【解决方案2】:

      traceroute 是客户端和启发式的,即仅适用于稳定连接。由于您实际上是在构建一个覆盖网络,因此获取有关路由的信息的唯一方法是根据您的路由算法重建路由(很难,并且在分布式网络中可能不可行)或让每个中继添加一个注释(通常由中继的名称和之前的 IP 地址)到消息中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多