要約
- RFC 4012は旧来の
import、export、defaultをIPv4ユニキャストのまま残し、ファミリーを指定できるmp-*を追加した。 - 新属性でAFI句を省くと、IPv4/IPv6のユニキャストとマルチキャストを含む
anyになる。「対象なし」ではない。
AFI句がない状態は、空欄ではない
afi句のないmp-importを読むと、対象ファミリーが未指定だと思うかもしれない。RFC 4012は逆の規則を置いた。句を省略すればanyとして扱い、IPv4ユニキャスト、IPv4マルチキャスト、IPv6ユニキャスト、IPv6マルチキャストの4つを対象にする。語が書かれていなくても、範囲は決まっている。パーサーや運用者が推測で埋める余地ではない。
この既定は新しいmp-*属性に限られる。従来のimport、export、defaultはIPv4ユニキャストの意味を保つ。これにより既存記述の意味をひそかに変えず、新しいマルチプロトコル表現も未定義のままにしなかった。本文を解釈する前に、まず文法が省略箇所へ割り当てた範囲を確かめる必要がある。
1999年のRPSLをどう広げたか
RFC 2622は1999年、IPv4ユニキャストの経路ポリシーを記述するRPSLを定めた。import、export、defaultといった属性は、その前提のもとで読める。2005年3月のRFC 4012は、従来の意味を保ちながらIPv6とマルチキャストを扱える拡張を加えた。 RFC 2622 RFC 4012
古い属性の意味は変えず、複数プロトコル用にmp-import、mp-export、mp-defaultを導入した。afi句を添えると、ipv6.unicast、ipv6.multicastなど、どのファミリーに関する宣言かを示せる。句を省略した場合、RFC 4012はmp-*の適用範囲を4つのプロトコルファミリー全体と定める。ここで明確になるのはRPSL文の読み方だ。機器が4種類すべてを実装し、使用するという意味ではない。 RFC 4012、第2.1〜2.5節
この明示性は、IPv4とIPv6で隣接先、フィルター、ネクストホップ、運用判断が異なる現実に合っている。文書の対象範囲を狭く指定できるし、意図的に広いanyも表せる。それでも、記述の範囲と実際の採用は別問題として残る。
範囲は組み合わせても表せる。ipv4とipv6はそれぞれ同じ版のユニキャストとマルチキャストを含み、any.unicastとany.multicastは二つの版をまたいで同じ通信種別をまとめる。anyは四つの基本組み合わせの和集合だ。短い記法で済むのは範囲が暗黙だからではなく、和集合に明確な名前が付いているからである。
同じAFIでも指す層は異なる
RFC 4012はIPv6版のroute6クラスも追加したが、そのオブジェクトキーや変更認可は任意のAFI句とは別の問題であり、認可の扱いはRFC 2725が扱う。ここでは範囲の境界を示すために触れるだけで、もう一つの主題にはしない。 RFC 4012、第3節 RFC 2725
BGPでもAFI/SAFIを使うが、RFC 4760ではUPDATEメッセージのネットワーク層到達性とネクストホップの範囲を示す。RFC 4012の任意のAFI句はRPSLのポリシー記述を限定する。同じ略語でも両者の宣言は入れ替えられず、ルート選択と隣接先ごとの広告はRFC 4271が記述する実行時の動作だ。 RFC 4271 RFC 4760
名前付きの範囲で文法を組み立てる
RPSLがIPv6を扱えるようになった、という要約は正しいが不十分だ。RFC 4012はポリシーのアドレスファミリー範囲を明示できるようにし、バージョンと通信種別をまたぐ範囲に名前を付けた。この変更が示すのは記述言語の設計であり、両方の通信が同じように運用されたという事実ではない。
この区別はデュアルスタックの設計レビューでも重要だ。IPv4とIPv6で同じポリシーが動くとは限らず、同じafiの記述でも実機が使うとは限らない。後のRFC 8212は、EBGPで明示的なimport/exportポリシーがなければならないと定め、ルーター側の運用ルールを明確にした。これはRFC 4012の自動実装ではなく、BGP内のローカルポリシーに関する後年の規則である。 RFC 8212
ここではLu HengのNote 65「Running-Code Primacy」とNote 64「Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption」を編集上の視座として用いる。RFC著者の思想を推定するためではない。共通の記述形式は相互運用に役立つが、実際の動作は稼働システムによる採用と検証で確かめる、という境界を読むためだ。RPSLngはポリシーを読みやすくする。何をロードし、何を広告するかは、BGPを動かすネットワーク側の判断として残る。 Note 65 Note 64
この資料群はRPSLngの普及率、特定レジストリのデータ品質、特定事業者の設定、IPv6の展開状況を測定していない。確認できる結論は限定的だ。RFC 4012は記録できるポリシーを精密にした。その記録が実運用になったかは、実際の設定とBGP状態を見なければ分からない。
主要資料
- RFC 4012 — 次世代ルーティングポリシー記述言語(RPSLng)
- RFC 4012公式記録 — ステータスと公開日
- RFC 2622 — ルーティングポリシー記述言語(RPSL)
- RFC 2725 — ルーティングポリシーシステムのセキュリティ
- RFC 4271 — ボーダーゲートウェイプロトコル4(BGP-4)
- RFC 4760 — BGP-4マルチプロトコル拡張
- RFC 8212 — ポリシー未設定時のEBGP経路伝播動作
- Lu Heng Note 65 — 稼働コードの優先:インターネット本来の設計を保つために
- Lu Heng Note 64 — 最小初期仕様、局所的な将来の決定、自発的な採用
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
