周辺端末の情報に基づく
輻輳ウィンドウサイズ適応制御方式の提案と評価
理学専攻 情報科学コース
飯尾 明日香1.

はじめに

現在，センシングデバイスは，スマートフォンや自動車のようなモバイル機器には不可欠な存在となっており，モバイル機器は，センサ情報を収集することで，精密な環境情報を取得できる．この環境情報をコンテキストと呼ぶが，通常，コンテキストは，スマートフォンの場合には，ユーザの操作性の向上や高度なアプリケーションの実現等，また，自動車の場合には，車両安定制御や道路情報の把握等に利用されている．
一方，近年 WLAN（Wireless Local Area Network）による通信が一般化しているが，WLAN において通信に用いられる通信パラメータは各々が独自のアルゴリズムに従って設定されており，その場の環境に応じた通信設定は行われない．
したがって，コンテキストを取得可能な端末であってもリソースを効率的に利用した通信が行われておらず，必ずしも最適ではない状態で通信を行っているという問題がある．そこで，本研究では，周辺情報を無線通信の上位層である TCP のパラメータ設定に利用し，各端末が周囲の状況に応じた最適な輻輳制御を行うことで，通信効率の向上を目指す．

2.

TCP 輻輳制御

2.1

輻輳制御の概要

輻輳とは，通信トラフィックが帯域やネットワーク機器の許容量を上回ることによって，パケット損失率が高くなる状態である．パケットロスが起こると，損失したパケットを再送するため，通信スループットは低下してしまう．TCP における輻輳制御とは，データ送信側が帯域の混雑具合を予測し，輻輳を防ぐための制御である．
TCP では，輻輳ウィンドウ（cwnd: congestion window）という，転送先からの ACK を受信することなく一度に連続して送り出せる最大のセグメント数を示すパラメー
タの大きさを調節することで，伝送レートを下げ，輻輳が起きないように制御している [1]．
特に高遅延環境においては，通信スループットへの影響が大きく，cwnd が大きくなれば，連続して送り出せるセグメント数も多くなり，通信スループットは高くなる．つまり，より賢い制御を行い輻輳が起きない範囲でcwnd を大きく保つことができれば，スループットは向上する．

2.2

現行の輻輳制御アルゴリズム

これまでに研究開発が行われ実装された TCP の輻輳制御アルゴリズムには，Reno や CUBIC に代表されるロスベース方式，Vegas に代表される遅延ベース方式があり，近年では，それらを組み合わせたハイブリット方式の提案も盛んに行われている．

ロスベース方式とは，正常な確認応答を受信したらcwnd を増加させ，パケットロスを検出すると輻輳とみなして cwnd を減少させる制御である．有線通信においては，通信エラーは一般に経路の混雑によるルータのバッファ溢れを示すため，この手法は効果的であるが，無線通信のように輻輳していなくてもパケットロスが発生する環境下においては，ノイズによる通信不良も帯域の混雑とみなしてしまうため，帯域を大きく余らせてしまうことがある．
遅延ベース方式とは，データ転送中に計測された RTTの実測値と理論値を比較し，輻輳が起こる前に適切なcwnd に調節する制御手法であり，ロスベースよりもパケットロスが少なく，帯域を有効に使用することが可能である．しかし，高遅延環境で，ロスベース方式と遅延ベース方式が混在する環境下では，パケットロスを検知するまで cwnd を増加させバッファを使い切ることができるロスベース方式に対し，遅延ベース方式は cwnd をほとんど増加できないため，スループットが低下してしまうことが一般的に知られている [2]．

3.

提案方式

3.1

コンテキストを利用した通信制御方式

本研究では，コンテキストが通信の性能改善にも有効であると考え，無線通信の上位層である TCP へ利用する．コンテキストとは，「実体を特徴づけることのできるあらゆる情報」と定義されている [3]．図 1 は，本稿で提案する制御方式の概要である．移動端末において，収集されたセンサ情報からコンテキストが生成され，このコンテキストを TCP の輻輳制御方式の改善に利用する．

図 1: センサから取得した環境情報を通信の上位層へ利用

3.2

TCP ocha

