セグメントルーティングトラフィックエンジニアリングのためのIS-ISの柔軟なアルゴリズム
柔軟なアルゴリズムにより、IGP単独でネットワーク上の制約ベースのパスを計算できるため、ネットワークコントローラを使用せずに、シンプルなトラフィック制御を行うことができます。本格的なセグメントルーティングを備えたコントローラを実装していないが、ネットワークでセグメントルーティングのメリットを享受したいネットワーク向けの軽量ソリューションです。
次のステップ
柔軟なアルゴリズムの設定の詳細については、IS-IS ユーザー ガイドを参照してください
IS-ISの理解 セグメントルーティングのための柔軟なアルゴリズム
Junos OS リリース 19.4R1 以降では、要件に基づいてさまざまなパラメーターとリンク制約を使用してパスを計算する柔軟なアルゴリズムを定義することで、ネットワークをシンスライスできます。例えば、IGPメトリックを最小化するパスを計算する柔軟なアルゴリズムを定義し、トラフィック制御メトリックに基づいてパスを計算する別の柔軟なアルゴリズムを定義して、ネットワークを別々のプレーンに分割することができます。この機能により、コントローラを持たないネットワークは、ネットワークコントローラを実際に実装することなく、セグメントルーティングを使用してトラフィック制御を設定することができます。プレフィックスSIDを使用して、パケットを制約ベースのパスに誘導することができます。デバイスからも削除されます 柔軟なアルゴリズムのためにプレフィックスSIDを設定できます。
IGPプロトコルは、リンクメトリックを使用して最適経路を計算します。しかし、最適なIGPパスが、特定のタイプのトラフィックに対して常に最適なパスであるとは限りません。そのため、最短のIGPメトリックに基づいて計算されたIGPが計算した最適なパスは、IGPメトリックに反映されないトラフィック要件のために、トラフィックエンジニアリングパスに置き換えられることがよくあります。通常、RSVP-TEまたはSR TEは、この制限を克服するために、追加のメトリックと制約に基づいてパスを計算するために使用されます。Junosは、IGPによって計算された元のパスに加えて、または元のパスの代替として、このようなパスを転送テーブルにインストールします。
- 柔軟なアルゴリズムを設定する利点
- Flexible Algorithm Definition(FAD)とは?
- 柔軟なアルゴリズムへの参加
- 柔軟なアルゴリズム定義で設定されたネットワークトポロジー
- 柔軟なアルゴリズムRIB
- BGPコミュニティと柔軟なアルゴリズム
- IS-ISマルチインスタンス全体での柔軟なアルゴリズムと柔軟なアルゴリズムプレフィックスメトリックの漏洩
- BGP-LU プレフィックスを Flexible アルゴリズムにリークする
- BGP-CT プレフィックスを Flexible アルゴリズムにリークする
- サポートされている機能とサポートされていない機能
柔軟なアルゴリズムを設定する利点
-
ネットワークのコアで使用できるセグメントルーティングトラフィック制御の軽量バージョンです。
-
ネットワークコントローラを設置しなくても、セグメントルーティングを使用してトラフィック制御を設定できます。
-
BGP-LSやスタティックパスを設定せずに、スライスごとに等価コストマルチパス(ECMP)とTI-LFAを活用します。
-
同じ柔軟なアルゴリズム定義と制約計算を使用して、TI-LFA バックアップ パスを計算します。
-
RSVP や LDP を設定せずに、IS-IS のみを使用したセグメント ルーティング トラフィック制御を活用します。
-
単一ラベルに基づいて制約付きプライマリパスをプロビジョニングする機能。
Flexible Algorithm Definition(FAD)とは?
柔軟なアルゴリズムにより、IGPは指定された制約に基づいて追加の最適パスを計算できるため、ネットワークコントローラを使用せずにシンプルなトラフィック制御を行うことができます。本格的なセグメントルーティングを備えたコントローラを実装していないが、ネットワークでセグメントルーティングのメリットを享受したいネットワーク向けの軽量ソリューションです。すべてのオペレーターは、要件に応じて個別の制約または色を定義できます。
柔軟なアルゴリズムを定義するには、[edit routing-options]
階層レベルでflex-algorithm id
ステートメントを含めます。フレキシブル・アルゴリズム定義 (FAD) には、128 から 255 までの識別子が割り当てられます。この柔軟なアルゴリズムは、ネットワーク内の 1 つ以上のルーターで定義できます。柔軟なアルゴリズムにより、次のパラメータに基づいて最適経路が計算されます。
-
Calculation type- SPF と Strict SPF の 2 つの計算タイプ オプションを使用できます。FAD では、これらの計算タイプのいずれかを指定できます。トラフィック制御のショートカットなど、特定のローカルポリシーに基づいてデバイスのSPF計算に影響を与える場合は、SPF計算タイプを選択します。厳密なSPFを選択した場合、ローカルポリシーはSPFパスの選択に影響を与えることはできません。
-
Metric type- IGPメトリックまたはTEメトリックは、使用可能なメトリックタイプのオプションです。ネットワーク要件に応じて、FAD でこれらのメトリックタイプの 1 つを指定できます。特定のリンクにIGPメトリックを使用したくない場合は、IS-ISがルート計算に使用できるTEメトリックを設定できます。
-
Priority- 要件に従ってFADに優先度を割り当てることができ、IS-ISは割り当てられた優先度に基づいて、特定のFADアドバタイズメントを別のFADよりも優先します。
手記:リンク制約のあるFADが機能するためには、すべての関連リンクがIS-ISでadmin-colorsをアドバタイズする必要があります。これは、RSVPがインターフェイスで有効になっているか、
set protocols isis traffic-engineering advertise always
が設定されていることを意味します。 -
Set of Link constraints-
[edit protocols mpls admin-groups]
階層レベルで多くのプロトコルのadmin-groupsを設定して、個々のリンクに色を付けることができます。これらのadmin-groups
は、[edit routing-options flex-algorithm definition admin-groups]
階層レベルでinclude any
、include-all
、またはexclude
として定義できます。
冗長性を確保し、競合を避けるために、少数のルーターでのみ柔軟なアルゴリズム定義を構成することをお勧めします。柔軟なアルゴリズム定義は、IGPで FAD sub-TLVs
としてアドバタイズされます。非常に大規模なネットワークでは、各フレキシブル アルゴリズムが独自のパスを計算し、それを超えるとパフォーマンスの問題を引き起こす可能性があるため、8 を超えるフレキシブル アルゴリズムを設定することはお勧めしません。
また、その FAD に参加するデバイスを設定する前に、特定の ISIS レベルで複数の FAD サーバを設定することも推奨されます。ISISのL1/L2ノード(ABR)の場合、ISISレベル1とレベル2の両方でFADを設定することも推奨されます。FAD が 1 つの ABR のみで設定されている場合、その ABR でルーティング プロセスが再起動すると、フレックス アルゴリズム パスでのトラフィック ドロップが発生する可能性があります。したがって、複数のABRを備え、各ABRに両方のISISレベルでFADを設定することは、設計上良い方法です。
デフォルトの FAD には、次のパラメーターがあります。
-
計算タイプ: SPF
-
メトリックタイプ:IGP-Metric
-
優先度:0
-
リンク制約: なし
ライブネットワークで、またはその場で柔軟なアルゴリズム定義を変更すると、すべてのノードが新しいパスに収束するまで、トラフィックが中断する可能性があります。
柔軟なアルゴリズムへの参加
要件に応じて、特定の柔軟なアルゴリズムに参加するように特定のルーターを設定できます。柔軟なアルゴリズム定義に基づいて計算されたパスは、さまざまなアプリケーションによって使用され、そのようなパスを介してデータを転送するために、それぞれが独自の特定のデータプレーンを使用する可能性があります。参加デバイスは、IS-IS のセグメント ルーティング フレキシブル アルゴリズム サブ TLV のすべてのアプリケーションに、特定のフレキシブル アルゴリズムへの参加を明示的にアドバタイズする必要があります。その FAD で指定された制約をサポートできる場合は、特定の柔軟なアルゴリズムに参加するようにノードを構成できます。
柔軟なアルゴリズムへの参加を設定するには、[edit protocols isis source-packet- routing]
階層レベルでflex-algorithm
ステートメントを含めます。同じデバイスがFADをアドバタイズし、柔軟なアルゴリズムに参加できます。
柔軟なアルゴリズム定義で設定されたネットワークトポロジー
図 1 はサンプルのトポロジーを示しており、R0、R1、R2、R3、R4、R5、R6、および R7 の 8 つのルータがあります。4つの柔軟なアルゴリズム、128、129、130、および135は、次の表に示すようにadmin-groupsで定義および設定されます。
フレックスアルゴリズム定義(FAD) |
色 |
---|---|
128 |
赤を含める |
129 |
任意の緑を含める |
130 |
緑と青を含めます |
135 |
赤を除外 |

