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やGMPLS(Generalized MPLS)などのラベルスイッチネットワークでは、既存のトラフィックエンジニアリングソリューションのほとんどが単一のルーティングドメインで動作します。これらのソリューションは、イングレスノードからエグレスノードへのルートが、ルーティングエリアまたはイングレスノードの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の情報送信速度が速すぎる隣接したスピーカーがある場合、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 isis traffic-engineering]および[edit protocols ospf traffic-engineering]階層レベルでset igp-topology設定ステートメントを使用します。BGPを使用してリンク状態情報を配信するメカニズムには、トラフィック制御データベースをBGP-TEにアドバタイズする処理(インポート)と、BGP-TEからトラフィック制御データベースにエントリをインストールする処理(エクスポート)があります。
IS-ISトラフィックエンジニアリングを設定して、IPv4アドレスに加えて、IPv6情報をトラフィック制御データベース(TED)に保存することができます。BGP-LSは、トラフィック制御データベースのインポートポリシーを用いて、この情報をトラフィック制御データベースからlsdist.0のルーティングテーブルにルートとして配信します。これらのルートは、IPv6 ルーター ID タイプ、長さ、値(TLV)を持つネットワーク層到達可能性情報(NLRI)として BGP-TE ピアにアドバタイズされます。IPv6情報を追加することで、トラフィック制御データベースに完全なネットワークトポロジーを取り込むことができます。
のJunos OS実装
BGP-LS NLRIとコンフェデレーションID
Junos OSにより、コンフェデレーションが有効になっている場合、BGPリンク状態(BGP-LS)ネットワーク層到達可能性情報(NLRI)でTLV 512にコンフェデレーションID BGP伝送できます。NLRIは、RFC9086で定義されているように、TLV 517でメンバー自律システム番号(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 テーブルにリークされるエントリーはありません。
トラフィック制御データベースは、図 1 に示すように、RSVP-TE トポロジー情報に加えて、内部ゲートウェイプロトコル(IGP)トポロジー情報を lsdist.0 ルーティングテーブルにインストールします。IGPとトラフィック制御の両方のトポロジー情報を監視できます。BGP-LSは、lsdist.0からIGPエントリーを読み取り、これらのエントリーをBGPピアにアドバタイズします。IGPトポロジー情報をlsdist.0からBGP-LSにインポートするには、[edit protocols mpls traffic-engineering database import igp-topology]階層レベルでset bgp-ls設定ステートメントを使用します。
トラフィック制御データベースのエクスポート
BGPポリシーに従って、 lsdist.0 テーブルからルートをエクスポートまたはアドバタイズするように設定できます。これは、BGPのあらゆる種類のルートオリジネーションに共通です。BGP-TEをトラフィック制御データベースにアドバタイズするには、BGP-TEアドレスファミリーと、BGPに再分配するルートを選択するエクスポートポリシーでBGPを設定する必要があります。
その後、BGPはこれらのルートを他のNLRIと同様に伝播します。BGP-TEファミリーを設定し、ネゴシエートされているBGPピアは、BGP-TE NLRIを受信します。BGPは、受信したBGP TEのNLRIを、ローカルに発信されたBGP TEルートを格納するテーブルと同じテーブルである lsdist.0 テーブルにルート形式で格納します。 lsdist.0 でBGPインストールされたルートは、他のルートと同様に他のピアに配信されます。このように、複数のスピーカーから受信したBGP-TE NLRIには、標準的な経路選択手順が適用されます。
ドメイン間TEを実現するために、 lsdist.0 内のルートはポリシーを介してトラフィック制御データベースにリークされます。このプロセスは、 図1に示すように、トラフィック制御データベースのエクスポートと呼ばれます。
トラフィック制御データベースのエクスポートプロセスを管理するためのポリシーがあります。デフォルトでは、 lsdist.0 テーブルからトラフィック制御データベースにエントリーがリークされることはありません。
セグメントルーティングプロトコルから発信されたトラフィック制御(TE)ポリシーを、トラフィック制御データベース(TED)とBGPリンクステートにルートとして配信できます。BGPリンクステートは、TEポリシーに関連する情報を収集するため、外部コントローラは、パス計算、再最適化、ドメイン内およびドメイン間ネットワークの可視化などのアクションを実行できます。
セグメントルーティング(SR)ポリシーをTEDに保存できるように set protocols source-packet-routing traffic-engineering database を設定します。
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]階層レベルでは、cross-credibility-cspfを有効にすると、トランジットでのバイパスLSPとルースホップの拡張に影響を与えます。
cross-credibility-cspfを設定することで、制約付き最短経路の最初のアルゴリズムを使用して、信頼性レベルを超えたパス計算が可能になります。このとき、制約は信頼性ごとに実行されるのではなく、割り当てられた信頼性値を無視した単一の制約として実行されます。
BGP-TE NLRIとTLV
他の BGP ルートと同様に、BGP-TE NLRI は BGP-TE NLRI を話すルート リフレクターを介して配信することもできます。Junos OSは、BGP-TEファミリーのルートリフレクションサポートを実装しています。
サポートされているNLRIの一覧を以下に示します。
-
リンクNLRI
-
ノードNLRI
-
IPv4プレフィックスNLRI(受信および伝送)
-
IPv6 Prefix NLRI(受信および伝送)
-
TEポリシーNLRI
Junos OS は、上記の NRLI のルート識別形式をサポートしていません。
以下は、リンクおよびノードNLRIでサポートされているフィールドの一覧です。
-
プロトコル-ID—NLRIは、以下のプロトコル値で発信されます。
-
ISIS-L1
-
ISIS-L2
-
OSPF
-
スプリング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 not BGPを使用したリンクステート配信の以下の機能をサポートしていません。
集合型トポロジー、リンク、またはノード
BGP-TE NLRIのルート区別サポート
マルチトポロジー識別子
マルチインスタンス識別子(デフォルトのインスタンスID 0を除く)
リンクおよびノードエリアTLVのアドバタイズメント
MPLSシグナリングプロトコルのアドバタイズメント
重複するアドレスによるノードとリンク情報のインポート
ネットワークにおけるソースパケットルーティング(SPRING)のためのBGPリンクステート拡張
BGPリンクステートアドレスファミリーは、Source Packet Routing in Networking(SPRING)トポロジー情報をSoftware-Defined Networking(SDN)コントローラに配信するために拡張されています。BGPは通常、IGPからリンクステート情報を学び、BGPピアに配信します。BGP以外にも、コントローラーがIGPドメインの一部である場合、SDNコントローラーは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トポロジーの状態に応じた、マルチホップ、等価コスト、マルチパス対応のプレフィックスへの最短パス |
BGPネットワークでSPRINGが有効な場合、BGPリンクステートアドレスファミリーは、IGPリンクステートルーティングプロトコルからSPRING情報を学び、セグメント識別子(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
-
プレフィックスSID
次のリストは、発信されず、ネットワーク内で受信および伝送のみされるTLVをサポートしています。
Prefix descriptors
-
マルチポロジーID
-
OSPFルートタイプ
Prefix attributes
-
範囲
-
バインディングSID
Junos OSは、SPRING拡張機能付きのBGPリンクステートでは、以下の機能をサポートしていません。
-
IPv6プレフィックスオリジネーション
-
マルチポロジー識別子
-
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 を介して学習したプレフィックス 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などの外部パス計算エンティティがネットワークトポロジーを取得するためのスケーラブルかつポリシー制御された手段を提供します。
要件
この例では、以下のハードウェアおよびソフトウェアコンポーネントを使用しています。
-
MXシリーズルーター4台
-
すべてのルーターで実行されている Junos OS リリース 14.2 以降
始める前に:
-
デバイスインターフェイスを設定します。
-
デバイスの自律システム番号とルーターIDを設定します。
-
以下のプロトコルを設定します。
-
出欠確認
-
MPLS
-
BGP
-
IS-IS
-
OSPF
-
概要
トポロジー情報を複数のエリアや自律システム(AS)に分散させる新しいメカニズムは、BGPプロトコルを拡張して、最初にIGPを使用して取得されたリンクステート情報を伝送することによって導入されます。IGPプロトコルは、大規模なデータベースを配布する場合、スケーリングに限界があります。BGPは、マルチエリアおよびマルチASトポロジー情報を伝送するための拡張性に優れた手段であるだけでなく、マルチASトポロジーの分散に役立つポリシー制御も提供します。BGPリンクステートトポロジー情報は、エリア間TE LSPなど複数のドメインにまたがるMPLSラベルスイッチパス(LSP)のパス計算や、ALTOやPCEなどの外部パス計算エンティティがネットワークトポロジーを取得するためのスケーラブルかつポリシー制御された手段を提供するために使用されます。
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エディターの使用を参照してください。
ルーター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に接続するインターフェイスとルーターR1のループバックインターフェイスでOSPFを有効にし、トラフィック制御機能を有効にします。
[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エディターの使用を参照してください。
ルーター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とピアリングするように、ルーターR2の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サマリーステータスの検証
目的
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 を使用したリンク ステート配信の設定
BGPプロトコルを拡張して、最初にIGPを使用して取得したリンク状態情報を伝送することで、複数のエリアや自律システム(AS)にまたがるトポロジー情報の配信を可能にします。IGPプロトコルは、大規模なデータベースを配布する場合、スケーリングに限界があります。BGPは、マルチエリアおよびマルチASトポロジー情報を伝送するための拡張性に優れた手段であるだけでなく、マルチASトポロジーの分散に役立つポリシー制御も提供します。BGPリンクステートトポロジー情報は、エリア間TE LSPなど複数のドメインにまたがるMPLS LSPのパス計算や、ALTOやPCEなどの外部パス計算エンティティがネットワークトポロジーを取得するためのスケーラブルかつポリシー制御された手段を提供するために使用されます。
始める前に:
デバイスインターフェイスを設定します。
デバイスのルーターIDと自律システム番号を設定します。
以下のプロトコルを設定します。
出欠確認
MPLS
IS-IS
OSPF
BGPを使用してリンクステート配信を有効にするには:
BGP-LSを使用したSRv6 SIDのリンクステート配信
SRv6向けBGPリンクステート拡張
BGP-LSおよびTED(トラフィック制御データベース)で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)へのIPv6属性とトラフィック制御データベース(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属性と情報の追加のサポート
- IPv6属性のサポート トラフィック制御データベースからlsdist.0ルーティングテーブルへのインポート
- 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コマンドを追加しました。show ted ipv4-prefix—トラフィック制御データベース内のIPv4プレフィックスのリストを表示するshowコマンドを追加しました。
実装
BGP-LSは、トラフィック制御データベースからトラフィック制御(TE)データを取得し、そのデータをBGPピアに配信します。これを実現するために、トラフィック制御データベースは、そのリンク、ノード、およびプレフィックス(IPv4およびIPv6)エントリーをルート形式で変換します。次の図は、BGP-LSからBGP-LSへの情報の流れを示しています。
IS-ISからトラフィック制御データベースへのIPv6属性と情報の追加のサポート
Junos OSは、IS-IS IGPを介して交換されるIPv6データプレーンのSR-MPLS属性をサポートしています。この機能強化の結果、IPv6の属性と情報をTED(トラフィック制御データベース)に追加できます。
IPv6属性のサポート トラフィック制御データベースからlsdist.0ルーティングテーブルへのインポート
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」を参照してください。
関連項目
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。