• 検索結果がありません。

実験結果と考察

ドキュメント内 無線 (ページ 64-70)

第 3 章 802.11n 無線 LAN 上の

3.2 実験結果と考察

以上のような条件の実験を50回程度⾏った.結果はいずれも同様の傾向を⽰した.実 験の1つについて,その結果を詳細に述べる.

図3.3に,送信側でキャプチャしたTCPセグメントのシーケンス番号から計算した0.5 秒ごとのスループットの時間変化を⽰す.最初のAPから遠い地点では3〜5Mbps程度,

移動中は徐々に上昇し,APに近い地点では80〜100Mbps程度のスループットとなってい

0 20 40 60 80 100 120

0 30 60 90 120

Throughput (Mbps)

time (seconds)

図 3.3: 0.5秒単位の平均スループットの時間変化

0 50 100 150 200 250 300

0 30 60 90 120

Rate (Mbps)

time (seconds)

図 3.4: 無線データレートの時間変化

る.再度,移動中には徐々に下降し,遠い地点でのスループットは4〜6Mbps程度となっ た.⼆度の遠い地点でのスループットの違いは,設置場所の微妙な違いによって無線環 境が変化したためと考えられる.図3.4に,無線LANドライバから収集した選択された データレートの時間変化を⽰す.遠い地点では6.5Mbpsなどの低いレートが,近い地点

では216Mbps以上の⾼いデータレートが選択されており,得られるスループットに⼤き

な影響を与えている.

0 100 200 300 400 500 600 700 800 900 1000

0 30 60 90 120

Congestion Window (Segments)

time (seconds)

図 3.5: TCP輻輳ウィンドウの時間変化

図3.5にtcpprobeにより取得したTCPの輻輳ウィンドウサイズを⽰す.ウィンドウサ イズはセグメント数で表している.今回のネットワークの帯域幅遅延積は,仮に最⼩RTT が1ミリ秒,最⼤の帯域幅を300Mbpsとした場合,25セグメント分(37.5kB程度)であ る.図3.5で⽰されている輻輳ウィンドウの値は全体を通して帯域幅遅延積をはるかに超 える値となっており,このことから,端末の移動を⾏っても輻輳ウィンドウに起因するス ループット低下はなかったと考えられる.しかし,⾼遅延のネットワークでは必要とされ る帯域幅遅延積はより⼤きいので,ウィンドウの⽋乏によるスループットの低下は起こり うると考えられ,さらなる検証が必要である.

図 3.6: TCPセグメント毎のRTT

図3.6は,セグメント毎のRTTの時間変化を表している.なおこの値は,TCPセグメ ントに付与されているTCPタイムスタンプオプションから導出したものであり,送信側 端末で,ACKセグメントを受信するごとに求めている.遠い地点にてRTTが⼤きく上昇 しており,最初の遠い地点では4秒,⼆度⽬では1.5秒程度のRTTが⾒られている.30 秒付近の移動時に急激にRTTが下がり,近い地点ではRTTが増加することなく安定し ている.遠い地点では,過度に⼤きいRTTを記録していることから,802.11nにおいて もBufferbloat問題が発⽣しているものと考えられる.

図3.7 に,データが送信される前に待つキューの⻑さを⽰す.送信待ちのためには,2 種類のキューが存在する.Linuxカーネルにおいて,IP層で送信されたパケットが無線 LANドライバに渡される前にバッファリングされるキュー(最⼤1000パケット)と,無 線LANドライバ内の送信待ちキュー(最⼤124パケット)である.図は2つのキューに

⼊っているパケット数を合計した数を⽰している.前者のキュー⻑の取得は,独⾃のプロ グラムをユーザ空間で動作させ,短間隔のポーリングでキュー⻑を問い合わせることによ り⾏った.後者のキュー⻑の取得は,無線LANドライバを改修し,無線LANコントロー

0 100 200 300 400 500 600 700 800 900 1000

0 30 60 90 120

Send Queue Size (packets)

time (seconds)

図 3.7: 送信待ちキュー⻑の時間変化

ラに対して送信コマンドを実⾏する時点でログに出⼒することで⾏っている.図3.7と図 3.5の2つのグラフから,以下がいえる.

図3.7に⽰したキュー⻑は,値が頻繁に上下しているが,その上限の値は図3.5の輻輳 ウィンドウの値に対応している.これは,輻輳ウィンドウ分のセグメントが,そのまま送 信待ちキューにつながれるタイミングが存在することを意味する.従って,輻輳ウィンド ウサイズがキューイングされるパケット数に⼤きな影響を与えていることが分かる.

その⼀⽅で,キュー⻑は頻繁に振動している.キューに格納されたTCPのデータセグ メントがキューから取り出され無線LANに送信されることでキュー⻑が減少する.これ らのデータセグメントをサーバが受信し,対応するTCPのACKセグメントを送信.そ のACKセグメントを送信端末のTCPが受信することで,TCPのウィンドウが開き,次 のデータセグメントが送信され,キュー⻑が増加する.これらの⼀連の挙動を繰り返すこ とで,キュー⻑の振動が発⽣している.

ここで注意すべきなのは,キュー⻑も,キューにおける振動の様⼦も,端末の位置(AP から遠い地点と近い地点),従ってレートの⼤⼩に関係なく同様の振る舞いをとることで

ある.特に,レートの⾼い近い地点においても,キュー⻑が0になることはない,従って,

キュー⻑を観測しただけでは,遅延の⼤⼩は推定できないといえる.

送信待ちキューの⻑さはその時点のRTTと関連する.例えば,図3.7の 100秒以降

(後半の遠い地点)では,キュー⻑が800パケットを中⼼にして振動している.図3.3よ り,その場合のTCPスループットは6Mbps程度であることがわかる.従って,RTTは 1500[Bytes/pkt]×800[pkt]/6[M bps]から求められ,1.5秒となる.図3.6に⽰されたRTT の実測値は,この区間で1.5秒付近を中⼼に上下しており,対応がとれていることが分 かる.

今回実験で使⽤したCUBICは,セグメント損失に限り輻輳ウィンドウを減少させる.

図3.5では輻輳ウィンドウの減少が全体で9回であることが分かる.⾔い換えれば,通信 全体で9個程度のセグメント損失しか発⽣していない.さらに低いレートが⽤いられた遠 い位置においてはセグメント損失は発⽣していない.これは802.11nによる再送機能が有 効に働いた結果である.

このような結果から,次のことが分かる.まず,端末とAPの距離が近い地点では,無線 LANデバイスドライバは216Mbpsや243Mbpsなどの⾼いデータレートを選択し,TCP 輻輳ウィンドウが⼗分に⼤きくなっていることから,⾼速なTCP通信が可能である.⼀

⽅,端末とAPの距離が遠い地点においては,6.5Mbpsや13.5Mbpsなどの低いデータレー トに低下し,それに伴ってTCPスループットも低下している.そして,RTTの顕著な増 加があるが,これはBufferbloat問題が発⽣していることを⽰す.120秒間を通してセグメ ント損失の数はそれほど多くはなく,特に距離が遠い地点ではその傾向は顕著である.そ の影響を受けてCUBICでは輻輳ウィンドウが増加する.TCPの輻輳ウィンドウの⼤き さに対応したパケット数が,送信キューにつながれる.これは無線LANのデータレート が⾼い場合も低い場合も同様である.しかし,データレートが⾼い場合はキューのパケッ トが⾼速に転送されるため,RTTは⼩さい.他⽅,データレートが低い場合は,キュー につながれたパケットを転送するために時間がかかり,RTTが増加している.

ドキュメント内 無線 (ページ 64-70)