MTU / MSS / RWIN



 ◆ MTU(Maximum Transmission Unit)

 MTUとは一回のデータ転送で送信可能な
IPデータグラムの最大値のことです。EthernetLANでは
 Ethernetフレームが最大1518byteなので、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が格納するユーザデータで
受信可能なセグメントサイズの最大値のことです。
 EthernetLANでは、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などにより最適なサイズが異なります。Windows OSの
 RWINは可変であり、RWIN値を自動的に調整してくれます。



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


   




← Path MTU Discoveryとは ICMP Type / Code 一覧

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

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