목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

배경 정보

용어

QoS 관련 Syslog 검토

하드웨어 사용률 및 정책 상태 검증

QoS 하드웨어 리소스의 현재 사용률 이해

사용 예(9200L 17.3.4)

하드웨어 사용률 문제 해결

시나리오: QoS TCAM 스케일 추정

시나리오: QoS TCAM 확장(초과하지 않음)

시나리오: QoS TCAM 규모 초과

리미디에이션 기술

TAC를 위해 수집할 명령

관련 정보

Cisco 버그 ID

소개

이 문서에서는 UADP ASIC 기반 Catalyst 9000 Series 스위치에서 QoS(Quality of Service) 하드웨어 사용률을 파악하고 확인하는 방법에 대해 설명합니다

사전 요구 사항

요구 사항

다음 주제에 대한 지식을 보유하고 있으면 유용합니다.

- Cisco MQC QoS 컨피그레이션, 정책 맵, 클래스 맵, 액세스 제어 목록, 액세스 제어 엔트리

사용되는 구성 요소

이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.

- Cisco Catalyst 9200L Cisco IOS®-XE 17.3.4

일반적인 개념, 아이디어 및 다양한 출력은 다른 Cisco Catalyst 9000 Series 스위치에서 확인할 수 있습니다.

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.

관련 제품

이 문서는 다음과 같은 하드웨어 및 소프트웨어 버전에서도 사용할 수 있습니다.

- Catalyst 9300 - 9600 Series 스위치

- Catalyst 9300X & 9400X

- Cisco IOS® XE 16.x 및 17.x 소프트웨어 버전

배경 정보

- Catalyst 9000 Series 스위치의 다양한 기능은 제한된 하드웨어 리소스를 소비합니다. 이러한 리소스는 이러한 기능의 성능을 가속화하고 스위치에서 기대하는 높은 전달 속도를 제공하기 위해 존재합니다.

- 이러한 리소스의 규모는 스위치 모델마다 다를 수 있지만, 트러블슈팅에 대한 기본 방법론은 UADP ASIC를 사용하는 Catalyst 9000 Series 스위치에서 동일하게 유지됩니다

- 일반적으로 스위치가 있는 주요 하드웨어 리소스는 TCAM - Ternary Content Addressable Memory라고 합니다

- Catalyst 9000 Series 스위치에서는 TCAM 이외에 여러 메모리 유형이 사용되므로 특정 기능의 특정 요구 사항에 적합합니다

이 문서에서는 다음 작업을 수행할 수 있습니다.

- QoS(Quality of Service)가 하드웨어 항목을 사용하는 방법 이해

- QoS 하드웨어 리소스 문제를 나타내는 로그 또는 오류 메시지 이해

- QoS와 관련된 하드웨어 리소스 문제를 해결하기 위해 수행할 작업 결정

용어

QoS

QoS(Quality of Service)

네트워크 디바이스 안팎의 트래픽을 분류, 표시, 대기열 지정 및 스케줄링하는 것과 관련된 개념/관련 기능 그룹

TCAM

터너리 내용 주소화 메모리

0, 1, X라는 서로 다른 세 가지 입력으로 항목을 저장하고 쿼리하는 메모리 유형입니다. 이 메모리 유형은 동일한 항목에 대한 여러 일치가 있고 각각에 대한 결과 해시가 고유하지 않은 경우에 사용됩니다. 이 표에는 이 항목과 일치하는지 또는 일치하지 않는지 알 수 있는 마스크 또는 X 값이 포함되어 있습니다.

DSCP

Differentiated Services Code Point

패킷의 IP 헤더에 포함된 트래픽 분류 메커니즘

CoS

서비스 등급

패킷의 이더넷 프레임 헤더에 포함된 트래픽 분류 메커니즘

에이스

액세스 제어 항목

ACL(Access Control List) 내의 단일 규칙 또는 라인

ACL

액세스 제어 목록

트래픽을 일치시키고 작업을 수행하기 위해 다양한 기능에서 사용하는 ACE(Access Control Entry) 그룹

연방

포워드 엔진 드라이버

디바이스의 하드웨어를 프로그래밍하는 소프트웨어 구성 요소

QoS 관련 Syslog 검토

QoS 관련 리소스가 부족하면 시스템에서 SYSLOG 메시지를 생성합니다.

QoS 관련 Syslog 메시지

