速度向上のポイント

RWin設定で回線速度が1.5倍~3倍に!


(注意!)Windows Vista・Windows 7では、以下の方法を使って速度を向上させることはできませんのでご了承ください。

※説明を読まずに、手っ取り早く速度を上げたい方は、前半の説明を飛ばして、 4.RWinの設定方法をご覧ください。


光ファイバの速度を速くするにはどうすればいいですか?

1.はじめに
光ファイバユーザで、 東京以外に在住の方は、RWinを増やすことで劇的な速度向上が期待できます。Windows 98/Me/2000ユーザはもちろん、Windows XPユーザもRWinの設定によって速度が大幅に向上します。

回線速度(契約速度)が100Mbpsであっても、RWinがWindowsの初期値のままだと受信速度に限界があります。 例えば、後で説明するように、大阪に在住の方は、Windows XPデフォルトのRWinだと最大で約35Mbpsしか出すことができません。 この「壁」は、RWinを設定することで容易に100Mbps程度まで引き上げることが可能です。

2.RWinによる受信速度の限界
受信速度(帯域)の上限値は理論上、以下の式で計算されます。

受信帯域の上限[bps] = RWin[byte] x 8 / RTT[ms] x 1000

RWinとは、
簡単に言えば、サーバから一度にまとめて送ってもらいたいデータ量です。RWinが大きいほど、一度にたくさんのデータを受け取ることができるので、転送効率が良くなって速度が速くなります。

RTTとは、
サーバとの往復(遅延)時間のことです。いわゆるpingの応答時間がそれです。RTTを最も決定付けるのが物理的な距離で、距離が遠いほど信号の伝送に時間がかかるのでRTTが大きくなります。また、回線種類(光ファイバやADSL)によってもRTTは若干前後します。無線LAN環境の場合もRTTが大きくなります。
RTTが大きいほど、サーバに「ここまでのデータを受け取りました。次のデータを送ってください。」と返事をするのに時間がかかるので、効率が悪くなって速度が低下します。
RTTは距離によって概ね決定される値ですから、RTTを小さくすることは物理的に限界があります。しかしながら、RTTが大きい場合でも、RWinを上げてデータを一度に沢山送ってもらえば、転送効率が上がって速度が向上します。

では、上の式を使って、具体的に、東京・大阪間の受信帯域の上限を計算してみましょう。

・Windows XPでのRWinの初期値は65535byteです。
・東京・大阪間のRTTは、光ファイバの場合15msくらいあります。

このとき、受信帯域の上限は、
65535 x 8 / 15 x 1000 = 約35Mbps
となります。

つまり、アクセス回線の容量が100Mbpsであっても、 RWinの設定がWindows初期値のままだと、大阪ユーザが東京サーバから受信したときは最大でも約35Mbpsしか速度が出ないのです。

同様に、札幌や福岡は、東京に対するRTTが光ファイバの場合25msもありますので、帯域は約20Mbpsが上限になり、せっかくの100Mbps回線の80%が有効利用されません。

そこで、次の項目の通りRWinの設定を増やして、帯域の上限を100Mbps近くまで引き上げることが速度向上に直結します。

 

RWinはどうやって設定すればいいですか?その適正値は?

1.基本的な考え方
RWinが大きいほど帯域の上限が高くはなるのですが、しかし一方で、RWinが大きすぎるとパケットロスが発生したときに再送に時間がかかり、かえって転送速度が低下したり転送速度にムラができたりします。 従って、RWinは必要以上に増やさないようにしましょう。

なお、RWinは65535 x 2の累乗倍の値で設定します。例えば、65535(65535の1倍)、131070(65535の2倍)、262140(65535の4倍)、、という値しか取れないことに注意してください。

次に、ADSLの場合と光ファイバの場合の適正値について解説します。

2.ADSLのRWin適正値
ADSLは、47~50Mbpsサービスであってもリンク速度が最大で30Mbps程度であり回線容量があまり大きくないので、 大半のADSL環境では、Windows XPの初期値のRWin=65535で十分です。

ただし、Windows 98/Me/2000はRWinのデフォルトが16384以下となっておりRWinが小さすぎるので、これらのOSをご利用の方は、どの地方にお住まいでも、65535に増やしたほうがいいでしょう。増やし方は後述の「4.RWinの設定方法」で説明していますのでお読みください。

また、高遅延環境(北海道や中国・九州地方)の方で、リンク速度が15Mbps以上(線路長が約1km以下)の場合は、RWinが若干不足ぎみなので、131070に増やしてみましょう。

ADSLサービスでの地方別RWin推奨値
地方東京に対する
RTT
RWin=65535
の場合の帯域上限
RWin推奨値
北海道35ms15Mbps △場合により不足65535のまま
(または131070)
東北25ms21Mbps ○RWinほぼ充足65535のまま
関東15ms35Mbps ○RWin充足65535のまま
中部20ms26Mbps ○RWinほぼ充足65535のまま
近畿25ms23Mbps ○RWinほぼ充足65535のまま
中国四国30ms17Mbps △場合により不足65535のまま
(または131070)
九州35ms15Mbps △場合により不足65535のまま
(または131070)
※この表はADSLサービスの場合の推奨値です。


