我正在使用UDP网络协议将消息从各种客户端发送到根服务器。
从客户端到服务器的消息可能不会直接发送,可能会通过其他客户端发送。
我想通过查看根服务器上收到的消息来了解通过其发送消息的客户端。怎么做?
答案 0 :(得分:1)
UDP不包含此信息。如果要跟踪消息已通过的服务器,则需要在协议中包含一些内容。
traceroute程序使用技巧通过将TTL设置为递增的数字来获取退回的数据包。它以TTL为1开始,以便第一次反弹来自距离源最近的服务器。然后它尝试TTL为2从路径上的第二个服务器获得反弹,依此类推。
答案 1 :(得分:0)
traceroute是客户端和启发式的,即仅适用于稳定连接。由于您实际上是构建一个覆盖网络,获取路由信息的唯一方法是根据您的路由算法重建路由(很难,并且可能在分布式网络中不可行)或让每个中继添加一个注释(通常由消息的中继名称和以前的IP地址。