带宽不等于速度

带宽是管道。时延、抖动和丢包决定应用的实际体验。选对要测的那一个指标。

basics · 4 分钟阅读 · 第 9 / 10

带宽是链路的容量。时延是一个数据包走一趟要多久。抖动是时延的波动。丢包是永远到不了的包所占的比例。链路可以很宽,但往返时延、波动或丢包一差,用起来照样慢。要按应用选指标。

要点

  • 带宽是容量,时延、抖动和丢包决定交互式应用的使用感受。
  • 抖动是时延的波动。稳定的链路可能比时延大幅摆动的链路更好用。
  • 数据业务的丢包靠重传,会增加时延。实时媒体的丢包靠掩盖,会表现为一次卡顿或花屏。
  • 单条流的吞吐受 TCP 窗口和往返时延限制,不只是受链路速率限制。
  • ITU-T G.114 把单向 150 ms 放在适合多数语音用户的上限。

学完本模块,您能

  • 把带宽与时延、抖动、丢包分开看。
  • 按应用的敏感点选指标。
  • 设计测量窗口,写出可比较的路由测试报告。

带宽是管道

带宽是管道的直径:在链路条件下,每秒能通过多少比特。时延是路程:一个包走到对端要多久,算上往返,就是再回来一趟的时间。这是两个不同的测量,一个不能推出另一个。

100 Mbps 的链路在视频通话里也可能显得慢,因为通话根本不需要 100 Mbps。它需要的是一次足够短的往返、低到音频缓冲能吸收的抖动,以及低到编解码器不必掩盖空缺的丢包。标称速率说明不了这些。

带宽对批量传输、备份、视频上传和大量设备并发很重要,对造成时延和丢包的拥塞也很重要。但当有人说“链路很慢”,先问是哪个应用,再看这个应用在意四个指标里的哪一个。

对数刻度上的往返时延

40 毫秒

对数刻度上的往返时延
数值 含义
5 毫秒 同城
40 毫秒 区域路径
130 毫秒 洲际路径
400 毫秒 排队或长路径
5、40、130、400 ms 四个刻度只是参考区间,不是一条路由的目标。130 ms 是墨西哥城—上海这一对城市在路径系数 1.0 时的光纤直线下限。工具会套用场景里的 1.5 系数。 来源: 光纤时延下限与 TCP 吞吐计算器:物理说明
文字说明

刻度从 1 ms 到 1000 ms。同城路径靠左,区域路径在几十毫秒,洲际路径在低百毫秒。这些标记描述的是距离和排队,不是服务目标。实测往返还包括设备和实际路由,所以一定高于光纤下限。

抖动和丢包决定体验

抖动是一个包到下一个包的时延变化。一条流可以平均值很好,到达却很不均匀。实时媒体靠缓冲吸收波动。一旦波动超过缓冲,声音就断,画面就卡。

稳定的链路比时延大幅摆动的链路更好用。两者的平均值可能差不多。稳定路径让应用可以规划。摆动路径逼着应用去等慢尾,或者丢掉已经用不上的包。

丢包是第三个信号。数据应用重传,多一个往返,吞吐就下降。实时媒体掩盖丢包,表现出来就是一次卡顿。平均看起来很小的丢包率,可能集中成突发,伤害比平均值更大。

一个示意性的时延分布

一个示意性的时延分布
数值 区间 含义
p50 40 ms 典型数据包
p95 180 ms 慢速尾部
p95 − p50 140 ms 波动

示例,不代表我们网络的实测结果。

示意分布:p50 为 40 ms,p95 为 180 ms。两者之差就是应用必须吸收的波动。数字只是示意,不是对某张网络的测量。 来源: 示意模型;ITU-T Y.1540 与 Y.1541 定义了时延变化
文字说明

