輻輳制御
輻輳制御(ふくそうせいぎょ、英: congestion control)は、電気通信においてトラフィックを制御し、例えばパケットの転送レートを削減するなどして中間ノードやネットワークの許容量(処理能力やリンク数)を超過することによる輻輳さらには輻輳崩壊を防ぐことである。受信側が受信バッファの容量を超えてしまう処理超過を防ぐフロー制御とは異なる概念である。
最適な転送レートの割り当ては、以下を満たす。
max x ∑ i U ( x i ) {\displaystyle \max \limits _{x}\sum _{i}U(x_{i})}
ここで R x ≤ c {\displaystyle Rx\leq c}
この問題のラグランジュ双対は切り離され、各フローはネットワークにより伝えられた「価格」にのみ基づいて自身の転送レートを決定する。各リンクの容量が制約となり、ラグランジュ乗数 p l {\displaystyle p_{l}} が得られる。その総和
y i = ∑ l p l r l i {\displaystyle y_{i}=\sum _{l}p_{l}r_{li}}
がフローに対する価格になる。
従って、輻輳制御とはこの問題を解く分散最適化アルゴリズムに他ならない。現在使われている輻輳制御の多くはこのフレームワークでモデル化でき、 p l {\displaystyle p_{l}} は損失確率とされたり、リンク l {\displaystyle l} における遅延とされたりする。
このモデルの弱点は、全てのフローが同じ価格であると仮定する点である。実際にはフロー制御のウィンドウをスライドさせるとバースト的な転送が発生し、あるリンクでの損失や遅延が変化し、フローも変化する。