それではTCP/IPスタックの設定変更における注意や予備知識、具体的な設定方法をご紹介します。本来の設定はOSのレジストリを直接書き換えるところですが、それにはある程度の知識を必要としますので、今回は便利なフリーソフト「Dr.TCP」を使うことにします。

 追記:現在では優秀な国産フリー・ソフトがいくつか公開されています。その中でも特に私のお気に入りなのが「Edit MTU」というソフトです。Vectorでも紹介されていますので使ってみてください。

■ここで出来ること

データ伝送の効率を改善し、結果として実効速度を向上させます。

■ここで出来ないこと

リンク速度を上回る実効速度を得ることはできません。通常はリンク速度の8割程度が上限のようです。
ちなみにリンク速度はNTT局舎からの距離による信号の減衰、ノイズ等の影響を受ける度合いによって決まります。モデムから回線情報を取得できる方はまずリンク速度を調べましょう。調べ方は当サイトのモデムの裏ワザなどを参考にしてください。

■OSごとの注意

Windows 95

OSの初期値がADSLに適していないうえ、Windows98以降よりもTCP/IP機能が低くなっています。ですから次のパッチを適用してからTCP/IPスタック(特に「RWIN」)の設定変更をお奨めします。

DUN1.3 <--- アップグレードすることでWindows 98相当になります。
         (Winsock2.0を含みます。)
・Vtcp386 <--- RFC1323機能のバグ、再送タイマのバグを修正するパッチです。
         (MTU,RWINのみ変更する場合は関係ないようですが念のため。)

Windows 98/98SE

OSの初期値がADSLに適していません。特に「RWIN」の変更をお奨めします。またWindows 98/98SE用のパッチを適用することをお奨めします。

・Vtcp386 <--- RFC1323機能のバグ、再送タイマのバグを修正するパッチです。
         (MTU,RWINのみ変更する場合は関係ないようですが念のため。)

Windows ME/2000

1.5Mbpsクラスでの使用なら初期値でもほぼ適正です。8.0Mbpsクラスでの使用なら変更をお薦めします。また、ブロードバンドルータのPPPoE機能を使用されている方は、機種によってはMTU(厳密には「MSS)を制限されている場合があります。その場合、WindowsのRWIN調整機能とのずれが生じます。このずれは許容できる範囲とは思いますが、さらに効率的な通信を望まれるなら調整されることをお奨めします。

Windows XP

通常の利用でしたら、ほぼ完璧なパフォーマンスを発揮します。つまり触る必要はないように思います。もし調整する必要性があるとすれば、OSに見合わない性能のパソコンを利用している場合や、極端にリンク速度が低いなど、特別な条件下にある方ではないかと思います。

 

MTU/RWIN設定手順(Dr.TCP編)

■概要

 ・Dr.TCPをダウンロードして設定を初期値に戻します。
 ・分析サイトで現状の設定を確認します。
 ・Dr.TCPで設定変更します。
 ・分析サイトで変更後の確認をします。
 ・実効速度を測定します。
 ・思わしくない場合はRWINなどを変えて繰り返し調整します。

■TCP/IPスタックを初期値に戻します

Windowsでは本来初期値で最もバランスのとれた状態であるはずです。そこで一旦TCP/IPスタックを初期状態に戻します。

「入門編」で紹介した「Dr.TCP(DRTCP019.EXE)」をダウンロードしてください。 DRTCP019.EXEという名前の実行形式ファイルが出来ます。圧縮されていませんので解凍は不要です。

「Dr.TCP」を起動して設定するアダプターを選択します。
 ・DRTCP019.EXEをクリックして「Dr.TCP」を起動してください。
 ・「Adapter Settings」のメニューから対象のアダプターを選択してください。
 ・「選択項目」はすべて[Default]に、「入力項目」もすべて[空欄]にしてください。
 ・「Apply」をクリックして「Exit」で終了します。
 ・OSを再起動します。

 「Apply」がグレーアウトしてクリックできない場合は、「Adapter Settings」を再度選択してください。
それでもダメな場合は一旦入力欄に適当な数値を入力して、「Adapter Settings」を選択して「Apply」が選択できるようになったら、再度入力欄を空欄に戻してから「Apply」をクリックしてください。

■現状を確認しましょう

それでは初期値に戻ったはずのTCP/IPスタックを確認しましょう。それによってどの項目を変更すれば良いかを判断します。「DSLreports Tweak Tester II」を使って調べます。
(もしくは「SpeedGuide.net TCP/IP Analyzer」で調べます。)

Tweak Tester II

初画面の「Start」ボタンをクリックしてしばらくすると、この画面になります。そこで「Results」ボタンをクリックします。

 

 

 

Tweak Tester II results

画面が切り替わりましたら、上部赤枠のデータを入力して「recommend」ボタンをクリックすると結果が表示されます。

 

 

 

[Path MTU Discovery]
OSの初期値では[ON]になっています。通常は必ず[ON]になります。[OFF]の場合[Max Packet recd MTU]が[576]になり、送信時のパフォーマンスが低下します。(同一サブネットのホストに対しては、この限りではありません。)