図 2 は、管理グループ red で設定されたインターフェイス上で FAD 128 がトラフィックをルーティングする方法を示しています。

図 3 は、管理グループ green で設定されたインターフェイスで FAD 129 がトラフィックをルーティングする方法を示しています。

図 4 は、管理グループ green と blue で設定されたインターフェイスで FAD 130 がトラフィックをルーティングする方法を示しています。

図 5 は、FAD 135 が管理グループ red で設定されていないインターフェイスでトラフィックをルーティングする方法を示しています。

柔軟なアルゴリズムRIB
ルーターが対応するフレキシブル アルゴリズムに参加するたびに、対応するフレキシブル アルゴリズム RIB グループ(ルーティング テーブルとも呼ばれる)にルートがインストールされます。デフォルトでは、ラベル付きのIS-ISフレキシブルアルゴリズムルートは、inet.color、 inet(6)color.0
、および mpls.0
RIBにインストールされます。
BGPコミュニティと柔軟なアルゴリズム
柔軟なアルゴリズムを色に関連付けることができます。VPN サービスなどのサービス プレフィックスが BGP カラー拡張コミュニティを伝送する場合、デフォルトでは、BGP サービス プレフィックスが同じ関連カラー値を持つフレックスアルゴ ルートを解決します。 inet(6)color.0
テーブルにインストールされている柔軟なアルゴリズムのイングレス ルートには、ルートに関連付けられたこのカラー値があります。ただし、 [edit routing-options flex-algorithm id color color]
階層レベルで異なる関連付けカラー値を設定することができます。
柔軟なアルゴリズムで関連するカラー値を変更すると、トラフィックが中断される可能性があります。フレキシブル アルゴリズム定義で カラーを変更すると、そのフレキシブル アルゴリズムに関連するすべてのルートが RIB から削除され、新しいカラーで再度追加されます。
IS-ISマルチインスタンス全体での柔軟なアルゴリズムと柔軟なアルゴリズムプレフィックスメトリックの漏洩
内部ゲートウェイ プロトコル (IGP) インスタンス間で、フレキシブル アルゴリズム (フレックス アルゴ) プレフィックス セグメント識別子 (SID) と フレキシブル アルゴリズム プレフィックス メトリック (FAPM) を再アドバタイズするサポートを追加しました。また、他のプロトコルからのプレフィックスを再アドバタイズし、ポリシーを介してフレックス アルゴ プレフィックス SID をそれらのプレフィックスに割り当てるサポートも追加しました。

