無線 LAN 環境におけるTCP フロー間の公平性改善手法の提案とその評価
Fairness Improvement of Hybrid TCP Congestion Control Mechanisms in Wireless LAN Environment
長谷川剛 2Go Hasegawa

村田正幸 1
Masayuki Murata

大阪大学 情報科学研究科 1Graduate School of Information Science and Technology, Osaka University

まえがき
近年のネットワークの高速，大規模化にともない，エンドホスト間のネットワークパスの利用できるネットワー
クの帯域遅延積が増大している．このような高速・高遅延ネットワーク向けにさまざまな TCP 改良手法の提案が行われている [1] ．それらは，ネットワーク輻輳の指標により loss-based 手法，delay-based 手法および hybrid手法に分類でき，それぞれ，パケット廃棄の発生，ラウンドトリップ時間 (RTT) の増減，およびそれらの両方を指標として用いる．
一方，無線ネットワーク技術の向上により，無線 LANなどを通したインターネットアクセスが一般的になりつつあるが，無線 LAN 環境において，TCP フロー間のスループットに関して不公平が生じることが指摘されている [2]．無線ネットワーク環境は今後も高速化される傾向にあるため，高速・高遅延ネットワーク向けの delaybased 手法や hybrid 手法がそのまま利用されることは十分考えられる．このため，無線 LAN 環境においてこれらの TCP 改良手法のフロー間の公平性を保つことが必要となると考えられる．
そこで本稿では，不公平の原因となっている ACK パケットの損失に対して輻輳制御を行うことによって，不公平性を軽減する手法を提案する．ns-2 [3] によるシミュ
レーションを通して，提案手法を loss-based 手法や hybrid手法に組み合わせることにより，TCP フロー間の公平性が改善できることを示す．

12 無線 LAN 環境における TCP フロー間の不公平性
2.1 シミュレーション評価環境
IEEE 802.11a 無線 LAN ネットワークのトポロジを図1 に示す．複数の無線端末が 1 つのアクセスポイントを共有し，アクセスポイントから有線端末までは有線リンクにより接続されている．全ての無線端末はアクセスポイントから 4 [m] の位置に配置している．有線リンクの帯域は 100 [Mbps] であり，伝搬遅延時間は 100 [msec]

IEEE
802.11a

100 Mbps
Access Point

100 msWired Node

Wireless Nodes

図 1 ネットワークトポロジ

Window Size [pkts]

100

大阪大学サイバーメディアセンター 2
Cybermedia Center, Osaka University

Number of Drops [pkts]

橋本匡史 1
Masafumi Hashimoto

starved_flow
normal_flow

8060402004080

120160

Simulation Time [sec](a) 輻輳ウィンドウ200160starved_flow
normal_flow

12080400406080

100

Simulation Time [sec]120(b) ア ク セ ス ポ イ ン ト に お け る
ACK パケット廃棄数

図 2 CTCP において不公平が生じる場合 (上りフロー数: 16)である．また，アクセスポイントのバッファサイズを100 [pkts] に設定し，有線リンクのバッファサイズ，無線端末の送信バッファサイズおよび広告ウィンドウサイズは十分大きい値を設定した．以降のシミュレーションは全てこの環境を用いた．
2.2 上りフロー間の不公平性
Loss-based 手法や hybrid 手法を用いた場合において，上りフロー数を増加させると，輻輳ウィンドウサイズが大きくなり，無線帯域を占有するフローと輻輳ウィンドウサイズがほとんど増加せず，スループットが非常に小さくなるフローが生じるという現象が現れる．Compound TCP (CTCP) [4] を用いた場合において，正常に通信できているフロー (normal flow) と通信ができていないフロー (starved flow) のシミュレーション結果を図 2に示す．なお，上りフロー数は 16 本である．図 2(a) から，normal flow は輻輳ウィンドウサイズを増減させ正常に通信できているが，starved flow は 55 [sec] 付近から 110 [sec] 付近まで輻輳ウィンドウサイズが 1 からほとんど増加していない．starved flow が通信できていない期間に注目すると，図 2(b) より，その期間において，このフローの ACK パケットがアクセスポイントのバッファに入ることなく，廃棄されていることがわかる．
以上から，上りフロー間で深刻な不公平が生じた原因は以下によるものであると考えられる．図 1 のようなネットワーク環境において上りフロー数が増加すると，無線端末とアクセスポイント間の無線ネットワーク部分がボトルネックとなる．この時，アクセスポイントが輻輳状態となり，ACK パケットがアクセスポイントのバッファに蓄積され，廃棄が発生する．また，TCP はデータパケットが 1 つでも損失した場合においては輻輳制御によって輻輳ウィンドウを減少させる．しかし，ACK パケットが損失した場合は輻輳制御が行われない．このため，アクセスポイントが輻輳しているにもかかわらず，

U1 U2 U3 U4 U5 U6 U7 U8 U9 U1 U1 U1 U1 U1 U1 U10 1 2 3 4 5 6Flow Number(a) 通常の場合(b) 提案手法

図3

平均スループット (上りフロー数: 16)

