拥塞控制算法的理论类型

拥塞控制算法的理论类型

KCC

理论类型:控制论 + 排队论 + 流体动力学

核心模型:将数据包序列视为连续流体,瓶颈队列服从流体动力学方程:

dqdt=r(t)−C\frac{dq}{dt} = r(t) - Cdtdq=r(t)−C

控制目标是调节发送速率 (r(t)),使排队延迟 (T_{\text{queue}} = q/C) 保持在目标范围内。

离散时间下的 Lindley 递归:

qk+1=max⁡(0,qk+wk⋅MSS−C⋅Tprop)q_{k+1} = \max(0, q_k + w_k \cdot \text{MSS} - C \cdot T_{\text{prop}})qk+1=max(0,qk+wk⋅MSS−C⋅Tprop)

数学工具:Lindley 递归(排队论)、卡尔曼滤波(状态估计)、ISS/Lyapunov 稳定性分析(控制论)。


BBR

理论类型:基于测量的启发式

核心模型:显式测量带宽 (BW) 和最小 RTT((RTprop)),计算管道容量:

BDP=BW×RTpropBDP = BW \times RTpropBDP=BW×RTprop

控制律为增益调度((g \in {1.25, 0.75, 1.0}))。

数学工具:滑动窗口最大/最小滤波。无控制论稳定性证明。


COPA

理论类型:凸优化 / 马尔可夫决策

核心模型:目标速率:

r∗=1δ⋅dqr^* = \frac{1}{\delta \cdot d_q}r∗=δ⋅dq1

其中 (d_q) 为排队延迟。在马尔可夫包到达模型下优化吞吐量与延迟的加权函数。

数学工具:马尔可夫链、凸优化收敛性分析。


PCC

理论类型:无模型在线学习

核心模型:通过 Monitor Interval 实验测量不同速率下的实际性能(吞吐量、延迟、丢包),用梯度上升优化效用函数。不假设网络结构。

数学工具:在线凸优化、梯度上升。


DCTCP

理论类型:ECN 比例反馈控制

核心模型:交换机 ECN 标记比例 (\alpha) 作为拥塞信号,窗口 reduction = (\alpha/2)。队列目标为稳定在标记阈值附近。

数学工具:线性比例控制。依赖硬件 ECN 支持。


CTCP

理论类型:双组件混合启发式

核心模型:丢包组件(Reno AIMD)+ 延迟组件(排队延迟小则额外增窗),两窗口求和。延迟组件为启发式规则。

数学工具:无形式化数学模型。


CUBIC

理论类型:丢包事件驱动的非线性启发式

核心模型:窗口增长为三次函数:

W(t)=C⋅(t−K)3+WmaxW(t) = C \cdot (t - K)^3 + W_{\text{max}}W(t)=C⋅(t−K)3+Wmax

以丢包事件为拥塞信号。

数学工具:无控制论框架。


Reno

理论类型:丢包事件驱动的线性启发式

核心模型:AIMD------加性增(每 RTT (+1))、乘性减(丢包时减半)。唯一信号为丢包事件。

数学工具:无数学模型。


汇总

算法 理论类型
KCC 控制论 + 排队论 + 流体动力学
BBR 基于测量的启发式
COPA 凸优化 / 马尔可夫决策
PCC 无模型在线学习
DCTCP ECN 比例反馈控制
CTCP 双组件混合启发式
CUBIC 丢包事件驱动的非线性启发式
Reno 丢包事件驱动的线性启发式