我想计算一些与网络应用程序上两个主机之间的“距离”相关的指标。我想出了以下受 ping
启发的简单解决方案.
我想避免管理原始套接字,但如果这是一个更好的选择,请告诉我。
你会推荐另一种解决方案吗?
编辑:
我想我并不清楚这一点。我知道什么是 TTL 和
traceroute
这不是我要寻找的。我正在寻找的是一个更好的指标,它结合了延迟、带宽,是的,主机之间的传统距离(因为我认为
traceroute
单独对管理协议(protocol)没有多大用处)。这就是使用 ping
的动机。类似的措施。
最佳答案
问题变成了你能不能不修改现有的协议(protocol)或者更勤奋地捕获RTT来自现有请求-回复消息的详细信息?
如果您修改现有协议(protocol),例如添加传输时间戳,您可以执行额外的分析服务器端。如果有从服务器到客户端的请求-回复,您可能仍然可以推断时间。
主要思想是为路径延迟测量显式添加额外消息通常是高度冗余的,只会增加网络抖动和复杂性。
关于sockets - 计算两台主机之间的网络距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7237601/