RFC 9871 - BGPカラー感知ルーティング (Color-Aware Routing)
文書情報
- RFC番号: 9871
- タイトル: BGP Color-Aware Routing (CAR)
- 発行日: 2025年11月
- ステータス: EXPERIMENTAL (実験的)
- 著者:
- D. Rao, Ed. (Cisco Systems)
- S. Agrawal, Ed. (Cisco Systems)
概要 (Abstract)
本文書は、マルチドメイントランスポートネットワーク全体でエンドツーエンドのインテント感知パス (Intent-Aware Paths) を確立するためのBGPベースのルーティングソリューションについて説明します。トランスポートネットワークは、複数のサービスプロバイダーおよび顧客ネットワークドメインにまたがることができます。BGPインテント感知パスは、特定のインテントを必要とするサービスルートのトラフィックフローを誘導するために使用できます。このソリューションは、BGPカラー感知ルーティング (BGP CAR) と呼ばれます。
本文書は、BGP CARソリューションを使用してインテント感知ルーティングを可能にするためのルーティングフレームワークとBGP拡張について説明します。このソリューションは、IPv4とIPv6用の2つの新しいBGP SAFI (BGP CAR SAFIとBGP VPN CAR SAFI) を定義します。また、異なるユースケースに対して複数のNLRIタイプを定義できる拡張可能なネットワーク層到達可能性情報 (NLRI) モデルを両方のSAFI用に定義します。各NLRIタイプには、異なるプレフィックス単位の情報を効率的にエンコードするためのキーフィールドとTLVベースの非キーフィールドが含まれます。本仕様では、2つのNLRIタイプ (カラー感知ルート (Color-Aware Route) NLRIとIPプレフィックスNLRI) を定義します。また、MPLSラベルスタック、SR-MPLSラベルインデックス、およびSegment Routing over IPv6 (SRv6) セグメント識別子 (SID) 用の非キーTLVタイプを定義します。さらに、新しいローカルカラーマッピング (LCM) 拡張コミュニティも定義します。
カラー感知ルーティングとは?
核心概念
カラー (Intent):
- 特定のサービスレベルまたはトラフィックエンジニアリングポリシーを識別する32ビット整数値
- 例: カラー100 = "低遅延パス"、カラー200 = "高帯域幅パス"
- 従来の「宛先のみ」のルーティングとは異なり、CARは宛先とカラーの両方を考慮します
カラー感知ルーティング:
従来のBGPルーティング:
宛先: 10.1.1.0/24 → 最適パスを選択
CARルーティング:
宛先: 10.1.1.0/24 + カラー: 100 → カラー100の要件を満たす最適パスを選択
宛先: 10.1.1.0/24 + カラー: 200 → カラー200の要件を満たす最適パスを選択
ユースケース
ユースケース1: サービス差別化
企業VPNサービス:
- VIP顧客トラフィック → カラー100 (低遅延、高信頼性)
- 標準顧客トラフィック → カラー200 (ベストエフォート)
- バックアップトラフィック → カラー300 (低優先度)
ユースケース2: アプリケーション最適化
クラウドサービスプロバイダー:
- リアルタイムビデオ → カラー100 (ジッター敏感)
- ファイル転送 → カラー200 (帯域幅優先)
- バルクデータ → カラー300 (コスト最適化)
ユースケース3: マルチクラウド相互接続
クロスクラウド接続:
- ミッションクリティカルアプリ → カラー100 (専用回線、低遅延)
- 一般アプリ → カラー200 (インターネット、コスト最適化)
技術アーキテクチャ
BGP拡張
新しいBGP属性: カラー拡張コミュニティ
タイプ: Extended Community
フォーマット:
Type: 0x0b (Color)
Sub-Type: 0x0b
Color Value: 32ビット整数
例:
Color:100
Color:200
BGP UPDATEメッセージ
標準BGP UPDATE:
NLRI: 10.1.1.0/24
Next-Hop: 203.0.113.1
AS-Path: 65001 65002
CAR BGP UPDATE:
NLRI: 10.1.1.0/24
Next-Hop: 203.0.113.1
AS-Path: 65001 65002
Extended Community: Color:100 ← 新規
ルーティングプロセス
ステップ1: ルートテーブル構成
従来のルートテーブル:
宛先 ネクストホップ
10.1.1.0/24 → 203.0.113.1
CARルートテーブル:
宛先 カラー ネクストホップ
10.1.1.0/24 + なし → 203.0.113.1 (デフォルト)
10.1.1.0/24 + 100 → 203.0.113.2 (低遅延)
10.1.1.0/24 + 200 → 203.0.113.3 (高帯域幅)
ステップ2: パケット分類
入口ルーター:
1. パケットを検査 (ポリシーに基づく)
2. カラー値を割り当て
3. カラー感知ルートテーブルを参照
4. 適切なネクストホップに転送
ステップ3: パスマッピング
カラーから物理パスへのマッピング:
カラー100 → SRポリシー1 → 低遅延リンク経由
カラー200 → SRポリシー2 → 高帯域幅リンク経由
カラー300 → SRポリシー3 → コスト最適化パス経由
セグメントルーティング (SR) との統合
SRポリシーバインディング
設定例:
sr-policy color 100
candidate-path preference 100
explicit segment-list path1
segment 16001
segment 16002
segment 16003
エンドツーエンドフロー
1. BGPアドバタイズ: Prefix + Color:100
2. コントローラー/PCE: Color:100を満たすSRポリシーを計算
3. 入口PE: トラフィックをSRポリシーにマッピング
4. データプレーン: SRポリシーに沿って転送
5. 出口PE: カプセル化解除して配信
設定例
基本設定
カラー付きルートのアドバタイズ
router bgp 65001
neighbor 203.0.113.1 remote-as 65002
address-family ipv4 unicast
network 10.1.1.0/24
route-policy ADD-COLOR out
route-policy ADD-COLOR
set extcommunity color 100
end-policy
カラーの受信と処理
router bgp 65001
address-family ipv4 unicast
neighbor 203.0.113.2 remote-as 65002
route-policy MATCH-COLOR in
route-policy MATCH-COLOR
if extcommunity color is 100 then
set local-preference 200
elseif extcommunity color is 200 then
set local-preference 100
endif
end-policy
高度なアプリケーション
アプリケーションベースのカラーマッピング
class-map match-any REALTIME
match protocol http
match dscp ef
policy-map COLOR-MAPPING
class REALTIME
set extcommunity color 100
class BULK-DATA
set extcommunity color 300
class class-default
set extcommunity color 200
マルチカラー冗長性
router bgp 65001
address-family ipv4 unicast
network 10.1.1.0/24
route-policy MULTI-COLOR out
route-policy MULTI-COLOR
set extcommunity color 100 additive
set extcommunity color 200 additive
end-policy
# 結果: ルートはカラー100と200の両方を保持
# 受信側が適切なカラーを選択可能
デプロイメントに関する考慮事項
段階的デプロイメント
フェーズ1: コアネットワーク
1. コアルーターでCARを有効化
2. カラーポリシーを定義
3. SRポリシーを設定 (SRを使用する場合)
4. カラールーティング機能をテスト
フェーズ2: エッジ拡張
5. PEルーターでCARを有効化
6. トラフィック分類を設定
7. 顧客トラフィックをカラーにマッピング
8. 監視と最適化
フェーズ3: ネットワーク全体のカバレッジ
9. すべてのBGPスピーカーがCARをサポート
10. カラーポリシーを洗練
11. ビジネスシステムと統合
12. 自動化とオーケストレーション
相互運用性
非CARルーター:
- カラー拡張コミュニティを無視します
- 従来のBGPを使用してルートを処理します
- 基本的な接続性には影響しません
混在環境:
CARドメイン1 ← → 従来のBGP ← → CARドメイン2
カラー無視 カラー再追加
スケーラビリティ
ルートテーブルサイズ:
CARなし: Nプレフィックス
CARあり: Nプレフィックス × Mカラー
例:
- 100Kプレフィックス
- 10カラー
- 最大: 1Mルート (理論値)
- 実際: カラー使用率に依存
最適化の推奨事項:
- カラー数を制限 (推奨 < 100)
- カラー集約を使用
- 差別化が必要なプレフィックスのみにカラーを適用
- ルートリフレクター (RR) を展開
利点と制限
利点
-
柔軟なトラフィックエンジニアリング
- ビジネス要件に基づくパス選択
- きめ細かいQoS制御
-
運用の簡素化
- 統一されたカラーセマンティクス
- 集中型ポリシー管理
-
マルチテナンシーサポート
- 異なるテナントが異なるカラーを使用
- 分離と差別化
-
自動化フレンドリー
- SDNコントローラーとの統合が容易
- 動的ポリシー調整をサポート
制限
-
ネットワーク全体のサポートが必要
- 少なくとも重要パス上のデバイスはCARサポートが必要
- 段階的デプロイメントが複雑になる可能性
-
追加のルーティングオーバーヘッド
- より多くのルートエントリ
- より大きなBGPアップデート
-
設定の複雑さ
- 慎重なカラースキーム設計が必要
- ポリシー管理の複雑さ
-
デバッグの課題
- 複数パスがトラブルシューティングの難易度を増加
- 新しい監視ツールが必要
監視とトラブルシューティング
検証コマンド
# カラー付きルートを表示
show bgp ipv4 unicast 10.1.1.0/24 detail
Extended Community: Color:100
# カラー統計を表示
show bgp color-aware-routing statistics
Color 100: 150 routes
Color 200: 200 routes
# カラーパスをトレース
traceroute 10.1.1.1 color 100
一般的な問題
問題1: カラーの損失
症状: ルートアドバタイズ後にカラーが保持されない
原因: 中間ルーターがCARをサポートしていないか、拡張コミュニティをフィルタリング
解決策: BGPネイバー設定を確認し、拡張コミュニティの伝播を有効化
問題2: 最適でないパス
症状: トラフィックが期待されるカラーパスを使用していない
原因: BGPパス選択またはポリシーの問題
解決策: local-preference、AS-Pathなどの他のBGP属性を確認
参考文献
関連RFC:
- [RFC4360] BGP Extended Communities
- [RFC8664] Path Computation Element (PCE) Communication Protocol (PCEP) Extensions for Segment Routing
- [RFC9256] Segment Routing Policy Architecture
まとめ: BGPカラー感知ルーティングは、強力なトラフィックエンジニアリングとサービス差別化機能を提供し、シンプルなカラー識別子を通じて複雑なマルチパス管理を実現します。これは、現代のSDNおよび5Gネットワークの重要な技術です。
公式文書: https://www.rfc-editor.org/rfc/rfc9871.txt