本稿では，TCP の輻輳制御方式に周辺端末数を利用することで，周囲の環境に応じた適切な cwnd に固定して通信を行う TCP ocha を評価に用いる．TCP ocha では，式 (1) のように，帯域幅と往復遅延時間である RTT（Round Trip Time）で帯域幅遅延積 [4] を求め，これを周辺端末間で均等に分けるように cwnd を決定し，それぞれの端末が周囲の状況に適した cwnd 値に固定して通信を行うことで，端末間の公平性の高い通信を実現する．
{
帯域幅遅延積 [bit] = 帯域幅 [bit/s] × RT T [s](1)cwnd = 帯域幅遅延積 ÷ 端末数

4.

検証実験

4.1

概要

AP（Access Point）から 200m の位置にある 40 台の端末が，AP を経由し，サーバにパケットを送信する (図2)．ここで，端末は走行中の自動車を想定し，全ての端末が時速 30km で移動しているものとした．
端末 40 台のうち，提案する TCP ocha，および，既存の TCP である NewReno，CUBIC，Vegas をそれぞれ
10 台ずつとし，4 種類の TCP が混在する環境で実験を行った．また，CUBIC や New Reno について，cwnd の値が大きくなり過ぎないよう上限値を設定した場合の評価も行った．シミュレーションパラメータを表 1 に示す．

図 2: ネットワークトポロジー
表 1: シミュレーションパラメータ
ネットワークシミュレータ Scenargie ver1.6
無線規格
電波伝搬モデルフェージングモデル
ドップラ速度
シミュレーション時間
伝送レート

RTT
端末と AP 間の距離
端末数
4.2

IEEE802.11g
TwoRayGround
RAYLEIGH
30km/h60s
6Mbps
200msec
200m
40 台

実験結果と考察各 TCP のスループットの内訳と，1 に近いほど端末間の公平性が高いとする公平性の指標である Fairness Index
をそれぞれ図 3 に示す．
図 3 の 2 つのグラフにおいて，それぞれ最も左側が，TCP が通常の振舞いをした場合の結果である．また，中央は，CUBIC の cwnd に上限を指定した場合の結果であり，右側は，CUBIC および NewReno のそれぞれのcwnd に上限を指定した結果である．ここで，指定するcwnd の上限値は，TCP ocha で用いた帯域幅遅延積を端末数で割った値とした．
それぞれのグラフの左側から，複数の TCP が混在する環境では，ロスベース方式の TCP である NewReno とCUBIC が，cwnd を大きく成長させてしまうため，他のTCP との公平性が保ちにくいことがわかった．そこで，それらの TCP にも周辺情報を利用して cwnd を制限することで，他の TCP もスループットが上昇し，端末間の公平性が大きく改善された．

図 3: （左）各 TCP のスループット内訳，（右）Fairness
Index

5.

まとめと今後の課題

モバイル端末を想定した WLAN 通信環境において，周辺端末数に基づき適切な cwnd サイズに定めて通信を行う TCP ocha を提案し，一般的に使用されている TCP である NewReno，Vegas，CUBIC と混在する環境で，その振舞いを評価した．また， ロスベース方式の輻輳制御を行う NewReno と CUBIC の cwnd にそれぞれ上限値を設定し，同様に振舞いを評価した．その結果，TCP の輻輳制御に周辺情報を利用することで，移動端末全体の公平性が大きく改善されることがわかった．
今後は，周辺情報を利用して cwnd を制御する TCP の振舞いをより細かく評価し，制御方式を提案したい．

謝辞
本研究を進めるにあたり，株式会社トヨタ IT 開発センターの Onur Altintas 氏，松本真紀子氏に大変有用なアドバイスをいただきました．深く感謝いたします．

参考文献[1] 西川 佳史，TCP 詳説（1999）
https://www.nic.ad.jp/ja/materials/iw/1999/notes/C3.PDF[2] 倉田 謙二，長谷川 剛，村田 正幸，”TCP Reno とTCPVegas の混在環境における公平性の評価”，電子情報通信学会技術報告 SSE99-98，pp.67-72，November 1999
[3] Day, Anind K., ”Understanding and Using Context”(2001). Human-Computer Interaction institute.Paper 34.
http://repository.cmu.edu/hcii/34[4] W.Richard Stevens 著，橘 康雄，井上 尚司訳（2000）『詳解 TCP/IP〈Vol.1〉プロトコル』ピアソンエデュ
ケーション 327pp.
[5] Scenargie Visual Lab：
http://www.spacetime-eng.com/