MPLS トラフィックのロード バランシング
MPLS ラベルに基づくロード バランシングの設定
ロード バランシングは、サポートされているプラットフォームで MPLS フローに対してパケットごとに行われます。エントロピー(ランダム分散)は、パケットをネクストホップに均一に分散させるために不可欠です。デフォルトでは、トラフィック分散のためにロードバランシングを使用する場合、Junos OSはハッシュアルゴリズムを使用してネクストホップアドレスを選択し、転送テーブルにインストールします。宛先のネクストホップのセットが変更されるたびに、ハッシュアルゴリズムによってネクストホップアドレスが再選択されます。ハッシュアルゴリズムを使用して、一連の等コストラベルスイッチパス(LSP)間でトラフィックのロードバランシングを行う方法を設定できます。
VPLSとVPWSトラフィックのエントロピーを確保するために、Junos OSは、IPヘッダーと最大3つのMPLSラベル(いわゆるトップラベル)からのデータに基づいてハッシュを作成できます。
場合によっては、ラベルを使用するネットワーク機能(MPLS Fast Reroute、RFC 3107、RSVP、VPNなど)の数が増えると、上位3つのラベルのデータが静的になり、エントロピーの十分なソースではなくなることがあります。その結果、ロードバランシングが歪んだり、順不同のパケット配信の発生率が上昇したりする可能性があります。このような場合は、ラベルスタックの一番下にあるラベルを使用できます(資格については、以下の表1を参照してください)。トップラベルとボトムラベルを同時に使用することはできません。
MPC カードは、通常のハッシュ鍵設定をサポートしていません。MPCベースのハッシュキー設定を有効にするには、設定が必要です 。enhanced-hash-key
負荷分散は、次の条件に当てはまる場合にトラフィックを均等に分散するために使用されます。
同じ宛先への異なるインターフェイス上に、複数のイコールコストネクストホップが存在します。
集約されたインターフェイス上には単一のネクストホップがあります。
LSPは、等コストのネクストホップの1つをランダムに選択し、それを排他的に使用することで、配置のロードバランシングを行う傾向があります。ランダム選択は各トランジットルーターで独立して行われ、内部ゲートウェイプロトコル(IGP)メトリックのみが比較されます。帯域幅や輻輳レベルは考慮されません。
この機能は、集合型イーサネット、集約型 SONET/SDH インターフェイス、および複数の等コスト MPLS ネクスト ホップに適用されます。さらに、T Series、MX シリーズ、M120、M320 ルーターでのみ、レイヤー 2 イーサネット疑似配線を介した IPv4 トラフィックのロード バランシングを設定できます。また、IP 情報に基づいてイーサネット疑似配線のロード バランシングを設定することもできます。ハッシュキーにIP情報を含めるオプションは、イーサネット回線クロスコネクト(CCC)接続のサポートを提供します。
MPLSラベル情報に基づいてロードバランシングを行うには、 ステートメントを設定します 。family mpls
[edit forwarding-options hash-key] family mpls { all-labels; bottom-label-1; bottom-label-2; bottom-label-3; label-1; label-2; label-3; no-labels; no-label-1-exp; payload { ether-pseudowire; ip { disable; layer-3-only; port-data { destination-lsb; destination-msb; source-lsb; source-msb; } } } }
以下の階層レベルでこのステートメントを使用することができます。
[edit forwarding-options hash-key]
表 1 は、使用可能なすべての MPLS LSP ロードバランシング オプションに関する詳細情報を提供します。
ステートメント |
サポート対象のプラットフォーム |
MPLS LSP ロード バランシング オプション |
---|---|---|
|
MXシリーズおよびPTXシリーズ |
Junos OS リリース 19.1R1 以前は、パケット転送エンジン内のフローの一意性を識別するために、最大 8 つの MPLS ラベルがハッシュ キーに含まれていました。PTXシリーズルーターでは、この値はデフォルトで設定されています。 Junos OS リリース 19.1R1 以降、MPC および MIC インターフェイスを持つ MX シリーズ ルーターでは、最大 16 個の受信 MPLS ラベルがハッシュ キーに含まれるようになりました。 |
|
DPC(Iチップ)を搭載したMXシリーズ。M10i、M7i、およびM120ではサポートされていません。 |
ハッシュキーの計算に一番下のラベルを使用します(たとえば、一番上のラベルが必要なエントロピーレベルに対して十分な変数を提供しない場合)。 |
|
DPC(Iチップ)を搭載したMXシリーズ。M10i、M7i、およびM120ではサポートされていません。 |
ハッシュキーの計算に下から2番目のラベルを使用します(たとえば、上のラベルが必要なエントロピーレベルに対して十分な変数を提供しない場合)。 |
|
DPC(Iチップ)を搭載したMXシリーズ。M10i、M7i、およびM120ではサポートされていません。 |
ハッシュキーの計算に下から3番目のラベルを使用します(たとえば、上のラベルが必要なエントロピーレベルに対して十分な変数を提供しない場合)。 |
|
M Series、MX シリーズ、T Series |
ハッシュキーに最初のラベルを含めます。このオプションは、単一ラベルのパケットに使用します。 |
|
M Series、MX シリーズ、T Series |
ハッシュキーに2番目のラベルを含めます。オプション も設定する必要があります。 |
|
M Series、MX シリーズ、T Series |
ハッシュキーに3番目のラベルを含めます。また、 オプションと オプションを設定する必要があります。 |
|
すべて |
ハッシュキーからMPLSラベルを除外します。 |
|
M Series、MX シリーズ、T Series |
ハッシュキーからトップラベルのEXPビットを除外します。オプション も設定する必要があります。 レイヤー2 VPNの場合、ルーターでパケットの並べ替えの問題が発生する可能性があります。トラフィックのバーストが顧客のトラフィック帯域幅を制限以上に押し上げると、トラフィックがミッドフローで影響を受ける可能性があります。その結果、パケットの順序が変更される可能性があります。ハッシュキーからEXPビットを除外することで、この並べ替えの問題を回避できます。 |
|
すべて |
IP パケット ペイロードのどの部分をハッシュ キーに含めるかを構成できます。PTXシリーズパケットトランスポートルーターの場合、この値はデフォルトで設定されています。 |
|
PTXシリーズ |
ハッシュキーから IP ペイロードを除外します。 |
|
M120、M320、MXシリーズ、T Series |
レイヤー 2 イーサネット疑似配線上で IPv4 トラフィックのロード バランシングを行います。 |
|
すべて |
ハッシュキーに IPv4 または IPv6 アドレスを含めます。また、 または のいずれかを設定する必要があります。 |
|
すべて |
ハッシュキーにはレイヤー 3 IP 情報のみを含めます。ハッシュキーからすべての バイトを除外します。 |
|
M Series、MX シリーズ、T Series |
送信元と宛先のポート フィールド情報を含めます。デフォルトでは、送信元ポートフィールドと宛先ポートフィールドの最上位バイトと最下位バイトがハッシュキーで使用されます。ハッシュキーで使用する特定のバイトを選択するには、 、および のオプションを 1 つ以上階層レベルで含めます。 |
|
M Series、MX シリーズ、T Series |
宛先ポートの最下位バイトをハッシュキーに含めます。他の オプションと組み合わせることができます。 |
|
M Series、MX シリーズ、T Series |
宛先ポートの最上位バイトをハッシュキーに含めます。他の オプションと組み合わせることができます。 |
|
M Series、MX シリーズ、T Series |
送信元ポートの最下位バイトをハッシュキーに含めます。他の オプションと組み合わせることができます。 |
|
M Series、MX シリーズ、T Series |
送信元ポートの最上位バイトをハッシュキーに含めます。他の オプションと組み合わせることができます。 |
次の例は、MPLS LSP ロード バランシングを設定する方法を示しています。
ハッシュキーにIPアドレスと最初のラベルを含めるには:
M シリーズ、MX シリーズ、T シリーズ ルーターの場合、 階層レベルで ステートメントと ステートメントの オプションを設定します。
label-1
ip
payload
[edit forwarding-options hash-key family mpls]
[edit forwarding-options hash-key family mpls] label-1; payload { ip; }
PTXシリーズパケットトランスポートルーターの場合、 および オプションはデフォルトで設定されているため、設定する必要はありません。
all-labels
ip payload
(M320およびT Seriesルーターのみ)IPアドレスと、1枚目と2枚目のラベルの両方をハッシュキーに含めるには、 階層レベルで ステートメントの および オプションと オプションを設定します。
label-1
label-2
ip
payload
[edit forwarding-options hash-key family mpls]
[edit forwarding-options hash-key family mpls] label-1; label-2; payload { ip; }
注:この組み合わせのステートメントは、M320およびTシリーズルーターにのみ含めることができます。Mシリーズマルチサービスエッジルーターにそれらを含めると、最初のMPLSラベルとIPペイロードのみがハッシュキーで使用されます。
T シリーズ ルーターの場合、 階層レベルで 、 、 および のオプションを含めて、適切なロード バランシングを確保します。
label-1
label-2
label-3
[edit forwarding-options hash-key family mpls]
[edit forwarding-options hash-key family mpls] label-1; label-2; label-3;
(M シリーズ、MX シリーズ、T シリーズ ルーターのみ)レイヤー2 VPNの場合、ルーターでパケットの並べ替えの問題が発生する可能性があります。トラフィックのバーストが顧客のトラフィック帯域幅を制限以上に押し上げると、トラフィックがミッドフローで影響を受ける可能性があります。その結果、パケットの順序が変更される可能性があります。ハッシュキーからEXPビットを除外することで、この並べ替えの問題を回避できます。ハッシュ計算から最初のラベルのEXPビットを除外するには、階層レベルでステートメント を含めます 。
no-label-1-exp
[edit forwarding-options hash-key family mpls]
[edit forwarding-options hash-key family mpls] label-1; no-label-1-exp; payload { ip; }
例:負荷分散されたMPLSネットワーク
同じエグレスルーターに複数のRSVP LSPを設定する場合、メトリックが最も低いLSPが選択され、すべてのトラフィックを伝送します。すべてのLSPのメトリックが同じ場合、LSPの1つがランダムに選択され、すべてのトラフィックがその上に転送されます。すべての LSP にトラフィックを均等に分散させるには、設定されているロード バランシングの種類に応じて、イングレス ルーターまたはトランジット ルーターでロード バランシングを設定できます。
図 1 は、同じエグレスルーター()に4台のLSPが設定されたMPLSネットワークを示しています。R0 ロード バランシングはイングレス ルーター で設定されます。R1 この例のネットワークでは、OSPF エリア を持つ内部ゲートウェイ プロトコル(IGP)として、オープン最短パス ファースト(OSPF)を使用しています。0.0.0.0 Junos OSのデフォルトであるCSPF(制限付き最短パスファースト)LSPにはIGPが必要です。また、サンプル ネットワークでは、ポリシーを使用して BGP トラフィックを作成します。
に示す ネットワークは、次のコンポーネントで構成されています。図 1
AS 65432を使用したフルメッシュ内部BGP(IBGP)トポロジー
すべてのルーターでMPLSとRSVPが有効
ルーター 上の送信静的ポリシーで、 新しいルートをネットワークにアドバタイズできるようにするポリシーR1R0
と の間に 4 つの単方向 LSP、および と の間に 1 つの逆方向 LSP があり、双方向トラフィックを可能にしますR1R0R0R1
イングレス ルーターで設定されたロード バランシング R1
で 示したネットワークは、BGPフルメッシュネットワークです。図 1ルートリフレクタやコンフェデレーションは、BGPで学習した経路を伝播するために使用されないので、各ルータはBGPを実行している他のすべてのルータとBGPセッションを持つ必要があります。
負荷分散 MPLS ネットワークのルーター設定
目的
このトピックの構成は、「 負荷分散ネットワーク トポロジー」に示されているネットワーク例の 6 台の負荷分散ルーターに対するものです。
アクション
ルーターの設定を表示するには、次の Junos OS CLI 運用モード コマンドを使用します。
user@host> show configuration | no-more
サンプル出力1
以下の設定出力は、エッジルーター 用です。R6
user@R6> show configuration | no-more [...Output truncated...] interfaces { fe-0/1/2 { unit 0 { family inet { address 10.0.16.14/30; } family mpls; #MPLS enabled on relevant interfaces } } fe-1/3/0 { unit 0 { family inet { address 10.10.12.1/24; } } } fxp0 { unit 0 { family inet { address 192.168.70.148/21; } } } lo0 { unit 0 { family inet { address 192.168.6.1/32; } } } } routing-options { static { [...Output truncated...] router-id 192.168.6.1; #Manually configured RID autonomous-system 65432; #Full mesh IBGP } } protocols { rsvp { interface fe-0/1/2.0; interface fxp0.0 { disable; } } mpls { interface fe-0/1/2.0; interface fxp0.0 { disable; } } bgp { group internal { type internal; local-address 192.168.6.1; neighbor 192.168.1.1; neighbor 192.168.2.1; neighbor 192.168.4.1; neighbor 192.168.9.1; neighbor 192.168.0.1; } } ospf { #IGP enabled traffic-engineering; area 0.0.0.0 { interface fe-0/1/2.0; interface fe-1/3/0.0; interface lo0.0 { passive; #Ensures protocols do not run over this interface } } } }
サンプル出力2
以下の構成出力は、イングレスルーター 用です。R1
user@R1> show configuration | no-more [...Output truncated...] interfaces { fe-0/1/0 { unit 0 { family inet { address 10.0.12.13/30; } family mpls; #MPLS enabled on relevant interfaces } } fe-0/1/2 { unit 0 { family inet { address 10.0.16.13/30; } family mpls; } } fxp0 { unit 0 { family inet { address 192.168.70.143/21; } } } lo0 { unit 0 { family inet { address 192.168.1.1/32; } } } } routing-options { static { [...Output truncated...] route 100.100.1.0/24 reject; #Static route for send-statics policy } router-id 192.168.1.1; #Manually configured RID autonomous-system 65432; #Full mesh IBGP forwarding-table { export lbpp; #Routes exported to forwarding table } } protocols { rsvp { interface fe-0/1/0.0; interface fe-0/1/2.0; interface fxp0.0 { disable; } } mpls { label-switched-path lsp 1 { #First LSP to 192.168.0.1; # Destination of the LSP install 10.0.90.14/32 active; # The prefix is installed in the primary via-r4; # inet.0 routing table } label-switched-path lsp2 { to 192.168.0.1; install 10.0.90.14/32 active; primary via-r2; } label-switched-path lsp3 { to 192.168.0.1; install 10.0.90.14/32 active; primary via-r2; } label-switched-path lsp4 { to 192.168.0.1; install 10.0.90.14/32 active; primary via-r4; } path via-r2 { #Primary path to spread traffic across interfaces 10.0.29.2 loose; } path via-r4 { 10.0.24.2 loose; } interface fe-0/1/0.0; interface fe-0/1/2.0; interface fxp0.0 { disable; } } bgp { export send-statics; #Allows advertising of a new route group internal { type internal; local-address 192.168.1.1; neighbor 192.168.2.1; neighbor 192.168.4.1; neighbor 192.168.9.1; neighbor 192.168.6.1; neighbor 192.168.0.1; } } ospf { #IGP enabled traffic-engineering; area 0.0.0.0 { interface fe-0/1/0.0; interface fe-0/1/2.0; interface lo0.0 { passive; #Ensures protocols do not run over this interface } } } } policy-options { #Load balancing policy policy-statement lbpp { then { load-balance per-packet; } } policy-statement send-statics { #Static route policy term statics { from { route-filter 100.100.1.0/24 exact; } then accept; } } }
サンプル出力 3
以下の設定出力はトランジットルーター 用です。R2
user@R2> show configuration | no-more [...Output truncated...] interfaces { so-0/0/1 { unit 0 { family inet { address 10.0.24.1/30; } family mpls; #MPLS enabled on relevant interfaces } } so-0/0/2 { unit 0 { family inet { address 10.0.29.1/30; } family mpls; } } fe-0/1/0 { unit 0 { family inet { address 10.0.12.14/30; } family mpls; } } fxp0 { unit 0 { family inet { address 192.168.70.144/21; } } } lo0 { unit 0 { family inet { address 192.168.2.1/32; } } } } routing-options { static { [...Output truncated...] router-id 192.168.2.1; #Manually configured RID autonomous-system 65432; #Full mesh IBGP } } protocols { rsvp { interface so-0/0/1.0; interface fe-0/1/0.0; interface so-0/0/2.0; interface fxp0.0 { disable; } } mpls { interface fe-0/1/0.0; interface so-0/0/1.0; interface so-0/0/2.0; interface fxp0.0 { disable; } } bgp { group internal { type internal; local-address 192.168.2.1; neighbor 192.168.1.1; neighbor 192.168.4.1; neighbor 192.168.9.1; neighbor 192.168.6.1; neighbor 192.168.0.1; } } ospf { #IGP enabled traffic-engineering; area 0.0.0.0 { interface fe-0/1/0.0; interface so-0/0/1.0; interface so-0/0/2.0; interface lo0.0 { passive; #Ensures protocols do not run over this interface } } } }
サンプル出力4
以下の設定出力はトランジットルーター 用です。R4
user@R4> show configuration | no-more [...Output truncated...] interfaces { so-0/0/1 { unit 0 { family inet { address 10.0.24.2/30; } family mpls; # MPLS enabled on relevant interfaces } } so-0/0/3 { unit 0 { family inet { address 10.0.49.1/30; } family mpls; } } fxp0 { unit 0 { family inet { address 192.168.70.146/21; } } } lo0 { unit 0 { family inet { address 192.168.4.1/32; } } } } routing-options { static { [...Output truncated...] router-id 192.168.4.1; #Manually configured RID autonomous-system 65432; #Full mesh IBGP } protocols { rsvp { interface so-0/0/1.0; interface so-0/0/3.0; interface fxp0.0 { disable; } } mpls { interface so-0/0/1.0; interface so-0/0/3.0; interface fxp0.0 { disable; } } bgp { group internal { type internal; local-address 192.168.4.1; neighbor 192.168.1.1; neighbor 192.168.2.1; neighbor 192.168.9.1; neighbor 192.168.6.1; neighbor 192.168.0.1; } } ospf { #IGP enabled traffic-engineering; area 0.0.0.0 { interface so-0/0/1.0; interface so-0/0/3.0; interface lo0.0 { passive; #Ensures protocols do not run over this interface } } } }
サンプル出力5
以下の設定出力はトランジットルーター 用です。R9
user@R9> show configuration | no-more [...Output truncated...] interfaces { so-0/0/2 { unit 0 { family inet { address 10.0.29.2/30; } family mpls; #MPLS enabled on relevant interfaces } } so-0/0/3 { unit 0 { family inet { address 10.0.49.2/30; } family mpls; } } fe-0/1/0 { unit 0 { family inet { address 10.0.90.13/30; } family mpls; } } fxp0 { unit 0 { family inet { address 192.168.69.206/21; } } } lo0 { unit 0 { family inet { address 192.168.9.1/32; } } } } routing-options { static { [...Output truncated...] router-id 192.168.9. 1; #Manually configured RID autonomous-system 65432; #Full mesh IBGP } protocols { rsvp { interface so-0/0/2.0; interface so-0/0/3.0; interface fe-0/1/0.0; interface fxp0.0 { disable; } } mpls { interface so-0/0/2.0; interface so-0/0/3.0; interface fe-0/1/0.0; interface fxp0.0 { disable; } } bgp { group internal { type internal; local-address 192.168.9.1; neighbor 192.168.1.1; neighbor 192.168.2.1; neighbor 192.168.4.1; neighbor 192.168.0.1; neighbor 192.168.6.1; } } ospf { #IGP enabled traffic-engineering; area 0.0.0.0 { interface so-0/0/2.0; interface so-0/0/3.0; interface fe-0/1/0.0; interface lo0.0 { passive; #Ensures protocols do not run over this interface } } } }
サンプル出力6
以下の設定出力は、エグレス ルーター 用です。R0
user@R0> show configuration | no-more [...Output truncated...] interfaces { fe-0/1/0 { unit 0 { family inet { address 10.0.90.14/30; } family mpls; #MPLS enabled on relevant interfaces } } fe-1/3/0 { unit 0 { family inet { address 10.10.11.1/24; } } fxp0 { unit 0 { family inet { address 192.168.69.207/21; } } } lo0 { unit 0 { family inet { address 192.168.0.1/32; } } } } routing-options { static { [...Output truncated...] route 100.100.10.0/24 reject; #Static route for send-statics policy } router-id 192.168.0.1; #Manually configured RID autonomous-system 65432; #Full mesh IBGP } protocols { rsvp { interface fe-0/1/0.0; interface fe-1/3/0.0; interface fxp0.0 { disable; } } mpls { label-switched-path r0-r6 { to 192.168.6.1; } interface fe-0/1/0.0; interface fe-1/3/0.0; interface fxp0.0 { disable; } } bgp { group internal { type internal; local-address 192.168.0.1; export send-statics; #Allows advertising of a new route neighbor 192.168.9.1; neighbor 192.168.6.1; neighbor 192.168.1.1; neighbor 192.168.2.1; neighbor 192.168.4.1; } } ospf { #IGP enabled traffic-engineering; area 0.0.0.0 { interface fe-0/1/0.0; interface fe-1/3/0.0; interface lo0.0 { passive; #Ensures protocols do not run over this interface } } } } policy-options { policy-statement send-statics { term statics { from { route-filter 100.100.10.0/24 exact; } then accept; } } }
意味
サンプル出力 1 〜 6 は、例で示す ネットワーク例の 6 つすべての基本インターフェイス、ルーティング オプション、プロトコル、およびポリシー オプションの設定を示しています。負荷分散された MPLS ネットワーク
ネットワーク内のすべてのルーターで、MPLS、RSVP、およびBGPが有効になっています。OSPFはIGPとして設定されており、関連するインターフェースには基本的なIP情報とMPLSサポートがあります。
さらに、すべてのルーターでは、重複する RID の問題を回避するために、階層レベルで ルーター ID(RID)が手動で構成されています。[edit routing-options]
このステートメントは、プロトコルがループバック()インタフェース上で実行されないようにし、ループバック()インタフェースがネットワーク全体に正しくアドバタイズされることを保証するために、OSPF設定に含まれています。passive
lo0lo0
サンプル出力 1、3、4、および 5 の、 、 は、トランジット ラベルスイッチ ルーターの基本設定を示しています。R6R2R4R9 基本設定には、MPLSに対して有効なすべてのインターフェイス、手動で設定したRIDおよび関連するプロトコル(RSVP、MPLS、BGP、およびOSPF)が含まれます。
イングレス ルーター からのサンプル出力 2 は、基本構成と 4 つの LSP( から までが構成済み) を示しています。R1lsp1lsp4)R0 4 つの LSP は、異なるプライマリ パスで設定されており、 for および 、および の と を通るルーズ ホップを指定します。R4lsp1lsp4R2lsp2lsp3
トラフィックを作成するには、 はスタティックルート(階層レベルで設定。R1100.100.1.0/24) [edit routing-options static route]
プレフィックスは、 階層レベルの send-statics ポリシー に含まれるため、ルートを BGP ルートにすることができます。[edit policy-options send statics]
さらに、イングレスルーター では、 オプションを使用して ロードバランシングが設定され、 階層レベルでポリシーがエクスポート されます。R1per-packet[edit routing-options forwarding-table]
エグレス ルーター からのサンプル出力 6 には、双方向トラフィックの作成に使用される 1 つの LSP() が表示されています。R0r0-r6R6 OSPFは、LSPをIGPにアドバタイズする前に、双方向LSPの到達可能性を必要とします。LSP は IGP にアドバタイズされますが、LSP を介して Hello メッセージやルーティングの更新は行われず、ユーザー トラフィックのみが LSP を介して送信されます。ルーターは、IGP データベースのローカル コピーを使用して、双方向の到達可能性を検証します。
さらに、はスタティックルート(階層レベルで設定。R0100.100.10.0/24) [edit routing-options static route]
プレフィックスは、 階層レベルの send-statics ポリシー に含まれるため、ルートを BGP ルートにすることができます。[edit policy-options send statics]
ACXシリーズルーターのMPLSラベルに基づいたロードバランシングの設定
表 2 は、使用可能なすべての MPLS LSP ロードバランシング オプションに関する詳細情報を提供します。
ACX シリーズ ルーターは、MPLS でパケット単位でロード バランシングを行うことができます。IPヘッダーと最大3つのMPLSラベルの両方の情報に対してロードバランシングを実行できるため、MPLSトラフィックをネクストホップに均一に分散できます。この機能は、サポートされているプラットフォームでデフォルトで有効になっており、設定する必要はありません。
ロードバランシングは、集約されたインターフェイスまたはLAGバンドル上に単一のネクストホップがある場合に、トラフィックを均等に分散するために使用されます。MPLSラベルを使用したロードバランシングは、LAGインターフェイスでのみサポートされ、等価コストマルチパス(ECMP)リンクではサポートされていません。
デフォルトでは、トラフィック分散のためにロードバランシングを使用する場合、Junos OSはハッシュアルゴリズムを使用してネクストホップアドレスを選択し、転送テーブルにインストールします。宛先のネクストホップのセットが何らかの形で変化するたびに、ハッシュアルゴリズムによってネクストホップアドレスが再選択されます。ハッシュアルゴリズムを使用して、集合型イーサネット(ae)インターフェイス内のインターフェイス間でトラフィックのロードバランシングを行う方法を設定できます。
LSPは、インターフェイスバンドル内の インターフェイスの1つをランダムに選択し、それを排他的に使用することで、配置をロードバランシングする傾向があります。ae-
ランダム選択は各トランジットルーターで独立して行われ、内部ゲートウェイプロトコル(IGP)メトリックのみが比較されます。帯域幅や輻輳レベルは考慮されません。
ACX シリーズ ルーターでは、VPLS(仮想プライベート LAN サービス)、L2 回線、L2 VPN(レイヤー 2 仮想プライベート ネットワーク)の LSP(ラベル付きスイッチ パス)でのロード バランシングはサポートされていません。
MPLSラベル情報に基づいてロードバランシングを行うには、 ステートメントを設定します 。family mpls
[edit forwarding-options hash-key] family mpls { all-labels; label-1; label-2; label-3; no-labels; payload { ether-pseudowire; ip { layer-3-only; port-data { destination-lsb; destination-msb; source-lsb; source-msb; } } } }
以下の[edit forwarding-options hash-key]
階層レベルでこのステートメントをインクルードすることができます。
ペイロードIP()を設定する場合、 および の設定は必須です。user@host#
set forwarding-options hash-key family mpls payload iplayer-3-only
port-data
負荷分散機能に適切なハッシュキー構成がないと、予期しない動作が発生する可能性があります。
レイヤー2VPN/疑似回線トンネルの終端では、ハッシュに最大2つのラベルが使用され、ペイロードMACの宛先アドレスと送信元アドレスをオプションで選択できます。これらのコントロールは、上に示したハッシュキー設定で、ファミリー MPLS の ether-pseudowire ノブをサポートするために使用できます。ただし、ACX2000 と ACX4000 は TDM 疑似配線もサポートしているため、イーサ疑似配線ノブは TDM 疑似配線を使用しない場合にのみ使用する必要があります。
レイヤー3 VPNトンネルの終端では、最大2つのラベルをハッシュとペイロードのIP送信元アドレスと宛先アドレスに使用し、レイヤー4の送信元ポートと宛先ポートをオプションで選択できます。これらのコントロールは、上記のハッシュキー設定で、ファミリーMPLSのIPポートデータノブをサポートするために使用できます。ただし、レイヤー4ポートMSBとLSBは個別に選択することはできないため、宛先lsbまたは宛先msbノブの1つ、またはsource-lsbまたはsource-msbノブの1つで、それぞれレイヤー4の宛先ポートまたは送信元ポートを選択します。
LSR の場合、最大 3 つのラベルがハッシュに使用されます。最初の 3 つのラベルの解析時に BOS が見られる場合、BCM はペイロードの最初のニブルを調べます (ニブルが 4 の場合、ペイロードは IPv4 として扱われ、最初のニブルが 6 の場合、ペイロードは IPv6 として扱われ、そのような場合、ペイロードの送信元と宛先の IP アドレスをハッシュに投機的に使用できます)。これらのコントロールは、ハッシュキー設定でファミリー MPLS の IP ポートデータノブをサポートするために使用できます。ただし、LSR の場合、レイヤー 4 ポートはハッシュに使用できず、レイヤー 3 のみのノブのみが適用されます。BCMは、3つのMPLSラベルを超えるフィールドでのハッシュのサポートを要求していません。LSR の場合、そのセッションに固有のすべてのトラフィックが同じ MPLS ラベル セットを伝送するため、単一の疑似回線セッションのロード バランシングは実行されません。
LSR AE インターフェイスのロード バランシングは、より多くの MPLS セッション、つまり最低 10 セッションで実現できます。これは、CCC/VPLS/L3VPNに適用されます。レイヤー3 VPNの場合、レイヤー3アドレスもハッシュ入力機能で(ラベルとともに)考慮されるため、トラフィックがメンバーリンク全体に均等に分散されない可能性があります。
LERシナリオでは、ACX5048とACX5096の場合、「family mpls」階層下のペイロードオプションを設定することで、レイヤー3とレイヤー4フィールドに基づくハッシュが可能になります。LERでのハッシュはラベルに基づいていません。レイヤ3サービスの場合、ペイロードを「レイヤ3のみ」と記載し、レイヤ4サービスの場合は「port-data」を指定する必要があります。また、LERルーターでハッシュキーを設定する際に、ラベル数を指定することもできます。
LERおよびLSRロードバランシングの動作は、CCC/VPLS/レイヤー3 VPNおよびその他のIP MPLSシナリオに適用できます。
この機能は、集合型イーサネットおよび集約型SONET/SDHインターフェイスに適用されます。さらに、レイヤー 2 イーサネット疑似配線を介した IPv4 トラフィックのロード バランシングを設定できます。また、IP 情報に基づいてイーサネット疑似配線のロード バランシングを設定することもできます。ハッシュキーにIP情報を含めるオプションは、イーサネット回線クロスコネクト(CCC)接続のサポートを提供します。
ステートメント |
MPLS LSP ロード バランシング オプション |
---|---|
|
ハッシュキーに最初のラベルを含めます。このオプションは、単一ラベルのパケットに使用します。 |
|
ハッシュキーに2番目のラベルを含めます。オプション も設定する必要があります。 |
|
ハッシュキーに3番目のラベルを含めます。また、 オプションと オプションを設定する必要があります。 |
|
ハッシュキーからMPLSラベルを除外します。 |
|
IP パケット ペイロードのどの部分をハッシュ キーに含めるかを構成できます。PTXシリーズパケットトランスポートスイッチの場合、この値はデフォルトで設定されています。 |
|
ハッシュキーから IP ペイロードを除外します。 |
|
レイヤー 2 イーサネット疑似配線上で IPv4 トラフィックのロード バランシングを行います。 |
|
ハッシュキーに IPv4 または IPv6 アドレスを含めます。また、 または のいずれかを設定する必要があります。 |
|
ハッシュキーにはレイヤー 3 IP 情報のみを含めます。ハッシュキーからすべての バイトを除外します。 |
|
送信元と宛先のポート フィールド情報を含めます。デフォルトでは、送信元ポートフィールドと宛先ポートフィールドの最上位バイトと最下位バイトがハッシュキーで使用されます。ハッシュキーで使用する特定のバイトを選択するには、 、および のオプションを 1 つ以上階層レベルで含めます。 |
|
宛先ポートの最下位バイトをハッシュキーに含めます。他の オプションと組み合わせることができます。 |
|
宛先ポートの最上位バイトをハッシュキーに含めます。他の オプションと組み合わせることができます。 |
|
送信元ポートの最下位バイトをハッシュキーに含めます。他の オプションと組み合わせることができます。 |
|
送信元ポートの最上位バイトをハッシュキーに含めます。他の オプションと組み合わせることができます。 |
ハッシュキーにIPアドレスと最初のラベルを含めるには、階層レベルでステートメントとステートメント のオプションを設定します。label-1
ip
payload
[edit forwarding-options hash-key family mpls]
[edit forwarding-options hash-key family mpls] label-1; payload { ip; }
IPアドレスと、1枚目と2枚目のラベルの両方をハッシュキーに含めるには、 階層レベルで ステートメントの および オプションと オプションを設定します。label-1
label-2
ip
payload
[edit forwarding-options hash-key family mpls]
[edit forwarding-options hash-key family mpls] label-1; label-2; payload { ip; }
階層レベルで 、 、 および のオプションを含めて、適切なロードバランシングを確保します。label-1
label-2
label-3
[edit forwarding-options hash-key family mpls]
[edit forwarding-options hash-key family mpls] label-1; label-2; label-3;
MPLS カプセル化ペイロードのロードバランシングの概要
MPLS では、ルーターのパケット単位でロードバランシングを行うことができます。IPヘッダーと最大3つのMPLSラベルの両方の情報に対してロードバランシングを実行できるため、MPLSトラフィックをネクストホップに均一に分散できます。
負荷分散は、次の条件に当てはまる場合にトラフィックを均等に分散するために使用されます。
同じ宛先への異なるインターフェイス上に、複数のイコールコストネクストホップが存在します。
集約されたインターフェイス上には単一のネクストホップがあります。
デフォルトでは、トラフィックの分散のためにロード バランシングを使用する場合、ハッシュ アルゴリズムを使用してネクストホップ アドレスを選択し、転送テーブルにインストールします。宛先のネクストホップのセットが何らかの形で変化するたびに、ハッシュアルゴリズムによってネクストホップアドレスが再選択されます。
MPLS上のイーサネットやイーサネット疑似配線など、複数のトランスポート層ネットワークがある場合、ハッシュアルゴリズムは、ペイロードの外側ヘッダーを超えて内側ヘッダーを調べて、均等な分布を生成する必要があります。内部カプセル化を決定するために、PFEは固定ペイロードオフセットでの特定のコードまたは番号の存在に依存しています。たとえば、ペイロード タイプ 0X800 の存在や、IPv4 パケットのプロトコル番号 4 の存在などです。Junos OS では、MPLS イーサ疑似ワイヤ ペイロードでイーサネット フレームの開始を示す オプションを設定できます 。zero-control-word
ハッシュジェネレータは、この制御ワード(数値がすべてゼロの4バイト)を見ると、MPLS ether-pseudowire パケットの制御ワードの末尾にイーサネットフレームの開始があると仮定します。
DPC Iチップベースのカードの場合は 階層レベルで オプションを設定し、MPCカードの場合は 階層レベルで オプションを設定します。zero-control-word
[edit forwarding-options hash-key family mpls ether-pseudowire]
zero-control-word
[edit forwarding-options enhanced-hash-key family mpls ether-pseudowire]
負荷分散のための MPLS カプセル化ペイロードの設定
デフォルトでは、トラフィックの分散のためにロード バランシングを使用する場合、ハッシュ アルゴリズムを使用してネクストホップ アドレスを選択し、転送テーブルにインストールします。宛先のネクストホップのセットが何らかの形で変化するたびに、ハッシュアルゴリズムによってネクストホップアドレスが再選択されます。 MPLS ether-pseudowire ペイロード内のイーサネットフレームの開始を示す オプションを設定します。zero-control-word
この制御ワード(すべてゼロの数値を持つ4バイト)を見ると、ハッシュジェネレータは、MPLS ether-pseudowireパケットの制御ワードの最後にイーサネットフレームの開始を想定します。
負荷分散のための MPLS カプセル化ペイロードの設定を始める前に、ルーティングとシグナリングのプロトコルを設定します。
負荷分散のために MPLS カプセル化ペイロードを設定するには:
zero-control-word
DPC Iチップベースのカードの場合は、階層レベルでオプションを設定します。
zero-control-word
[edit forwarding-options hash-key family mpls ether-pseudowire]
[edit forwarding-options hash-key family mpls ether-pseudowire] user@host# set zero-control-word
MPCカードの場合、 階層レベルで オプションを設定します。
zero-control-word
[edit forwarding-options enhanced-hash-key family mpls ether-pseudowire]
[edit forwarding-options enhanced-hash-key family mpls ether-pseudowire] user@host# set zero-control-word
ポリシーベースマルチパスルートの概要
セグメント ルーティング ネットワークは、コアに複数のトランスポート プロトコルを含めることができます。セグメント ルーティング、SR-TE、LDP または RSVP ルート、および SR-TE IP ルートを組み合わせ、ルーティング情報ベース(ルーティング テーブルとも呼ばれる)にマルチパス ルートをインストールできます。その後、ポリシー構成を通じて、mutlipath ルートを使用して選択的なサービス トラフィックを誘導できます。
- ポリシーベースマルチパスルートの理解
- ポリシーベースマルチパスルートのメリット
- ルート解決のためのポリシーベースのマルチパスルート
- ポリシーベースのマルチパスルートを使用したルート解決の例
- サービスクラス(CoS)転送ポリシーの強化
- ポリシー一致プロトコルの機能強化
- ポリシーベースのマルチパスルート設定がネットワークパフォーマンスに与える影響
ポリシーベースマルチパスルートの理解
ネットワークには、IGP、ラベル付きIGP、RSVP、LDP、セグメントルーティングトラフィックエンジニアリング(SR-TE)プロトコルなど、サービストラフィックの解決に使用されるさまざまなトランスポートプロトコルがあります。ただし、トランスポート プロトコルの組み合わせを使用してサービス トラフィックを解決することはできませんでした。ポリシーベースのマルチパス機能の導入により、セグメント ルーティングのトラフィック制御(SR-TE)LDP または RSVP ルートと SR-TE IP ルートを組み合わせて、ルーティング情報ベースにインストールされるマルチパス ルートを作成できます。ポリシー設定を通じてマルチパスルート経由のBGPサービスルートを解決し、プレフィックスごとに異なる方法でトラフィックを誘導することができます。
マルチパスルートは、負荷分散に使用されるルートエントリーのネクストホップを結合しています。マルチパス ルートエントリのすべてのサポート ルートは、同じルーティング情報ベースに存在する必要があります。サポートするルートが異なるルーティング情報ベースの下にある場合、 設定ステートメントを使用して 、特定のルーティング情報ベースにルートエントリを追加できます。rib-group
ポリシーを使用してマルチパスルートを設定し、ネクストホップを結合するルートのリストを選択できます。階層レベルで ステートメントと ステートメントを含めると、ポリシーベースのマルチパス ルートが作成されます。policy-multipath
policy
[edit routing-options rib routing-table-name]
ポリシーベースのマルチパス機能は、IP プロトコルと IPv6 プロトコルの両方でサポートされており、 階層レベルで設定できます 。[edit routing-instances]
たとえば、以下のように表示されます。
[edit routing-options] user@host# set rib inet.3 policy-multipath policy example-policy [edit policy-options] user@host# set policy-statement example-policy from example-conditions user@host# set policy-options policy-statement example-policy then accept
設定されたポリシーは、特定のプレフィックスの各ルートエントリーに適用されます。マルチパスルートは、複数のルート(アクティブルートを含む)がポリシーに合格した場合にのみ作成されます。ポリシーで設定されたアクション・コマンド(applyなど)は、アクティブ・ルートを使用して評価されます。非アクティブなルートの場合、ポリシーが適用され、ルートがマルチパスルートに参加できるかどうかが確認されます。マルチパスルートは、アクティブなルートのすべての属性を継承します。これらの属性は、マルチパスポリシー設定を使用して変更できます。
ポリシーベースマルチパスルートのメリット
-
コアネットワークプロトコルを柔軟に組み合わせて、選択的なトラフィックを誘導します。
-
マルチパス ルートを使用した加重等コスト マルチパスでネットワーク パフォーマンスを最適化します。
ルート解決のためのポリシーベースのマルチパスルート
セグメント ルーティング トラフィックエンジニアリング(SR-TE)LDP または RSVP ルートと SR-TE IP ルートを組み合わせ、ルーティング情報ベースにマルチパス ルートをインストールできます。ポリシーベースのマルチパスルートは、ルーティング情報ベースのアクティブなエントリではありません。ポリシーの設定によりマルチパスルートが生成された場合、アクティブルートではなく、プロトコルネクストホップの解決に使用されます。マルチパスルートネクストホップは、各構成ルートのネクストホップのゲートウェイをマージすることで作成されます。
ルート解決のためにポリシーベースのマルチパス ルートを設定する場合は、次の点を考慮してください。
-
マルチパスルートのメンバールートが、ルーターネクストホップ以外のネクストホップ、またはネクストホップをルーターネクストホップに転送する間接ネクストホップを指している場合、そのようなネクストホップは無視されます。
-
構成要素ルートが間接ネクストホップを指している場合、転送ネクストホップからのゲートウェイはマージされ、間接ネクストホップは無視されます。
-
ゲートウェイの総数がデバイスでサポートされている数 を超えた場合、ゲートウェイのみが 保持され、他のすべてのゲートウェイは無視されます。
maximum-ecmp
maximum-ecmp
-
重みの低いゲートウェイが優先されます。メンバールートの1つに間接ネクストホップのユニリストがあり、各ネクストホップが転送ネクストホップを指している場合、間接ネクストホップと転送ネクストホップの両方に重み値が存在する可能性があります。このような場合、ゲートウェイの重み値は、両方のレベルでの重みの複合効果を反映するように更新されます。
ポリシーベースのマルチパスルートを使用したルート解決の例
例として、以下の出力に示すように、宛先1 0.1.1.1/32に対して、セグメントルーティングトラフィックエンジニアリングLSP、ラベルIS-ISルート、LDP LSPがあると仮定します。
10.1.1.1/32 *[SPRING-TE/8] 00:00:58, metric 1, metric2 30 > to 10.13.1.2 via ge-0/0/1.1, Push 33333, Push 801005, Push 801006(top) [L-ISIS/14] 1w0d 00:15:57, metric 10 > to 10.12.1.1 via ge-0/0/0.1 to 10.22.1.1 via ge-0/0/0.2 to 10.23.1.1 via ge-0/0/0.3 to 10.24.1.1 via ge-0/0/0.4 to 10.25.1.1 via ge-0/0/0.5 to 10.13.1.2 via ge-0/0/1.1, Push 801001, Push 801005(top) [LDP/19] 1w0d 00:09:27, metric 1 > to 10.12.1.1 via ge-0/0/0.1 to 10.22.1.1 via ge-0/0/0.2 to 10.23.1.1 via ge-0/0/0.3 to 10.24.1.1 via ge-0/0/0.4 to 10.25.1.1 via ge-0/0/0.5 to 10.13.1.2 via ge-0/0/1.1, Push 801001, Push 801005(top)
ここで、セグメントルーティングLSPは、1 0.1.1.1の宛先へのアクティブなルートエントリーであり、デフォルトでは、このルートのみを使用して、1 0.1.1.1を超えるサービスを解決することができます。
サービスルートを解決するために複数のプロトコルを使用する必要がある場合、プロトコルを結合するように policy-multipath を設定することで、これを実現できます。policy-multipath例えば、サービス解決にセグメントルーティングとLDPパスが必要な場合、プレフィックス1 0.1.1.1のセグメントルーティングとLDPルートの組み合わせを設定する必要があります。policy-multipath
たとえば、以下のように表示されます。
[edit policy-options] user@host# set rib inet.3 policy-multipath policy example-policy user@host# set policy-statement abc term 1 from protocol spring-te user@host# set policy-statement abc term 1 from protocol ldp user@host# set policy-statement abc term 1 from route-filter 10.1.1.1/32 exact user@host# set policy-statement abc term 1 then accept
この設定では、セグメントルーティングとLDPプロトコルの構成要素ルートエントリーを使用する、プレフィックス1 0.1.1.1/32のポリシーベースのマルチパスルートを作成します。
次のように、コマンド出力を使用して マルチパス ルートを表示できます。show route
10.1.1.1/32 *[SPRING-TE/8] 00:10:28, metric 1, metric2 30 > to 10.13.1.2 via ge-0/0/1.1, Push 33333, Push 801005, Push 801006(top) [L-ISIS/14] 1w0d 00:25:27, metric 10 > to 10.12.1.1 via ge-0/0/0.1 to 10.22.1.1 via ge-0/0/0.2 to 10.23.1.1 via ge-0/0/0.3 to 10.24.1.1 via ge-0/0/0.4 to 10.25.1.1 via ge-0/0/0.5 to 10.13.1.2 via ge-0/0/1.1, Push 801001, Push 801005(top) [LDP/19] 1w0d 00:18:57, metric 1 > to 10.12.1.1 via ge-0/0/0.1 to 10.22.1.1 via ge-0/0/0.2 to 10.23.1.1 via ge-0/0/0.3 to 10.24.1.1 via ge-0/0/0.4 to 10.25.1.1 via ge-0/0/0.5 to 10.13.1.2 via ge-0/0/1.1, Push 801001, Push 801005(top) [Multipath/8] 00:03:13, metric 1, metric2 30 > to 10.12.1.1 via ge-0/0/0.1 to 10.22.1.1 via ge-0/0/0.2 to 10.23.1.1 via ge-0/0/0.3 to 10.24.1.1 via ge-0/0/0.4 to 10.25.1.1 via ge-0/0/0.5 to 10.13.1.2 via ge-0/0/1.1, Push 33333, Push 801005, Push 801006(top) to 10.13.1.2 via ge-0/0/1.1, Push 801001, Push 801005(top)
コマンド出力から、マルチパスルートがセグメントルーティングとLDPパスのネクストホップを組み合わせたことがわかります。マルチパスルート それはアクティブではなく、デフォルトでは、ルートの優先度とメトリックはアクティブなルートと同じです。
ポイルシーベースのマルチパスルートには、以下の組み合わせを使用できます。しかし、アクティブルートはマルチパスの一部ではないため、LDP/L-ISISのマルチパスを作成することはできません。
-
セグメントルーティングトラフィックエンジニアリングLSPとLDP LSP。
-
セグメントルーティング、トラフィックエンジニアリングされたLSP、ラベル付けIS-ISパス。
-
セグメントルーティングトラフィックエンジニアリングLSP、LDP LSP、およびラベルIS-ISパス。
ただし、アクティブルートはマルチパスルートの一部ではないため、LDPとラベルIS-ISのマルチパスルートを作成することはできません。
同じ設定で、プロトコルネクストホップが1 0.1.1.1のスタティックルート1.2.3.4/32が設定されていると仮定すると、このルートは、セグメントルーティングトラフィックエンジニアリングLSPとLDP LSPの両方にわたるマルチパスルートを使用して解決されます。
たとえば、以下のように表示されます。
10.1.3.4/32 *[Static/5] 00:00:12, metric2 1 to 10.12.1.1 via ge-0/0/0.1 > to 10.22.1.1 via ge-0/0/0.2 to 10.23.1.1 via ge-0/0/0.3 to 10.24.1.1 via ge-0/0/0.4 to 10.25.1.1 via ge-0/0/0.5 to 10.13.1.2 via ge-0/0/1.1, Push 33333, Push 801005, Push 801006(top) to 10.13.1.2 via ge-0/0/1.1, Push 801001, Push 801005(top)
サービスクラス(CoS)転送ポリシーの強化
サービスクラスベースの転送では、 設定ステートメントを使用する必要があります 。forwarding-policy next-hop-map
Junos OS リリース 19.1R1 以前は、サービスクラスベースの転送でサポートされる一致条件には以下のものがあります。
-
next-hop- 発信インターフェイスまたはネクストホップアドレスに基づいてネクストホップを照合します。
-
lsp-next-hop- LSP 名の正規表現を使用して、指定された LSP を照合します。
-
non-lsp-next-hop- LSP 名のないすべての LSP を照合します。
ポリシーベースのマルチパス ルート機能を使用すると、特定のプレフィックスに対してラベルなしですべてのネクスト ホップをマッチングすることもできます。これを行うには、 階層レベルで オプションを有効にする必要があります。non-labelled-next-hop
[edit class-of-service forwarding-policy next-hop-map map-name forwarding-class forwarding-class-name
たとえば、以下のように表示されます。
[edit] class-of-service { forwarding-policy { next-hop-map abc { forwarding-class best-effort { non-labelled-next-hop; } } } }
ポリシー一致プロトコルの機能強化
Junos OS Release 19.1R1以前では、 階層レベルで ステートメントを使用してプロトコルを一致させるポリシーを使用すると、すべてのプロトコルルート(ラベル付きおよびラベルなし)が一致していました。from protocol
[edit policy-options policy-statement statement-name]
ポリシーベースのマルチパスルート機能を使用すると、ラベル付きプロトコルルートを具体的にマッチングできます。
ラベル付きプロトコルを照合するためのオプション)は次のとおりです。
-
l-isis- ラベルの付いた IS-IS ルートに一致します。オプションは 、ラベル IS-IS ルートを除く IS-IS ルートに一致します。
isis
-
l-ospf- ラベル付き OSPF ルートに一致します。このオプションは 、OSPFv2、OSPFv3、ラベル OSPF を含むすべての OSPF ルートに一致します。
ospf
たとえば、以下のように表示されます。
[edit] policy-options { policy-statement abc { from protocol [ l-ospf l-isis ]; } }
ポリシーベースのマルチパスルート設定がネットワークパフォーマンスに与える影響
ポリシーベースのマルチパスルートを設定する場合、ルーティング情報ベースのルートを変更すると、マルチパスルートを作成する必要があるかどうかを確認するポリシーが評価されます。この機能では、メンバールートが同じルーティング情報ベースに存在する必要があるため、この ステートメントは、異なるルーティング情報ベースのルートをマージするために使用されます。rib-group
アプリケーションレベルで ステートメントを設定すると、システム内のルート数が増加します。rib-group
ルーティング情報ベースに多数のルートがある場合、ルートを絶えず変更することで、マルチパスポリシーが再評価されます。これは、ネットワークのパフォーマンスに影響を与える可能性があります。ポリシーベースのマルチパスルート機能は、必要な場合にのみ設定することをお勧めします。
MPLS トラフィックの IP ベース フィルタリングと選択的ポート ミラーリングについて
MPLS パケットでは、IP ヘッダーは MPLS ヘッダーの直後に来ます。IP ベースのフィルタリング機能は、内部ペイロードの最大 8 つの MPLS ラベルを検査し、IP パラメータに基づいて MPLS トラフィックをフィルタリングできる、詳細な検査メカニズムを提供します。また、フィルタリングされた MPLS トラフィックを監視デバイスにポート ミラーリングして、コア MPLS ネットワークでネットワークベースのサービスを提供することもできます。
MPLS トラフィックの IP ベース フィルタリング
Junos OS リリース 18.4R1 以前までは、IP パラメータに基づくフィルタリングは MPLS ファミリー フィルターではサポートされていませんでした。IP ベース フィルタリング機能の導入により、送信元/宛先アドレス、レイヤー 4 プロトコル タイプ、送信元ポートと宛先ポートなどの IP パラメーターに基づいて、MPLS タグ付き IPv4/IPv6 パケットのインバウンドおよびアウトバウンド フィルターを適用できるようになりました。
IP ベースのフィルタリング機能を使用すると、インターフェイスのイングレスで MPLS パケットをフィルタリングできます。この場合、MPLS パケットの内部ペイロードの一致条件を使用してフィルタリングが行われます。その後、選択的 MPLS トラフィックを、論理トンネルを使用してリモート監視デバイスにポート ミラーリングできます。
IP ベースのフィルタリングをサポートするために、新たな一致条件が追加され、適切なフィルタが適用される前に、MPLS パケットを深く検査して、レイヤー 3 およびレイヤー 4 ヘッダーで内部ペイロードを解析できるようになりました。
IP ベースのフィルタリング機能は、MPLS タグ付きの IPv4 および IPv6 パケットでのみサポートされます。つまり、MPLSフィルターは、IPペイロードがMPLSラベルの直後に来る場合にのみ、IPパラメーターを一致させます。
MPLSペイロードに疑似回線、inetおよびinet6以外のプロトコル、またはレイヤー2 VPNやVPLSなどの他のカプセル化が含まれるその他のシナリオでは、IPベースのフィルタリング機能はサポートされていません。
MPLS トラフィックの IP ベースのフィルタリングに、以下の一致条件が追加されます。
IPv4 送信元アドレス
IPv4宛先アドレス
IPv6 送信元アドレス
IPv6 宛先アドレス
プロトコル
送信元ポート
宛先ポート
送信元 IPv4 プレフィックス リスト
宛先 IPv4 プレフィックス リスト
送信元 IPv6 プレフィックス リスト
宛先 IPv6 プレフィックス リスト
MPLS トラフィックの IP ベースのフィルタリングでは、以下の一致の組み合わせがサポートされています。
送信元アドレスと宛先アドレスは、IPv4 および IPv6 プレフィックス リストと条件を一致させます。
送信元と宛先のポートアドレスとプロトコルタイプは、IPv4およびIPv6プレフィックスリストと条件を一致させます。
MPLS トラフィックの選択的ポート ミラーリング
ポートミラーリングは、パケットの通常の処理と転送に加えて、設定された宛先にパケットをミラーリングする機能です。ポートミラーリングは、ファイアウォールフィルターのアクションとして適用され、任意のインターフェイスのイングレスまたはエグレスで適用されます。同様に、選択的ポート ミラーリング機能では、論理トンネルを使用して、IP パラメータに基づいてフィルタリングされた MPLS トラフィックをミラーリングされた宛先にミラーリングする機能が提供されます。
選択的ポートミラーリングを有効にするには、既存の 、 、および アクションに加えて、追加のアクションが 階層レベルで設定されます。[edit firewall family mpls filter filter-nameterm term-name then]
counter
accept
discard
port-mirror
port-mirror-instance
Port Mirroring
このアクションにより 、すべてのパケット転送エンジン(PFE)と関連インターフェイスに適用される、デバイス上でグローバルにポートミラーリングが有効になります。port-mirror
MPLSファミリーフィルターの場合、 アクションはグローバルポートミラーリングで有効です。port-mirror
Port Mirroring Instance
この アクションにより、ポートミラーリングにシステム全体で単一の設定を使用する代わりに、入力サンプリングとポートミラーリングの出力宛先の異なるプロパティで各インスタンスをカスタマイズできます。port-mirror-instance
階層レベルで ステートメントを含めることで、フレキシブルPICコンセントレータ(FPC)ごとに2つのポートミラーリングインスタンスのみを設定できます。instance port-mirror-instance-name
[edit forwarding-options port-mirror]
その後、個々のポートミラーリングインスタンスをFPC、PIC、または(デバイスのハードウェアに応じて転送エンジンボード(FEB))に関連付けることができます。
MPLSファミリーフィルターの場合、アクションは ポートミラーリングインスタンスに対してのみ有効です。port-mirror-instance
および アクションの両方で、選択的ポート ミラーリング機能が動作するためには、出力インターフェイスがファミリー MPLS(レイヤー 3)ではなくレイヤー 2 ファミリーで有効になっている必要があります。port-mirror
port-mirror-instance
サンプル構成
IP ベースのフィルタリング設定
[edit firewall family mpls filter mpls-filter] term ipv4-term { from { ip-version { ipv4 { source-address { 10.10.10.10/24; } destination-address { 20.20.20.20/24; } protocol tcp { source-port 100; destination-port 200; } soure-prefix-list ipv4-source-users; destination-prefix-list ipv4-destination-users; } } exp 1; } then port-mirror; then accept; then count; } term ipv6-term { from { ip-version { ipv6 { source-address { 2000::1/128; } destination-address { 3000::1/128; } protocol tcp { source-port 100; destination-port 200; } source-prefix-list ipv6-source-users; destination-prefix-list ipv6-destination-users; } } exp 1; } then port-mirror-instance port-mirror-instance1; then accept; then count; }
[edit policy-options] prefix-list ipv4-source-users { 172.16.1.16/28; 172.16.2.16/28; } prefix-list ipv6-source-users { 2001::1/128; 3001::1/128; }
[edit interfaces] xe-0/0/1 { unit 0 { family inet { address 100.100.100.1/30; } family mpls { filter { input mpls-filter; } } } }
選択的ポート ミラーリングの設定
[edit forwarding-options] port-mirroring { input { rate 2; run-length 4; maximum-packet-length 500; } family any { output { interface xe-2/0/2.0; } } }
[edit forwarding-options] port-mirroring { instance { port-mirror-instance1 { input { rate 3; run-length 5; maximum-packet-length 500; } family any { output { interface xe-2/0/2.0; } } } } }
出力インターフェイス は、ファミリーMPLSではなく、レイヤー2ファミリー用に設定されています。xe-2/0/2.0
および アクションの両方で、選択的ポート ミラーリング機能が動作するためには、出力インターフェイスがファミリー MPLS(レイヤー 3)ではなくレイヤー 2 ファミリーで有効になっている必要があります。port-mirror
port-mirror-instance
ミラーリングされた宛先の設定
[edit interfaces] xe-2/0/2 { vlan-tagging; encapsulation extended-vlan-bridge; unit 0 { vlan-id 600; } }
[edit bridge-domains] bd { domain-type bridge; interface xe-2/0/2.0; }
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer をご利用ください。