ラベル Windows の投稿を表示しています。 すべての投稿を表示
ラベル Windows の投稿を表示しています。 すべての投稿を表示

2009年12月30日水曜日

Windows7でMTU等を変更

 

年末のお掃除中ですが、ちょこっとbreak time.
コーヒーのみつつ、サボってたブログの更新です。

 

MTU (Maximum Transmission Unit)は、通信ネットワークにおいて、
一回の転送で送信できるデータの最大値を示す値です。

っとIT用語辞典に書いてあります。

普通にネットサーフィンを楽しむ方々にとっては縁のない単語ですし、
Developerにとっても、覚えてるだけで気にはしないものだと思います。

一番MTUを気にするのはネットゲーマーでしょうね。

微調整しないとタイミングが狂ってしまう!
なんて方々は、自己責任の下で参考にしてみてください。

 

Comfortable PCをはじめ、PCのパフォーマンスを微調整できるToolがあります。
これらを使用すれば、簡単に設定できる・・・はずでした。

実はWindows7 Ultimate (64bit)で試してみたところ、
どのToolを使用しても変更内容が反映されない!
という罠にはまってしまいました。
# 変更はできるように見えますが、Toolを起動しなおすと元に戻ってるんです

そこで・・・・

レジストリエディタで直接変更してみました。
どうやら、これなら変更内容が反映されるようです。

管理者権限に昇格したToolで変更が反映されないのに、
レジストリエディタなら変更が反映される。

ちょっと不思議ですが・・・
UACの所為で、権限は管理者でも変数の内容がユーザのもので、
ちゃんと変更されてないとかそんな理由なのかなぁ?

 

ってことで、変更するべき場所は以下の通りです。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\{Interfaces-serial}\MTU
# {Interfaces-serial}はNICごとに違うので適切なものを選択

Ack延滞を変更する場合は、同じ場所の”TcpAckFrequency”の値を変更。
# 無い場合はDWORDで作成する (デフォルトでは存在しない)

 

RWINを変更する場合は、同じ場所の”TcpWindowSize”の値を変更。
ですが、Vista以降はRWINを自動調整するのでここの値は意味をもちませぬ。

TcpWindowSizeを有効にする場合は、cmd.exeを管理者権限で起動して、
netsh interface tcp set global autotuninglevel=disabled
って入力してください。

戻す場合は、
netsh interface tcp set global autotuninglevel=normal
です。

 

これらの調整により、通信のパフォーマンスを向上できるかと思いますが、
調整ミスにより、遅延やタイムアウトが頻発することもあります。

調整の際はいろいろと調べてみてくださいね。
ゲーム毎のMTUもどこかにのってるでしょう。

あーんど、あまりにServerに迷惑かけそうな設定も自重しましょう。
DoS攻撃みたいになっちゃったら大変。
# そんな頻繁に細かくアクセスしても速度落ちちゃいますし・・・

 

参考までに、
ModemのMTUは576。
ISDNのMTUは1000。
ADSLのMTUは1454。
EthernetのMTUは1500。

FTTH以降は、MTUよりRWINを調整するといいかも。

 

少しでも快適な環境を目指してみましょ。