Google、TCPのスループットとレイテンシを改善する輻輳制御アルゴリズム「TCP BBR」をGoogle Cloudで利用開始

2017年7月27日

Googleは、同社が開発したTCPの輻輳制御アルゴリズム「TCP BBR」をGoogle Cloud Platformで利用可能にしたと発表しました

インターネットにおける通信にはTCPを用いる場合とUDPを用いる場合に分かれますが、BBRはTCPにおける輻輳制御アルゴリズムを改善したもの。すでにGoogleはTCP BBRをYouTubeのネットワークで利用しており、従来のパケットロスをベースにした輻輳制御アルゴリズムであるCUBICを用いた場合と比較して、スループットが平均で4%、最大で14%以上改善したことを明らかにしています。

TCP BBRは現在の高速なネットワークに適した輻輳制御アルゴリズム

TCP BBRのBBRは「Bottleneck Bandwidth and Round-trip propagation time」の略で、Googleが高速なインターネットに対応したTCP用の輻輳制御アルゴリズムおよびその実装などを指します。

Googleによると、従来のパケットロスを観測することでTCPの輻輳を検出し制御するアルゴリズムは、最近のコモディティスイッチを利用した高速なネットワークには適しておらず、同社は新しいアルゴリズムをゼロから作り上げる必要があったと説明しています。

少し長いのですが、BBRの仕組みを解説している部分を引用しましょう。

We need an algorithm that responds to actual congestion, rather than packet loss. BBR tackles this with a ground-up rewrite of congestion control. We started from scratch, using a completely new paradigm: to decide how fast to send data over the network, BBR considers how fast the network is delivering data.

私たちはパケットロスではなく、実際の輻輳に対応したアルゴリズムを必要としている。BBRは輻輳制御をゼロから書き直すことでこの課題に挑戦したものである。そこではまったく新しいパラダイムを用いている。ネットワークにどれだけ高速にデータを送るべきなのかを決定するために、BBRはそのネットワークがどれだけ高速にデータを送信しているのかを考慮するのだ。

For a given network connection, it uses recent measurements of the network's delivery rate and round-trip time to build an explicit model that includes both the maximum recent bandwidth available to that connection, and its minimum recent round-trip delay. BBR then uses this model to control both how fast it sends data and the maximum amount of data it's willing to allow in the network at any time.

まず、いま利用しているコネクションに対して、ネットワークの帯域幅とラウンドトリップタイムを計測し、そのコネクションで最大の帯域幅が直近でどのくらいか、ラウンドトリップの遅延の最小値がどれくらいか、その両方について明示的なモデルを作成する。BBRはそのモデルを用いて、どのくらいの通信速度で、最大どれほどの量のデータ送信をネットワークが許容するのかをつねにコントロールしている。

fig

TCP BBR採用でGoogle Cloud Platformの通信が高速に

Google Cloud PlatformでTCP BBRが利用可能になったことで、Google Cloud Platform内でCloud BigtableやCloud SPannerなどのデータベースサービス、ストレージサービスのCloud Strageなどに対してTCP BBRでの通信が行われるため、より高速なサービスの利用が可能になるとのこと。

またGoogle Cloud Load BalancingやGoogle Cloud CDNはTCP BBRを用いてWebブラウザと通信を行うため、Webページなどがより高速に表示されるとのことです。

あわせて読みたい

Google Cloud クラウド Google




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本


<!- script for simple analytics events -->