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

フィードバック