このページで
MPLS トラフィック エンジニアリングの設定
MPLS とトラフィック制御
トラフィック制御により、ルーティング テーブルを使用する標準ルーティング モデルをバイパスしてデータ パケットが従うパスを制御できます。トラフィック制御は輻輳したリンクから自動計算された宛先ベースの最短パスによって選択されない代替リンクにフローを移動します。トラフィック制御では、以下のことができます。
高価な長距離ファイバーの効率を高める。
単一または複数の障害に直面してトラフィックが再ルーティングされるトラフィックの方法を制御します。
重要なトラフィックと通常のトラフィックをパス単位で分類する。
トラフィック制御設計のコアは、ルーター間のLSP(ラベルスイッチ パス)をベースにしています。LSP は、フレーム リレーまたは ATM のバーチャル サーキットなどのコネクション型です。LSP は信頼性がありません。LSP に入るパケットには、優遇措置は可能ですが、配信保証はありません。また、LSP は、パスに入るパケットがエンベロープにカプセル化され、中間ノードに触れられることなくパス全体で切り替えられる単一方向トンネルと同様です。LSP は、ネットワークでのパケットの転送方法を細かく制御します。信頼性を確保するため、LSP は一連のプライマリ パスとセカンダリ パスを使用できます。
LSPは、BGPトラフィック(宛先が自律システム [AS] の外側にあるトラフィック)にのみ設定可能です。この場合、AS内のトラフィックはLSPの存在による影響を受けません。LSPは、BGPと内部ゲートウェイプロトコル(IGP)の両方のトラフィックに対して設定することもできます。そのため、AS内トラフィックとAS間トラフィックの両方がLSPによる影響を受けます。
MPLSトラフィックエンジニアリングとシグナリングプロトコルの概要
トラフィックエンジニアリングは、効率的で信頼性の高いネットワーク運用を促進すると同時に、ネットワークリソースとトラフィックパフォーマンスを最適化するものです。トラフィックエンジニアリングは、内部ゲートウェイプロトコル(IGP)が選択する最短経路から、ネットワーク上で混雑していない可能性のある物理経路にトラフィックフローを移動させる機能を提供します。トラフィックエンジニアリングをサポートするためには、ソースルーティングの他に、ネットワークは次のことを行う必要があります。
帯域幅や管理上の要件など、すべての制約を考慮して送信元でのパスを計算する。
パスが計算されると、ネットワークトポロジとリンクの属性に関する情報をネットワーク全体に配布する。
ネットワークリソースを予約し、リンクの属性を変更する。
トランジットトラフィックをIPネットワークでルーティングする場合、MPLSはその通過をエンジニアリングするためによく使用されます。トランジットネットワークを正確に通過する経路は、トラフィックの送信者にも受信者にもあまり重要ではありませんが、ネットワーク管理者は、特定の送信元アドレスと宛先アドレスのペア間でトラフィックをより効率的にルーティングしたいと思うことがよくあります。MPLSは、各パケットに特定のルーティング命令を含む短いラベルを付加することで、ネクストホップ検索に基づいてパケットを転送するのではなく、ネットワークを通じてルーターからルーターにパケットを切り換える。その結果得られる経路をラベルスイッチドパス(LSP)と呼びます。LSPは、ネットワーク上のトラフィックの通過を制御し、トラフィックの転送を高速化する。
LSPは、手動で作成することも、シグナリングプロトコルを使用して作成することも可能です。シグナリングプロトコルは、MPLS環境において、トランジットネットワークを通過するトラフィックのLSPを確立するために使用されます。Junos OSは、LDPとRSVP(Resource Reservation Protocol)の2つのシグナリングプロトコルをサポートしています。
MPLSトラフィックエンジニアリングは、以下のコンポーネントを使用します。
パケット転送のためのMPLS LSP
ネットワークトポロジーとリンク属性に関する情報を配信するためのIGP拡張機能
経路計算と経路選択のためのCSPF(Constrained Shortest Path First)方式
RSVP拡張機能により、パスに沿った転送状態を確立し、パスに沿ったリソースを予約する
Junos OSは、異なるOSPF地域間のトラフィックエンジニアリングもサポートしています。
トラフィックエンジニアリング機能
トラフィックフローを既存の物理トポロジーにマッピングする作業は、トラフィックエンジニアリングと呼ばれています。トラフィックエンジニアリングは、トラフィックフローを内部ゲートウェイプロトコル(IGP)が選択する最短経路から、ネットワーク上で混雑していない可能性のある物理経路に移動させる機能を提供します。
トラフィックエンジニアリングは、以下のような機能を提供します。
ネットワーク上のボトルネックや輻輳するポイントを回避するプライマリパスをルーティングします。
プライマリパスが単一または複数の障害に直面した場合に、トラフィックをどのように再ルーティングするかを正確に制御することができます。
ネットワークのサブセットが過剰利用され、潜在的な代替パスに沿った他のサブセットが過小利用されることがないようにすることで、利用可能な集約帯域幅と長距離ファイバーをより効率的に使用できるようにすること。
業務効率を最大化する。
パケットロスの最小化、長時間の輻輳の最小化、スループットの最大化により、ネットワークのトラフィック指向の性能特性を向上させる。
マルチサービス・インターネットをサポートするために必要なネットワークの性能特性(損失率、遅延変動、転送遅延など)を統計的に束縛することを強化します。
トラフィック制御のコンポーネント
Junos® オペレーティング システム(OS)では、MPLS と RSVP でトラフィック制御が実装されています。トラフィック制御は、4 つの機能コンポーネントで構成されています。
LSPのトラフィック制御を設定する
LSPを設定すると、エグレスルーターに向けて、イングレスルーターがホストルート(32ビットママスク)にインストールされます。ホストルートのアドレスはLSPの宛先アドレスになります。階[edit protocols mpls]
層レベルで、ステートtraffic engineering
メントのbgp
オプションはデフォルトで有効になっており(bgp
オプションを明示的に設定することも可能)、ルート計算時にLSPの使用をBGPのみに許可することができます。もう一方のtraffic-engineering
ステートメントオプションでは、マスタールルーティングインスタンスでこの動作を変更することができます。この機能は、一部のルーティングインスタンスでは利用できません。また、traffic-engineering
ステートメントオプション(bgp
、bgp-igp
、bgp-igp-both-ribs
、またはmpls-forwarding
)は一度に1つだけ有効にすることができます。
traffic-engineering
ステートメントオプションのいずれかを有効または無効にすると、すべてのMPLSルートが削除され、その後ルーティングテーブルに再度挿入されます。
サマリーLSAでLSPメトリックをアドバタイズするセクションで説明したように、OSPF およびトラフィック制御は、サマリー接続状態アドバタイズ(LSA)でLSPメトリックをアドバタイズするように設定することができます。
次のセクションでは、LSPのトラトラフィック制御を設定する方法について説明します。
- BGPとIGPの両方のトラフィック転送にLSPを使用する
- 仮想プライベートネットワークでの転送にLSPを使用する
- ルート選択ではなく、転送にRSVPおよびLDPルートを使用する
- サマリーLSAでLSPメトリックをアドバタイズする
BGPとIGPの両方のトラフィック転送にLSPを使用する
ステートtraffic-engineering
メントのbgp-igp
オプションを含めることで、BGPおよびIGPがエグレスルーターに送信される転送トラフィックにLSPを使用するように設定することができます。オプションbgp-igp
を選択すると、すべてのinet.3ルートがinet.0ルーティングテーブルに移動されます。
イングレスルーターでステートtraffic-engineering
メントのオプションを含めbgp-igp
ます。
traffic-engineering bgp-igp;
以下の階層レベルでこのステートメントを使用することができます。
[edit protocols mpls]
[edit logical-systems logical-system-name protocols mpls]
注:ステート
traffic-engineering
メントのbgp-igp
オプションは、VPN向けに設定できません)。VPNでは、inet.3ルーティングテーブル内にこのルートが必要です。
仮想プライベートネットワークでの転送にLSPを使用する
VPNが正常に機能するためには、ルートがinet.3ルーティングテーブルに維持される必要があります。VPN の場合は、BGPとIGPがエグレスルーターに送信される転送トラフィックにLSPを使用するように、ステートtraffic-engineering
メントのbgp-igp-both-ribs
オプションを設定します。bgp-igp-both-ribs
オプションは、inet.0ルーティングテーブル(IPv4ユニキャストルート向け)と、inet.3ルーティングテーブル(MPLSパス情報向け)の両方に、イングレスルートをインストールします。
イングレスルーターには、traffic-engineering bgp-igp-both-ribs
ステートメントを含めます。
traffic-engineering bgp-igp-both-ribs;
以下の階層レベルでこのステートメントを使用することができます。
[edit protocols mpls]
[edit logical-systems logical-system-name protocols mpls]
bgp-igp-both-ribs
ステートメントを使用すると、inet.3テーブルからのルートがinet.0テーブルにコピーされます。コピーされたルートは、LDPシグナル化ルートまたはRSVPシグナル化ルートであり、inet.0の他のルートよりも優先度が低い可能性があります。 優先度が低いルートは、アクティブなルートとして選択される可能性が高くなります。ルーティングポリシーはアクティブなルートに対してのみ動作するため、これが問題となることがあります。この問題を回避するためには、代わりにmpls-forwarding
オプションを使用します。
数値が最も小さい優先値を持つLSPが、優先ルートとして選択されます。
たとえば、以下のように表示されます。
user@host# show protocols mpls label-switched-path lsp1 { to 192.168.4.4; preference 1000; } label-switched-path lsp2 { to 192.168.4.4; preference 1001; } user@host# run show route table inet.3 inet.3: 2 destinations, 3 routes (2 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 198.168.4.4/32 *[RSVP/1000/1] 00:17:23, metric 30 > to 192.168.2.18 via ge-0/0/1.0, label-switched-path lsp1 to 192.168.5.5 via ge-0/0/2.0, label-switched-path Bypass->192.168.2.18->192.168.3.3 [RSVP/1001/1] 00:17:23, metric 30 > to 192.168.2.18 via ge-0/0/1.0, label-switched-path lsp2 to 192.168.5.5 via ge-0/0/2.0, label-switched-path Bypass->192.168.2.18->192.168.3.3
優先値1000のLSPはより上位となり、優先値1001のLSPよりも優先されます。
ルート選択ではなく、転送にRSVPおよびLDPルートを使用する
ステートtraffic-engineering
メントにまたはbgp-igp-both-ribs
オプションbgp-igp
を設定すると、優先度の高いLSPをinet.0ルーティングテーブル内のIGPルートよりも優先することができます。IGPルートはもはやアクティブなルートではないため、再配布されない可能性があります。
ステートtraffic-engineering
メントにmpls-forwarding
オプションを設定した場合、LSPは転送に使用されますが、ルート選択からは除外されます。これらのルートは、inet.0とinet.3の両方のルーティングテーブルに追加されます。inet.0ルーティングテーブル内のLSPは、アクティブなルートが選択されると、優先度が低くなります。しかしながら、inet.3ルーティングテーブル内のLSPには通常の優先度が与えられるため、転送ネクストホップを選択するときに使用されます。
mpls-forwarding
オプションを有効にすると、状態がForwardingOnly
のルートが、現在アクティブで優先度が低い場合でもフォワーディングに優先されます。ルートの状態を調べるには、show route detail
コマンドを実行します。
LSPを転送に使用しながら、ルート選択から除外する場合は、ステートtraffic-engineering
メントのmpls-forwarding
オプションを含めます。
traffic-engineering mpls-forwarding;
以下の階層レベルでこのステートメントを使用することができます。
[edit protocols mpls]
[edit logical-systems logical-system-name protocols mpls]
mpls-forwarding
オプションを設定すると、IGPショートカットルートは、inet.0ルーティングテーブルにのみコピーされます。
bgp-igp-both-ribs
オプションとは異なり、mpls-forwarding
オプションではLDPシグナル化ルートとRSVPシグナル化ルートを転送に使用することができ、ルーティング目的でBGPとIGPルートのアクティブ状態を維持してルーティングポリシーを適用することができます。
例えば、ルーターがBGPを実行しており、他のBGPスピーカーに送信しなければならない10.10.10.1/32のBGPルートがあるとします。bgp-igp-both-ribs
オプションを使用し、ルーターに10.10.10.1へのラベルスイッチパス(LSP)がある場合、10.10.10.1へのMPLSパスがinet.0ルーティングテーブルでアクティブになります。これにより、ルーターが他のBGPルーターに10.10.10.1ルートをアドバタイズしないように防止することができます。mpls-forwarding
一方、bgp-igp-both-ribs
オプションの代わりにオプションを使用すると、10.10.10.1/32 BGPルートはもう一方のBGPスピーカーにアドバタイズされ、LSPは引き続き10.10.10.1宛てのトラフィックの転送に使用されます。
サマリーLSAでLSPメトリックをアドバタイズする
LSPをリンクとして扱うように、MPLSとOSPFを設定することができます。この設定では、ネットワーク内の他のルーターがこのLSPを使用できるようになります。この目標を達成するためには、LSPメトリックをサマリーLSAでアドバタイズするように、MPLSおよびOSPFトラフィック制御を設定する必要があります。
MPLSでは、traffic-engineering bgp-igp
およびlabel-switched-path
ステートメントを含めます。
traffic-engineering bgp-igp; label-switched-path lsp-name { to address; }
以下の階層レベルでこれらのステートメントを使用することができます。
[edit protocols mpls]
[edit logical-systems logical-system-name protocols mpls]
OSPFでは、lsp-metric-into-summary
ステートメントを含めます。
lsp-metric-into-summary;
以下の階層レベルでこのステートメントを使用することができます。
[edit protocols ospf traffic-engineering shortcuts]
[edit logical-systems logical-system-name protocols ospf traffic-engineering shortcuts]
OSPFトラフィック制御のより詳細な情報については、ルーティングデバイス向けJunos OSルーティングプロトコルライブラリを参照してください。
エリア間のトラフィック制御の有効化
Junos OS では、複数の OSPF エリアにまたがって、連続的なトラフィック制御された LSP をシグナリングできます。LSP シグナリングは、RFC 4206 一般化マルチプロトコルラベルスイッチ (GMPLS) トラフィック制御 (TE) によるラベルスイッチパス (LSP) 階層に記載されているように、ネストシグナリングまたは連続シグナリングのいずれかを使用して行う必要があります。しかし、連続シグナリングのサポートは、基本的なシグナリングに制限されています。再最適化は、連続シグナリングではサポートされていません。
次に、エリア間のトラフィック制御機能の一部をご紹介します。
OSPF エリア内で Explicit Route オブジェクト (ERO) の計算に CSPF を使用して、ルーズホップのエリアボーダールーター (ABR) がイングレスルーターで設定されている場合、エリア間のトラフィック制御が有効化できます。ABR で ERO 拡張が完了されます。
CSPF を有効にすると、エリア間のトラフィック制御は有効化できますが、イングレスルーターの LSP 設定で ABR を指定しなくても可能です (ABR は自動的に指定できます)。
差別化されたサービス (DiffServ) のトラフィック制御は、クラスタイプのマッピングが複数のエリアで統一されていればサポートされます。
エリア間のトラフィック制御を有効にするには、各 LSP トランジットルーターの設定に expand-loose-hop
のステートメントを含めます。
expand-loose-hop;
以下の階層レベルでこのステートメントを使用することができます。
[edit protocols mpls]
[edit logical-systems logical-system-name protocols mpls]
LSPのAS間トラフィックエンジニアリングの実現
一般に,トラフィックエンジニアリングが可能なのは,次の条件を満たすLSPである。
LSPの両端が同じOSPFエリアまたは同じIS-ISレベルであること。
LSPの両端は、同じ自律システム(AS)内の異なるOSPFエリアに存在します。異なる IS-IS レベルで終了する LSP はサポートされません。
明示的パスLSPの両端が異なるOSPF ASにあり、自律システム境界ルータ(ASBR)が明示的パスLSPでサポートされるルースホップとして静的に設定されています。明示的なパスLSPの設定詳細については、「Explicit-Path LSPの設定」を参照してください。
LSP上に静的に定義されたASBRがなければ、あるルーティングドメイン、またはASと別のルーティングドメインとの間でトラフィックエンジニアリングは不可能です。しかし、AS が単一のサービスプロバイダの管理下にある場合、トラフィックエンジニアリングされた LSP が AS をまたぎ、それらを結ぶ OSPF ASBR を動的に検出することができる場合があります(この機能では IS-IS はサポートされません)。
AS間トラフィックエンジニアリングLSPは、特定のネットワーク要件を満たし、制限条件に該当せず、EBGPでOSPFパッシブモードが構成されていれば、可能です。詳細は次項以降に記載します。
AS間トラフィックエンジニアリング要件
AS間トラフィックエンジニアリングLSPの適切な確立と機能は、以下のネットワーク要件に依存し、これらはすべて満たされなければならない。
すべてのASは、単一のサービスプロバイダの管理下にあります。
各AS内のルーティングプロトコルはOSPF、AS間のルーティングプロトコルはEBGPが使用されます。
ASBRの情報は、各AS内部で確認することができます。
EBGPの経路情報はOSPFで配信され、各AS内ではIBGPフルメッシュが実現されています。
トランジットLSPはAS間リンクには設定されず、各ASの入口点ASBRと出口点ASBRの間に設定されます。
異なる AS の ASBR 間の EBGP リンクはダイレクトリンクであり、OSPF の下でパッシブトラフィックエンジニアリングリンクとして構成する必要があります。このパッシブリンクのリモートノード識別子には,ループバックや他のリンクアドレスではなく,リモートリンクアドレスそのものが使用される。OSPF パッシブ TE モードの設定OSPFパッシブトラフィックエンジニアリングモードの設定の詳細については、 を参照してください。
また、OSPFパッシブトラフィックエンジニアリングリンクのリモートノードに使用するアドレスは、EBGPリンクに使用するアドレスと同じである必要があります。https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/config-guide-routing/index.htmlOSPFとBGP全般については、「Junos OS Routing Protocols Library for Routing Devices」をご覧ください。
AS間トラフィックエンジニアリングの制限
AS間トラフィックエンジニアリングLSPでは、LSP階層化(ネスト化)シグナリングのみがサポートされています。ポイントツーポイントのLSPのみサポートされます(ポイントツーマルチポイントはサポートされません)。
また、以下の制限があります。これらの条件のうち一つでもあれば、上記の要件を満たしていても、AS間トラフィックエンジニアリングLSPは不可能となる。
マルチホップBGPの使用はサポートされていません。
AS内部でBGP経路を知られないようにするポリサーやトポロジーの使用はサポートされていません。
EBGPピア間のLAN上の複数のASBRはサポートされていません。EBGPピア間のLAN上のASBRは1つだけサポートされます(他のASBRがLAN上に存在することは可能ですが、広告することはできません)。
ASBR情報を隠蔽するルートリフレクタやポリシー、ASBR情報のAS内部への流通を防止するポリシーはサポートしません。
双方向LSPはサポートされていません(トラフィックエンジニアリングの観点からはLSPは単方向です)。
同じデスティネーションへのAS間パスとAS内パスの両方を持つトポロジーはサポートされていません。
また、すべてのLSPでルーチン化されているいくつかの機能は、AS間トラフィックエンジニアリングではサポートされていません。
Adminグループのリンクカラーには対応していません。
セカンダリースタンバイには対応していません。
再最適化には対応していません。
トランジットルーターでのクランクバックはサポートされていません。
Diverse Pathの計算には対応していません。
グレースフル リスタートはサポートされていません。
AS間トラフィックエンジニアリングLSPの制限またはサポートされていない機能の一覧は,すべてを網羅しているわけではありません。
OSPF パッシブ TE モードの設定
通常、OSPFなどの内部ルーティングプロトコルは、AS間のリンクでは実行されません。しかし、AS間トラフィックエンジニアリングが適切に機能するためには、AS間リンクに関する情報、特にリモートインターフェイスのアドレスがAS内部で利用できるようにする必要があります。この情報は通常、EBGP 到達性メッセージにも OSPF 経路広告にも含まれません。
このリンクアドレス情報をAS内でフラッディングし、トラフィックエンジニアリングの計算に利用できるようにするには、各AS間インタフェースにトラフィックエンジニアリングのためのOSPFパッシブモードを設定する必要があります。また、OSPFが配信し、トラフィックエンジニアリングデータベースに含めるためのリモートアドレスも供給する必要があります。
passive
[edit protocols ospf area area-id interface interface-name]
AS間インタフェースにトラフィックエンジニアリングのためのOSPFパッシブモードを設定するには,リンクのステートメントを階層レベルで記述します。
passive { traffic-engineering { remote-node-id ip-address; /* IP address at far end of inter-AS link */ } }
ルーターにOSPFが正しく設定されている必要があります。so-1/1/0
次の例は,AS 内の OSPF でトラフィックエンジニアリング情報を配布するための AS 間リンクを設定するものです。192.168.207.2
リモートIPアドレスは.
[edit protocols ospf area 0.0.0.0] interface so-1/1/0 { unit 0 { passive { traffic-engineering { remote-node-id 192.168.207.2; } } } }
パケット転送コンポーネント
Junos トラフィック制御アーキテクチャのパケット転送コンポーネントは MPLS であり、ネットワーク上の所定のパスに沿って IP パケットの流れを誘導する役割を担っています。このパスは LSP(ラベルスイッチ パス)と呼ばれます。LSP は単方向です。つまり、トラフィックは、ヘッドエンド(イングレス)ルーダーからテールエンド(エグレス)ルーダーに向かって一方向に流れます。二重トラフィックには 2 つの LSP が必要です。各方向にトラフィックを伝送する 1 つの LSP。LSP は、1 つ以上のラベルスイッチ ホップを連結して作成され、パケットを MPLS ドメイン内のあるルーターから別のルーターに転送できるようにします。
イングレス ルーターが IP パケットを受信すると、MPLS ヘッダーがパケットに追加され、LSP の次のルーターに転送します。ラベル付きパケットは、LSP のテールエンドであるエグレス ルーターに到達するまで、各ルーターによって LSP に沿って転送されます。この時点で、MPLS ヘッダーが削除され、パケットは IP 宛先アドレスなどのレイヤー 3 情報に基づいて転送されます。この方式の価値は、LSP の物理パスが、IGP が宛先 IP アドレスに到達する最短パスとして選択するものに限定されないということです。
ラベル スワップに基づくパケット転送
各ルーターのパケット転送プロセスは、ラベル スタップの概念に基づいています。この概念は、PVC(恒久仮想回線)の各 ATM(非同期転送モード)で発生するものと同じです。各 MPLS パケットは、20 ビットの固定長のラベル フィールドが含まれる 4 バイト カプセル化ヘッダーを伝送します。ラベルを含むパケットがルーターに到着すると、ルーターはラベルを検査し、MPLS 転送テーブルにインデックスとしてコピーします。転送テーブルの各エントリには,同じインバウンド ラベルがある特定のインタフェースに到着するすべてのパケットに適用される転送情報のセットにマッピングされたインタフェース インバウンド ラベルのペアが含まれています。
どのようにパケットが MPLS バックボーンを通過するか
このセクションでは、MPLS バックボーン ネットワークを通過する際に IP パケットがどのように処理されるかについて説明します。
MPLS バックボーンの入り口エッジでは、IP ヘッダーがイングレス ルーターによって検討されます。この分析に基づいて、パケットは分類され、ラベルが割り当てられ、MPLS ヘッダーでカプセル化され、LSP のネクスト ホップに向けて転送されます。MPLS は、IP パケットを LSP に割り当てできるように、高い柔軟性を提供します。たとえば、Junos トラフィック制御の実装では、イングレス ルーターに到着したパケットのうち、同じイグレス ルーターの MPLS ドメインから出るはずのパケットはすべて、同じ LSP に沿って転送されます。
パケットが LSP を通過し始めると、各ルーターはラベルを使用して、転送を決定します。MPLS 転送決定は、元の IP ヘッダーから独立して行われます。受信インターフェイスとラベルは、MPLS 転送テーブル内の検索キーとして使用されます。古いラベルは新しいラベルに置き換えられ、パケットは LSP に沿ってネクスト ホップに転送されます。このプロセスは、パケットがエグレス ルーターに到達するまで LSP の各ルーターで繰り返されます。
パケットがエグレス ルーターに到着すると、ラベルが削除され、パケットが MPLS ドメインを出ます。その後、パケットは、パケットの元の IP ヘッダーに含まれる宛先 IP アドレスに基づいて、IP ルーティング プロトコルが計算する従来の最短パスに従って転送されます。
情報配信コンポーネント
トラフィック制御には、ネットワーク トポロジーに関する詳細な知識に加え、ネットワーク負荷に関する動的情報が必要です。情報配布コンポーネントを実装するため、IGP のシンプルな拡張が定義されます。リンク属性は、各ルーターのリンク状態アドバタイズの一部として含まれています。IS-IS 拡張には新しい TLV(type length value)の定義が含まれ、OSPF 拡張は不透明な LSA(リンク状態アドバタイズ)で実装されます。リンク状態 IGP が使用する標準フラッティング アルゴリズムは、リンク属性がルーティング ドメイン内のすべてのルーターに分散されるようにします。IGP リンク状態アドバタイズに追加されるトラフィック エンジニアリング拡張には、最大予約済みリンク帯域、現在の帯域予約、リンクカラーリングなどがあります。
各ルーターは、ネットワーク リンク属性とトポロジー情報を専用のトラフィック制御データベースで保守しています。トラフィック制御データベースは、物理トポロジーを横断する LSP の配置のための明示的なパスの計算にのみ使用されます。以降のトラフィック制御計算は、IGP および IGP のリンク状態データベースから独立するように、別のデータベースが維持されます。一方、IGP は変更なく動作を継続し、ルーターのリンク状態データベースに含まれる情報に基づき従来の最短パス計算を行います。
パス選択コンポーネント
IGP によってネットワーク リンク属性とトポロジー情報がフラッドされ、トラフィック制御データベースに保存された後、各イングレス ルーターはトラフィック制御データベースを使用してルーティング ドメイン全体の LSP の独自のセットに対するパスを計算します。各 LSP のパスは、ストリクトまたはルーズ ルートによって表すことができます。明示的なルートは、LSP の物理パスの一部であるべき事前に設定されたルーターのシーケンスです。イングレス ルーターが LSP のすべてのルーターを指定した場合、LSP は明示的ストリクト ルートによって識別されると言われます。イングレス ルーターが LSP の一部のルーターのみを指定した場合、LSP は明示的なルーズ ルートと言われます。明示的なストリクトおよびルーズ ルートのサポートによって、パス選択プロセスは可能な限り広い自由度が与えられますが、必要に応じて制限されます。
イングレス ルーターは、トラフィック制御データベース内の情報に制限付き最短パス ファースト(CSPF)アルゴリズムを適用して、各 LSP の物理パスを決定します。CSPF は、ネットワーク全体の最短パスが計算される場合に、特定の制限を考慮するために変更された最短パスファースト アルゴリズです。CSPF アルゴリズムへの入力には以下が含まれます。
IGP から学習し、トラフィック制御データベースで保守されるトポロジー リンク状態情報
IGP 拡張によって伝送され、トラフィック制御データベースに保存される、ネットワーク リソースの状態に関連する属性(総リンク帯域幅、予約済みリンク帯域、利用可能なリンク帯域幅、リンク カラーなど)。
提案された LSP を通過するトラフィックをサポートするために必要であり、ユーザ設定から取得される管理属性(帯域幅要件、最大ホップ数、管理ポリシー要件など)
CSPF は新しい LSP の各候補ノードとリンクを検討する際、リソースの可用性や、コンポーネントの選択がユーザー ポリシー制約に違反するかどうかに基づいて、特定のパス コンポーネントを受け入れるか拒否するかを決定します。CSPF 計算の出力は、制約を満たすネットワークを通る最短パスを提供するルーター アドレスのシーケンスで構成される明示的なパスです。この明示的なルートは、シグナリング コンポーネントに渡され、LSP に沿ってルーターで転送状態を確立します。
シグナリング コンポーネント
シグナリング コンポーネントによって実際に確立されるまで、LSP は実行可能であることは認識されません。LSP 状態の確立とラベルの配布を担当するシグナリング コンポーネントは、RSVP の多くの拡張に依存しています。
明示的なルート オブジェクトにより、RSVP パス メッセージは従来の最短パス IP ルーティングから独立した明示的なルーターを通過できます。明示的なルートは、ストリクトまたはルーズとなります。
ラベル リクエスト オブジェクトは、中間ルーターが確立する LSP のラベル バインディングを提供することを要求する RSVP パス メッセージを許可します。
ラベル オブジェクトにより、RSVP は既存のメカニズムを変更することなく、ラベルの配布をサポートできます。RSVP Resv メッセージは、RSVP パス メッセージのリバース パスに従うため、ラベル オブジェクトはダウンストリーム ノードからアップストリーム ノードへのラベルの配布をサポートします。
オフライン パス計画と分析
オンライン パス計算によって管理の手間は軽減されますが、グローバルにトラフィック制御を最適化するには、オフライン計画と分析ツールが必要です。オンライン計算では、リソースの制約を考慮して、1 つずつ LSP を計算します。このアプローチの課題は決定論的ではない点です。LSP が計算される順序は、ネットワーク全体に各 LSP 物理パスを決定する上で極めて重要な役割を果たします。プロセスの早い段階で計算された LSP は、先に計算された LSP ほどネットワーク リソースを消費するため、プロセスの後の段階で計算された LSP よりも多くのリソースを利用できます。LSP 計算の順序が変更された場合、結果として得られる一連の LSP の物理パスも変わる場合があります。
オフライン計画と分析ツールは、各リンクのリソースの制約と各 LSP の要件を同時に検討します。オフライン アプローチは完了までに数時間かかる可能性がありますが、グローバル計算を実行し、各計算の結果を比較し、ネットワーク全体に最適なソリューションを選択します。オフライン計算の出力は、ネットワーク リソースの使用を最適化する一連の LSP です。オフライン計算を完了すると、グローバルに最適化されたソリューションのルールに従って、それぞれがインストールされるため、LSP を任意の順序で確立できます。
柔軟な LSP 計算と設定
トラフィック制御では、トラフィックフローを物理的なトポロジーにマッピングすることになります。制約ベースルーティングを使用して、オンラインでパスを決定できます。物理パスを計算する方法に関係なく、RSVP を介してネットワーク全体に転送状態がインストールされます。
Junos OS では、LSP をルーティングして設定する方法として、以下の方法をサポートしています。
オフラインで LSP のフルパスを計算し、必要な静的転送状態を LSP 内の各ルーターに個別に設定できます。これは、一部のインターネットサービスプロバイダ(ISP)が、IP-over-ATM コアを設定する方法と類似しています。
オフラインで LSP のフルパスを計算し、そのフルパスを使ってイングレスルーターを静的に設定できます。その後、イングレスルーターは、動的な信号プロトコルとして RSVP を使用し、LSP に沿って各ルーターに転送状態をインストールします。
制約ベースルーティングを利用して、動的なオンライン LSP 計算を行うことができます。LSP ごとに制約条件を設定し、ネットワーク自体がその制約条件を満たす最適なパスを決定します。具体的には、イングレスルーターは、制約条件に基づいて LSP 全体を計算し、ネットワーク上でシグナリングを開始します。
LSP の部分的なパスをオフラインで計算し、パス内のルーターのサブセットでイングレスルーターを静的に設定した後、オンライン計算を許可して完全なパスを決定することができます。
例えば、アメリカを横断する 2 本の東西パスを含むトポロジーがあるとします。北はシカゴ、南はダラスを経由します。ニューヨークのルーターとサンフランシスコのルーターの間に LSP を確立したい場合、LSP の一部分のパスに、ダラスのルーターの 1 つのルースルートホップを含めるように設定することができます。その結果、南のパスに沿ってルーティングされた LSP が生成されます。イングレスルーターは、CSPF を使用して完全なパスを計算し、RSVP を使用して LSP に沿って転送状態をインストールします。
いかなる制約もなく、イングレスルーターを設定することができます。この場合、LSP のパス決定には、通常の IGP 最短経路ルーティングが使用されます。この設定は、トラフィック制御に関しては役に立ちません。しかし、この設定は簡単にできるので、仮想プライベートネットワーク(VPN)などのサービスが必要な場面では、役に立つかもしれません。
これらの場合、プライマリ LSP のバックアップとして任意の数の LSP を指定することができるため、複数の設定方法を組み合わせることができます。例えば、プライマリパスをオフラインで明示的に計算し、セカンダリパスを制約ベースに設定し、第 3 のパスを制約なしにすることができます。プライマリ LSP がルーティングされている回線に障害が発生した場合、イングレスルーターは、ダウンストリームルーターから受信したエラー通知や、RSVP ソフトステート情報の失効によって障害を認識します。その後、ルーターは、ホットスタンバイ LSP にトラフィックを動的に転送するか、RSVP を呼び出して、新しいバックアップ LSP の転送状態を作成します。
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 によるリンク状態配信を有効にするには
BGPクラスフルトランスポートプレーン概要
- BGPクラスフルトランスポートプレーンのメリット
- BGPクラスフルトランスポートプレーンの用語
- BGPクラスフルトランスポートプレーンを理解する
- BGPクラスフルトランスポートプレーンのAS内実装
- BGPクラスフルトランスポートプレーンのAS間実装
- 基盤となるカラー付きのSR-TEトンネルを備えたBGPクラスフルトランスポート(BGP-CT)の概要
- 基盤となるカラー付きのSR-TEトンネルを備えたBGP-CTのメリット
BGPクラスフルトランスポートプレーンのメリット
-
ネットワークスライシング - サービス層とトランスポート層はお互いと分離されており、複数のドメインにまたがったエンドツーエンドのスライシングによって、ネットワークスライシングと仮想化の基盤が築かれているため、CAPEXが大幅に削減されます。
- ドメイン間の相互運用性 - 各ドメイン内の異なるトランスポートシグナリングプロトコルが相互運用されるように、連携するドメイン全体にトランスポートクラスの導入を拡張します。各ドメインで使用される可能性のある、拡張コミュニティ名前空間に差異があれば調整します。
-
フォールバックを備えた色付き解決 - ベストエフォートトンネルやその他の色付きトンネ ルを介した柔軟なフォールバックオプションで、色付きトンネ ル(RSVP、IS-IS柔軟アルゴリズム)での解決を有効にします。
- サービスの品質 - エンドツーエンドのSLA要件を達成するために、ネットワークをカスタマーズし、最適化します。
- 既存の導入を活用 - IS-ISフレキシブルアルゴリズムなどの新しいプロトコルに加え、RSVPなどのよく導入されるトンネリングプロトコルもサポートしており、ROIを維持しながらOPEXを削減します。
BGPクラスフルトランスポートプレーンの用語
このセクションでは、BGPクラスフルトランスポートプレーンを理解するにあたり、よく使用される用語について簡潔に説明しています。
-
サービスノード - サービスルート(インターネットおよびレイヤー3 VPN)を送受信するイングレスプロバイダーエッジ(PE)装置。
-
ボーダーノード - 異なるドメイン(IGPエリアまたは AS)の接続ポイントにある装置。
-
トランスポートノード - BGPラベル付きユニキャスト(LU)ルートを送受信する装置。
-
BGP-VPN - RFC4364の仕組みを使用して構築されたVPN。
-
ルートターゲット(RT) - VPNメンバーシップを定義するために使用される拡張コミュニティのタイプ。
-
ルート識別子(RD) - どのVPNまたは仮想プライベートLANサービス(VPLS)にルートが属しているのかを区別するための識別子。各ルーティングインスタンスには、それに関連付けられた固有のルート識別がなければなりません。
- 解決スキーム - フォールバックを提供する解決RIBで、プロトコルネクストホップアドレス(PNH)を解決するために使用されます。
マッピングコミュニティに基づいて、ルートをシステム内の異なるトランスポートRIBにマップします。
-
サービスファミリー - データトラフィックのアドバタイズルートに使用するBGPアドレスファミリーで、トンネルとは異なります。
-
トランスポートファミリー - アドバタイズトンネルに使用されるBGPアドレスファミリーで、ここでは解決のためにサービスルートが使用します。
-
トランスポートトンネル - GRE、UDP、LDP、RSVP、SR-TE、BGP-LUなどのトラフィックを、サービスが配置する可能性のあるトンネル。
-
トンネルドメイン - 間にトンネルを持つ、単一の管理制御下にあるサービスノードとボーダーノードを含むネットワークのドメイン。隣接する複数のトンネルドメインにまたがるエンドツーエンドのトンネルは、ラベルを使用してノードをステッチングすることで作成できます。
-
トランスポートクラス - 同じサービスの種類を提供するトランスポートトンネルのグループ。
トランスポートクラスRT - 特定のトランスポートクラスを特定するために使用する、ルートターゲットの新しい形式。
特定のトランスポートクラスを特定するために使用する、ルートターゲットの新しい形式。-
トランスポートRIB - サービスノードおよびボーダーノードでは、トランスポートクラスにはそのトンネルルートを持つ関連トランスポートRIBが含まれます。
-
トランスポートRTI - ルーティングインスタンス。トランスポートRIBのコンテナ、および関連するトランスポートクラスのルートターゲットとルート識別素。
-
トランスポートプレーン - 同じトランスポートクラスRTIをインポートするトランスポートRTのセット。これらが、Inter-AS option-bに類似したメカニズムを使用してトンネルドメイン境界をまたいて繋がり、境界ノード(ネクストホップ自体)でラベルが交換され、エンドツーエンドのトランスポートプレーンが形成されます。
-
マッピングコミュニティ - トランスポートクラス上の解決にマッピングされる、サービスルート上のコミュニティ。
BGPクラスフルトランスポートプレーンを理解する
BGPクラスフルトランスポートプレーンを使用して、トラフィック制御の特性に基づいてAS内ネットワークの一連のトランスポートトンネルを分類するためのトランスポートクラスを設定し、これらのトランスポートトンネルを使用して、望ましいSLAと意図したフォールバックが得られるサービスルートにマッピングすることができます。
BGPクラスフルトランスポートプレーンは、トランスポートクラスを維持したままで、これらのトンネルを複数のドメイン(ASまたはIGP領域)にまたがるドメイン間ネットワークに拡張することができます。そのためには、ボーダーノードとサービスノードの間にBGPクラスフルトランスポート層BGPファミリーを設定する必要があります。
AS間およびAS内の実装では、サービスノードとボーダーノードから数多くのトランスポートトンネル(MPLS LSP、IS-ISフレキシブルアルゴリズム、SR-TE)が作成されている場合があります。LSPが、異なるドメインの別のシグナリングプロトコルを使用して信号を送信していることもあり、異なるトラフィック制御の特性(クラスまたはカラー)で構成されていることもあります。また、トランスポートトンネルのエンドポイントは、サービスエンドポイントとしても機能しており、サービスイングレスノードと同じトンネルドメインに存在することも、隣接したドメインあるいは隣接していないドメインに存在することもあります。BGPクラスフルトランスポートプレーンを使用することで、単一ドメイン内または複数のドメインにわたって、特定のトラフィック制御の特性を持つLSPを介してサービスを解決することができます。
BGPクラスフルトランスポートプレーンはBGP-VPN技術を再利用することで、トンネリングドメインの弱連結を保ちながら調整しつづけます。
- ネットワーネットワーク層の到達可能性情報(NLRI)は、パスハイディングに使用されるRD:TunnelEndpointです。
- ルートターゲットはLSPのトランスポートクラスを示しており、送信先デバイス上の対応するトランスポートRIBにルートをリークします。
- すべてのトランスポートトンネリングプロトコルは、transport-class.inet.3ルーティングテーブルにイングレスルートをインストールし、トンネルトランスポートクラスをVPNルートターゲットとしてモデル化し、同じトランスポートクラスのLSPをtransport-class.inet.3 transport-ribルーティングテーブルに収集します。
-
このルーティングインスタンスのルートは、RFC-4364と同様の手順でBGPクラスフルトランスポートプレーン(inet transport)AFI-SAFIにアドバタイズされます。
-
AS間リンクの境界を越える場合は、Option-bの手順に従って、これらの隣接するドメインにあるトランスポートトンネルをステッチする必要があります。
同様に、AS内領域を超える場合は、Option-bの手順に従って、異なるTEドメインにあるトランスポートトンネルをステッチする必要があります。
-
解決スキームを定義することで、様々なトランスポートクラスに対するインテントを、フォールバック順に指定することができます。
- これらのトランスポートクラスと共にマッピングコミュニティを送信することで、トランスポートクラスを介してサービスルートやBGPクラスフルトランスポートルートを解決することができます。
BGPクラスフルトランスポートファミリーは、BGP-LUトランスポート層ファミリーと並行して動作します。BGP-LUを実行するシームレスなMPLSネットワークでは、トンネルのトラフィック制御の特性が不明となるか、ドメイン境界を越えて保存されないため、5Gの厳格なSLA要件を満たすことが課題となります。BGPクラスフルトランスポートプレーンは、シームレスなMPLSアーキテクチャにおいて、トランスポートクラス情報とともにリモートループバック用の複数のパスをアドバタイズできる、運用上容易かつスケーラブルな手段となります。BGPクラスフルトランスポートファミリールートでは、異なるSLAルートはトランスポートクラスカラーを送信するトランスポートルートターゲット拡張コミュニティを使用して表現されます。このトランスポートルートターゲットは、BGPクラスフルトランスポートルートを適切なトランスポートクラスに関連付けるために、受信側BGPルーターが使用します。BGPクラスフルトランスポートルートを再アドバタイズすると、MPLSはルートを入れ替え、同じトランスポートクラスのAS内トンネルを相互接続することで、トランスポートクラスを保持したエンドツーエンドのトンネルを形成します。
BGPクラスフルトランスポートプレーンのAS内実装
図 4AS内領域にBGPクラスフルトランスポートプレーンを実装する前と後のネットワークトポロジーを示しています。PE11およびPE12デバイスはトランスポートトンネルとしてRSVP LSPを使用しており、すべてのトランスポートトンネルルートはinet.3 RIBにインストールされています。BGPクラスフルトランスポートプレーンを実装することで、セグメントルーティングトンネルと同様に、RSVPトランスポートトンネルがカラーを認識するようになります。
AS内設定で、トランスポートトンネルをBGPトランスポートクラスに分類するには、
- サービスノード(イングレスPEデバイス)で、ゴールドやブロンズなどのトランスポートクラスを定義し、定義されたトランスポートクラスに対してカラーコミュニティ値を割り当てます。
構成例:
pe11# show routing-options route-distinguisher-id 172.16.1.1; transport-class { name gold { color 100; } name bronze { color 200;
- トンネルのイングレスノードで、トランスポートトンネルを特定のトランスポートクラスに関連付けます。
構成例:
pe11# show protocols mpls label-switched-path toPE12-bronze { transport-class bronze; } label-switched-path toPE12-gold { transport-class gold; }
AS内BGPクラスフルトランスポートプレーンの機能:
- BGPクラスフルトランスポートは、各々の名前付きトランスポートクラス(ゴールドおよびブロンズ)に対してあらかじめ定義済みのトランスポートRIBを作成し、そのカラー値(100および200)からマッピングコミュニティを自動的に導き出します。
- トランスポートクラスと関連づけられたときに、AS内トランスポートルートがトンネリングプロトコルによってトランスポートRIBに入力されます。
この例では、トランスポートクラスゴールド(カラー100)とトランスポートクラスブロンズ(カラー200)に関連付けられたRSVP LSPルートが、それぞれトランスポートRIBのjunos-rti-tc-<100>.inet.3およびjunos-rti-tc-<200>.inet.3にインストールされています。
- サービスノード(イングレスPE)は、サービスルートの拡張カラーコミュニティ(color:0:100とcolor:0:200)を定義済みの解決RIBのマッピングコミュニティと照合し、対応するトランスポートRIB(junos-rti-tc-<100>.inet.3、または junos-rti-tc-<200>.inet.3 )のプロトコルネクストホップ(PNH)を解決します。
- BGPルートは、関連付けられたマッピングコミュニティを送信することで、解決スキームにバインドします。
- 各トランスポートクラスは、事前に定義済みの解決スキームを自動的に2つ作成し、マッピングコミュニティを自動的に導き出します。
解決スキームのうちの1つは、Color:0<val>をマッピングコミュニティとして使用するサービスルートを解決するためのものです。
もう1つの解決スキームは、Transport-Target:0:<val>をマッピングコミュニティとして使用するトランスポートルートを解決するためのものです。
- サービスルートPNHを、事前に定義済みの解決スキームにリストされたRIBを使用して解決できない場合は、inet.3ルーティングテーブルにフォールバックすることができます。
- また、[edit routing-options resolution scheme]設定階層下にあるユーザー定義の解決スキームを使用することでも、異なる色のトランスポートRIB間のフォールバックを設定することができます。
BGPクラスフルトランスポートプレーンのAS間実装
AS間ネットワークでは、BGP-LUは、すべてのサービスノードまたはPEデバイスとボーダーノード(ABRおびASBR)に対して最低でも2つのトランスポートクラス(ゴールドおよびブロンズ)を設定した後に、BGPクラスフルトランスポートネットワークに変換されます。
トランスポートトンネルをBGPクラスフルトランスポートに変換するには、
- サービスノード(イングレスPEデバイス)とボーダーノード(ABRおよびASBR)で、ゴールドやブロンドなどとしてトランスポートクラスを定義します。
構成例:
pe11# show routing-options route-distinguisher-id 172.16.1.1; transport-class { name gold { color 100; } name bronze { color 200;
- トランスポートトンネルを、トンネルのイングレスノード(イングレスPE、ABR、ASBR)で特定のトランスポートクラスに関連付けます。
構成例:
RSVP LSPの場合
abr23# show protocols mpls label-switched-path toASBR21-bronze { transport-class bronze; } label-switched-path toASBR22-gold { transport-class gold;
IS-ISフレキシブルアルゴリズムの場合
asbr13# show routing-options flex-algorithm 128 { … color 100; use-transport-class; } flex-algorithm 129 { … color 200; use-transport-class; }
- ネットワーク内のBGPクラスフルトランスポート(inet transport)とBGP-LU(inet labeled-unicast)の新しいファミリを有効にします。
構成例:
abr23# show protocols bgp group toAs2-RR27 { family inet { labeled-unicast { … } transport { … } cluster 172.16.2.3; neighbor 172.16.2.7; }
- エグレスPEデバイスからのサービスルートを、適切な拡張カラーコミュニティでアドバタイズします。
構成例:
pe11# show policy-options policy-statement red term 1 { from { route-filter 192.168.3.3/32 exact; } then { community add map2gold; next-hop self; accept; } } term 2 { from { route-filter 192.168.33.33/32 exact; } then { community add map2bronze; next-hop self; accept; } } community map2bronze members color:0:200; community map2gold members color:0:100;
AS間BGPクラスフルトランスポートプレーンの機能:
- BGPクラスフルトランスポートプレーンは、各々の名前付きトランスポートクラス(ゴールドおよびブロンズ)に対して事前に定義されたトランスポートRIBを作成し、そのカラー値から、マッピングコミュニティを自動的に導き出します。
-
トランスポートクラスと関連づけられたときに、AS内トランスポートルートがトンネリングプロトコルによってトランスポートRIBに入力されます。
例えば、トランスポートクラスのゴールドとブロンズに関連付けれられたトランスポートトンネルルートは、それぞれトランスポートRIBのjunos-rti-tc-2<100>.inet.3とjunos-rti-tc-4<200>.inet.3にインストールされます。
- BGPクラスフルトランスポートプレーンは、各々のトランスポートRIBからbgp.transport.3ルーティングテーブルにトランスポートトンネルルートをコピーするときに、一意のルート識別素とルートターゲットを使用します。
- ボーダーノードは、BGPセッションでファミリーinetトランスポートがネゴシエートされている場合、bgp.transport.3ルーティングテーブルからのルートを他のドメインのピアにアドバタイズします。
- 受信側のボーダーノードは、これらのbgp-ctルートをbgp.transport.3ルーティングテーブルにインストールし、トランスポートルートターゲットに基づいて、これらのルートを適切なトランスポートRIBにコピーします。
- サービスノードは、サービスルート内のカラーコミュニティと解決スキーム内のマッピングコミュニティを照合し、対応するトランスポートRIB(junos-rti-tc-2<100>.inet.3またはjunos-rti-tc-4<200>.inet.3)内にあるPNHを解決します。
- ボーダーノードは、トランスポートルートPNHを解決するにあたり、事前に定義された解決スキームを使用します。
- 事前に定義された解決スキームであれ、ユーザーが定義した解決スキームであれ、どちらの解決スキームもサービスルートPNH解決をサポートします。事前に定義された解決スキームではinet.3をフォールバックとして使用し、ユーザーが定義した解決スキームでは、トランスポートRIBのリストをPNHを解決する際に指定した順序で使用することができます。
- サービスルートPNHをユーザーが定義した解決スキームにリストされているRIBを使用して解決できない場合、ルートは破棄されます。
基盤となるカラー付きのSR-TEトンネルを備えたBGPクラスフルトランスポート(BGP-CT)の概要
基盤となるカラー付きのSR-TEトンネルを備えたBGP-CTのメリット
- 将来、ネットワークの拡大に伴い発生する可能性のある、拡張上の問題を解決します。
- 異なる技術を使用するドメイン間で、相互接続性が得られます。
- サービスとトランスポート層を切り離すことで、完全に分散されたネットワークを実現します。
- SR-TE用のドメイン内トラフィック制御コントローラーを通して、独立した帯域管理を提供します。
絶えず成長し進化し続ける大規模なネットワークには、シームレスなセグメントルーティングアーキテクチャが必要です。Junos OSリリース21.2,R1以降では、カラー付きSR-TEトンネルを基盤トランスポートとしたBGP-CTをサポートしています。BGP-CTでは、トランスポートRIBを使用してサービスルートを解決し、ネクストホップを計算することができます。現在BGP-CTでサポートされているサービスも、ルート解決のために基盤となるSR-TEカラー付きトンネルを使用することができます。サービスでは、静的なカラー付きトンネルやBGP SR-TE、プログラム可能なrpd、PCEPカラー付きトンネルなどの基盤となるSR-TEカラー付きトンネルを使用できるようになりました。BGP-CTは、ネクストホップの到達可能性を利用して、目的のトランスポートクラス上のサービスルートを解決します。
基礎となるSR-TEカラー付きトンネル上でBGP-CTサービスのルート解決を有効にするには、[edit protocols source-packet-routing]
階層レベルにuse-transport-class
ステートメントを含めます。
use-transport-class
ステートメントを[edit protocols source-packet-routing]
階層レベルで有効にします。[edit routing-options transport-class]
階層レベルでauto-create
ステートメントも使用します。use-transport-class
を備えたカラー付きSR-TEのRIBグループと、この機能を備えたカラーのみのSR-TEトンネルはサポートされていません。
RSVP PathErr メッセージによるトラフィック制御データベースの精度向上
RSVPベースのトラフィック制御に欠かせないのが、トラフィック制御データベースです。トラフィック制御データベースには、トラフィック制御に参加しているすべてのネットワーク ノードとリンクの完全なリストと、それらのリンクのそれぞれが保持できる属性のセットが含まれています。(トラフィック制御データベースの詳細については、Constrained-Path LSP Computationを参照してください)。最も重要なリンク属性の一つは、帯域幅です。
RSVP LSP の確立と終了に伴い、リンクの帯域幅が急速に変化します。トラフィック制御データベースには、実際のネットワークとの間に不一致が生じる可能性があります。このような不一致は、IGP の更新レートを上げても修正できません。
リンクの可用性は、同じ不一致の問題を共有することができます。リンクが利用できなくなった場合、既存の RSVP LSP はすべて壊れます。しかし、その可用性はネットワークでも容易に知ることがないかもしれません。
rsvp-error-hold-time
ステートメントを設定すると、ソース ノード( RSVP LSP のイングレス)は、ダウンストリーム ノードから送信される PathErr メッセージを監視することで、その LSP の障害を学習します。PathErr メッセージからの情報は、後続の LSP 計算に組み込まれ、LSP 設定の精度と速度を向上させること できます。一部の PathErr メッセージは、トラフィック制御データベースの帯域幅情報を更新するためにも使用され、トラフィック制御データベースとネットワーク間の不一致を軽減します。
IGP の更新頻度は、update-threshold
ステートメントを使って制御できます。インターフェイスでの RSVP 更新閾値の設定を参照してください。
このセクションでは、以下のトピックについて説明します。
PathErrメッセージ
PathErr メッセージは、異なるコード番号やサブコード番号によってさまざまな問題を報告します。これらの PathErr メッセージの完全なリストは、RFC 2205 の RSVP ( Resource Reservation Protocol )、Version 1、Functional Specification および RFC 3209、RSVP-TE に記載されています。LSP Tunnels 向けの RSVPへの拡張。
ステートrsvp-error-hold-time
メントを設定すると、特にリンク障害を表す PathErr メッセージの 2 つのカテゴリーが調べられます。
この LSP のリンク帯域幅は低いです。要求された帯域幅は利用できません。コード 1、サブコード 2
このタイプの PathErr メッセージは、リンクを送信するすべての LSP に影響を与えるグローバルな問題を表しています。これらの情報は、実際のリンク帯域幅が LSP で必要とされる帯域幅よりも低く、トラフィック制御データベースの帯域幅情報が過大評価されている可能性があることを示しています。
このタイプのエラーを受信すると、ローカル トラフィック制御データベースで利用可能なリンク帯域幅が減少し、今後のすべての LSP 計算に影響を与えます。
この LSP ではリンクは利用できません。
アドミッション コントロール、障害。コード 1、2 以外のサブコード
ポリシー コントロール、障害。コード 2
サービス プリエンプション。コード 12
ルーティング問題。宛先へのルートは利用できません。コード 24、サブコード 5
これらのタイプの PathErr メッセージは、通常指定された LSP に関連しています。この LSP の障害は、必ずしも他の LSP も障害が発生する可能性があることを意味するものではありません。これらのエラーは、MTU (最大転送単位)の問題、サービス プリエンプション(オペレータが手動で開始したものや、より高い優先度を持つ別の LSP によるもの)、ネクストホップ リンクのダウン、ネクストホップ ネイバーのダウン、ポリシー上の理由によるサービスの拒否などを示します。この特定の LSP をリンクから離してルーティングのが最適です。
問題のリンクの特定
PathErr メッセージには、送信者の IP アドレスが含まれています。この情報は、イングレス ルーターに向けて変更されずに伝送されます。トラフィック制御データベース内の検索により、PathErr メッセージを発信したノードを特定できます。
PathErr メッセージには、そのメッセージを起動した RSVP セッションを特定するのに十分な情報が含まれています。これがトランジット ルーターの場合は、メッセージを転送するだけです。このルーターが(この RSVP セッションの)イングレス ルーターの場合、セッションが通過すべきすべてのノードとリンクの完全なリストを持っています。発信元のノード情報と組み合わせることで、リンクを一意に特定することができます。
トラトラフィック制御データベース精度を向上させるルーターの設定
トラフィック制御データベース精度を向上せるには、rsvp-error-hold-time
ステートメントを設定します。ステートメントを設定すると、ソース ノード( RSVP LSP のイングレス)は、ダウンストリーム ノードから送信される PathErr メッセージを監視することで、その LSP の障害を学習します。PathErr メッセージからの情報は、後続の LSP 計算に組み込まれ、LSP 設定の精度と速度を向上させること できます。一部の PathErr メッセージは、トラフィック制御データベースの帯域幅情報を更新するためにも使用され、トラフィック制御データベースとネットワーク間の不一致を軽減します。
RSVP PathErr メッセージを記憶する MPLS 期間を設定し、CSPF 計算でその方法を検討するには、以下のrsvp-error-hold-time
ステートメントを使用します。
rsvp-error-hold-time seconds;
以下の階層レベルでこのステートメントを使用することができます。
[edit protocols mpls]
[edit logical-systems logical-system-name protocols mpls]
時間は、1~240秒の値を指定することができます。デフォルトは25秒です。値 0 を設定すると、PathErr メッセージの監視を無効にします。
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer をご利用ください。