この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、Cisco Nexusスイッチでのコントロールプレーンポリシング(CoPP)と、デフォルト以外のクラス違反に対するその影響について詳しく説明します。
Ciscoでは、Control Plane Policing(CoPP;コントロールプレーンポリシング)、そのガイドラインと制限事項、および一般的な設定、さらにQuality-of-Service(QoS)ポリシング(CIR)機能に関する基本的な情報を理解しておくことを推奨しています。この機能の詳細については、該当するドキュメントを参照してください。
このドキュメントに関する固有の要件はありません。
このドキュメントは、特定のソフトウェアおよびハードウェアの要件に限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
コントロールプレーントラフィックは、リダイレクトアクセスコントロールリスト(ACL)によってスーパーバイザモジュールにリダイレクトされます。ACLは、ハードウェアレートリミッタとCoPPの2つの保護レイヤを通過する、一致したトラフィックをパントするようにプログラムされています。スーパーバイザモジュールの中断や攻撃をオフのままにしておくと、深刻なネットワーク停止につながる可能性があります。そのため、CoPPは保護メカニズムとして機能します。コントロールプレーンレベルで不安定な状態がある場合は、CoPPを確認することが重要です。これは、ループやフラッド、または不正なデバイスによって作成された異常なトラフィックパターンが原因で、スーパーバイザが正当なトラフィックを処理できなくなっている可能性があるためです。このような攻撃は、不正なデバイスによって誤って実行されたり、攻撃者によって悪意をもって実行されたりする可能性があり、通常はスーパーバイザモジュールまたはCPU宛てのトラフィックが高頻度で発生します。
Control Plan Policing(CoPP)は、インバンド(前面パネル)ポート経由で受信され、ルータのアドレスを宛先とするすべてのパケット、またはスーパーバイザの関与が必要なすべてのパケットを分類してポリシングする機能です。この機能により、ポリシーマップをコントロールプレーンに適用できます。このポリシーマップは、通常のQuality of Service(QoS)ポリシーに似ており、非管理ポートからスイッチに入るすべてのトラフィックに適用されます。ポリシングによるスーパーバイザモジュールの保護により、スイッチではパケットの廃棄によって各クラスの認定入力レート(CIR)を超過するトラフィックのフラッドを緩和し、スイッチの過負荷を防いで、パフォーマンスに影響を与えることができます。
CoPPカウンタを継続的に監視し、その正当性を説明することが重要です。これがこのドキュメントの目的です。CoPP違反をチェックしない状態のままにすると、関連する該当クラスでコントロールプレーンによる正規のトラフィックの処理が妨げられる可能性があります。CoPPの設定は流動的で継続的なプロセスであり、ネットワークとインフラストラクチャの要件に対応する必要があります。CoPPには3つのデフォルトのシステムポリシーがあります。デフォルトでは、最初の出発点としてデフォルトポリシーのstrict
を使用することが推奨され、このドキュメントの基盤として使用されます。
CoPPは、フロントパネルポート経由で受信されたインバンドトラフィックにのみ適用されます。アウトオブバンド管理ポート(mgmt0)は、CoPPの対象ではありません。Cisco NX-OSデバイスハードウェアは、フォワーディングエンジンごとにCoPPを実行します。したがって、集約トラフィックによってスーパーバイザモジュールが過負荷状態にならないように、レートを選択します。CIRはすべてのモジュールのCPUに送られるトラフィックの集約に適用されるため、これは特にエンドオブロー/モジュラスイッチにとって重要です。
このドキュメントで説明するコンポーネントは、すべてのCisco Nexusデータセンタースイッチに適用できます。
このドキュメントでは、Nexusスイッチで見られる最も一般的で重大な非デフォルトクラス違反に焦点を当てています。
CoPPの解釈方法を理解するには、最初にプロファイルが適用されていることを確認し、デフォルトプロファイルまたはカスタムプロファイルがスイッチに適用されているかどうかを理解する必要があります。
注:ベストプラクティスとして、すべてのNexusスイッチでCoPPを有効にする必要があります。この機能が有効になっていない場合、プラットフォームが異なるとスーパーバイザ(SUP)に送られるトラフィックが制限される可能性があるため、すべてのコントロールプレーントラフィックが不安定になる可能性があります。たとえば、Nexus 9000でCoPPが有効になっていない場合、SUP宛てのトラフィックは50 ppsにレート制限されるため、スイッチはほとんど動作不能になります。CoPPは、Nexus 3000およびNexus 9000プラットフォームの要件と見なされます。
CoPPが有効になっていない場合は、「setup
」コマンドを使用するか、設定オプションcopp profile [dense|lenient|moderate|strict]
の下にある標準デフォルトポリシーのいずれかを適用することによって、スイッチで再び有効にしたり、設定したりできます。
保護されていないデバイスでは、トラフィックが適切に分類されてクラスに分離されないため、特定の機能またはプロトコルに対するDoS動作はその範囲に限定されず、コントロールプレーン全体に影響を与える可能性があります。
注:CoPPポリシーは、Ternary Content-Addressable Memory(TCAM)分類リダイレクトによって実装され、show system internal access-list input statistics module X | b CoPP
またはshow hardware access-list input entries detail
の下で直接表示できます。
N9K1# show copp status
Last Config Operation: None
Last Config Operation Timestamp: None
Last Config Operation Status: None
Policy-map attached to the control-plane: copp-system-p-policy-strict
copp-system-p-policy-strict is one of the system default profiles, in particular the strict profile.
N9K1# show running-config copp
!Command: show running-config copp
!Running configuration last done at: Tue Apr 26 16:34:10 2022
!Time: Sun May 1 16:30:57 2022
version 10.2(1) Bios:version 05.45
copp profile strict
CoPPはIPまたはMAC ACLに対応する一致に基づいてトラフィックを分類します。したがって、どのトラフィックがどのクラスに分類されているかを理解することが重要です。
これらのクラスはプラットフォームによって異なります。したがって、クラスを検証する方法を理解することが重要です。
たとえば、Nexus 9000トップオブラック(TOR)では次のようになります。
N9K1# show policy-map interface control-plane
Control Plane
Service-policy input: copp-system-p-policy-strict
...
class-map copp-system-p-class-critical (match-any)
match access-group name copp-system-p-acl-bgp
match access-group name copp-system-p-acl-rip
match access-group name copp-system-p-acl-vpc
match access-group name copp-system-p-acl-bgp6
match access-group name copp-system-p-acl-ospf
match access-group name copp-system-p-acl-rip6
match access-group name copp-system-p-acl-eigrp
match access-group name copp-system-p-acl-ospf6
match access-group name copp-system-p-acl-eigrp6
match access-group name copp-system-p-acl-auto-rp
match access-group name copp-system-p-acl-mac-l3-isis
set cos 7
police cir 36000 kbps , bc 1280000 bytes
module 1 :
transmitted 177446058 bytes;
5-minute offered rate 3 bytes/sec
conformed 27 peak-rate bytes/sec
at Sat Apr 23 04:25:27 2022
dropped 0 bytes;
5-min violate rate 0 byte/sec
violated 0 peak-rate byte/sec
...
この例では、クラスマップcopp-system-p-class-critical
にはBorder Gateway Protocol(BGP)、Open Shortest Path First(OSPF)、Enhanced Interior Gateway Router Protocol(EIGRP)などのルーティングプロトコルに関連するトラフィックと、vPCなどのその他のプロトコルが含まれています。
IPまたはMAC ACLの命名規則は、関係するプロトコルや機能についてはほとんど説明の必要がないもので、接頭辞copp-system-p-acl-[protocol|feature]
が付きます。
特定のクラスを表示するには、showコマンドの実行中にクラスを直接指定できます。例:
N9K-4# show policy-map interface control-plane class copp-system-p-class-management
Control Plane
Service-policy input: copp-system-p-policy-strict
class-map copp-system-p-class-management (match-any)
match access-group name copp-system-p-acl-ftp
match access-group name copp-system-p-acl-ntp
match access-group name copp-system-p-acl-ssh
match access-group name copp-system-p-acl-http
match access-group name copp-system-p-acl-ntp6
match access-group name copp-system-p-acl-sftp
match access-group name copp-system-p-acl-snmp
match access-group name copp-system-p-acl-ssh6
match access-group name copp-system-p-acl-tftp
match access-group name copp-system-p-acl-https
match access-group name copp-system-p-acl-snmp6
match access-group name copp-system-p-acl-tftp6
match access-group name copp-system-p-acl-radius
match access-group name copp-system-p-acl-tacacs
match access-group name copp-system-p-acl-telnet
match access-group name copp-system-p-acl-radius6
match access-group name copp-system-p-acl-tacacs6
match access-group name copp-system-p-acl-telnet6
set cos 2
police cir 36000 kbps , bc 512000 bytes
module 1 :
transmitted 0 bytes;
5-minute offered rate 0 bytes/sec
conformed 0 peak-rate bytes/sec
dropped 0 bytes;
5-min violate rate 0 byte/sec
violated 0 peak-rate byte/sec
通常、CoPPのデフォルトプロファイルはデフォルト設定の一部として非表示になっていますが、show running-conf copp all
を使用すると設定を確認できます。
N9K1# show running-config copp all
!Command: show running-config copp all
!Running configuration last done at: Tue Apr 26 16:34:10 2022
!Time: Sun May 1 16:41:55 2022
version 10.2(1) Bios:version 05.45
control-plane
scale-factor 1.00 module 1
class-map type control-plane match-any copp-system-p-class-critical
match access-group name copp-system-p-acl-bgp
match access-group name copp-system-p-acl-rip
match access-group name copp-system-p-acl-vpc
match access-group name copp-system-p-acl-bgp6
match access-group name copp-system-p-acl-ospf
match access-group name copp-system-p-acl-rip6
match access-group name copp-system-p-acl-eigrp
match access-group name copp-system-p-acl-ospf6
match access-group name copp-system-p-acl-eigrp6
match access-group name copp-system-p-acl-auto-rp
match access-group name copp-system-p-acl-mac-l3-isis
(snip)
...
前に示したクラスマップcopp-system-p-class-critical
は、デフォルトで非表示になっているシステムACLを呼び出す複数のmatchステートメントを参照し、一致した分類を参照します。たとえば、BGPの場合:
N9K1# show running-config aclmgr all | b copp-system-p-acl-bgp
ip access-list copp-system-p-acl-bgp
10 permit tcp any gt 1023 any eq bgp
20 permit tcp any eq bgp any gt 1023
(snip)
これは、すべてのBGPトラフィックがこのクラスと一致し、copp-system-p-class-critical
で、同じクラスのその他すべてのプロトコルとともに分類されることを意味します。
Nexus 7000は、Nexus 9000とよく似たCoPP機能構造を使用します。
N77-A-Admin# show policy-map interface control-plane
Control Plane
service-policy input copp-system-p-policy-strict
class-map copp-system-p-class-critical (match-any)
match access-group name copp-system-p-acl-bgp
match access-group name copp-system-p-acl-rip
match access-group name copp-system-p-acl-vpc
match access-group name copp-system-p-acl-bgp6
match access-group name copp-system-p-acl-lisp
match access-group name copp-system-p-acl-ospf
match access-group name copp-system-p-acl-rip6
match access-group name copp-system-p-acl-rise
match access-group name copp-system-p-acl-eigrp
match access-group name copp-system-p-acl-lisp6
match access-group name copp-system-p-acl-ospf6
match access-group name copp-system-p-acl-rise6
match access-group name copp-system-p-acl-eigrp6
match access-group name copp-system-p-acl-otv-as
match access-group name copp-system-p-acl-mac-l2pt
match access-group name copp-system-p-acl-mpls-ldp
match access-group name copp-system-p-acl-mpls-rsvp
match access-group name copp-system-p-acl-mac-l3-isis
match access-group name copp-system-p-acl-mac-otv-isis
match access-group name copp-system-p-acl-mac-fabricpath-isis
match protocol mpls router-alert
set cos 7
police cir 36000 kbps bc 250 ms
conform action: transmit
violate action: drop
module 1:
conformed 300763871 bytes,
5-min offered rate 132 bytes/sec
peak rate 125 bytes/sec at Sun May 01 09:50:51 2022
violated 0 bytes,
5-min violate rate 0 bytes/sec
peak rate 0 bytes/sec
module 2:
conformed 4516900216 bytes,
5-min offered rate 1981 bytes/sec
peak rate 1421 bytes/sec at Fri Apr 29 15:40:40 2022
violated 0 bytes,
5-min violate rate 0 bytes/sec
peak rate 0 bytes/sec
module 6:
conformed 0 bytes,
5-min offered rate 0 bytes/sec
peak rate 0 bytes/sec
violated 0 bytes,
5-min violate rate 0 bytes/sec
peak rate 0 bytes/sec
Nexus 7000ではモジュラスイッチであるため、クラスがモジュールごとに分割されることに注意してください。ただし、CIRはすべてのモジュールの集約に適用され、CoPPはシャーシ全体に適用されます。CoPPの検証と出力は、デフォルトまたは管理Virtual Device Context(VDC)からのみ確認できます。
コントロールプレーンの問題が発生した場合は、Nexus 7000でCoPPを確認することが特に重要です。これは、CoPP違反を引き起こす過剰なCPUバウンドトラフィックを伴うVDCでの不安定性が、他のVDCの安定性に影響を与える可能性があるためです。
Nexus 5600では、クラスが異なります。したがって、BGPの場合は独自の個別のクラスになります。
N5K# show policy-map interface control-plane
Control Plane
(snip)
class-map copp-system-class-bgp (match-any)
match protocol bgp
police cir 9600 kbps , bc 4800000 bytes
conformed 1510660 bytes; action: transmit
violated 0 bytes;
(snip)
Nexus 3100には3つのルーティングプロトコルクラスがあるため、BGPがどのクラスに属するかを確認するには、参照される4つのCoPP ACLを相互参照します。
EIGRPは、Nexus 3100上で独自のクラスによって処理されます。
N3K-C3172# show policy-map interface control-plane
Control Plane
service-policy input: copp-system-policy
class-map copp-s-routingProto2 (match-any)
match access-group name copp-system-acl-routingproto2
police pps 1300
OutPackets 0
DropPackets 0
class-map copp-s-v6routingProto2 (match-any)
match access-group name copp-system-acl-v6routingProto2
police pps 1300
OutPackets 0
DropPackets 0
class-map copp-s-eigrp (match-any)
match access-group name copp-system-acl-eigrp
match access-group name copp-system-acl-eigrp6
police pps 200
OutPackets 0
DropPackets 0
class-map copp-s-routingProto1 (match-any)
match access-group name copp-system-acl-routingproto1
match access-group name copp-system-acl-v6routingproto1
police pps 1000
OutPackets 0
DropPackets 0
N3K-C3172# show running-config aclmgr
!Command: show running-config aclmgr
!No configuration change since last restart
!Time: Sun May 1 18:14:16 2022
version 9.3(9) Bios:version 5.3.1
ip access-list copp-system-acl-eigrp
10 permit eigrp any 224.0.0.10/32
ipv6 access-list copp-system-acl-eigrp6
10 permit eigrp any ff02::a/128
ip access-list copp-system-acl-routingproto1
10 permit tcp any gt 1024 any eq bgp
20 permit tcp any eq bgp any gt 1024
30 permit udp any 224.0.0.0/24 eq rip
40 permit tcp any gt 1024 any eq 639
50 permit tcp any eq 639 any gt 1024
70 permit ospf any any
80 permit ospf any 224.0.0.5/32
90 permit ospf any 224.0.0.6/32
ip access-list copp-system-acl-routingproto2
10 permit udp any 224.0.0.0/24 eq 1985
20 permit 112 any 224.0.0.0/24
ipv6 access-list copp-system-acl-v6routingProto2
10 permit udp any ff02::66/128 eq 2029
20 permit udp any ff02::fb/128 eq 5353
30 permit 112 any ff02::12/128
ipv6 access-list copp-system-acl-v6routingproto1
10 permit 89 any ff02::5/128
20 permit 89 any ff02::6/128
30 permit udp any ff02::9/128 eq 521
この場合、BGPはACL copp-system-acl-routingproto1
で照合されるため、CoPPクラスBGPはcopp-s-routingProto1
に分類されます。
CoPPは、すべてのモジュールについて、特定のクラスの認定入力レート(CIR)を確認または違反するトラフィックの集約カウンタを追跡するQoS統計情報をサポートしています。
各クラスマップは、対応するクラスに基づいてCPUに送られるトラフィックを分類し、その分類に該当するすべてのパケットにCIRを割り当てます。例として、BGPトラフィックに関連するクラスを参照として使用します。
Nexus 9000トップオブラック(TOR)で、copp-system-p-class-critical
を実行します。
class-map copp-system-p-class-critical (match-any)
match access-group name copp-system-p-acl-bgp
match access-group name copp-system-p-acl-rip
match access-group name copp-system-p-acl-vpc
match access-group name copp-system-p-acl-bgp6
match access-group name copp-system-p-acl-ospf
match access-group name copp-system-p-acl-rip6
match access-group name copp-system-p-acl-eigrp
match access-group name copp-system-p-acl-ospf6
match access-group name copp-system-p-acl-eigrp6
match access-group name copp-system-p-acl-auto-rp
match access-group name copp-system-p-acl-mac-l3-isis
set cos 7
police cir 36000 kbps , bc 1280000 bytes
module 1 :
transmitted 177446058 bytes;
5-minute offered rate 3 bytes/sec
conformed 27 peak-rate bytes/sec
at Sat Apr 23 04:25:27 2022
dropped 0 bytes;
5-min violate rate 0 byte/sec
violated 0 peak-rate byte/sec
クラスマップのセクションで、matchステートメントの後に、クラス内のすべてのトラフィックに関連するアクションを確認します。copp-system-p-class-critical
内に分類されるすべてのトラフィックは、7のサービスクラス(CoS)で設定されます。これは、最も優先順位の高いトラフィックであり、このクラスは、36000 kbpsのCIRおよび1280000バイトの認定バーストレートでポリシングされます。
このポリシーに準拠するトラフィックはSUPに転送されて処理され、違反があればドロップされます。
set cos 7
police cir 36000 kbps , bc 1280000 bytes
次のセクションには、モジュールに関連する統計情報が含まれます。トップオブラック(TOR)スイッチでは、モジュール1はスイッチを指します。
module 1 :
transmitted 177446058 bytes;
5-minute offered rate 3 bytes/sec
conformed 27 peak-rate bytes/sec
at Sat Apr 23 04:25:27 2022
dropped 0 bytes;
5-min violate rate 0 byte/sec
violated 0 peak-rate byte/sec
出力に表示される統計情報は履歴であるため、このコマンドの実行時の現在の統計情報のスナップショットが提供されます。
ここでは、送信セクションと廃棄セクションの2つのセクションを解釈します。
送信されたデータポイントは、ポリシーに準拠する送信されたすべてのパケットを追跡します。このセクションは、スーパーバイザが処理するトラフィックのタイプに関する情報を提供するため重要です。
提供レートの5分間の値から、現在のレートを把握できます。
適合ピークレートと適合ピークレートの日付は、ポリシー内およびポリシーが発生した時間に適合する、秒単位の最も高いピークレートのスナップを提供します。
新しいピークが見られる場合は、この値と日付が置き換えられます。
統計情報の最も重要な部分は、ドロップされたデータポイントです。送信された統計情報と同様に、ドロップされたセクションは、ポリシングレート違反によってドロップされた累積バイト数を追跡します。 また、過去5分間の違反レート(違反したピーク)と、ピークがある場合はそのピーク違反のタイムスタンプも表示されます。繰り返しますが、新しいピークが見られる場合は、この値と日付を置き換えます。他のプラットフォームでは、出力は異なりますが、ロジックは非常によく似ています。
Nexus 7000は同じ構造を使用し、検証は同じですが、参照されるACLによってクラスが若干異なります。
class-map copp-system-p-class-critical (match-any)
match access-group name copp-system-p-acl-bgp
match access-group name copp-system-p-acl-rip
match access-group name copp-system-p-acl-vpc
match access-group name copp-system-p-acl-bgp6
match access-group name copp-system-p-acl-lisp
match access-group name copp-system-p-acl-ospf
match access-group name copp-system-p-acl-rip6
match access-group name copp-system-p-acl-rise
match access-group name copp-system-p-acl-eigrp
match access-group name copp-system-p-acl-lisp6
match access-group name copp-system-p-acl-ospf6
match access-group name copp-system-p-acl-rise6
match access-group name copp-system-p-acl-eigrp6
match access-group name copp-system-p-acl-otv-as
match access-group name copp-system-p-acl-mac-l2pt
match access-group name copp-system-p-acl-mpls-ldp
match access-group name copp-system-p-acl-mpls-rsvp
match access-group name copp-system-p-acl-mac-l3-isis
match access-group name copp-system-p-acl-mac-otv-isis
match access-group name copp-system-p-acl-mac-fabricpath-isis
match protocol mpls router-alert
set cos 7
police cir 36000 kbps bc 250 ms
conform action: transmit
violate action: drop
module 1:
conformed 300763871 bytes,
5-min offered rate 132 bytes/sec
peak rate 125 bytes/sec at Sun May 01 09:50:51 2022
violated 0 bytes,
5-min violate rate 0 bytes/sec
peak rate 0 bytes/sec
module 2:
conformed 4516900216 bytes,
5-min offered rate 1981 bytes/sec
peak rate 1421 bytes/sec at Fri Apr 29 15:40:40 2022
violated 0 bytes,
5-min violate rate 0 bytes/sec
peak rate 0 bytes/sec
module 6:
conformed 0 bytes,
5-min offered rate 0 bytes/sec
peak rate 0 bytes/sec
violated 0 bytes,
5-min violate rate 0 bytes/sec
peak rate 0 bytes/sec
Nexus 5600の場合:
class-map copp-system-class-bgp (match-any)
match protocol bgp
police cir 9600 kbps , bc 4800000 bytes
conformed 1510660 bytes; action: transmit
violated 0 bytes;
レートやピークに関する情報は提供されませんが、適合および違反された集約バイトは提供されます。
Nexus 3100では、コントロールプレーンの出力に、OutPacketsとDropPacketsが表示されます。
class-map copp-s-routingProto1 (match-any)
match access-group name copp-system-acl-routingproto1
match access-group name copp-system-acl-v6routingproto1
police pps 1000
OutPackets 8732060
DropPackets 0
OutPacketsは適合パケットを参照し、DropPacketsはCIRへの違反を参照します。このシナリオでは、関連するクラスでドロップが発生していません。
Nexus 3500では、出力に「HW and SW Matched Packets:
class-map copp-s-routingProto1 (match-any)
match access-group name copp-system-acl-routingproto1
police pps 900
HW Matched Packets 471425
SW Matched Packets 471425
HW Matched Packetsは、HW内でACLによって照合されるパケットを参照します。ソフトウェアが一致するパケットは、ポリシーに準拠するパケットです。HWとSWが一致するパケット間の違いは、違反を意味します。
この場合、ルーティングプロトコル1クラスパケット(BGPを含む)では、値が一致するため廃棄は発生しません。
コントロールプレーンポリシングの統計情報は履歴であるため、アクティブな違反が増加しているかどうかを判断することが重要です。このタスクを実行する標準的な方法は、2つの完全な出力を比較し、違いを確認することです。
このタスクは手動で実行できますが、Nexusスイッチには、出力の比較に役立つ差分ツールが用意されています。
出力全体を比較することはできますが、ドロップされた統計情報だけに焦点を当てるため、これは必須ではありません。したがって、CoPPの出力をフィルタリングして、違反だけに焦点を当てることができます。
コマンドは、次のとおりです。 show policy-map interface control-plane | egrep class|module|violated|dropped | diff -y
注:現在の出力と前の出力を比較できるようにするには、このコマンドを2回実行する必要があります。
前述のコマンドを使用すると、2つのクラス間の差分を表示し、違反の増加を見つけることができます。
注:CoPP統計情報は履歴であるため、コマンドの実行後に統計情報をクリアして、アクティブな増加があるかどうかを確認することもお勧めします。CoPP統計情報をクリアするには、clear copp statistics
コマンドを実行します。
CoPPは、CIRに違反するCPUに送られるトラフィックがドロップされるため、単純なポリシング構造です。それでも、この影響はドロップのタイプによって大きく異なります。
ロジックは同じですが、宛先がIPアドレスのトラフィックを copp-system-p-class-critical.
class-map copp-system-p-class-critical (match-any)
match access-group name copp-system-p-acl-bgp
match access-group name copp-system-p-acl-rip
match access-group name copp-system-p-acl-vpc
match access-group name copp-system-p-acl-bgp6
match access-group name copp-system-p-acl-ospf
match access-group name copp-system-p-acl-rip6
match access-group name copp-system-p-acl-eigrp
match access-group name copp-system-p-acl-ospf6
match access-group name copp-system-p-acl-eigrp6
match access-group name copp-system-p-acl-auto-rp
match access-group name copp-system-p-acl-mac-l3-isis
set cos 7
police cir 36000 kbps , bc 1280000 bytes
クラスマップcopp-system-p-class-monitoring
を宛先とするトラフィックのドロップと比較してください。
class-map copp-system-p-class-monitoring (match-any)
match access-group name copp-system-p-acl-icmp
match access-group name copp-system-p-acl-icmp6
match access-group name copp-system-p-acl-traceroute
set cos 1
police cir 360 kbps , bc 128000 bytes
最初のプロトコルは主にルーティングプロトコルを扱い、2番目のプロトコルは最も低い優先順位の1つとCIRを持つインターネット制御メッセージプロトコル(ICMP)を扱います。CIRの差は100倍です。したがって、クラス、影響、一般的なチェック/検証、および推奨事項を理解することが重要です。
クラスモニタリング – copp-system-p-class-monitoring
このクラスには、IPv4、IPv6用のICMP、および問題のスイッチに送信されるトラフィックのtracerouteが含まれます。
class-map copp-system-p-class-monitoring (match-any)
match access-group name copp-system-p-acl-icmp
match access-group name copp-system-p-acl-icmp6
match access-group name copp-system-p-acl-traceroute
set cos 1
police cir 360 kbps , bc 128000 bytes
影響
パケット損失または遅延のトラブルシューティングを行う際によく誤解されるのは、CoPPによってレート制限されるインバンドポートを介してスイッチにpingを実行することです。CoPPはICMPに対するポリシングを厳しく行うため、トラフィックや輻輳が少ない場合でも、インバンドインターフェイスがCIRに違反すると、そのインターフェイスに対して直接pingを実行することでパケット損失を確認できます。
たとえば、パケットペイロードが500のルーテッドポート上で直接接続されたインターフェイスにpingを実行すると、定期的に廃棄が発生する場合があります。
N9K-3# ping 192.168.1.1 count 1000 packet-size 500
...
--- 192.168.1.1 ping statistics ---
1000 packets transmitted, 995 packets received, 0.50% packet loss
round-trip min/avg/max = 0.597/0.693/2.056 ms
ICMPパケットの宛先であるNexusで、違反が検出されてCPUが保護されたため、CoPPによってパケットがドロップされたことがわかります。
N9K-4# show policy-map interface control-plane class copp-system-p-class-monitoring
Control Plane
Service-policy input: copp-system-p-policy-strict
class-map copp-system-p-class-monitoring (match-any)
match access-group name copp-system-p-acl-icmp
match access-group name copp-system-p-acl-icmp6
match access-group name copp-system-p-acl-traceroute
set cos 1
police cir 360 kbps , bc 128000 bytes
module 1 :
transmitted 750902 bytes;
5-minute offered rate 13606 bytes/sec
conformed 13606 peak-rate bytes/sec
at Sun May 01 22:49:24 2022
dropped 2950 bytes;
5-min violate rate 53 byte/sec
violated 53 peak-rate byte/sec at Sun May 01 22:49:24 2022
遅延やパケット損失のトラブルシューティングを行うには、スイッチ自体が宛先となっているコントロールプレーントラフィックではなく、データプレーンによってスイッチを介して到達可能なホストを使用することをお勧めします。データプレーントラフィックはSUPの介入なしでハードウェアレベルで転送/ルーティングされるため、CoPPによってポリシングされず、通常はドロップが発生しません。
推奨事項
クラス管理 – copp-system-p-class-management
ここに示すように、このクラスには、IPv4およびIPv6通信用の通信(SSH、Telnet)、転送(SCP、FTP、HTTP、SFTP、TFTP)、クロック(NTP)、AAA(Radius/TACACS)、およびモニタリング(SNMP)に使用できるさまざまな管理プロトコルが含まれます。
class-map copp-system-p-class-management (match-any)
match access-group name copp-system-p-acl-ftp
match access-group name copp-system-p-acl-ntp
match access-group name copp-system-p-acl-ssh
match access-group name copp-system-p-acl-http
match access-group name copp-system-p-acl-ntp6
match access-group name copp-system-p-acl-sftp
match access-group name copp-system-p-acl-snmp
match access-group name copp-system-p-acl-ssh6
match access-group name copp-system-p-acl-tftp
match access-group name copp-system-p-acl-https
match access-group name copp-system-p-acl-snmp6
match access-group name copp-system-p-acl-tftp6
match access-group name copp-system-p-acl-radius
match access-group name copp-system-p-acl-tacacs
match access-group name copp-system-p-acl-telnet
match access-group name copp-system-p-acl-radius6
match access-group name copp-system-p-acl-tacacs6
match access-group name copp-system-p-acl-telnet6
set cos 2
police cir 36000 kbps , bc 512000 bytes
影響
このクラスに関連する最も一般的な動作またはドロップには、次のものがあります。
推奨事項
クラスL3ユニキャストデータ – copp-system-p-class-l3uc-data
このクラスは特に収集パケットを扱います。このタイプのパケットは、ハードウェアレートリミッタ(HWRL)でも処理されます。
着信IPパケットがラインカードで転送されるときにネクストホップのアドレス解決プロトコル(ARP)要求が解決されない場合、ラインカードはスーパーバイザモジュールにパケットを転送します。
スーパーバイザは、ネクストホップのMACアドレスを解決し、ハードウェアをプログラムします。
class-map copp-system-p-class-l3uc-data (match-any)
match exception glean
set cos 1
これは通常、スタティックルートが使用され、ネクストホップが到達不能または未解決の場合に発生します。
ARP要求が送信されると、ソフトウェアはハードウェアに/32ドロップ隣接関係を追加して、同じネクストホップIPアドレスへのパケットがスーパーバイザに転送されないようにします。ARPが解決されると、ハードウェアエントリが正しいMACアドレスで更新されます。ARPエントリがタイムアウト期間前に解決されない場合、そのエントリはハードウェアから削除されます。
注:CoPPとHWRLは連携して動作し、CPUが確実に保護されます。これらは同様の機能を実行するように見えますが、最初にHWRLが実行されます。実装は、ASICのフォワーディングエンジンで特定の機能がどこに実装されるかによって異なります。このシリアルアプローチでは、すべてのCPUに送られるパケットを評価する細分性とマルチレイヤの保護が可能です。
HWRLは、モジュール上でインスタンス/フォワーディングエンジンごとに実行され、show hardware rate-limiter
コマンドを使用して表示できます。HWRLについては、このテクニカルドキュメントの対象外です。
show hardware rate-limiter
Units for Config: kilo bits per second
Allowed, Dropped & Total: aggregated bytes since last clear counters
Module: 1
R-L Class Config Allowed Dropped Total
+----------------+----------+--------------------+--------------------+--------------------+
L3 glean 100 0 0 0
L3 mcast loc-grp 3000 0 0 0
access-list-log 100 0 0 0
bfd 10000 0 0 0
fex 12000 0 0 0
span 50 0 0 0
sflow 40000 0 0 0
vxlan-oam 1000 0 0 0
100M-ethports 10000 0 0 0
span-egress disabled 0 0 0
dot1x 3000 0 0 0
mpls-oam 300 0 0 0
netflow 120000 0 0 0
ucs-mgmt 12000 0 0 0
影響
推奨事項
hardware ip glean throttle.
Nexus 7000 8.4(2)では、M3およびF4モジュールのグリーニング隣接関係に対するbloomフィルタのサポートも導入されました。『Cisco Nexus 7000シリーズNX-OSユニキャストルーティングコンフィギュレーションガイド』を参照してください。
到達不能なネクストホップアドレスを使用するスタティックルート設定を確認するか、RIBからそのようなルートを動的に削除するダイナミックルーティングプロトコルを使用します。
クラスCritical - class-map copp-system-p-class-critical
このクラスは、L3の観点から最も重要なコントロールプレーンプロトコルを参照します。これには、IPv4およびIPv6、(RIP、OSPF、EIGRP、BGP)、auto-RP、virtual port-channel(vPC)、l2ptおよびIS-ISのルーティングプロトコルが含まれます。
class-map copp-system-p-class-critical (match-any)
match access-group name copp-system-p-acl-bgp
match access-group name copp-system-p-acl-rip
match access-group name copp-system-p-acl-vpc
match access-group name copp-system-p-acl-bgp6
match access-group name copp-system-p-acl-ospf
match access-group name copp-system-p-acl-rip6
match access-group name copp-system-p-acl-eigrp
match access-group name copp-system-p-acl-ospf6
match access-group name copp-system-p-acl-eigrp6
match access-group name copp-system-p-acl-auto-rp
match access-group name copp-system-p-acl-mac-l2pt
match access-group name copp-system-p-acl-mac-l3-isis
set cos 7
police cir 36000 kbps , bc 1280000 bytes
影響
ルーティングプロトコルへの「copp-system-p-class-critical
」転送の不安定性によるドロップ。これには、隣接関係のドロップ、コンバージェンス障害、アップデート/NLRI伝搬などが含まれます。
このクラスでの最も一般的なポリシーのドロップは、ネットワーク上の不正なデバイスが(設定の誤りや障害により)異常な動作をしたり、拡張性に問題があったりすることに関係している可能性があります。
推奨事項
クラスが重要 – copp-system-p-class-important
このクラスは、HSRP、VRRP、およびLLDPを含むファーストホップ冗長プロトコル(FHRP)に関連しています
class-map copp-system-p-class-important (match-any)
match access-group name copp-system-p-acl-hsrp
match access-group name copp-system-p-acl-vrrp
match access-group name copp-system-p-acl-hsrp6
match access-group name copp-system-p-acl-vrrp6
match access-group name copp-system-p-acl-mac-lldp
set cos 6
police cir 2500 kbps , bc 1280000 bytes
影響
ここで見られるドロップにつながる最も一般的な動作は、レイヤ2の不安定性に関する問題で、これがアクティブ状態(スプリットブレイン)に移行するデバイスのシナリオ、アグレッシブタイマー、設定ミス、またはスケーラビリティの原因となります。
推奨事項:
Class L2 Unpoliced - copp-system-p-class-l2-unpoliced
L2非ポリシングクラスは、すべての上位層プロトコルの基盤となる重要なレイヤ2プロトコルをすべて指します。そのため、CIRと優先度が最も高いほぼポリシングされていないと見なされます。
このクラスは、実質的に、スパニングツリープロトコル(STP)、リンク集約コントロールプロトコル(LACP)、Cisco Fabric Service over Ethernet(CFSoE)を処理します
class-map copp-system-p-class-l2-unpoliced (match-any)
match access-group name copp-system-p-acl-mac-stp
match access-group name copp-system-p-acl-mac-lacp
match access-group name copp-system-p-acl-mac-cfsoe
match access-group name copp-system-p-acl-mac-sdp-srp
match access-group name copp-system-p-acl-mac-l2-tunnel
match access-group name copp-system-p-acl-mac-cdp-udld-vtp
set cos 7
police cir 50 mbps , bc 8192000 bytes
このクラスのポリシングCIRは50 Mbpsで、すべてのクラスの中で最高であり、バーストレートの吸収率も最高です。
影響
データ、コントロール、および管理プレーン上のすべての上位層プロトコルと通信は、基盤となるレイヤ2の安定性に依存しているため、このクラスでのドロップはグローバルな不安定につながります。
STP違反に関する問題によって、TCNおよびSTPコンバージェンスの問題が発生する可能性があります。これには、STPのクレーム、MACのフラッシュ、移動、学習無効の動作などが含まれ、到達可能性の問題を引き起こし、トラフィックループを引き起こしてネットワークを不安定にする可能性があります。
このクラスもLACPを参照するため、0x8809に関連付けられたすべてのEtherTypeパケットを処理します。これには、ポートチャネルボンディングの状態を維持するために使用されるすべてのLACPDUが含まれます。このクラスが不安定になると、LACPDUがドロップされた場合にポートチャネルがタイムアウトする可能性があります。
Cisco Fabric Service over Ethernet(CSFoE)はこのクラスに属し、Nexusスイッチ間で重要なアプリケーション制御状態を通信するために使用されるため、安定性には不可欠です。
同じことが、CDP、UDLD、VTPなど、このクラス内の他のプロトコルにも当てはまります。
推奨事項
クラスマルチキャストルータ – class-map copp-system-p-class-multicast-router
このクラスは、データプレーンパス内のすべてのPIM対応デバイスを介したルーテッドマルチキャスト共有ツリーの確立と制御に使用されるコントロールプレーンProtocol Independent Multicast(PIM)パケットを参照します。これには、ファーストホップルータ(FHR)、ラストホップルータ(LHR)、中間ホップルータ(IHR)、およびランデブーポイント(RP)が含まれます。 このクラスに分類されるパケットには、送信元に対するPIM登録、IPv4とIPv6の両方に対する受信側に対するPIM join、一般にPIM宛てのトラフィック(224.0.0.13)、およびMulticast Source Discovery Protocol(MSDP)が含まれます。 追加のクラスがいくつかあることに注意してください。これらのクラスは、さまざまなクラスで処理されるマルチキャストまたはRP機能の非常に特殊な部分を処理します。
class-map copp-system-p-class-multicast-router (match-any)
match access-group name copp-system-p-acl-pim
match access-group name copp-system-p-acl-msdp
match access-group name copp-system-p-acl-pim6
match access-group name copp-system-p-acl-pim-reg
match access-group name copp-system-p-acl-pim6-reg
match access-group name copp-system-p-acl-pim-mdt-join
match exception mvpn
set cos 6
police cir 2600 kbps , bc 128000 bytes
影響
このクラスに関連するドロップへの主な影響は、RPへのPIM登録によってマルチキャスト送信元に通信する問題、またはPIM joinが適切に処理されず、マルチキャストストリームの送信元またはRPへの共有または最短パスツリーが不安定になる問題に関連しています。動作には、結合がないために正しく入力されていない発信インターフェイスリスト(OIL)、または環境全体で一貫して見られない(S、G)(*、G)などがあります。また、相互接続にMSDPに依存しているマルチキャストルーティングドメイン間でも問題が発生する可能性があります。
推奨事項
Class Multicast Host - copp-system-p-class-multicast-host
このクラスは、マルチキャストリスナー検出(MLD)、具体的にはMLDクエリー、レポート、リダクション、およびMLDv2パケットタイプを参照します。MLDは、ホストが特定のグループのマルチキャストデータを要求するために使用するIPv6プロトコルです。MLDによって取得された情報を使用して、マルチキャストグループまたはチャネルメンバーシップのリストがインターフェイスごとに保持されます。MLDパケットを受信するデバイスは、要求されたグループまたはチャネルについて受信したマルチキャストデータを、既知のレシーバのネットワークセグメントから送信します。MLDv1はIGMPv2から派生し、MLDv2はIGMPv3から派生します。IGMPはIPプロトコル2メッセージタイプを使用し、MLDはICMPv6メッセージのサブセットであるIPプロトコル58メッセージタイプを使用します。
class-map copp-system-p-class-multicast-host (match-any)
match access-group name copp-system-p-acl-mld
set cos 1
police cir 1000 kbps , bc 128000 bytes
影響
このクラスでのドロップは、リンクローカルIPv6マルチキャスト通信の問題に結びつく可能性があります。これにより、受信者からのリスナーレポートまたは一般的なクエリへの応答がドロップされ、ホストが受信したいマルチキャストグループの検出ができなくなります。これはスヌーピングメカニズムに影響を与え、トラフィックを要求した予想インターフェイスを介してトラフィックを適切に転送しない可能性があります。
推奨事項
クラスレイヤ3マルチキャストデータ – copp-system-p-class-l3mc-data
およびクラスレイヤ3マルチキャストIPv6データ – copp-system-p-class-l3mcv6-data
これらのクラスは、SUPへのマルチキャスト例外リダイレクションに一致するトラフィックを参照します。この場合、これらのクラスで処理される条件は2つあります。1つ目はReverse Path Forwarding(RPF;リバースパス転送)の障害で、2つ目は宛先ミスです。宛先ミスとは、レイヤ3マルチキャスト転送テーブルに対するハードウェアでのルックアップが失敗し、データパケットがCPUにパントされるマルチキャストパケットのことです。これらのパケットは、マルチキャストコントロールプレーンをトリガー/インストールし、データプレーントラフィックに基づいてハードウェア転送テーブルエントリを追加するために使用されることがあります。RPFに違反するデータプレーンマルチキャストパケットもこの例外に一致し、違反として分類されます。
class-map copp-system-p-class-l3mc-data (match-any)
match exception multicast rpf-failure
match exception multicast dest-miss
set cos 1
police cir 2400 kbps , bc 32000 bytes
class-map copp-system-p-class-l3mcv6-data (match-any)
match exception multicast ipv6-rpf-failure
match exception multicast ipv6-dest-miss
set cos 1
police cir 2400 kbps , bc 32000 bytes
影響
RPF障害と宛先ミスは、マルチキャストルータを通過するトラフィックのフローに関連した設計または設定の問題を意味します。宛先のミスは状態の作成時に一般的に発生し、ドロップは(*, G)、(S, G)の障害のプログラミングや作成につながる可能性があります。
推奨事項
クラスIGMP: copp-system-p-class-igmp
このクラスは、特定のグループのマルチキャストデータを要求するために使用され、レイヤ2で目的の受信者にトラフィックを転送するグループと関連する発信インターフェイスリスト(OIL)を維持するためにIGMPスヌーピング機能によって使用されるすべてのバージョンの、すべてのIGMPメッセージを参照します。IGMPメッセージは、レイヤ3境界を通過しないため、ローカルで意味を持ちます。これは、RFC2236(Internet Group Management Protocol, Version 2)で文書化されているように、メッセージの存続可能時間(TTL)が1である必要があるためです。 このクラスで処理されるIGMPパケットには、メンバーシップとレシーバからのレポートの残し以外に、すべてのメンバーシップクエリ(一般クエリまたは送信元/グループ固有クエリ)が含まれます。
class-map copp-system-p-class-normal-igmp (match-any)
match access-group name copp-system-p-acl-igmp
set cos 3
police cir 3000 kbps , bc 64000 bytes
影響
このクラスでのドロップは、違反が原因でドロップされたIGMPメッセージのタイプに応じて、発信元と受信側の間のマルチキャスト通信のすべてのレベルで問題に変換されます。レシーバからのメンバーシップレポートが失われた場合、ルータはトラフィックで対象となるデバイスを認識しないため、関連する発信インターフェイスリストにはインターフェイスまたはVLANが含まれません。このデバイスがクエリアまたは代表ルータでもある場合、送信元がローカルのレイヤ2ドメインの範囲外にある場合、RPに向けて関連するPIM joinメッセージをトリガーしません。したがって、このデバイスは、受信側またはRPまでのマルチキャストツリー全体でデータプレーンを確立することはありません。脱退レポートが失われても、受信側は不要なトラフィックを受信し続ける可能性があります。これは、ドメイン内のマルチキャストルータ間のクエリアおよび通信によってトリガーされるすべての関連IGMPクエリにも影響を与える可能性があります。
推奨事項
クラス標準 – copp-system-p-class-normalcopp-system-p-class-normal
このクラスは、標準ARPトラフィックに一致するトラフィックを参照し、ポートベースのネットワークアクセスコントロールに使用される802.1Xに関連付けられたトラフィックも含みます。これは、ARP要求、Gratuitous ARP、リバースARPパケットがレイヤ2ドメイン全体でブロードキャストおよび伝搬されるため、違反が発生する最も一般的なクラスの1つです。ARPパケットはIPパケットではなく、L3ヘッダーは含まれていないため、L2ヘッダーの範囲だけで決定が行われることに注意してください。ルータが、スイッチ仮想インターフェイス(SVI)などの、サブネットに関連付けられたIPインターフェイスを使用して設定されている場合、ルータはARPパケットを処理するSUPにパントします。これらのパケットはハードウェアブロードキャストアドレス宛てであるためです。ブロードキャストストーム、レイヤ2ループ(STPまたはフラップによる)、またはネットワーク内の不正なデバイスによって、ARPストームが発生し、違反が大幅に増加する可能性があります。
class-map copp-system-p-class-normal (match-any)
match access-group name copp-system-p-acl-mac-dot1x
match protocol arp
set cos 1
police cir 1400 kbps , bc 32000 bytes
影響
このクラスでの違反の影響は、イベントの期間と環境でのスイッチの役割に大きく依存します。このクラスでのドロップは、ARPパケットが現在廃棄されているためSUPエンジンで処理されず、不完全なARP解決によって引き起こされる2つの主な動作につながる可能性があることを意味します。
エンドホストの観点からは、ネットワーク内のデバイスはスイッチでアドレス解決を完了または解決できません。このデバイスがセグメントのデフォルトゲートウェイとして機能すると、デバイスがゲートウェイを解決できず、L2イーサネットセグメント(VLAN)の外部にルーティングできなくなる可能性があります。 ローカルセグメント上の他のエンドホストのARP解決を完了できれば、デバイスはローカルセグメント上で引き続き通信できます。
スイッチの観点から見ると、ストームと違反が広く発生している場合、スイッチが生成したARP要求のプロセスを完了できなくなる可能性もあります。これらの要求は通常、ネクストホップまたは直接接続されたサブネットの解決のために生成されます。ARP応答は本質的にユニキャストですが、スイッチが所有するMACにアドレス指定されているため、依然としてARPパケットであるため、この同じクラスに分類されます。これは、ネクストホップが解決されないとスイッチがトラフィックを正しく処理できず、隣接関係マネージャにホストのエントリがない場合にレイヤ2ヘッダー書き換えの問題が発生するため、到達可能性の問題につながります。
この影響は、ARP違反を引き起こした基本的な問題の範囲によっても異なります。たとえば、ブロードキャストストーム時に、ホストとスイッチがARPを使用して隣接関係を解決しようとするため、ネットワーク上に追加のブロードキャストトラフィックが発生する可能性があります。ARPパケットはレイヤ2であるため、レイヤ3の存続可能時間(TTL)がないためL2ループが解消されず、ループが解消されるまでネットワークが指数関数的に拡大します。
推奨事項
Class NDP - copp-system-p-acl-ndp
このクラスは、IPv6ネイバー探索/アドバタイズメントと、ICMPメッセージを使用してネイバーのローカルリンク層アドレスを決定するルータ要請/アドバタイズメントパケットに関連するトラフィックを参照し、ネイバーデバイスの到達可能性と追跡に使用されます。
class-map copp-system-p-class-ndp (match-any)
match access-group name copp-system-p-acl-ndp
set cos 6
police cir 1400 kbps , bc 32000 bytes
影響
このクラスの違反は、ネイバーデバイス間のIPv6通信を妨げる可能性があります。これらのパケットは、ローカルリンク上のホストとルータ間のダイナミックな検出またはリンクレイヤ/ローカル情報を容易にするために使用されるためです。この通信が切断されると、関連するローカルリンクを越えた、または関連するローカルリンクを介した到達可能性に関する問題が発生する可能性があります。IPv6ネイバー間に通信の問題がある場合は、このクラスにドロップがないことを確認します。
推奨事項
通常のDHCPクラス:copp-system-p-class-normal-dhcp
このクラスは、IPv4とIPv6の両方で同じローカルイーサネットセグメント上のDynamic Host Control Protocol(DHCP)パケットとして一般に知られているブートストラッププロトコル(BOOTPクライアント/サーバ)に関連付けられたトラフィックを指します。これは特に、Discovery、Offer、Request、およびAcknowledge(DORA)パケット交換全体を通じて、任意のBOOTPクライアントから発信または任意のBOOTPサーバに送信されるトラフィック通信にのみ関連し、UDPポート546/547を介したDHCPv6クライアント/サーバトランザクションも含まれます。
class-map copp-system-p-class-normal-dhcp (match-any)
match access-group name copp-system-p-acl-dhcp
match access-group name copp-system-p-acl-dhcp6
set cos 1
police cir 1300 kbps , bc 32000 bytes
影響
このクラスでの違反は、エンドホストがDHCPサーバからIPを適切に取得できず、その結果、自動プライベートIPアドレス(APIPA)範囲169.254.0.0/16にフォールバックする原因となる可能性があります。このような違反は、デバイスが同時にブートしようとするため、クラスに関連付けられたCIRを超えてしまう環境で発生する可能性があります。
推奨事項
show ip dhcp global statistics
およびredirections: show system internal access-list sup-redirect-stats module 1 | grep -i dhcp
の統計情報を確認することも重要です。クラス標準DHCPリレー応答 – copp-system-p-class-normal-dhcp-relay-response
このクラスは、IPv4とIPv6の両方のDHCPリレー機能に関連付けられたトラフィックを指し、リレーの下に設定された設定済みDHCPサーバに向かいます。これは特に、任意のBOOTPサーバから発信されるか、またはDORAパケット交換全体を介して任意のBOOTPクライアントに着信するトラフィック通信にのみ関連し、UDPポート546/547を介したDHCPv6クライアント/サーバトランザクションも含まれます。
class-map copp-system-p-class-normal-dhcp-relay-response (match-any)
match access-group name copp-system-p-acl-dhcp-relay-response
match access-group name copp-system-p-acl-dhcp6-relay-response
set cos 1
police cir 1500 kbps , bc 64000 bytes
影響
このクラスに対する違反は、クラスcopp-system-p-class-normal-dhcpに対する違反と同じ影響を及ぼします。これは、両方とも同じトランザクションの一部であるためです。このクラスは、主にリレーエージェントサーバからの応答通信に重点を置いています。NexusはDHCPサーバとして機能せず、リレーエージェントとしてのみ機能するように設計されています。
推奨事項
show ip dhcp relay
コマンドとshow ip dhcp relay statistics
コマンドを使用して、追加のチェックを実行できます。クラスNATフロー – copp-system-p-class-nat-flow
このクラスは、ソフトウェアスイッチのNATフロートラフィックを指します。新しいダイナミック変換が作成されると、変換がハードウェアでプログラムされるまでフローがソフトウェアで転送され、次にCoPPによってポリシングされて、エントリがハードウェアにインストールされている間にスーパーバイザにパントされるトラフィックが制限されます。
class-map copp-system-p-class-nat-flow (match-any)
match exception nat-flow
set cos 7
police cir 800 kbps , bc 64000 bytes
影響
このクラスでのドロップは通常、新しいダイナミック変換とフローがハードウェアに高いレートでインストールされたときに発生します。この影響は、廃棄されてエンドホストに配信されないソフトウェアでスイッチングされたパケットに関係し、損失や再送信につながる可能性があります。エントリがハードウェアにインストールされると、以降のトラフィックはスーパーバイザにパントされません。
推奨事項
クラス例外 – copp-system-p-class-exception
このクラスは、IPオプションおよびIP ICMP到達不能パケットに関連する例外パケットを参照します。宛先アドレスがForwarding Information Base(FIB;転送情報ベース)になく、結果としてミスが発生する場合、SUPはICMP到達不能パケットを送信側に返信します。IPオプションが有効になっているパケットもこのクラスに該当します。IPオプションの詳細については、IANAのドキュメント「IPオプション番号
class-map copp-system-p-class-exception (match-any)
match exception ip option
match exception ip icmp unreachable
match exception ipv6 option
match exception ipv6 icmp unreachable
set cos 1
police cir 150 kbps , bc 32000 bytes
影響
このクラスは厳重にポリシングされており、このクラスでの廃棄は障害を示すものではなく、ICMP到達不能パケットおよびIPオプションパケットの範囲を制限する保護メカニズムを示しています。
推奨事項
クラスのリダイレクト – copp-system-p-class-redirect
このクラスは、時刻の同期に使用されるPrecision Time Protocol(PTP)に関連付けられたトラフィックを参照します。これには、予約範囲224.0.1.129/32のマルチキャストトラフィック、UDPポート319/320のユニキャストトラフィック、およびEthetype 0X88F7が含まれます。
class-map copp-system-p-class-redirect (match-any)
match access-group name copp-system-p-acl-ptp
match access-group name copp-system-p-acl-ptp-l2
match access-group name copp-system-p-acl-ptp-uc
set cos 1
police cir 280 kbps , bc 32000 bytes
影響
このクラスでのドロップは、適切に同期されていない、または適切な階層を確立していないデバイスで問題が発生する可能性があります。
推奨事項
クラスOpenFlow - copp-system-p-class-openflow
このクラスは、OpenFlowエージェントの動作と、コントローラとエージェント間の対応するTCP接続に関連するトラフィックを参照します。
class-map copp-system-p-class-openflow (match-any)
match access-group name copp-system-p-acl-openflow
set cos 5
police cir 1000 kbps , bc 32000 bytes
影響
このクラスでのドロップは、ネットワークのフォワーディングプレーンを管理するためにコントローラからの指示を適切に受信して処理しないエージェントの問題につながる可能性があります
推奨事項
CoPP違反をトラブルシューティングするための最初のステップは、次の項目を判別することです。
たとえば、次に示す動作が検出されました。
copp-system-p-class-normal
で違反が発生していることが示されます。class-map copp-system-p-class-normal (match-any)
match access-group name copp-system-p-acl-mac-dot1x
match protocol arp
set cos 1
police cir 1400 kbps , bc 32000 bytes
module 1 :
transmitted 3292445628 bytes;
dropped 522023852 bytes;
特定のクラス(この例ではARPおよびcopp-system-p-class-normal)に関連付けられたトラフィックへの影響を分離することを強調することが重要です。OSPFやBGPなど、他のクラスに関連するトラフィックは、完全に異なるクラスに分類されるため、CoPPによって廃棄されることはありません。このチェックボックスをオフのままにすると、ARPの問題が他の問題に連鎖して発生し、最初にこの問題に依存するプロトコルに影響を与える可能性があります。たとえば、ARPキャッシュがタイムアウトし、過度の違反のために更新されない場合、BGPなどのTCPセッションは終了できます。
CoPPによってポリシングされるトラフィックはCPUに送られるトラフィックだけに関連付けられるため、最も重要なツールの1つはEthanalyzerです。このツールはTSharkのNexus実装であり、スーパーバイザが送受信するトラフィックをキャプチャおよびデコードできます。また、プロトコルやヘッダー情報などの異なる基準に基づくフィルタを使用することもできるため、CPUで送受信されるトラフィックを判別するための非常に貴重なツールになります。
Ethanalyzerツールをターミナルセッションで直接実行するか、分析のためにファイルに送信するときに、最初にスーパーバイザによって認識されるARPトラフィックを調べることをお勧めします。フィルタと制限を定義して、キャプチャを特定のパターンや動作に絞り込むことができます。これを行うには、柔軟な表示フィルタを追加します。
よくある誤解は、Ethanalyzerがスイッチを通過するすべてのトラフィックをキャプチャすることです。ホスト間のデータプレーントラフィックは、データポート間のハードウェアASICによってスイッチングまたはルーティングされるため、CPUの関与は不要です。そのため、Ethanalyzerキャプチャでは通常、トラフィックを確認できません。データプレーントラフィックをキャプチャするには、ELAMやSPANなどの他のツールを使用することをお勧めします。たとえば、ARPをフィルタリングするには、次のコマンドを使用します。
ethanalyzer local interface inband display-filter arp limit-captured-frames 0 autostop duration 60 > arpcpu
重要な設定可能フィールド:
interface inband
- SUP宛てのトラフィックを指します。display-filter arp
– 適用されるtsharkフィルタを参照します。ほとんどのWiresharkフィルタが受け入れられます。limit-captured-frames 0
– は制限を表し、0は無制限を表します。別のパラメータによって停止されるか、Ctrl+Cによって手動で停止されるまで続きます。autostop duration 60
- Ethanalyzerが60秒後に停止することを示します。これにより、CPU上で確認される60秒のARPトラフィックのスナップショットが作成されます。Ethanalyzerの出力は、> arpcpuを使用してブートフラッシュ上のファイルにリダイレクトされ、手動で処理されます。60秒後にキャプチャが完了し、Ethanalyzerが動的に終了します。ファイルarpcpuはスイッチのブートフラッシュにあります。このブートフラッシュを処理してトップトーカーを抽出できます。例:
show file bootflash:arpcpu | sort -k 3,5 | uniq -f 2 -c | sort -r -n | head lines 50
669 2022-05-10 10:29:50.901295 28:ac:9e:ad:5e:47 -> ff:ff:ff:ff:ff:ff ARP Who has 10.1.1.1? Tell 10.1.1.2
668 2022-05-10 10:29:50.901295 28:ac:9e:ad:5e:43 -> ff:ff:ff:ff:ff:ff ARP Who has 10.2.1.1? Tell 10.2.1.2
668 2022-05-10 10:29:50.901295 28:ac:9e:ad:5e:41 -> ff:ff:ff:ff:ff:ff ARP Who has 10.3.1.1? Tell 10.3.1.2
このフィルタは、ソース列とターゲット列に基づいてソートされ、次に見つかった一意の一致(ただし日付列は無視)に基づいてインスタンスがカウントされ、見つかった数が追加され、最後にカウントに基づいて上から下にソートされ、最初の50件の結果が表示されます。
このラボの例では、60秒以内に3台のデバイスから600を超えるARPパケットを受信しました。これらのデバイスは、攻撃の疑いのあるデバイスとして特定されています。フィルタの最初の列には、指定した期間内にキャプチャファイルでこのイベントのインスタンス数が表示されたことが詳細に示されます。
Ethanalyzerツールはインバンドドライバに対して動作しますが、これは本質的にASICへの通信であることを理解することが重要です。理論的には、パケットはカーネルとパケットマネージャを通過して、関連するプロセス自体に渡される必要があります。CoPPとHWRLは、トラフィックがEthanalyzerで確認される前に機能します。違反が増加している場合でも、一部のトラフィックは引き続きポリシングレート内で通過および適合しているため、CPUにパントされたトラフィックフローを把握するのに役立ちます。Ethanalyzerで確認されるトラフィックはCIRに違反してドロップされたトラフィックではないため、これは重要な違いです。
Ethanalyzerは、関連するすべてのSUPトラフィックを捕捉するために指定された表示フィルタまたはキャプチャフィルタなしで、オープン形式で使用することもできます。これは、トラブルシューティングのアプローチの一部として、隔離手段として使用できます。
Ethanalyzerの詳細と使用方法については、次のテクニカルノートを参照してください。
Nexus 7000 での Ethanalyzer トラブルシューティング ガイド
NexusプラットフォームでのEthanalyzerを使用したコントロールプレーンおよびデータプレーンのトラフィック分析
注:Nexus 7000は、8.Xコードリリース以前では、admin VDCを使用してのみEthanalyzerキャプチャを実行でき、すべてのVDCからのSUPバウンドトラフィックを取り込みます。VDC固有のEthanalyzerは、8.Xコードに含まれています。
CPUに送られるトラフィックに関連するインバンド統計情報には、インバンドTX/RX CPUトラフィックの関連する統計情報が保持されます。これらの統計情報は、show hardware internal cpu-mac inband stats
コマンドを使用して確認できます。このコマンドは、現在のレートとピークレートの統計情報に関する情報を提供します。
show hardware internal cpu-mac inband stats`
================ Packet Statistics ======================
Packets received: 363598837
Bytes received: 74156192058
Packets sent: 389466025
Bytes sent: 42501379591
Rx packet rate (current/peak): 35095 / 47577 pps
Peak rx rate time: 2022-05-10 12:56:18
Tx packet rate (current/peak): 949 / 2106 pps
Peak tx rate time: 2022-05-10 12:57:00
ベストプラクティスとして、ベースラインを作成および追跡することを推奨します。これは、スイッチの役割とインフラストラクチャによって、show hardware internal cpu-mac inband stats
の出力が大きく異なるためです。このラボ環境では、通常の値と履歴のピークは通常、数百pps以下であるため、これは異常です。show hardware internal cpu-mac inband events
コマンドには、ピーク時の使用状況と検出された時間に関するデータが含まれているため、履歴参照としても便利です。
NexusスイッチはLinuxベースのシステムであり、Nexus Operating System(NXOS)は、それぞれのコアアーキテクチャのCPUプリエンプティブスケジューラ、マルチタスク、およびマルチスレッドを利用して、すべてのプロセスへの公平なアクセスを提供します。したがって、スパイクは必ずしも問題を示しているわけではありません。ただし、継続的なトラフィック違反が見られる場合は、関連するプロセスも頻繁に使用されている可能性があり、CPU出力の下で最上位のリソースとして表示されます。CPUプロセスの複数のスナップショットを作成し、show processes cpu sort | exclude 0.0 or show processes cpu sort | grep
を使用して特定のプロセスの使用率が高いことを確認します。
プロセスCPU、インバンド統計情報、およびEthanalyzerの検証により、スーパバイザによって現在処理されているプロセスとトラフィックに関する洞察が得られ、データプレーンの問題に連鎖する可能性があるコントロールプレーントラフィック上の進行中の不安定性を分離するのに役立ちます。CoPPは保護メカニズムであることを理解することが重要です。SUPにパントされたトラフィックでのみ動作するため、反動的です。これは、予想される範囲を超えるトラフィックレートの廃棄によってスーパーバイザの整合性を保護するように設計されています。すべてのドロップが特定のCoPPクラスとインフラストラクチャおよびネットワーク設計に基づく確認済みの影響に重要性が関連しているため、問題を示しているわけではなく、操作が必要なわけではありません。プロトコルには、一時的なイベントを処理できるキープアライブや再試行などの組み込みメカニズムがあるため、散発的なバーストイベントによるドロップは影響に変換されません。確立されたベースラインを超える継続イベントまたは異常イベントに焦点を当て続けます。CoPPは環境に固有のプロトコルと機能に従う必要があり、拡張のニーズに基づいて環境を調整するために監視し、継続的に繰り返す必要があることに注意してください。ドロップが発生した場合は、CoPPが意図せずに、または誤動作や攻撃に対応してトラフィックをドロップしたかどうかを判断します。いずれの場合も、状況を分析し、環境への影響の分析と修正措置によって介入する必要性を評価します。環境への影響と修正措置は、スイッチ自体の範囲外になる可能性があります。
最近のプラットフォーム/コードでは、ポートのミラーとデータプレーントラフィックのCPUへのパントによって、SPANからCPUへの変換を実行できます。これは通常、ハードウェアレート制限とCoPPによって大幅にレート制限されます。SPANからCPUへの注意深い使用は推奨されますが、このドキュメントの対象外です。
この機能の詳細については、次に示すテクニカルノートを参照してください。
改定 | 発行日 | コメント |
---|---|---|
2.0 |
26-Mar-2024 |
代替テキストが追加されました。
SEO、機械翻訳、スタイル要件、およびフォーマットが更新されました。 |
1.0 |
01-Jul-2022 |
初版 |