今日(米国時間7/20)Googleは、google.comやYouTubeなどのネットワークスループットを全世界で約4%改善した新しい輻輳制御アルゴリズム、TCP BBRを、Cloud Platformユーザーにも開放すると発表した。
基本的な考えは、既存のインターネットトラフィック用輻輳制御アルゴリズムを改善することにある。現在使われているのは 1980年代からあるもので、パケットロスのことしか考慮していなかった(ネットワーキングバッファーがいっぱいになると、ルーターは新しいパケットを捨てる)。こうしたアルゴリズムは過負荷にならないためにはデバイスがどれだけ速くネットワークにデータを送ればよいかを決定する。最終目的地に到達しないデータパケットの存在にシステムが気づくと、データをゆっくり送る。理想的にはこれで輻輳を減らすことができる。これを実現する(そしていずれはまたスピードアップする)ためのアルゴリズムは数多く存在するが、核となる部分はみな同じパターンを踏襲している。
“Bottleneck Bandwidth and Round-trip propagation time”[ボトルネック帯域幅往復伝搬時間]を意味するBBRは、異なるアプローチをとる。パケットロスだけでなく、ネットワークが実際にデータを届ける速さを考慮する。「あるネットワーク接続について、ネットワーク転送速度および往復時間の最新データを使って、この接続で利用できる直近の最大帯域幅と、最低往復遅延時間を含む明示的モデルを構築する」とGoogleは説明する。次にBBRがこのデータを利用してデータを送る速さを決める。
その結果、このアルゴリズムは与えられた時間内に(パケットロス無しに)より多くのデータを送ることができる。長距離のリンクでは特に顕著だ。Googleは、あるベンチマークでスループットが2700倍になったと言っているが、もちろんそれは人工的なベンチマークの極端なケースだ。
GoogleがBBRについて公の場で話したのは昨年の論文が最初で、その後プロトコルをオーブンソース化した。GoogleはLinuxのカーネルTCPスタックにも貢献している。
[原文へ]
(翻訳:Nob Takahashi / facebook )