輻輳ウィンドウが増加し続ける．最終的に，1 ウィンドウ内のすべての ACK パケットが損失すると，再送タイムアウトが発生し輻輳ウィンドウサイズが 1 [pkt] となる．このとき，輻輳状態は解消されていないため，アクセスポイントのバッファは一杯であり，新たに有線端末から送信された ACK パケットはアクセスポイントでのバッファ溢れによって廃棄される確率が高く，無線端末までほとんど到達しない．以上により，一旦小さくなった輻輳ウィンドウサイズの回復が行われず，深刻な不公平を生じたと考えられる．
同様に，上下フロー間についても，ACK パケットが大量に廃棄されるのにもかかわらず上りフローが輻輳制御を行わないために不公平が生じる．

3 ACK パケットの損失に対する輻輳制御手法
3.1 提案手法
TCP フロー間の不公平性は，ACK パケットが大量に廃棄される環境においても，TCP が輻輳ウィンドウを大きくし続けることが主な原因である．そこで，提案手法では ACK パケットの損失に対して輻輳制御を行う．
通常のデータパケットの損失に対する輻輳制御は，3 つの重複 ACK の受信あるいは再送タイムアウトの発生によって行われる．これに対して，ACK パケットの損失に対する輻輳制御は，送信側 TCP が受信する ACK パケットのシーケンス番号を監視することで行う．受信した ACK パケットのシーケンス番号が 1 パケット分ずつ増加する場合は ACK パケットは廃棄されていないと判断する．一方，シーケンス番号の増加が 2 以上である
場合は ACK パケットが損失したと判断する．このとき，シーケンス番号の増加幅を廃棄された ACK パケット数として計上する．さらに，1 RTT 中に観測された ACKパケットの損失数が閾値 thresh ack losses 以上である場合に，輻輳が発生していると判断し，現在の輻輳ウィンドウサイズを半減する．
3.2 シミュレーション評価
提案手法を TCP Reno に組み込み，上りフローを 16本発生させた場合の各フローの平均スループットを図 3に示す．なお，提案手法の閾値 thresh ack losses を 1 に設定し，無線リンク上においてパケットエラーによるパケットの損失は発生しないとした．図 3 から，提案手法を適用することによって，上りフロー間の公平性が大幅に改善されていることがわかる．
次に，提案手法を CTCP に組み込み，無線リンクに一様のパケットエラー率を発生させた場合におけるスループットを図 4 に示す．ここでは，上下フローをそれぞれ

30

downlink flows(proposed_th1)
uplink flows(proposed_th1)
downlink flows(no modification)
uplink flows(no modification)

2520151050U1 U2 U3 U4 U5 U6 U7 U8 U9 U1 U1 U1 U1 U1 U1 U10 1 2 3 4 5 6Flow Number

35

Throughput [Mbps]

4.5
43.5
32.5
21.5
10.5
0Throughput [Mbps]

Throughput [Mbps]Throughput [Mbps]

4.5
4
3.5
32.5
2
1.5
10.5
0

0.01

0.1

12

Packet Error Rate [%]

34.5
43.5
32.5
2
1.5
10.50

downlink flows(proposed_th1)
uplink flows(proposed_th1)
downlink flows(no modification)
uplink flows(no modification)

506070

Packet Error Rate [%](a) パケットエラー率が低い場合 (b) パケットエラー率が高い場合

図 4 パケットエラーが発生する場合のスループット
8 本ずつ発生させており，上下フローそれぞれの平均スループットを表す．図 4(a) より，パケットエラー率が小さい場合において，提案手法により上下フロー間の公平性が改善できていることがわかる．しかし，提案手法を利用しない場合に比べ，合計スループットが低下している．これは以下の理由によると考えられる．提案手法を利用しない場合においては，ACK パケットがアクセスポイントによって大量に廃棄されることにより，結果的に 1 つの ACK パケットで複数のデータパケットの確認応答が可能となり，合計スループットが向上する．これに対して，提案手法においては，ACK パケットに対して輻輳制御を行うことにより，本来の TCP の動作であるデータパケットと ACK パケットの 1 対 1 の対応をとる
ため公平性を改善できるが，スループットは低下する．
図 4(b) より，パケットエラー率が高い場合において，提案手法を利用しなくてもフロー間に不公平が生じないことがわかる．これは，パケットエラー率が高いためにバッファ溢れが生じるほどアクセスポイントにパケットが蓄積されなかったためだと考えられる．
むすび
本稿では，高速・高遅延ネットワーク環境向けに近年提案されている TCP 改良手法において，TCP フロー間に不公平が生じることを示した．さらに，その不公平に対して，ACK パケットの損失に対して輻輳制御を行う手法を提案し，シミュレーションによって評価した．その結果，提案手法は合計スループットをわずかに減少させるものの，TCP フロー間の公平性を改善できることがわかった．提案手法におけるさらなる公平性の改善と合計スループットの向上を今後の課題としたい．

4

参考文献[1] H. Shimonishi, M. Sanadidi, and T. Murase, “Assessinginteractions among legacy and high-speed TCP protocols,” in Proceedings of PFLDnet 2007, pp. 91–96, Feb.
2007.

[2] S. Pilosof, R. Ramjee, D. Raz, Y. Shavitt, and Prasun,“Understanding TCP fairness over wireless LAN,” inProceedings of IEEE INFOCOM 2003, vol. 2, pp. 863–872, Mar. 2003.
[3] The Network Simulator ns-2. available at http://www.isi.edu/nsnam/ns/.
[4] K. Tan, J. Song, Q. Zhang, and M. Sridharan, “Compound TCP: A scalable and TCP-friendly congestion
control for high-speed networks,” in Proceedings ofPFLDnet 2006, Feb. 2006.