HPBN Ch01

 20th August 2020 at 2:19pm

Speed Is a Feature

影响速度的两个关键因素:latency(延迟)和 bandwidth(带宽):

The Many Components of Latency

影响延迟的因素有很多方面,需要系统地考虑:

  • Propagation delay:收发两方的距离除以速度,更重视传输材质的速度,比如光纤,传输速度一般是光速的某个常速倍。比如纽约到旧金山,用光纤要 21ms 才能到达,就是这个速度在起作用
  • Transmission delay:把数据推入网络设备(比如路由器)的速度,是数据长度除以设备数据速率,与距离无关。举个例子,你有个无线速率为 1 Mbps 的路由器,那么发一个 10 Mb 的文件需要 10s;如果路由器速率 100 Mbps,那么只需要 0.1s
  • Processing delay:网络设备收到包后,检查包头、校验数据、决定下一站等操作所需的时间。这个时间通常很短,但是也存在。还未被处理的包会被放在网络设备的缓冲区中,直到他们被处理
  • Queuing delay:包在网络设备缓冲区中等待的时间。比如你有个性能比较差的路由,但是你向它传输了大量的数据,它可能没法处理得很快,于是包必须在缓冲区中等待一段时间

Bufferbloat in Your Local Router

Bufferbload 是一种现象,表明 queuing delay 的确在影响网络质量。因为现在新的路由往往有着更大的缓冲区,它们会尽量避免丢包。而这会影响 TCP 的拥塞控制,可能会导致更多的超时重传、更不确定的延迟。有新的算法在着力解决这类问题。

Speed of Light and Propagation Latency

光纤存在折射率(refractive index),没法达到光速,一般传输同样距离,光纤所需的时间大约是光的 1.4-1.6 倍。光纤 1s 大约能走 200,000,000 米,折射率在 1.5 左右。

光纤的传播速度、与光速进行对比:

RouteDistanceTime, light in vacuumTime, light in fiberRound-trip time (RTT) in fiber
New York to San Francisco4,148 km14 ms21 ms42 ms
New York to London5,585 km19 ms28 ms56 ms
New York to Sydney15,993 km53 ms80 ms160 ms
Equatorial circumference40,075 km133.7 ms200 ms200 ms

但是上图的数据是基于光纤链路是条直线来算的,事实上并没有这么乐观,链路经常是弯来倒去的。所以 New York 到 Sydney,RTT 往往需要 200-300ms 时间。

但是对用户来说,300ms 的延迟往往难以接受。所以在开发应用程序的每个阶段,网络延迟都是一个重要的考虑因素。

Note

传输的延时难以解决,但是可以通过将用户与服务器的距离拉近,来减少总的延时。CDN 就是这样做的。

Last-Mile Latency

最后一公里延时,是指在离终端用户最近的地方,往往有明显的延时(几十 ms)。这跟 ISP(网络服务供应商)对终端的部署有关系,比如你的社区如果还没有接光纤,那么很可能用的是 ADSL 这种技术,而 ADSL 在延时上(30-65ms)会明显慢于光纤(10-20ms)。而且数据包从社区的设备传输到 ISP 的骨干网(core network),往往又有明显的延时。

Bandwidth in Core Networks

光纤在带宽方面具有明显的优势,因为每根光纤都可以通过称为波分复用(wavelength-division multiplexing, WDM)的过程承载许多不同的光波长(信道)。因此,光纤链路的总带宽是 每信道数据速率 和 多路复用信道的数量 的倍数。

信道的英文叫 channel。

截至 2010 年初,研究人员已经能够复用 400 多个波长,每个信道的峰值容量为 171 Gbit/s,这意味着单个光纤链路的总带宽超过 70 Tbit/s。

Bandwidth at the Network Edge

network edge 即是指离用户近的这端。速度受限于终端的部署技术,比如拨号上网、ADSL、光纤等,同时还受限于家里的路由或者 ISP 的路由。

Speedtest 网站可以测试你到本地 ISP 服务器的延迟和带宽。但是不代表你使用其他网络服务时,也能达到相同的带宽。网络拥塞的原因多种多样。

Delivering Higher Bandwidth and Lower Latencies

未来的优化方向有很多,比如把更多链路换成光纤的,优化 WDM 技术,把数据分布到离用户近的位置等。但是光速的限制是解决不了的,现在的链路能达到 ~2/3 光速,能提升的空间也只有 30% 左右。

因此,在架构、协议设计和应用开发中,需要时刻考虑延迟和带宽因素。