【问题标题】:How can i get the available bandwidth rate?我怎样才能获得可用的带宽速率?
【发布时间】:2011-02-22 17:41:06
【问题描述】:

我们有一个 DSL,我们如何计算可用带宽以便我们可以整形数据包,我们可以假设以太网接口上的带宽为 100mbps 但是,在 DSL 设备中,列车速率(带宽速率)会根据不同的情况而有所不同。 我怎样才能获得可用的带宽速率(从不同)? 有什么方法可以获取可用带宽值吗?

【问题讨论】:

  • 每个网络接口都可能不同...您不能保证 100mbps;它只是它可以传输的速度。
  • 嗨,亚伦先生!所以知道如何确定可用带宽先生吗?
  • 您能详细解释一下您计划如何“塑造数据包”吗?你的目标是什么?
  • 我现在找不到它,但 Google 的测量实验室 (measurementlab.net) 有一个 API 可以测试我们的互联网连接速度。 µTorrent 是使用此服务的应用程序。

标签: c# windows networking network-programming bandwidth


【解决方案1】:

“带宽”不是您可以为单台计算机确定的。作为最低要求,您需要指定两个端点。即使您假设以太网上的 100 mbps 也可能是错误的,因为电缆或其他端点可能无法提供完整的传输速率。通常这是通过网络传输中的Quality of Service 功能来完成的,这并不是一件容易的事情。

在我们的多人游戏中(使用 UDP),我们成功地使用了Packet Pair Probing,即使它不是通用的,它也是我们尝试过的所有方法中最可靠的。恐怕更详细地描述它超出了这个答案的范围,但是this answer 用易于理解的术语很好地描述了非常相似的东西:

基本上,如果您从零带宽开始并增加带宽使用,延迟会非常缓慢地增加 - 直到您达到大约 90% 的带宽。然后等待时间越过屋顶,达到另一个高原,之后又缓慢增加。

【讨论】:

    【解决方案2】:

    每次从任何地方将数据包注入网络时,可用带宽都会发生变化。它不能通过任何 API 获得。 TCP/IP 已经进行了“数据包整形”。你的目标不明确。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-04
      • 2017-05-25
      • 1970-01-01
      • 2013-01-12
      • 1970-01-01
      • 2018-04-05
      • 2023-03-21
      • 2017-08-12
      相关资源
      最近更新 更多