ネットワーク用語/MTU(Maximum Transmission Unit)
MTU(Maximum Transmission Unit)とは
MTUは1回のフレームで送信することができるデータの最大サイズです。
フレームのヘッダとトレーラを除いた部分となり、ネットワーク層にIPを使用する場合はIPパケットの最大サイズということになります。ちなみにMTUからIPヘッダとTCPヘッダを引いた部分がMSSとなります。
カプセル化とMTU
例としてLAN内で一般的に使用されているEthernetⅡのフレームフォーマットとインターネット接続の際に利用されることが多いPPPoEのフレームフォーマットを見てMTUのサイズを確認してみましょう。
図1 EthernetⅡのフレームフォーマット
Ethernetのフレームサイズは64バイトから1518バイトとなっています。
MTUはそこからEthernetヘッダ(14バイト)とトレーラ(図1のFCSの部分:4バイト)を除いたサイズとなるため、
MTUは46バイトから1500バイトということになります。ネットワーク層がIPの場合、1500バイトまでのIPパケットを
1回のフレームで送信できるということになります。
図2 PPPoEのフレームフォーマット
一方PPPoEのフレームの方はEthernetヘッダの後ろにさらにPPPoEヘッダとPPPのヘッダが付加されます。
EthernetではMTUが1500でしたが、その中にPPPoEヘッダ(6バイト)とPPPのヘッダ(2バイト)が含まれているため
送信できるデータの最大サイズは実質1492バイトとなります。IPパケットは1492バイトのサイズまででなければ1回のフレームで送信できないということになります。
このようにカプセル化するプロトコルによって実際に送信できるデータのサイズが異なります。
MTUの調整の必要性
先程EtherntⅡとPPPoEのフレームフォーマットで説明したようにカプセル化するプロトコルによって送信できるデータのサイズが異なるため、環境によってMTUを調整する必要があります。
MTUを調整しなかった場合、パケットのIPフラグメンテーション(パケットが分割して送信される)が行われることになります。IPフラグメンテーションが行われると分割を行うルータに負荷がかかり、またフラグメント化されたパケットを再構成する宛先の機器にも負荷がかかります。
図3 MTUが異なるネットワークにおけるフラグメンテーション