用简单语言解释分组对探测算法

时间:2011-04-20 11:19:08

标签: algorithm networking tcp p2p bandwidth

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

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

任何指向实现或使用数据包探测的指针都可以作为很好的例子。

更新 我在网络工具的工作中发现了usenix paper中的一些好的软介绍材料 - 特别是关于使用串扰滤波器和采样窗口以提高灵活性的讨论很有意义。

2 个答案:

答案 0 :(得分:2)

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

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

如果您一次发送更多数据包,则会干扰您要测量的系统,并且您必须在估算中考虑到这一点,但它比一对一的方法更快,感觉更像是一个快照。最简单的问题是:两种情况下测量精度和测量速度之间的权衡是什么?这次交易有什么价值吗?

答案 1 :(得分:0)

我已经编写了一个使用数据包对方法进行带宽估算的程序。如果有人想看看它,将很乐意分享它..

编辑:

在这里,我是如何在课堂作业中实现的,

https://github.com/npbendre/Bandwidth-Estimation-using-Packet-Pair-Probing-Algorithm

希望这有帮助!