algorithm - 用通俗易懂的语言解释数据包对探测算法

标签 algorithm networking tcp p2p bandwidth

网络应用程序通常受益于估计 Internet 上两个端点之间带宽的能力。这不仅有利于速率控制目的,而且有利于隔离存在多个备选方案的首选 连接。

虽然有一些对 packet-pair probing 的严格处理,对高级原则和要点的总结,涵盖该方法的如何为什么将非常有益;即使只是作为更深入研究的引导。

任何指向作为很好示例的数据包对探测的实现或使用的指针也将不胜感激。

更新: 我在usenix paper找到了一些不错的软介绍资料源自 nettimer 工具的工作 - 特别是有关使用串扰滤波器和采样窗口以提高敏捷性的讨论非常有意义。

最佳答案

关于高级原则:传统的带宽估算方法将一个数据包发送到目标并等待它返回,然后发送另一个数据包并等待返回,等等......以顺序方式.然后计算每 k 字节(或任何其他单位)的回程总时间的某种平均值/中值。然后根据理论最大带宽(如果可用)使用此信息来估计可用的未使用带宽。

数据包对探测一次向目标发送一组数据包(即以并行方式)并等待它们返回。然后也计算一种平均值/中值,并根据最大理论带宽进行评估。

如果你一次发送更多的数据包,你会扰乱你试图测量的系统,你必须在你的估计中考虑到这一点,但它比一个接一个的方法更快,感觉更像是一个快照。最根本的问题是:在这两种情况下,测量精度和测量速度之间的权衡是什么?这笔交易有任何值(value)吗?

关于algorithm - 用通俗易懂的语言解释数据包对探测算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5729371/

相关文章:

node.js - 如何启动 TCP 套接字连接并使用 node.js 向其写入内容?

在 C 中创建一个简单的 HTTP 代理

c - Datapipe.c TCP/IP 套接字重定向

c++ - 在标准算法中,通过引用捕获哪里更正确?

c# - 计算绘制的形状图像中的唯一像素

用于用户文件的 Linux 数据仓库系统?

c++ - 在 Winsock.h 中获取未声明的标识符错误

algorithm - 加密后的MD5会变吗?

java - 计算不同的单词

networking - Docker 是否在桥接网络的 iptables 中自动执行 IP 伪装规则?