Broadband Edge!

MTUとRWINのチューニング
最高速を手に入れる為の地道なチューニング作業。
FTTHのパワーを引き出す最適な設定とは?。


さぁ、チューニングだぜ!。

さて、工事業者が持ち込んだPCでは68.58Mbpsという結構イケてる速度を叩き出した我が家のFTTH環境ですが、この速度が自分のPCで叩き出せるのか?、また更に向上させる事が出来るのか?といった点を調べていく予定です。

この類のチューニングネタや、PCのベンチマークにも似た速度競争については、「そこまでして何か意味あんの?」と言われる事も少なくありませんが、たとえチューニングによって体感速度が変わらない程度の速度向上しか得られなかったとしても、せっかく利用出来る帯域を設定次第で殺してしまうのはもったいないと考えているので、性懲りもなく取り組んで行きます。(笑)

さて、ADSLやFTTH等のいわゆるブロードバンド環境でネットに接続している場合、それらの通信速度を改善する方法として、「MTUとRWINの設定変更」という技があります。


MTUって何?。

MTUは「Max Transfer Unit」の略で、「パケットの最大サイズを決める」設定値。単位はバイト(Byte)。

インターネット上で情報をやりとりされる文字や画像などの情報は、すべて「パケット」と呼ばれる小包のような単位でやりとりされるが、このサイズはアナログモデムでのダイヤルアップ接続やISDNといった比較的低速な回線では小さい方が効率が良く、ADSLや光ファイバー等のような比較的高速な回線では大きい方が効率が良く転送できるとされている。

このMTUの設定はWindows2000やWindowsXPではもともと大きめに設定されているので高速な回線でも問題なく使用できるが、Windows98等では小さめの設定になってしまっているので高速な回線であまり速度が出ない(PC側で速度が制限されてしまい、せっかくの高速な回線の速度を殺してしまう)という状況になってしまう。

このMTUの設定値はフレッツADSLやBフレッツでは「1454」が最適とされているので、今回も1454で決めて実験を行う事にした。

また一部では「1454ではなく1448が最適」とのウワサがあるが、私がフレッツADSLを使用していた頃に実験した結果ではそれほど大きな差が見られなかったので今回は見送ることにした。MTUを1448に設定した実験は後日行いたいと思います。


RWINって何?。

もう1つのRWINは「Receive WINdow size」の略で、「情報を送ってきてくれる相手に対して受信完了の返事を送る事なく一度に受け取ることが出来る情報のサイズを決める」設定値。単位はバイト(Byte)。

インターネット上で情報をやりとりする時、ある一定のサイズの情報を受け取った後に、情報を送ってきた相手先に対して「受信できたよ!」という返事を返すが、この確認をこまめに返すようにしてしまうと(RWINが小さいと)、返事を返す時間がムダになって通信速度があまり上がらないという状況になってしまう。

光ファイバーのように比較的高速で安定した通信が出来る回線では、この返事をそれほど頻繁に返す必要はないので、RWINを大きめに設定しておけば、切れ目なく一度に受けられる情報の量が増えるので、ムダが少なくなり結果的に通信速度が早くなる。

このRWINの設定値もMTUと同じく、Windows2000やWindowsXPでは大きめの設定になっていて、Windows98等では小さめの設定になっているが、相手が光ファイバーともなると、もともと大きめの設定になっているWindows2000やWindowsXPの場合でもムダが発生しやすいので、もともとの設定よりも更に大きい値(具体的には数万〜数十万程度の値)を設定してあげる必要がある。


測定の前に・・・。

では実際に測定を・・・・と、その前に、MTUとRWINをどのように設定して試すかを考えてみます。

設定値は、MTUを1454に固定し、RWINを32522/65044/130088/260176/520352/1040704の、6パターンで試す事にしました。

「MTUが1454なのは上の説明で分かるけど、どうしてRWINがこんな半端な数字なの?」と思われるかもしれませんが、これはRWINの値を調整設定する場合、

(1)RWINはMSS(MTUの値から40を引いたもの)の整数倍が良いらしい。
(2)RWINを65535を超えて設定する場合、65535以下で最大のMSSの整数倍の値を、2、4、8倍・・・と増加させた数値を設定するのが良いらしい。

という定説が存在するため。

MSSは「Maximum Segment Size」の略で、MTUから、IPヘッダやTCPヘッダと呼ばれる送られて来る情報とは関係のないもの(サイズは40Byte)を引いた値で、宅急便の荷物に例えると、

