MTUとMSSとRWINについて

パソコンでインターネットに接続してTCP/IP経由でサーバーとデーターのやり取りをしますが、この時、MTUとMSSとRWINというものが通信速度に関係してきます。最近のパソコンではユーザーはこれらをあまり気にすることはありませんが、MTUとMSSとRWINについて書き留めておきます。

MTU(Maximum Transmission Unit)とは

パソコンの写真

MTU(Maximum Transmission Unit)サイズは、その ネットワーク楽天 で伝送されるIPデータグラム(パケット)の最大長のことです。

MTUサイズはpingコマンドにデーターの分割を禁止するオプションの「-f」とICMPメッセージの大きさを指定するオプションの「-l」を付けることで調べることができます。

ICMPメッセージ長とMTUサイズの関係

ICMPメッセージ長とMTUサイズには次の関係があります。

MTUサイズ = IPヘッダ長 + ICMPヘッダ長 + ICMPメッセージ長
1500バイト=  20バイト  +   8バイト    +  1472バイト ---例

例えば、「-l」で指定した値が1472までは正常に応答があり、それを超える値を指定すると異常応答になる場合は、そのネットワークで伝送できるICMPメッセージの最大長は1472バイトとなります。

これにIPヘッダ長20バイトとICMPヘッダ長8バイトの合計28バイトを加えた1500バイトがMTUサイズになります。

MSS(Maximum Segment Size)  

MSS(Maximum Segment Size)とは、TCPプロトコルで伝送されるセグメントの最大長のことです。

また、MSSとMTUサイズには次の関係があります。

MSS = MTUサイズ - IPヘッダ長 - TCPヘッダ長
1460= 1500バイト - 20バイト - 20バイト ---イーサネットの例

例えば、イーサネットでは、MTUサイズは1500バイトです。IPヘッダ長が20バイトで、TCPヘッダ長が20バイトだから、MSSは1460バイトになります。

RWIN(Receive Window Size)とは

RWIN(Receive Window Size)とは、TCP/IP経由でデータを受信しているコンピュータが、受信確認を送信側に送る間隔を示す値のことです。

RWINは、回線速度やパソコンによって最適なサイズが異なりますが、Windows98では  RWINのデフォルト値は適当ではないので、書き換えてやる方が速くなります。

Windows2000以降で、ADSLの速度が速くなるのはRWINのデフォルト値に適度な値が設定されているからです。