SPONSORED

CWND(しーだぶりゅえぬでぃー)

最終更新:2026/4/28

CWNDは、TCPコネクションにおいて送信側が未確認のデータを送信できる最大ウィンドウサイズを示すパラメータである。

別名・同義語 輻輳ウィンドウcongestion window

ポイント

CWNDは輻輳制御の重要な要素であり、ネットワークの状況に応じて動的に調整される。適切なCWNDの設定は、TCPのパフォーマンスに大きく影響する。

CWNDとは

CWND (Congestion Window) は、TCP (Transmission Control Protocol) における輻輳制御のメカニズムで用いられる重要なパラメータです。送信側が、相手側 (受信側) からの確認応答 (ACK) を待たずに送信できるデータの最大量を決定します。このウィンドウサイズは、ネットワーク輻輳状況に応じて動的に調整され、TCPコネクションの効率と安定性を保つ役割を担います。

CWNDの役割と仕組み

TCPは信頼性の高いデータ転送を実現するために、データの分割、順序付け、再送などの能を提供します。しかし、ネットワークが混雑している場合、パケットが失われたり遅延したりする可能性があります。CWNDは、このような状況を回避し、ネットワークに過剰な負荷をかけないように、送信レートを制御します。

CWNDは、受信側の受信バッファサイズ (RWND) と、送信側が推定するネットワークの空き容量に基づいて決定されます。送信側は、CWNDとRWNDのうち、小さい方を実際の送信ウィンドウサイズとして使用します。CWNDは、輻輳回避アルゴリズム (例: Slow Start, Congestion Avoidance) によって動的に調整されます。

  • Slow Start: コネクション開始時や輻輳が発生した後に、CWNDを指数関数的に増加させ、ネットワークの空き容量を素早く探ります。
  • Congestion Avoidance: CWNDが一定の閾値を超えると、CWNDを線形的に増加させ、輻輳を回避します。

CWNDと他のパラメータの関係

CWNDは、TCPのパフォーマンスに影響を与える他のパラメータと密接に関連しています。

  • RWND (Receiver Window): 受信側の受信バッファの空き容量を示します。送信側は、CWNDとRWNDのうち、小さい方を送信ウィンドウサイズとして使用します。
  • SSThresh (Slow Start Threshold): Slow StartからCongestion Avoidanceへの移行を決定する閾値です。
  • RTT (Round Trip Time): パケットが送信側から受信側へ往復するのにかかる時間です。RTTは、CWNDの調整に使用されます。

CWNDの重要性

適切なCWNDの設定は、TCPコネクションのパフォーマンスに大きく影響します。CWNDが小さすぎると、ネットワークの帯域を十分に活用できず、スループットが低下します。一方、CWNDが大きすぎると、ネットワークが混雑し、パケットロスが発生し、パフォーマンスが低下します。

参考文献

SPONSORED