RPDインフラストラクチャでのルートプレフィックスの優先度の設定
プレフィックスの優先順位付けは、ユーザーが特定のルートまたはプレフィックスに優先順位を付けてコンバージェンスを改善し、差別化されたサービスを提供するのに役立ちます。多数のルートを持つネットワークでは、ネットワークトポロジの変更によりルートが更新される順序を制御することが重要になる場合があります。システムレベルでは、Junos OSは、ルートが更新される順序を決定するヒューリスティックに基づく合理的なデフォルトを実装しています。ただし、既定の動作が常に最適であるとは限りません。プレフィックスの優先順位付けにより、ユーザーは、ルートが LDP または OSPF から rpd に、また rpd からカーネルに更新される順序を制御できます。Junos OS ポリシー言語が拡張され、ユーザーはプロトコル内の既存のインポートポリシーを使用してプレフィックスの相対優先度(高および低)を設定できるようになりました。タグ付きのプライオリティに基づいて、ルートは異なるプライオリティ キューに配置されます。トポロジーが変更された場合は、まずルーティング テーブルで優先度の高いプレフィックスが更新され、次に優先度の低いプレフィックスが更新されます。同じ優先度レベル内で、ルートは引き続き辞書式順に更新されます。明示的に優先度が割り当てられていないルートは、中程度の優先度として扱われます。
OSPF、LDP、および BGP などのプロトコルの rpd でのプレフィックス優先順位の設定を始める前に:
ルーター・インターフェイスを設定します。
MPLS を設定します。
OSPF、BGP、および LDP プロトコルを設定します。
OSPFプロトコルのプライオリティ high
を設定するには、次の手順に従います。
LDP は OSPF から継承します。
LDP のプライオリティ high
を設定するには:
OSPF からインポートするポリシー条件を設定します。
[edit policy-options policy-statement policy-name] user@host# set term term-name
たとえば、以下のように表示されます。
[edit policy-options policy-statement ospf-import] user@host# set term ospf_ldp
OSPFからルートと優先度を受け入れるように条件を設定します。
[edit policy-options policy-statement ospf_import term ospf_ldp] user@host# set from protocol ospf user@host# set from route-filter destination-prefix match-type
たとえば、以下のように表示されます。
[edit policy-options policy-statement ospf_import term ospf_ldp] user@host# set from protocol ospf user@host# set from route-filter 172.16.25.3/32 exact
設定を確認します。
[edit] user@host# show policy-options policy-statement ospf-import { term ospf_ldp { from { protocol ospf ; route-filter 172.16.25.3/32 exact; } then { priority high; accept; } } }
BGP プロトコルの優先度 high
を設定するには、次の手順に従います。
ポリシー条件を構成します。
[edit policy-options policy-statement policy-name] user@host# set term term-name
たとえば、以下のように表示されます。
[edit policy-options policy-statement prio-for-bgp] user@host# set term bgp_prio
目的のルートを一致条件として指定します。
[edit policy-options policy-statement prio-for-bgp term bgp_prio] user@host# set from protocol bgp user@host# set from route-filter destination-prefix match-type
たとえば、以下のように表示されます。
[edit policy-options policy-statement prio-for-bgp term bgp_prio] user@host# set from protocol bgp user@host# set from route-filter 172.16.50.1/32 exact
ルートを受け入れることを指定し、前の条件にマッチした場合にルートの優先度
high
を設定します。[edit policy-options policy-statement prio-for-bgp term bgp_prio] user@host# set then priority high user@host# set then accept
設定を確認します。
policy-statement prio_for_bgp { term bgp_prio { from { protocol bgp; route-filter 172.16.50.1/32 exact; } then { priority high; accept; } } }
BGPでは、L3VPNの場合、ルート識別子(RD)値に基づいて優先度を設定することもできます。例えば、ルート識別子 51.51.51.51:111 で BGP の優先度を設定できます。
ルート識別子(RD)値に基づいてBGPの優先度を設定するには、次の手順に従います。
ポリシー条件を構成します。
[edit policy-options policy-statement policy-name] user@host# set term term-name
たとえば、以下のように表示されます。
[edit policy-options policy-statement prio-for-bgp] user@host# set term bgp_prio
目的のルートを一致条件として指定します。
[edit policy-options policy-statement prio-for-bgp term bgp_prio] user@host# set from rib bgp.l3vpn.0 user@host# set from route-filter destination-prefix match-type user@host# set from route-distinguisher route-distinguisher value
たとえば、以下のように表示されます。
[edit policy-options policy-statement prio-for-bgp term bgp_prio] user@host# set from rib bgp.l3vpn.0 user@host# set from route-filter 172.16.1.1/32 exact user@host# set from route-distinguisher RD1
ルートを受け入れることを指定し、前の条件にマッチした場合にルートの優先度
high
を設定します。[edit policy-options policy-statement prio-for-bgp term bgp_prio] user@host# set then priority high user@host# set then accept
設定を確認します。
policy-statement prio_for_bgp { term bgp_prio { from { protocol rib bgp.l3vpn.0; route-filter 172.16.1.1/32 exact; route-distinguisher RD1; } then { priority high; accept; } } }
低プライオリティプレフィックスは、ルーティングテーブルで高プライオリティプレフィックスの後にのみインストールされます。また、低優先度に設定したいルートの優先度high
と同様に、優先度low
を設定することもできます。
優先順位は、ルートが RIB から FIB にプッシュされた場合にのみ適用されます。したがって、既にインストールされているルートの優先度を変更することはできません。すでにインストールされているルートの優先度を変更しても意味がありません。すでにインストールされているルートの優先度を変更しようとすると、show outputの違いがあります。
user@R1> show route 172.16.25.3 extensive | match state
State: <FlashAll>
State: <Active Int HighPriority> <=== OSPF
Validation State: unverified
State: <FlashAll>
State: <Active Int> <=== LDP
Validation State: unverified
ルートはすでに FIB にインストールされているため、LDP では優先度は [高] として表示されません。
ルーティングデーモンを再起動してルートを削除し、再度追加すると、OSPF と LDP プロトコルの両方の観点から適切な優先度が反映されます。
user@R1>restart routing
Routing protocols process signalled but still running, waiting 8 seconds more Routing protocols process started, pid 4512 user@R1>show route 172.16.25.3 extensive |match state
State: <FlashAll> State: <Active Int HighPriority> <=== OSPF Validation State: unverified State: <FlashAll> State: <Active Int HighPriority> <=== LDP Validation State: unverified