最大伝送単位とは

最大伝送単位(MTU:Maximum Transmission Unit)は、ネットワークにおいて1つのパケット(フレーム)で転送できるデータの最大サイズのことです。

通信プロトコルや物理的なネットワーク媒体ごとに規定されており、単位にはバイト(Byte)が用いられます。この値を適切に設定することは、通信効率の最適化やネットワークトラブルの防止において非常に重要な役割を果たします。

MTUの構成と標準的な値

MTUは、一般的にIPヘッダーやTCPヘッダーなどの制御情報を含む、IPパケット全体の最大長を指します。

主要なネットワークのMTU

  • イーサネット(Ethernet):1500バイトが標準的です。
  • フレッツ光(PPPoE):1454バイト(PPPoEのオーバーヘッドにより標準より小さくなります)。
  • ジャンボフレーム:ギガビットイーサネット以上の環境で利用され、9000バイトなどの大きな値が設定されることがあります。

断片化(フラグメンテーション)とパフォーマンス

通信経路において、送信元から送信されたパケットのサイズが、途中のルータや回線のMTUを超えている場合、パケットを分割して転送する「断片化(フラグメンテーション)」が発生します。

断片化の影響

パケットが分割されると、それぞれの断片に新しいヘッダーが付与されるため、データ全体に対するヘッダーの割合が増加します。これにより、実質的なデータ転送効率(スループット)が低下します。 また、受信側での再構築処理にCPUリソースを消費するため、ネットワーク機器の負荷増大を招く要因となります。

経路MTU探索(Path MTU Discovery)

送信元から目的地までの全ての経路において、最小のMTUに合わせてパケットを送出する仕組みを「経路MTU探索(PMTUD)」と呼びます。

  1. 送信側が、パケットに「分割禁止(DFビット)」を設定して送信します。
  2. 経路上のルータのMTUを下回っていればそのまま通過します。
  3. ルータのMTUを超えている場合、ルータはそのパケットを破棄し、ICMP(Type 3 Code 4: Fragmentation Needed)を送信元に返します。
  4. 送信元は通知されたMTU値に基づいてサイズを調整し、再送します。

スループットとMTUの関係

理論上の通信効率を考える際、MTUのサイズは重要な変数となります。 1パケットあたりのデータ(ペイロード)のサイズを

L_{p}

、ヘッダーの合計サイズを

L_{h}

とすると、MTUは

L_{p} + L_{h}

で表されます。 このとき、転送効率

\eta

は以下の式で計算されます。

\eta = \frac{L_{p}}{L_{p} + L_{h}}

MTU(分母)を大きくすることで、一度に運べるデータの割合が増え、効率が向上します。これがジャンボフレームが高速通信で推奨される理由です。

運用上の留意点:MTUミスマッチとブラックホール現象

特定の環境において、セキュリティ対策のためにICMPパケットを遮断している場合、経路MTU探索が正常に機能しなくなることがあります。

  • MTUブラックホール: ルータが破棄通知を返せず、送信側がパケットの消失に気づかないまま再送を繰り返す現象です。ウェブサイトの特定のページだけが表示されない、あるいはメールの送信が止まるといったトラブルの原因となります。
  • MSS(Maximum Segment Size)調整: TCP通信においては、MTUからIPヘッダーとTCPヘッダーを差し引いた「MSS」を調整することで、これらのトラブルを回避することが一般的です。

MTUは目に見えにくい設定項目ですが、ネットワークのボトルネックを解消し、快適な通信環境を構築するための基盤技術として理解しておく必要があります。

関連用語

ICMP | 今更聞けないIT用語集
フラグメンテーション | 今更聞けないIT用語集
クラウドソリューション

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。