본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 Cisco Nexus 스위치의 CoPP(Control Plane Policing)에 대한 세부사항 및 기본이 아닌 클래스 위반에 미치는 관련 영향에 대해 설명합니다.
CoPP(Control Plane Policing), 그 지침 및 제한, 일반 컨피그레이션, CIR(Quality-of-Service) 폴리싱 기능에 대한 기본 정보를 이해하는 것이 좋습니다. 이 기능에 대한 자세한 내용은 해당 문서를 참조하십시오.
이 문서에 대한 특정 요건이 없습니다.
이 문서는 특정 소프트웨어 및 하드웨어 요구 사항에 제한되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
컨트롤 플레인 트래픽은 두 보호 레이어인 하드웨어 속도 제한기와 CoPP를 통과하는 일치하는 트래픽을 전달하도록 프로그래밍된 ACL(Access Control List)을 리디렉션하여 수퍼바이저 모듈로 리디렉션됩니다. 수퍼바이저 모듈에 대한 모든 중단 또는 공격은 선택하지 않을 경우 심각한 네트워크 중단이 발생할 수 있습니다. 따라서 CoPP는 보호 메커니즘의 역할을 할 수 있습니다. 컨트롤 플레인 레벨에서 불안정성이 있는 경우 루프나 플러드 또는 비인가 디바이스에서 생성되는 비정상적인 트래픽 패턴이 과세를 유발하고 수퍼바이저가 합법적인 트래픽을 처리하지 못하도록 할 수 있으므로 CoPP를 확인하는 것이 중요합니다. 비인가 디바이스에 의해 또는 공격자에 의해 악의적으로 수행될 수 있는 이러한 공격은 일반적으로 수퍼바이저 모듈 또는 CPU로 향하는 높은 트래픽 비율을 수반합니다.
CoPP(Control Plan Policing)는 라우터 주소로 향하는 인밴드(전면 패널) 포트를 통해 수신된 모든 패킷을 분류하고 폴리싱하거나 수퍼바이저의 개입이 필요한 기능입니다. 이 기능을 사용하면 정책 맵을 컨트롤 플레인에 적용할 수 있습니다. 이 정책 맵은 일반적인 QoS(Quality of Service) 정책과 비슷하며, 비관리 포트에서 스위치에 들어오는 모든 트래픽에 적용됩니다. 스위치에서 폴리싱을 통해 수퍼바이저 모듈을 보호하면 패킷을 버림으로써 각 클래스에 대한 CIR(Committed Input Rate)을 초과하는 트래픽 홍수를 완화하여 스위치가 오버플로우되어 성능에 영향을 미치지 않도록 할 수 있습니다.
CoPP 카운터를 지속적으로 모니터링하고 이를 정당화하는 것이 이 문서의 목적입니다. CoPP 위반을 선택하지 않으면 컨트롤 플레인이 관련된 영향 받는 클래스의 실제 트래픽을 처리하지 못하게 될 수 있습니다. CoPP 컨피그레이션은 네트워크 및 인프라 요구 사항에 대응해야 하는 유동적이고 지속적인 프로세스입니다. CoPP에는 세 가지 기본 시스템 정책이 있습니다. 기본적으로 Cisco에서는 기본 정책을 초기 시작점 strict 으로 사용하는 것이 좋으며 이 문서의 기반으로 사용됩니다.
CoPP는 전면 패널 포트를 통해 수신된 대역 내 트래픽에만 적용됩니다. 대역 외 관리 포트(mgmt0)에는 CoPP가 적용되지 않습니다. Cisco NX-OS 디바이스 하드웨어는 포워딩 엔진별로 CoPP를 수행합니다. 따라서 집계 트래픽이 수퍼바이저 모듈을 압도하지 않도록 속도를 선택합니다. 이는 CIR이 모든 모듈 CPU 바운드 트래픽의 종합 트래픽에 적용되므로 EoR/모듈러 스위치에서 특히 중요합니다.
적용 가능한 하드웨어
이 문서에서 설명하는 구성 요소는 모든 Cisco Nexus 데이터 센터 스위치에 적용됩니다.
컨트롤 플레인 폴리싱의 해석
이 문서에서는 Nexus 스위치에서 나타나는 가장 일반적이고 중요한 비기본 클래스 위반을 다룹니다.
표준 CoPP 기본 프로파일
CoPP를 해석하는 방법을 이해하려면 첫 번째 검증은 프로파일이 적용되는지 확인하고 스위치에 기본 프로파일 또는 사용자 지정 프로파일이 적용되는지 여부를 파악해야 합니다.
참고: 모범 사례로서, 모든 Nexus 스위치에는 CoPP가 활성화되어 있어야 합니다. 이 기능을 활성화하지 않으면 다른 플랫폼이 수퍼바이저(SUP) 바운드 트래픽을 제한할 수 있으므로 모든 컨트롤 플레인 트래픽이 불안정해질 수 있습니다. 예를 들어, Nexus 9000에서 CoPP가 활성화되지 않은 경우 SUP로 향하는 트래픽은 속도가 50pps로 제한되므로 스위치가 거의 작동하지 않게 됩니다. CoPP는 Nexus 3000 및 Nexus 9000 플랫폼에서 요구 사항으로 간주됩니다.
CoPP가 활성화되지 않은 경우 명령을 사용하거나 컨피그레이션 옵션에서 표준 기본 정책 중 하나를 적용하여 스위치에서 setup CoPP를 다시 활성화하거나 구성할 수 있습니다.
copp profile [dense|lenient|moderate|strict].
보호되지 않는 디바이스는 트래픽을 클래스로 적절하게 분류하고 분리하지 않으므로, 특정 기능 또는 프로토콜에 대한 서비스 거부 동작은 해당 범위에 국한되지 않으며 전체 컨트롤 플레인에 영향을 줄 수 있습니다.
참고: CoPP 정책은 TCAM(Ternary Content-Addressable Memory) 분류 리디렉션에 의해 구현되며, 또는 의 바로 아래에
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(top-of-rack)의 경우:
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
...
이 예에서 클래스 맵은 BGP(Border Gateway Protocol), OSPF(Open Shortest Path First), EIGRP(Enhanced Interior Gateway Router Protocol)와 같은 라우팅 프로토콜과 관련된 트래픽을 copp-system-p-class-critical 포함하며 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)
...
앞에서 본 class-map
copp-system-p-class-critical은 기본적으로 숨겨진 시스템 ACL을 호출하는 여러 일치 문을 참조하며, 일치하는 분류를 참조합니다. 예를 들어 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 확인 및 출력은 기본 또는 관리자 VDC(가상 장치 컨텍스트)에서만 볼 수 있습니다.
CoPP 위반을 유발하는 과도한 CPU 바운드 트래픽이 있는 VDC에서 불안정하면 다른 VDC의 안정성에 영향을 줄 수 있으므로, 컨트롤 플레인 문제가 발생할 경우 Nexus 7000에서 CoPP를 확인하는 것이 특히 중요합니다.
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-routingproto1BGP가 속한 CoPP 클래스는
copp-s-routingProto1입니다.
컨트롤 플레인 정책 통계 및 카운터
CoPP는 모든 모듈에 대해 특정 클래스의 CIR(Committed Input Rate)을 확인하거나 위반하는 트래픽의 집계 카운터를 추적하기 위해 QoS 통계를 지원합니다.
각 클래스 맵은 해당하는 클래스를 기반으로 CPU 바인딩 트래픽을 분류하고 해당 분류에 속하는 모든 패킷에 대해 CIR을 연결합니다. 예를 들어, BGP 트래픽과 관련된 클래스는 참조로 사용됩니다.
Nexus 9000 TOR(top-of-rack)에서 다음을
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
class-map 섹션에서 match 문 다음에 클래스 내의 모든 트래픽과 관련된 작업이 표시됩니다. 내에서 분류되
copp-system-p-class-critical 는 모든 트래픽은 가장 높은 우선 순위 트래픽인 CoS(Class of Service)가 7로 설정되며, 이 클래스는 36000kbps의 CIR과 1280000바이트의 CIR(Committed-Burst-Rate)로 폴리싱됩니다.
이 정책을 준수하는 트래픽은 SUP로 전달되어 처리되고 모든 위반은 삭제됩니다.
set cos 7
police cir 36000 kbps , bc 1280000 bytes
다음 섹션에는 모듈과 관련된 통계가 포함되어 있습니다. TOR(top-of-rack) 스위치의 경우 모듈 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
출력에 표시되는 통계는 기록 통계이므로 명령을 실행할 때 현재 통계의 스냅샷을 제공합니다.
여기에는 두 가지 섹션, 즉 전송 섹션과 삭제 섹션이 있습니다.
전송된 데이터 포인트는 정책을 준수하는 전송된 모든 패킷을 추적합니다. 이 섹션은 수퍼바이저가 처리하는 트래픽 유형에 대한 통찰력을 제공하기 때문에 중요합니다.
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 및 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 일치 패킷은 정책을 준수하는 패킷입니다. HW와 SW 일치 패킷 간의 차이는 위반 사항을 의미합니다.
이 경우 값이 일치하므로 라우팅 프로토콜-1 클래스 패킷(BGP 포함)에 드롭이 표시되지 않습니다.
활성 삭제 위반 확인
컨트롤 플레인 정책 통계가 기록적이라는 점을 감안할 때 활성 위반이 증가하고 있는지 확인하는 것이 중요합니다. 이 작업을 수행하는 표준 방법은 두 개의 전체 출력을 비교하고 차이점을 확인하는 것입니다.
이 작업은 수동으로 수행하거나 Nexus 스위치에서 출력을 비교하는 데 도움이 되는 diff 툴을 제공합니다.
전체 출력을 비교할 수 있지만 삭제된 통계에만 포커스가 있으므로 필요하지 않습니다. 따라서 CoPP 출력을 필터링하여 위반에만 집중할 수 있습니다.
명령은 다음과 같습니다.
show policy-map interface control-plane | egrep class|module|violated|dropped | diff -y
참고: diff가 현재 출력과 이전 출력을 비교할 수 있으려면 명령을 두 번 실행해야 합니다.
이전 명령을 사용하면 두 클래스 간의 델타를 확인하고 위반 증가를 찾을 수 있습니다.
참고: CoPP 통계는 기록 통계이므로, 다른 권장 사항은 명령이 실행된 후 통계를 지워 활성 증가가 있는지 확인하는 것입니다. CoPP 통계를 지우려면 다음 명령을 실행합니다
clear copp statistics.
CoPP 삭제 유형
CIR을 위반하는 모든 CPU 바운드 트래픽이 삭제되므로 CoPP는 간단한 폴리싱 구조입니다. 그럼에도 불구하고 영향은 삭제 유형에 따라 크게 달라집니다.
논리는 동일하지만, 목적지로 향하는 트래픽을 삭제하는 것은 동일하지 않습니다
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
첫 번째는 라우팅 프로토콜이 대부분이고, 두 번째는 우선순위가 가장 낮은 ICMP(Internet Control Message Protocol)와 CIR을 다룹니다. CIR의 차이는 100배입니다. 따라서 클래스, 영향, 일반적인 확인/검증 및 권장 사항을 이해하는 것이 중요합니다.
CoPP 클래스
클래스 모니터링 -
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에 의해 폴리싱되지 않으며 일반적으로 삭제되지 않습니다.
권장 사항
- 패킷 손실에 대한 오탐 결과를 확인하기 위해 스위치가 아닌 데이터 플레인을 통해 스위치에 ping을 보냅니다.
- 클래스에 대해 커밋된 입력 속도를 통한 버스트를 방지하기 위해 스위치에 ICMP를 적극적으로 사용하는 NMS(Network Monitoring System) 또는 도구를 제한합니다. CoPP는 클래스에 속하는 모든 종합 트래픽에 적용됩니다.
클래스 관리 -
copp-system-p-class-management
여기서 볼 수 있듯이 이 클래스는 IPv4 및 IPv6 통신을 위해 통신(SSH, 텔넷), 전송(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
영향
이 클래스와 관련된 가장 일반적인 동작 또는 삭제는 다음과 같습니다.
- SSH/Telnet으로 연결된 경우 CLI 속도가 느려지는 것으로 인식되었습니다. 수업에 활성 중단이 있는 경우, 통신 세션이 느려지고 중단에 시달릴 수 있습니다.
- 스위치에서 FTP, SCP, SFTP, TFTP 프로토콜로 파일을 전송합니다. 가장 일반적인 동작은 대역 내 관리 포트에 의해 시스템/킥스타트 부트 이미지를 전송하려는 시도입니다. 이는 클래스에 대한 총 대역폭에 의해 더 높은 전송 시간 및 폐쇄/종료된 전송 세션으로 이어질 수 있습니다.
- NTP 동기화 문제, 이 클래스는 비인가 NTP 에이전트 또는 공격을 차단하므로 중요합니다.
- AAA Radius 및 TACACS 서비스도 이 클래스에 포함됩니다. 이 클래스에 영향을 줄 경우 사용자 어카운트에 대한 스위치의 권한 부여 및 인증 서비스에 영향을 줄 수 있으며, 이 경우 CLI 명령이 지연될 수도 있습니다.
- SNMP도 이 클래스에서 폴리싱됩니다. SNMP 클래스로 인한 삭제로 인해 나타나는 가장 일반적인 동작은 NMS 서버에서 실행, 대량 수집 또는 네트워크 스캔을 수행하는 것입니다. 주기적인 불안정이 발생하는 경우, 대개 NMS 수집 일정과 상관관계가 있다.
권장 사항
- 이 클래스의 삭제와 함께 CLI 속도가 느려지는 경우 콘솔 액세스 또는 관리 대역 외 액세스(mgmt0)를 사용합니다.
- 시스템 이미지를 스위치에 업로드해야 하는 경우 대역 외 관리 포트(mgmt0)를 사용하거나 USB 포트를 사용하여 가장 빠른 전송을 수행하십시오.
- NTP 패킷이 손실된 경우 show ntp peer-status(ntp 피어 상태 표시)를 선택하고 reachability(연결성) 열을 확인합니다. no drops do translate to 377(377이 삭제되지 않음)입니다.
- AAA 서비스에 문제가 있는 경우, 동작이 완화될 때까지 로컬 전용 사용자를 사용하여 문제를 해결합니다.
- SNMP 문제의 완화에는 덜 공격적인 동작, 표적 수집 또는 네트워크 스캐너 최소화 등이 포함됩니다. 스캐너에서 CPU 레벨에서 볼 수 있는 이벤트까지 정기적인 시간을 검토합니다.
클래스 L3 유니캐스트 데이터 -
copp-system-p-class-l3uc-data
이 클래스는 특히 일반 패킷을 다룹니다. 이 유형의 패킷은 HWRL(Hardware Rate Limiter)에서도 처리됩니다.
라인 카드에서 수신 IP 패킷이 전달될 때 다음 홉에 대한 ARP(Address Resolution Protocol) 요청이 해결되지 않으면 라인 카드는 패킷을 수퍼바이저 모듈로 전달합니다.
수퍼바이저는 다음 홉의 MAC 주소를 확인하고 하드웨어를 프로그래밍합니다.
class-map copp-system-p-class-l3uc-data (match-any)
match exception glean
set cos 1
이는 일반적으로 고정 경로가 사용되고 다음 홉에 연결할 수 없거나 확인할 수 없는 경우에 발생합니다.
ARP 요청이 전송되면 소프트웨어는 하드웨어에 /32 삭제 인접성을 추가하여 수퍼바이저에 전달될 동일한 next-hop 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
영향
- 데이터 플레인 트래픽은 하드웨어에서 처리할 수 없으므로 수퍼바이저에게 위반으로 적용되어 CPU에 부담을 줍니다.
권장 사항
- 이 문제의 일반적인 해결 방법은 다음 홉에 도달할 수 있도록 하고 다음과 같은 컨피그레이션 명령으로 간결한 조절을 활성화하는 것입니다.
hardware ip glean throttle.
Nexus 7000 8.4(2)에서는 M3 및 F4 모듈에 대한 희박 인접성을 위한 블룸 필터 지원도 도입했습니다. 참조: Cisco Nexus 7000 Series NX-OS 유니캐스트 라우팅 구성 설명서
연결할 수 없는 next-hop 주소를 사용하는 고정 경로 컨피그레이션을 검토하거나 RIB에서 해당 경로를 동적으로 제거하는 동적 라우팅 프로토콜을 사용합니다.
클래스 크리티컬 -
class-map copp-system-p-class-critical
이 클래스는 L3 관점에서 가장 중요한 컨트롤 플레인 프로토콜을 참조합니다. 여기에는 IPv4 및 IPv6, (RIP, OSPF, EIGRP, BGP), auto-RP, vPC(virtual port-channel), 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 전파를 포함할 수 있는 라우팅 프로토콜로의 전송 불안정성을 삭제합니다.
이 클래스의 가장 일반적인 정책 삭제는 네트워크의 비정상적 디바이스(잘못된 컨피그레이션 또는 오류 발생) 또는 확장성과 관련될 수 있습니다.
권장 사항
- 비인가 디바이스 또는 상위 레이어 프로토콜의 지속적인 재통합을 유발하는 L2 불안정과 같은 이상 징후가 탐지되지 않는 경우, 확장을 수용하기 위해 CoPP 또는 좀 더 관대한 클래스의 사용자 지정 컨피그레이션이 필요할 수 있습니다.
- 현재 존재하는 기본 프로필에서 사용자 지정 CoPP 프로필을 구성하는 방법은 CoPP 컨피그레이션 가이드를 참조하십시오.
CoPP 모범 사례 정책 복사
클래스 중요 -
copp-system-p-class-important
이 클래스는 HSRP, VRRP 및 LLDP를 포함하는 FHRP(First-Hop Redundancy Protocol)와 관련이 있습니다
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 불안정성으로 인해 디바이스가 활성 상태(스플릿 브레인) 시나리오로 전환되는 문제, 공격적인 타이머, 잘못된 컨피그레이션 또는 확장성으로 이어진다는 것입니다.
권장 사항:
- FHRP에 대해 그룹이 올바르게 구성되어 있고 역할이 활성/대기 또는 기본/보조 중 하나이며 적절하게 협상되어 있고 상태에 플랩이 없는지 확인합니다.
- L2에서 수렴 문제가 있는지 또는 L2 도메인에 대한 멀티캐스트 전파 문제가 있는지 확인합니다.
Class L2 Unpoliced - copp-system-p-class-l2-unpoliced
L2 비폴리싱된 클래스는 모든 상위 레이어 프로토콜의 기초가 되는 모든 중요한 레이어 2 프로토콜을 참조하므로 가장 높은 CIR 및 우선순위로 거의 폴리싱되지 않은 것으로 간주됩니다.
이 클래스는 STP(Spanning-Tree Protocol), LACP(Link Aggregation Control Protocol), CFSoE(Cisco Fabric Service over Ethernet)를 효과적으로 처리합니다
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
이 클래스는 모든 클래스 중 가장 높은 50Mbps의 경찰 CIR과 가장 높은 버스트 속도 흡수를 제공합니다.
영향
데이터, 제어 및 관리 플레인의 모든 상위 레이어 프로토콜 및 통신이 기본 레이어 2 안정성에 의존하기 때문에 이 클래스의 삭제는 글로벌 불안정성을 초래할 수 있습니다.
STP 위반으로 인해 TCN 및 STP 통합 문제가 발생할 수 있습니다. 여기에는 STP 분쟁, MAC 플러시, 이동 및 학습이 비활성화된 동작이 포함되며, 이는 연결 문제 및 네트워크를 불안정하게 만드는 트래픽 루프가 발생할 수 있습니다.
이 클래스는 LACP도 참조하므로 0x8809와 연결된 모든 EtherType 패킷을 처리하며, 여기에는 포트 채널 본드의 상태를 유지하는 데 사용되는 모든 LACPDU가 포함됩니다. 이 클래스에서 불안정하면 LACPDU가 삭제될 경우 포트 채널이 시간 초과될 수 있습니다.
Cisco CSFoE(Fabric Service over Ethernet)는 이 클래스에 속하며 Nexus 스위치 간에 중요한 애플리케이션 제어 상태를 전달하는 데 사용되므로 안정성에 필수적입니다.
CDP, UDLD 및 VTP를 포함하는 이 클래스의 다른 프로토콜도 마찬가지입니다.
권장 사항
- 가장 일반적인 동작은 L2 이더넷 불안정과 관련이 있습니다. STP가 결정론적인 방식으로 올바르게 설계되었는지 확인하고, 이와 관련된 기능 개선을 통해 네트워크에서 리컨버전스 또는 비인가 디바이스가 미치는 영향을 최소화합니다. L2 확장에 참여하지 않는 모든 엔드 호스트 장치에 대해 올바른 STP 포트 유형이 구성되었는지 확인하고 TCN을 최소화하기 위해 에지/에지 트렁크 포트로 구성합니다.
- BPDUguard, Loopguard, BPDUfilter 및 RootGuard와 같은 STP 개선 사항을 사용하여 실패 범위, 네트워크의 잘못된 컨피그레이션 또는 비인가 디바이스 문제를 제한합니다.
- 참조: Cisco Nexus 9000 NX-OS Layer 2 스위칭 구성 가이드, 릴리스 10.2(x)
- MAC 학습 및 플러시를 비활성화할 수 있는 MAC 이동 동작을 확인합니다. 참조:Nexus 9000 Mac 이동 문제 해결 및 예방 방법
클래스 멀티캐스트 라우터 -
class-map copp-system-p-class-multicast-router
이 클래스는 데이터 플레인 경로의 모든 PIM 지원 디바이스를 통해 라우팅된 멀티캐스트 공유 트리를 설정하고 제어하는 데 사용되는 PIM(Control Plane Protocol Independent Multicast) 패킷을 의미하며, FHR(First-Hop Router), LHR(Last-Hop Router), IHR(Intermediate-Hop Router) 및 RP(Rendezvous Point)를 포함합니다. 이 클래스 내에 분류된 패킷에는 소스에 대한 PIM 등록, IPv4 및 IPv6 모두에 대한 수신기에 대한 PIM 조인, 일반적으로 PIM(224.0.0.13)으로 향하는 모든 트래픽, MSDP(Multicast Source Discovery Protocol)가 포함됩니다. 여러 추가 클래스가 있으며, 이 클래스는 서로 다른 클래스에서 처리하는 멀티캐스트 또는 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 등록에 의해 멀티캐스트 소스와 통신하는 문제가 제대로 처리되지 않는 것과 관련이 있으며, 이 경우 공유 또는 최단 경로 트리가 멀티캐스트 스트림 또는 RP 소스로 불안정하게 됩니다. 동작에는 조인이 없어 제대로 채워지지 않은 발신 인터페이스 목록(OIL) 또는 환경 전체에서 일관되게 보이지 않는 (S, G) 또는 (*, G)가 포함될 수 있습니다. 상호 연결을 위해 MSDP에 의존하는 멀티캐스트 라우팅 도메인 간에도 문제가 발생할 수 있습니다.
권장 사항
- PIM 제어 관련 문제의 가장 일반적인 동작은 스케일 문제 또는 비인가 동작을 나타냅니다. 가장 일반적인 동작 중 하나는 UPnP에 구현되었기 때문에 나타나며, 이는 또한 메모리 소모 문제를 일으킬 수 있다. 이는 필터 및 비인가 디바이스의 감소 범위를 통해 해결할 수 있습니다. 가 디바이스의 네트워크 역할에 따라 멀티캐스트 제어 패킷을 완화 및 필터링하는 방법에 대한 자세한 내용은 Configure Multicast Filtering on Nexus 7K/N9K - Cisco를 참조하십시오.
Class Multicast Host - copp-system-p-class-multicast-host
이 클래스는 MLD(Multicast Listener Discovery), 특히 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 멀티캐스트 통신의 문제로 해석됩니다. 이로 인해 수신자의 리스너 보고서 또는 일반 쿼리에 대한 응답이 삭제되어 호스트가 수신하려는 멀티캐스트 그룹이 검색되지 않을 수 있습니다. 이는 스누핑 메커니즘에 영향을 미칠 수 있으며 트래픽을 요청한 예상 인터페이스를 통해 트래픽을 제대로 전달하지 못할 수 있습니다.
권장 사항
- MLD 트래픽은 IPv6의 링크-로컬 레벨에서 중요하기 때문에 이 클래스에 드롭이 표시될 경우 가장 일반적인 동작은 확장성, L2 불안정 또는 비인가 디바이스와 관련이 있습니다.
클래스 레이어 3 멀티캐스트 데이터
copp-system-p-class-l3mc-data 및 클래스 레이어 3 멀티캐스트 IPv6 데이터 -
copp-system-p-class-l3mcv6-data
이러한 클래스는 SUP로의 멀티캐스트 예외 리디렉션과 일치하는 트래픽을 나타냅니다. 이 경우 이러한 클래스에서 처리하는 두 가지 조건이 있습니다. 첫 번째는 RPF(Reverse-Path Forwarding) 실패이고 두 번째는 Destination Miss입니다. Destination Miss는 Layer 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) 실패 생성으로 이어질 수 있습니다.
권장 사항
- 기본 유니캐스트 RIB 설계를 변경하거나, RPF 장애 시 고정 경로를 추가하여 특정 인터페이스를 통해 트래픽을 전달합니다.
- 참조: RPF 실패로 인해 라우터가 멀티캐스트 패킷을 호스트로 전달하지 않음
클래스 IGMP -
copp-system-p-class-igmp
이 클래스는 특정 그룹에 대한 멀티캐스트 데이터를 요청하는 데 사용되고 IGMP 스누핑 기능에서 레이어 2의 관련 수신자에게 트래픽을 전달하는 관련 OIL(Outgoing Interface List)과 그룹을 유지 관리하는 데 사용되는 모든 버전의 모든 IGMP 메시지를 나타냅니다. RFC2236(Internet Group Management Protocol, 버전 2)에 설명된 대로 TTL(Time to Live)이 1이어야 하므로 IGMP 메시지는 레이어 3 경계를 통과하지 않으므로 로컬에서 중요합니다. 이 클래스에서 처리하는 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 조인 메시지를 트리거하지 않으므로 멀티캐스트 트리에서 수신기 또는 RP까지 데이터 플레인을 설정하지 않습니다. 나가기 보고서가 손실된 경우 수신자는 원치 않는 트래픽을 계속 수신할 수 있습니다. 이는 쿼리 작성기에 의해 트리거된 모든 관련 IGMP 쿼리 및 도메인의 멀티캐스트 라우터 간 통신에도 영향을 줄 수 있습니다.
권장 사항
- IGMP 삭제와 관련된 가장 일반적인 동작은 L2 불안정, 타이머 문제 또는 확장과 관련이 있습니다.
Class Normal - copp-system-p-class-normal
copp-system-p-class-normal
이 클래스는 표준 ARP 트래픽과 일치하는 트래픽을 참조하며, 포트 기반 네트워크 액세스 제어에 사용되는 802.1X와 연결된 트래픽도 포함합니다. 이는 ARP 요청, 무상 ARP, 역방향 ARP 패킷이 브로드캐스트되고 전체 레이어 2 도메인을 통해 전파될 때 위반이 발생하는 가장 일반적인 클래스 중 하나입니다. ARP 패킷은 IP 패킷이 아니며, 이러한 패킷에는 L3 헤더가 포함되지 않으므로 L2 헤더의 범위에 따라 결정됩니다. 라우터가 SVI(Switch Virtual Interface)와 같이 해당 서브넷과 연결된 IP 인터페이스로 구성된 경우 라우터는 ARP 패킷을 처리할 SUP에 전송하며, 이 패킷은 하드웨어 브로드캐스트 주소로 전달됩니다. STP 또는 플랩으로 인한 브로드캐스트 스톰, 레이어 2 루프 또는 네트워크의 라우터 디바이스로 인해 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 확인으로 인해 두 가지 기본 동작이 발생할 수 있습니다.
엔드 호스트의 관점에서 네트워크의 디바이스는 스위치로 주소 확인을 완료하거나 확인할 수 없습니다. 이 디바이스가 세그먼트의 기본 게이트웨이 역할을 하는 경우, 디바이스가 게이트웨이를 확인할 수 없기 때문에 L2 이더넷 세그먼트(VLAN) 외부로 라우팅할 수 없게 될 수 있습니다. 디바이스는 로컬 세그먼트의 다른 엔드 호스트에 대한 ARP 확인을 완료할 수 있는 경우에도 로컬 세그먼트에서 통신할 수 있습니다.
스위치의 관점에서 폭풍과 위반이 만연할 경우, 스위치가 생성한 ARP 요청에 대한 프로세스를 완료하지 못할 수도 있습니다. 이러한 요청은 일반적으로 next-hop 또는 직접 연결된 서브넷 확인에 대해 생성됩니다. ARP 회신은 기본적으로 유니캐스트이지만, 스위치 소유의 MAC으로 주소가 지정되므로 여전히 ARP 패킷이므로 동일한 클래스로 분류됩니다. 다음 홉이 확인되지 않으면 스위치에서 트래픽을 제대로 처리할 수 없기 때문에 연결 문제로 해석되며, 인접성 관리자에 호스트에 대한 항목이 없는 경우 레이어 2 헤더 재작성 문제가 발생할 수 있습니다.
또한 ARP 위반을 트리거한 기본 문제의 범위에 따라 영향이 달라집니다. 예를 들어 브로드캐스트 스톰에서 호스트와 스위치는 인접성을 해결하기 위해 ARP를 계속합니다. 그러면 네트워크의 추가 브로드캐스트 트래픽이 발생할 수 있으며, ARP 패킷이 레이어 2이므로 L2 루프를 중단하는 레이어 3 TTL(time to live)이 없으므로 루프가 계속 반복되며 루프가 중단될 때까지 네트워크를 통해 기하급수적으로 증가합니다.
권장 사항
- STP, 플랩 또는 비인가 디바이스와 같이 환경에서 ARP 스톰을 일으킬 수 있는 기본적인 L2 불안정을 해결합니다. 원하는 방법으로 해당 루프를 해제하여 링크 경로를 엽니다.
- Storm-control은 ARP 스톰을 완화하는 데에도 사용할 수 있습니다. 스톰 제어가 활성화되지 않은 경우 인터페이스의 카운터 통계를 확인하여 인터페이스를 통과하는 총 트래픽과 관련하여 인터페이스에서 확인되는 브로드캐스트 트래픽의 비율을 확인합니다.
- 스톰이 없지만 환경에서 지속적인 드랍이 표시되는 경우, SUP 트래픽을 확인하여 네트워크에서 지속적으로 ARP 패킷을 전송하는 비인가 디바이스를 식별하며, 이는 합법적인 트래픽에 영향을 미칠 수 있습니다.
- 네트워크의 호스트 수 및 환경의 스위치 역할에 따라 증가할 수 있습니다. ARP는 항목을 재시도, 확인 및 새로 고치도록 설계되어 있으므로 항상 ARP 트래픽을 확인할 수 있습니다. 산발적인 감소만 보이면 네트워크 로드로 인해 일시적인 것일 수 있으며 어떤 영향도 감지되지 않습니다. 그러나 네트워크를 모니터링하고 파악하여 예상과 비정상적인 상황을 적절히 구별하는 것이 중요합니다.
Class NDP - copp-system-p-acl-ndp
이 클래스는 ICMP 메시지를 사용하여 네이버의 로컬 링크 계층 주소를 결정하는 IPv6 네이버 검색/광고 및 라우터 요청/광고 패킷과 관련된 트래픽을 나타내며, 네이버 디바이스 연결 및 추적에 사용됩니다.
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 네이버 간 통신 문제가 있는 경우 이 클래스에 삭제되지 않았는지 확인합니다.
권장 사항
- 인접 디바이스, 특히 인접 디바이스 검색 및/또는 라우터 검색과 관련된 인접 디바이스의 비정상적인 ICMP 동작을 검토합니다.
- 정기 메시지에 대한 모든 예상 타이머 및 간격 값이 환경 전체에서 일관되고 유효한지 확인합니다. 예를 들어 라우터 알림 메시지(RA 메시지)의 경우
클래스 일반 DHCP - copp-system-p-class-normal-dhcp
이 클래스는 IPv4 및 IPv6 모두에 대해 동일한 로컬 이더넷 세그먼트에서 일반적으로 DHCP(Dynamic Host Control Protocol) 패킷으로 알려진 부트스트랩 프로토콜(BOOTP 클라이언트/서버)과 연결된 트래픽을 나타냅니다. 이는 특히 모든 bootp 클라이언트에서 시작되거나 DORA(전체 검색, 제안, 요청 및 승인) 패킷 교환을 통해 모든 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를 제대로 획득할 수 없게 하므로 APIPA(Automatic Private IP Address) 범위 169.254.0.0/16으로 돌아갑니다. 이러한 위반은 디바이스가 동시에 부팅을 시도하여 클래스와 관련된 CIR을 초과하는 환경에서 발생할 수 있습니다.
권장 사항
- 호스트 및 DHCP 서버 측에서 캡처로 전체 DORA 트랜잭션이 표시되는지 확인합니다. 스위치가 이 통신의 일부인 경우, CPU에 처리되거나 펀트된 패킷을 확인하고 스위치 및 리디렉션에 대한 통계
show ip dhcp global statistics 를 확인하는 것도 중요합니다 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 서버의 역할을 하지 않으며 릴레이 에이전트의 역할만 하도록 설계되었습니다.
권장 사항
- 클래스 일반 DHCP와 동일한 권장 사항이 여기에 적용됩니다. Nexus의 기능은 릴레이 에이전트 역할만 하기 때문에 SUP에서는 호스트와 스위치 간의 전체 트랜잭션이 릴레이 역할을 하며, 스위치와 서버가 구성됨을 확인할 수 있습니다.
- 범위에 응답하는 네트워크의 예기치 않은 DHCP 서버 또는 DHCP Discover 패킷으로 네트워크를 플러딩하는 루프에 갇힌 디바이스와 같은 비인가 디바이스가 없는지 확인합니다. 추가 검사는 및 명령으로 수행할 수
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
영향
이 클래스의 삭제는 일반적으로 하드웨어에 높은 비율의 새로운 동적 변환 및 흐름이 설치될 때 발생합니다. 이러한 영향은 폐기되고 최종 호스트로 전달되지 않는 소프트웨어 스위치드 패킷과 관련이 있으며, 이로 인해 손실 및 재전송이 발생할 수 있습니다. 항목이 하드웨어에 설치되면 추가 트래픽은 수퍼바이저에게 푸시되지 않습니다.
권장 사항
- 관련 플랫폼에서 동적 NAT의 지침 및 제한을 확인합니다. 3548과 같이 번역에 몇 초가 걸릴 수 있는 플랫폼에 문서화된 알려진 제한 사항이 있습니다. 참조: 동적 NAT 제한
클래스 예외 -
copp-system-p-class-exception
이 클래스는 IP 옵션 및 IP ICMP 도달 불가 패킷과 연결된 예외 패킷을 참조합니다. 목적지 주소가 FIB(Forwarding Information Base)에 없고 누락이 발생할 경우 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 옵션 패킷의 범위를 제한하는 보호 메커니즘입니다.
권장 사항
- FIB에 없는 대상의 CPU에 표시되거나 CPU로 보내지는 트래픽 흐름이 있는지 확인합니다.
클래스 리디렉션 -
copp-system-p-class-redirect
이 클래스는 시간 동기화에 사용되는 PTP(Precision Time Protocol)와 연결된 트래픽을 참조합니다. 여기에는 예약된 범위 224.0.1.129/32에 대한 멀티캐스트 트래픽, UDP 포트 319/320 및 Etetype 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
영향
이 클래스에 삭제를 수행하면 제대로 동기화되지 않았거나 올바른 계층 구조를 설정하지 않은 디바이스에 문제가 발생할 수 있습니다.
권장 사항
- 시계의 안정성을 보장하고 올바르게 구성되었는지 확인합니다. PTP 디바이스가 멀티캐스트 또는 유니캐스트 PTP 모드에 대해 구성되었지만 동시에 둘 다 구성되지 않았는지 확인합니다. 이 역시 지침 및 제한 사항에 따라 문서화되며, 커밋된 입력 속도를 넘어 트래픽을 푸시할 수 있습니다.
- 환경의 경계 시계 및 모든 PTP 디바이스의 설계 및 컨피그레이션을 검토합니다. 모든 지침 및 제한 사항은 다양하므로 플랫폼별로 준수해야 합니다.
클래스 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
영향
이 클래스의 삭제는 네트워크의 포워딩 플레인을 관리하기 위해 컨트롤러로부터 명령을 제대로 수신하고 처리하지 못하는 에이전트에 문제를 일으킬 수 있습니다
권장 사항
- 네트워크에서 중복 트래픽이 표시되지 않는지 또는 컨트롤러와 에이전트 간의 통신을 방해하는 디바이스가 표시되지 않는지 확인합니다.
- L2 네트워크에 불안정성이 없는지 확인합니다(STP 또는 루프).
CoPP 삭제 문제 해결
CoPP 위반 문제를 해결하기 위한 첫 번째 단계는 다음과 같습니다.
- 문제의 영향 및 범위.
- 환경을 지나는 트래픽 흐름과 영향을 받는 통신에서 스위치의 역할을 파악합니다.
- 관련 클래스에 의심되는 위반이 있는지 확인하고 필요에 따라 반복합니다.
예를 들어, 나열된 동작이 탐지되었습니다.
- 디바이스는 네트워크 외부의 다른 디바이스와 통신할 수 없지만 로컬로 통신할 수는 있습니다.
- VLAN 외부의 라우티드 통신에 미치는 영향이 격리되었으며 스위치가 기본 게이트웨이로 작동합니다.
- 호스트를 확인하면 게이트웨이를 ping할 수 없음을 나타냅니다. ARP 테이블을 확인한 후 게이트웨이의 항목은 Incomplete(미완료)로 유지됩니다.
- 게이트웨이가 해결된 다른 모든 호스트에는 통신 문제가 없습니다. 게이트웨이 역할을 하는 스위치의 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는 특정 클래스와 관련된 트래픽에 대한 영향을 차단한다는 점을 강조해야 합니다. 이 예에서는 ARP 및 copp-system-p-class-normal입니다. OSPF, BGP와 같은 다른 클래스와 관련된 트래픽은 완전히 다른 클래스에 속하므로 CoPP에 의해 삭제되지 않습니다. 선택하지 않을 경우 ARP 문제가 다른 문제로 확산될 수 있으며, 이는 시작하는 데 의존하는 프로토콜에 영향을 줄 수 있습니다. 예를 들어 ARP 캐시가 시간 초과되고 과도한 위반으로 인해 새로 고쳐지지 않을 경우 BGP와 같은 TCP 세션이 종료될 수 있습니다.
- Ethanalyzer, CPU-mac 대역 내 통계, 문제를 더 격리하기 위한 CPU 프로세스 같은 컨트롤 플레인 검사를 수행하는 것이 좋습니다.
에트분석기
CoPP에 의해 폴리싱되는 트래픽은 CPU 바운드 트래픽에만 연결되므로 가장 중요한 툴 중 하나는 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 - 다른 매개 변수에 의해 중지되거나 Ctrl+C에 의해 수동으로 중지될 때까지 제한을 나타냅니다. 0은 무제한입니다.
autostop duration 60 - 60초 후 Ethanalyzer 중지를 참조하여 CPU에서 60초 동안의 ARP 트래픽 스냅샷을 생성합니다.
Ethanalyzer 출력이 > arpcpu가 있는 부트플래시의 파일로 리디렉션되어 수동으로 처리됩니다. 60초 후에 캡처가 완료되고 Ethanalyzer가 동적으로 종료되고, 파일의 arpcpu가 스위치의 bootflash에 있으며, 그런 다음 이를 처리하여 상위 토커를 추출할 수 있습니다. 예를 들면 다음과 같습니다.
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에 대한 자세한 내용과 사용 방법은 TechNote를 참조하십시오.
Nexus 7000의 Ethanalyzer 트러블슈팅 가이드
Nexus 플랫폼에서 컨트롤 플레인 및 데이터 플레인 트래픽 분석에 Ethanalyzer 사용
참고: Nexus 7000은 8.X 코드 릴리스 이전에는 모든 VDC의 SUP 바운드 트래픽을 포괄하는 관리자 VDC를 통해서만 Ethanalyzer 캡처를 수행할 수 있습니다. VDC 전용 Ethanalyzer는 8.X 코드로 제공됩니다.
CPU-MAC 대역 내 통계
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 은 피크 사용 및 탐지된 시간과 관련된 데이터를 포함하므로 기록 참조로도 유용합니다.
프로세스 CPU
Nexus 스위치는 Linux 기반 시스템이며, NXOS(Nexus Operating System)는 CPU 선점형 스케줄러, 멀티태스킹, 각 코어 아키텍처의 멀티스레딩을 활용하여 모든 프로세스에 대한 공정한 액세스를 제공하므로, 스파이크가 항상 문제를 나타내는 것은 아닙니다. 그러나 지속적인 트래픽 위반이 나타날 경우 관련 프로세스도 많이 사용되고 CPU 출력 아래의 상위 리소스로 나타날 가능성이 높습니다. CPU 프로세스의 여러 스냅샷을 생성하여 다음을 사용하여 특정 프로세스의 높은 사용률을 확인합니다
show processes cpu sort | exclude 0.0 or show processes cpu sort | grep <process>.
프로세스 CPU, 대역 내 통계 및 Ethanalyzer 검증은 수퍼바이저가 현재 처리한 프로세스 및 트래픽에 대한 통찰력을 제공하며 데이터 플레인 문제로 이어질 수 있는 제어 플레인 트래픽의 지속적인 불안정성을 격리합니다. CoPP가 보호 메커니즘임을 이해하는 것이 중요합니다. 이는 SUP로 전달되는 트래픽에만 작용하기 때문에 반동적입니다. 이는 예상 범위를 초과하는 트래픽 속도를 버림으로써 수퍼바이저의 무결성을 보호하도록 설계되었습니다. 인프라 및 네트워크 설계를 기반으로 특정 CoPP 클래스 및 확인된 영향과 관련된 중요도이므로 모든 삭제에 문제가 있거나 개입이 필요한 것은 아닙니다. 산발적인 버스트 이벤트로 인한 삭제는 프로토콜이 일시적인 이벤트를 처리할 수 있는 keepalive 및 재시도와 같은 내장형 메커니즘을 가지고 있으므로 영향을 미치지 않습니다. 설정된 베이스라인을 넘어서는 지속적인 이벤트 또는 비정상적인 이벤트에 계속 집중하십시오. CoPP는 환경 고유의 프로토콜과 기능을 준수해야 하며, 진화하는 확장성 요구 사항에 따라 이를 정밀하게 조정하기 위해 지속적으로 모니터링하고 반복해야 합니다. 드롭이 발생하면 CoPP가 의도치 않게 트래픽을 드롭했는지 또는 오작동 또는 공격에 대한 응답으로 트래픽을 드롭했는지 확인합니다. 어느 경우든 스위치 자체의 범위를 벗어날 수 있는 환경에 미치는 영향과 시정 조치에 대한 분석으로 상황을 분석하고 개입의 필요성을 평가한다.
추가 정보
최신 플랫폼/코드는 포트의 미러와 CPU에 대한 데이터 플레인 트래픽의 펀트를 통해 SPAN-to-CPU를 수행할 수 있습니다. 이는 일반적으로 하드웨어 속도 제한 및 CoPP에 의해 크게 속도 제한됩니다. SPAN을 CPU에 신중하게 사용하는 것이 좋으며 이 문서의 범위를 벗어납니다.
이 기능에 대한 자세한 내용은 나열된 기술 노트를 참조하십시오.
개정 | 게시 날짜 | 의견 |
---|---|---|
2.0 |
26-Mar-2024 |
대체 텍스트를 추가했습니다.
업데이트된 SEO, 기계 번역, 스타일 요구 사항 및 서식. |
1.0 |
01-Jul-2022 |
최초 릴리스 |