Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ルート フィルターのウォークアップの概要

複数のポリシー条件にまたがってルート フィルターが分割されることで、ポリシーのパフォーマンスに懸念がある場合は、ウォークアップ機能を使用します。ウォークアップ機能により、1つのポリシー条件にルート フィルターを統合できます。

デフォルトでは、Junosはポリシーステートメント条件内の複数のルートフィルターを評価します。まず、ロンゲストマッチのプレフィックスを見つけてから、ルートフィルターにアタッチされた条件(プレフィックス範囲など)を評価します。ルート フィルター条件が false の場合(例えば、プレフィックスが指定範囲内にない場合)、より短いルート フィルターのプレフィックスが真になる可能性がある場合でも、項全体が false になります。この動作が原因で、ルート フィルターが個々のポリシー ステートメント条件に分割されている場合、パフォーマンスの問題が発生する可能性があります。ウォークアップ機能は、デフォルトのルート フィルターの動作を変更します。

一部の自動化されたポリシー ツール(例えば、ボーダー ゲートウェイ プロトコル(BGP)の自律システム境界ルーターに使用されるツール)では、デフォルトのルート フィルターの動作により、ルート フィルターが複数の用語に分割されます。ルート フィルタは、BGP 以外のルーティング プロトコルでも使用されます。ウォークアップ機能は、BGP ルート フィルターに限定されません。

注:

技術的には、BGPはOSPFやIS-ISと同じ方法でルートを処理することはありません。BGPの「ルート」は、より適切にはネットワーク層到達性情報(NLRI)更新と呼ばれています。ただし、"ルート" という用語はほとんどのドキュメントで使用されており、ここで使用されています。

ルート フィルターは、次の 3 つの主要部分で構成されます。

  1. プレフィックスとプレフィックス長(例えば、 )10.0.0.0/8

  2. 一致条件(例えば、 )exact

  3. 前の両方の部分(プレフィックスと一致条件)が両方とも true と評価された場合に実行されるアクション(例えば、 )accept

したがって、ルート フィルターは、 考慮されるプレフィックスが正確に である 場合にのみ成功します。10.0.0.0/8 exact accept10.0.0.0/8 このルート フィルターは、 などの他の長いプレフィックスが付いたルートを拒否しますが、 ポリシー チェーン内にルートを受け入れる 他のルート フィルター条件が存在する可能性があります。10.0.0.0/1010.0.0.0/10

注:

ルートとバリエーションは 特にドキュメント用に予約されていませんが、このアドレス空間が提供する柔軟性と現実的なシナリオのため、このトピックではプライベート RFC 1918 アドレス空間を使用します。10.0.0.0/810.0.0.0/8

ルート フィルターは、1 つのポリシー ステートメント条件に組み合わせることができます。その場合、評価はより複雑になります。以下のルーティング・ポリシーを考慮してください:

フィルターの スコープにはフィルターが含まれている ことに注意してください。10.0.0.0/8 orlonger10.0.0.0/16 prefix-length-range /22-/24 つまり、プレフィックスが 8 ビット以上のルートは、 プレフィックスが 22 ビットから 24 ビットの範囲のルートにもなり得ます。10.0.0.0

デフォルトでは、複数のルート フィルターを使用したポリシー ステートメント条件の評価は、次の 2 段階のプロセスです。

  1. ポリシー フレームワーク ソフトウェアは、プレフィックスとプレフィックス長の値に基づいて、リスト上で最長一致ルックアップを実行します。

  2. ソフトウェアは、ルート フィルター条件(、 など)を考慮します。orlongerexact ルートは、ルート フィルター条件を満たしているか(成功)、ルート フィルター条件に一致しない(失敗)かのいずれかです。

これら2つのステップの結果に基づいて、一致または失敗によって決定されたアクションがルートに適用されます。では 、これは、用語で「true」であるルートはすべて受け入れられ、用語内で 「false」であるルートは拒否されることを意味します。Route-Filter-ARouteFilter-1 このルートは非表示(フィルタリング)ルートになります。