정의

복구 작업

%FED_QOS_ERRMSG-4-TCAM_OVERFLOW: 스위치 1 R0/0: fed: GigabitEthernet1/0/10에서 정책 맵 ingress_pmap2에 대한 TCAM을 프로그래밍하지 못했습니다.

QoS 항목용으로 예약된 하드웨어(TCAM)의 공간이 부족합니다.

유효한/지원되는 컨피그레이션이 있는지 확인합니다. 그런 다음 이 문서의 나머지 부분을 검토하여 스위치의 현재 규모 활용도를 검증하고 초과 사용 시 줄일 수 있는 단계를 확인합니다.

%FED_QOS_ERRMSG-3-QUEUE_SCHEDULER_HW_ERROR: 스위치 1 R0/0: fed: GigabitEthernet1/0/27에 대한 큐 스케줄러를 구성하지 못했습니다.

QoS 큐 스케줄러의 하드웨어에 설치하지 못했습니다.

컨피그레이션이 지원되는지 확인하고 특정 플랫폼 및 소프트웨어 버전에 대한 QoS 컨피그레이션 가이드를 검토하십시오.

9200L 전용: Cisco 버그 ID CSCvz54607 및 Cisco 버그 ID CSCvz를 검토하십시오76172

FED_QOS_ERRMSG-3-QUEUE_BUFFER_HW_ERROR: R0/0: fed: 기본 큐 버퍼를 구성하지 못했습니다.

QoS 큐 버퍼의 하드웨어에 설치하지 못했습니다.

컨피그레이션이 지원되는지 확인하고 특정 플랫폼 및 소프트웨어 버전에 대한 QoS 컨피그레이션 가이드를 검토하십시오.

Cisco 버그 ID CSCvs를 검토합니다49401

하드웨어 사용률 및 정책 상태 검증

현재 QoS TCAM 사용률 확인

show platform hardware fed switch active fwd-asic resource tcam utilization

참고: 이 명령에 대한 자세한 내용은 를 참조하십시오

16.X versions:

CAM Utilization for ASIC  [0]

Table                                              Max Values        Used Values

--------------------------------------------------------------------------------

Unicast MAC addresses                              16384/256          15/21

L3 Multicast entries                               1024/256           0/7

L2 Multicast entries                               1024                 9

Directly or indirectly connected routes            8192/3072          2/19

QoS Access Control Entries                         1024                40 <<< QoS Entries

Security Access Control Entries                    1408               125

Ingress Netflow ACEs                                128                 8

Policy Based Routing ACEs                           512                 9

Egress Netflow ACEs                                 128                 8

Flow SPAN ACEs                                      256                13

Control Plane Entries                               512               211

Tunnels                                             128                17

Lisp Instance Mapping Entries                       128                 3

SGT_DGT                                            2048/256           0/1

CLIENT_LE                                          2048/64            0/0

INPUT_GROUP_LE                                     1024                 0

OUTPUT_GROUP_LE                                    1024                 0

Macsec SPD                                          128                 2

17.x Versions:

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

Mac Address Table      EM           I       16384       17    0.10%        0        0        0       17

Mac Address Table      TCAM         I         256       21    8.20%        0        0        0       21

L3 Multicast           EM           I        1024        0    0.00%        0        0        0        0

L3 Multicast           TCAM         I         256        9    3.52%        3        6        0        0

L2 Multicast           TCAM         I        1024       11    1.07%        3        8        0        0

IP Route Table         EM           I        4096        3    0.07%        2        0        1        0

IP Route Table         TCAM         I        2048       19    0.93%        6       10        2        1

QOS ACL                TCAM         IO       1024       85    8.30%       28       38        0       19  <-- QoS Entries

Security ACL           TCAM         IO       1408      129    9.16%       26       58        0       45

Netflow ACL            TCAM         I         128        6    4.69%        2        2        0        2

PBR ACL                TCAM         I         512        9    1.76%        3        6        0        0

Netflow ACL            TCAM         O         128        6    4.69%        2        2        0        2

Flow SPAN ACL          TCAM         IO        256       13    5.08%        3        6        0        4

Control Plane          TCAM         I         512      262   51.17%      114      106        0       42

Tunnel Termination     TCAM         I         128       18   14.06%        8       10        0        0

Lisp Inst Mapping      TCAM         I         128        1    0.78%        0        0        0        1

