要約

  • RFC 3036は同じ完全アドレスを指し得るAddress PrefixとHost Addressに、異なるFECの意味を割り当てていた。
  • RFC 5036は実装で使われていないHost Address FECを削除したが、完全なアドレス長までのAddress Prefixを残した。

似た値でも、同じ型ではなかった

2001年1月、最初のLabel Distribution Protocol(LDP)仕様は、MPLSのルーター同士がラベルの意味を共有する方法を定めた。Forwarding Equivalence Class(FEC)は、同じラベル交換パスに載せられるパケット群を表す。LDPはFECとラベルの結び付きを隣接ルーターへ知らせる。

RFC 3036のFECには、アドレスに関わる要素が二つあった。Address Prefixは0ビットからアドレス全長までを取れる。Host Addressは一つの完全なホストアドレスを運ぶ。両者は単なる表記違いではない。同じ値でも、全長プレフィックスとHost Address FECでは作用が異なると仕様は明記し、パケットと複数のLSPが一致する場合にはHost Address側を優先する規則を置いた。符号も別で、Prefixは0x02、Host Addressは0x03だった。

次の基本仕様はこの区別を整理した。2007年10月のRFC 5036はRFC 3036を置き換え、LDPをDraft Standardへ進めた。その変更一覧の最初にあるのがHost Address FECの削除だ。理由も書かれている。「どの実装もそれを使っていない」ためである。これは当該要素についての記録であって、LDP全体が使われていなかったという意味ではない。どの製品を調べたのか、何台を数えたのか、なぜ実装が採用しなかったのかは記されていない。

改訂後の基底FEC要素はAddress Prefix一つとなったが、その長さは引き続きアドレス全体に達する。消えたのはパケットを分類する別個の型であり、単一アドレスを含む全長プレフィックスの表現ではない。したがって「ホスト経路がなくなった」「LDPは未使用だった」「旧二形式は初めから同じだった」とは言えない。確認できるのは、標準が未使用と記した別型を削り、全長プレフィックスを維持したことだ。

実装の記録で語彙を絞る

プロトコルは、実装経験が差異の価値を示す前に、いくつもの形式を定義することがある。RFC 5036は、その後始末を簡潔に記録した。技術的欠陥を推測したり、全インターネットを測定したかのように装ったりせず、「実装では使われていない」とだけ述べる。

その一文は証拠の限界も示す。ベンダー名、導入率、現場の障害、調査方法はRFCにない。「どの実装も使っていない」は「過去に誰も一度も送らなかった」や「運用者が拒否した」と同じではない。また、全長プレフィックスと旧Host Addressの動作が、すべての場面で等価だと証明する試験も公表されていない。

変わらなかったものにも注目したい。MPLSではFECがパケット群を表し、LDPは引き続きラベルの対応付けを配布する。狭まったのは仕様の語彙である。採用を示す実装記録がない型を一つ外し、より一般的なプレフィックス形式は残した。インターネット標準の歴史には、新しい仕組みを定義した瞬間だけでなく、こうした小さな削除も含まれる。

Sources

Heng Luのエッセイは明示した分析上の視点であり、LuはLDP仕様を執筆・支持していない。