BGP によるリンクステート配信
BGPを使用したリンクステート配信の概要
- 内部ゲートウェイプロトコルの役割
- 内部ゲートウェイプロトコルの制限
- スパニングによるリンクステート配信の必要性
- BGPをソリューションとして使用
- サポートされている機能とサポートされていない機能
- ネットワークにおけるソースパケットルーティング(SPRING)のための BGPリンクステート拡張
- OSPFをIGPとするBGPを介して学習したNLRIノードの検証
- OSPFをIGPとするBGPを介して学習したPrefix NLRIの検証
内部ゲートウェイプロトコルの役割
内部ゲートウェイプロトコル(IGP)は、自律システム(AS)内のデバイス間でルーティング情報を交換するために使用されるプロトコルの一種です。IGP は、宛先への最適な経路を計算する方法に基づいて、2つのカテゴリーに分類されます。
リンクステートプロトコル—ネットワークのトポロジー(直接接続されたリンクとそのリンクの状態)に関する情報を、マルチキャストアドレスを使用してすべてのルーターにアドバタイズし、リンクステートプロトコルを実行しているすべてのルーターが、インターネットワークに関して同一の情報を持つようになるまで、ルーティングの更新をトリガーします。宛先への最良の経路は、最大遅延、最小利用可能な帯域幅、リソースクラスの相性などの制約に基づいて計算されます。
リンクステートプロトコルの例として、OSPFとIS-ISがあります。
距離ベクトルプロトコル — ブロードキャストアドレスを使用して、直接接続されたネイバーに完全なルーティングテーブル情報を告知します。最良の経路は、宛先ネットワークまでのホップ数に基づいて計算されます。
RIPは距離ベクトルプロトコルの例です。
IGPの役割は、その名の通り、特定のルーティングドメイン内または内部のルーティング接続を提供することです。ルーティングドメインとは、共通のルーティングプロトコルを共有する、共通の管理制御下にあるルーターのセットのことです。ASは、複数のルーティングドメインで構成され、IGPは、近隣のルーターからネットワークプレフィックス(ルート)を告知して学習し、最終的に特定のプレフィックスへの到達性を告知するすべてのソースのエントリーを含むルートテーブルを構築する機能を持ちます。IGPは、経路選択アルゴリズムを実行して、ローカルルーターと各宛先との間の最良の経路を選択し、ルーティングドメインを構成するルーター間の完全な接続を提供します。
IGPは、内部ネットワークの到達性を告知するだけでなく、ルート再分配と呼ばれるプロセスを通じて、そのIGPのルーティングドメインの外部にあるルーティング情報を告知するために使用されることがあります。ルート再分配は、ルーティング情報を異なるルーティングプロトコル間で交換し、AS内接続が必要になったときに複数のルーティングドメインを結びつけるプロセスです。
内部ゲートウェイプロトコルの制限
各IGPには、それぞれの利点と制限がありますが、一般的にIGPの最大の制限となるのは、パフォーマンスと拡張性です。
IGP は、トラフィック を目的としたネットワークトポロジー情報の取得と配布を行うように設計されています。このモデルはうまく機能していましたが、IGPは大規模なデータベースを配信する際には、スケーリングに限界があります。IGPは、ネイバーを自動検知して、エリア内のネットワークトポロジー情報を取得することができます。しかし、リンクステートデータベースまたはトラフィック制御データベースは、単一のエリアまたはASを対象としているため、エンドツーエンドのトラフィック制御などのアプリケーションでは、外部からの可視性を得ることでより良い判断をするという利点が制限されてしまいます。
MPLS や一般化された MPLS(GMPLS)などのラベルスイッチネットワークでは、既存のトラフィック制御ソリューションのほとんどが、単一のルーティングドメインで動作します。これらのソリューションは、IngressノードからEgressノードへのルートが、ルーティングエリアまたはIngressノードのASから出るときには機能しません。このような場合、ネットワーク全体の完全なルーティング情報が利用できないため、経路計算問題が複雑になります。これは、拡張性の制約および機密性の問題のせいで、通常はサービスプロバイダが、ルーティングエリアまたはAS以外にルーティング情報を漏洩しない選択をしているためです。
スパニングによるリンクステート配信の必要性
IGPの制限の1つに、単一エリアまたはAS外にリンク状態分散の範囲を広げられないことがあります。ただし、複数のエリアまたはASにわたるIGPによって取得されたリンク状態情報をスパニングすることには、以下のようなニーズがあります。
LSP経路計算—この情報は、例えば、エリア間TE LSPなどのように、複数のルーティングドメインにまたがるMPLS LSPへの経路を計算するために使用されます。
外部パスコンピューティングエンティティ—アプリケーション層のトラフィック最適化(ALTO)や経路計算の要素(PCE)などの外部経路計算エンティティは、トラフィック 情報を含む、ネットワークトポロジーとネットワーク内の接続の現在の状態に基づいて、パス計算を実行します。この情報は通常、ネットワーク内のIGPによって配信されます。
しかし、外部の経路計算エンティティは、IGPからこの情報を引き出すことができないため、ネットワークモニタリングを行い、ネットワークサービスの最適化を図っています。
BGPをソリューションとして使用
概要
複数のドメインにまたがってリンク状態を配信するニーズに応えるため、外部ゲートウェイプロトコル(EGP)は、IGPエリアからリンク状態やトラフィック制御情報を収集し、それを外部コンポーネントと共有し、ドメイン間MPLS LSPの経路計算に使用する必要があります。
BGPは、自律システム(AS)間でルーティングと到達可能性の情報を交換するために設計された標準化EGPです。BGPは実績のあるプロトコルで、例えばVPNプレフィックスのような何百万ものエントリーを、拡張可能な方法で配信できるため、より優れたスケーリング特性を持っています。BGPは、現在使用されているルーティングプロトコルの中で、インターネット上のすべてのルートを運ぶのに適した唯一のプロトコルです。これは、BGPがTCP上で動作し、TCPのフロー制御を利用できることが大きな理由です。一方、内部ゲートウェイプロトコル(IGP)にはフロー制御はありません。IGPは、経路情報が多すぎると、解約を始めます。BGPでは、情報の送信速度が速すぎる隣接したスピーカーがある場合、TCPの確認応答を遅らせることで、その隣接したスピーカーを抑制することができます。
BGPのもう一つの利点は、タイプ、長さ、値(TLV)タプルと、ネットワーク層到達性情報(NLRI)を使用することで、その基礎となるプロトコルを変更することなく、外見上、無限の拡張性を実現していることです。
ドメイン間でのリンク状態情報の配信は、サービスプロバイダの利益を保護するポリシーによって規制されます。そのためには、ポリシーを使用してトポロジー配信を制御する必要があります。ポリシーフレームワークが実装されているBGP は、ドメイン間のルート配信に適しています。Junos OSでは、BGPは完全にポリシー主導です。オペレーターは、ピアリングするネイバーを明示的に設定し、ルートをBGPに明示的に受け入れる必要があります。さらに、ルーティングポリシーは、ルーティング情報のフィルタリングと修正に使用されます。このように、ルーティングポリシーは、ルーティングテーブルに対する完全な管理制御を提供します。
AS内では、IGP-TEとBGP-TEの両方が同じ情報を提供していますが、BGP-TEは、標準BGPプロトコルから継承された優れた拡張特性を備えています。これによって、BGP-TEは、マルチエリア/マルチASトポロジー情報を取得するためのより拡張性に優れた選択肢になります。
BGPをソリューションとして使用することで、IGPで取得した情報をBGPに配信することができます。ISPは、通常のBGPピアリングにより、他のISP、サービスプロバイダ、およびコンテンツ配信ネットワーク(CDN)との間で、この情報を選択的に開示することができます。これにより、IGPによって取得された情報を複数のエリアとASにわたって集約できるため、外部パスコンピューティングの実体は、ルートリフレクタを受動的にリッスンすることで、情報にアクセスできるようになります。
実装
Junos OSではIGPが、トラフィック制御データベースと呼ばれるデータベースに、トポロジー情報をインストールします。トラフィック制御データベースには、集約されたトポロジー情報が含まれています。IGP トポロジー情報をトラフィック制御データベースにインストールするには、このおよびの階[edit protocols ospf traffic-engineering]
層レベル[edit protocols isis traffic-engineering]
でset igp-topology
設定ステートメントを使用します。BGPを使用してリンク状態情報を配信する方法には、トラフィック制御データベースをBGP-TEにアドバタイズする処理(インポート)と、BGP-TEからトラフィック制御データベースにエントリをインストールする処理(エクスポート)があります。
Junos OS Release 20.4R1以降では、IS-ISのトラフィック制御で、IPv4アドレスに加えて、IPv6の情報をトラフィック制御データベース(TED)に保存するように設定することができます。BGP-LSは、トラフィック制御データベースのインポートされたポリシーを用いて、この情報をトラフィック制御データベースのルートとして、lsdist.0のルーティングテーブルに配信します。これらのルートは、BGP-TEピアに、IPv6ルーターIDタイプ、長さ、値(TLV)を持つネットワーク層の到達性情報(NLRI)として告知されます。IPv6の情報を追加することで、トラフィック制御データベースに完全なネットワークトポロジーを取り込むことができます。
BGP-LS NLRIとコンフェデレーションID
Junos OSリリース23.1R1以降、Junos OSではBGPコンフェデレーションが有効になっている場合、BGPリンクステート(BGP-LS)のネットワーク層到達可能性情報(NLRI)がTLV 512でコンフェデレーションIDを転送できるようになりました。NLRIは、RFC9086で定義されているように、TLV517でメンバー自律システム番号(AS番号)と共にコンフェデレーションIDを転送します。Junos OSのトラフィック制御データベースモジュールが、(lsdist.0ルーティングテーブルに注入された)BGP-LS NLRIを生成しながら、TLV 512とTLV 517のそれぞれでコンフェデレーションIDとメンバーAS番号をエンコードするために必要となる変更を行います。Junos OSリリース23.1R1以前のリリースでは、BGP-LS NLRIはTLV 512でメンバーAS番号のみを転送し、コンフェデレーションIDはlsdist.0ルーティングテーブルにエンコードされません。
トラフィック制御データベースのインポート
トラフィック制御データベースをBGP-TEに告知するには、トラフィック制御データベースのリンクエントリーとノードエントリーを、ルート形式で変換します。これらの変換されたルートは、対応するIGPに代わって、トラフィック制御データベースによって、ルートポリシーに従う条件で、lsdist.0
というユーザーに見えるルーティングテーブルにインストールされます。トラフィック制御データベースからlsdist.0
にエントリをリークする手順を、図 1で説明するようにトラフィック制御データベースインポートと呼びます。
トラフィック制御データベースのインポートプロセスを管理するためのポリシーがあります。デフォルトでは、トラフィック制御データベースから、lsdist.0
テーブルにリークされるエントリーはありません。
Junos OS Release 17.4R1以降、トラフィック制御データベースは、RSVP-TEのトポロジー情報に加えて、内部ゲートウェイプロトコル(IGP)トポロジー情報を図 1で説明するようにlsdist.0ルーティングテーブルにインストールします。Junos OS Release 17.4R1以前のトラフィック制御データベースでは、RSVP-TEトポロジー情報のみがエクスポートされていました。これで、IGPとトラフィック制御の両方のトポロジー情報をモニターできるようになりました。BGP-LSは、lsdist.0からIGPエントリーを読み込んで、これらのエントリーをBGPピアにアドバタイズします。IGPのトポロジー情報をlsdist.0からBGP-LSにインポートするには、set bgp-ls
階層レベルで、[edit protocols mpls traffic-engineering database import igp-topology]
設定ステートメントを使用します。
トラフィック制御データーベースのエクスポート
BGPは、ポリシーに従って、lsdist.0
テーブルから経路をエクスポートまたは告知するように設定できます。これは、BGPのどのようなルートオリジネーションでも共通です。BGP-TEをトラフィック制御データベースに告知するためには、BGP-TE のアドレスファミリーと、BGPに再分配するルートを選択するエクスポートポリシーを、BGPに設定する必要があります。
BGPは、これらのルートを他のNLRIと同様に伝播します。BGP-TEファミリーが設定され、ネゴシエートされているBGPピアは、BGP-TE NLRIを受信します。BGPは、受信したBGP-TE NLRIを、lsdist.0
テーブルにルート形式で格納します。これは、ローカルに生成されたBGP-TEルートを格納するテーブルと同じです。lsdist.0
でBGP インストールされたルートは、他のルートと同様に他のピアに配信されます。このように、複数のスピーカーから受信されたBGP-TE NLRIには、標準的な経路選択手順が適用されます。
ドメイン間TEを実現するために、lsdist.0
のルートはポリシーを介してトラフィック制御データベースにリークされます。このプロセスは、図 1で説明するように、トラフィック制御データーベースのエクスポートと呼ばれます。
トラフィック制御データーベースのエクスポートプロセスを管理するためのポリシーがあります。デフォルトでは、lsdist.0
テーブルからトラフィック制御データーベースに、エントリーがリークされることはありません。
Junos OSリリース22.4R1以降、セグメントルーティングプロトコルからトラフィック制御データベースとBGPリンクステートへルートとして転送するトラフィック制御(TE)ポリシーを配信できます。BGPリンクステートはTEポリシーに関連する情報を収集し、それにより外部コントローラがパス計算、再最適化およびドメイン内およびドメイン間ネットワークの可視化のような活動を行うことを可能にします。
set protocols source-packet-routing traffic-engineering database
を設定し、セグメントルーティング(SR)ポリシーがTEDに保存できるようにします。
PCEやALTOなどのSDNアプリケーションでは、BGP-TEで告知された情報が、ルーターのトラフィック制御データベースに漏れることはありません。このような場合、BGP-TEを用いてルーターとピアする外部サーバーを使用して、トポロジー情報を、ネットワークに広がるスカイ/オーケストレーションシステムに移動させています。これらの外部サーバーは、BGP-TEの消費者とみなすことができ、BGP-TEのルートを受信しますが、告知はしません。
信頼性のある価値の付与
エントリーが、トラフィック制御データベースにインストールされると、BGP-TEで学習した情報がCSPFのパス計算に利用できるようになります。トラフィック制御データベースでは、信頼性のある値に基づいたプロトコル優先スキームを使用します。信頼性の高い値を持つプロトコルは、信頼性の低い値を持つプロトコルよりも優先されます。BGP-TE は、複数のプロトコルから学習した情報を同時に告知する機能を持っているため、トラフィック制御データベースにはIGPがインストールされたエントリーに加えて、複数のプロトコルに対応するBGP-TEがインストールされたエントリーが存在する可能性があります。トラフィック制御データベースのエクスポートコンポーネントは、BGP-TEがサポートする各プロトコルのトラフィック制御データベースのプロトコルと信頼性レベルを作成します。これらの信頼性のある値は、CLIで設定可能になります。
BGP-TEのプロトコルの信頼性の順序は次のようになります。
-
不明—80
-
OSPF-81
-
ISISレベル 1-82
-
ISISレベル 2-83
-
静的—84
-
ダイレクト-85
クロス信頼性パス計算
信頼性のある値を割り当てた後、各信頼性のレベルは個々のプレーンとして扱われます。制約のある短縮経路の最初のアルゴリズムは、割り当てられた信用度が高いものから低いものへと進み、その信用度の範囲内でパスを見つけます。
BGP-TEでは、複数の信頼レベルにわたるパスを計算して、AS間パスを計算することが不可欠です。例えば、エリア1を通る経路を計算するエリア0のデバイスでは、、エリア0のエントリーはOSPFでインストールされ、エリア1のエントリーはBGP-TEでインストールされるため、異なる信頼性の設定が見られます。
信頼性のあるレベルでパス計算を可能にするために、edit protocols mpls
[edit protocols mpls label-switched-path lsp-name]
、およびの階[edit protocols rsvp]
層レベルでステートcross-credibility-cspf
メントを含めます。[edit protocols rsvp]
の階層レベルでは、を有効にすると、トランジットでのバイパスLSPやルースホップの拡張にcross-credibility-cspf
影響を与えます。
cross-credibility-cspf
を設定することにより、制約のある短縮経路の最初のアルゴリズムを使用して、信頼性レベルを超えたパス計算が可能になります。このとき、制約は、信頼性ごとに実行されるのではなく、割り当てられた信頼性の値を無視した単一の制約として実行されます。
BGP-TE NLRIとTLV
BGP-TE NLRIは、他のBGPルートと同様に、BGP-TE NLRIを話すルートリフレクターを介して配信することも可能です。Junos OSでは、BGP-TEファミリーに、ルートリフレクションサポートを実装しています。
サポートされているNLRIの一覧を以下に示します。
-
リンクNLRI
-
ノードNLRI
-
IPv4 Prefix NLRI(受信および伝送)
-
IPv6 Prefix NLRI(受信および伝送)
-
TEポリシーNLRI
Junos OSでは、上記NRLIのルート区別形式をサポートしません。
以下は、リンクおよびノードNLRI でサポートされているフィールドの一覧です。
-
プロトコル-ID-NLRIは、以下のプロトコル値で発信します。
-
ISIS-L1
-
ISIS-L2
-
OSPF
-
SPRING-TE
-
-
識別子—この値は設定可能です。デフォルトでは、識別子の値は
0
に設定されます。 -
ローカル/リモートノード内容説明-これらには、以下のものが含まれます。
-
自律システム
-
BGP-LS識別子—この値は設定可能です。デフォルトでは、BGP-LS識別子の値は、
0
に設定されます。 -
エリア-ID
-
IGPルーター-ID
-
-
リンク記述子(リンクNLRIのみ)-これには以下が含まれます。
-
リンクのローカル/リモートの識別子
-
IPv4インターフェイスアドレス
-
IPv4ネイバーアドレス
-
IPv6ネイバー/インターフェイスアドレス—IPv6ネイバーおよびインターフェイスアドレスは発信されず、受信時に保存されて伝送されるのみです。
-
マルチトポロジーID—この値は発信されず、受信時に保存され、伝送されます。
-
サポートされているLINK_STATE属性TLVの一覧を以下に示します。
-
リンク属性:
-
管理グループ
-
最大リンク帯域幅
-
保存可能な最大の帯域幅
-
無制限の帯域幅
-
TEデフォルトのメトリック
-
SRLG
-
以下のTLV は、発信されていませんが、受信時に保存され、伝送されるのみです。
-
不透明なリンク属性
-
MPLSプロトコルマスク
-
メトリック
-
リンク保護タイプ
-
リンク名の属性
-
-
-
ノード属性:
-
IPv4ルーター-ID
-
ノードフラグビット—オーバーロードビットのみが設定されます。
-
以下のTLV は、発信されていませんが、受信時に保存され、伝送されるのみです。
-
マルチトポロジー
-
OSPF固有のノードプロパティ
-
不透明なノードプロパティ
-
ノード名
-
IS-ISエリア識別子
-
IPv6ルーター-ID
-
-
Prefix属性—これらのTLVは、他の未知のTLVと同様に保存され、伝送されます。
-
サポートされている機能とサポートされていない機能
Junos OSでは、BGP によるリンクステート配信で、以下の機能をサポートしています。
マルチプロトコル保証フォワーディング機能の広告
ノードおよびリンク状態のBGPおよびBGP-TEのNLRIの送信および受信
BGP-TE NLRIのノンストップのアクティブルーティング
ポリシー
Junos OSでは、BGPによるリンクステート配信について、以下の機能をnotサポートしています。
集合型トポロジー、リンク、またはノード
BGP-TE NLRIのルート区別サポート
マルチトポロジー識別子
マルチインスタンスの識別子(デフォルトのインスタンスID 0を除く)
リンクおよびノードエリアTLVのアドバタイズメント
MPLSシグナリングプロトコルのアドバタイズメント
重複したアドレスによるノードとリンク情報をインポートします。
ネットワークにおけるソースパケットルーティング(SPRING)のための BGPリンクステート拡張
Junos OS Release 17.2R1以降、BGP のリンクステートアドレスファミリーが拡張され、Source Packet Routing in Networking(SPRING)トポロジー情報をSoftware-Defined Networking(SDN)コントローラに配信できるようになりました。BGPは通常、IGPからリンクステート情報を学び、BGPピアに配信します。SDNコントローラーは、BGP以外にも、コントローラーがIGPドメインの一部である場合、IGPから直接リンクステート情報を得ることができます。しかし、BGPのリンクステート配信は、トポロジー情報をエクスポートするための拡張可能なメカニズムを提供します。SPRING向けのBGPリンクステート拡張機能は、ドメイン間のネットワークでサポートされています。
- Source Packet Routing in Networking(SPRING)
- BGPリンクステートSPRINGデータのフロー
- SPRINGを使用したBGPリンクステートでサポートされるBGPリンクステート属性とTLV、およびサポートされない機能
Source Packet Routing in Networking(SPRING)
SPRINGは、Ingressルーターが、ネットワークの中間ノードに頼らずに、実際のパスを決定し、ネットワーク内の特定のノードやリンクを経由してパケットを誘導することを可能にする、制御プレーンのアーキテクチャーです。SPRINGでは、IS-ISやOSPFなどのIGPをネットワークセグメントのアドバタイズに使用しています。ネットワークセグメントは、トポロジーまたはサービスベースのあらゆる指示を表すことができます。IGPトポロジー内では、IGPセグメントはリンクステート型ルーティングプロトコルによって告知されます。IGPセグメントには2種類あります。
Adjacency segment |
IGP内の2つのノード間の特定の隣接関係を超える1ホップのパス |
Prefix segment |
IGPトポロジーの状態に応じた、マルチホップ、等価コスト、マルチパスを認識するPrefixへの最短パス |
BGPネットワークでSPRINGが有効な場合、BGPリンクステートアドレスファミリーは、SPRING情報をIGPリンクステートルーティングプロトコルから学習し、セグメント識別子(SID)の形式でセグメントを告知します。BGPリンクステートアドレスファミリーは、SIDとその他のSPRING関連の情報をBGPピアに伝送するために拡張されました。ルートリフレクタは、パケットの前に、適切なトンネルの組み合わせを付けることで、パケットを目的のノードやリンクのセットを介して誘導することができます。この機能により、BGPリンクステートアドレスファミリーは、BGPピアにSPRING情報を告知することができます。
BGPリンクステートSPRINGデータのフロー
図 2は、IS-ISがトラフィック制御データベースに押し出すBGPリンクステートSPRINGデータのデータフローを説明します。
-
IGPは、SPRING属性をトラフィック制御データベースに押し出します。
-
SPRING機能とアルゴリズムの情報は、ノード属性としてトラフィック制御データベースに送信されます。
-
隣接SIDおよびLAN隣接SID情報は、リンク属性として伝えられます。
-
Prefix SIDまたはNode-SID情報は、Prefix属性として伝送されます。
-
新しいセットまたは既存の属性への変更は、IGPが新しいデータでトラフィック制御データベースを更新するように誘導します。
注意:IGPレベルで、トラフィック制御が無効になっている場合、どの属性もトラフィック制御データベースに押し出されることはありません。
-
リンク記述子、ノード記述子、プレフィックス記述子など、BGPトラフィック制御NLRI内のすべてのパラメータは、トラフィック制御データベースのエントリーから得られます。
-
トラフィック制御データベースは、ポリシーに従って、IGPから
lsdist.0
ルーティングテーブルに、ルートエントリーをインポートします。 -
BGPのデフォルトポリシーは、BGPのみが知っているルートをエクスポートすることです。
lsdis.0
ルーティングテーブルに、BGP以外のルートに対するエクスポートポリシー設定を行います。このポリシーは、トラフィック制御データベースから学習したエントリーを告知します。
SPRINGを使用したBGPリンクステートでサポートされるBGPリンクステート属性とTLV、およびサポートされない機能
SPRINGを使用したBGPリンクステートは、ネットワーク内で発信、受信、伝送される、以下の属性とタイプ、長さ、および値(TLV)をサポートしています。
Node attributes
-
セグメントルーティング機能
-
セグメントルーティングアルゴリズム
Link attributes
-
隣接-SID
-
LAN隣接-SID
Prefix descriptors
-
IPの到達可能性に関する情報
Prefix attributes
-
Prefix SID
次のリストは、発信されず、ネットワーク内で受信・伝送のみされるTLVをサポートしています。
Prefix descriptors
-
マルチポロジーID
-
OSPFルートタイプ
Prefix attributes
-
範囲
-
バインディングSID
Junos OSは、SPRING拡張機能付きのBGPリンクステートでは、以下の機能をサポートしていません。
-
IPv6 Prefixオリジネーション
-
マルチポロジー識別子
-
SPRINGパラメータのトラフィック制御データベースのエクスポート
-
tcpdumpによる新しいTLV(既存のTLVもサポートされていません)。
-
IPv6上のSPRING
OSPFをIGPとするBGPを介して学習したNLRIノードの検証
以下は、OSPFをIGPとするBGPを介して学習したNLRIノードを検証するための出力例です。
目的
LSdist.0のルーティングテーブルのエントリーを検証します。
アクション
オペレーショナルモードから、show route table lsdist.0
コマンドを実行します。
user@host> show route table lsdist.0 te-node-ip 10.7.7.7 extensive lsdist.0: 216 destinations, 216 routes (216 active, 0 holddown, 0 hidden) NODE { AS:65100 Area:0.0.0.1 IPv4:10.7.7.7 OSPF:0 }/1536 (1 entry, 1 announced) TSI: LINK-STATE attribute handle 0x61d5da0 *BGP Preference: 170/-101 Next hop type: Indirect, Next hop index: 0 Address: 0x61b07cc Next-hop reference count: 216 Source: 10.2.2.2 Protocol next hop: 10.2.2.2 Indirect next hop: 0x2 no-forward INH Session ID: 0x0 State:<Active Int Ext> Local AS: 65100 Peer AS: 65100 Age: 30:22 Metric2: 2 Validation State: unverified Task: BGP_65100.10.2.2.2 Announcement bits (1): 0-TED Export AS path: I Accepted Area border router: No External router: No Attached: No Overload: No SPRING-Capabilities: - SRGB block [Start: 900000, Range: 90000, Flags: 0x00] SPRING-Algorithms: - Algo: 0 Localpref: 100 Router ID: 10.2.2.2 Indirect next hops: 1 Protocol next hop: 10.2.2.2 Metric: 2 Indirect next hop: 0x2 no-forward INH Session ID: 0x0 Indirect path forwarding next hops: 1 Next hop type: Router Next hop: 10.11.1.2 via et-0/0/0.1 weight 0x1 Session Id: 0x143 10.2.2.2/32 Originating RIB: inet.0 Metric: 2 Node path count: 1 Forwarding nexthops: 1 Nexthop: 10.11.1.2 via et-0/0/0.1 Session Id: 143
意味
ルートは、lsdist.0のルーティングテーブルに表示されます。
OSPFをIGPとするBGPを介して学習したPrefix NLRIの検証
以下は、OSPFをIGPとするBGPを介して学習したPrefix NLRIを検証するための出力例です。
目的
LSdist.0のルーティングテーブルのエントリーを検証します。
アクション
オペレーショナルモードから、show route table lsdist.0
コマンドを実行します。
user@host> show route table lsdist.0 te-ipv4-prefix-node-ip 10.7.7.7 extensive lsdist.0: 216 destinations, 216 routes (216 active, 0 holddown, 0 hidden) PREFIX { Node { AS:65100 Area:0.0.0.1 IPv4:10.7.7.7 } { IPv4:10.7.7.7/32 } OSPF:0 }/1536 (1 entry, 0 announced) *BGP Preference: 170/-101 Next hop type: Indirect, Next hop index: 0 Address: 0x61b07cc Next-hop reference count: 216 Source: 10.2.2.2 Protocol next hop: 10.2.2.2 Indirect next hop: 0x2 no-forward INH Session ID: 0x0 State: <Active Int Ext> Local AS: 65100 Peer AS: 65100 Age: 30:51 Metric2: 2 Validation State: unverified Task: BGP_65100.10.2.2.2 AS path: I Accepted Prefix Flags: 0x00, Prefix SID: 1007, Flags: 0x50, Algo: 0 Localpref: 65100 Router ID: 10.2.2.2 Indirect next hops: 1 Protocol next hop: 10.2.2.2 Metric: 2 Indirect next hop: 0x2 no-forward INH Session ID: 0x0 Indirect path forwarding next hops: 1 Next hop type: Router Next hop: 10.11.1.2 via et-0/0/0.1 weight 0x1 Session Id: 0x143 10.2.2.2/32 Originating RIB: inet.0 Metric: 2 Node path count: 1 Forwarding nexthops: 1 Nexthop: 10.11.1.2 via et-0/0/0.1 Session Id: 143
意味
ルートは、lsdist.0のルーティングテーブルに表示されます。
例:BGP によるリンクステート配信の設定
この例では、BGP を設定し、複数のドメイン間にリンクステート情報を伝送する方法を示しています。この情報は、エリア間 TE LSP などの複数のドメインにまたがる MPLS LSP のパス計算に使用され、ネットワーク トポロジーを取得するために ALTO や PCE などの外部パス計算エンティティにスケーラブルかつポリシー制御された手段を提供します。
要件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
-
M シリーズ、MX シリーズ、または T シリーズ ルーターの組み合わせが可能な 4 台のルーター
-
すべてのルーターで Junos OS Release 14.2 またはそれ以降のものが作動
開始する前に、以下を実行します。
-
デバイスインターフェイスを設定します。
-
デバイスの自律システム番号とルーター ID を設定します。
-
以下のプロトコルを設定します。
-
RSVP
-
MPLS
-
BGP
-
IS-IS
-
OSPF
-
概要
Junos OS Release 14.2 以降、トポロジー情報を複数のエリアおよび自律システム(AS)に分散する新しいメカニズムが導入されます。これは、最初に IGP を使用して取得されたリンクステート情報を BGP プロトコルに拡張して伝送することで実現されています。IGPプロトコルは、大規模なデータベースを配布する場合、スケーリングに限界があります。BGPは、マルチエリアおよびマルチASトポロジー情報を伝送するための拡張性に優れた手段であるだけでなく、マルチASトポロジーの分散に役立つポリシー制御も提供します。BGP リンクステート トポロジー情報は、エリア間 TE LSP など複数のドメインにまたがる MPLS ラベルスイッチ パス(LSP)のパス計算や、ALTO や PCE などの外部パス計算エンティティがネットワーク トポロジーを取得するためのスケーラブルかつポリシー制御された手段を提供するために使用されるものです。
Junos OS Release 17.1R1 以降では、BGP によるリンクステート配信が QFX10000 スイッチでサポートされます。
トポロジー
では図 3、ルーター R0 および R1 とルーター R2 および R3 は異なる自律システムに属しています。ルーター R0 および R1 は OSPF を実行し、ルーター R2 および R3 は IS-IS を実行します。
設定
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit]
階層レベルでCLIにコピーアンドペーストして、設定モードから commit
を入力します。
R0
set interfaces ge-0/0/0 unit 0 family inet address 10.8.31.101/24 set interfaces ge-0/0/0 unit 0 family iso set interfaces ge-0/0/0 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.105.137/32 set routing-options router-id 10.255.105.137 set routing-options autonomous-system 65533 set protocols rsvp interface all set protocols rsvp interface fxp0.0 disable set protocols mpls traffic-engineering database export policy accept-all set protocols mpls cross-credibility-cspf set protocols mpls label-switched-path to-R3-inter-as to 10.255.105.135 set protocols mpls label-switched-path to-R3-inter-as bandwidth 40m set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 10.255.105.137 set protocols bgp group ibgp family traffic-engineering unicast set protocols bgp group ibgp neighbor 10.255.105.141 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 set policy-options policy-statement accept-all from family traffic-engineering set policy-options policy-statement accept-all then accept
R1
set interfaces ge-0/0/0 unit 0 family inet address 10.8.31.103/24 set interfaces ge-0/0/0 unit 0 family iso set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 10.8.42.102/24 set interfaces ge-0/0/1 unit 0 family iso set interfaces ge-0/0/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.105.141/32 set interfaces lo0 unit 0 family iso address 47.0005.0102.5501.8181 set routing-options router-id 10.255.105.141 set routing-options autonomous-system 65533 set protocols rsvp interface all set protocols rsvp interface fxp0.0 disable set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 10.255.105.141 set protocols bgp group ibgp family traffic-engineering unicast set protocols bgp group ibgp export nlri2bgp set protocols bgp group ibgp neighbor 10.255.105.137 set protocols bgp group ebgp type external set protocols bgp group ebgp family traffic-engineering unicast set protocols bgp group ebgp neighbor 10.8.42.104 local-address 10.8.42.102 set protocols bgp group ebgp neighbor 10.8.42.104 peer-as 65534 set protocols isis interface ge-0/0/1.0 passive remote-node-iso 0102.5502.4211 set protocols isis interface ge-0/0/1.0 passive remote-node-id 10.8.42.104 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 passive traffic-engineering remote-node-id 10.8.42.104 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 passive traffic-engineering remote-node-router-id 10.255.105.139 set policy-options policy-statement accept-all from family traffic-engineering set policy-options policy-statement accept-all then accept set policy-options policy-statement nlri2bgp term 1 from family traffic-engineering set policy-options policy-statement nlri2bgp term 1 then accept
R2
set interfaces ge-0/0/0 unit 0 family inet address 10.8.64.104/24 set interfaces ge-0/0/0 unit 0 family iso set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 10.8.42.104/24 set interfaces ge-0/0/1 unit 0 family iso set interfaces ge-0/0/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.105.139/32 set interfaces lo0 unit 0 family iso address 47.0005.0102.5502.4211.00 set routing-options router-id 10.255.105.139 set routing-options autonomous-system 65534 set protocols rsvp interface all set protocols rsvp interface fxp0.0 disable set protocols mpls traffic-engineering database import policy ted2nlri set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 10.255.105.139 set protocols bgp group ibgp family traffic-engineering unicast set protocols bgp group ibgp export nlri2bgp set protocols bgp group ibgp neighbor 10.255.105.135 set protocols bgp group ebgp type external set protocols bgp group ebgp family traffic-engineering unicast set protocols bgp group ebgp export nlri2bgp set protocols bgp group ebgp peer-as 65533 set protocols bgp group ebgp neighbor 10.8.42.102 set protocols isis level 1 disable set protocols isis interface ge-0/0/0.0 set protocols isis interface ge-0/0/1.0 passive remote-node-iso 0102.5501.8181 set protocols isis interface ge-0/0/1.0 passive remote-node-id 10.8.42.102 set protocols isis interface lo0.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 passive traffic-engineering remote-node-id 10.8.42.102 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 passive traffic-engineering remote-node-router-id 10.255.105.141 set policy-options policy-statement accept-all from family traffic-engineering set policy-options policy-statement accept-all then accept set policy-options policy-statement nlri2bgp term 1 from family traffic-engineering set policy-options policy-statement nlri2bgp term 1 then accept set policy-options policy-statement ted2nlri term 1 from protocol isis set policy-options policy-statement ted2nlri term 1 from protocol ospf set policy-options policy-statement ted2nlri term 1 then accept set policy-options policy-statement ted2nlri term 2 then reject
R3
set interfaces ge-0/0/0 unit 0 family inet address 10.8.64.106/24 set interfaces ge-0/0/0 unit 0 family iso set interfaces ge-0/0/0 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.105.135/32 set interfaces lo0 unit 0 family iso address 47.0005.0102.5502.4250 set routing-options router-id 10.255.105.135 set routing-options autonomous-system 65534 set protocols rsvp interface all set protocols rsvp interface fxp0.0 disable set protocols mpls traffic-engineering database export policy accept-all set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 10.255.105.135 set protocols bgp group ibgp family traffic-engineering unicast set protocols bgp group ibgp neighbor 10.255.105.139 set protocols isis interface ge-0/0/0.0 level 1 disable set protocols isis interface lo0.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 set policy-options policy-statement accept-all from family traffic-engineering set policy-options policy-statement accept-all then accept
手順
ステップバイステップでの手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。設定モードでのCLIエディターの使用CLIのナビゲーションについては、「1 コンフィグレーション・モードでのCLIエディタの使用」1 を参照してください。
ルータ R1 の設定を行う。
-
ルーター R1 インターフェイスを設定します。
[edit interfaces] user@R1# set ge-0/0/0 unit 0 family inet address 10.8.31.103/24 user@R1# set ge-0/0/0 unit 0 family iso user@R1# set ge-0/0/0 unit 0 family mpls user@R1# set ge-0/0/1 unit 0 family inet address 10.8.42.102/24 user@R1# set ge-0/0/1 unit 0 family iso user@R1# set ge-0/0/1 unit 0 family mpls user@R1# set lo0 unit 0 family inet address 10.255.105.141/32 user@R1# set lo0 unit 0 family iso address 47.0005.0102.5501.8181
-
ルーター R1 のルーター ID および自律システムを設定します。
[edit routing-options]
user@R1# set router-id 10.255.105.141 user@R1# set autonomous-system 65533 -
(管理インターフェイスを除く)ルーター R1 のすべてのインターフェイスで RSVP を有効にします。
[edit protocols]
user@R1# set rsvp interface all user@R1# set rsvp interface fxp0.0 disable -
(管理インターフェイスを除く)ルーター R1 のすべてのインターフェイスで MPLS を有効にします。
[edit protocols]
user@R1# set mpls interface all user@R1# set mpls interface fxp0.0 disable -
ルーター R1 がルーター R0 とピアリングするように BGP グループを設定し、ローカル アドレスとネイバー アドレスを割り当てます。
[edit protocols]
user@R1# set bgp group ibgp type internal user@R1# set bgp group ibgp local-address 10.255.105.141 user@R1# set bgp group ibgp neighbor 10.255.105.137 -
ibgp BGP グループに BGP-TE シグナリングのネットワーク層到達可能性情報(NLRI)を含めます。
[edit protocols]
user@R1# set bgp group ibgp family traffic-engineering unicast -
ルーター R1 でポリシー nlri2bgp のエクスポートを有効にします。
[edit protocols]
user@R1# set bgp group ibgp export nlri2bgp -
ルーター R1 がルーター R2 とピアリングするように BGP グループを設定し、ローカル アドレスとネイバー自律システムを ebgp BGP グループに割り当てます。
[edit protocols]
user@R1# set bgp group ebgp type external user@R1# set bgp group ebgp neighbor 10.8.42.104 local-address 10.8.42.102 user@R1# set bgp group ebgp neighbor 10.8.42.104 peer-as 65534 -
ebgp BGP グループに BGP-TE シグナリングの NLRI を含めます。
[edit protocols]
user@R1# set bgp group ebgp family traffic-engineering unicast -
AS 間リンクでパッシブ トラフィック制御を有効にします。
[edit protocols]
user@R1# set isis interface ge-0/0/1.0 passive remote-node-iso 0102.5502.4211 user@R1# set isis interface ge-0/0/1.0 passive remote-node-id 10.8.42.104 -
ルーター R1 からルーター R0 に接続するインターフェイスで OSPF を有効にし、ルーター R1 のループバック インターフェイスでトラフィック制御機能を有効にします。
[edit protocols]
user@R1# set ospf traffic-engineering user@R1# set ospf area 0.0.0.0 interface lo0.0 user@R1# set ospf area 0.0.0.0 interface ge-0/0/0.0 -
AS 間リンクでパッシブ トラフィック制御を有効にします。
[edit protocols]
user@R1# set ospf area 0.0.0.0 interface ge-0/0/1.0 passive traffic-engineering remote-node-id 10.8.42.104 user@R1# set ospf area 0.0.0.0 interface ge-0/0/1.0 passive traffic-engineering remote-node-router-id 10.255.105.139 -
BGP-TE NLRI からのトラフィックを受信するためのポリシーを設定します。
[edit policy-options]
user@R1# set policy-statement accept-all from family traffic-engineering user@R1# set policy-statement accept-all then accept user@R1# set policy-statement nlri2bgp term 1 from family traffic-engineering user@R1# set policy-statement nlri2bgp term 1 then accept
結果
設定モードから、show interfaces
、show routing-options
、show protocols
、およびshow policy-options
のコマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@R1# show interfaces ge-0/0/0 { unit 0 { family inet { address 10.8.31.103/24; } family iso; family mpls; } } ge-0/0/1 { unit 0 { family inet { address 10.8.42.102/24; } family iso; family mpls; } } lo0 { unit 0 { family inet { address 10.255.105.141/32; family iso { address 47.0005.0102.5501.8181:00; } } }
user@R1# show routing-options router-id 10.255.105.141; autonomous-system 65533;
user@R1# show protocols rsvp { interface all; interface fxp0.0 { disable; } } mpls { interface all; interface fxp0.0 { disable; } } bgp { group ibgp { type internal; local-address 10.255.105.141; family traffic-engineering { unicast; } export nlri2bgp; neighbor 10.255.105.137; } group ebgp { type external; family traffic-engineering { unicast; } neighbor 10.8.42.104 { local-address 10.8.42.102; peer-as 65534; } } } isis { interface ge-0/0/1.0 { passive { remote-node-iso 0102.5502.4211; remote-node-id 10.8.42.104; } } } ospf { traffic-engineering; area 0.0.0.0 { interface lo0.0; interface ge-0/0/0.0; interface ge-0/0/1.0 { passive { traffic-engineering { remote-node-id 10.8.42.104; remote-node-router-id 10.255.105.139; } } } } }
user@R1# show policy-options policy-statement accept-all { from family traffic-engineering; then accept; } policy-statement nlri2bgp { term 1 { from family traffic-engineering; then { accept; } } }
手順
ステップバイステップでの手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。設定モードでのCLIエディターの使用CLIのナビゲーションについては、「1 コンフィグレーション・モードでのCLIエディタの使用」1 を参照してください。
ルーターR2を設定する。
-
ルーター R2 インターフェイスを設定します。
[edit interfaces] user@R2# set ge-0/0/0 unit 0 family inet address 10.8.64.104/24 user@R2# set ge-0/0/0 unit 0 family iso user@R2# set ge-0/0/0 unit 0 family mpls user@R2# set ge-0/0/1 unit 0 family inet address 10.8.42.104/24 user@R2# set ge-0/0/1 unit 0 family iso user@R2# set ge-0/0/1 unit 0 family mpls user@R2# set lo0 unit 0 family inet address 10.255.105.139/32 user@R2# set lo0 unit 0 family iso address 47.0005.0102.5502.4211.00
-
ルーター R2 のルーター ID および自律システムを設定します。
[edit routing-options]
user@R2# set router-id 10.255.105.139 user@R2# set autonomous-system 65534 -
(管理インターフェイスを除く)ルーター R2 のすべてのインターフェイスで RSVP を有効にします。
[edit routing-options]
user@R2# set rsvp interface all user@R2# set rsvp interface fxp0.0 disable -
(管理インターフェイスを除く)ルーター R2 のすべてのインターフェイスで MPLS を有効にします。
[edit routing-options]
user@R2# set mpls interface all user@R2# set mpls interface fxp0.0 disable -
ted2nlri ポリシーを使用して、トラフィック エンジニアリング データベース パラメーターのインポートを有効にします。
[edit protocols]
user@R2# set mpls traffic-engineering database import policy ted2nlri -
ルーターR2がルーターR3とピアリングするようにBGPグループを設定し、ローカルアドレスとネイバーアドレスを割り当てます。
[edit protocols]
user@R2# set bgp group ibgp type internal user@R2# set bgp group ibgp local-address 10.255.105.139 user@R2# set bgp group ibgp neighbor 10.255.105.135 -
ibgp BGP グループに BGP-TE シグナリングのネットワーク層到達可能性情報(NLRI)を含めます。
[edit protocols]
user@R2# set bgp group ibgp family traffic-engineering unicast -
ルーター R2 でポリシー nlri2bgp のエクスポートを有効にします。
[edit protocols]
user@R2# set bgp group ibgp export nlri2bgp -
ルーター R2 がルーター R1 をピアリングするために、BGP グループを設定します。
[edit protocols]
user@R2# set bgp group ebgp type external -
ebgp BGP グループに BGP-TE シグナリングの NLRI を含めます。
[edit protocols]
user@R2# set bgp group ebgp family traffic-engineering unicast -
ebgp BGP グループにローカル アドレスとネイバー自律システムを割り当てます。
[edit protocols]
user@R2# set bgp group ebgp peer-as 65533 user@R2# set bgp group ebgp neighbor 10.8.42.102 -
ルーター R2 でポリシー nlri2bgp のエクスポートを有効にします。
[edit protocols]
user@R2# set bgp group ebgp export nlri2bgp -
ルーター R2 とルーター R3 を接続するインターフェイスおよびルーター R2 のループバック インターフェイスで IS-IS を有効にします。
[edit protocols]
user@R2# set isis level 1 disable user@R2# set isis interface ge-0/0/0.0 user@R2# set isis interface lo0.0 -
ルーター R2 とルーター R1 を接続するインターフェイスで IS-IS 広告のみを有効にします。
[edit protocols]
user@R2# set isis interface ge-0/0/1.0 passive remote-node-iso 0102.5501.8181 user@R2# set isis interface ge-0/0/1.0 passive remote-node-id 10.8.42.102 -
ルーター R2 でトラフィック エンジニアリング機能を設定します。
[edit protocols]
user@R2# set ospf traffic-engineering -
ルーター R2 とルーター R1 を接続するインターフェイスで OSPF 広告のみを有効にします。
[edit protocols]
user@R2# set ospf area 0.0.0.0 interface ge-0/0/1.0 passive traffic-engineering remote-node-id 10.8.42.102 user@R2# set ospf area 0.0.0.0 interface ge-0/0/1.0 passive traffic-engineering remote-node-router-id 10.255.105.141 -
BGP-TE NLRIからのトラフィックを受け入れるためのポリシーを設定します。
[edit policy-options]
user@R2# set policy-statement accept-all from family traffic-engineering user@R2# set policy-statement accept-all then accept user@R2# set policy-statement nlri2bgp term 1 from family traffic-engineering user@R2# set policy-statement nlri2bgp term 1 then accept user@R2# set policy-statement ted2nlri term 1 from protocol isis user@R2# set policy-statement ted2nlri term 1 from protocol ospf user@R2# set policy-statement ted2nlri term 1 then accept user@R2# set policy-statement ted2nlri term 2 then reject
結果
設定モードから、show interfaces
、show routing-options
、show protocols
、およびshow policy-options
のコマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@R2# show interfaces ge-0/0/0 { unit 0 { family inet { address 10.8.64.104/24; } family iso; family mpls; } } ge-0/0/1 { unit 0 { family inet { address 10.8.42.104/24; } family iso; family mpls; } } lo0 { unit 0 { family inet { address 10.255.105.139/32; family iso { address 47.0005.0102.5502.4211.00; } family iso; } }
user@R2# show routing-options router-id 10.255.105.139; autonomous-system 65534;
user@R2# show protocols rsvp { interface all; interface fxp0.0 { disable; } } mpls { traffic-engineering { database { import { policy ted2nlri; } } } interface all; interface fxp0.0 { disable; } } bgp { group ibgp { type internal; local-address 10.255.105.139; family traffic-engineering { unicast; } export nlri2bgp; neighbor 10.255.105.135; } group ebgp { type external; family traffic-engineering { unicast; } export nlri2bgp; peer-as 65533; neighbor 10.8.42.102; } } isis { level 1 disable; interface ge-0/0/0.0; interface ge-0/0/1.0 { passive { remote-node-iso 0102.5501.8181; remote-node-id 10.8.42.102; } } interface lo0.0; } ospf { traffic-engineering; area 0.0.0.0 { interface ge-0/0/1.0 { passive { traffic-engineering { remote-node-id 10.8.42.102; remote-node-router-id 10.255.105.141; } } } } }
user@R2# show policy-options policy-statement accept-all { from family traffic-engineering; then accept; } policy-statement nlri2bgp { term 1 { from family traffic-engineering; then { accept; } } } policy-statement ted2nlri { term 1 { from protocol [ isis ospf ]; then accept; } term 2 { then reject; } }
検証
設定が正常に機能していることを確認します。
- BGP の概要のステータスの確認
- MPLS LSP のステータスの確認
- lsdist.0 ルーティング テーブルのエントリーを検証します。
- トラフィック エンジニアリング データーベースのエントリーの検証
BGP の概要のステータスの確認
目的
BGP がルーター R0 および R1 上で動作していることを確認します。
アクション
オペレーショナルモードから、show bgp summary
コマンドを実行します。
user@R0> show bgp summary Groups: 1 Peers: 1 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending lsdist.0 10 10 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... 10.255.105.141 65533 20 14 0 79 5:18 Establ lsdist.0: 10/10/10/0
オペレーショナルモードから、show bgp summary
コマンドを実行します。
user@R1> show bgp summary Groups: 2 Peers: 2 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending lsdist.0 10 10 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... 10.8.42.104 65534 24 17 0 70 6:43 Establ lsdist.0: 10/10/10/0 10.255.105.137 65533 15 23 0 79 6:19 Establ lsdist.0: 0/0/0/0
意味
ルーター R0 は、ルーター R1 とピアリングされています。
MPLS LSP のステータスの確認
目的
ルーター R0 の MPLS LSP のステータスを確認します。
アクション
オペレーショナルモードから、show mpls lsp
コマンドを実行します。
user@R0> show mpls lsp Ingress LSP: 1 sessions To From State Rt P ActivePath LSPname 10.255.105.135 10.255.105.137 Up 0 * to-R3-inter-as Total 1 displayed, Up 1, Down 0 Egress LSP: 0 sessions Total 0 displayed, Up 0, Down 0 Transit LSP: 0 sessions Total 0 displayed, Up 0, Down 0
意味
ルーター R0 からルーター R3 への MPLS LSP が確立されています。
lsdist.0 ルーティング テーブルのエントリーを検証します。
目的
ルーター R0、R1、および R2 の lsdist.0 ルーティング テーブルのエントリーを検証します。
アクション
オペレーショナルモードから、show route table lsdist.0
コマンドを実行します。
user@R0> show route table lsdist.0 lsdist.0: 10 destinations, 10 routes (10 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both NODE { AS:65534 ISO:0102.5502.4211.00 ISIS-L2:0 }/1152 *[BGP/170] 00:17:32, localpref 100, from 10.255.105.141 AS path: 65534 I, validation-state: unverified > to 10.8.31.103 via ge-0/0/0.0 NODE { AS:65534 ISO:0102.5502.4250.00 ISIS-L2:0 }/1152 *[BGP/170] 00:17:32, localpref 100, from 10.255.105.141 AS path: 65534 I, validation-state: unverified > to 10.8.31.103 via ge-0/0/0.0 NODE { AS:65534 ISO:0102.5502.4250.02 ISIS-L2:0 }/1152 *[BGP/170] 00:17:32, localpref 100, from 10.255.105.141 AS path: 65534 I, validation-state: unverified > to 10.8.31.103 via ge-0/0/0.0 NODE { AS:65534 Area:0.0.0.0 IPv4:10.255.105.139 OSPF:0 }/1152 *[BGP/170] 00:17:32, localpref 100, from 10.255.105.141 AS path: 65534 I, validation-state: unverified > to 10.8.31.103 via ge-0/0/0.0 LINK { Local { AS:65534 ISO:0102.5502.4211.00 }.{ IPv4:8.42.1.104 } Remote { AS:65534 ISO:0102.5501.8181.00 }.{ IPv4:10.8.42.102 } ISIS-L2:0 }/1152 *[BGP/170] 00:17:32, localpref 100, from 10.255.105.141 AS path: 65534 I, validation-state: unverified > to 10.8.31.103 via ge-0/0/0.0 LINK { Local { AS:65534 ISO:0102.5502.4211.00 }.{ IPv4:10.8.64.104 } Remote { AS:65534 ISO:0102.5502.4250.02 }.{ } ISIS-L2:0 }/1152 *[BGP/170] 00:02:03, localpref 100, from 10.255.105.141 AS path: 65534 I, validation-state: unverified > to 10.8.31.103 via ge-0/0/0.0 LINK { Local { AS:65534 ISO:0102.5502.4250.00 }.{ IPv4:10.8.64.106 } Remote { AS:65534 ISO:0102.5502.4250.02 }.{ } ISIS-L2:0 }/1152 *[BGP/170] 00:17:32, localpref 100, from 10.255.105.141 AS path: 65534 I, validation-state: unverified > to 10.8.31.103 via ge-0/0/0.0 LINK { Local { AS:65534 ISO:0102.5502.4250.02 }.{ } Remote { AS:65534 ISO:0102.5502.4211.00 }.{ } ISIS-L2:0 }/1152 *[BGP/170] 00:17:32, localpref 100, from 10.255.105.141 AS path: 65534 I, validation-state: unverified > to 10.8.31.103 via ge-0/0/0.0 LINK { Local { AS:65534 ISO:0102.5502.4250.02 }.{ } Remote { AS:65534 ISO:0102.5502.4250.00 }.{ } ISIS-L2:0 }/1152 *[BGP/170] 00:17:32, localpref 100, from 10.255.105.141 AS path: 65534 I, validation-state: unverified > to 10.8.31.103 via ge-0/0/0.0 LINK { Local { AS:65534 Area:0.0.0.0 IPv4:10.255.105.139 }.{ IPv4:10. 8.42.104 } Remote { AS:65534 Area:0.0.0.0 IPv4:10.255.105.141 }.{ IPv4:10.8.42.102 } OSPF:0 }/1152 *[BGP/170] 00:17:32, localpref 100, from 10.255.105.141 AS path: 65534 I, validation-state: unverified > to 10.8.31.103 via ge-0/0/0.0
オペレーショナルモードから、show route table lsdist.0
コマンドを実行します。
user@R1> show route table lsdist.0 lsdist.0: 10 destinations, 10 routes (10 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both NODE { AS:65534 ISO:0102.5502.4211.00 ISIS-L2:0 }/1152 *[BGP/170] 00:18:00, localpref 100 AS path: 65534 I, validation-state: unverified > to 10.8.42.104 via ge-0/0/1.0 NODE { AS:65534 ISO:0102.5502.4250.00 ISIS-L2:0 }/1152 *[BGP/170] 00:18:00, localpref 100 AS path: 65534 I, validation-state: unverified > to 10.8.42.104 via ge-0/0/1.0 NODE { AS:65534 ISO:0102.5502.4250.02 ISIS-L2:0 }/1152 *[BGP/170] 00:18:00, localpref 100 AS path: 65534 I, validation-state: unverified > to 10.8.42.104 via ge-0/0/1.0 NODE { AS:65534 Area:0.0.0.0 IPv4:10.255.105.139 OSPF:0 }/1152 *[BGP/170] 00:18:00, localpref 100 AS path: 65534 I, validation-state: unverified > to 10.8.42.104 via ge-0/0/1.0 LINK { Local { AS:65534 ISO:0102.5502.4211.00 }.{ IPv4:10.8.42.104 } Remote { AS:65534 ISO:0102.5501.8181.00 }.{ IPv4:10.8.42.102 } ISIS-L2:0 }/1152 *[BGP/170] 00:18:00, localpref 100 AS path: 65534 I, validation-state: unverified > to 10.8.42.104 via ge-0/0/1.0 LINK { Local { AS:65534 ISO:0102.5502.4211.00 }.{ IPv4:10.8.64.104 } Remote { AS:65534 ISO:0102.5502.4250.02 }.{ } ISIS-L2:0 }/1152 *[BGP/170] 00:02:19, localpref 100 AS path: 65534 I, validation-state: unverified > to 10.8.42.104 via ge-0/0/1.0 LINK { Local { AS:65534 ISO:0102.5502.4250.00 }.{ IPv4:10.8.64.106 } Remote { AS:65534 ISO:0102.5502.4250.02 }.{ } ISIS-L2:0 }/1152 *[BGP/170] 00:18:00, localpref 100 AS path: 65534 I, validation-state: unverified > to 10.8.42.104 via ge-0/0/1.0 LINK { Local { AS:65534 ISO:0102.5502.4250.02 }.{ } Remote { AS:65534 ISO:0102.5502.4211.00 }.{ } ISIS-L2:0 }/1152 *[BGP/170] 00:18:00, localpref 100 AS path: 65534 I, validation-state: unverified > to 10.8.42.104 via ge-0/0/1.0 LINK { Local { AS:65534 ISO:0102.5502.4250.02 }.{ } Remote { AS:65534 ISO:0102.5502.4250.00 }.{ } ISIS-L2:0 }/1152 *[BGP/170] 00:18:00, localpref 100 AS path: 65534 I, validation-state: unverified > to 10.8.42.104 via ge-0/0/1.0 LINK { Local { AS:65534 Area:0.0.0.0 IPv4:10.255.105.139 }.{ IPv4:10.8.42.104 } Remote { AS:65534 Area:0.0.0.0 IPv4:10.255.105.141 }.{ IPv4:10.8.42.102 } OSPF:0 }/1152 *[BGP/170] 00:18:00, localpref 100 AS path: 65534 I, validation-state: unverified > to 10.8.42.104 via ge-0/0/1.0
オペレーショナルモードから、show route table lsdist.0
コマンドを実行します。
user@R2> show route table lsdist.0 lsdist.0: 10 destinations, 10 routes (10 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both NODE { AS:65534 ISO:0102.5502.4211.00 ISIS-L2:0 }/1152 *[IS-IS/18] 1d 00:24:39 Fictitious NODE { AS:65534 ISO:0102.5502.4250.00 ISIS-L2:0 }/1152 *[IS-IS/18] 00:20:45 Fictitious NODE { AS:65534 ISO:0102.5502.4250.02 ISIS-L2:0 }/1152 *[IS-IS/18] 00:20:45 Fictitious NODE { AS:65534 Area:0.0.0.0 IPv4:10.255.105.139 OSPF:0 }/1152 *[OSPF/10] 1d 00:24:39 Fictitious LINK { Local { AS:65534 ISO:0102.5502.4211.00 }.{ IPv4:10.8.42.104 } Remote { AS:65534 ISO:0102.5501.8181.00 }.{ IPv4:10.8.42.102 } ISIS-L2:0 }/1152 *[IS-IS/18] 00:20:58 Fictitious LINK { Local { AS:65534 ISO:0102.5502.4211.00 }.{ IPv4:10.8.64.104 } Remote { AS:65534 ISO:0102.5502.4250.02 }.{ } ISIS-L2:0 }/1152 *[IS-IS/18] 00:02:34 Fictitious LINK { Local { AS:65534 ISO:0102.5502.4250.00 }.{ IPv4:10.8.64.106 } Remote { AS:65534 ISO:0102.5502.4250.02 }.{ } ISIS-L2:0 }/1152 *[IS-IS/18] 00:20:45 Fictitious LINK { Local { AS:65534 ISO:0102.5502.4250.02 }.{ } Remote { AS:65534 ISO:0102.5502.4211.00 }.{ } ISIS-L2:0 }/1152 *[IS-IS/18] 00:20:45 Fictitious LINK { Local { AS:65534 ISO:0102.5502.4250.02 }.{ } Remote { AS:65534 ISO:0102.5502.4250.00 }.{ } ISIS-L2:0 }/1152 *[IS-IS/18] 00:20:45 Fictitious LINK { Local { AS:65534 Area:0.0.0.0 IPv4:10.255.105.139 }.{ IPv4:10.8.42.104 } Remote { AS:65534 Area:0.0.0.0 IPv4:10.255.105.141 }.{ IPv4:10.8.42.102 } OSPF:0 }/1152 *[OSPF/10] 00:20:57 Fictitious
意味
ルートは、lsdist.0のルーティングテーブルに表示されます。
トラフィック エンジニアリング データーベースのエントリーの検証
目的
ルーター R0 のトラフィック エンジニアリング データベースのエントリーを検証します。
アクション
オペレーショナルモードから、show ted database
コマンドを実行します。
user@R0> show ted database TED database: 5 ISIS nodes 5 INET nodes ID Type Age(s) LnkIn LnkOut Protocol 0102.5501.8168.00(10.255.105.137) Rtr 1046 1 1 OSPF(0.0.0.0) To: 10.8.31.101-1, Local: 10.8.31.101, Remote: 0.0.0.0 Local interface index: 0, Remote interface index: 0 ID Type Age(s) LnkIn LnkOut Protocol 0102.5501.8181.00 --- 1033 1 0 0102.5502.4211.00(10.255.105.139) Rtr 3519 2 3 Exported ISIS-L2(1) To: 0102.5502.4250.02, Local: 10.8.64.104, Remote: 0.0.0.0 Local interface index: 0, Remote interface index: 0 To: 0102.5501.8181.00, Local: 10.8.42.104, Remote: 10.8.42.102 Local interface index: 0, Remote interface index: 0 ID Type Age(s) LnkIn LnkOut Protocol Exported OSPF(2) To: 10.255.105.141, Local: 10.8.42.104, Remote: 10.8.42.102 Local interface index: 0, Remote interface index: 0 ID Type Age(s) LnkIn LnkOut Protocol 0102.5502.4250.00(10.255.105.135) Rtr 1033 1 1 Exported ISIS-L2(1) To: 0102.5502.4250.02, Local: 10.8.64.106, Remote: 0.0.0.0 Local interface index: 0, Remote interface index: 0 ID Type Age(s) LnkIn LnkOut Protocol 0102.5502.4250.02 Net 1033 2 2 Exported ISIS-L2(1) To: 0102.5502.4211.00(10.255.105.139), Local: 0.0.0.0, Remote: 0.0.0.0 Local interface index: 0, Remote interface index: 0 To: 0102.5502.4250.00(10.255.105.135), Local: 0.0.0.0, Remote: 0.0.0.0 Local interface index: 0, Remote interface index: 0 ID Type Age(s) LnkIn LnkOut Protocol 10.8.31.101-1 Net 1046 2 2 OSPF(0.0.0.0) To: 0102.5501.8168.00(10.255.105.137), Local: 0.0.0.0, Remote: 0.0.0.0 Local interface index: 0, Remote interface index: 0 To: 10.255.105.141, Local: 0.0.0.0, Remote: 0.0.0.0 Local interface index: 0, Remote interface index: 0 ID Type Age(s) LnkIn LnkOut Protocol 10.255.105.141 Rtr 1045 2 2 OSPF(0.0.0.0) To: 0102.5502.4211.00(10.255.105.139), Local: 10.8.42.102, Remote: 10.8.42.104 Local interface index: 0, Remote interface index: 0 To: 10.8.31.101-1, Local: 10.8.31.103, Remote: 0.0.0.0 Local interface index: 0, Remote interface index: 0
意味
ルートは、トラフィック エンジニアリング データーベースに表示されます。
BGP によるリンクステート配信の設定
IGP で取得していたリンクステート情報を BGP プロトコルに拡張して伝達することで、複数のエリアや自律システム(AS)にまたがるトポロジー情報の配信を可能にします。IGPプロトコルは、大規模なデータベースを配布する場合、スケーリングに限界があります。BGPは、マルチエリアおよびマルチASトポロジー情報を伝送するための拡張性に優れた手段であるだけでなく、マルチASトポロジーの分散に役立つポリシー制御も提供します。BGP リンクステートトポロジー情報は、エリア間TE LSP など複数のドメインにまたがる MPLS LSP のパス計算や、ALTO や PCE などの外部パス計算エンティティがネットワークトポロジーを取得するためのスケーラブルかつポリシー制御された手段を提供するために使用されるものです。
開始する前に、以下を実行します。
デバイスインターフェイスを設定します。
機器のルーター ID と自律システム番号を設定する。
以下のプロトコルを設定します。
RSVP
MPLS
IS-IS
OSPF
BGP によるリンク状態配信を有効にするには
SRv6 によるリンクステート配信
SRv6 向け BGP リンクステート拡張
Junos OS Release 21.3R1以降、BGP-LSおよびTED(Traffic Engineering Database)でSRv6がサポートされています。BGP-LS 拡張は、SRv6 トポロジ情報を SDN コントローラにエクスポートします。コントローラは、IGPドメインの一部であるか、BGP-LSを通じてトポロジー情報を受信します。BGP LSは、トポロジー情報をエクスポートするための拡張可能なメカニズムを提供します。また、ドメイン間ネットワークにも使用できます。また、IPv6 プレフィックス(SRv6 ロケーター)と SRv6 SID NLRI に基づいて NLRI をフィルタリングできるようになりました。
BGP リンクステート SRv6 データのフロー
BGP LS は、TE データベース(TED)からトラフィック制御(TE)データを取得し、ピアの BGP スピーカーに配信します。このため、TEDはリンク、ノード、プレフィックス(IPv4およびIPv6)エントリをルートの形式に変換します。次の図は、BGP-LSのデータフローを示しています。
-
ISIS IGP を介して交換される SRv6 属性は、IETF 標準 [3] で説明されているように、Junos でサポートされるようになりました。
-
SRv6 属性がトラフィック制御データベース(TED)に追加されます。
-
ISIS IGPを介して学習されたSRv6属性はノードとしてTEDに保存され、リンクはルートに変換されます。これらのルートはTEDインポートポリシーの対象となり、ポリシーで許可されている場合はlsdist.0と呼ばれるルーティングテーブルにインストールされます。
-
BGPは、ポリシーに従って、lsdist.0テーブルからルートを「エクスポート」またはアドバタイズするように設定できます。BGPは、これらのルートを他のNLRIと同様に伝播します。つまり、BGP-LSファミリが設定され、ネゴシエートされているピアは、BGP-LS NLRIを受信します。BGP は、受信した BGP-LS NLRI をルート形式で「lsdist.0」テーブルに格納します。これは、ローカルで発信された BGP-LS ルートを格納するテーブルと同じテーブルです。新しく追加されたSRv6情報は、既存のNLRI(ノード、リンク、プレフィックス)および新しいSRv6ロケータNLRIの属性としてBGPに伝播されます。
-
「lsdist.0」テーブルにルート形式でインストールされた、受信した BGP-LS NLRI は、TED エクスポート ポリシーの対象となり、ポリシーで許可されている場合は、これらのルートの SRv6 属性が TE データベースのローカル インスタンスに追加されます。
IPv6 プレフィックスと IPv6 隣接 SID トラフィック制御データベースとBGPリンクステートでのMPLSサポート
以下の IPv6 の機能拡張を行いました。
- 中間システムからIS-IS(中間システム)へのトラフィック制御データベース(TED)へのIPv6属性と情報の追加をサポートします。
- トラフィック制御データベースからlsdist.0ルーティングテーブルへのIPv6属性のインポートをサポートします。
- BGP-LS(BGPリンクステート)へのIPv6属性のエクスポートをサポートします。
- BGP-LS IPv6ネットワーク層到達可能性情報(NLRI)と属性のLSdist.0ルーティングテーブルからトラフィック制御データベースへのエクスポートをサポートします。
IS-IS内部ゲートウェイプロトコル(IGP)のみをサポートします。
- トラフィック制御データベースとBGP-LSにおけるIPv6プレフィックスとIPv6隣接SIDのメリットMPLSサポート
- 実装
- IS-ISからトラフィック制御データベースへのIPv6属性および情報の追加をサポート
- トラフィック制御データベースからlsdist.0ルーティングテーブルへのIPv6属性インポートのサポート
- BGP-LSへのIPv6属性エクスポートのサポート
- BGP-LS IPv6 NLRIと属性のサポート lsdist.0ルーティングテーブルからトラフィック制御データベースへのエクスポート
- コンフィギュレーションコマンド
トラフィック制御データベースとBGP-LSにおけるIPv6プレフィックスとIPv6隣接SIDのメリットMPLSサポート
既存の運用コマンドの出力を強化し、トラフィック制御データベースにそれぞれIPv6とIPv4のプレフィックスのリストを表示するshowコマンドを追加しました。
show ted database extensive
- IPv6セグメントルーティング(SR)-MPLS属性を含むように出力を強化しました。show ted link detail
- トラフィック制御データベースのリンクに対応するIPv6 SR-MPLS属性を含むように出力を拡張しました。show route table lsdist.0 [extensive | detail]
- IPv6 NLRIおよびIPv6 SR-MPLS属性を含むように出力を拡張しました。show route
- lsdist.0 テーブルで表示するエントリーをフィルタリングするための追加パラメーターを追加しました。IPv6 プレフィックスを含めるオプションを追加しました。オプションは [te-ipv6-prefix-ipv6-addr
] と [te-ipv6-prefix-node-iso
] があります。show ted ipv6-prefix
- トラフィックエンジニアリングデータベース内のIPv6プレフィックスのリストを表示する表示コマンドを追加しました。show ted ipv4-prefix
—トラフィックエンジニアリングデータベース内のIPv4プレフィックスのリストを表示する表示コマンドを追加しました。
実装
BGP-LSは、トラフィック制御データベースからトラフィック制御(TE)データを取得し、BGPピアに配信します。これを実現するために、トラフィック制御データベースは、リンク、ノード、プレフィックス(IPv4およびIPv6)エントリをルート形式に変換します。次の図は、BGP-LS から BGP-LS への情報の流れを示しています。
IS-ISからトラフィック制御データベースへのIPv6属性および情報の追加をサポート
Junos OSは、IS-IS IGPを通じて交換される、IPv6データプレーンのSR-MPLS属性をサポートしています。この機能強化の結果、IPv6の属性と情報をトラフィック制御データベース(TED)に追加できるようになりました。
トラフィック制御データベースからlsdist.0ルーティングテーブルへのIPv6属性インポートのサポート
IS-IS IGP から受信され、ノード、リンク、プレフィックスとしてトラフィック制御データベースに格納される IPv6 属性は、ルートに変換されます。これらのルートは、トラフィック エンジニアリング データベースのインポート ポリシーの対象となります。ポリシーで許可されている場合、ルートは lsdist.0 と呼ばれるルーティング テーブルにインストールされます。
BGP-LSへのIPv6属性エクスポートのサポート
BGPは、ポリシーに従って、lsdist.0テーブルからルートをエクスポートまたはアドバタイズするように設定されます。これは、BGPのルートオリジネーションのルーチンシナリオです。BGPは、他のNLRIと同様に、BGP-LSが設定され、BGPネイバーシップが確立されたピアにこれらのルートを伝播します。BGP は、受信した BGP-LS NLRI をルート形式で lsdist.0 テーブルに格納します。これは、ローカルで発信された BGP-LS ルートを格納するテーブルと同じテーブルです。この機能の結果として、新しく追加されたIPv6情報は、既存のリンクNLRIの属性として、また新しいIPv6プレフィックスNLRIとしてBGPに伝搬されます。
BGP-LS IPv6 NLRIと属性のサポート lsdist.0ルーティングテーブルからトラフィック制御データベースへのエクスポート
Junos OSでは、lsdist.0テーブルにルート形式でインストールされた受信BGP-LS NLRIは、トラフィック制御データベースのエクスポートポリシーの対象となります。ポリシーで許可されている場合、IPv6 属性とこれらのルートからの情報が、トラフィック制御データベースのローカル インスタンスに追加されます。
コンフィギュレーションコマンド
BGP-TE ポリシー コマンドが拡張され、IPv6 プレフィックス NLRI に基づく NLRI のフィルタリングが可能になりました。「ipv6-prefix」を参照してください。
関連項目
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer をご利用ください。