CTS Cell Matrix/VPN

Label                  EM           O        2048        0    0.00%        0        0        0        0

CTS Cell Matrix/VPN

Label                  TCAM         O         256        1    0.39%        0        0        0        1

Client Table           EM           I        2048        0    0.00%        0        0        0        0

Client Table           TCAM         I          64        0    0.00%        0        0        0        0

Input Group LE         TCAM         I        1024        0    0.00%        0        0        0        0

Output Group LE        TCAM         O        1024        0    0.00%        0        0        0        0

Macsec SPD             TCAM         I         128        2    1.56%        0        0        0        2

QoS 정책이 하드웨어에 설치되었는지 확인합니다. 상태가 VALID이고 SET_INHW인지 확인합니다. 목록의 맨 아래에서 물리적 인터페이스 항목을 확인합니다. 스위치 스택 또는 stackwise-virtual에서 스위치 번호 또는 active/standby를 사용하여 하드웨어 설치를 검증할 스위치를 정확하게 반영합니다.

C9200(config)#policy-map egress_pmap

C9200(config-pmap)#interface gi2/0/9

C9200(config-if)#service-policy output egress_pmap

C9200#show platform software fed switch 2 qos policy target status         <-- switch 2 is used because the interface in question is Gi2/0/9 which is on switch 2

TCG status summary:

Loc Interface             IIF-ID           Dir State:(cfg,opr) Policy

--- --------------------- ---------------- --- --------------- --------------------

<snip>

L:0 GigabitEthernet2/0/9  0x00000000000010 OUT VALID,SET_INHW  egress_pmap <-- VALID / SET_INHW indicates the policy is understood by software and installed to hardware successfully

대상 인터페이스에 대해 VALID/SET_INHW 대신 유효하지 않은 정책 또는 오류가 표시되면 QoS 정책을 검토하고 길이와 구문을 검증합니다. 하드웨어 사용률도 확인합니다. 이 문서의 뒷부분에서는 정책이 사용할 수 있는 리소스를 이해하는 방법에 대해 자세히 설명합니다.

C9200#show run policy-map egress_pmap

Current configuration : 624 bytes

!

policy-map egress_pmap

class COS_DSCP6

priority level 1

queue-buffers ratio 5

class COS_DSCP5

bandwidth remaining percent 10

queue-buffers ratio 5

<snip...>

C9200#show run class-map COS_DSCP6

Current configuration : 66 bytes

!

class-map match-any COS_DSCP6

match ip dscp ef

!

end

QoS 하드웨어 리소스의 현재 사용률 이해

사용 예(9200L 17.3.4)

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024       85    8.30%       28       38        0       19 <-- Baseline utilization with minimal configuration

빈 정책 맵을 구성하고 연결합니다. 이 정책 맵에서 호출된 클래스 맵이 없으므로 이 정책은 의도한 효과가 없습니다.

C9200(config)#policy-map egress_pmap

C9200(config-pmap)#interface gi1/0/9

C9200(config-if)#service-policy output egress_pmap

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024       89    8.69%       29       40        0       20 <-- 4 additional entries consumed

클래스 맵이 0개라도 첨부되거나 조치가 취해진 경우에도 4개의 하드웨어 항목이 사용되고 V4, V6 및 기타로 분할되는지 확인합니다.

이 예제에서는 빈 테스트 클래스가 추가됩니다. 일반적인 시나리오에서 이 match-any 클래스 맵은 여러 유형의 DSCP, CoS 또는 IPP 레이블을 일치시킬 수 있습니다. 그러나 예를 들어, 호출된 값이 없으므로 클래스 맵은 어떤 트래픽과도 매칭하지 않습니다.

C9200(config)#class-map match-any TEST_CLASS

C9200(config-cmap)#policy-map egress_pmap

C9200(config-pmap)#class TEST_CLASS

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024       92    8.92%       30       42        0       20 <-- 3 additional entries consumed

이 예에서는 호출된 각 추가 클래스에 대해 일치하는 특정 트래픽이 없더라도 v4 엔트리 1개와 v6 엔트리 2개의 베이스라인이 소비됨을 보여 줍니다.

각 클래스에 match 문을 추가할 때 추가 항목이 사용됩니다.

C9200(config)#class-map match-any TEST_CLASS

C9200(config-cmap)#match precedence 0

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024       96    9.38%       31       44        0       21 <-- 4 additional entries

