プロが教える店舗&オフィスのセキュリティ対策術

表示が遅いページがあったのでルーター(RT58i)のMTUを下記の実験から
1420+(IPヘッダ20bytes)+(ICMPのヘッダ8bytes)=1448に決定しました。

C:\Users\honjoy>ping -f -l 1420 -n 1 xxx.xx8.95.24

xxx.xx8.95.24 に ping を送信しています 1420 バイトのデータ:
xxx.xx8.95.24 からの応答: バイト数 =1420 時間 =8ms TTL=54

xxx.xx8.95.24 の ping 統計:
パケット数: 送信 = 1、受信 = 1、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 8ms、最大 = 8ms、平均 = 8ms

参考ページ
http://www.atmarkit.co.jp/fwin2k/win2ktips/652pi …

そこそこ快適になったのですが、疑問が生じました。
今回ルーターに設定したのですが、WINDOWSマシン(今回VISTA)のMTUと
ルーターのMTUの関係が分かりません。

乱暴ないいかただと、大きなIPパケットをルータで1448に分割しているはずなのに、
windowsはデフォルトの1500?のままでいいのかなってところです。

いままで、上手く動く適当な値を突っ込んでいましたが、今回理由あって、疑問が出てきました。
どなたか詳しい方お願いします。
また認識が間違っていたらおしえてください。

A 回答 (3件)

>そこそこ快適になったのですが、疑問が生じました。


>今回ルーターに設定したのですが、WINDOWSマシン(今回VISTA)のMTUとルーターのMTUの関係が分かりません。

直接的な関係はありません。
接続しているインターフェースのMTUが異なるだけです。
WindowsはEthernetに接続しているので1500で、
ルータはたぶんPP側のことを言っていると思いますのでそこを今回1448にしただけです。
ルータのLAN側は設定を変更していなければデフォルトなので1500になっていると思います。

>乱暴ないいかただと、大きなIPパケットをルータで1448に分割しているはずなのに、windowsはデフォルトの1500?のままでいいのかなってところです。

通常は問題ありません。
WindowsのMTUをもちろん小さくしても構いませんが、LAN内の通信まで小さくなります。

実際の通信はTCPが大半になると思います。
TCPにはMSS(Maximum Segment Size)というパラメタがあります。
これがTCPで1セグメントで転送できるサイズとなります。
TCPでセッションを張るときにMSSはネゴエーションされその経路で転送できる最適な大きさになります。
一般的には MTU - 40(TCPヘッダ分)です。

質問者さんの構成では、RT58iのWANを通るTCP通信の場合、RT58iがMSSが最適でなく小さくする必要があることを教えてくれるので、それに従ってWindowsがMSSを調整して転送するようになります。

ただ、このネゴエーションのためにICMPを使用するので、ICMPが通らないような経路が途中にあるとうまくいかないこともあります。
この場合は、MTUを変更せざるを得ない場合も無いとは言えないでしょう。

質問者さんがルータのMTUだけを変えて改善が有ったのならば、MSSも適切な値にネゴエーションされるようになったのだと思います。

UDPなど他のIP通信では基本的にMTUに左右されることになりますが、この通信はそれほど多くないのでパフォーマンスに影響することは微少だと思われます。
    • good
    • 0
この回答へのお礼

>RT58iのWANを通るTCP通信の場合、RT58iがMSSが最適でなく小さくする必要があることを教えてくれるので、それに従ってWindowsがMSSを調整して転送するようになります。
>このネゴエーションのためにICMPを使用するので

大変よく分かりました。
回答ありがとうございます。
しかし、ICMPでどうやってネゴエーションするんでしょうね。
今のところ十分ですが、気が向いたらついでにお願いします。

お礼日時:2012/11/29 22:10

>しかし、ICMPでどうやってネゴエーションするんでしょうね。



だいぶ端折りましたので言葉が足りなくて申し訳ありません。

MSS自体のネゴエーションはTCP上でEnd-To-Endで実施します。

ただ、これでは途中経路でMTUが小さいインターフェースがある場合にはやはりフラグメントが発生するので、それを見つける仕組みとしてPath MTU Discovery(RFC1191)を行います。
これがICMPを必要とすることになります。
やっていることは ping -fと同じような感じで、DFビットを使用して検出します。
詳しい話はRFCか解説されているWebサイトを見るほうが早いでしょう。
    • good
    • 0
この回答へのお礼

今回はここまでで十分です。
急に時間が取れなくなったので、時間のあるとき仰せの部分よく見てみます。
回答ありがとうございました。

お礼日時:2012/12/07 00:09

ルータにはそのような機能はありません、コマンドプロンプトで


測定しただけでは、値は変更になりません、MTU値の変更はWindws OS
のレジストリでします。

回線の速度は、MTU値、RWIN値、インターネットコネクション数
などが関連します。

ワンクリックで速度アップを謳っている有償のソフトは、インターネット
コネクション数を変更している物が殆んどです。
デフォルトでは、4と2になってます、16と8または20と10に変更
されるようです、MAX32と16まで設定出来ますが、サーバーに負担
が掛かる為、大きな数値にしてもサーバーで制限が掛かり、かえって遅く
なる場合があります、マイクロソフトでは推奨してません。

これらの設定を全部してくれるソフトがあります、お試しを・・・
http://pc-zero.jp/pages/software.html

私の、光回線の速度が22Mから46Mにアップしました。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
すみません、ルーターにもMTUの設定ありますよ。
http://www.rtpro.yamaha.co.jp/RT/manual/rt-commo …

で今回はルーターのMTU設定とWINDOWSレジストリでのMTUの設定の関係を知りたかったのです。

ソフトのほうは、今後触るときの参考にさせていただきます。

お礼日時:2012/11/29 22:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!