BGPポリシーでのASパス検索のパフォーマンス向上
SUMMARY
正規表現を使用しないBGPポリシーでのASパスルックアップの概要
BGP ASパスおよびルーティングポリシー一致条件を使用する場合、正規表現を使用せずにASパス内の自律システム(AS)の一致をチェックするようにBGPポリシーを設定できます。BGPポリシーは、ASをASリストまたはAsリストグループと比較し、一致するものが見つかった場合はtrueを返します。BGP ポリシーを設定して、一致する送信元、ネイバー、またはトランジット AS を確認できます。この機能は、正規表現を使用するよりも、送信元、トランジット、およびピアAS番号を照合する代替手段として高速です。
BGPポリシーで正規表現を使用しないASパスのメリット:
- 送信元、ネイバー、トランジットASのルックアップを最適化することで、パフォーマンスが向上します。
- 速度の点でより高速な検索を提供します。
ASパス内のASを照合するための以下の操作がサポートされています。
-
ASパスの送信元ASに一致:ルートを発信したASを比較します。ASパス上の右端のAS番号が、
[edit policy-options policy-statement policy-name from]
階層レベルのas-path-origins
設定ステートメントで指定されたas-list
またはas-list-group
に属しているかどうかを評価します。ルートが集約され、送信元ASの場所にASセットが含まれている場合、ASセットに含まれるASがas-path-origins
設定ステートメントで指定されたas-list
またはas-list-group
に属していると、as-path-origins
演算子はtrueと評価します。 -
ASパスのネイバーASに一致 - ASパスのネイバーASを比較します。ASパスの最初のAS番号が、
[edit policy-options policy-statement policy-name from]
階層レベルのas-path-neighbors
設定ステートメントで指定されたas-list
またはas-list-group
と一致するかどうかを評価します。隣接するASロケーションがたまたまASセットである場合、ASセットに含まれるASがas-path-neighbors
設定ステートメントで指定されたas-list
またはas-list-group
に属しているかどうか、as-path-neighbors
演算子はtrueと評価します。 -
ASパス内のトランジットASに一致 - ASパス内の任意のASを比較します。ASが、
[edit policy-options policy-statement policy-name from]
階層レベルのas-path-transit
設定ステートメントで指定されたas-list
またはas-list-group
に属している場合に評価します。ASセットの場合、ASパストランジットオペレータはASセット内のすべてのASを比較します。
正規表現を使用しないASパスルックアップの設定
AS リスト、または送信元、ネイバー、およびトランジット AS 用の AS リストグループを定義することで AS パスルックアップを設定し、正規表現を使用せずにルートをフィルタリングできます。
次の表は、正規表現に基づくユニバーサルマッチと、実行時間の短縮による同等のマッチの設定を示しています。
一致タイプ | 正規表現に基づくユニバーサルマッチ | より速い実行時間と同等の一致 |
---|---|---|
ピア | パスピアマッチ「^101.*」としてポリシーオプションを設定します | ポリシーオプションをリストピアマッチメンバー101として設定します |
トランシット | ポリシーオプションをパストランジットマッチとして設定 ".*61453.*10001.*40007$" | ポリシーオプションを設定する AS-list トランジットマッチメンバー 61453 |
元 | ポリシーオプションをパスオリジンマッチとして設定 ".*54367$" | ポリシーオプションをリストとして設定する オリジンマッチメンバー 54367 |
以下の設定例では、送信元、ネイバー、およびトランジットASのASリスト(as-list as-list-name
)を定義する方法と、ポリシーを使用して正規表現を使用せずにルートをフィルタリングする方法を示しています。
ステップ1:送信元、ネイバー、およびトランジットASを照合するためのASリストを定義し、ポリシーを使用してルートをフィルタリングするフィルタとして適用します。
set policy-options as-list origin-match members 54367 set policy-options as-list neighbor-match members 101 set policy-options as-list transit-match members 61453 set policy-options as-list transit-match members 10001
送信元、ネイバー、トランジットASを照合するためのASリストグループ(as-list-group group-name
)を定義し、ポリシーを使用してルートをフィルタリングすることもできます。以下は、ポリシーを使用してルートをフィルタリングするために、送信元ASと一致するASリストグループを定義する設定例です。
set policy-options as-list-group origin_group as-list origin-match-1 members 3-4 set policy-options as-list-group origin_group as-list origin-match-2 members 6-9 set policy-options policy-statement neighbor-accept term 1 from as-path-origins as-list-group origin_group set policy-options policy-statement neighbor-accept term 1 then accept set policy-options policy-statement neighbor-accept term 2 then reject
送信元、ネイバー、およびトランジットに一致するASリストグループ ASは、ASメンバー(101など)またはASメンバーの範囲(6-9など)にすることができます。この場合、6、7、8、9 を起点とするすべてのルートが一致します。
ASメンバーの範囲(as-startからas-finish)を使用している場合、as-startメンバーの値はas-finishメンバー値以下にする必要があります。ASメンバーまたはASメンバーの範囲(開始時から終了時)を0にすることはできません。
as-list
またはas-list-group
は、ASセットを定義します。
送信元とネイバーのAS設定ルックアップを実行しているときに、ASパスからの最初または最後のASが照合されます。トランジットの場合、AS設定検索を実行するために、ASパス上で複数の反復が発生する可能性があります。
ステップ2:送信元、ネイバー、およびトランジット AS に基づいてルートを照合およびフィルタリングするポリシーを設定します。
set policy-options policy-statement as-list-match term transit-match from as-path-transits as-list transit-match set policy-options policy-statement as-list-match term transit-match then local-preference 300 set policy-options policy-statement as-list-match term transit-match then accept set policy-options policy-statement as-list-match term origin-match from as-path-origins as-list origin-match set policy-options policy-statement as-list-match term origin-match then local-preference 400 set policy-options policy-statement as-list-match term origin-match then accept set policy-options policy-statement as-list-match term neighbor-match from as-path-neighbors as-list peer-match set policy-options policy-statement as-list-match term peer-match then local-preference 200 set policy-options policy-statement as-list-match term peer-match then accept
ステップ3:ローカルの自律システムを定義します。
set routing-options autonomous-system 100
ステップ4:ポリシーをBGPインポートポリシーとして適用して、ルートをフィルタリングします。
set protocols bgp group ebgp-1 type external set protocols bgp group ebgp-1 import as-list-match set protocols bgp group ebgp-1 family inet unicast set protocols bgp group ebgp-1 neighbor 192.168.1.2 peer-as 101 set protocols bgp group ebgp-1 neighbor 192.168.1.6 peer-as 102
このポリシーは、インポートまたはエクスポートポリシーとして適用して、ルートをフィルタリングし、ポリシーで定義された対応するアクションを実行できます。
show route
CLI コマンドを使用して、ルーティング テーブル内のルートを表示できます。
from 句一致条件の設定ステートメントは、 [edit policy-options policy-statement policy-name from]
階層レベルと [edit policy-options policy-statement policy-name term term-name from]
階層レベルの両方で発生します。