C9200(config-cmap)#match precedence 1

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024       99    9.67%       32       46        0       21 <-- 3 additional entries

C9200(config-cmap)#match cos 1

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024      100    9.77%       32       46        0       22 <-- 1 additional entry

C9200(config-cmap)#match dscp 21

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024      103   10.06%       33       48        0       22 <-- 3 addditional entries

C9200(config-cmap)#match dscp 22

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024      103   10.06%       33       48        0       22 <-- 0 additional entries

C9200(config-cmap)#match dscp 23

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024      106   10.35%       34       50        0       22 <-- 3 additional entries

C9200(config-cmap)#match dscp 31

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024      109   10.64%       35       52        0       22 <-- 3 additional entries

C9200(config-cmap)#match dscp 32

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024      109   10.64%       35       52        0       22 <-- 3 additional entries

C9200(config-cmap)#match dscp 33

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024      112   10.94%       36       54        0       22 <-- 3 additional entries

경우에 따라 단일 match 명령문이 더 이상 엔트리를 소비하지 않는지 확인합니다. 다음 match 명령문이 여러 항목을 사용하는지 확인합니다.

네트워크 전체에 정책을 구현하기 전에 정책을 주기적으로 개발할 때 테스트하고 계속 진행할 때 최적화를 수행하십시오.

참고: QoS 관련 하드웨어 사용률의 경우 하드웨어 사용이 일치 명령문이나 ACE(Access Control Entry)를 통해 항상 일대일 방식으로 확장되지는 않습니다. 하드웨어는 Value Mask Result(VMR) 측면에서 작동합니다. 일부 시나리오에서는 ACE를 완수하는 데 필요한 데이터 범위를 완전히 분류하기 위해 둘 이상의 VMR이 필요할 수 있습니다. Catalyst 9000 Series 스위치 UADP 제품군 ASIC에는 확장 필요성을 줄이기 위해 포트 범위 운영(L4OP)을 지원하는 ACE와 같이 이러한 시나리오를 최적화하는 하드웨어가 포함되어 있습니다.

하드웨어 사용률 문제 해결

이 섹션에서는 이러한 하드웨어 및 소프트웨어의 조합을 통해 여러 시나리오를 제시하여 문제 시나리오 및 문제 해결을 설명합니다.

- 플랫폼 - C9200L-48T-4X

- Cisco IOS®-XE 17.3.4

제시된 시나리오는 다음과 같습니다.

- 비교적 적은 양의 항목을 전체 사용률에 추가하는 소규모 정책

- 비교적 많은 양의 항목을 전체 사용률에 추가하는 대규모 정책

- 해당 정책을 설치하지 못하게 하는 두 번째 큰 정책

- 설치 실패 해결

시나리오: QoS TCAM 스케일 추정

참고: 이 예에서는 Object-Group 기반 ACL을 사용합니다.  객체 그룹은 훨씬 더 큰 기존 액세스 목록을 효율적으로 나타냅니다. 본질적으로 TCAM을 더 많이 또는 더 적게 소비하지는 않습니다. 그 대신, ACE의 매우 긴 패턴 목록을 나타내기 위해 단순화되고 모듈형 방식입니다.

이 예에서는 인그레스 정책을 사용하여 패킷을 표시합니다. 여기에는 Object-Groups, IP Access-Lists 및 TCP/UDP 포트 기반 일치가 포함됩니다.

객체 그룹

객체 그룹을 사용하는 액세스 목록

클래스 맵

정책 맵

object-group network RFC1918-Private-IPv4

10.0.0.0 255.0.0

172.16.0.0 255.240.0

192.168.0.0 255.255.0.0

object-group network app_1

그룹 개체 RFC1918-Private-IPv4

ip access-list extended APP_1_PORTS_1

10 permit udp any object-group app_1 range 1433 1434

20 permit udp object-group app_1 range 1433 1434 any

30 permit tcp any object-group app_1 range 1433 1434

40 permit tcp object-group app_1 range 1433 1434 any

50 permit tcp any object-group app_1 range 14300 14400

60 permit tcp object-group app_1 range 14300 14400 any

클래스 맵 match-any BigClass

match access-group name APP_1_PORTS_1

policy-map ingress_pmap

클래스 BigClass

dscp cs2 설정

차트를 검토하고 object-group network RFC1918-Private-IPv4에 서브넷이 3개 있습니다

