経路MTU探索とは

けいろえむてぃーゆーたんさく

送信元から宛先までの経路の中で最も小さいMTU(経路MTU)を調べ、パケットをその大きさ以下にして送るしくみ。送信元は分割を禁止してパケットを送り、大きすぎて通れないパケットを捨てたルータが、ICMP(IPv4では分割が必要、IPv6ではPacket Too Big)で通れる大きさを知らせる。途中でこのICMPが捨てられると、大きなパケットだけが届かなくなる(経路MTUのブラックホール)。

「経路MTU探索」は、1分野の1問の練習問題に出てきます(ネットワークの設計と運用など)。

この用語の分野: ネットワークの設計と運用

経路MTU探索の練習問題に挑戦

拠点間のVPNのトンネルを通して、遠くのWebサーバと通信している。TCPのコネクションは確立でき、小さなページは表示されるが、大きなファイルのダウンロードだけが途中で止まってしまう。トンネルの中のMTUは1400バイトで、サーバは1500バイトのパケットを分割禁止(DFビットを1)にして送っている。また、サーバの手前のファイアウォールはICMPをすべて捨てる設定になっている。原因として最も適切なものはどれか。

  1. ADNSの名前解決が失敗しているため
  2. BTCPの受信ウィンドウが小さすぎて、一度に送れるデータの量が足りないため
  3. C大きすぎるパケットを捨てたルータが送る、分割が必要であることを知らせるICMPのメッセージがサーバに届かず、サーバがパケットを小さくできないため
答えと解説を見る

正解:C. 大きすぎるパケットを捨てたルータが送る、分割が必要であることを知らせるICMPのメッセージがサーバに届かず、サーバがパケットを小さくできないため

経路MTU探索では、送信元はDFビットを1にしてパケットを送り、途中のMTUより大きいパケットを捨てたルータが、ICMPのメッセージ(IPv4では分割が必要、IPv6ではPacket Too Big)で通れる大きさを知らせます。このメッセージがファイアウォールで捨てられると、サーバは大きなパケットを送り続け、それが毎回捨てられるので、大きなデータの転送だけが止まります(経路MTUのブラックホール)。コネクションの確立や小さな応答は、パケットが1400バイトより小さいので問題なく届きます。対策は、このICMPのメッセージを捨てないようにすることや、トンネルの入口のルータでTCPのMSSを小さく書き換えることです。IPv4とTCPのヘッダをそれぞれ20バイトとすると、MTUが1400バイトならMSSは 1400 − 20 − 20 = 1360 バイトにします。

解説の中の「経路MTU探索」

「経路MTU探索」が出てくる問題(1問)

  1. 拠点間のVPNのトンネルを通して、遠くのWebサーバと通信している。TCPのコネクションは確立でき、小さなページは表示されるが、大きなファイルのダウンロードだけが途中で止まってしまう。トンネルの中のMTUは1400バイトで、サーバは1500バイトのパケットを分割禁止(DFビットを1)にして送っている。また、サーバの手前のファイアウォールはICMPをすべて捨てる設定になっている。原因として最も適切なものはどれか。

ネットワークの設計と運用の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

関連する用語

VPN TCP MTU(最大転送単位) パケット ファイアウォール ICMP ルータ IPv4 IPv6 アドミニストレーティブディスタンス

用語集の一覧へ