IPv6 ソースルーティング・SRH 拡張ヘッダ

IPv6 上のセグメントルーティング

IPv6データプレーンに適用されたSR:セグメントリストはSRH拡張ヘッダ内にIPv6アドレスのシーケンスとしてエンコードされ、MPLSラベルや追加のカプセル化オーバーヘッドなしにソースルーティングを実現します。

SRv6 SIDリストフォワーディング

パケットは3つのSRエンドポイントを通過します。SIDリストはIPv6宛先アドレスに直接エンコードされ、各ホップはアクティブなuSIDをポップして次へ転送します。

SRv6パケットフロー: IPv6 SIDリストfc00::1、fc00::2、fc00::3に従い3つのエンドポイントを通過
SRv6: IPv6 SIDリストに基づき3つのエンドポイントを通過するパケットの経路。

Segment Routingとは

Segment Routing(RFC 8402)はソースルーティングアーキテクチャ。ヘッドエンドはパケットが通る経路をセグメントと呼ばれる順序付き命令リストとしてエンコードし、ネットワークは各ホップでフローごとの状態を保持せずにそのリストに基づいて転送する。動作するデータプレーンは2つあり、SR-MPLSはセグメントリストをMPLSラベルスタックとして、SRv6はIPv6アドレスのリストとして運搬する。本ページではSRv6を扱い、SR-MPLSデータプレーンは別ページに記載。

SRv6 とは

SRv6(RFC 8986)は、特定ノードでのトポロジー命令(セグメント)を表す SID と呼ばれる IPv6 アドレスの順序付きリストとして、ソース主導のパスをエンコード。Segment Routing Header(SRH、RFC 8754)が IPv6 拡張ヘッダースタック内で SID リストを伝送。各 SR ノードで、アクティブな SID が処理され、SL(Segments Left)ポインタがデクリメントされ、IPv6 DA は次の SID に更新される。

SRv6 SID は、Locator(トポロジー的に意味のあるプレフィックス、通常 /48 または /64)と Function(動作識別子)で構成されるルーティング可能な IPv6 アドレス。これにより SR 転送状態が IPv6 ルーティングテーブルに埋め込まれ、別個のラベル空間、LFIB、MPLS 固有の HW リソースが不要。中継ノードは SR エンドポイントでない限り SRH 認識が不要。

SRv6 uSID (draft-ietf-spring-srv6-srh-compression) は SID エンコーディングを大幅に圧縮します。複数のマイクロ SID を 1 つの 128 ビット IPv6 アドレスにパックすることで、ホップごとの処理とヘッダオーバーヘッドを、SP の典型的な配備において SR-MPLS と競合する水準まで削減します。

SRv6 Network Programming

RFC 8986 は SRv6 エンドポイント動作のセットを定義:End(SR エンドポイント)、End.X(クロスコネクト付き)、End.T(テーブル参照付き)、End.DT4/DT6/DT46(デカプセル化と L3 テーブル参照)。これらの動作は SID セマンティクス内で VPN 転送機能を完全に実装し、純粋な IPv6 コア上で L3VPN および L2VPN サービスを実現。

OcNOS-SP Implementation

IS-IS SRv6 Extensions

SRv6拡張対応のIS-IS(draft-ietf-lsr-isis-srv6-extensions)。ロケータ広告、プレフィックス単位のSID sub-TLVをサポート。トポロジを意識したSID割り当てを行うFlexible Algorithmsにも対応します。

uSID 圧縮

draft-ietf-spring-srv6-srh-compression に基づく uSID 実装。/32 ブロック、/48 ロケータ。128 ビットアドレスに複数の uSID をパック。既存の IPv6 フォワーディング HW と互換:トランジットで SRH 処理不要。

H.Encaps 動作

ヘッドエンドにてSRH付きの新しいIPv6外側ヘッダを挿入するカプセル化を実行。H.Encaps.Redによる縮小SRH(単一SID)にも対応。マッチ条件に基づくポリシーベースステアリングをサポートします。

SRv6-TE ポリシー

明示的SIDリストを伴うSRv6トラフィックエンジニアリングポリシー。PCEPによるPCE計算パス、クロスドメインポリシー配布のためのBGP SR-TEに対応します。

SRv6 上の L3VPN

カプセル解除とVRFルックアップのためのEnd.DT46動作。RFC 9252(BGP Overlay Services on SRv6)に準拠したSRv6トランスポートによるBGP L3VPN。LocatorブロックからのVRFごとのSID割り当て。

SR-MPLS Co-existence

SRv6とSR-MPLSを同一ノード上で同時に有効化可能。VPNごとに転送プレーンを選択でき、ドメイン境界でのクロスドメイン接続にはインターワーキング機能を提供します。