object-group network app_1

group-object RFC1918-Private-IPv4

object-group network RFC1918-Private-IPv4

10.0.0.0 255.0.0.0

172.16.0.0 255.240.0.0

192.168.0.0 255.255.0.0

또한 ip access-list extended APP_1_PORTS_1에는 6개의 match 명령문이 있습니다.

ip access-list extended APP_1_PORTS_1

10 permit udp any object-group app_1 range 1433 1434 <-- permits any source, to group app_1 on UDP ports 1433 - 1434

20 permit udp object-group app_1 range 1433 1434 any <-- reverse of previous line, reminder that app_1 is made up of RFC1918-Private-IPv4, which is 3 separate subnets

30 permit tcp any object-group app_1 range 1433 1434

40 permit tcp object-group app_1 range 1433 1434 any

50 permit tcp any object-group app_1 range 14300 14400

60 permit tcp object-group app_1 range 14300 14400 any

object-group network app_1은 object-group network RFC1918-Private-IPv4의 모든 항목을 ip access-list extended APP_1_PORTS_1의 모든 항목에 적용합니다.

이는 APP_1_PORTS_1의 각 ACE에 대해 RFC1918-Private-IPv4에서 3개의 추가 ACE를 나타내는 object-group app_1을 참조하므로 승산 효과가 있습니다

클래스 맵 및 정책 맵에 연결된 ip access-list extended APP_1_PORTS_1의 총 사용률 추정치:

APP_1이 6배 사용됨 x 3개의 object-group ACE = 18

정책을 적용하고 TCAM 사용률을 관찰합니다.

C9200#show platform hardware fed switch 2 fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024      85    8.69%       29       40        0       20 <-- baseline utilization

C9200(config-pmap)#interface gi1/0/9

C9200(config-if)#service-policy input ingress_pmap

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024      107    10.45%     47       40        0       20 <-- 22 entries consumed

요약

- ACL은 객체 그룹을 정의합니다. 이 그룹은 객체 그룹의 곱셈 효과로 인해 18개의 추가 항목을 소비하도록 확장됩니다

- 정책 맵은 기본적으로 4개의 엔트리를 사용합니다

- 이 경우 22개 항목 사용

시나리오: QoS TCAM 확장(초과하지 않음)

이 예는 더 큰 정책을 가진 이전의 연속입니다. 이렇게 하면 대량의 TCAM을 신속하게 사용할 수 있는 방법이 설정됩니다.

정책 1:

객체 그룹

객체 그룹을 사용하는 액세스 목록

클래스 맵

정책 맵

object-group network experimental_1

240.1.192.0 255.255.192.0

240.2.96.0 255.255.224.0

240.3.160.0 255.255.240.0

240.4.32.0 255.255.224.0

240.5.160.0 255.255.224.0

240.6.192.0 255.255.224.0

240.7.128.0 255.255.128.0

240.8.0.0 255.255.0.0

240.9.128.0 255.255.192.0

240.10.224.0 255.255.224.0

240.11.0.0 255.255.240.0

240.12.160.0 255.255.224.0

240.13.192.0 255.255.224.0

240.14.192.0 255.255.240.0

240.15.128.0 255.255.224.0

object-group network experimental_2

241.0.0.0 255.255.192.0

241.4.0.0 255.252.0.0

241.8.0.0 255.252.0.0

호스트 241.12.1.1

호스트 241.13.1.1

호스트 241.14.1.1

호스트 241.15.1.1

241.16.0.0 255.252.0.0

호스트 241.20.1.1

호스트 241.21.1.1

호스트 241.22.1.1

호스트 241.23.1.1

object-group network RFC1918-Private-IPv4

10.0.0.0 255.0.0

172.16.0.0 255.240.0

192.168.0.0 255.255.0.0

object-group network app_1

그룹 개체 RFC1918-Private-IPv4

object-group network app_2

그룹 개체 RFC1918-Private-IPv4

object-group network app_3

그룹 개체 RFC1918-Private-IPv4

object-group network app_4

그룹 개체 RFC1918-Private-IPv4

group-object experimental_1

group-object experimental_2

ip access-list extended APP_1_PORTS_1

10 permit udp any object-group app_1 range 1433 1434

20 permit udp object-group app_1 range 1433 1434 any

<4줄 추가>

ip access-list extended APP_1_PORTS_2

