ブロードバンド接続で思ったよりもスピードがでない方のために


MTU、RWINの値を変更することで改善される可能性があります。それぞれの用語は有名なので、探せば何を意味しているかわかります。(MTURWIN)。使用している環境ごとに、MTUとRWINの最適値は異なりますが、最適な値を求める方法があります。説明はいいという人はこちら
また、簡単にMTU、RWINを設定するソフトがありますので、そうしたい人はそうしてください。

NICのスピードを固定する

NICのスピードはAutoになっている場合は、100MbpsやFULL-Duplexに固定してください。
マイネットワークを右クリックして、[プロパティ]をクリックしてください。[ネットワークとダイアルアップ接続]ウィンドウが表示されます。[ローカルエリア接続](無線LANを使用している人はワイヤレスインターネット接続)を右クリックして[プロパティ]をクリックしてください。すると「ローカルエリア接続のプロパティ」ウィンドウが表示されます。
[接続の方法]欄からモデムと接続されるNICを選択して、[構成]をクリックしてください。NICのプロパティ画面が表示されます。[詳細設定]タブをクリックして、スピードの設定を行います。Speedを100base-Tx、DuplexをFullにしてください。プロパティはパソコンによって異なります。

MTUの最適値を求める

MTUの最適値は、pingを使用して求められます。pingは相手のコンピュータへデータを送信して、返事をもらうネットワーク診断用コマンドです。詳しい使い方は調べてください(通常は、コンピュータが接続されているかを問い合わせるために使用します)。pingでMTUの最適値を求めるには、MS-DOSを起動して、次のように入力してください。(MS-DOSを起動するには、[スタート]−[プログラム]−[アクセサリ]−[MS-DOSプロンプト]をクリック、Windows 2000 の場合は[スタート]−[プログラム]−[アクセサリ]−[コマンドプロンプト]をクリック。または、[スタート]−[ファイル名を指定して実行]をクリックしてcommandと入力して[OK]をクリック)

ping <ホスト名またはIPアドレス> -f -n 1 -l <パケットサイズ>

どちらかでいいです。入力したい方を使ってください。pingの補足
pingコマンドは、ホスト名やIPアドレスはどこでも構いません。プロバイダのドメインを指定してもいいでしょう。
パケットサイズには数字を入力し、データ量を指定します。1400程度を指定してください。ホストにyahoo.co.jpを使用して、パケットサイズを1400とした場合は、次のように入力します。

ping yahoo.co.jp -f -n 1 -l 1400


このコマンドを実行すると、だいたい次のようなメッセージが表示されます。

(1) Reply from ***.***.***.***: bytes=<パケットサイズ> time=**ms TTL=***
(2) Packet needs to be fragmented but DF set.
(3) Request timed out.
(4) Unknown host *****
(5) コマンド又はファイル名が正しくありません.

*は任意の文字列です。
(1)、(2)、(3)は4回繰り返して表示されます。

(1)が表示されたら、パケットサイズを増やして再び実行してください。
(2)が表示されたら、パケットサイズを小さくして再び実行してください。
(3)が表示されたら、何らかの理由によって返事が返ってこないので、他のホスト名またはIPアドレスを指定してください。
(4)が表示されたら、入力したホスト名またはIPアドレスに誤りがあるので、正しく入力して実行してください。
(5)が表示されたら、「ping」が正しく入力できていないので、正しく入力して実行してください。

入力したものに間違いがなければ、メッセージは(1)か(2)になります。パケットサイズを増やしたり減らしたりして確かめると、ある値までは(1)で、以上になると(2)と表示されるはずです。たとえば、1472までは(1)が表示され、1473になると(2)が表示されるという具合です。この、(2)のメッセージが返る値の1つ前の値に28を加算した値が、MTUの最適値になります。

最適MTU値=パケットサイズ+28

1472まで(1)が表示されるのであれば、1472+28=1500となります。

RWINの最適値を求める

