セグメントルーティング
NorthStar Controllerは、セグメントルーティングとも呼ばれるSource Packet Routing in Networking(SPRING)をサポートしています。Junos OSリリース17.2R1以降、IS-ISおよびOSPFv2のセグメントルーティングがQFX5100およびQFX10000スイッチでサポートされます。Junos OSリリース17.3R1以降、IS-ISおよびOSPFv2のセグメントルーティングがQFX5110およびQFX5200スイッチでサポートされます。セグメントルーティングの概念と、Junos OSを実行するジュニパーデバイスでのサポートについては、Junos OSのドキュメントを参照してください。
NorthStar Controller SPRING機能を利用するには、Junos OSリリース17.2R1以降が必要です。ただし、ルーターがJunos OSリリース17.2R1で設定されている場合、NorthStar ControllerはWebUIおよびREST APIを介して正しいRRO(レコードルートオブジェクト)を報告しません。Web UI と REST API では、リンク隣接 SID のリストを表示する代わりに、「ゼロ」ラベルのリストを報告します。この問題は、Junos OSリリース17.2.R1-S1および17.2R2、およびそれ以降のリリースで修正されています。
セグメントルーティング(SR)LSPサポートに関する追加注意事項:
-
NorthStarは、Junos OSリリース19.1以降を使用して、NorthStarリリース5.0.0以降のSPRING向けOSPFをサポートしています。
-
ルーズホップを明示的パスとしてSR LSPをプロビジョニングするには、Junos OSリリース19.1以降とルーティング方法「RoutebyDevice」が必要です。
-
NorthStarの多様なLSPと複数のLSPプロビジョニングは、セグメントルーティングをサポートします。多様なLSPのプロビジョニングまたは複数のLSPのプロビジョニングウィンドウのプロビジョニングタイプドロップダウンメニューから SR を選択します。
-
SR LSP に関連するメンテナンス イベントは、PCEP ベースの SR LSP でサポートされています。
-
SR LSP は、PCEP(リアルタイム プッシュ モデル)または NETCONF(非リアルタイム プル モデル:LSP 情報は定期的な NETCONF デバイス収集によって収集)のいずれかを使用して、NorthStar 経由で設定できます。
LSPのプロビジョニングウィンドウタブの完全なドキュメントについては、 LSPのプロビジョニングを参照してください 。以下のセクションでは、NorthStarを使用したSR LSPのプロビジョニングと、NorthStar Web UIでのSR LSP情報の表示について説明します。
セグメントIDラベル
隣接セグメントID(SID)ラベル(リンクに関連付けられている)とノードSIDラベル(ノードに関連付けられている)をトポロジーマップ上に表示できます。
JunosVMからネットワークへのBGP-LSピアリングまたはIGP隣接関係のいずれかを使用して、ネットワークトポロジーを取得できます。ただし、BGP-LS使用時にNorthStarがSPRING情報を正しく学習するためには、ネットワークのリンクでRSVPを有効にし、ネットワークで利用可能なTEDデータベースが必要です。Junos OSリリース19.4R1以降、セグメントルーティングおよびIGP(内部ゲートウェイプロトコル)導入のRSVPを有効にせずに、選択的なトラフィックエンジニアリング属性をアドバタイズするようにジュニパーネットワークスデバイスを設定できるようになりました。Junosコマンド protocols ospf traffic-engineering advertisement always を使用してこれを設定すると、RSVPを有効にすることなくTEDに正しく入力できます。
Junos OSリリース19.2R1-S1もこの設定をサポートしています。
マップ上に隣接SIDラベルを表示できます。トポロジーウィンドウの右側には、さまざまなトポロジー設定を提供するメニューバーがあります。ツール(歯車の形)アイコンをクリックしてトポロジー設定ウィンドウを表示し、 リンクを選択します。 Show Label のチェックボックスをクリックし、対応するドロップダウンメニューから SID A::Z を選択します。隣接SIDラベルを示すトポロジーマップの例を 図1に示します。
を示すトポロジーマップ
ネットワーク情報テーブルで隣接SIDラベルを表示するには、[リンク]タブの下にある列見出しの横にある下矢印をクリックし、[ Columns ]をクリックして、使用可能な列の完全なリストを表示します。 SID A と SID Zの横にあるチェックボックスをクリックします。
特定のリンクの詳細情報を表示すると(マップまたはネットワーク情報テーブルでリンクをダブルクリックして)、SR という endA と endZ の両方の属性フォルダーが表示されます。 図 2 に示すように、ドリルダウンして各 SID の属性を表示できます。現在、サポートされているのはIPv4 SIDのみで、インターフェイスごとに1つだけです。
内のSR属性フォルダー
ラベルの値は、ラベルを割り当てるノードの視点に依存するため、ノードSIDラベルの表示方法が少し異なります。割り当てノードの視点に基づいて、ノードに異なるノードSIDラベルが与えられる場合があります。トポロジーマップにノードSIDラベルを表示するには、ノードを右クリックして Node SIDs from selected nodeを選択してパースペクティブを指定します。次に、選択したノードの視点からノードSIDラベルが割り当てられます。
例えば、 図 3 は、ノード vmx101 の視点から SID ノード ラベルを表示するトポロジーを示しています。ノード vmx106 のノード SID ラベルは 1106 であることに注意してください。
ノードvmx104を右クリックして Node SIDs from selected nodeを選択すると、 図4に示すように、トポロジー上のノードSIDラベルがノードvmx104の視点を反映するように変化します。ノード vmx106 のノード SID ラベルが 4106 になったことに注意してください。
選択したノード自体にはノードSIDラベルが表示されません。ノードSIDラベルを表示しないトポロジーマップ内の他のノードには、セグメントルーティングプロトコルが設定されていません。
ノードSID情報は、ネットワーク情報テーブルで使用できません。
SR LSP
SR LSP は、隣接 SID ラベルとノード SID ラベルの両方を使用して作成できます。SR LSP は、隣接する SID ラベル、ノード SID ラベル、またはその両方の混合のリストで構成されるラベルスタックです。SR LSPを作成するには:
-
ネットワーク情報テーブルのトンネルタブに移動し、テーブルの下部にある Add をクリックして、LSPプロビジョニングウィンドウのプロパティタブを表示します。
-
プロビジョニング方法ドロップダウンメニューから、PCEPまたはNETCONFを選択します。
-
PCEP SR LSP は PCE によって開始され、関連する設定ステートメントはルーター設定ファイルに表示されません。PCEPの利点は、LSP情報がリアルタイムでNorthStarに提供されるため、パスや状態の変化がNorthStar UIに即座に反映される点です。
-
NETCONF SR LSPは静的にプロビジョニングされ、関連する設定ステートメントがルーター設定ファイルに表示されます。SR LSPはNETCONFを介してプロビジョニングできますが、PCEPまたはNETCONFを介して学習することもできます。Junos OSリリース18.2 R1では、PCEPレポートは制限されています。別の方法は、NorthStarでのデバイスコレクション設定解析を介して、NETCONFでプロビジョニングされたSR LSPの詳細を知ることです。SR LSPプロビジョニングにこの方法を使用することを選択した場合、プライマリパスの詳細はデバイスコレクション設定の解析から取得されるため、更新はリアルタイムでNorthStarに提供されず、NorthStarはこれらのLSPの動作ステータスを不明として報告することに注意してください。
-
設定ステートメントをルーター設定ファイルに含めるためには、NETCONF を介して NorthStar で SR LSP を設定する必要があります。
-
-
名前、ノードA、およびノードZフィールドに入力します。
-
プロビジョニングタイプドロップダウンメニューから SRを選択します。
-
NETCONF SR LSP プロビジョニング(PCEP には適用されません)の場合、詳細タブのバインディング SID フィールドでバインディング SID ラベル値を指定することもできます。詳細については、「 バインディングSID 」セクションを参照してください。
-
[設計] タブで、ドロップダウン メニューからルーティング メソッドを選択します (通常は routeByDevice(ルーターがパスの一部を計算)またはデフォルト(NorthStar がパスを計算)のいずれかです。
-
パスタブでは、バインディングSID SR LSPペアのプロビジョニングによって生成されるプライベート転送隣接リンクなど、パスに必要な特定のホップを指定できます。詳細については、「 バインディングSID 」セクションを参照してください。
-
Submitをクリックします。次に、プロビジョニング要求は作業指示書管理プロセスに入ります。
-
PCEPとNETCONFの両方でプロビジョニングされたSR LSPについて、作業指示書がアクティブになると、新しいパスがトポロジーマップで強調表示されます。
-
NETCONF プロビジョニングされた SR LSP の場合、作業指示書がアクティブになると、対応する設定ステートメントがルーター設定ファイルに表示されます。
-
パスの表示
パスの詳細を表示するには、複数の方法があります。
-
IPアドレスとSIDは、明示的なルートの2つの部分です。IPアドレス部分は、ネットワーク情報テーブルのトンネルタブのERO列に表示されます。SID部分は、ルートの記録列に表示されます。
-
ネットワーク情報テーブルのトンネル行をダブルクリックし、livePropertiesにドリルダウンして、EROの詳細を確認します。
-
ルーターでJunos OS show コマンドを使用します。次に例を示します。
-
LSPステータスとSIDラベルを表示する
show spring-traffic-engineering lsp name lsp-name detail。 -
SPRING LSPを使用したトラフィック宛先のマッピングを表示する
show route table inet.3。
-
パス内のリンクが両方向で使用される場合、そのリンクはトポロジー内で異なる色で強調表示され、方向を示す矢印はありません。 図 5 は、vmx105 と vmx106 間のリンクが双方向で使用される例を示しています。
バインディングSID
バインディングSID SR LSPのペア(1つはAからZへ、もう1つはZからAへのリターンパス用)をプロビジョニングすると、プライベート転送隣接関係が自動的に生成されます。これらの隣接関係には、コロンで区切られた 3 つのセクションがある特定の形式で名前が付けられます。たとえば、binding:0110.0000.0105:privatefa57 などです。
-
名前はすべて「binding」で始まり、その後にコロンが続きます。
-
中央のセクションは、送信元ノードの名前で、その後にコロン(この例では0110.0000.0105:)が続きます。
-
最後のセクションは、LSPプロビジョニングウィンドウのプロパティタブの名前フィールドでバインディングSID SR LSPに指定した名前です(この例ではprivatefa57)。この名前は、適切に一致させ、対応するプライベート転送隣接リンクを作成できるように、両方向のバインディングSID SR LSPで同じにする必要があります。
トポロジーマップで、プライベート転送隣接リンクを表示するかどうかを選択できます。図 6 に示すように、左側のペイン ドロップダウン メニューで [Types] を選択し、[リンク タイプ] の下にある [privateForwardingAdjacency ] のチェック ボックスをオンまたはオフにします。選択すると、隣接関係がトポロジーマップ上に点線で表示されます(図7を参照)。
に表示される転送隣接関係
バインディングSID SR LSP上に非バインディングSID SR LSPをトンネルすることで、ラベルスタック内のラベル数を減らすことができます(プライベート転送隣接ラベルは、パス内の複数のホップを表すことができます)。図 8に例を示します。
別のバインディングSID SR LSP上でバインディングSID SR LSPをトンネリングすることはサポートされていません。
この画面では、SR LSP が vmx101 から vmx105 へ、プライベート転送隣接リンクを介して vmx107 へ、そして最後に vmx103 へ移動する論理パス(オレンジ色でトレース)を確認できます。また、バインディングSID SR LSP のプライベート転送隣接リンクのパスも確認できます(ピンクでトレース)。ネットワーク情報トンネルの記録ルート列には、3つのラベルを持つラベルスタックが表示されます。3つのうち2番目のラベルは、プライベート転送隣接リンクです。この隣接リンクがなければ、ラベルスタックは同じパスを定義するために6つのラベルを必要としていました。
インターフェイスごとに 2 つの隣接 SID を持つネットワーク内の SR LSP のパス強調表示はサポートされていません。
バインディングSID SR LSPのペアをプロビジョニングするには、NETCONF SR LSPプロビジョニングの手順に加えて、以下を使用します。
-
LSPプロビジョニングウィンドウの詳細タブで、バインディングSIDフィールドに、1000000から1048575の静的ラベル範囲から選択した数値バインディングSIDラベル値を入力します。この値は、パスタブで指定したホップ(プライベート転送隣接リンクを構成するホップ)によって定義されたパスを表すラベルになります。
注:現時点では、NorthStarはバインディングSIDラベルの割り当てや衝突検出をサポートしていません。Junos OSには衝突検出機能が組み込まれているため、指定されたバインディングSIDラベルが1000000から1048575の許容範囲外である場合、ルーターは設定のコミットを許可しません。これに対応して、ネットワーク情報テーブルのトンネルタブのコントローラステータスには、通常通りFAILED(NS_ERR_INVALID_CONFIG)が表示されます。
-
[デザイン] タブで、ルーティング方法を選択します (例 default )。
-
パスタブで、パス内のホップを選択します。
-
ペアの最初のLSPと同じLSP名を使用して、反対方向に2番目のバインディングSID SR LSPをプロビジョニングします。バインディングSIDラベルの値は、ペアの最初のLSPと同じにすることもできますが、同じである必要はありません。
バインディングSID SR LSPペアがプロビジョニングされると、プライベート転送隣接リンクが自動的に作成され、バインディングなしSID SR LSPのホップを指定する際に宛先として選択できます。ルーターで show コマンドを使用して、LSPペアがルーター設定にプッシュされたことを確認します。
最大SID深さ(MSD)
最大SID奥行き(MSD)に対する機器の制限を回避するには、図9に示すように、LSPのプロビジョニングウィンドウ(設計タブ)のルーティング方法ドロップダウンメニューを使用してrouteByDeviceを選択します。このオプションを使用すると、ルーターがルーティングの一部を制御できるため、明示的に指定する必要があるラベルの数が少なくなります。
routeByDeviceは、ノードSIDを持つSR LSPを作成する場合に使用します。
PCEP経由でプロビジョニングする場合、routeByDeviceを使用していない場合にMSD制限が発生する症状としては、新しいLSPの行がネットワーク情報テーブルに追加されますが、Op Statusは Unknown 、Controller Statusは Reschedule in x minutesと表示されます。
SR LSPのプロビジョニングには、ルーティングに多少影響を与えるホップ情報を含めることができます。LSPのプロビジョニングウィンドウで、 Path タブを選択します。そこで、ingressルーターに課せられているMSDホップ制限までのホップを選択し、 Strict または Loose 準拠を指定できます。
PCEP RouteByDeviceの例
図10で強調表示されているルーティングパスは、t2 LSPの等コストパスです。
この例の t2 の場合:
-
ノードAはvmx101、ノードZはvmx104です。
-
プロビジョニングタイプは SRで、LSPプロビジョニングウィンドウのプロパティタブで指定されます。
-
ルーティング方法は、LSPプロビジョニングウィンドウの設計タブで指定される routeByDeviceです。等コスト パスの強調表示は、ルーティングが PCC によって行われている場合にのみ、トポロジーで表示できます。
の等コストパスのビュー
必須のトランジットルーターは、そのトランジットルーターを通過する隣接SIDを使用して生成されたEROの一部にすることができます。ただし、必須のトランジット ルーターを指定すると、通常、ラベル スタックの深さが増加し、MSD に違反します。その場合は、routeByDevice メソッドを使用してみることができます。ノードSIDを使用して必須のトランジットルーターを指定するには、ルーティング方法をrouteByDevice(設計タブ)として選択し、必須トランジットルーターのループバックをルーズホップ(パスタブ)として指定します。
routeByDevice を使用する場合の欠点としては、LSP リンクに課す他の制約(帯域幅、色付けなど)が保証されないことが考えられます。NorthStar Controllerは、制約が満たされないことが判明した場合、LSPをプロビジョニングしません。ただし、利用可能な情報で制約を満たすことができることが示されている場合、NorthStar Controllerは、それらの制約が保証されていなくてもLSPをプロビジョニングします。パス最適化タイマーをオンにすると、NorthStar は制約を定期的にチェックできます。
制約が満たされなくなったことを後でNorthStar Controllerが知った場合(たとえば、最適化リクエストの実行中に)、特定のホップの発信インターフェイスが設定されていない場合は、ファーストホップの発信インターフェイスを変更して、トンネルの再ルーティングを試みます。それが不可能な場合、制約に違反しても LSP はネットワークに残ります。
NETCONFデバイス収集の役割
NETCONFを使用してプロビジョニングされたSR LSPは、PCEPまたはデバイスコレクションのいずれかで学習できます。デバイス コレクションによって学習された情報は、収集タスクが実行されている場合にのみ、非リアルタイムの方法で取得されます。
NETCONFデバイス収集タスクを作成するときは、必ずチェックボックスを選択して設定データを収集してください。これは、NorthStarがSR LSPに関連するものを含め、ルーター設定ファイル内のステートメントを収集して解析するために必要です。
また、NorthStar UIでNETCONFを使用してSR LSPがプロビジョニングされるたびに、自動NETCONF収集も実行されます。
再ルーティングと再プロビジョニング(PCEPプロビジョニングされたSR LSP)
PCEPでプロビジョニングされたSR LSPの場合、ルーターはファーストホップの動作ステータス(ネットワーク情報テーブルのOpステータス)についてのみ報告できます。最初のホップの後、NorthStar Controller は SID ラベルを監視し、運用ステータスのレポートを行います。ラベルが変更されたり、ネットワークから消えたりした場合、NorthStar Controllerは非動作状態のLSPの再ルーティングと再プロビジョニングを試みます。
NorthStarが制約に準拠する代替ルーティングパスを見つけられない場合、LSPはネットワークから削除されます。しかし、これらのLSPはデータモデルから削除されません(ネットワークから削除され、データストレージメカニズムに保持されます)。目標は、実行できない SR LSP をネットワークから削除することで、トラフィック ロスを最小限に抑えることです。SR LSPが削除されるとOpステータスは Unknown として表示され、コントローラステータスは No path found または Reschedule in x minutesとして表示されます。
より少ないまたはより緩和された制約でLSPのセカンダリパスを作成することで、トラフィック損失のリスクを軽減できます。元の制約が満たされていないことをNorthStar Controllerが学習した場合、まずセカンダリパスを使用して再ルーティングを試みます。
NorthStarではSR LSPへのセカンダリパスの追加は許可されていますが、SR LSPプロトコル自体がセカンダリパスをサポートしていないため、PCCへのセカンダリパスとしてプロビジョニングされません。
ファーストホップで任意のSIDを許可
デフォルトでは、NorthStarはLSP設定に関係なく、最初のホップを隣接SIDにすることを強制します。この動作を変更するには、イングレスノードを変更して、任意のSIDをファーストホップとしてサポートします。これは、リリース18.3以降を実行しているPCCデバイスJunos OSサポートされており、 set protocols source-packet-routing inherit-label-nexthopsのJunos設定が必要です。
ネットワーク情報テーブルで、変更するノードをクリックし、下部のツールバーで Modify をクリックします。
図11は、ノードの変更ウィンドウのプロパティタブを示しています。
[ファースト ホップで任意の SID を許可する] パラメーターのデフォルトは無効になっています (オフ)。有効にすると、NorthStarは新たにシグナリングされたSR-LSP(新しいLSPまたはルーティングが変更されているLSP)の隣接関係を設定しません。
SR LSP の委任
NorthStarリリース6.0.0では、UIのアプリケーションにあるLSP委任の設定ツールを使用して、SR LSPをNorthStarに委任できます。SR LSP は、そのツールの委任の対象となる LSP のリストに含まれています。詳細については、 LSP委任の設定 を参照してください。
PCEPを使用した色付きSRTEポリシー
NorthStar 6.2.0より前は、NETCONFを使用して作成されたSR LSPにカラーコミュニティBGP属性を適用できました。NorthStar 6.2.0以降、この機能はPCEPを使用してプロビジョニングされたLSPでもサポートされています。カラー属性を適用するには、Web UIの ネットワーク管理>プロビジョニング>プロビジョニングLSP>詳細設定 タブに移動し、カラーコミュニティフィールドでカラー割り当てを指定します。このフィールドは、プロパティタブでプロビジョニングタイプがSRに設定されている場合にのみ使用できます。
PCEPを使用してプロビジョニングされたLSPにColor Community BGP属性を適用するには、デバイスでJunos OSリリース20.4以降が実行されている必要があります。
色付きSR LSPのプロビジョニングに成功すると、デバイス上の対応する設定がカラーコミュニティを示します。次の例に示すように、LSP-1のカラーコミュニティ(<c>)は「123」です。
[edit] northstar@vmx101# run show spring-traffic-engineering lsp To State LSPname 10.0.0.104-123<c> Up LSP-1 10.0.0.104 Down LSP-2 10.0.0.104 Up LSP-3 10.0.0.104 Up LSP-4
LSPカラーリングの背景情報については、Junos OSトピックの「 LSPの基本設定」を参照してください。
オンデマンドネクストホップ、ドメイン内(実験)
オンデマンドネクストホップ(ODN)機能により、Junos OSは、ルートがBGPネクストホップ上で解決されたときに、SRTE LSPを動的に作成することができます。その後、SRTE LSP を NorthStar で委任および管理できます。この機能を使用するには、SR ODNをサポートする最新バージョンのJunos 20.4(例:JUNOS 20.4I-20200910)を実行している必要があります。
この機能はラボおよびデモ用に提供されていますが、現時点では実稼働ネットワークには推奨されていません。
トンネルを作成するには、Junos OS用にジュニパーデバイスを設定する必要があります。以下の例は、前提条件の設定を示しています。
set routing-options dynamic-tunnels odncf spring-te source-routing-path-template odnmytemplate set routing-options dynamic-tunnels odncf spring-te destination-networks 10.0.0.11/32 set protocols source-packet-routing compute-profile test-compute-prof no-label-stack-compression set protocols source-packet-routing compute-profile test-compute-prof maximum-computed-segment-lists 1 set protocols source-packet-routing source-routing-path-template odnmytemplate lsp-external-controller pccd set protocols source-packet-routing source-routing-path-template odnmytemplate primary test-computer compute test-compute-prof
ルーティングオプションの動的トンネル設定セクションで、テンプレートと動的トンネルのエンドポイント(宛先ネットワーク)を指定します。宛先ネットワークは、1つのデバイスまたは複数のデバイス(サブネットで示されます)です。テンプレート(この例ではodnmytemplate)は、protocols source-packet-routing source-routing-path-templateの下に指定されます。デバイス設定は、追加のパラメーターを含むことができるコンピューティングプロファイルも指しています。
要約すると、デバイス上の設定は次のように確立されます。
-
ソースルーティングパステンプレート
-
宛先ネットワーク
-
コンピュートプロファイル
これらの特定のコマンドの構文と使用法に関する一般的なガイドラインについては、Junos OSのドキュメントを参照してください。
ルーターによって動的LSPが作成されたら、 show dynamic-tunnels database コマンドを実行して新しいトンネルを表示します(以下の例を参照)。それに応じて、動的トンネルがNorthStarトンネルタブに表示されます。
northstar@PE1# run show dynamic-tunnels database
*- Signal Tunnels #- PFE-down
Table: inet.3
Destination-network: 10.0.0.11/32
Tunnel to: 10.0.0.11/32
Reference count: 1
Next-hop type: spring-te
10.0.0.11:dt-srte-odncf
State: Established
ODN LSPをNorthStarに委任するには、Junosデバイスで以下のステートメントを設定します。
set protocols source-packet-routing lsp-external-controller pccd set protocols source-packet-routing source-routing-path-template odnmytemplate lsp-external-controller pccd
上記のステートメントでは、odnmytmeplate は特定のテンプレートの名前です。