10 permit udp any object-group app_1 range 7750 7759

20 permit udp object-group app_1 range 7750 7759 any

<18줄 추가>

ip access-list extended APP_1_PORTS_3

10 permit udp any object-group app_1 range 22030 22031

20 permit udp object-group app_1 range 22030 22031 any

<6줄 더>

ip access-list extended APP_2_PORTS_1

10 permit udp any object-group app_2 range 6000 9291

20 permit udp object-group app_2 range 6000 9291 any

ip access-list extended APP_3_PORTS_1

10 permit tcp any object-group app_3 eq 7563

20 permit tcp object-group app_3 eq 7563 any

<4줄 추가>

ip access-list extended APP_3_PORTS_2

10 허용 사용자 데이터그램 프로토콜 any object-group app_3 eq 554

20 permit udp object-group app_3 eq 554 any

<2줄 더>

ip access-list extended APP_3_PORTS_3

10 허용 사용자 데이터그램 프로토콜 any object-group app_3 eq 22331

20 permit udp object-group app_3 eq 22331 any

<2줄 더>

ip access-list extended APP_3_PORTS_4

10 permit tcp any object-group app_3 eq 5432

20 permit tcp object-group app_3 eq 5432 any

<6줄 더>

ip access-list extended APP_4_PORTS_1

10 permit udp any object-group app_4 range 1718 1719

20 permit udp object-group app_4 range 1718 1719 any

<14줄 추가>

클래스 맵 match-any BigClass_1

match access-group name APP_3_PORTS_2

클래스 맵 match-any BigClass_2

match access-group name APP_4_PORTS_1

클래스 맵 match-any BigClass_3

match access-group name APP_1_PORTS_2

match access-group name APP_3_PORTS_3

match access-group name APP_2_PORTS_1

class-map match-any BigClass_4

match access-group name APP_1_PORTS_3

match access-group name APP_3_PORTS_4

클래스 맵 match-any BigClass_5

match access-group name APP_1_PORTS_1

match access-group name APP_3_PORTS_1

policy-map big_ingress_pmap

클래스 BigClass_1

dscp cs4 설정

클래스 BigClass_2

dscp af41 설정

클래스 BigClass_3

dscp cs3 설정

클래스 BigClass_4

dscp af31 설정

클래스 BigClass_5

dscp cs2 설정

class-default

차트 오른쪽의 policy-map은 간단하고 그 옆에 있는 클래스 맵도 간단합니다. 그러나 클래스 맵은 더 긴 액세스 목록과 객체 그룹 집합으로 구성되며, 이는 정책 맵이 인터페이스에 적용될 때 소프트웨어가 모든 구성 요소를 병합하면 확장됩니다.

정책이 적용될 때:

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024      85    8.69%       29       40        0       20

C9200(config-pmap)#interface gi1/0/9

C9200(config-if)#service-policy input big_ingress_pmap

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024     633    61.82%     573       40        0       20 <-- 548 increase in used value

QOS ACL TCAM 테이블 항목의 경우 85에서 633으로 548개 항목이 증가했습니다

시나리오: QoS TCAM 규모 초과

이 시나리오에서 이전 정책 맵을 가져오고 dscp cs4만 변경하여 별도의 정책에서 dscpef를 설정할 경우, 정책이 연결되어 모든 항목이 하드웨어에서 복제되어야 합니다.

참고: QoS 정책을 설계할 때 하드웨어 사용률을 줄이는 중요한 방법은 여러 사용 사례를 충족하기 위해 작업과 규칙을 단일 정책 맵으로 통합하는 것입니다. 두 정책 맵 간에 중복되는 분류 ACE는 하드웨어에서 복제됩니다. 정책을 결합하면 중복되는 ACE를 다시 설치할 필요가 없습니다.

정책 맵 1

정책 맵 2

policy-map big_ingress_pmap

클래스 BigClass_1

dscp cs4 설정

클래스 BigClass_2

dscp af41 설정

클래스 BigClass_3

dscp cs3 설정

클래스 BigClass_4

dscp af31 설정

클래스 BigClass_5

dscp cs2 설정

class-default

policy-map big_ingress_pmap2

클래스 BigClass_1

dscp ef 설정

클래스 BigClass_2

dscp af41 설정

클래스 BigClass_3

dscp cs3 설정

클래스 BigClass_4

dscp af31 설정

클래스 BigClass_5

