要約

  • RFC 9723 は IPv6 unicast と Color Extended Community を再利用し、意図に対応する SRv6 locator prefix を広告する。Service SID は colored prefix との最長一致で域内経路へ導かれる。
  • 色が見えることは制御プレーン上の主張にすぎない。全 AS の辞書が同じ版であること、FIB への導入、想定 prefix の勝利、実パケット経路、遅延・分離・可用性の達成は別に証明しなければならない。
  • 監査可能な結論には、辞書の権限、locator の割当、BGP 伝播、各ドメインの (N,C) 解決、RIB/FIB、最長一致、パケット観測、サービス測定、withdrawal の連結が必要である。

両端が緑でも、中央は空白になり得る

低遅延サービスの Service SID が、色 C1 を持つ locator の下に割り当てられたとする。第 1 AS の表には C1 があり、第 3 AS の collector にも C1 がある。ところが第 2 AS は CPR 非対応で、border router は色を無視し、next hop を best effort で解決していた。

それでも colored route は下流へ広告される。RFC 9723 は段階導入のため、この動作を明示している。つまり色の到着と意図どおりの転送は両立しない事実ではなく、最初から別の事実である。

RFC Editor の記録と IETF Datatrackerによれば、RFC 9723 は 2025 年 5 月公開の Informational RFC で、Standards Track ではない。errata 検索も実装や導入を認証するものではない。

アドレス階層を意図の索引にする

CPR は新しい BGP family を作らない。RFC 2545 に基づく IPv6 unicast AFI/SAFI 2/1 と、RFC 9012 の Color Extended Community を使う。IANA の BGP Extended Communities registryが共通割当を記録し、RFC 9723 自体に新しい IANA action はない。

PE は base locator を複数のより具体的な sub-locator に分け、それぞれを低遅延、高帯域などの意図に結び付けられる。colored prefix は色付きで、covering base locator は色なしで広告できる。サービスの SID は対応する colored locator の配下に置かれ、route は RFC 9252 に従う。Option C では next hop を origin PE のままにし、service route 自体に色を繰り返す必要がない。

ingress PE は Service SID を外側 IPv6 destination にする。対応する CPR route が受信・install されていれば、最長 prefix 一致によって color-aware な域内 next hop が得られる。この処理が各 border で繰り返される。

効率の代償は、意図が暗黙の関係になることである。判断は SID、当時存在した covering prefixes、LPM の勝者、その route の色に依存する。SID が変わらなくても、stale route や予期しない more-specific が実際の扱いを変えられる。

色の辞書はプロトコル外の重要状態である

RFC 9723 の通常例は、trusted domain の全 AS で同じ色が同じ意図を意味すると仮定する。異なる色を使う場合は border の mapping policy が値を書き換える。

BGP は数値を運ぶが、「低遅延」の閾値、測定窓、対象サービス、承認者、発効時刻までは運ばない。BGP peer の認証とビジネス意味の認証は同じではない。

辞書には value、意味、測定可能な目標、AS/service scope、version、owner、approver、有効期間、廃止、許可された mapping が必要である。border policy は接続する辞書の版を示すべきだ。同じ prefix に異なる Color EC が付く状態は RFC 9723 が misconfiguration と呼ぶ。自動的に片方を選んで SLA を維持するのではなく、両方を保存し、保証判定を止め、解決責任を記録する必要がある。

(N,C) はローカル選択の入口にすぎない

border は BGP next hop N と色 C の組を、SRv6 Policy、SR-MPLS Policy、SRv6/SR-MPLS Flex-Algo、RSVP-TE などへ解決できる。詳細は各 domain の policy である。RFC 9256が示すとおり、SR Policy にも candidate path、preference、validity、active path、fallback がある。

したがって AS ごとに、受信 prefix、N、C、mapping version、候補、選択理由、liveness、fallback、最終的な programmed next hop を残さなければならない。controller の desired state は router readback の代替ではない。

最長一致は到達性だけを救うことがある

base locator は colored sub-locator を覆う。RFC 9723 が Color EC 付き route の aggregation を無効にするよう求めるのは、具体的な colored prefix を ingress まで保つためである。

たとえば colored /68 が消え、色のない /64 が残れば、Service SID は到達可能なままかもしれない。しかし LPM は別の route を選び、低遅延 treatment は失われる。ping の成功は service intent の回復ではない。逆に、想定外のより具体的な prefix が正規 route を覆う場合もある。

FIB 監査は「期待 route があるか」ではなく、代表的 SID に対してどの prefix が勝つかを計算し、covering chain、route age、withdrawal を保存する必要がある。RIB と FIB も分ける。policy rejection、recursive resolution、programming delay、hardware capacity によって、route が見えても packet は変わらない。

段階導入には downgrade の所在がある

非対応 AS は色を無視しながら route を伝える。これは互換性の利点であると同時に、assurance の切れ目である。どの AS/node が CPR を理解し、どこが色を解決し、どこが best effort にしたか、その downgrade を誰が許可したかを capability path として残すべきだ。

複数 EBGP path では local policy が link と route の属性を評価できる。RFC 9723 は詳細を scope 外としつつ、domain 間の policy consistency を求める。その consistency は文書が作る事実ではなく、運用が提示すべき証拠である。

trusted domain も測定値ではない。RFC 8402 は SID の trusted source、conflict の deterministic handling、path effectiveness/liveness/performance を確かめる OAM を要求し、default delivery は best effort とする。peer authorization、filter、dictionary custody、controller write right、RIB/FIB readback、packet observation を個別に確認しなければならない。

RFC 9723 は、色と意図の対応が domain 内の BGP node に見え、on-path attacker が特定 intent の traffic を識別し得るとも述べる。RFC 4271 と RFC 4272 は BGP の security boundary を、RFC 8754 と RFC 8986 は SRv6 data plane を示す。

RFC 9602 の 5f00::/16 について、RFC 9723 は広い block を default drop し、利用中の colored prefixes を permit する合意例を示す。合意、configuration、hardware installation、packet result は四つの record である。

SLA の証明は route の後から始まる

低遅延なら clock と vantage point を明示した delay、loss、jitter、availability を測る。isolation なら実際の forwarding/resource boundary、高帯域なら capacity、reservation、congestion、delivered throughput を区別する。

packet observation は Service SID、winning prefix、FIB next hop、各 domain の ingress/egress、encapsulation、time、policy version に join できなければならない。変更後の probe は変更前を証明しない。平均値は一つの fallback AS を隠し得る。

withdrawal も逆順に閉じる。origin withdrawal、downstream disappearance、controller invalidation、FIB removal、fallback activation、旧 treatment の last packet を記録する。base locator が到達性を保つなら、assurance の downgrade を明示する重要性はさらに高い。

Lu Heng の Running-Code Primacy は、control-plane symbol と running network を分ける分析枠組みである。Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption は共通 wire mechanism と各参加者の採用判断を分離する。On Reality Layers は coordination fact と executable fact の混同を防ぐ。これらは RFC 要件ではなく、明示された解釈である。

RFC 9723 が運ぶのは意図への索引である。SLA は、その索引が現実の path と result に結び付いたときだけ成立する。

情報源

一次資料:RFC 9723、RFC Editor、IETF Datatracker、errata、RFC 2545、RFC 4271、RFC 4272、RFC 8402、RFC 8754、RFC 8986、RFC 9012、RFC 9252、RFC 9256、RFC 9602、IANA registry。

帰属を明示した分析枠組み:Running-Code Primacy、Minimum Initial Specification、On Reality Layers。