1. RSVP-TE の問題
RSVP-TE (リソース予約プロトコル - トラフィック エンジニアリング、RFC 3209) MPLS ネットワークでの明示的なパス制御が可能になりましたが、運用が大幅に複雑になりました。
- フローごとの状態:すべての LSP には、パス (RSVP PATH および RESV メッセージ) に沿ったすべてのルーターの状態が必要です。数千の LSP を含むネットワークでは、トランジット ルーターは、継続的に更新する必要がある巨大なソフト ステート テーブルを維持します。
- ヘッドエンド シグナリング:イングレス (ヘッドエンド) ルーターは、RSVP を通じてパスに信号を送ります。トポロジの変更には再シグナリングが必要となり、コンバージェンスのオーバーヘッドが発生します。
- スケーラビリティ:フルメッシュの場合、LSP の数は O(N²) で増加し、各 LSP はすべての中継ルーター上の LFIB エントリを消費します。
- 高速リルートの複雑さ:RSVP-FRR (RFC 4090) は、事前に計算された迂回またはファシリティ バイパス トンネルを使用して LSP を保護します。この機能は機能しますが、状態のレイヤーが追加されます。
セグメントルーティング (RFC 8402) トランジットノードでのフローごとの状態を完全に排除します。ソースルーターは、転送パス全体を次の順序付きリストとしてエンコードします。セグメントパケットヘッダー自体に含まれます。トランジット ルーターはアクティブ セグメントのみを処理するため、LSP 状態は必要ありません。
2. SR アーキテクチャ (RFC 8402)
A セグメントこれは、ルータにパケットの転送方法を指示する命令です。これは、「このノードに移動する」、「この特定の隣接関係で終了する」、または「この VPN ルックアップを適用する」などを意味します。セグメントはセグメント識別子 (SID) によって識別されます。 SID の順序付きリストは次のとおりです。セグメントリスト(または SID リスト)。アクティブなセグメントはホップごとに処理されます。処理が完了すると、セグメントは削除され、次のセグメントがアクティブになります。
2 つのデータ プレーンのインスタンス化が存在します。
- SR-MPLS: SID は MPLS ラベルです。セグメントリストはラベルスタックです。既存の MPLS ハードウェアとの下位互換性があります。
- SRv6: SID は 128 ビットの IPv6 アドレスです。セグメント リストは、セグメント ルーティング ヘッダー (SRH、IPv6 拡張ヘッダー) で伝送されます。 IPv6 ネイティブ。 MPLSは必要ありません。
3. SR-MPLS: ノード SID、Adj-SID、および SRGB
SR-MPLS (RFC 8660) は、IS-IS (RFC 8667) または OSPF (RFC 8665) TLV 拡張子として:
| SID タイプ | 範囲 | 安定性 | 意味 |
|---|---|---|---|
| ノードSID | グローバル (SRGB) | 持続的 | 「最短の IGP パスを使用してこのノードに配信します。」各ルーターには、ループバック/ルーター ID ごとに 1 つのノード SID があります。 SR ドメイン内のすべてのルーターは、このラベルをプログラムする必要があります。 |
| 隣接関係-SID(調整SID) | ローカル (SRLB または動的) | 一時的 (セッションごと) | 「この特定のインターフェイスをこの特定のネイバーに転送します。」最短パスに関係なく、パケットを特定のリンクに強制的に送信するために使用されます。 |
| エニーキャスト SID | グローバル | 持続的 | ノードのセット (ルート リフレクタまたはデータ センター PoP のエニーキャスト グループなど) によって共有されます。パケットは最寄りのメンバーに配達されます。 |
のSRGB(セグメント ルーティング グローバル ブロック) は、グローバルに重要な SID 用に予約されているラベル範囲です。一般的なデフォルトは 16000 ~ 23999 (Cisco、Juniper) ですが、構成可能です。ノード SID は次のようにエンコードされます。インデックス値(例: インデックス 100)、SRGB ベースにインデックスを追加することでラベルに解決されます (例: 16000 + 100 = ラベル 16100)。グローバル SID を一貫させるには、すべてのルータで同じ SRGB を使用する必要があります。ベンダー間または構成間で SGRB が一致しないと、ラベルの誤りが発生します。
SR-MPLS ラベル スタックの例— R1→R5 の直接パスを避けて、R3 (明示的なウェイポイント) 経由で R1 から R5 にトラフィックを送信します。
Ingress R1 pushes: [Node-SID(R3)] [Node-SID(R5)] R1→R2: outer label = SID(R3), inner = SID(R5) R2→R3: pops SID(R3) (PHP or explicit-null) R3 sees top label = SID(R5); forwards on shortest path to R5 R5 pops SID(R5); delivers to local application
4. SRv6: IPv6 アドレスとしての SID
SRv6 (RFC 8986) SID を次のような構造の 128 ビット IPv6 アドレスとしてエンコードします。
| Locator (e.g., /48) | Function (operator-defined, typically 16 bits) | Argument (remaining bits) |
- ロケータ: ノードに割り当てられたルーティング可能な IPv6 プレフィックス。トランジット ルーターは通常、このプレフィックスに向かってルーティングします。ロケーターは IGP でアドバタイズされます。
- 関数: SID エンドポイントで実行する特定の操作を識別します。例: End (次の SID に転送)、End.X (特定の隣接関係を転送)、End.DT4 (デキャップおよび IPv4 テーブル ルックアップ - IPv4 VPN に使用)、End.DX2 (デキャップおよび L2 クロスコネクト)。
- 口論: 関数のオプションの追加コンテキスト (エントロピーのフロー ID など)。
セグメントリストは、SRH(セグメントルーティングヘッダー、RFC 8754) - 次のヘッダー = 43 (ルーティング ヘッダー)、ルーティング タイプ = 4 の IPv6 拡張ヘッダー。SRH には以下が含まれます。
- セグメント左 (SL): アクティブな SID を指すセグメント リストへのインデックス
- タグ: フロー分類のヒント
- セグメント リスト[0..n]: 順序付けられた SID (最後の SID が宛先)
各 SR 認識ノードでは、IPv6 宛先がローカル SID と一致する場合、ノードは SID の関数を実行し、セグメント左をデクリメントし、転送前にセグメント リスト[セグメント左] を IPv6 DA にコピーします。
5. SR-TE を使用したトラフィック エンジニアリング
SR-TE (RFC 9256— SR ポリシー アーキテクチャ) は、RSVP-TE LSP をSR ポリシー、それぞれは次のように定義されます。
- ヘッドエンド: ポリシーをインスタンス化する入力ノード
- 色: トラフィック (BGP カラー拡張コミュニティ経由) をポリシーに関連付けるために使用される 32 ビットの識別子
- 終点: 宛先ノード
- 1 つ以上候補パス、それぞれに重み付けされたセグメント リストが含まれます
候補パスは、ヘッドエンドによって(ローカル CSPF/PCE を使用して)計算されるか、集中型 SR-PCE/コントローラによって PCEP 経由で配布されます(RFC 5440) または BGP SR ポリシー (「RFC 9256§8)。これにより、明示的なパス制御を維持しながら、RSVP シグナリング プレーンが完全に排除されます。
オンデマンド ネクストホップ (ODN)SR-TE 機能では、BGP ルートが特定のカラー コミュニティに到着すると、事前プロビジョニングなしでヘッドエンドが自動的に SR ポリシーをインスタンス化し、VPN および CDN プレフィックスの自動トラフィック ステアリングが可能になります。
6. SR-MPLS 対 SRv6 対 RSVP-TE
| SR-MPLS | SRv6 | 出欠確認-TE | |
|---|---|---|---|
| データプレーン | MPLSラベルスタック | IPv6 + SRH拡張ヘッダー | MPLSラベルスタック |
| 転送時のフローごとの状態 | なし | なし | はい (RSVP ソフト状態) |
| シグナリングプロトコル | IGP (IS-IS/OSPF) 拡張 | IGP 拡張機能 | RSVP-TE (パス/RESV) |
| ハードウェアの互換性 | 任意の MPLS ハードウェア | SRv6 対応 ASIC が必要 | 任意の MPLS ハードウェア |
| パケットあたりのオーバーヘッド | ラベルあたり 4B | 8 + 16n B (n SID を持つ SRH) | 0 (MPLS ラベルはすでにスタックにあります) |
| VPNのサポート | MPLS VPN ラベル経由 | 終了。DT4/DT6/DX2 SID 機能 | MPLS VPN ラベル経由 |
| 高速リルート | TI-LFA (トポロジーに依存しない、事前構成なし) | TI-LFA | RSVP-FRR (事前プロビジョニングされたバイパス) |
| 導入の成熟度 | SP/DCで広く普及 | 成長中。 ASIC サポートはまだ成熟中 | 成熟しているが衰退している |
参考文献
- RFC 8402— セグメントルーティングアーキテクチャ
- RFC 8660— MPLS データ プレーンを使用したセグメント ルーティング
- RFC 8665— セグメントルーティング用の OSPF 拡張機能
- RFC 8667— セグメントルーティング用の IS-IS 拡張
- RFC 8669— BGP のセグメント ルーティング プレフィックス SID 拡張
- RFC 8754— IPv6 セグメント ルーティング ヘッダー (SRH)
- RFC 8986— セグメント ルーティング オーバー IPv6 (SRv6) ネットワーク プログラミング
- RFC 9252— IPv6 上のセグメント ルーティング (SRv6) に基づく BGP オーバーレイ サービス
- RFC 9256— セグメントルーティングポリシーのアーキテクチャ
- IETF SPRING ワーキング グループ— Networking でのソース パケット ルーティング (アクティブな SR ドラフト)