MTUの最適値から計算します。

最適RWIN値 = (最適MTU値 − 40) × [10〜200]

最適MTU値から40を引いたものに、10から200のうち適当なものをかけた値が最適RWIN値となります。最適MTU値が1473であれば、(1472−40)×[10〜200]=14320〜286400となります。10〜200倍というのは非常にアバウトですが、RWIN値をいろいろと変化させて速度を計測して、どのくらいの倍率で速くなるかを求めてください。

レジストリを変更してMTUの値を変更する

Windowsのレジストリを変更します。システムに関する設定を変更しますから、一つ間違えると、最悪の場合パソコンが起動しなくなる恐れがあります。十分に注意をしてください。レジストリのバックアップを取っておく事をお勧めします。
レジストリを変更するには、レジストリエディタを起動します。[スタート]−[ファイル名を指定して実行]をクリックしてください。[ファイル名を指定して実行]ウィンドウが表示されるので、[名前]入力ボックスにregeditと入力して、[OK]ボタンをクリックしてください。左側のウィンドウには、システムの設定が、ディレクトリ構造になって表されています。トップのマイコンピュータから次のようにディレクトリを開いてください。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\000x

最後の000xのxは任意の数字のことです。0から始まり、複数存在する場合があります。
ただし、Windows2000の場合は次のようにしてください。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<アダプタ名>\Parameters\Tcpip


000xのディレクトリにMTUの値を設定します。0000のディレクトリを開き、右側のウインドウで右クリックして、表示されたメニューから[新規]をポイントし、新たに表示されるメニューから、[文字列]をクリックしてください。右側のウィンドウに[新規値 #1]と項目が追加されます。この項目の名前を半角でMaxMTUとしてください。Windows 2000の場合はMTUとしてください。MaxMTUを右クリックして、表示されたメニューから[変更]をクリックして、MTUの値を半角で入力してください(例)1500)。この操作をすべての000xに対して行います。

レジストリを変更してRWINの値を変更する

MTUと同様に、次のディレクトリを開いてください。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP

右側のウィンドウに項目を追加して、名前を[DefaultRcvWindow]として、RWINの値を入力してください。

補足

pingは次のようにしても構いません。同じ事を4回繰り返すか否かです。

ping <ホスト名またはIPアドレス> -f -l <パケットサイズ>

pingコマンドの詳細
ping[ -t][ -a][ -n 試行回数][ -l パケットサイズ][ -f][ -i TTL][ -v TOS][ -r ルータ個数][ -s ルータ個数][[ -j ゲートウェイ・リスト]|[ -k ゲートウェイ・リスト]][ -w タイムアウト時間] 疎通確認対象先ホスト(ホスト名またはIPアドレス)

-tユーザーからの停止が要求されない限り、パケットの送受信を無限に繰り返す。停止するには「Ctrl」+「C」を押す
-a指定された対象先ホストがIPアドレスであった場合には、ホスト名をDNSから逆引きして表示する
-nパケット送受信の回数(試行回数)を指定する
-lパケットのデータ部サイズを指定する。デフォルトは32バイト
-fIPパケットの分割(フラグメント)を禁止する
-iパケットのTTL(Time To Live)を指定された値に設定する
-vパケットのTOS(Type Of Service:サービスタイプ)を指定された値に設定する
-rIPパケットのオプション部(Route Recording)に、経由したルータのアドレスを記録する(最大9個まで)
-sIPパケットのオプション部(Time Stamping)に、経由したルータのアドレスと時間を記録する(最大4個まで)
-j経由すべきゲートウェイ(ルータ)のアドレスを最大9個まで指定できる。ただし、指定されていないゲートウェイも経由できる(loose source routed)。
-k経由すべきゲートウェイ(ルータ)のアドレスを最大9個まで指定できる。ただし、指定されていないゲートウェイは経由しない(strict source routed)。
-wタイムアウト時間を指定する。単位はミリ秒

INDEX