図 6 に示すサンプル トポロジーでは、異なる IS-IS ドメイン、メトロ A、メトロ B、コアが単一セグメント ルーティング ドメインを構成しています。エンドツーエンド セグメント ルーティング フレックス アルゴ パスの場合、ノード 02 と 05 は IGP インスタンス間でフレックス アルゴ プレフィックス SID と FAPM を再アドバタイズする必要があります。
フレックス アルゴ ルートはinet(6)color.0
テーブルにインストールされます。また、routing-options flex-algorithm <id>
でuse-transport-class
ステートメントが設定されている場合、junos-rti-tc-<color>.inet(6).3
など、色付きのRIBにインストールすることもできます。IGP インスタンス間でフレックス アルゴ プレフィックス SID の漏洩をサポートするには、そのフレックス アルゴに use-transport-class
ステートメントを設定する必要があります。IGP インスタンス間でのフレックス アルゴ プレフィックス SID の漏洩はポリシー主導です。ポリシーの構成例は、次のとおりです。
[edit policy-options policy-statement name] user@host# show from { igp-instance <x>; (optional) protocol isis; (optional) rib <transport-class-rib>; route-filter 10.10.10.0/24 orlonger; (optional) route-filter 10.20.20.0/24 orlonger; (optional) prefix-segment; (optional) } then { prefix-segment { redistribute; } }
フレックス アルゴ プレフィックス SID が IGP インスタンス間でリークされると、FAPM サブ TLV はエクスポート ポリシーから派生したメトリック、またはルート自体のメトリックでアドバタイズされます。エクスポートポリシーで定義されたメトリックは、ルート自体のメトリックよりも優先されます。さらに、IS-IS は、ある IGP インスタンスから別のインスタンスに受信 MPLS トラフィックをステッチするために、mpls.0 テーブルにステッチされたルートをインストールします。
マルチインスタンス IS-IS にエクスポート ポリシーを適用する方法については、 エクスポートを参照してください。
BGP-LU プレフィックスを Flexible アルゴリズムにリークする
フレックス アルゴ プレフィックス SID を使用して、BGP-LU プレフィックスを IGP にリークできます。policy-statement
のprefix-segment
(とmetric
)を設定して、BGP-LUで学習したプレフィックスをフレックスアルゴにリークできます。

