【てぃーしーぴーふくそうせいぎょ】

TCP輻輳制御 とは?

💡 渋滞を感知して自動ブレーキ!TCPの交通整理係
📌 このページのポイント
TCP輻輳制御のサイクル 送信量 時間 スロー スタート 輻輳回避 ロス検知! 再び増加 指数的に送信量を増やす 慎重に増やす ロスで急減速
TCP輻輳制御のイメージ
ひよこ ひよこ

輻輳制御って何で必要なの?みんな全力で送ればいいんじゃないかな?

ペンギン先生 ペンギン先生

全員が全力で送ると、ルーターのバッファが溢れてパケットが大量に捨てられるんだ。すると再送が増えてさらに混雑する悪循環に陥る。これを輻輳崩壊というよ

ひよこ ひよこ

どうやって渋滞を検知するの?

ペンギン先生 ペンギン先生

パケットロスRTTの増加で判断するよ。最初はスロースタートで少しずつ送信量を増やして、ロスが起きたら一気に減速する。高速道路の合流みたいに、様子を見ながらアクセルを踏むイメージだね

ひよこ ひよこ

CUBICとかBBRって何が違うの?

ペンギン先生 ペンギン先生

CUBICはパケットロストリガーに制御する伝統的な方式で、Linuxの長年のデフォルトだよ。BBRはGoogleが開発した方式で、RTT帯域幅を推定して最適な送信量を計算するんだ。長距離回線ではBBRの方がスループットが出やすいよ

ひよこ ひよこ

普段意識しなくても大丈夫なのかな?

ペンギン先生 ペンギン先生

普通のWeb利用なら意識しなくて大丈夫だよ。ただサーバー管理者やクラウドエンジニアはBBRへの切り替えでパフォーマンスが劇的に改善するケースもあるから、知っておくと武器になるよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
TCP輻輳制御」って出てきたら「ネットワークの渋滞を防ぐ自動ブレーキ」と思えればだいたいOK!
📖 おまけ:英語の意味
「TCP Congestion Control」 = TCP輻輳制御
💬 Congestion(混雑・渋滞)をControl(制御)するという意味で、道路の渋滞制御と同じ発想だよ
← 用語集にもどる