WindowsXPの時代には、OSそのものがブロードバンド環境に最適化されておらず、RWIN値やMTU値を弄るだけで簡単にスピードアップをすることが出来ました。このページではドコモXiSIMにおける通信速度向上を目指します。
用語解説:RWIN値、MTU値とは
RWIN値:受信確認を送信側に送る間隔を示す値。受信確認のレスポンスにはミリセカンド単位の時間がかかる。また、送信側は受信確認信号を受信するまで、次の信号を送れない。そのため、RWIN値が回線速度に対してあまりにも低いと、ロスタイムが発生し、結果として通信速度が低下する。RWIN値が大きすぎる場合、通信エラーがあった場合にデータの再送信が発生し、こちらも結果として通信速度が低下する。
MTU値:1回(1パケット)の転送行為において送信できるデータの最大値。通信エラーがあった場合は、MTUのサイズを単位としてデータを再送信する。安定した環境ではMTUが大きいほど通信速度が向上する。逆に劣悪な環境ではMTUが小さいほど通信速度が安定する。
Xi回線においては、イーサネット環境と同様に1パケットの送信可能の最大サイズ(MTU)が決まっており、MTU=1500である。FDDI(光ファイバ)などではMTU=4352となる。
pingコマンドを用いて最適MTUサイズを求める方法もあるが、Xi環境では最適MTU=1500とみて問題ない。
RWIN値はautotuninglevelの設定変更で対応しよう。
さて、実際にRWIN値を変更してみます。ただし、WindowsVista以降(7、8も含む)のOSは、自動で最適化される仕様が実装されています。このおせっかいな?仕様により、かつては繁栄を誇ったRWIN値を弄るツールの類は無効化されています。
ですので、OSの標準機能を用いてRWIN値の設定パラメータを変更し、速度向上を測りましょう。
チューニングレベルは下記の通りの5種類が存在します。
セッティング名 | 説明 |
disable | 受信ウィンドウを既定値に修正します |
normal | 受信ウィンドウをほとんどすべてのシナリオに合わせて拡大できるようにします |
restricted | いくつかのシナリオで制限されますが、受信ウィンドウの既定値を越えて拡大できるようにします |
highlyrestricted | 受信ウィンドウの既定値を少しだけ超えて拡大できるようにします |
experimental | 受信ウィンドウを極端なシナリオにも合わせて拡大できるようにします |
なんだか意味がわからないので、全部試してみますね。
さて、上記パラメータの変更には、「netsh」コマンドを用います。コマンドはコマンドプロンプトより実行します。
コマンドプロンプトの実行の仕方:
スタートメニュー⇒アクセサリ⇒コマンドプロンプト
を右クリックして、「管理者として実行」をクリック。
もしくはWindowsキー+Rキーを同時押しし、「ファイル名を指定して実行」欄で「cmd」と入力し、エンターキーを押します。
左上に「管理者」という文字が表示されていればOK。
まずは「netsh interface tcp show global」で現状のパラメータを確認する。
まずは現状のパラメータを確認しましょう。
「netsh interface tcp show global」とコマンドプロンプトに入力します。
左の括弧内のコマンドをコピー後、コマンドプロンプトのカーソルが点滅している上で右クリック⇒貼り付け後、エンターキーを押してください。
すると下記のような画面が表示され、「normal」がプリセットされていることが分かります。
この設定を変えていきます。
では、「netsh interface tcp set global autotuninglevel=『セッティング名』」を入力し、パラメータを変えた場合のSpeedtest.netのベンチマークを掲載します。
コピペ例:
netsh interface tcp set global autotuninglevel=disable
netsh interface tcp set global autotuninglevel=highlyrestricted
netsh interface tcp set global autotuninglevel=normal
netsh interface tcp set global autotuninglevel=experimental
ちなみにコマンドプロンプトはカーソルキーの↑を押すことにより、過去に入力したコマンドを呼び出し、エンターキーを押すことで簡単に実行出来ます。
計測条件:
日時:土曜日のAM8時~9時。多くの人間が寝たり朝飯を食べたりしており、比較的トラフィック量に余裕のある時間帯。
場所:東京都山の手線内の軽量鉄骨アパートの一室
測定器材:NTTドコモ 「L-03D」 仕様上は受信時最大75Mbps、送信時最大25Mbps。
プロパイダ:mopera.net
netsh interface tcp set global autotuninglevel=disabled
http://www.speedtest.net/my-result/2847802480
http://www.speedtest.net/my-result/2847803330
http://www.speedtest.net/my-result/2847804141
回数 | ping(ms) | DOWNLOAD(Mb/s) | UPLOAD(Mb/s) |
1 | 38 | 21.57 | 3.48 |
2 | 36 | 22.08 | 3.06 |
3 | 45 | 20.51 | 3.14 |
平均 | 39.67 | 21.39 | 3.23 |
netsh interface tcp set global autotuninglevel=normal
http://www.speedtest.net/my-result/2847797020
http://www.speedtest.net/my-result/2847797882
http://www.speedtest.net/my-result/2847798746
回数 | ping | DOWNLOAD | UPLOAD |
1 | 36 | 21.77 | 3.3 |
2 | 36 | 19.95 | 2.62 |
3 | 47 | 20.19 | 2.99 |
平均 | 39.67 | 20.64 | 2.97 |
netsh interface tcp set global autotuninglevel=highlyrestricted
http://www.speedtest.net/my-result/2847786925
http://www.speedtest.net/my-result/2847787669
3回めは計測ミス。
回数 | ping(ms) | DOWNLOAD(Mb/s) | UPLOAD(Mb/s) |
1 | 46 | 23 | 2.9 |
2 | 37 | 22.8 | 3.17 |
3 | |||
平均 | 41.50 | 22.90 | 3.04 |
少し速度が上昇したのか・・・?
netsh interface tcp set global autotuninglevel=restricted
http://www.speedtest.net/my-result/2847790437
http://www.speedtest.net/my-result/2847791167
http://www.speedtest.net/my-result/2847791849
回数 | ping(ms) | DOWNLOAD(Mb/s) | UPLOAD(Mb/s) |
1 | 43 | 23.64 | 2.63 |
2 | 38 | 19.91 | 3.04 |
3 | 46 | 20.64 | 2.82 |
平均 | 42.33 | 21.40 | 2.83 |
うーん、誤差の範囲。
netsh interface tcp set global autotuninglevel=experimental
計測不能。まずSpeedtest.netのページが開けません。パケットは飛んでいるみたいですが、常用は不可と判断し、計測中止しました。
物理的なUSBケーブル延長法を試してみる。
どのパラメータでも対して変わらないじゃん、というのが正直な感想です。増えても減っても1割ぐらい。どうでもいいね!ってことで、物理的にXiモデムを野外に出して見ることにしました。
現状:一般的なデスクトップパソコンのフロントUSBポートに直刺し。窓までの距離は1.5m。
改善後:USB延長ケーブルを用いて、物干し竿にぶら下げてみる。階は2F。
USB延長ケーブル法のnetsh interface tcp set global autotuninglevel=restricted
http://www.speedtest.net/my-result/2847811378
http://www.speedtest.net/my-result/2847812246
http://www.speedtest.net/my-result/2847812981
回数 | ping(ms) | DOWNLOAD(Mb/s) | UPLOAD(Mb/s) |
1 | 53 | 17.3 | 4.62 |
2 | 46 | 16.81 | 3.73 |
3 | 35 | 17.33 | 5.7 |
平均 | 44.67 | 17.15 | 4.68 |
対して変わっていないどころか、下り速度は遅くなっているような。代わりにアップロード速度が上昇したと言えます。
WiMAXなら室内の奥のほうでは、圏外や速度低下が顕著に見られますが、さすがドコモ、一般家庭では大して建物の影響を受けないようです。
でも鉄筋コンクリートの高層マンションやオフィスビルならまた結果は別かも。
USB延長ケーブル法のnetsh interface tcp set global autotuninglevel=normal
http://www.speedtest.net/my-result/2847820940
http://www.speedtest.net/my-result/2847821929
http://www.speedtest.net/my-result/2847822912
回数 | ping(ms) | DOWNLOAD(Mb/s) | UPLOAD(Mb/s) |
1 | 45 | 22.78 | 3.23 |
2 | 36 | 18.07 | 3.02 |
3 | 50 | 23.37 | 3.35 |
平均 | 43.67 | 21.41 | 3.20 |
やはり大して変わらず。アップロード速度も普通に戻りました。
逆にロキソニンテープの袋で包んでみたら、Xi速度が大幅に減少した。
何やっても速度は向上しそうにないので、逆にどうやれば速度は減少するのか、を考察して見ることにしました。一番いいのはアルミホイルでガッチガチにくるむこと。残念ながら我が家にアルミホイルが切らしていたので、ロキソニンテープの袋(アルミ素材っぽい)でくるんで見ました。
http://www.speedtest.net/my-result/2847826736
結果は歴然としており、これまでの下り平均21Mbps/s、上り平均3Mbps/sが、一気に下り7Mbps/s、上り3Mbps/sまで急降下しました。上りは下がっていませんね。おそらくロキソニンテープの袋バリアーが上下共に7Mbps程度まで帯域制限をかますのでしょう。(適当)
逆に言うと、ソフトウェア的にRWIN値、MTU値を弄るのではなく、Xiモデム周辺の障害物を取り除くことにより、速度向上を図ることができるといえるでしょう。
Xiモデムに有害な物質とは:
・金属製品。電波を遮断します。
・ケーブル類。電磁波類を発生させますので、モデム周辺から取り除きましょう。
それにしてもテストに使用した「L-03D」は受信時最大75Mbps、送信時最大25Mbpsとのスペック表記があります。
いくらベストエフォートとはいえ、土曜日の朝に東京都新宿区の軽量鉄骨アパートで下り平均21Mbps/s、上り平均3Mbps/s程度しか出ないようでは、ちょっと文句も言いたくなるかも。