dscp cs2 설정

class-default

big_ingress_pmap2가 설치되어 있고 사용률이 증가하지 않으며 오류가 기록되었는지 확인합니다.

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024      85    8.69%       29       40        0       20

C9200(config-pmap)#int gi1/0/9

C9200(config-if)#service-policy input big_ingress_pmap

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024     633    61.82%     573       40        0       20 <-- Utilization increased

C9200(config-pmap)#int gi1/0/10

C9200(config-if)#service-policy input big_ingress_pmap2

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024     633    61.82%     573       40        0       20 <-- Utilization did not increase further

이 오류가 발견되었습니다.

C9200#show logging

...

*Mar 2 04:54:48.170: %FED_QOS_ERRMSG-4-TCAM_OVERFLOW: Switch 3 R0/0: fed: Failed to program TCAM for policy-map big_ingress_pmap2 on GigabitEthernet1/0/10.

하드웨어에 이 정책을 설치하는 데 오류가 있는지 확인하십시오.

C9200#show platform software fed switch 1 qos policy target status

TCG status summary:

Loc Interface             IIF-ID           Dir State:(cfg,opr) Policy

--- --------------------- ---------------- --- --------------- --------------------

<snip>

L:0 GigabitEthernet1/0/9  0x00000000000010 IN  VALID,SET_INHW   big_ingress_pmap     <-- Configuration is valid, and installed / set in hardware

L:0 GigabitEthernet1/0/10 0x000000000000a4 IN  VALID,ERROR      big_ingress_pmap2    <-- Configuration is valid, but there is an error to install it in hardware

리미디에이션 기술

이 시나리오를 해결하려면 변경의 목적을 고려하고 최적화가 가능한지 확인해야 합니다.

정책 맵 1

정책 맵 2

policy-map big_ingress_pmap

클래스 BigClass_1

dscp cs4 설정

클래스 BigClass_2

dscp af41 설정

클래스 BigClass_3

dscp cs3 설정

클래스 BigClass_4

dscp af31 설정

클래스 BigClass_5

dscp cs2 설정

class-default

policy-map big_ingress_pmap2

클래스 BigClass_1

dscp ef 설정

클래스 BigClass_2

dscp af41 설정

클래스 BigClass_3

dscp cs3 설정

클래스 BigClass_4

dscp af31 설정

클래스 BigClass_5

dscp cs2 설정

class-default

컨피그레이션이 유효하고 하드웨어의 확장 한계에 도달한 경우 리미디에이션에는 설계 중심의 접근 방식이 필요합니다. ACE와 하드웨어의 후속 VMR 활용도를 줄이는 가장 좋은 방법은 없습니다. 무엇을 분류하고 어떻게 요약할 것인가를 고려해야 한다.

이전 시나리오에서는 정책 맵의 set dscp 문을 제외하고 거의 동일한 두 정책을 의도적으로 제시했습니다. 이 경우 인터페이스에 따라 IP(Layer 3) 또는 TCP/UDP(Layer 4)에서 동일한 트래픽 분류를 다르게 표시하려는 경우, 이러한 두 정책을 하나로 결합할 수 있도록 (해당 인터페이스 뒤에 있는 디바이스에 대한) 어떤 키 정보가 변경되는지 고려해야 합니다.

- big_ingress_pmap과 일치하는 디바이스 트래픽의 소스 서브넷이 big_ingress_pmap2의 디바이스와 다른 경우 새 클래스를 만들어 고유한 소스 서브넷을 지정하고 BigClass_1 전에 해당 트래픽을 먼저 분류할 수 있습니다. 그런 다음 두 개의 서로 다른 set dscp 문을 해당 특정 클래스에 사용할 수 있습니다.

- 이 두 인터페이스의 트래픽 사이에 레이어 3(IP)/레이어 4(TCP/UDP) 관점에서 이러한 흐름의 소스 또는 대상에 대한 명확한 정보가 없는 경우(SGACL(Secure Group ACL) 같은 솔루션이 더 적합할 수 있음), 여기서 권한 부여 상태가 사용자 IP 주소에 관계없이 적용된 SGT(Secure Group Tag)를 구동합니다. 그러면 패킷의 SGT가 IP가 아닌 시행의 기반이 됩니다.