[Max Packet sent MTU]
一般に言われる「MTU」です。Windowsの設定が初期値の場合、既に最大値が表示されています。通常は変更の必要はありません。

[Max Packet recd MTU]
送信時の「MTU」です。通常は[sent MTU]と同一になります。もし[sent]と[recd]が異なっている場合、ブロードバンドルータが[MTU]の制限をしていることがあります。

[Receive Window (RWIN)]
これが「RWIN」です。この値が実効速度に影響を与えます。
Windows Me/2000の場合
 ・1.5MbpsクラスのADSLなら初期値でほぼ適正です。
 ・8.0MbpsクラスのADSLだと初期値ではRWINが不足します。
Windows 95/98/98SEの場合
 ・1.5MbpsクラスのADSLでも初期値ではRWINが不足です。
 ・8.0Mbpsクラスでは初期値では確実にRWINが不足です。
いずれの場合も設定変更によって実効速度の改善が見込めます。

[MSS requested]
通常は[sent MTU]の値からヘッダ分[40]バイトを引いた値になります。「RWIN」はこの値の整数倍になっていることがポイントです。

※上記の値をメモしてください。設定時に参照する場合があります。

■Dr.TCPで設定しましょう

それでは先ほどと同じ要領で「Dr.TCP」を起動し対象のアダプターを選択します。

「Max MTU」の設定(標準)

計算編でMTU探索をした方はその値、それ以外の方は次の値を設定してください。
 ・フレッツADSLのPPPoEでは「1454」がお奨めです。
 ・PPPoA環境、J-DSL、Y!BB、CATVインターネット(ケーブルモデム)等では 「1500」が基本です。 問題が起きる場合には「少し小さく」してください。

「Max MTU」の設定(特例[sent MTU]と[recd MTU]の値が異なっていた場合)

[Tcp Receive Window]を[MSS requested]の値の整数倍に設定します。
Windows ME/2000の場合でも改めて設定することをお奨めします。なぜならお使いの環境によっては、OSの自動調整にズレが生じ、「RWIN」が「MSS」の整数倍にならないことがあるからです。

次はウィンドウサイズの設定です。

「Tcp Receive Window」の設定(計算編で計算しなかった方)

[Tcp Receive Window]を[MSS requested]の任意の整数倍に設定します。
 ・1.5MbpsクラスのADSL
 標準12倍、環境によっては8〜14倍程度の範囲内で試してみてください。
 ・8.0MbpsクラスのADSL
 標準44倍、環境によっては20〜46倍の範囲が良いようです。
 ・いずれの場合にも[65535]を超えないほうが良いでしょう。

例)MSS requested = 1460、1.5Mbpsクラスの場合
  RWIN : 1460 X 12 = 17520

「Tcp Receive Window」の設定(計算編で計算した方)

[Tcp Receive Window]を「計算編」で求めた値を下回らない、[MSS requested]の整数倍の値に設定するとよいでしょう。
例)仮のウィンドウサイズが14400で、MSS requested = 1460の場合、RWIN : 1460 X 10 = 14600

入力が完了したら「Apply」をクリックして「Exit」でDr.TCPを終了します。後はOSを再起動します。

■変更後の確認をしましょう

再度「DSLreports Tweak Tester II」で設定を確認します。(もしくは「SpeedGuide.net TCP/IP Analyzer」で確認します。)その後、普段利用している測定サイトで実効速度を確認してみてください。その際の測定は一度だけでなく何回か試してください。時間帯によってもかなりの差があります。もし次の候補となるRWINがあれば、再度設定して調整を繰り返します。以上で調整作業は完了です。

Dr.TCPのDefaultの意味

お薦めしませんが、さらにディープな調整をされる方のために参考として掲載します。

Dr.TCP

 

 

 

 

 

 

 

[Window Scoling]
 Default=No ウィンドウサイズを65535よりも拡張する場合に「Yes」とする。

[Time Stamping]
 Default=No 再送信タイムアウトを調整するための往復時間を正確に測定させる 場合に「Yes」とする。 ※有効にするとヘッダサイズが増加します。

[Selective Acks]
 Default=Yes パケットロスが発生し、再送信する場合に有効な機能です。

[Path MTU Discovery]
 Default=Yes 送信時のMTUを最適化する機能を使用する場合に「Yes」です。 この機能を停止させると上りのMTUが最小の576になる可能性があります。

[Black Hole Detection]
 Default=No MTU Discovery使用時に応答しないルータを発見させるか。
 ※パケット数の増加により、実効速度の低下を招くことがあるそうです。

[Max. Duplicate Acks]
 blank=3 パケットロス発生時、肯定応答が何回で再送信するかを決定します。

[TTL]
 blank=128
 パケットが経路中でループに陥った場合に破棄するまでの生存時間。
※設定する数値はルータの通過回数(ホップ数)であり、時間ではありません。

レジストリの直接編集

慣れていらっしゃる方のためにWin9x系のキーを示します。
■KEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP
 => DefaultRcvWindow

■KEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans
 => Max MTU

 

▲戻る