ウインドウサイズとMTUの違いについて

こんにちは。プロフェッショナルネットワークの本を読ませて頂いています。

ウインドウサイズとMTUの違いについて教えてください。

ウインドウサイズは受信側で受け取れるパケットの上限を決める、
MTUは送信側で送れるパケットの上限を決める、
と理解していますが合ってるでしょうか?

それでしたら、ウインドウサイズが1000バイトで、MTUが1200バイトの
場合、受信側では1000バイト以上受け取れないので、送信側でも
1000バイト以上送らなくなるのでしょうか?

その場合、ウインドウサイズが優先される事になると、ウインドウサイズだけ
を決めておけばいい、ということになりますが、そうするとMTUは
何のためにあるのでしょうか?

名前: 
ラッセル
日時: 
11/06/08 21:20

コメント

ラッセルさん,こんにちわ。
返事が遅くなってしまいまして,スミマセン。

さて,ウインドウとMTUの違いですが,簡単にまとめると次のようになります。

まず,MTUですが,これは,一つのIPパケットの最大サイズを表す値です。
たとえば,イーサネットのパケットにIPパケットを格納する場合,
イーサネットパケットのデータ部分にIPパケットを格納する格好になりますから,
イーサネットパケットのデータ部分の最大長がMTUと等しくなります。
普通,イーサネットのデータ部分は最大1500バイトですから,
これがMTUの値になります。
言葉を替えると,IPの下位層のパケットのデータ部分の最大長がMTUになるわけです。
そういうものですから,送信動作,受信動作の両方でMTUは同じ値になります。
MTUを超える大きなパケットは送信も受信もできないということですね。

一方,ウインドウの方は,TCPでデータを送受信する場合に,
受信側からの受信確認を待たずに送信できるデータ量の上限を表します。
つまり,ウインドウサイズに達するまで,送信側はデータパケットを連続送信できるわけです。
細かい話は省略しますが,通常,ウインドウの値は数10Kバイトあるいはそれ以上なので,
何個ものパケットが連続送信されることになります。
ウインドウサイズを大きくすると,
連続送信されるパケットの数が増えると理解すればよいでしょう。

補足ですが,
その連続送信される一つ一つのパケットの最大サイズを決める値がMTUであり,
個々のIPパケットはMTUのサイズより小さくなる,
ということです。

戸根様

ご回答ありがとうございます。

ウインドウサイズは数10Kバイトが通常なんですね。
それだと、MTUが最大1500バイトのパケットを送ってもすぐにバッファ溢れにはならないですね。

違いが理解できました。
ありがとうございました。