このページの内容
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は、手動で作成することも、シグナリングプロトコルを使用して作成することもできます。シグナリングプロトコルは、トランジットネットワークを通過するトラフィックのLSPを確立するために、MPLS環境内で使用されます。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ビットマスク)がingressルーターにインストールされ、egressルーターに向かってインストールされます。ホストルートのアドレスが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ルーティングテーブルに移動されます。
ingressルーターに、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 の場合は、traffic-engineering ステートメントの bgp-igp-both-ribs オプションを設定して、BGP と IGP がエグレスルーター宛ての転送トラフィックに LSP を使用するようにします。bgp-igp-both-ribsオプションは、inet.0 ルーティングテーブル(IPv4 ユニキャストルート用)と inet.3 ルーティングテーブル(MPLSパス情報用)の両方にイングレスルートをインストールします。
ingressルーターには、 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またはbgp-igp-both-ribsオプションを設定すると、優先度の高い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 ルートをアドバタイズしないように防止できます。一方、bgp-igp-both-ribsオプションではなくmpls-forwardingオプションを使用すると、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エリア内で明示的なルートオブジェクト(ERO)の計算にCSPFを使用して、ルーズホップのエリアボーダールーター(ABR)がingressルーターに設定されている場合、エリア間のトラフィックエンジニアリングを有効にすることができます。ABR で ERO 拡張が完了します。
CSPF を有効にすると、エリア間のトラフィック制御は有効にできますが、ingressルーターの 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の設定」を参照してください。
LSP上に静的に定義されたASBRがなければ、あるルーティングドメイン(AS)と別のルーティングドメインとの間でトラフィックエンジニアリングは不可能です。しかし、AS が単一のサービスプロバイダの管理下にある場合、トラフィックエンジニアリングされた LSP が AS をまたぎ、それらをリンクしている OSPF ASBR を動的に検出できる場合があります(この機能では IS-IS はサポートされません)。
AS間トラフィックエンジニアリングLSPは、特定のネットワーク要件を満たし、制限条件に該当せず、OSPFパッシブモードがEBGPで設定されていれば可能です。詳細は次項で説明します。
AS間トラフィックエンジニアリング要件
AS間トラフィックエンジニアリングLSPの適切な確立と機能は、以下のネットワーク要件に依存し、これらはすべて満たされなければならない。
すべてのASは、単一のサービスプロバイダの管理下にあります。
各AS内のルーティングプロトコルはOSPFを使用し、AS間のルーティングプロトコルはEBGPが使用されます。
ASBR情報は、各AS内部で確認できます。
EBGPの経路情報はOSPFで配信され、各AS内ではIBGPフルメッシュが実現されています。
トランジットLSPはAS間リンクには設定 されず 、各ASの入口点ASBRと出口点ASBRの間に設定 されます 。
異なるASのASBR間のEBGPリンクはダイレクトリンクであり、OSPFの下でパッシブトラフィックエンジニアリングリンクとして設定する必要があります。このパッシブリンクのリモートノード識別子には、ループバックや他のリンクアドレスではなく、リモートリンクアドレスそのものが使用されます。OSPFパッシブトラフィックエンジニアリングモードの設定の詳細については、 OSPFパッシブTEモードの設定を参照してください。
また、OSPFパッシブトラフィックエンジニアリングリンクのリモートノードに使用するアドレスは、EBGPリンクに使用するアドレスと同じである必要があります。OSPFとBGP全般については、 ルーティングデバイス用Junos OSルーティングプロトコルライブラリを参照してください。
AS間トラフィックエンジニアリングの制限
LSP階層化(ネスト化)シグナリングのみが、AS間トラフィックエンジニアリング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間トラフィックエンジニアリングではサポートされていません。
管理者グループのリンクカラーには対応していません。
セカンダリスタンバイはサポートされていません。
再最適化には対応していません。
トランジットルーターでのクランクバックはサポートされていません。
多様なパス計算には対応していません。
グレースフル リスタートはサポートされていません。
AS間トラフィックエンジニアリングLSPの制限またはサポートされていない機能の一覧は、すべてを網羅しているわけではありません。
OSPF パッシブ TE モードの設定
通常、OSPFなどの内部ルーティングプロトコルは、AS間のリンクでは実行されません。ただし、AS間トラフィックエンジニアリングが適切に機能するためには、AS間リンクに関する情報、特にリモートインターフェイスのアドレスがAS内部で利用できるようにする必要があります。この情報は通常、EBGP 到達可能性メッセージにも OSPF ルーティング アドバタイズにも含まれません。
このリンクアドレス情報をAS内でフラッディングし、トラフィックエンジニアリングの計算に利用できるようにするには、各AS間インターフェイスでトラフィックエンジニアリング用のOSPFパッシブモードを設定する必要があります。また、OSPFが配信し、トラフィックエンジニアリングデータベースに含めるためのリモートアドレスも指定する必要があります。
AS間インタフェースOSPFトラフィックエンジニアリングにパッシブモードを設定するには、[edit protocols ospf area area-id interface interface-name]階層レベルでリンクのpassiveステートメントを含めます。
passive {
traffic-engineering {
remote-node-id ip-address; /* IP address at far end of inter-AS link */
}
}
ルーターに OSPF が正しく設定されている必要があります。次の例では、AS間リンク so-1/1/0 を設定し、AS内のOSPFでトラフィックエンジニアリング情報を配布します。リモートIPアドレスは 192.168.207.2です。
[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ドメイン内のあるルーターから別のに転送できるようにします。
ingressルーターがIPパケットを受信すると、MPLSヘッダーをパケットに追加し、LSPの次のルーターに転送します。ラベル付きパケットは、LSPのテールエンドであるegressルーターに到達するまで、各ルーターによってLSPに沿って転送されます。この時点で、MPLSヘッダーが削除され、パケットはIP宛先アドレスなどのレイヤー3 情報に基づいて転送されます。この方式の価値は、LSP の物理パスが、IGP が宛先 IP アドレスに到達する最短パスとして選択するものに限定されないということです。
ラベル スワップに基づくパケット転送
各ルーターでのパケット転送プロセスは、ラベル スワップの概念に基づいています。この概念は、PVC(恒久仮想回線)の各 ATM(非同期転送モード)で発生するものと似ています。各 MPLS パケットは、20 ビットの固定長ラベル フィールドを含む 4 バイト カプセル化ヘッダーを伝送します。ラベルを含むパケットがルーターに到着すると、ルーターはラベルを調べ、インデックスとしてMPLS転送テーブルにコピーします。転送テーブルの各エントリには、同じインバウンドラベルを持つ特定のインタフェースに到着するすべてのパケットに適用される一連の転送情報にマッピングされたインタフェースインバウンドラベルペアが含まれています。
パケットが MPLS バックボーンをどのように通過するか
このセクションでは、IP パケットが MPLS バックボーンネットワークを通過する際にどのように処理されるかについて説明します。
MPLSバックボーンのエントリエッジでは、IPヘッダーがingressルーターによって調べられます。この分析に基づいて、パケットは分類され、ラベルが割り当てられ、MPLSヘッダーにカプセル化され、LSPのネクストホップに向けて転送されます。MPLS は、IP パケットを LSP に割り当てできるように、高い柔軟性を提供します。例えば、Junosトラフィック制御の実装では、同じegressルーターでMPLSドメインを出るはずのingressルーターに到着したすべてのパケットが、同じ LSPに沿って転送されます。
パケットが LSP を通過し始めると、各ルーターはラベルを使用して転送を決定します。MPLS転送の決定は、元のIPヘッダーとは独立して行われます。受信インターフェイスとラベルは、MPLS転送テーブルへの検索キーとして使用されます。古いラベルは新しいラベルに置き換えられ、パケットは LSP に沿ってネクスト ホップに転送されます。このプロセスは、パケットがegressルーターに到達するまでLSPの各ルーターで繰り返されます。
パケットがegressルーターに到着すると、ラベルが削除され、パケットはMPLSドメインを出ます。その後、パケットは、パケットの元のIPヘッダーに含まれる宛先IPアドレスに基づいて、IPルーティングプロトコルによって計算された従来の最短パスに従って転送されます。
情報配信コンポーネント
トラフィックエンジニアリングには、ネットワークトポロジーに関する詳細な知識だけでなく、ネットワーク負荷に関する動的情報も必要です。情報配布コンポーネントを実装するために、IGP のシンプルな拡張が定義されます。リンク属性は、各ルーターのリンク状態アドバタイズの一部として含まれています。IS-IS拡張には新しいTLV(type length value)の定義が含まれ、OSPF拡張は不透明なLSA(リンク状態アドバタイズ)で実装されます。リンク状態 IGP が使用する標準フラッティング アルゴリズムは、リンク属性がルーティング ドメイン内のすべてのルーターに分散されるようにします。IGPリンク状態アドバタイズに追加されるトラフィック エンジニアリング拡張には、最大リンク帯域幅、最大予約済みリンク帯域幅、現在の帯域幅予約、リンクカラーリングなどがあります。
各ルーターは、ネットワーク リンク属性とトポロジー情報を専用のトラフィック制御データベースで管理しています。トラフィック制御データベースは、物理トポロジーを横断する LSP の配置のための明示的なパスの計算にのみ使用されます。その後のトラフィック制御計算は、IGP および IGP のリンク状態データベースから独立するように、別のデータベースが維持されます。一方、IGP は変更なく動作を継続し、ルーターのリンク状態データベースに含まれる情報に基づいて従来の最短パス計算を実行します。
パス選択コンポーネント
ネットワークリンク属性とトポロジー情報がIGPによってフラッディングされ、トラフィック制御データベースに保存された後、各ingressルーターはトラフィック制御データベースを使用して、ルーティングドメイン全体の独自のLSPセットのパスを計算します。各LSPのパスは、ストリクトまたはルーズ明示的なルートで表すことができます。明示的なルートは、LSP の物理パスの一部であるべき事前に設定されたルーターのシーケンスです。ingressルーターがLSP内のすべてのルーターを指定した場合、LSPは明示的ストリクトルートによって識別されると言われます。ingressルーターがLSP内の一部のルーターのみを指定した場合、LSPは明示的なルーズルートとして記述されます。明示的なストリクトおよびルーズルートのサポートにより、パス選択プロセスには可能な限り広い自由度が与えられますが、必要に応じて制限されます。
ingressルーターは、トラフィック制御データベース内の情報に制限付き最短パスファースト(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 のフルパスを計算し、そのフルパスを使ってingressルーターを静的に設定できます。その後、ingressルーターは、動的なシグナリングプロトコルとしてRSVPを使用し、LSPに沿って各ルーターに転送状態をインストールします。
制約ベースのルーティングを利用して、動的なオンライン LSP 計算を行うことができます。各 LSP の制約を設定します。そして、ネットワーク自体が、それらの制約を満たす最適なパスを決定します。具体的には、ingressルーターは、制約条件に基づいてLSP全体を計算し、ネットワーク上でシグナリングを開始します。
オフラインで LSP の部分的なパスを計算し、パス内のルーターのサブセットでingressルーターを静的に設定できます。その後、オンライン計算を許可して完全なパスを決定できます。
たとえば、米国を横断する 2 つの東西のパス (北はシカゴ、南はダラスを経由する) を含むトポロジーがあるとします。ニューヨークのルーターとサンフランシスコのの間にLSPを確立したい場合、LSPの一部パスに、ダラスのルーターの1つのルースルートホップを含めるように設定できます。その結果、南のパスに沿ってルーティングされた LSP が生成されます。ingressルーターは、CSPFを使用して完全なパスを計算し、RSVPを使用してLSPに沿って転送状態をインストールします。
ingressルーターは、いかなる制約もなく設定できます。この場合、LSP のパス決定には、通常の IGP 最短経路ルーティングが使用されます。この設定は、トラフィック制御に関しては役に立ちません。しかし、これは簡単なので、仮想プライベートネットワーク(VPN)などのサービスが必要な場面では役に立つかもしれません。
これらの場合、プライマリLSPのバックアップとして任意の数のLSPを指定することができるため、複数の設定方法を組み合わせることができます。例えば、プライマリパスをオフラインで明示的に計算し、セカンダリパスを制約ベースに設定し、第 3 のパスを制約なしにすることができます。プライマリLSPがルーティングされている回線に障害が発生した場合、ingressルーターは、ダウンストリームルーターから受信したエラー通知や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や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クラスフルトランスポートプレーンの概要
- BGPクラスフルトランスポートプレーンのメリット
- BGPクラスフルトランスポートプレーンの用語
- BGPクラスフルトランスポートプレーンを理解する
- BGPクラスフルトランスポートプレーンのAS内実装
- BGPクラスフルトランスポートプレーンのAS間実装
BGPクラスフルトランスポートプレーンのメリット
-
ネットワークスライシング - サービス層とトランスポート層はお互いと分離されており、複数のドメインにまたがるエンドツーエンドのスライシングによってネットワークスライシングと仮想化の基盤が築かれているため、CAPEXが大幅に削減されます。
- ドメイン間の相互運用性 - 各ドメイン内の異なるトランスポートシグナリングプロトコルが相互運用されるように、連携するドメイン全体にトランスポートクラスの導入を拡張します。各ドメインで使用される可能性のある拡張コミュニティ名前空間に差異があれば調整します。
-
フォールバックを備えた色付き解決 - ベストエフォートトンネルやその他の色付きトンネルを介した柔軟なフォールバックオプションを使用して、色付きトンネル(RSVP、IS-IS柔軟アルゴリズム)での解決トンネルを有効にします。
- サービス品質 - エンドツーエンドのSLA要件を達成するために、ネットワークをカスタマイズして最適化します。
- 既存の導入を活用 - RSVPなどの適切に導入されたトンネリングプロトコルと、IS-ISフレキシブルアルゴリズムなどの新しいプロトコルをサポートし、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をインポートするトランスポートRTIのセット。これらが、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内実装
図4 は、AS内ドメインにBGPクラスフルトランスポートプレーンを実装する前と後のシナリオを含むネットワークトポロジーを示しています。デバイス PE11 と PE12 はトランスポートトンネルとして RSVP LSP を使用し、すべてのトランスポートトンネルルートは inet.3 RIB にインストールされています。BGPクラスフルトランスポートプレーンを実装することで、セグメントルーティングトンネルと同様に、RSVPトランスポートトンネルがカラーを認識できるようになります。
の前後のシナリオ
AS内設定でトランスポートトンネルをBGPトランスポートクラスに分類するには
- サービスノード(ingress PEデバイス)で、ゴールドやブロンズなどのトランスポートクラスを定義し、定義されたトランスポートクラスにカラーコミュニティ値を割り当てます。
構成例:
pe11# show routing-options route-distinguisher-id 172.16.1.1; transport-class { name gold { color 100; } name bronze { color 200; - トランスポートトンネルを、トンネルのingressノードで特定のトランスポートクラスに関連付けます。
構成例:
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)からマッピングコミュニティを自動的に導き出します。
- トランスポートクラスと関連づけられたときに、トンネリングプロトコルによってトランスポートRIBにAS内トランスポートルートが入力されます。
この例では、トランスポートクラスゴールド(カラー100)とトランスポートクラスブロンズ(カラー200)に関連付けられたRSVP LSPルートが、それぞれトランスポート RIBjunos-rti-tc-<100>.inet.3 および junos-rti-tc-<200>.inet.3にインストールされています。
- サービスノード(ingress 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)BGP最低でも2つのトランスポートクラス(ゴールドおよびブロンズ)を設定した後に、クラスフルトランスポートネットワークに変換されます。
トランスポートトンネルをBGPクラスフルトランスポートに変換するには:
- サービスノード(ingress PEデバイス)とボーダーノード(ABRおよびASBR)で、ゴールドやブロンドなどのトランスポートクラスを定義します。
構成例:
pe11# show routing-options route-distinguisher-id 172.16.1.1; transport-class { name gold { color 100; } name bronze { color 200; - トランスポートトンネルを、トンネルのingress ノード(ingress 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-ユニキャスト)の新しいファミリを有効にします。
構成例:
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-<100>.inet.3 と junos-rti-tc-<200>.inet.3にインストールされます。
- BGPクラスフルトランスポートプレーンは、各トランスポートRIBからbgp.transport.3ルーティングテーブルにトランスポートトンネルルートをコピーするときに、一意のルート識別素とルーティングテーブルを使用します。
- ボーダーノードは、BGPセッションでファミリーinetトランスポートがネゴシエートされている場合、bgp.transport.3からのルートを他のドメインのピアにルーティングテーブルアドバタイズします。
- 受信側のボーダーノードは、これらのbgp-ctルートをbgp.transport.3ルーティングテーブルにインストールし、トランスポートルートターゲットに基づいてこれらのルートを適切なトランスポートRIBにコピーします。
- サービスノードは、サービスルート内のカラーコミュニティと解決スキーム内のマッピングコミュニティを照合し、対応するトランスポートRIB( junos-rti-tc-<100>.inet.3または junos-rti-tc-<200>.inet.3)内のPNHを解決します。
- ボーダーノードは、トランスポートルートPNHを解決するために、事前に定義された解決スキームを使用します。
- 事前定義された解決スキームであれ、ユーザーが定義した解決スキームであれ、どちらの解決スキームもサービスルートPNH解決をサポートします。事前定義された解決スキームではフォールバックとしてinet.3を使用し、ユーザー定義の解決スキームでは、トランスポートRIBのリストをPNHを解決時に指定した順序で使用できます。
- ユーザー定義の解決スキームにリストされているRIBを使用してサービスルートPNHを解決できない場合、ルートは破棄されます。
RSVP PathErr メッセージによるトラフィック制御データベースの精度向上
RSVPベースのトラフィック制御に欠かせないのが、トラフィック制御データベースです。トラフィック制御データベースには、トラフィック制御に参加しているすべてのネットワークノードとリンクの完全なリストと、それらのリンクのそれぞれが保持できる属性のセットが含まれています。(トラフィック制御データベースの詳細については、 Constrained-Path LSP Computationを参照してください)。最も重要なリンク属性の1つは帯域幅です。
RSVP LSP の確立と終了に伴い、リンクの帯域幅が急速に変化します。トラフィック制御データベースには、実際のネットワークとの間に不一致が生じる可能性があります。このような不一致は、IGPの更新レートを上げても修正できません。
リンクの可用性は、同じ不一致の問題を共有することができます。リンクが利用できなくなった場合、既存の RSVP LSP はすべて壊れます。しかし、その可用性はネットワークでも容易に知ることがないかもしれません。
rsvp-error-hold-timeステートメントを設定すると、ソース ノード(RSVP LSP のイングレス)は、ダウンストリーム ノードから送信される PathErr メッセージを監視することで、その LSP の障害を学習します。PathErr メッセージからの情報は、後続の LSP 計算に組み込まれ、LSP 設定の精度と速度を向上させることができます。一部の PathErr メッセージは、トラフィック制御データベースの帯域幅情報を更新するためにも使用され、トラフィック制御データベースとネットワーク間の不一致を軽減します。
update-thresholdステートメントを使用して、IGP更新の頻度を制御できます。インターフェイスでのRSVP更新しきい値の設定を参照してください。
このセクションでは、以下のトピックについて説明します。
PathErrメッセージ
PathErr メッセージは、異なるコード番号やサブコード番号によってさまざまな問題を報告します。これらの PathErr メッセージの完全なリストは、RFC 2205 の RSVP(Resource Reservation Protocol)、Version 1、Functional Specification および RFC 3209、 RSVP-TE: Extensions to RSVP for LSP Tunnels に記載されています。
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 アドレスが含まれています。この情報は、ingressルーターに向けて変更されずに伝送されます。トラフィック制御データベース内の検索により、PathErr メッセージを発信したノードを特定できます。
各 PathErr メッセージには、メッセージをトリガーした RSVP セッションを特定するのに十分な情報が含まれています。これがトランジット ルーターの場合は、メッセージを転送するだけです。このルーターが(この RSVP セッションの)ingressルーターの場合、セッションが通過すべきすべてのノードとリンクの完全なリストを持っています。発信元のノード情報と組み合わせることで、リンクを一意に識別することができます。
トラフィック制御データベースの精度を向上させるルーターの設定
トラフィック制御データベースの精度を向上するには、 rsvp-error-hold-time ステートメントを設定します。このステートメントを設定すると、ソース ノード(RSVP LSP のイングレス)は、ダウンストリーム ノードから送信される PathErr メッセージを監視することで、その LSP の障害を学習します。PathErr メッセージからの情報は、後続の LSP 計算に組み込まれ、LSP 設定の精度と速度を向上させることができます。一部の PathErr メッセージは、トラフィック制御データベースの帯域幅情報を更新するためにも使用され、トラフィック制御データベースとネットワーク間の不一致を軽減します。
RSVP PathErr メッセージを記憶する期間を設定し、CSPF 計算でそのMPLSを考慮するには、 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 メッセージの監視を無効にします。
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。