TCP CUBIC(てぃーしーぴー きゅーびっく)
最終更新:2026/4/28
TCP CUBICは、TCP輻輳制御アルゴリズムの一つであり、ネットワークの帯域幅を効率的に利用するために設計された。
別名・同義語 キュービックTCP 輻輳制御
ポイント
CUBICは、ウィンドウサイズの増加を立方関数的に行うことで、ネットワークの利用可能な帯域幅を迅速に探索し、高いスループットを実現する。
TCP CUBICとは
TCP CUBICは、2006年に発表されたTCP輻輳制御アルゴリズムです。従来のTCP RenoやTCP NewRenoといったアルゴリズムと比較して、高帯域幅・高遅延のネットワーク環境において、より高いスループットと公平性を実現するように設計されています。
CUBICの動作原理
CUBICの基本的な考え方は、輻輳ウィンドウ(cwnd)の増加量を、ネットワークの利用可能な帯域幅に応じて調整することです。具体的には、cwndの増加量を立方関数的に変化させます。cwndが小さい間は急激に増加させ、cwndが大きくなるにつれて増加量を抑制することで、ネットワークに過剰な負荷をかけずに、効率的に帯域幅を探索します。
CUBICは、以下の3つのフェーズで動作します。
- プロビングフェーズ: cwndが小さい場合に、cwndを急激に増加させ、ネットワークの利用可能な帯域幅を探索します。
- 成長フェーズ: cwndがある程度大きくなると、cwndの増加量を徐々に抑制し、ネットワークの負荷を調整します。
- バックオフフェーズ: 輻輳が発生した場合、cwndを減少させ、輻輳を回避します。
CUBICの利点
- 高いスループット: 高帯域幅・高遅延のネットワーク環境において、高いスループットを実現できます。
- 高い公平性: 複数のTCP接続が共存する場合でも、公平に帯域幅を分配できます。
- 実装の容易さ: 比較的シンプルなアルゴリズムであり、実装が容易です。
CUBICの欠点
- 初期遅延: ネットワークの開始時に、cwndが小さい間はスループットが低い場合があります。
- 輻輳回避の遅延: 輻輳が発生した場合、cwndの減少に時間がかかる場合があります。
CUBICの利用状況
現在、多くのオペレーティングシステムやネットワーク機器で、デフォルトのTCP輻輳制御アルゴリズムとしてCUBICが採用されています。Linuxカーネルでは、2.6.19以降のバージョンでCUBICがデフォルトとなっています。