例えば、 セグメントルーティングのためのIS-ISフレキシブルアルゴリズムの理解に示されているトポロジーでは、IGPドメインはフレックスアルゴ128と129を含んでいます。デバイスR9はIGPドメインの外部に存在します。デバイス R9 は、IGP ドメインのフレックス アルゴ経由で到達できません。デバイス R9 宛てのトラフィックは、デバイス R5 までのフレックス アルゴ パスをたどり、その後、デバイス R5 から R9 へのリンクをたどります。
フレックス アルゴ プレフィックス SID が BGP-LU から IGP インスタンスにリークされると、FAPM サブ TLV はエクスポート ポリシーから派生したメトリックまたはルート自体のメトリックでアドバタイズされます。エクスポートポリシーで定義されたメトリックは、ルート自体のメトリックよりも優先されます。さらに、IS-ISはmpls.0テーブルにステッチルートをインストールして、BGP-LUからIS-ISへの着信MPLSトラフィックをステッチします。
BGP-CT プレフィックスを Flexible アルゴリズムにリークする
BGP-CT プレフィックスをフレックス アルゴにリークしたり、その逆を行ったりできるようになりました。

例えば、 セグメントルーティングのためのIS-ISフレキシブルアルゴリズムの理解 に示されているトポロジーは、複数のIS-IS IGPインスタンスで構成されています。ISIS-A にはフレックス アルゴがありますが、BGP-CT はありません。このようなデプロイメントでは、BGP-CTプレフィックスがデバイスからも削除されますを介してフレックスアルゴに漏洩したり、その逆を行ったりする可能性があります。
現在、BGP-CTプレフィックスはプレフィックスSID情報の伝送をサポートしていません。プレフィックスのポリシーを設定し、プレフィックスをIS-ISフレックスアルゴに再配布するルーターでプレフィックスSIDを関連付けます。
フレックス アルゴ プレフィックス SID が BGP-CT から漏洩すると、FAPM サブ TLV はエクスポート ポリシーまたはルートのメトリックから派生したメトリックでアドバタイズされます。エクスポートポリシーで定義されたメトリックは、ルートのメトリックよりも優先されます。さらに、IS-ISはmpls.0テーブルにステッチルートをインストールして、BGP-CTからIS-ISに受信するMPLSトラフィックをステッチします。
サポートされている機能とサポートされていない機能
Junos OSは、次のシナリオで柔軟なアルゴリズムをサポートします。
-
さまざまな柔軟なアルゴリズムのプレフィックスSIDの設定とアドバタイズのサポート。
-
IGPフレキシブルアルゴリズム draft-ietf-lsr-flex-algo-05.txtインターネットドラフトを部分的にサポート
-
柔軟なアルゴリズムプレフィックスSIDのレベル間(IS_IS)リークがサポートされています。
Junos OSは、柔軟なアルゴリズムと組み合わせて以下の機能をサポートしていません。
-
柔軟なアルゴリズムはデフォルトのユニキャストトポロジーにのみ適用され、IS-ISマルチトポロジーはサポートされていません。
-
IS-IS ショートカットおよびその他の IS-IS トラフィック エンジニアリング設定オプションは、柔軟なアルゴリズム計算には適用されません
-
プレフィックスと SID の競合の解決はサポートされていません。
-
TI-LFAが優先FRR計算であるため、リモートループフリーの代替機能はサポートされません
-
拡張管理グループ(EAG)はIS-ISでサポートされていないため、サポートされていません。