Skip to content

Lec 3 网络辅助拥塞控制(Network-assisted Congestion Control)

阅读资料

端到端方案的局限:仅靠丢包这一单比特、隐式信号,在高带宽时延积 (high Bandwidth-Delay Product, BDP) 网络里反应迟钝。本讲让路由器主动参与。

总览

  • 端到端([[End-to-End-Congestion-Control]])的局限:高 BDP 下隐式信号太慢
  • XCP:路由器给显式多比特反馈,并解耦效率与公平
  • PIE:以排队时延为控制量的主动队列管理(治 bufferbloat)
  • 小结:显式反馈 vs 部署代价

4.1 XCP:显式多比特反馈

Katabi, Handley & Rohrs, Congestion Control for High Bandwidth-Delay Product Networks (SIGCOMM 2002)。

定义 · 带宽时延积 (BDP) $$\text{BDP} = \text{瓶颈带宽} \times \text{RTT}$$ 即"管道容量"。BDP 越大,TCP 用 AIMD 填满管道所需的 RTT 数越多,且单次丢包减半的代价越高。

XCP 的关键创新是解耦 (decoupling) 效率控制与公平控制:

  • 效率控制器 (Efficiency Controller, EC):以聚合方式调节总流量,目标是榨干带宽并清空队列。路由器为每个 RTT 计算聚合反馈ϕ=αd¯(Cy)βQ其中 C 为链路容量、y 为输入流量、Q 为持续队列长度、d¯ 为平均 RTT。ϕ>0 时分配冗余带宽,ϕ<0 时排空队列。
  • 公平控制器 (Fairness Controller, FC):用 AIMD 式"带宽洗牌"把 ϕ 分摊到各流,正反馈时人人加同样的量,负反馈时按比例减——再现 AIMD 的公平收敛性,但作用在聚合层面

机制上,每个分组携带拥塞头 (congestion header),写入发送方期望的 cwnd 增量与 RTT;路径上每个路由器只能把反馈调小。

推论
解耦让 EC 可以用激进的(接近 MIMD)方式快速逼近满载,而不必担心破坏公平——因为公平由独立的 FC 维持。这正是 XCP 在高 BDP 下远胜 TCP 的根源。代价是需要路由器改造,难以增量部署。

4.2 PIE:面向时延的主动队列管理

PIE (Proportional Integral controller Enhanced) RFC 针对缓冲膨胀 (bufferbloat)——大缓冲区被持续填满导致排队时延飙升。

定义 · 主动队列管理 (Active Queue Management, AQM)
路由器在队列溢出之前就按概率丢弃/标记分组,提前向发送方示警。RED 以队列长度为控制量;PIE 直接以排队时延为控制量。

PIE 用比例–积分 (PI) 控制器更新丢弃概率 p

pp+α(delaytarget)+β(delaydelayold)

第一项(积分/比例)盯住与目标时延的稳态偏差,第二项(导数趋势)抑制振荡。由于直接控制时延,PIE 对链路速率变化与突发更鲁棒,且实现轻量、无需逐包状态。

本讲小结

高 BDP 下纯端到端的隐式丢包信号太慢。XCP 让路由器在拥塞头里给显式多比特反馈,并把效率控制(榨满带宽、清空队列)与公平控制(AIMD 式洗牌)解耦,从而能激进逼近满载又不破坏公平——代价是要改造路由器、难增量部署。PIE 是一种 AQM,直接以排队时延为控制量、用 PI 控制器调丢弃概率来治 bufferbloat,轻量且对速率变化鲁棒。再往后,[[Modern-Congestion-Control]] 的 ABC 把显式反馈压到单比特以便增量部署。