MTU / MSS / RWIN



 ◆ MTU(Maximum Transmission Unit)

 MTU とは、一回のデータ転送にて送信可能な [ IPデータグラムの最大値 ] のことです。
 例えば、Ethernet型LANの環境においてはEthernetフレームが最大 1518 byte なので、
 Ethernetヘッダ ( 14byte ) と FCS ( 4byte ) を除く 1500byte がMTUサイズとなります。

Ethernet型LANにおけるMTUの算出
Ethernet frame - Ethernet header & FCS = MTU
 1518 18 1500


 PPPoEの場合、Ethernetフレームにカプセル化する前に、PPPとPPPoEもカプセル化する
 必要があり、PPPとPPPoEヘッダの8byteを含めて 1500byte 以内にする必要があります。
 従い、PPPoEが実装されるLANではMTU上限が理論上1492byteであることが分かります。

PPPoEが実装されているEthernet型LANにおけるMTUの算出
Ethernet frame - Ethernet header & FCS - PPPoE header - PPP header = MTU
 1518 18 6 2 1492




 ◆ MSS ( Maximum Segment Size )

 MSSとは、TCPが格納するユーザデータで「受信可能なセグメントサイズの最大値」のことです。
 Ethernet型LANでは、Ethernetフレームが最大 1518byte なので、Ethernetヘッダ ( 14byte )
 FCS( 4byte ) TCPヘッダ( 20byte ) IPヘッダ( 20byte ) を除く1460byteがMSSサイズとなります。
 MSSは、MTUからTCP/IPヘッダ(40byte)をマイナスした値で常に「MSS = MTU - 40」となります。

Ethernet型LANにおけるMSSの算出
Ethernet frame - Ethernet header & FCS - IP header - TCP header = MSS
 1518 18 20 20 1460


 PPPoEの場合は、PPPとPPPoEにもカプセル化する必要があり、これらPPPヘッダとPPPoEヘッダの
 合計8byteを含めて1460byte以内にする必要があります。従ってPPPoEでは接続元のクライアントが
 接続先サーバにTCPコネクションを確立する際に最大1452byteのデータを要求できることになります。

PPPoEが実装されているEthernet型LANにおけるMSSの算出
Ethernet
frame
- Ethernet header
& FCS
- PPP
header
- PPPoE
Header
- IP
header
- TCP
header
= MSS
1518 18 2 6 20 20 1452


 ◆ RWIN ( Receive Window Size )

 RWINとは、相手側の確認応答 ( Ack ) を待たずに、一度に送信出来るデータサイズのことです。
 通信時の SYN/ACK のコネクションの際に、TCPが受信可能なMSSとRWINを相手に通知します。
 RWIN は、回線速度やPCの CPU/Memory などにより最適なサイズが異なります。Windows7 の
 RWIN は可変であり、RWIN値を自動的に調整してくれますが、以前のOSでは固定されていました。
 ※ RWINのデフォルト値 - Win95 / 98 / NT ( 8192byte ) Win2000 / ME ( 16384byte ) WinXP ( 65535byte )

 現在のあなたのPC値は http://www.speedguide.net/analyzer.php から確認することができます。



 ◆ Ethernetフレーム、PPPoEフレームのフォーマット


  




← Path MTU Discovery 1 ICMP Type / Code 一覧表

ネットワークエンジニアとして

Copyright (C) 2002-2017 ネットワークエンジニアとして All Rights Reserved.