Home > 7 | 雑記 > Windows Vista/7におけるRWIN値設定の挙動について

Windows Vista/7におけるRWIN値設定の挙動について


先日の東北関東大震災で被害に遭われた方、またそのご親族の皆様に心よりお見舞い申し上げます。
一日も早い復興を祈ると共に、微力ながら私でも出来ることを模索していきたいと考えている次第です。

新潟でも揺れはありましたが、幸いにも私の地域では大きな被害もなく無事です。
この投稿も地震前に書いていたのですが、それ以降少しドタバタしたのでまとめる時間が取れず投稿が遅れました。
東北電力でも節電推奨ということでCPUがAtomのInspiron mini 12から投稿です。

ようやくメインPCの環境としてWindows 7、x64、SSDなどが揃い、それらに関連する設定項目の再確認を進めています。
まずは問い合わせの多いRWIN値の設定について詳細にチェックしたところ、何とも言えない結果になりました。

ご存じの方もいると思いますがWindows XPまではレジストリの変更によって容易にMTUやRWINの値を変更できましたが、Vista以降はRWINなどの値をOS側が自動的に最適化するようになりました。
しかしこの最適化では満足なチューニング結果が得られないとして、この最適化機能を無効化しRWINをWindows XPなどと同様の設定方法で任意の値を設定する方法が多くのサイトなどで紹介されており、Comfortable PCでもこのような設定方法をとっています。

このRWINの自動最適化機能を無効化する場合、管理者権限で実行されたコマンドプロンプトで、
netsh interface tcp set global autotuninglevel=disable
と入力します。

このコマンドで設定できるWindowsのRWIN自動設定機能のオプションは他にも有り、以下に列挙します。

  • disable・・・最適化機能を無効
  • normal・・・通常の最適化
  • highlyrestricted・・・通常より受信ウィンドウをやや大きめに設定
  • restricted・・・通常より受信ウィンドウを大きめに設定
  • experimental・・・非常に大きく受信ウィンドウを設定 (実験目的のみでの使用を推奨)

となっており、下になるほど大きな受信ウィンドウ、つまりはRWINが大きく設定されるようになっています。
まずはこの最適化機能の効果を確認する為、それぞれのオプションを有効にした際の回線速度などを調べてみました。
測定に使用したサイトは、サイト1がRadish Network Speed Testing、サイト2が価格.com ブロードバンドスピードテストで、単位はいずれもMbps/secです。
併せてSpeedGuid.netのTCP/IP Analyzerの結果も表記します。
測定環境はWindows 7 x64です。
またdisableの際には、TcpWindowsizeにデフォルトの65535を設定しています。
RWIN SETではComfortable PCのMTU/RWIN 最適値測定ツールの結果による値をレジストリに設定しています。

Level TCP Window RWIN Scaling Unscaled RWIN Down 1 UP 1 Down 2 UP 2
Disable
65536
14bit (16384)
4
44.39
44.29
36.1
45.1
normal
65888
4bit (16)
4118
49.33
77.07
53.7
79.4
highlyrestricted
65892
2bit (4)
16473
67.28
75.15
62.3
68.5
restricted
65888
4bit (16)
4118
70.54
80.9
76.4
81.8
experimental
測定不能
RWIN SET
64492
0bit
64492
44.33
44.52
35.2
44.3

experimentalを設定したところ、私の環境ではタイムアウト頻発でとても回線速度測定どころではありませんでした。

まず問題として気付くのは、RWINの最適値をレジストリで設定した場合(RWIN SET)の結果を見た限りではRWINの設定は反映されておらず、速度測定結果も普通に無効化した場合と変化が殆ど無いという点。測定誤差を加味すれば同じ結果と考えて良いでしょう。
いくつか報告を受けていたとおり、レジストリでのRWINの設定が適用されていないようです。
全設定中、最も良い結果となったのはrestrictedを設定した場合でした。大体70Mbps/secオーバーですのでXPで最適化した場合とも遜色ない速度です。

しかしこの結果を見て気になるのは、TCP/IP Analyzerで確認できたRWINの値はどの設定でも大差が無いという点です。
ブロードバンド回線などでRWINを最適化すると大体10万は超える値になるので、上の結果が速度によらず、いずれもデフォルトの65535付近の値というのが腑に落ちません。各値はブラウザとの通信で検出しているはずですので、OSが原因ではないと思われます。
この辺はネットワークの専門家ではないので分らないところです。

コメントにて丹波yuさんから正確な値が確認できるサイトを紹介して頂きました。
http://tamba-yu.269g.net/article/15829670.html

またDisable以外の設定ではRWINはOS起動中でも動的に変化しているようです。数時間おきに調べてみましたが、RWINの値に若干の変動が見られました。
RWIN ScalingかUnscaled RWINに任意の値が設定できれば今までと同様の設定が出来るのですが、国内外のフォーラムなどを漁ってもそのような設定は見つかりませんでした。
心なしかnetshコマンドでどうにか出来そうな気がしないのでもないのですが・・・

そして問題になるのが、現在のComfortable PCではVistaや7でMTU/RWIN 最適値測定ツールを使用した際に、RWINの最適化機能を無効化するよう推奨している点です。
上の結果を見る限り、最適化の無効化とレジストリへのRWIN設定は何のメリットもないことが分りました。
次バージョン以降は無効化の推奨とRWINの設定を無効にし、代わりに最適化レベル(normal,highlyrestricted,restricted)の選択を出来るようにするつもりです。
誤った設定を推奨していたことをお詫び申し上げます。また、これら一連の設定について情報をお持ちの方は是非コメントなどにてご連絡ください。
よろしくお願い致します。

参考資料
Windows Server 2008 と Windows Vista の新しいネットワーク機能 – Microsoft Technet
The Cable Guy TCP 受信ウィンドウ自動チューニング

スポンサードリンク

Home > 7 | 雑記 > Windows Vista/7におけるRWIN値設定の挙動について

アーカイブ
カテゴリー
ツイート
  • 以前にもジャック周りに半田ごて入れてますし、HDDとバッテリも交換してますので、いまさら修理にも出せませんねえ… 3年 ago
  • HD60GD9のイヤホンジャックが劣化したのか、再生中にリモコン機能が誤作動するようになったので、リモコン端子とGNDにジャンパをかまして直せないかテスト中です 3年 ago
  • 過去のLogicool Setpointの保存場所を発見 ftp://ftp.logitech.com/pub/techsupport/mouse/ ロジクールゲーミングソフトウェアはイマイチ使いづらいのです… 3年 ago
  • Comfortable PC Ver 2.9.1を公開しました。 よろしくお願いします。 pc-zero.jp/pages/software… 4年 ago
  • 長いこと放置してしまいましたので少し保守作業です 4年 ago

Follow Me on Twitter

Return to page top

Highslide for Wordpress Plugin