3.光ファイバのRWinの適正値
光ファイバは100Mbpsの広帯域サービスですので、Windows初期値のままだと、東京以外ではRWinが大きく不足します。

必要な受信ウィンドウサイズ(RWin)は、理論上、次の式で計算されます。

必要なRWin(帯域遅延積)[byte] = 帯域幅[bps] / 8 x RTT[ms] / 1000

例えば、大阪のユーザが100Mbpsサービスの回線で東京のサーバから受信するときのRTTが15msとします。
その場合に必要なRWinは理論上、
100 x 1000 x 1000 / 8 x 15 / 1000 = 187500byte
となります。

Windows XPのRWinの初期値である65535byteのままでは、いかに不足しているかが分かると思います。

さて、実際のRWinの設定値はどうやって決めたらいいでしょうか。実測RTTと回線容量(帯域幅)を上記の式に代入して最適RWinを求めてもいいのですが、煩わしいと思いますので、下に地方別の標準的なRTTとRWin推奨値を載せました。 一つ注意してほしいのは、大きすぎるRWinを設定すると、再送ペナルティにより、速度にムラが出る場合があるということです。そこで、 まずは控えめな値の131070(65535の2倍)で試すといいでしょう。131070の状態で測定して確実に速度が向上しているようなら、関東以外の方は、262140(65535の4倍)も試してみてください。

弊サイトが推奨する値は以下の表の通りです。

光ファイバ(100Mbps)サービスでの地方別RWin推奨値
地方東京に対する
RTT
RWin=65535の
場合の帯域上限
RWin推奨値
北海道25ms20Mbps ×RWin不足262140
東北15ms35Mbps ×RWin不足262140
東京以外の
関東
12ms43Mbps ×RWin不足131070
東京6ms87Mbps△RWinやや不足131070
中部15ms35Mbps ×RWin不足262140
近畿15ms35Mbps ×RWin不足262140
中国四国20ms25Mbps ×RWin不足262140
九州25ms20Mbps ×RWin不足262140
※この表は光ファイバサービスの場合の推奨値です。


4.RWinの設定方法
それでは、RWinの設定を実際に行ってみましょう。

おすすめのRWin設定ツールは、Dr.TCPです。
https://www.dslreports.com/drtcp で、"DRTCP021.exe"または "DRTCP021.zip"を入手してください。
入手したら起動します。



次の通りに選択・入力していきます。

TCP Receive Window この欄がRWinです。ここに、上記の地方別RWin推奨値を半角数字で入力します。推奨値が262140の地域であっても、最初は控えめに、131070で試すといいでしょう。
Window Scaling RWinに65535を超える値を設定する場合は、必ず "YES"に設定します。"No"にすると、RWinに65535を超える値を設定できません。
Time Stamping RWinに65535を超える値を設定する場合は、"YES" が望ましいです。"YES"にすると、パケットロス発生時でも効率の良く再送を行います。
Selective Acks 必ず"YES" に設定します。"No"になっているとエラー再送効率が悪くなります。(Windowsではデフォルトで有効)
Path MTU Discovery 必ず"YES"に設定します。"No"になっていると、MTUが小さくなって送信速度が低下する場合があります。(Windowsではデフォルトで有効)

他の項目の設定は変更する必要が無いので、何も変更しないでください。
その下のAdapter Settingsの部分も触らないでください。現在どんな値が選択されていても、とにかく触れないでそのままにしておいてください。下手に必要のない部分を触ると最悪の場合インターネットに繋がらなくなる恐れがあります。

以上で設定が終わったら、 "Save"を押します。このとき "Settings saved successfully"と表示されれば設定が正常に書き込まれています。"Save"を押さないと設定が書き込まれないので忘れないようにしてください。
次に、Dr.TCPを終了します。
そして、Windowsを再起動すると、設定が反映されます。

Windows再起動後、
https://www.speedguide.net/analyzer.php のページに行って、RWinの現在値を確認します。もしこのページが繋がらないときは飛ばして構いません。

※Windowsを再起動してもRWinの値が反映されていない場合、AFD値が設定されている可能性があります。その場合は、 RWinの値が反映されない場合は?をご覧ください。

RWinの現在値が、Dr.TCPで設定した値と同じであることを確認したら、通信速度を計測してみましょう。
https://www.bspeedtest.jp/

速くなりましたか?
特に北海道や中国・九州地方の方は、10~20Mbps以上、大幅に速度が向上しているはずです。
東京からあまり距離が離れていない方は、速度上昇幅が比較的小さいかもしれません。


・速度が遅いときのチェック項目

RWinを推奨値まで増やしても、速度があまり速くならなかった場合や、速度が遅くて悩んでいる方は、次のことを確認してみてください。

