SC Workbook
科目 A-2 · ネットワーク

Path MTU Discovery の障害

A 社の Web サーバは境界のファイアウォールの内側に設置されており,ファイアウォールではインターネットから内部への ICMP をすべて遮断している。一部の利用者から,Web サーバとの TCP コネクションは確立でき,小さな応答は受け取れるが,大きなファイルのダウンロードが途中で止まり,最後はタイムアウトするという申告があった。調査の結果,Web サーバは Path MTU Discovery(RFC 1191)を用いて DF ビットを 1 にした 1,500 バイトの IP データグラムを送信しており,これらの利用者への経路上に MTU が 1,500 バイト未満のリンクがあることが分かった。この問題の対策として,最も適切なものはどれか。

  1. アファイアウォールで,インターネットから Web サーバ宛ての ICMP Destination Unreachable(タイプ 3,コード 4: Fragmentation Needed and DF set)を許可する。
  2. イファイアウォールで,インターネットからの ICMP エコー要求と Web サーバからのエコー応答を許可し,経路の MTU を ping で確認できるようにする。
  3. ウWeb サーバの TCP の再送タイムアウト(RTO)を長くし,経路上で失われたセグメントを再送するまでの待ち時間に余裕をもたせる。
  4. エWeb サーバが送信する IP データグラムの TTL の初期値を大きくし,MTU の小さいリンクに到達する前にデータグラムが破棄されないようにする。
正解と解説を見る

正解 ア

この問題の基礎知識

  • MTU はリンクで一度に送れる IP データグラムの最大長であり,経路上で最小の MTU を経路 MTU(Path MTU)という。イーサネットの MTU は通常 1,500 バイトである。
  • IPv4 で DF ビットが 1 のデータグラムは分割できないので,次ホップの MTU を超える場合はルータが破棄し,次ホップの MTU を含む ICMP Destination Unreachable(タイプ 3,コード 4)を送信元に返す。
  • Path MTU Discovery は,この ICMP メッセージを受けて送信するデータグラムを小さくする仕組みである。ICMP を一律に遮断すると通知が届かず,大きなデータグラムだけが失われ続ける。
  • TTL はルータを経由するたびに減らされ,0 になると破棄されて ICMP Time Exceeded が返される値であり,経由できるルータの数を制限するもので,データグラムの大きさとは関係しない。
アファイアウォールで,インターネットから Web サーバ宛ての ICMP Destination Unreachable(タイプ 3,コード 4: Fragmentation Needed and DF set)を許可する。正解

DF ビットが 1 のデータグラムを MTU のために転送できないルータは,それを破棄して次ホップの MTU を含む ICMP タイプ 3,コード 4 を送信元に返す。これが届けば Web サーバは Path MTU を小さくして送り直せるが,遮断すると大きなセグメントだけが失われ続ける(RFC 2923)。

イファイアウォールで,インターネットからの ICMP エコー要求と Web サーバからのエコー応答を許可し,経路の MTU を ping で確認できるようにする。

Path MTU Discovery は ICMP エコーを使わず,ルータが返す Fragmentation Needed のメッセージで Path MTU を知る。エコーを許可しても外部から ping できるようになるだけで,Web サーバには経路の MTU が伝わらず,大きなセグメントは破棄され続ける。

ウWeb サーバの TCP の再送タイムアウト(RTO)を長くし,経路上で失われたセグメントを再送するまでの待ち時間に余裕をもたせる。

セグメントが失われる原因は遅延ではなく,データグラムが経路の MTU を超えていることにある。再送も同じ大きさで DF ビットを 1 にして送られるので,待ち時間を長くしても毎回破棄され,ダウンロードが止まる状況は変わらない。

エWeb サーバが送信する IP データグラムの TTL の初期値を大きくし,MTU の小さいリンクに到達する前にデータグラムが破棄されないようにする。

TTL はルータを経由するたびに減らされ,0 になるとデータグラムが破棄されて ICMP Time Exceeded が返される仕組みで,経由できるルータの数を制限するものである。破棄の原因はデータグラムの大きさなので,TTL を大きくしても MTU の小さいリンクは通過できない。

検証用の出典出典照合済み
RFC 1191 Path MTU Discovery / RFC 2923 TCP Problems with Path MTU Discovery / RFC 792 Internet Control Message Protocol
照合の根拠(7 件)
  • ア(正解): DF ビットが 1 で次ホップの MTU を超えるデータグラムに対し,ルータは ICMP Destination Unreachable(fragmentation needed and DF set)を送信元に返す(同節の図で Type = 3,Code = 4)
    When a router is unable to forward a datagram because it exceeds the MTU of the next-hop network and its Don't Fragment bit is set, the router is required to return an ICMP Destination Unreachable message to the source of the datagram, with the Code indicating "fragmentation needed and DF set".
    RFC 1191 · Section 4(新しいタブで開きます)
  • ア(正解): このメッセージが届けば送信ホストは Path MTU の推定値を小さくする
    When a host receives a Datagram Too Big message, it MUST reduce its estimate of the PMTU for the relevant path, based on the value of the Next-Hop MTU field in the message (see section 4).
    RFC 1191 · Section 3(新しいタブで開きます)
  • ア(正解): ICMP をすべて遮断するファイアウォールの設定が PMTUD の障害(ブラックホール)の原因になる
    Firewalls are often misconfigured to suppress all ICMP messages.
    RFC 2923 · Section 2.1(新しいタブで開きます)
  • ア(正解)・ウ(誤り): ICMP が届かないと上位層は大きなパケットを送り続けるだけで,再送の待ち時間を変えても大きさは小さくならない
    PMTUD, as documented in [RFC1191], fails when the appropriate ICMP messages are not received by the originating host. The upper- layer protocol continues to try to send large packets and, without the ICMP messages, never discovers that it needs to reduce the size of those packets.
    RFC 2923 · Section 2.1(新しいタブで開きます)
  • イ(誤り): ping(ICMP エコー)が通ってもこの障害は解消しない。問題文の症状(大きな転送だけが止まりタイムアウト)とも一致する
    This failure is especially difficult to debug, as pings and some interactive TCP connections to the destination host work. Bulk transfers fail with the first large packet and the connection eventually times out.
    RFC 2923 · Section 2.1(新しいタブで開きます)
  • イ(誤り): PMTUD が経路の MTU を知る手段はルータが返す Destination Unreachable であり,ICMP エコーではない
    If any of the datagrams are too large to be forwarded without fragmentation by some router along the path, that router will discard them and return ICMP Destination Unreachable messages with a code meaning "fragmentation needed and DF set" [7].
    RFC 1191 · Section 2(新しいタブで開きます)
  • エ(誤り): TTL はデータグラムの寿命の上限を示すもので,大きさによる破棄(DF 付きで MTU 超過)とは無関係
    This field indicates the maximum time the datagram is allowed to remain in the internet system. If this field contains the value zero, then the datagram must be destroyed.
    RFC 791 · Section 3.1(新しいタブで開きます)

TTL がルータごとに減らされ 0 で破棄されること(エの解説)は RFC 791 Section 3.1 の Time to Live の説明と RFC 792 の Time Exceeded Message の Description にもある。

問題 ID A2-NET-0507 · AI 作成のオリジナル問題 · 正解と各選択肢の根拠を出典の原文で確認しています。 照合日 2026-11-08

非公式の学習用アプリです(IPA とは関係ありません)。問題はすべて AI が作成したオリジナルで、誤りを含む場合があります。