참고: SGT/SGACL을 사용하려면 Cisco ISE, 관련 DOT1X/MAB 컨피그레이션 및 네트워크 전체에 대한 추가 적용이 필요합니다. 적절한 설계 고려가 이루어져야 합니다.

다음은 big_ingress_pmap과 big_ingress_pmap2의 기능을 결합하기 위해 예제 정책을 수정하는 방법입니다.

클래스 BigClass_1은 access-group(access-list) 이름 APP_3_PORTS_2에서 빌드됩니다.

Ip access-list extended APP_3_PORTS_2는 소스와 대상 간의 관계가 설정되는 곳입니다

새 이름으로 Ip access-list extended APP_3_PORTS_2의 복제본을 생성하되, 이 구별이 중요한 특정 소스 서브넷/목적지 서브넷과 매칭합니다.

ip access-list extended APP_3_PORTS_2_Special

10 permit udp <specific subnet or object group> object-group app_3 eq 554

20 permit udp object-group app_3 eq 554 <specific subnet or object group>

BigClass_1_Special이라는 새 클래스를 만듭니다.

class-map match-any BigClass_1_Special

match access-group name APP_3_PORTS_2_Special

정책의 맨 위에 새 클래스를 포함하도록 정책 맵을 다시 구성합니다.

- BigClass_1이 관련 ACL의 모든 문과 부분적으로 일치하므로 새 클래스는 맨 위에 있어야 합니다. 이렇게 하면 BigClass_1이 남아 있는 트래픽을 분류할 수 있습니다. 그렇지 않으면 BigClass_1_Special과 매칭되지 않습니다. 즉, BigClass_1_Special에 대한 관심 트래픽을 더 구체적으로 매칭하려면 BigClass_1의 더 일반적인 매칭 전에 이를 평가해야 하므로 정책의 맨 위에 올라가야 합니다

결합된 정책 맵

policy-map big_ingress_pmap_combined

클래스 BigClass_1_Special

dscp ef 설정

클래스 BigClass_1

dscp cs4 설정

클래스 BigClass_2

dscp af41 설정

클래스 BigClass_3

dscp cs3 설정

클래스 BigClass_4

dscp af31 설정

클래스 BigClass_5

dscp cs2 설정

class-default

참고: 정책 맵에서 클래스를 재정렬할 수 있는 방법은 없습니다. 이미 존재하는 클래스 앞에 새로 구성된 클래스를 배치해야 하는 경우 전체 정책을 다시 구성해야 합니다. 즉, 컨피그레이션에서 완전히 제거해야 합니다.

업데이트된 주문으로 새로운 정책을 생성하고 정책의 설치/적용이 실패하는 경우, 먼저 모든 연결된 인터페이스에서 기존 정책을 제거하여 하드웨어 사용률을 줄이십시오.

명령 인터페이스 범위는 인터페이스에서 순차적으로 작동하므로 새 정책을 사용하여 기존 정책을 덮어쓰면 두 정책이 모두 하드웨어에 있어야 하는 임시 시나리오가 발생합니다. 그 시점에서는 과도한 활용으로 인해 설치에 실패할 수 있습니다. 모든 인터페이스에서 현재 정책을 제거하여 하드웨어 사용률을 줄인 다음 계속 진행합니다.

TAC를 위해 수집할 명령

QoS 활용과 관련된 가장 일반적인 하드웨어 리소스 문제는 이 가이드에서 적절한 교정 단계를 통해 다룹니다. 그러나 이 설명서에서 문제를 해결하지 못한 경우 표시된 명령 목록을 수집하여 TAC 서비스 요청에 첨부하십시오.

- 서비스 요청에 show tech-support 및 show tech-support qos의 전체 또는 삭제된 출력을 첨부하고, 수행한 모든 단계 또는 최근에 변경한 내용에 대한 세부 정보를 첨부합니다.

관련 정보

- Catalyst 9000 스위치의 하드웨어 리소스 이해

- Cisco Catalyst 9000 Switching Platforms: QoS 및 대기열 생성 백서

- 기술 지원 및 문서 − Cisco Systems

Cisco 버그 ID

Cisco 버그 ID CSCvz54607(C9200/C9200L(16.12) - 잘못된 QoS 프로그래밍으로 인해 출력 대기열이 오버로드됨)

Cisco 버그 ID CSCvz76172(C9200/C9200L(17.3/17.6) - 잘못된 QoS 프로그래밍으로 인해 출력 대기열이 과부하됨)