例えば、ポリシーステートメントによってルートが評価されるとどうなるかを考えてみましょう。10.0.0.0/18RouteFilter-A

まず、 ルートが項によって 評価されます。10.0.0.0/18RouteFilter-1 が よりも長いため、ルートはより長く、より具体的なルート プレフィックスに一致します。10.0.0.0/1610.0.0.0/810.0.0.0/18 次に、ルートが条件に一致しないため、マッチングが失敗します。10.0.0.0/18prefix-length-range /22-/24 そのため、 項 ではルート一致が失敗し、ポリシーは次の項であるデフォルト項を調べます。RouteFilter-1 ルートは 、デフォルトの条件によって拒否されます。10.0.0.0/18

その結果、 ルートは非表示(フィルタリング)されます。10.0.0.0/18 (ルートは 引き続き コマンドで 見つけることができます。10.0.0.0/18show route hidden

問題は、ユーザーが実際にルートを拒否するのではなく受け入れることを望んでいる 可能性があることです。10.0.0.0/18 当然、構成のある ルート フィルターを追加できます。10.0.0.0/18 exact しかし、エントリー数が 100,000 以上のバックボーン ルーティング テーブルでは、すべてのルートまたはネットワークに追加されるすべての新規ルートにチューニングされたルート フィルターを構成することはできません。

ルーティング・ポリシーの例から適切な動作を得るためのデフォルトの回避策は、ルート・フィルターごとに個別の条件を設定することです。これは、次のように頻繁に行われます。

これでルートが 受け入れられるようになったのは、一致条件には失敗 するものの、新しい 項に一致する( が最長一致で、条件が 真)ためです。10.0.0.0/18RouteFilter-1RouteFilter-210.0.0.0/8orlonger このアプローチの問題点は、複数のルート フィルターをグループ化した場合よりも、完全なルーティング ポリシーの評価に時間がかかることです。この方法では、メンテナンスもより複雑になります。

ルートフィルターごとに1項アプローチの問題は、ウォークアップステートメントと機能で解決されます。ウォークアップは、ルート フィルター評価のデフォルト動作をグローバルに変更するか、ポリシーごとに変更します。

ウォークアップ機能により、複数のルート フィルターを持つ条件では、最長一致のルートだけでなく、あまり限定的でないルートも含めて評価を「ウォークアップ」できます。つまり、ウォークアップ ノブは、デフォルトの動作を「1 つが失敗した場合は項が失敗する」から「1 つが一致する場合は項が一致する」に変更します。

ポリシーステートメントの例にウォークアップ機能を適用することを検討してください(設定されたすべてのポリシーにウォークアップをグローバルに適用することもできます)。

これは、ルートプレフィックス がポリシーステートメント によって評価されると発生します。10.0.0.0/18RouteFilter-A

デフォルトの動作は、ウォークアップノブによって変更されます。先ほどと同様に、ルートは が よりも長いため、より長く、より具体的なルート プレフィックスと一致します。10.0.0.0/1810.0.0.0/1610.0.0.0/8 以前と同様に、ルートが 条件に一致しないため、この照合は 失敗します。10.0.0.0/18prefix-length-range /22-/24 ただし、今回は「ウォークアップ」でプロセスを続行し、より限定的で ないルート フィルターを調べます。10.0.0.0/8 の ルート条件はこのフィルターに一致するため、ルートは条件によって 受け入れられます。orlongerRouteFilter-1

これは、 コマンドで (BGPルートについて)確認できます。show route protocol bgp 10.0.0.0/18 今回は、ルートは非表示になりません。

ウォークアップ機能をグローバルに有効にした場合、 ステートメントを使用して ポリシーごとにローカルで上書きできます。[edit policy-options policy-statements policy-statement-name defaults route-filter no-walkup]