我们有一个DSL,我们如何计算可用带宽以便对数据包进行整形,我们可以假设以太网接口上的带宽为100 rate。然而,在DSL设备中,训练速率(带宽率)根据不同的情况而不同。如何获得可用的带宽速率(从varies获得)?有什么方法可以获取可用带宽值吗?
发布于 2011-02-23 01:45:48
“带宽”不是您可以为一台计算机确定的东西。至少需要指定两个端点。甚至你在以太网上100 mbps的假设也可能是错误的,因为电缆或另一个端点可能无法达到完整的传输速率。通常,这是由合并到网络传输中的Quality of Service功能完成的,这并不是一件容易的事情。
在我们的多人游戏中(使用UDP),我们已经成功地使用了Packet Pair Probing,即使它不是通用的,它也是我们尝试过的所有方法中最可靠的。我担心这超出了这个答案的范围,但this answer用容易理解的术语很好地描述了一些非常相似的东西:
基本上,如果您从零带宽开始并增加带宽使用,延迟会非常缓慢地增加-直到您达到约90%的带宽。然后延迟突破顶峰,达到另一个平台期,之后又缓慢增加。
发布于 2011-02-23 06:25:52
每次从任何位置将数据包注入网络时,可用带宽都会发生变化。不能通过任何API访问。TCP/IP已经完成了“数据包整形”。你的目标不明确。
https://stackoverflow.com/questions/5081740
复制相似问题