소개
이 문서에서는 Nexus 7000 시리즈 스위치에서 활성화된 기능 세트에 따라 TCAM이 예기치 않게 과도하게 사용되는 방법에 대해 설명합니다.
문제 설명
atomic 업데이트가 활성화된 경우 RACL과 같은 두 개 이상의 기능이 서로 다른 인터페이스에 적용될 경우 50% 제한에 도달하지 않았지만 TCAM 초과 사용 오류가 발생할 수 있습니다.
예:사용률이 29.57이지만 이후 하위 인터페이스에 여러 기능을 적용할 수 없는 반면, 상한값은 50%(atomic updates가 활성화된 경우)이고 아래 오류가 발생합니다.
오류:모듈 1이 상태를 반환했습니다.TCAM이 과도하게 사용됩니다. 은행 체인을 활성화하거나 atomic 업데이트를 끄십시오.다른 모듈에서 은행 체이닝이 활성화되어 있고 새 라인 카드 삽입인 경우 이 모듈을 다시 로드하기 전에 은행 체이닝을 활성화하십시오.
또한 다시 로드한 후 모든 인터페이스가 컨피그레이션을 상실하며 이러한 이유로 VDC 0에 할당됩니다.
배경
Nexus 7000에서 기본적으로 활성화되는 미세 업데이트는 전체 TCAM의 50%만 사용할 수 있습니다.나머지 50%는 ACL 변경 사항을 수용하기 위해 예약되어 ACL의 무중단 업데이트를 제공합니다.이에 대한 자세한 내용은 다음 섹션에서 제공하는 링크를 참조하십시오.권장 읽기
사전 요구 사항
다음 항목을 아는 것이 좋습니다.
미세 업데이트
N7000의 TCAM
사용된 구성 요소
이 문서의 정보는 모듈의 N7718 섀시에서 수행된 랩 테스트를 기반으로 합니다.버전 8.3(2)에서 실행되는 N77-F312CK-26
이 문서에 사용된 모든 디바이스는 기본 컨피그레이션으로 시작되었으며 표시되는 기능은 RACL, NetFlow입니다.
관찰
기본 및 하위 인터페이스에 구성된 이그레스 RACL과 기본 인터페이스에서만 활성화된 Netflow
초기 구성:
Interface Ethernet 11/2: Layer-3; RACL
Interface Ethernet 11/2.300-302: Layer-3; RACL
RACL만 적용된 TCAM 활용률:
N7718(config-if)# show system internal access-list resource utilization module 11 | in "Tcam 1, Bank 0" across all instances:
Tcam 1, Bank 0 1211 2885 29.57
Tcam 1, Bank 0 1211 2885 29.57
Tcam 1, Bank 0 1211 2885 29.57
참고:이 문서의 이그레스 RACL에 대한 TCAM 공간 사용률은 29.57%로 가정합니다.
일단 NetFlow가 기본 인터페이스에만 적용되면 NetFlow 컨피그레이션이 겨우 1%의 공간을 차지하지만 인터페이스 사용률은 두 배로 증가합니다.
Interface Ethernet 11/2: Layer-3; RACL; NetFlow
Interface Ethernet 11/2.300-302: Layer-3; RACL
기본 인터페이스에는 NetFlow가 구성되어 있는 반면, 하위 인터페이스에는 NetFlow(이 동작을 관찰하기 위해 Atomic 업데이트를 비활성화할 수 있음)가 없습니다.
N7718(config-if)# show system internal access-list resource utilization module 11 | in "Tcam 1, Bank 0"
Tcam 1, Bank 0 2394 1702 58.45
Tcam 1, Bank 0 2394 1702 58.45
Tcam 1, Bank 0 2394 1702 58.45
참고:미세 업데이트가 계속 활성화된 경우 미세 업데이트 제한이 50%에 불과하고 다음 오류가 표시되므로 이 두 배의 동작은 가능하지 않습니다.
오류:모듈 1이 상태를 반환했습니다.TCAM이 과도하게 사용됩니다. 은행 체인을 활성화하거나 atomic 업데이트를 끄십시오.다른 모듈에서 은행 체이닝이 활성화되어 있고 새 라인 카드 삽입인 경우 이 모듈을 다시 로드하기 전에 은행 체이닝을 활성화하십시오.
설명:
이 경우 두 가지 다른 정책 집합이 여기에 있습니다.한 대상에 RACL만 있고 다른 대상에 RACL +NF가 있습니다. 따라서 동일한 기능에 대해 두 개의 TCAM 항목 집합이 할당되고 있으므로 실제 소비에서 볼 수 있는 2배 동작은 29.57개여야 합니다.
디바이스는 아래에 표시된 대로 두 인터페이스에 대해 두 개의 개별 레이블을 생성하여 이를 수행합니다.
module-11# show system internal access-list interface e11/2 out statistics
INSTANCE 0x0
---------------
Tcam 1 resource usage:
----------------------
Label_b = 0x801 >>> LABEL is 0x801
module-11# show system internal access-list interface e11/2.300 out statistics
INSTANCE 0x0
---------------
Tcam 1 resource usage:
----------------------
Label_b = 0x802 >>> NEW LABEL 0x802 IS GENERATED
RACL과 Netflow가 모두 기본 인터페이스 및 하위 인터페이스에서 구성된 경우
케이스 1의 컨피그레이션이 이미 있음:
Interface Ethernet 11/2: Layer-3; RACL; NetFlow
Interface Ethernet 11/2.300-302: Layer-3; RACL
이제 하위 인터페이스의 나머지 부분에서도 NetFlow를 적용합니다.
Interface Ethernet 11/2: Layer-3; RACL; NetFlow
Interface Ethernet 11/2.300-302: Layer-3; RACL; NetFlow
이제 모든 대상에 RACL + Netflow가 구성되어 있으므로 동일한 레이블이 b/w 대상(모든 인터페이스에서 참조되는 단일 TCAM 항목 집합)으로 공유됩니다.
N7718(config-if)# show system internal access-list resource utilization module 11 | in "Tcam 1, Bank 0"
Tcam 1, Bank 0 1211 2885 29.57
Tcam 1, Bank 0 1211 2885 29.57
Tcam 1, Bank 0 1211 2885 29.57
module-11# show system internal access-list interface ethernet11/2 out statistics |in Label_b p 5 n 4
INSTANCE 0x0
Tcam 1 resource usage:
----------------------
Label_b = 0x802 >>> LABEL is 0x802
module-11# show system internal access-list interface ethernet11/2.300 out statistics |in Label_b p 5 n 4
INSTANCE 0x0
Tcam 1 resource usage:
----------------------
Label_b = 0x802 >>> SAME LABEL IS MAINTAINED
참고:이 동작은 물리적 인터페이스, 하위 인터페이스로 확장됩니다.문제가 있는 모든 대상에 동일한 컨피그레이션 세트가 있는 경우에만 TCAM 사용률이 두 배로 증가하지 않습니다.
RACL이 이미 있는 모든 인터페이스에서 Netflow를 적용한 후에만 TCAM이 원래 29.57%로 감소하는지 확인합니다.
1. "1" 인터페이스에 RACL을 적용합니다.29.57%
2. 후속 인터페이스에 RACL을 적용합니다.29.57%
3. "1" 인터페이스에서 RACL 애플리케이션 다음에 NF를 적용합니다.58.45%
4. 후속 인터페이스에 NF를 적용합니다.58.45%
5. 마지막 인터페이스에 NF를 적용합니다.29.57%
해결
1. 원자성 업데이트를 비활성화합니다.
<또는>
2. 제한을 25%로 유지하도록 ACL 크기를 줄입니다.
요약
Atomic 업데이트:
Netflow가 첫 번째 인터페이스에 적용되면, 이제 첫 번째 인터페이스에 ACL이 모두 포함되고 NF가 구성되었지만 두 번째 인터페이스에는 RACL만 구성되어 있으므로 별도의 TCAM 인스턴스 생성을 시도합니다.
그러나 atomic 업데이트를 사용하도록 설정했기 때문에 별도의 인스턴스 만들기가 실패하여 사용률이 50을 초과합니다. 따라서 TCAM 과다 사용 오류가 발생합니다.
Atomic 업데이트 없음:
1. 모든 인터페이스에 ACL을 적용할 때다른 기능이 없으므로 29로 유지됩니다.
2. 첫 번째 인터페이스에 NetFlow를 적용합니다.스위치에서는 이 기능을 별도의 기능/기능 조합(별도의 내부 레이블 유지)으로 간주하여 동일한 뱅크에 별도의 인스턴스를 생성합니다.
3. ACL이 구성된 다른 모든 인터페이스에 NetFlow가 적용되면 기능의 구성/조합이 동일하므로(두 인터페이스에 모두 레이블이 동일함) 다시 섞기가 발생합니다.
4. 이제 TCAM이 두 인터페이스에 모두 공유되고 사용률이 29.57%로 다시 감소합니다.
이는 여러 인터페이스에서 기능 조합을 사용할 때 최적화하는 방법입니다.
관련 결함
CSCvs50014 하위 인터페이스의 ACL 및 Netflow는 이중 TCAM 항목을 사용합니다.
관련 문서
https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus7000/sw/security/config/cisco_nexus7000_security_config_guide_8x/configuring_ip_acls.html
https://www.cisco.com/c/en/us/td/docs/switches/datacenter/sw/6_x/nx-os/security/configuration/guide/b_Cisco_Nexus_7000_NX-OS_Security_Configuration_Guide__Release_6-x/b_Cisco_Nexus_7000_NX-OS_Security_Configuration_Guide__Release_6-x_chapter_01110.html#con_1458580