网络应用程序通常受益于估计 Internet 上两个端点之间的带宽的能力。这不仅对于速率控制目的是有利的,而且对于在存在多个替代方案的情况下隔离优选连接来说也是有利的。
尽管对 数据包对探测,高级原则和要点的摘要,涵盖如何和为什么该方法非常有益;即使只是作为更深入研究的引导。
任何作为良好示例的数据包对探测的实现或使用的指针也将不胜感激。
更新:
我在 usenix paper< 中找到了一些很好的软介绍材料/strong> 源自 nettimer 工具的工作 - 特别是有关使用串扰滤波器和采样窗口来提高敏捷性的讨论非常有意义。
Networked applications often benefit from the ability to estimate the bandwidth between two end-points on the Internet. This may be advantageous not only for rate control purposes, but also in isolating preferred connections where a number of alternatives exist.
Although there are a couple of rigorous treatments of packet-pair probing, a summary of the high-level principles and salient points, covering both the how and the why of the method would be very beneficial; even if only to serve as a bootstrap to more in-depth study.
Any pointers to implementations or usage of packet-pair probing that serve as good examples would also be much appreciated.
Update:
I found some good soft introduction material in a usenix paper derived from work on the nettimer tool - in particular the discussion concerning use of cross-talk filters and sampling windows for increased agility make a lot of sense.
发布评论
评论(2)
关于高级原则:估计带宽的传统方法是将一个数据包发送到目标并等待其返回,然后发送另一个数据包并等待返回,等等......以顺序方式。然后计算每 k 字节(或任何其他单位)的回程总时间的某种平均值/中值。然后使用该信息对照理论最大带宽(如果可用)来估计可用的未使用带宽。
数据包对探测一次将一组数据包发送到目标(即以并行方式)并等待它们返回。然后,还计算一种平均值/中值,并根据最大理论带宽进行评估。
如果您一次发送更多数据包,则会干扰您尝试测量的系统,并且您必须在估计中考虑到这一点,但它比逐一方法更快,并且感觉更像是快照。根本问题是:在这两种情况下,测量精度和测量速度之间的权衡是什么?这笔交易有任何价值吗?
About high-level principles: traditional means of estimating bandwidth send one packet to target and wait for it to return, then send another packet and wait for return, etc... in a sequential way. Then one computes some kind of average/median of the total time of the return trip per k-byte (or any other unit). This information is then used against the theoretical maximum bandwidth (when available) to estimate the available unused bandwidth.
Packet-pair probing send a group of packets to the target at once (i.e., in a parallel way) and wait for them to return. Then a kind of average/median is computed too and evaluated against the maximum theoretical bandwidth.
If you send more packets at once, you are disturbing the system you are trying to measure and you have to take this into account in your estimations, but it goes faster than the one-by-one method and feels more like a snapshot. The bottom question is: what's the trade-off between measurement accuracy and speed of measurement in both cases? Is there any value in this trading?
我编写了一个使用数据包对方法进行带宽估计的程序。如果有人想看一下它,将很乐意分享它。
编辑:
这里是我在课堂作业中实现它的方法,
https://github.com/npbendre/Bandwidth-Estimation-using-Packet-Pair-Probing-Algorithm
希望这有帮助!
I have written a program for bandwidth estimation using packet pair method. If anyone wants to have a look at it, will be happy to share it..
EDIT:
Here, is how, I had implemented it in a class assignment,
https://github.com/npbendre/Bandwidth-Estimation-using-Packet-Pair-Probing-Algorithm
Hope this helps!