sockets - 计算两台主机之间的网络距离

标签 sockets networking udp metrics ping

我想计算一些与网络应用程序上两个主机之间的“距离”相关的指标。我想出了以下受 ping 启发的简单解决方案.

  • 发送不同大小的 UDP 包。
  • 等待其他节点的响应。
  • 计算发送和接收之间的时间。
  • 规范化这些数据并计算我的指标。

  • 我想避免管理原始套接字,但如果这是一个更好的选择,请告诉我。

    你会推荐另一种解决方案吗?

    编辑:

    我想我并不清楚这一点。我知道什么是 TTL 和 traceroute这不是我要寻找的。

    我正在寻找的是一个更好的指标,它结合了延迟、带宽,是的,主机之间的传统距离(因为我认为 traceroute 单独对管理协议(protocol)没有多大用处)。这就是使用 ping 的动机。类似的措施。

    最佳答案

    问题变成了你能不能不修改现有的协议(protocol)或者更勤奋地捕获RTT来自现有请求-回复消息的详细信息?

    如果您修改现有协议(protocol),例如添加传输时间戳,您可以执行额外的分析服务器端。如果有从服务器到客户端的请求-回复,您可能仍然可以推断时间。

    主要思想是为路径延迟测量显式添加额外消息通常是高度冗余的,只会增加网络抖动和复杂性。

    关于sockets - 计算两台主机之间的网络距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7237601/

    相关文章:

    C++ 守护程序日志功能不写入文件(段错误?)

    c - 即使有有效的 IP,gethostbyaddr 也会返回 NULL

    c# - 在 2 台 Windows 7 计算机上使用 C# 蓝牙发送/接收文本而无需配对

    android - 使用 UDP 和 Python 服务器从 Android 到 PC 的音频流中的噪声

    javascript - Android上运行的Chrome App如何接收UDP广播包

    java - 是否可以将电脑屏幕发送到 Android 设备?

    c - send() 和 receive() 使用一个套接字?

    iOS 7 不显示网络事件指示器

    ssl - Windows 10 WebDAV 中断到 Internet 服务(例如托管服务提供商)

    windows - 确保 UDP 中的数据包顺序