ルーティングポリシーを使用して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つ以上のダンピングパラメーターを指定しない場合は、パラメーターのデフォルト値が使用されます。
これらのパラメーターの設定方法を理解するには、ダンピングがどのようにルートを抑制するかを理解する必要があります。ルートを抑制できる期間は、 性能指数に基づいています。性能指数は、ルートが将来不安定になる確率と相関する値です。性能指数値が高いルートは、より長い時間抑制されます。性能指数値は時間の経過とともに指数関数的に低下します。
各新規ルートには、性能指数値ゼロが割り当てられます。この値は、ルートが取り下げまたは再アドバタイズされるたびに、またはそのパス属性の 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-suppressより小さい値を設定します。そうしない場合、設定は拒否されます。
抑制されたルートは、性能指数値が再利用しきい値を下回る値まで減衰すると再利用可能になり、一時的な不安定性を経験したルートを再び有効と見なすことができます。デフォルトの再利用しきい値は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するには、dampingステートメントと設定済みのダンピングパラメーターの名前を、[edit policy-options policy-statement policy-name term term-name from]階層レベルでroute-filterステートメントのオプションとして含めます。
[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 フラップ ダンピングの設定
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