一半的包在 40 ms 以内到达,95% 的包在 180 ms 以内到达。140 ms 的差距就是应用要缓冲或丢弃的离散程度。换一张网络或换一个时段,分布会不同。要记住的是形状,不是具体数字。

按应用看典型阈值

来自 ITU-T G.114 与 Y.1541 的参考,不是您这条路由的目标。能不能用,由应用和编解码器决定。
应用测什么典型参考
交互式语音与视频单向时延、RTT、抖动、丢包G.114 认为单向 0–150 ms 对多数语音用户可接受,150–400 ms 属于过渡区,超过 400 ms 通常不可接受。
远程控制与游戏RTT 和丢包RTT 越高,响应越差。要测应用自己的往返,而不是一次 ping。
网页与 API 事务RTT、TTFB、丢包把域名解析、连接、服务器处理时间和首字节分开看。链路快,也可能在等服务器。
批量传输与备份吞吐、丢包、RTT单条流受窗口和 RTT 限制。增加并发流或放大窗口,可以提高吞吐。

这张表是教学参考,不是服务目标。每个数字都要带上窗口和路由。

ITU-T G.114 与 Y.1541:网络性能参考

在窗口里测,从两端测

从两端测,并且测一段时间。一次 ping 只采样一个瞬间的一个包。一次通话、一笔支付或一段视频,会在几分钟里用很多包。记录忙时的最小值、中位数、p95 和丢包,把路由和目的地跟数字放在一起。

要测应用实际走的那条路。公共测速工具测的是另一个目的地,往往还是另一条路由。只报吞吐的路由测试解释不了通话为什么卡。把吞吐和 RTT、抖动、丢包放在一起,并把本地段和国际段分开。

报告里要写窗口、源、目的和时段。四个缺一个,数字就没法跟另一个数字比较。中国连接说明讲了路径怎么搭起来,漫游说明讲了锚点为什么会改变距离。

一份有用的路由报告包含什么

路由报告要让别人能重做这次测试。记下源地址、目的地址、时间窗口、样本数量和工具或方法。只写平均 RTT 的报告,既没法复核,也没法比较。

要报分布,不只报平均。中位数描述典型包,p95 描述慢尾,最大值显示最坏情况。对实时应用来说,p95 和丢包比平均值更重要。

把各段分开。本地接入段、国际传输段和目的段,故障原因不同,责任方也不同。一个端到端数字会掩盖该修哪一段。

把原始样本和摘要一起留存,并写明日期。路由会变,没有日期的报告,会变成对一个已经不存在的网络的断言。

计算物理下限

工具按场景里的城市对和路径系数计算物理下限,不是对任何网络的测量。

两个城市之间光纤往返时延的物理下限。只算物理,不代表我们的网络。

pathFactor
1.5
打开工具

自测

  1. 100 Mbps 的链路在视频通话里显得慢:测什么,测多久?

    从设备到通话目的端测 RTT、抖动和丢包,连续几分钟,并覆盖忙时。只看吞吐解释不了通话体验。

  2. 为什么抖动可能比稳定的更高时延更糟?

    稳定时延让应用一次缓冲就能应对。波动大,应用就得等慢尾。落在缓冲之外的包会被丢弃或掩盖。

  3. 路由测试报告里该放哪个指标?

    四个都放,并带上窗口、源和目的。如果只能留一个标题指标,就用 RTT 配 p95 抖动和丢包,把吞吐作为背景。

答案按需展开。不评分、不存储、不外传。

常见问题

带宽就是速度吗?

不是。带宽是容量。速度是应用的使用感受,还取决于 RTT、抖动和丢包。

时延多少算好?

取决于应用。ITU-T G.114 把单向 150 ms 放在适合多数语音用户的上限。交互控制和游戏通常要求更低。

带宽变大,时延会降低吗?

不会直接降低。链路拥塞时,更大容量可以减少排队,但距离和路由决定了下限。

把结论用起来

告诉我们流量、目的地和需要的测量项,我们会回复下一步。