网络应用程序通常受益于估计互联网上两个端点之间带宽的能力。这不仅有利于汇率控制目的,而且也有利于在存在多个备选方案的情况下隔离首选连接。
虽然包对探测有几种严格的治疗方法,但是总结一下高层次的原理和要点,包括方法的方式和原因将是非常有益的;即使只是作为一个引导,更深入的研究。
对于作为良好示例的包对探测的实现或使用的任何指针,我们也会非常感激。
更新:我在一个usenix纸中发现了一些很好的软介绍材料,这些材料来自于网络计时器工具的工作,特别是关于使用相声过滤器和采样窗口来提高敏捷性的讨论非常有意义。
发布于 2011-04-20 11:53:49
关于高层次原理的讨论:传统的带宽估计方法将一个数据包发送到目标,等待其返回,然后再发送另一个数据包等待返回,等等。以顺序的方式。然后计算每k字节(或任何其他单位)返回行程总时间的某种平均值/中值。然后,根据理论上的最大带宽(当可用时)使用这些信息来估计可用的未使用带宽。
数据包对探测立即将一组数据包发送到目标(即,以并行方式)并等待它们返回。然后计算出一种平均/中值,并根据最大理论带宽对其进行评估。
如果你同时发送更多的数据包,你会干扰你想要测量的系统,你必须在你的估计中考虑到这一点,但是它比一个接一个的方法更快,感觉更像一个快照。最下面的问题是:在这两种情况下,测量精度和测量速度之间的权衡是什么?这次交易有什么价值吗?
发布于 2012-03-20 04:59:00
我编写了一个用分组对法估计带宽的程序。如果有人想看一看,会很乐意分享的。
编辑:
这是我是如何在课堂作业中实现的,
https://github.com/npbendre/Bandwidth-Estimation-using-Packet-Pair-Probing-Algorithm
希望这能有所帮助!
https://stackoverflow.com/questions/5729371
复制相似问题