MTU=荷物全体の大きさ
MSS=荷物全体からダンボールの厚み、中に入っているクッション材、送り状のシール等を除いた荷物そのものの大きさ

と考えると分かりやすいかもしれません。(この例えで合ってるのかなぁ・・・?)
RWINをMSSのサイズの整数倍に合わせるのは、やはりムダを無くす意味があります。

(2)についてはちょっと分かりにくいです。
本来RWINは最大で64KByte(65536Byte)までしか値を指定できません。しかし「ウィンドウスケーリングオプション」というものを有効にすることで、64KByte以上の値を設定する事が出来ますが、それを有効にして64KByte以上の値を設定する場合でも、その設定は何故か65535以下で最大のMSSの整数倍の値に2のn乗を掛けたものを設定するという事になっています。
実際に計算をしてみると、

MSS×46×2のn乗
(1454-40)×46×1=65044
(1454-40)×46×2=130088
(1454-40)×46×4=260176
(1454-40)×46×8=520352
(1454-40)×46×16=1040704


となります。
ちなみに、手前の(1454-40)×46の部分の46という数字がどこから来ているのかというと、(1454-40)×a<65536を充たす最大のaの値が46というだけで、それ以外の理由はありません。

実際には(1454-40)×46×7=455308のような7倍の値も設定する事が出来るのですが、どうして「2のn乗を掛ける」と言われているのかはよくわかりません。(オイ!)

もしかすると「65044の1倍、2倍、3倍・・・と細かく値を上げて行っても大きな変化が見られることはないから2のn乗を掛けた値ごとに変化させる」といった程度の理由しか無いのかもしれませんが、このあたりの技術的な裏付けについてご存知の方、メール下さい。(汗)

ちなみに今回は65044以下で、(1454-40)×23=32522という数値でも試してみます。これは他の結果と比較をするための参考用として65044の半分の値として設けてみました。
(最大100Mbpsの光ファイバーを使用した環境ではRWIN=32522という設定は、明らかに小さすぎて通信速度が犠牲になる事が予想されます。)


結果発表〜!。

PC環境M/B: ABIT BD7-RAID
CPU: Pentium4/1.7GHz
Memory: 512MByte
NetworkCard: Intel 82557搭載カード (100BASE-TX)
OS: WindowsXP SP1
ルーターNTT-ME MN8300
IPフィルタ/SPI/ステルス無効
設定ツールEditMTU Ver2.31
設定確認サイトhttp://www.speedguide.net/analyzer.php
測定サイトhttp://flets.speed/
(フレッツスクエア・エリア内速度測定サイト)
測定時刻2003/01/03 9:00〜10:00

RWIN測定結果(5回分)
3252248.3946.8149.7549.3847.03
65044 (WinXP標準設定)73.1371.8373.1673.4373.16
13008874.2674.8275.1073.9873.98
26017672.5972.0971.3171.3172.35
52035271.8373.1670.5471.0571.31
104070473.4072.6273.1673.1673.98

・・・正直言って、この結果にはショックを隠せません。苦労して測定したのに・・・。(泣)

どのへんがショックなのかというと、参考用に計測したRWIN=32522では明らかに速度が遅いものの、RWIN=65044以降の測定結果にほとんど違いが見られないからです。(どう見ても誤差の範囲)

当初は10回ずつ計測しようとか、平均を計算しようとか考えていましたが、何回計り直しても結果が変わらないんで、やる気が失せまくり。(苦笑)

また、どの結果も70Mbps台が出ているので、ネットワークが混雑していて速度が頭打ちになっているという可能性も低いんじゃないかと思います。

更にショックな事実は、RWIN=65044はWindowsXPのデフォルト値(標準設定)であるという事です。
(正確にはRWIN=65044で決まっている訳ではなくて、65536を超えない最大のMSSの整数倍の値に自動設定されるようです。仮にMTUが1448なら、(1448-40)×46で、RWIN=64768となるようです。)

もしかすると測定時刻や、使用するパソコンのスペックによってはもっと変化してくるのかもしれませんが、今回に実験に使用した環境では、RWINのチューニングによってはっきりとした変化は見られず、WindowsXPの標準設定でも全く問題なく最高速で使用できてしまうという結果となりました。

WindowsXPの発売時に「WindowsXPはブロードバンド対応OSだ」と言われていた時、「またマイクロソフトは適当なキャッチコピーで客をダマそうとして〜」とか思ってましたが、今回の実験はそのコピーを裏付ける結果となりました。あなどり難し・・・。

う〜ん・・・でもなんか納得いかないなー。(泣)
後日、環境を変えて追試します。


戻る