(1)無線LANを使っていないか?
無線LANを使っていると、速度は4Mbps~25Mbpsが限界です。
問題の切り分けのため、無線ではなく直接繋いで速度を確認しましょう。
有線LANで速度が出るようなら、無線LANがボトルネックになっています。
なお、現在802.11b(11Mbps)をご利用の方は、802.11a/g(54Mbps)に
買い換えると、最大で25Mbps程度の速度を出すことができます。
また、2006年に登場したMIMO対応製品を使うと、最大で35Mbps程度の
速度を出すことができます。

(2)低速のルータを使っていないか?
3年以上前の古いルータは、スループット性能が低い場合があります。
例えばスループットが30Mbpsのルータの場合、速度は30Mbpsが限界です。
最新の高速ルータに買い換えましょう。

(3)USB接続のLANアダプタを使っていないか?
USB1.1のLANアダプタだと速度は10Mbpsが限界です。速度を速くするには
USB2.0のLANアダプタを使うか、なるべくUSBタイプは避けましょう。

(4)ノートPCでPCカードを使っている場合、CardBus未対応でないか?
古いPCカードは、CardBus未対応のことがあります。
CardBus未対応だと速度は16Mbpsが限界です。
PCカードを使う場合は、CardBus対応品に買い換えましょう。

(5)LANカードやHUBが10Base-Tでないか?
5年以上前の古いPCや、古い通信機器は10Base-Tのことがあります。
10Base-Tの場合、速度は10Mbpsが限界です。
100Base-TX(またはできればgigabit)の機器に買い換えましょう。

(6)OSがWindows 98/Meでないか?
OSがWindows 98/Meの場合、RWinを増やしても速度は50Mbps程度で
頭打ちになるという報告があります。古いOSをご利用の方は、
Windows XPにアップグレードしましょう。

(7)niftyの「セキュリティ24」やbiglobeの「ホームページチェック」、
または「avast Webシールド」を利用していないか?
これらのセキュリティサービスを利用していると、速度は8Mbps~25Mbps
程度に落ちるようです。しかしながら、安全を考えると、サービスを無効
にするのはお勧めしません。

(8)NTTの「VoIPアダプタ」を使っていないか?
VoIPアダプタにPCを直接繋いでいると、速度は8Mbps程度が限界になりま
す。そこで、VoIPアダプタにはPCを接続せず、別途用意したブロード
バンドルータ経由でネットワークに繋ぐようにします。VoIPアダプタは、
ルータモードではなくアダプタモードとして設定してから使いましょう。
正しい接続構成例

(9)PCの搭載メモリ容量が192MB以下でないか?
RWinを大きくすると、より多くのメモリを必要とします。
メモリは近年安くなっていますので、最低限256MBは搭載しましょう。
メモリを増やすとWindows自体の動作も快適になります。

(10)RWin値が本当に反映されているか?
もう一度、 https://www.speedguide.net/analyzer.php のページに行っ
て、RWinが131070以上の数値になっていることを確認してください。


RWinの値を元に戻したい場合は、次の項目をご覧ください。

RWinの設定値をWindows初期値に戻すには?

次の操作でRWin設定がWindowsの初期値に戻ります。

Dr.TCPを起動します。

TCP Receive Window Windows XPの方は「65535」と入力。Windows 2000以前の方は「16384」と入力。
Window Scaling Defaultを選択。
Time Stamping Defaultを選択。
Selective Acks Defaultを選択。
Path MTU Discovery Defaultを選択。

Saveを押して、Windowsを再起動すると、設定が初期値に戻ります。

RWinの値が反映されない場合は?

Dr.TCPでRWinを設定後、Windowsを再起動しても反映されていない場合は、AFD値が設定されている可能性があります。

これは、Windows XP SP2において、何らかの原因でAFDの DefaultReceiveWindow の値が設定されていると、RWinよりもそちらの値のほうが優先されてしまうのが原因です。

その場合、以下の方法でAFD値を削除してください。

NetTuneを使用します。
https://www.forest.impress.co.jp/lib/inet/websupt/speedanlz/nettune.html で、NetTuneを入手してください。

入手したら起動して、"AFD"というタブをクリックしてください。




一番上の、 DefaultReceiveWindow という欄に数値が入力されている場合は値を削除してください。Windowsデフォルトでは空欄になっているはずですが、何らかの原因でここに値が設定されていることがあります。

その下の、 DefaultSendWindow という欄は、送信バッファサイズですので、受信速度には影響がありません。そのままにしてください。

値を削除したら、 "設定"ボタンを押して書き込んだ後にNetTuneを閉じます。
そして、Windowsを再起動すると、設定が反映されます。

Windows再起動後、
https://www.speedguide.net/analyzer.php のページに行くと、Dr.TCPで設定したRWin値に反映されていると思います。

RWinの現在の設定値を確認したら、通信速度を計測してみましょう。
https://www.bspeedtest.jp/

Windows XPでもRWinの設定が必要ですか?

Windows XPはデフォルトのままでも十分速度が出る、と言われていたのは、まだ光ファイバが普及していないADSLの時代の話です。 光ファイバは100Mbpsの広帯域サービスであり、Windows XPのデフォルトのままだとRWinが不足しますので、RWinの設定が必要です。


その他の疑問点は、

「よくある質問ページ」をご覧ください。