メインコンテンツまでスキップ

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) を展開

利点と制限

利点

  1. 柔軟なトラフィックエンジニアリング

    • ビジネス要件に基づくパス選択
    • きめ細かいQoS制御
  2. 運用の簡素化

    • 統一されたカラーセマンティクス
    • 集中型ポリシー管理
  3. マルチテナンシーサポート

    • 異なるテナントが異なるカラーを使用
    • 分離と差別化
  4. 自動化フレンドリー

    • SDNコントローラーとの統合が容易
    • 動的ポリシー調整をサポート

制限

  1. ネットワーク全体のサポートが必要

    • 少なくとも重要パス上のデバイスはCARサポートが必要
    • 段階的デプロイメントが複雑になる可能性
  2. 追加のルーティングオーバーヘッド

    • より多くのルートエントリ
    • より大きなBGPアップデート
  3. 設定の複雑さ

    • 慎重なカラースキーム設計が必要
    • ポリシー管理の複雑さ
  4. デバッグの課題

    • 複数パスがトラブルシューティングの難易度を増加
    • 新しい監視ツールが必要

監視とトラブルシューティング

検証コマンド

# カラー付きルートを表示
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