OcNOS-Validated Hardware

参考用のみ。 以下のプラットフォームは、SRv6検証済みハードウェアの代表的なサブセットです。ASIC、ポート密度、バージョン対応状況を含む認定プラットフォームの完全な最新リストは、OcNOS Hardware Compatibility Listで管理されています。

UfiSpace S9600-56DX
Qumran2c · 4×25G + 48×100G + 8×400G
UfiSpace S9600-28DX
Qumran2c · 4×25G + 24×100G + 4×400G
UfiSpace S9600-32X
Qumran2c · 32×100G
UfiSpace S9600-64X
Qumran2c · 64×100G
UfiSpace S9610-46DX
Qumran2c+ · 4×25G + 40×100G + 6×400G
UfiSpace S9510-28DC
Qumran2a · 24×25G + 2×100G + 2×400G
Edgecore AS7535-28XB
Qumran2a · 24×25G + 2×100G + 2×400G
UfiSpace S9510-30XC
Qumran2u · 28×25G + 2×100G

OcNOS 検証済み全プラットフォームで SRv6 対応を比較

Open Feature Matrix →
よくある質問

よくあるご質問

SRv6 とは何ですか。
SRv6(Segment Routing over IPv6)は、IPv6 データプレーンを直接利用するセグメントルーティングです。各セグメントは SID と呼ばれる 128 ビットの IPv6 アドレスとしてエンコードされるため、ネットワークは MPLS ラベルスタックを用いることなく、ネイティブな IPv6 フォワーディングによって設計されたパスに沿ってトラフィックを誘導します。
SRv6 と SR-MPLS の違いは何ですか。
SRv6 はセグメントを 128 ビットの IPv6 アドレスとしてエンコードし、IPv6 データプレーン上でフォワーディングを行います。一方、SR-MPLS はセグメントを MPLS ラベルとしてエンコードし、MPLS データプレーン上でフォワーディングを行います。SRv6 はコアに IPv6 のみを必要とするのに対し、SR-MPLS は MPLS フォワーディングプレーンを維持します。
SRv6におけるuSIDとは何ですか。
uSID(micro-SID)は、複数の SRv6 命令を単一の 128 ビット IPv6 アドレスにまとめるため、1 つのアドレスで多数のセグメントを表現できます。これによりセグメントリストが短縮され、パケットのオーバーヘッドが削減され、より長い設計パスを標準の IPv6 フォワーディングの範囲内に収めることができます。
SRv6 に MPLS は必要ですか。
いいえ、SRv6にMPLSは不要です。SRv6はネイティブのIPv6データプレーン上で動作し、IPv6アドレスをセグメント識別子として使用するため、コアはIPv6のみで転送を行います。これにより、事業者はMPLSのラベルスイッチングプレーンを持たずにトラフィックエンジニアリングとサービスルーティングを運用できます。
SRv6におけるSRHとは何ですか。
SRH(Segment Routing Header)は、パケットが従うべきSIDの順序付きリストを運ぶIPv6拡張ヘッダーです。パケットがパスを通過する際、SRH内のアクティブなセグメントが次のホップを決定し、設計されたルートをIPv6パケット自体の内部にエンコードします。
SRv6とSR-MPLSのどちらを選ぶべきか
コアのデータプレーンによって異なる。SRv6はMPLSを排し、トラフィックエンジニアリングとVPNサービスをネイティブIPv6上で動作させるため、IPv6ファーストおよびグリーンフィールドのネットワークに適する。SR-MPLSはMPLS転送プレーンを維持するため、既存のMPLS基盤を持ち、データプレーンを変更せずにセグメントルーティングを導入したい事業者に適する。OcNOS-SPは両方に対応するため、ネットワークはドメイン単位で段階的に移行し、境界で相互接続することが可能。
SRv6はL3VPNに対応するか
対応する。SRv6はRFC 8986で定義されるEnd.DT4・End.DT6・End.DT46のエンドポイント動作を用いてL3VPNを運び、これらはパケットをデカプセル化して対象のVRFで検索する。BGPはRFC 9252に従い、VPNごとのSIDをSRv6サービスとしてアドバタイズするため、VPNはMPLSサービスラベルを使わずに純粋なIPv6コア上で動作する。
OcNOSでSRv6に対応するハードウェアは何か
OcNOS-SPはuSID圧縮を用いてBroadcom Qumranのサービスプロバイダー向けプラットフォーム上でSRv6を動作させるため、中継ノードはSRH処理なしで標準IPv6により転送する。SRv6認定プラットフォームの最新一覧は、ASIC・ポート密度・バージョンとともにOcNOS Hardware Compatibility Listで管理されている。