要約

  • RFC 1393 は IPv4 オプション82と専用ICMPメッセージを定義し、1個のパケットから各ルーターがホップ情報、出力リンク速度、MTUを報告できるようにした。
  • 送信側の反復を減らす代わりに全ホップへ新しい処理を要求したため普及せず、のちに Historic となり、現在はフィルタリングが推奨される。

TTLを数えない経路測定

従来方式が普及した強みは、TTLが尽きたパケットに対してルーターがもともと返す ICMP Time Exceeded を利用できる点にある。TTLを1、2、3と変えていけば、特別な測定機能をルーターに追加せず経路を組み立てられる。一方、RFC 1393 は約2n個のパケット、繰り返し通る近距離区間、測定中の経路変化、復路が見えないことを弱点とした。

提案されたタイプ82は、コピー・ビット0、デバッグ/計測クラス2、番号18から成る。内部には送信者が選ぶ識別子、往路ホップ数、復路ホップ数、送信元IPv4アドレスが入る。識別子はIPv4ヘッダーの Identification とは別物である。

送信時は往路を0、復路を 0xFFFF にする。この値が往路パケットの印となる。対応ルーターは転送のたびに該当カウンターを増やし、記録された送信元へ ICMP Traceroute を返す。出力リンク速度とMTUも載せ、判定できない場合はゼロを使う。元のパケットの経路選択は、オプションがない場合と同じでなければならない。

宛先が応答へオプションを引き継ぎ、復路カウンターを0に戻せば、帰り道も同じ仕組みで報告できる。これが n+1 個で往復の情報を得るという構想だった。ただしカウンターはTTLではなく、報告を送ったときだけ増える。返信の欠落は短い経路の証明ではない。

全体参加を必要とした代償

端点が節約した処理は消えず、ルーターへ移った。RFC 1393 自身も各ルーターへの新機能実装が欠点だと認め、安全性は論じなかった。RFC 7126 は後に、各ホップへ特別処理とICMP生成を強いる仕組みがCPU枯渇型のDoSに利用され得ると整理した。

RFC 6814 によれば、この実験は公共インターネットで広く展開されなかった。2012年にRFC 1393は廃止され、Historicへ移された。RFC 7126 はタイプ82を遮断しても運用・相互接続への影響はないとし、ルーター、セキュリティゲートウェイ、ファイアウォールに破棄を勧告している。

経路を知る需要が消えたのではない。既存の転送エラーを使う診断と、全ルーターに新しい報告サービスを要求する診断では、展開の条件が違ったのである。

出典