要約

  • 1989年6月付のRFC 1105は、CiscoルーターとNSFNETのノード交換システム向けに、Border Gateway Protocolの実装がすでに存在したと記している。gated向けのパブリックドメイン版は開発中だった。何台で動作していたか、どの程度経路交換が行われたかは示していない。
  • 1990年6月、RFC 1163と1164はBGPを提案標準として定義し、完全なインターネット標準になる前に運用経験を受けて変更される可能性を明記した。実装の記録は、この標準化の節目より先に現れている。

プロトコルの歴史は「標準が公開され、ベンダーが実装し、事業者が採用する」という順番で説明されがちだ。RFC 1105が残す時系列は、それほど整然としていない。1989年6月のステータス欄は二つの実装先を挙げる一方、三つ目のgated向け公開実装はまだ開発中としている。このRFCは導入状況の調査ではない。バージョン、通信量、導入拠点、テスト結果は載っていない。それでも、最初の仕様を書いている時点で実装作業が進んでいたことを示す同時代の記録である。

対象となったのは自律システム間の経路制御だ。RFC 1105は、到達可能なネットワークと、そこへ至るまでに通過するASの情報を交換するプロトコルとしてBGPを説明する。経路情報はループの検出やAS単位のポリシー判断に使える。設計の背景にはEGPとNSFNETバックボーンでの経験があった。白紙の設計から生まれたのではなく、稼働中のネットワークで得た経験と並行して仕様化された。

初期版の仕組みにも、設計がまだ暫定的だった様子が表れている。OPENメッセージには、AS階層内のピア関係を内部、上位、下位、水平に分類するリンク種別フィールドがあった。UPDATEメッセージでは、AS番号と方向コードを組み合わせた。AS経路を走査してループを探す一方、方向分類はネットワーク間の階層関係を前提にしていた。これは最初のRFCの仕様であり、現在のBGP全体を説明するものではない。

1990年6月にはRFC 1163がRFC 1105を置き換え、RFC 1164がインターネットでの適用を説明した。二つの文書が共同で定義したのは提案標準である。ステータス欄は、運用経験によって仕様が変わる可能性を明記し、実装者に経験の報告を促した。RFC 1163の経路表現には、広告されたネットワークに届くまでに通過するASを列挙する必須属性AS_PATHが含まれる。プロトコルの構造と標準化過程での位置付けは、ともに変化した。

この三つのRFCから、CiscoまたはNSFNETの特定実装が個々の変更を引き起こしたとは言えない。各改訂と開発者の報告を結ぶ記録もない。確認できるのは、1989年に実装があり、1990年に仕様が改訂され、標準化文書が運用経験を今後の入力として認めていたという順序だ。RFC 1266は後に運用経験を扱うが、1991年の展開報告は別の論点であり、すでに別記事で扱っている。

Heng LuのNote 65「Running-Code Primacy」は、稼働する実装が紙上の提案にはない何を示すのか、という編集上の問いを与える。BGPやIETFの歴史を裏付ける史料ではない。一次資料から答えられる範囲は限定的だ。1989年6月には実装作業がRFCに記載されるほど具体化し、1990年6月の文書も設計を変更可能なものとしていた。これらの文書は、全面的な採用、信頼性、商業的成功、BGP-1から現在のBGPへの直線的な継承を証明しない。示すのは、仕様とコードが並行して発展し得た初期の一場面である。

出典