◆ 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では固定されていました。
◆ Ethernetフレーム、PPPoEフレームのフォーマット

|