解説論文
インターネットにおけるふくそう制御アルゴリズム
Summery 最近の5年間で,インターネットにおけるふくそう(輻輳)制御アルゴリズムに関する論文数がV字回復してきている.本稿では,そもそもなぜ,輻輳制御アルゴリズムが必要なのかという観点から,輻輳崩壊,Bufferbloatといったインターネットにおける輻輳問題について述べる.また,インターネット史上において,代表的な輻輳制御アルゴリズムを紹介し,輻輳制御アルゴリズムの研究領域と研究手法について述べる.更に,輻輳制御アルゴリズムの最近の研究動向と今後の展望について述べる.
Key Words TCP,輻輳制御アルゴリズム,輻輳,インターネット
1
はじめに
最近の5 年間で,インターネットにおけるふくそう(輻輳)*1 制御アルゴリズム(congestion controlalgorithm)に関する論文数がV 字回復してきている.IEEE Xplore(1)において,“Internet congestioncontrol”のキーワード検索により,2002〜2006 年,2007〜2011 年,2012〜2016 年,2017〜2021 年の期間でヒットする論文の本数は,それぞれ1,577,1,247,795,1,117 本である*2.2012〜2016 年辺りの期間は,輻輳制御アルゴリズムに関する研究の冬の時代であった.2016 年にGoogle 社が発表したBBR(bottleneck bandwidth and round-trip propagationtime(4))の登場や機械学習の隆盛もあり,ここ5 年間は,世界的に輻輳制御アルゴリズムに関する研究が再び盛り上がってきていると言える.
本稿では,まず,そもそもなぜ,輻輳制御アルゴリズムが必要なのかという観点から,輻輳の定義から始め,輻輳崩壊,Bufferbloat といったインターネットにおける輻輳問題について概説する.続けて,インターネット史上において,代表的な輻輳制御アルゴリズムを紹介する.また,輻輳制御アルゴリズムの研究領域と研究手法についてまとめる.更に,輻輳制御アルゴリズムの最近の研究動向と今後の展望について述べる.最後に,本稿をまとめる.
2
輻輳と輻輳制御アルゴリズム
2.1 輻輳
本節では,そもそもなぜ,輻輳制御アルゴリズムが必要なのかということを理解するため,輻輳の定義と,インターネットにおいて歴史的に重要な輻輳問題について取り上げる.
2.1.1 輻輳の定義
本稿では輻輳(congestion)を,通信経路上でボトルネックとなる回線(ボトルネックリンク,bottleneck link)への入力負荷が回線容量(帯域,bandwidth)を超過することに伴って,ボトルネックリンクのバッファ*3 において,パケット待ち行列 (packet queue),ある
†
福島大学,福島市
Fukushima University,Fukushima-shi,960-1296 Japan
*1 本会では,「輻輳」は文部科学省学術用語集電気工学編に従って「ふくそう」を使用しているが,本記事では著者の希望により「輻輳」と記述する.
*2 文献(2)における,Web of Science(3)のサイトでのキーワード検索に基づくグラフからも,2012 年付近での輻輳制御関連の論文数の落ち込みと,その後の回復が確認できる.
*3 厳密には,ボトルネックリンクの手前にあるノードに搭載されたバッファ.