Category: Best Current Practice
TCPを2.5G、3Gのネットワークで利用する場合のチューニング tipsをまとめたもの。
2.5G,3Gネットワークの特徴
- Latency: 通常 2,300misecから1sec
- Data rates: uplink 1-20kbos/ downlink 1-40kbps (2.5G), uplink 64kbps /downlink 384kbps (3G)
BDP: 1-5kbytes (2.5G) 8-50kbyes (3G)
さらにData rateは環境によって(セル内の他のユーザの挙動など)大きく変化する。
- Asymmetry: linkは非対象だが 3-6倍の範囲内なので大きな影響はない。
- Delay Spikes: 様々な要因から突発的な delayがしばしば発生する。
TCPでの対策
- BDPに応じて Window Sizeをセットする。
- Large Initial Windowを利用する。(mobile wireless deviceでは数セグメントしか送信しない通信が多い)
- Limited Transmit (BDPが小さいので有効)
- Large MTUを選択できる余地を与える
- PMTUDを利用する。
- SACKを利用する。
- ECNを利用する。
- Timestamps optionを利用する。(再送パケットでも RTTが計測できる。Eifelが利用できる。計測頻度を上げることにより spurious timeoutの可能性を減らせる)
しかし同時に 12byteのoverheadがあることと、header compressionが機能しないなどの問題点がある。(rohcを利用する可能性はあるが。。)
- Header Compressionをやめる。(rfc1144は lossyな環境では使ってはいけない)
Open Issue
- rohcの利用、AQMの利用、wireless levelでの再送など
|