ルーティングポリシーを使用してBGPルートフラッピングを減衰させる
BGP ルートフラッピング は、BGPシステムがネットワーク到達可能性情報をアドバタイズするために、過剰な数の更新メッセージを送信する状況を表します。BGP フラップダンピング は、BGPピア間で送信されるアップデートメッセージの数を減らすことで、ルートコンバージェンス時間に悪影響を与えることなく、これらのピアの負荷を軽減する方法です。
フラップダンピングは、ルートをアクティブルートまたは優先ルートとして選択できないとしてマークすることにより、更新メッセージの数を削減します。これを行うと、ルート情報の伝送をある程度遅延または 抑制しますが、その結果、ネットワークの安定性が向上します。通常、フラップダンピングは外部BGP(EBGP)ルート(つまり、異なるASのルート)に適用します。また、コンフェデレーション内で、コンフェデレーションメンバーAS間で適用することもできます。AS内のルーティングの一貫性は重要であるため、IBGPルートにはフラップダンピングを適用しないでください。(その場合は無視されます)。
BGPフラップダンピングは、RFC 2439、 BGPルートフラップダンピングで定義されています。
デフォルトの BGP フラップダンピング値に変更を有効にするには、ダンピングパラメータの名前付きセットを作成し、それを damping
アクションとともにルーティングポリシーに含めることでアクションを定義します( ルート特性を操作するアクションの設定を参照)。ダンピング ルーティング ポリシーが機能するためには、BGP ルート フラップ ダンピングも有効にする必要があります。
次のセクションでは、次のトピックについて説明します。
BGP フラップ ダンピング パラメータの設定
ダンピング パラメーターを定義するには、 damping
ステートメントを含めます。
[edit policy-options] damping name { disable; half-life minutes; max-suppress minutes; reuse number; suppress number; }
この名前は、ダンピング パラメーターのグループを識別します。ここでは、文字、数字、ハイフン(-)を含め、最大255文字までを使用できます。名前にスペースを含めるには、名前全体を引用符(“ ”)で囲みます。
表 1で説明されているダンピング パラメーターを 1 つ以上指定できます。
ダンピングパラメータ |
説明 |
デフォルト |
可能な値 |
---|---|---|---|
|
減衰半減期、分単位 |
15分 |
1〜45分 |
|
最大ホールドダウン時間(分) |
60分 |
1 から 720 分 |
|
再利用しきい値 |
750(ユニットレス) |
1 から 20,000 (単位なし) |
|
カットオフ(抑制)しきい値 |
3000(ユニットレス) |
1 から 20,000 (単位なし) |
1 つ以上の減衰パラメータを指定しない場合は、パラメータのデフォルト値が使用されます。
これらのパラメータの設定方法を理解するには、ダンピングがルートを抑制する方法を理解する必要があります。ルートをどのくらい長く抑制できるかは、 性能指数(ルートが将来不安定になる確率と相関する値)に基づきます。性能指数値が高いルートは、より長い時間抑制されます。性能指数値は、時間の経過とともに指数関数的に減衰します。
性能指数値 0 が、新しい各ルートに割り当てられます。この値は、ルートが撤回または再アドバタイズされるたびに、またはそのパス属性の 1 つが変更されたときに増加します。不安定になるたびに、値は次のように増加します。
ルートが取り下げられる - 1000
ルートが再アドバタイズされる—1000
ルートのパス属性の変更—500
注:他のベンダーの性能指数の実装では、ルートが取り下げられた場合にのみ価値が増加します。Junos OSに性能指数を実装すると、ルート離脱とルート再広告の両方のメリットが高まります。性能指数の他の実装に対応するには、
reuse
とsuppress
のしきい値に 2を掛けます。
ルートの性能指数値がカットオフまたは抑制しきい値と呼ばれる特定のレベルに達すると、ルートが抑制されます。ルートが抑制されると、ルーティングテーブルはルートを転送テーブルにインストールせず、このルートをどのルーティングプロトコルにもエクスポートしなくなります。デフォルトでは、性能指数値が3000に達するとルートが抑制されます。このデフォルトを変更するには、[edit policy-options damping name]
階層レベルで suppress
オプションを含めます。
ルートがフラップした後、安定し、設定可能な時間内に前述のインシデントが発生しない場合、ルートの性能指数値は指数関数的に減少します。デフォルトの半減期は15分です。たとえば、性能指数値が 1500 のルートの場合、インシデントが発生しない場合、その性能指数値は 15 分後に 750 に減少し、さらに 15 分後に 375 に減少します。デフォルトの半減期を変更するには、[edit policy-options damping name]
階層レベルで half-life
オプションを含めます。
半減期には、max-supressより小さい値を設定します。そうしない場合、設定は拒否されます。
抑制されたルートは、その性能指数値が 再使用しきい値を下回る値に減衰すると再利用可能になるため、一時的な不安定性を経験したルートは再び有効と見なされるようになります。デフォルトの再使用しきい値は 750 です。性能指数値が再利用しきい値を下回ると、ルートは再び使用可能と見なされ、転送テーブルにインストールしてルーティングテーブルからエクスポートできます。デフォルトの再使用しきい値を変更するには、[edit policy-options damping name]
階層レベルで reuse
オプションを含めます。
最大抑制時間は、ルートが抑制されたままでいられる時間の上限となります。デフォルトの最大抑制時間は 60 分です。デフォルトを変更するには、[edit policy-options damping name]
階層レベルで max-suppress
オプションを含めます。
max-supressには、半減期より大きい値を設定します。そうしない場合、設定は拒否されます。
ルートの性能指数値は、ルートの抑制しきい値レベル、半減期、再使用しきい値、および最大ホールドダウン時間に基づいて決定される最大抑制しきい値に達すると増加を停止します。
フラッピングルートが収集できる最大のメリットであるメリット上限ε cは、次の式を使用して計算されます。
εc ≤ εr e(t/λ) (ln 2)
εr は性能指数再利用しきい値、tは最大ホールドダウン時間(分)、λは分単位の半減期です。たとえば、この式でデフォルトの性能指数値を使用し、30分の半減期を使用する場合、計算は次のようになります。
εC ≤ 750 E(120/30) (LN 2)
εC ≤ 12000
suppress
オプションを使用して設定するカットオフしきい値は、メリット上限(εc)以下である必要があります。設定されたカットオフ閾値またはデフォルトのカットオフ閾値がメリット上限より大きい場合、ルートは抑制されず、ダンピングは発生しません。
性能指数情報を表示するには、 show policy damping
コマンドを使用します。
性能指数が割り当てられたルートは、減衰状態を持つと見なされます。ルーティング デバイスの電流ダンピング情報を表示するには、 show route detail
コマンドを使用します。
ルーティングポリシーの用語におけるアクションとしてBGPフラップダンピングを指定する
BGP フラップ ダンピングをルーティング ポリシーの用語のアクションとして使用するには、[edit policy-options policy-statement policy-name term term-name from]
階層レベルで route-filter
ステートメントのオプションとして、damping
ステートメントと設定済みのダンピング パラメーターの名前を含めます。
[edit policy-options policy-statement policy-name term term-name from] route-filter destination-prefix match-type { damping damping-parameters; }
または [edit policy-options policy-statement policy-name term term-name then]
階層レベルで:
[edit policy-options policy-statement policy-name term term-name then] damping damping-parameters;
特定のアドレス プレフィックスのダンピングの無効化
通常、ダンピングの有効化または無効化はピアごとに行います。ただし、 disable
オプションを含めることで、ピアから受信した特定のプレフィックスのダンピングを無効にすることができます。
[edit policy-options damping name] disable;
特定のアドレス プレフィックスのダンピングの無効化
このルーティングポリシーの例では、ピアに対してダンピングが有効になっていますが、 damping none
ステートメントは、 Policy-A
のプレフィックス10.0.0.0/8に対してダンピングを無効にすることを指定します。Policy-A
という名前のルーティングポリシーステートメントはプレフィックス10.0.0.0/8でフィルタリングし、アクションはnone
という名前のdamping
ステートメントを指しているため、このルートは減衰しません。残りのプレフィックスは、デフォルトのパラメータを使用して減衰されます。
[edit] policy-options { policy-statement Policy-A { from { route-filter 10.0.0.0/8 exact; } then damping none; } damping none { disable; } }
BGP Flap Damping の設定
BGP フラップ ダンピングを有効にし、ダンピング パラメーターを設定します。
[edit] routing-options { autonomous-system 666; } protocols { bgp { damping; group group1 { traceoptions { file bgp-log size 1m files 10; flag damping; } import damp; type external; peer-as 10458; neighbor 192.168.2.30; } } } policy-options { policy-statement damp { from { route-filter 192.168.0.0/32 exact { damping high; accept; } route-filter 172.16.0.0/32 exact { damping medium; accept; } route-filter 10.0.0.0/8 exact { damping none; accept; } } } damping high { half-life 30; suppress 3000; reuse 750; max-suppress 60; } damping medium { half-life 15; suppress 3000; reuse 750; max-suppress 45; } damping none { disable; } }
このコンフィギュレーションのダンピング パラメータを表示するには、 show policy damping
コマンドを使用します。
user@host> show policy damping Damping information for "high": Halflife: 30 minutes Reuse merit: 750 Suppress/cutoff merit: 3000 Maximum suppress time: 60 minutes Computed values: Merit ceiling: 3008 Maximum decay: 24933 Damping information for "medium": Halflife: 15 minutes Reuse merit: 750 Suppress/cutoff merit: 3000 Maximum suppress time: 45 minutes Computed values: Merit ceiling: 6024 Maximum decay: 12449 Damping information for "none": Damping disabled