- ナレッジセンター
- 匠コラム
Segment Routing環境でP2MPツリーを構築するTree-SIDの動作検証
- 匠コラム
- 設計構築
- ネットワーク
ビジネス開発本部 第3応用技術部
第3チーム
高田 聡士
はじめに
MPLS網で使用するSegment Routing(以下、SR)においては各種機能の仕様が固まり、RouterやSwitchなどのネットワーク機器への実装も進んでいることから、多くの場所で導入や導入検討が行われています。これは『使用プロトコル数を削減出来る事』や『保持するステート情報が最小限で済む事』など、これまで使用されてきたLDPやRSVP-TEに対して、SRの利便性が支持されていることが1つの理由であると考えています。
最近SRの新たな利便性となりうる機能として、Cisco社のRouterにTreeSID機能が追加されました。これはPCEP Controllerを使用してSRネットワーク上にP2MPツリーを構築する機能となります。これまでP2MPツリーの構築にはPIM/mLDP/P2MP RSVP-TEといった手法が使われてきましたが、TreeSIDはこれらに比べると複雑なプロトコルのやり取りが少ないため、より分かり易く簡単にMulticast VPN環境を実現できる手法と言えます。
本コラムではCisco社のRouterを用いたTreeSID機能の検証結果についてご紹介します。
TreeSID(Tree Segment Identifier)概要
TreeSIDはPCEP Controllerを使用してP2MPツリーを構築する手法です。
この機能には下記の様な特徴があります。
- TreeSIDではP2MPツリー全体を1つのセグメントと見なすことが出来ます
そのためMPLS環境においては1つのP2MPツリーに対して1つのLabelを割り当てて使用します - TreeSIDではP2MPツリーの構築のための計算をPCEP Controllerが行います
そのためPCEP Controllerがネットワークの構成情報とMulticastフローのRoot/Leaf情報を把握している必要があります - PCEP ControllerはP2MPツリーの計算後、その情報をツリー上の全てのRouterに対して通知します
- TreeSIDではP2MPツリー構築においてPIM/mLDP/P2MP RSVP-TEなどのMulticast制御プロトコルを必要としません
検証構成
今回の確認は下記の様な検証構成で行います。
【構成内容】
- IGPとしてOSPFを使用しています
- PCEP ControllerとしてIOS-XRに付与されているXTC(XR Traffic Controller)を使用しています
- R4でXTCを動作させPCEとして使用しています
- Multicast VPN環境で検証を行っています
- P2MPツリーのRootとLeafを把握する方法としては現時点では静的設定(Static)のみサポートしています
そのため今回の検証ではStaticで環境を構築しています - Multicastフロー(S,G)とP2MPツリーのマッピングを行う方法としては現時点では静的設定(Static)のみサポートしています
そのため今回の検証ではStaticで環境を構築しています - マルチキャストグループはSSMである必要があるためSSMで環境を構築しています
- 今回の検証では全てCisco社のルータを使用しています
それぞれの機種とOS versionは下記の通りです

Config設定内容
TreeSID機能を使用するにあたり必要となるConfig設定のポイントを紹介します。
R1/R2/R3 共通
※source-addressは各RouterのLoopback0アドレスを設定
R1(Root)
R2/R3(Leaf)
R4(PCE)

状態確認
TreeSIDが機能しているときの各Routerの状態について紹介します。
<PCEで作成されたP2MPツリー情報(R4)>
<各RouterがPCEから受け取り設定したP2MPツリー情報>
<各Routerのmpls転送情報>
<vrfとP2MPツリーの紐付け情報>
<RPF情報>
キャプチャデータ確認
R4(Transit)にてパケットキャプチャを実施し、パケットの複製状況を確認しましたので紹介します。
R4に入ってくるパケットとR4から出ていくパケットの内容は次の通りです。
<キャプチャデータ:R1 -> R4>

<キャプチャデータ:R4 -> R2>

<キャプチャデータ:R4 -> R3>

どのRouterからどのRouterへの通信なのかはMACアドレスから判別できます。
パケットには作成されたP2MPツリーに割り当てられたラベル15200が付与されています。
また、パケットのSource/DestinationアドレスはStaticに設定されたMulticastフローのSourceアドレスとGroupアドレスになっています。
上記は最初に取得した3つのパケットの内容ですが、これ以降はこの3種類のパケットが繰り返し取得されています。
この結果から、R4がR1から受け取ったパケットを複製してR2とR3に送信していることが分かります。
障害時動作確認
TreeSID環境での障害発生時の動作について確認しましたので紹介します。
通信経路状況
P2MPツリー上で障害が発生した際の動作を確認するために、R2のR4向けインタフェースをshutdownさせました。
この時、通信経路は下記の様に切り替わります。

PCEで作成されたP2MPツリー情報を確認すると、上図の障害時経路通りに変更されていることが分かります。
<PCEで作成されたP2MPツリー情報(R4)>
経路切り替え時間
障害を発生させた際のR2向け通信の断時間を測定してみました。
結果は下記の様になりました。
Unicast通信と比べて断時間が長くなっているのは、障害発生時にはPCEがP2MPツリー全体を再計算する必要があるためと考えられます。
またTI-LFA有りの方が断時間が短いのは、RouterがBackup Pathを保持していることによリIGPの収束を待つ必要が無いため、P2MPツリーの再計算が早く終えられるのではないかと想定しています。ただし今回の検証ではこの想定を裏付ける情報を取得することが出来なかったため、次の機会があれば詳細な動作を確認したいと考えています。
まとめ
Cisco社のRouterを用いたTreeSID機能の実機確認結果についてご紹介しました。TreeSID機能ではControllerという新たな要素を加えることでこれまで用いられてきたPIM/mLDP/P2MP RSVP-TEといった手法に比べて分かり易く簡単にMulticast VPN環境を実現できることがお分かりいただけたかと思います。とはいえ今回確認出来たのはRootとLeafの認識やMulticastフローとP2MPツリーの紐付けを静的に行う設定だけです。これらを動的に行う設定など、TreeSIDを実網で使用するために必要な機能がこれから追加されてくると思われますので、引き続き本機能を追っていきたいと考えています。
このコラムの内容がSR検討の一助となれば幸いです。
関連記事
- Configuration Guide
Segment Routing Tree Segment Identifier - Cisco Live On-Demand Library(要アカウント)
Multicast and Segment Routing - DGTL-BRKIPM-224(公開終了)
Troubleshooting Segment Routing: Tree-SID - DGTL-BRKRST-3009
執筆者プロフィール
高田 聡士
ネットワンシステムズ株式会社 ビジネス開発本部 第3応用技術部 第3チーム
SP事業会社のコアネットワークにNIerとして7年弱携わる
当時の主な担当製品はCisco社のCRSシリーズ
7年ほど前に現部署に異動し、Cisco社含めたハイエンドルータ製品を担当
最近はArista社製品も担当
- 情報処理「ネットワークスペシャリスト」
- CCIE RS #50857
Webからのお問い合わせはこちらから
ナレッジセンターを検索する
カテゴリーで検索
タグで検索