CoPP の概要
コントロール プレーン ポリシング(CoPP)はコントロール プレーンを保護し、それをデータ プレーンから分離することによって、ネットワークの安定性、到達可能性、およびパケット配信を保証します。
この機能により、コントロール プロセッサに到達可能な各プロトコルに対して、パラメータの仕様でポリサーを使用したレート制限が可能になります。ポリシングは、ルータまたはレイヤ 3 スイッチの IP アドレスのいずれかを宛先とするすべてのトラフィックに適用されます。ネットワーク デバイスへの一般的な攻撃ベクトルは、過剰なトラフィックがデバイス インターフェイスに転送されるサービス妨害(DoS)攻撃です。
Cisco ACI リーフ/スパイン NX-OSは、DoS 攻撃がパフォーマンスに影響しないようにするために CoPP を提供します。このような攻撃は誤って、または悪意を持って実行される場合があり、通常は、ACI リーフ/スパイン CPU のスーパーバイザ モジュールまたは CPU 自体に宛てられた大量のトラフィックが含まれます。
ACI リーフ/スパイン スイッチのスーパーバイザ モジュールは、管理対象のトラフィックを次の 2 つの機能コンポーネント(プレーン)に分類します。
-
データ プレーン:すべてのデータ トラフィックを処理します。NX-OS デバイスの基本的な機能は、インターフェイス間でパケットを転送することです。スイッチ自身に向けられたものでないパケットは、中継パケットと呼ばれます。データ プレーンで処理されるのはこれらのパケットです。
-
コントロール プレーン:ルーティング プロトコルのすべての制御トラフィックを処理します。ボーダー ゲートウェイ プロトコル(BGP)や Open Shortest Path First(OSPF)プロトコルなどのルーティング プロトコルは、デバイス間で制御パケットを送信します。これらのパケットはルータのアドレスを宛先とし、コントロール プレーン パケットと呼ばれます。
ACI リーフ/スパイン スーパーバイザ モジュールはコントロール プレーンを所有しており、ネットワークの動作に重要です。スーパーバイザ モジュールの動作が途絶したり、スーパーバイザ モジュールが攻撃されたりすると、重大なネットワークの停止につながります。たとえばスーパーバイザに過剰なトラフィックが加わると、スーパーバイザ モジュールが過負荷になり、Cisco ACI ファブリック全体のパフォーマンスが低下する可能性があります。またたとえば、ACI リーフ/スパイン スーパーバイザ モジュールに対する DoS 攻撃は、コントロール プレーンに対して非常に高速に IP トラフィック ストリームを生成することがあります。これにより、コントロール プレーンは、これらのパケットを処理するために大量の時間を費やしてしまい、本来のトラフィックを処理できなくなります。
次に、DoS 攻撃の例を示します。
-
インターネット制御メッセージ プロトコル(ICMP)エコー要求
-
IP フラグメント
-
TCP SYN フラッディング
これらの攻撃によりデバイスのパフォーマンスが影響を受け、次のようなマイナスの結果をもたらします。
-
サービス品質の低下(音声、ビデオ、または重要なアプリケーション トラフィックの低下など)
-
ルート プロセッサまたはスイッチ プロセッサの高い CPU 使用率
-
ルーティング プロトコルのアップデートまたはキープアライブの消失によるルート フラップ
-
メモリやバッファなどのプロセッサ リソースの枯渇
-
着信パケットの無差別のドロップ
(注) |
ACI リーフ/スパインは、デフォルト設定で CoPP によって保護されているデフォルトです。この機能では、顧客のニーズに基づいてノードのグループにパラメータを調整できます。 |
コントロール プレーン保護
コントロール プレーンを保護するために、ACI リーフ/スパインで実行している Cisco NX-OS でコントロール プレーンに向かうさまざまなパケットを異なるクラスに分離します。クラスの識別が終わると、Cisco NX-OS デバイスはパケットをポリシングします。これにより、スーパーバイザ モジュールに過剰な負担がかからないようになります。
コントロール プレーンのパケット タイプ:
コントロール プレーンには、次のような異なるタイプのパケットが到達します。
-
受信パケット:ルータの宛先アドレスを持つパケット。宛先アドレスには、レイヤ 2 アドレス(ルータ MAC アドレスなど)やレイヤ 3 アドレス(ルータ インターフェイスの IP アドレスなど)があります。これらのパケットには、ルータ アップデートとキープアライブ メッセージも含まれます。ルータが使用するマルチキャスト アドレス宛てに送信されるマルチキャスト パケットも、このカテゴリに入ります。
-
例外パケット:スーパーバイザ モジュールによる特殊な処理を必要とするパケット。たとえば、宛先アドレスが Forwarding Information Base(FIB; 転送情報ベース)に存在せず、結果としてミスとなった場合は、スーパーバイザ モジュールが送信側に到達不能パケットを返します。他には、IP オプションがセットされたパケットもあります。
-
リダイレクト パケット:スーパーバイザ モジュールにリダイレクトされるパケット。ダイナミック ホスト コンフィギュレーション プロトコル(DHCP)スヌーピングやダイナミック アドレス解決プロトコル(ARP)インスペクションなどの機能は、パケットをスーパーバイザ モジュールにリダイレクトします。
-
収集パケット:宛先 IP アドレスのレイヤ 2 MAC アドレスが FIB に存在していない場合は、スーパーバイザ モジュールがパケットを受信し、ARP 要求をそのホストに送信します。
これらのさまざまなパケットはすべて、コントロール プレーンへの悪意ある攻撃に利用され、Cisco ACI ファブリックに過剰な負荷をかける可能性があります。CoPP は、これらのパケットを異なるクラスに分類し、これらのパケットを ACI リーフ/スパイン スーパーバイザが受信する速度を個別に制御するメカニズムを提供します。
CoPP の分類:
効果的に保護するために、ACI リーフ/スパイン NX-OS はスーパーバイザ モジュールに到達するパケットを分類して、パケット タイプに基づいた異なるレート制御ポリシーを適用できるようにします。たとえば、Hello メッセージなどのプロトコル パケットには厳格さを緩め、IP オプションがセットされているためにスーパーバイザ モジュールに送信されるパケットには厳格さを強めることが考えられます。
レート制御メカニズム:
パケットの分類が終わると、ACI リーフ/スパイン NX-OS にはスーパーバイザ モジュールに到達するパケットのレートを制御するメカニズムがあります。
ポリシングには、次のパラメータを設定できます。
-
認定情報速度(CIR):リンク レートをビット レートまたはパーセンテージで指定した、目的の帯域幅。
-
認定バースト(BC):指定した時間枠内に CIR を超過する可能性があるが、スケジューリングには影響を与えないトラフィック バーストのサイズ。
デフォルトのポリシング ポリシー:
Cisco ACI リーフ/スパイン ブートアップがある場合は、プラットフォーム設定事前定義された CoPP パラメータのさまざまなプロトコルが Cisco によって実行テストに基づいています。
CoPP の注意事項と制約事項
CoPP に関する注意事項と制約事項は次のとおりです。
-
最初にデフォルト CoPP ポリシーを使用し、後で、データセンターおよびアプリケーションの要件に基づいて CoPP ポリシーを変更することをお勧めします。
-
CoPP のカスタマイズは継続的なプロセスです。CoPP を設定するときには、特定の環境で使用されるプロトコルや機能に加えて、サーバ環境に必要なスーパーバイザ機能を考慮する必要があります。これらのプロトコルや機能が変更されたら、CoPP を変更する必要があります。
-
CoPP を継続的にモニタすることを推奨します。ドロップが発生した場合は、CoPP がトラフィックを誤ってドロップしたのか、または誤動作や攻撃に応答してドロップしたのかを判定してください。いずれの場合も、状況を分析し、CoPP ポリシーを変更する必要を評価します。
-
CoPP ポリシーによって、ルーティング プロトコルなどのクリティカルなトラフィック、またはデバイスへのインタラクティブなアクセスがフィルタリングされないように注意してください。このトラフィックをフィルタリングすると、Cisco ACI リーフ/スパインへのリモート アクセスが禁止され、コンソール接続が必要となる場合があります。
-
APIC UI を使用して、CoPP パラメータを調整することができます。
-
プロトコルごとの各インターフェイスはリーフ スイッチでのみサポートされています。
-
プロトコルごとの各インターフェイスで FEX ポートはサポートされていません。
-
プロトコルごとの各インターフェイスでサポートされているプロトコルは、ARP、ICMP、CDP、LLDP、LACP、BGP、STP、BFD、および OSPF です。
-
プロトコルごとの各インターフェイスの最大の TCAM エントリは 256 です。しきい値を超過すると、障害が発生します。
APIC GUI を使用した CoPP の設定
手順
ステップ 1 |
メニュー バーで、 をクリックします。 |
ステップ 2 |
[ナビゲーション] ペインで、 を展開して、[リーフ レベルで適用される CoPP のプロファイルの作成] ダイアログ ボックスを右クリックし、[リーフ レベルで適用される CoPP のプロファイルの作成] ダイアログ ボックスの次のアクションを実行します。 |
ステップ 3 |
[ナビゲーション] ペインで、 を展開し、[アクセス スイッチ ポリシー グループの作成] ダイアログ ボックスを右クリックして、[アクセス スイッチ ポリシー グループの作成] ダイアログ ボックスの次のアクションを実行します。
|
ステップ 4 |
[ナビゲーション] ペインで、 を展開して、[リーフ プロファイルの作成] ダイアログ ボックスを右クリックして、[リーフ プロファイルの作成] ダイアログ ボックスの次のアクションを実行します。
|
Cisco NX-OS CLI を使用した CoPP の設定
手順
ステップ 1 |
CoPP リーフ プロファイルを設定します。 例:
|
ステップ 2 |
CoPP スパイン プロファイルを設定します。 例:
|
REST API を使用した CoPP の設定
手順
ステップ 1 |
CoPP リーフ プロファイルを設定します。 例:
|
ステップ 2 |
CoPP スパイン プロファイルを設定します。 例:
|
GUI を使用した CoPP 統計情報の表示
CoPP の調整を適切に行うには、指定のモードの指定のプロトコルでドロップ/許可されたパケット数を知る必要があります。次の手順を使用して、GUI で情報を表示できます。
手順
メニュー バーで、 の順にクリックして、クラスのリストから選択し、統計情報の表示形式を設定します。CoPP によって許可またはドロップされたパケット数に関する統計情報を収集することができます。 |
APIC GUI を使用したプロトコル CoPP ポリシーごとの各インターフェイスの設定
手順
ステップ 1 |
メニュー バーで、 をクリックします。 |
ステップ 2 |
[ナビゲーション] ペインで、 を展開して、[プロトコル CoPP ポリシーごとの各インターフェイスの作成] ダイアログ ボックスを右クリックして、[プロトコル CoPP ポリシーごとの各インターフェイスの作成] ダイアログ ボックスの次のアクションを実行します。
|
ステップ 3 |
[ナビゲーション] ペインで、 を展開して、[リーフ アクセス ポート ポリシー グループの作成] ダイアログ ボックスを右クリックして、[リーフ アクセス ポート ポリシー グループの作成] ダイアログ ボックスの次のアクションを実行します。
|
ステップ 4 |
[ナビゲーション] ペインで、 を展開して、[リーフ インターフェイス プロファイルの作成] ダイアログ ボックスを右クリックして、[リーフ インターフェイス プロファイルの作成] ダイアログ ボックスの次のアクションを実行します。
|
NX-OS スタイル CLI を使用するプロトコル CoPP ポリシーごとのインターフェイスごとの設定
手順
ステップ 1 |
CoPP クラス マップおよびポリシー マップを定義します。 例:
|
ステップ 2 |
リーフのインターフェイスに設定を適用します。 例:
|
REST API を使用するプロトコルごとのインターフェイスあたりの CoPP の設定
手順
プロトコルごとにインターフェイスあたりの CoPP を設定します。 例:
|