Windows XPのRWIN設定の最適化 

MTUとRWINの設定

WindowsXPではRWINが65535に設定されています。このRWINの値は光回線などの高速な通信では少々小さく、本来の高速な通信速度を実現できません。そこで、RWINの値を現在使用している回線に合わせて適切な値に増やす事によって、一度に送信できるデータ量を増やしてやろうというわけです。

但し、RWINの値を大きくしても全ての通信速度が速くなるわけではありませんし、一度に多くのデータを送るようになるので、頻繁にデータの再送をする様な状況になると余計に通信速度が遅くなってしまうというデメリットもあります。そして、WindowsXPの初期のRWINの値のままであっても、複数台のパソコンでインターネットをする場合などでは高速回線の恩恵は受けているので、RWINの値を変更しないと損をしているというわけではありません。

また、RWIN値分のデータ量とエラーチェックに必要な領域をメモリを使用しますので、RWINの値を大きくする事によって以前よりもメモリの使用率が多少ですが上がる場面が出てきます。メモリに十分な余裕の無い場合にはRWINの値の変更は行わないでください。

今回行う設定はレジストリを直接編集をしても良いのですが、便利なフリーソフトが幾つかありますので、それを使用したほうが良いでしょう。
そして、レジストリの編集作業には変わりないので、万が一にも不具合が起こった時の為に、作業前には復元ポイント作成やレジストリのバックアップを取る事をお勧めします。


MTUの値を知る

NTT西日本フレッツ・光プレミアムのMTU値は「1438」、BフレッツのMTU値は「1454」などキャリアや契約回線によって異なります。

その他参考

NTT西日本/NTT東日本:1454以下
電力系(TEPCOやeo):1492
USEN/Yahoo!光/KDDI光プラス:1500
念の為に正確な値は自身のキャリアに問い合わせてください。

CTUでのMTUの設定は自動調整「する」(初期設定)にしておく。

MTU/RWINの編集が行えるフリーソフト
EditMTU
NetTune
Dr.TCP
窓の手
IPNetTuner(Macで使用可能)

MTUの値を調べる

送受信できるパケットの限界値を調べます。
コマンドプロンプトを起動して以下のように入力してyahooへpingを飛ばしてみます。

C:>ping -f -l 1400 yahoo.co.jp

Pinging yahoo.co.jp [203.216.243.240] with 1426 bytes of data:

Reply from 203.216.243.240: bytes=1400 time=25ms TTL=51
Reply from 203.216.243.240: bytes=1400 time=25ms TTL=51
Reply from 203.216.243.240: bytes=1400 time=25ms TTL=51
Reply from 203.216.243.240: bytes=1400 time=25ms TTL=51

Ping statistics for 203.216.243.240:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 23ms, Maximum = 24ms, Average = 23ms

C:Documents and SettingsAdministrator>
これはyahooへ1400バイトのパケットを断片化せずに送信できた事をしめします。
pingコマンドのオプションの意味は
-f はパケットの断片化を認めないようにするオプションです。
-l はパケットサイズを指定するオプションで後にパケットサイズを指定します。

-l の数字の値を徐々に大きくしていけば、断片化せずに送信できるパケット数の最大を調べることができます。

次にパケット数を1500バイトにして送信してみます。
C:>ping -f -l 1500 yahoo.co.jp

Pinging yahoo.co.jp [203.216.243.240] with 1500 bytes of data:

Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.

Ping statistics for 203.216.243.240:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

C:>
このようになったらパケットが断片化してしまったということです。

私の環境では断片化せずに送信できるパケットサイズは1426バイトでした。
MTUの最適値はこのパケットが断片化するパケットサイズの直前の値+28になり、私の場合ですと、1426+28=1454がMTUの最適値となります。
28というのはpingコマンドを実行する際にパケットに付加されるヘッダのサイズのことです。



実はこのMTU値は先にも記載している通り、契約している回線によって決まっています。私の場合ですとNTT西日本 Bフレッツマンションタイプ VDSLですので調べなくてもMTU値が1454だということは分かります。

もしも、この方法で調べたMTU値がキャリアの適正値を下回っている場合はルーターのMTUの設定が適切で無い可能性がありますのでルーターのMTU設定を見直してください。

RWINの最適値

RWINの最適値の求め方は「最適RWIN値 = (MTU値 - 40) x 10~200」で計算できます。
40はヘッダのサイズでありパケットからヘッダを除いたセグメントのことをMSSといいます。
MSSを整数倍した値がRWINの最適値になるわけですが、10~200ととても範囲が広くなっています。これは使用環境や使用状況によって最適値が異なる為です。
大きい値ほど良いというわけではありませんのでご利用は計画的に!

WindowsXPでは初期値が64K(1K=1024バイト)なので、64K=65536バイト以内の最大のRWINを求めて、その値を2倍、4倍、8倍・・・と試していくのが良いようです。

RWINの値の変更

最初は窓の手のネットワークタブの所でMTUとRWINの値を変更していました。確かにスピードテストなどの結果は大幅にアップする一方で、どうしてもニコニコ動画のストリーミングが遅くなる現象が出てしまいました。
ということでもっと細かい設定のできるNetTuneを使用して設定する事にします。
NetTuneダウンロード (Vector)

NTT西日本 Bフレッツマンションタイプ VDSL
MTU:1454
RWIN:(1454 - 40) x 46 x 4 = 260176

※注意※ NetTuneは設定項目ごとに設定ボタンを押してください。設定ボタンを押さずにタブを切り替えると前設定に戻ります。

MTUタブ

適切なMTUを選択します。選択に無い場合はカスタムにチェックを入れて自身で入力します。

Windows XP PPPoEタブ

Windows XPのPPPoE機能を利用している場合は設定します。ルーターを使用している場合はこの設定の変わりにルーターの方でMTUの設定をしてください。

Default TTLタブ

128

NetTune設定

Web Acceleratorタブ

HTTP1.1:8
HTTP1.0:16

TCP Window Sizeタブ

TCP Window Size(RWIN):260176
ここでRWINの設定をします。 Window Scaling:65535以上のRWINを入力する場合には必ずチェックを入れてください。チェックが入っていないと65535以上の数値が反映されません。

AFD

ここでの設定は設定は上りの速度の向上が期待できます。また、TCP/IPとアプリケーション間の通信に関わる設定のようです。

DefaultReceiveWindow:必ずRWINと同じ設定にします。
DefaultSendWindow:必ずRWINと同じ設定にします。
LargeBufferSize:32768
MediumBufferSize:6016
SmallBufferSize:256
TransmitWorker:32にチェックを入れる

NetTune設定

PMTU Discoveryタブ

Enable

Black Hole Detectionタブ

Disable

NetTune設定

再起動すれば設定が反映されます。

良く分からず見よう見まねで設定した箇所もありますが、私の場合はこの設定で安定して使用できるようになりました。

ブロードバンドスピードテストの結果も
下り:20Mbps→31Mbps
上り:4.0Mbps→8.0Mbps
と大幅に向上しました。

ブロードバンドスピードテスト結果

使用しているアプリケーション特にセキュリティーソフトによってはRWINの値を変更する事によって不具合が生じる場合があるようなので、明らかにWindowsの動作が不安定になるような場合は初期設定で使用することをお勧めします。

関連記事


この記事へのコメント

コメントをお寄せ下さい

(コメント編集・削除に必要)
(管理者にだけ表示を許可する)

トラックバック

この記事のトラックバックURL
http://z0001.blog87.fc2.com/tb.php/165-d3bad5d6