본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 Catalyst 3650/3850 플랫폼의 대기열 구조 및 버퍼에 대해 설명하고 출력 저하를 완화하는 방법에 대한 예를 제공합니다.
Cisco에서는 Catalyst 플랫폼의 QoS(Quality of Service)에 대한 기본 지식을 갖춘 것을 권장합니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
참고: 16.x.x 이상 QoS CLI 명령 변경 사항은 이 가이드에서 Catalyst 9000 스위치의 출력 삭제 문제 해결에 대해 설명합니다. 이 문서는 Catalyst 9000 Series이지만 3850과 동일한 ASIC를 공유합니다. 16.x.x 이상 버전의 Cisco IOS® XE 3850에 대해서는 이 설명서를 참조하십시오.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
출력 삭제는 일반적으로 다대일 또는 10Gig에서 1Gig로의 전송에 의해 발생하는 인터페이스 초과 가입의 결과입니다. 인터페이스 버퍼는 제한된 리소스이며 패킷이 드롭될 수 있는 시점까지의 버스트만 흡수할 수 있습니다. 버퍼를 조정하면 약간의 쿠션을 얻을 수 있지만 제로 출력 드롭 시나리오를 보장할 수는 없습니다.
이전 코드의 일부 알려진 버그로 인해 적절한 버퍼 할당을 얻으려면 03.06 또는 03.07의 최신 버전을 실행하는 것이 좋습니다.
일반적으로 버퍼는 각 대기열에 정적으로 할당되며 대기열 수를 늘리면 예약된 버퍼의 양이 줄어 듭니다. 이는 비효율적이며 모든 대기열의 프레임을 처리하는 데 필요한 버퍼 수를 줄일 수 있습니다. 이러한 유형의 제한을 해결하기 위해 Catalyst 3650/3850 플랫폼은 하드 버퍼 및 소프트 버퍼를 사용합니다.
서비스 정책이 적용되지 않은 기본 버퍼 할당
1GB 포트의 기본 버퍼 할당은 300 버퍼이며 10GB 포트의 경우 1800 버퍼(1 버퍼 = 256바이트)입니다. 이 포트는 기본 설정을 통해 공통 풀에서 할당된 기본값의 최대 400%를 사용할 수 있습니다. 기본 설정은 각각 1Gig 인터페이스 및 10Gig 인터페이스에 대해 1200개의 버퍼와 7200개의 버퍼입니다.
기본 소프트 버퍼 제한은 400개(최대 임계값)로 설정됩니다. 임계값은 공통 풀에서 빌릴 수 있는 최대 소프트 버퍼 수를 결정합니다.
서비스-정책이 적용되지 않은 경우 2개의 기본 대기열(대기열 0 및 대기열 1)이 있습니다. 대기열 0은 제어 트래픽(DSCP 32 또는 48 또는 56)에 사용되고 대기열 1은 데이터 트래픽에 사용됩니다.
기본적으로 대기열 0에는 인터페이스에 사용 가능한 버퍼의 40%를 하드 버퍼로 지정할 수 있습니다. 즉, 1G 포트 컨텍스트에서 대기열 0에 120개의 버퍼가 할당되고 10G 포트 컨텍스트에서 720개의 버퍼가 할당됩니다. 이 대기열의 최대 소프트 버퍼인 Softmax는 1GB 포트의 경우 480(120의 400%로 계산)으로, 10GB 포트의 경우 2880으로 설정됩니다. 여기서 400은 모든 대기열에 대해 구성된 기본 최대 임계값입니다.
대기열 1에는 할당된 하드 버퍼가 없습니다. queue-1의 소프트 버퍼 값은 queue-0에 할당된 후 남은 인터페이스 버퍼의 400%로 계산됩니다. 따라서 1기가 인터페이스는 180의 400%, 10기가 인터페이스는 1800의 400%입니다.
이 show 할당을 확인하는 데 사용할 수 있는 명령은 다음과 같습니다
show platform qos queue config <interface>.
1기가 인터페이스의 경우:
3850#show platform qos queue config gigabitEthernet 1/0/1 DATA Port:20 GPN:66 AFD:Disabled QoSMap:0 HW Queues: 160 - 167 DrainFast:Disabled PortSoftStart:1 - 1080 ---------------------------------------------------------- DTS Hardmax Softmax PortSMin GlblSMin PortStEnd --- -------- -------- -------- --------- --------- 0 1 5 120 6 480 6 320 0 0 3 1440 1 1 4 0 7 720 3 480 2 180 3 1440 2 1 4 0 5 0 5 0 0 0 3 1440 3 1 4 0 5 0 5 0 0 0 3 1440 4 1 4 0 5 0 5 0 0 0 3 1440 5 1 4 0 5 0 5 0 0 0 3 1440 6 1 4 0 5 0 5 0 0 0 3 1440 7 1 4 0 5 0 5 0 0 0 3 1440 <<output omitted>>
10기가 인터페이스의 경우:
3850#show platform qos queue config tenGigabitEthernet 1/0/37 DATA Port:1 GPN:37 AFD:Disabled QoSMap:0 HW Queues: 8 - 15 DrainFast:Disabled PortSoftStart:2 - 6480 ---------------------------------------------------------- DTS Hardmax Softmax PortSMin GlblSMin PortStEnd --- -------- -------- -------- --------- --------- 0 1 6 720 8 2880 7 1280 0 0 4 8640 1 1 4 0 9 4320 8 1920 3 1080 4 8640 2 1 4 0 5 0 5 0 0 0 4 8640 3 1 4 0 5 0 5 0 0 0 4 8640 4 1 4 0 5 0 5 0 0 0 4 8640
<<output omitted>>
Hardmax 또는 하드 버퍼는 이 대기열에 대해 항상 예약되고 사용 가능한 버퍼의 양입니다.
Softmax 또는 소프트 버퍼는 다른 대기열 또는 전역 풀에서 빌릴 수 있는 버퍼의 양입니다. 1Gig 인터페이스당 Softmax의 총 개수는 1200개(300개의 400%)이며, 10Gig 인터페이스일 경우 7200개의 버퍼가 있습니다. 서비스 정책을 적용할 때 명시적으로 만들지 않은 경우 "Class default"에 대해 1개의 추가 대기열이 생성될 수 있습니다. 이전에 정의된 클래스에서 일치하지 않는 모든 트래픽은 이 대기열에 속합니다. 이 큐 아래에 일치 문이 있을 수 없습니다.
조정 버퍼 할당
3650/3850 플랫폼의 버퍼를 조정하려면 각 인터페이스 아래에 서비스 정책을 연결합니다. service-policy를 사용하여 Hardmax 및 Softmax 버퍼 할당을 조정할 수 있습니다.
하드 버퍼 및 소프트 버퍼 계산
시스템이 각 대기열에 대해 Hardmax 및 Softmax를 할당하는 방법은 다음과 같습니다.
총 포트 버퍼 = 300(1G) 또는 1800(10G)
총 5개의 대기열(5개의 클래스)이 있는 경우 각 대기열은 기본적으로 20% 버퍼를 가져옵니다.
우선 순위 대기열
1기가:
HardMax = Oper_Buff = 300의 20% = 60.
qSoftMax = (Oper_Buff * Max_Threshold)/100=60*400/100=240
10기가
HardMax = Oper_Buff = 1800의 20% = 360
qSoftMax = (Oper_Buff * Max_Threshold)/100=60*400/100=240
비우선순위 대기열
1기가:
HardMax = 0
qSoftMax = (Oper_Buffer*Max_Threshold)/100 = 300*20/100= 60. 60의 400% = 240
10기가:
HardMax = 0
qSoftMax = (Oper_Buffer*Max_Threshold)/100 = 1800*20/100= 360. 360의 400% = 1440
Hardmax 또는 Softmax 버퍼 할당에 서비스 정책 사용
서비스-정책이 적용되는 경우 "1/2 레벨의 우선순위 대기열"만 Hardmax를 가져옵니다. 다음 예는 1Gig 인터페이스 및 10Gig 인터페이스의 특정 서비스 정책에 대한 버퍼 할당을 명확히 하는 데 도움이 될 수 있습니다. 서비스 정책이 적용되지 않은 기본 컨피그레이션에서는 링크가 1Gig 링크인 경우 queue-0의 기본 Hardmax가 120이고 링크가 10Gig 링크인 경우 버퍼가 720입니다.
3850#show platform qos queue config gigabitEthernet 1/0/1 DATA Port:0 GPN:119 AFD:Disabled QoSMap:0 HW Queues: 0 - 7 DrainFast:Disabled PortSoftStart:1 - 1080 ---------------------------------------------------------- DTS Hardmax Softmax PortSMin GlblSMin PortStEnd --- -------- -------- -------- --------- --------- 0 1 5 120 6 480 6 320 0 0 3 1440 1 1 4 0 7 720 3 480 2 180 3 1440 2 1 4 0 5 0 5 0 0 0 3 1440
<<output omitted>>
3850#show platform qos queue config tenGigabitEthernet 1/0/37
DATA Port:1 GPN:37 AFD:Disabled QoSMap:0 HW Queues: 8 - 15
DrainFast:Disabled PortSoftStart:2 - 6480
----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 6 720 8 2880 7 1280 0 0 4 8640
1 1 4 0 9 4320 8 1920 3 1080 4 8640
2 1 4 0 5 0 5 0 0 0 4 8640
<<output omitted>>
예 1
service-policy를 적용할 때 우선순위 큐를 구성하지 않거나 우선순위 큐 레벨을 설정하지 않은 경우 해당 큐에 Hardmax를 할당할 수 없습니다.
1기가 인터페이스의 경우:
policy-map MYPOL
class ONE
priority percent 20
class TWO
bandwidth percent 40
class THREE
bandwidth percent 10
class FOUR
bandwidth percent 5
3850#show run interface gig1/0/1
Current configuration : 67 bytes
!
interface GigabitEthernet1/0/1
service-policy output MYPOL
end
3800#show platform qos queue config gigabitEthernet 1/0/1
DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175
DrainFast:Disabled PortSoftStart:2 - 360
----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 4 0 8 240 7 160 3 60 4 480
1 1 4 0 8 240 7 160 3 60 4 480
2 1 4 0 8 240 7 160 3 60 4 480
3 1 4 0 8 240 7 160 3 60 4 480
4 1 4 0 8 240 7 160 3 60 4 480
<<output omitted>>
!--- There are 5 classes present though you only created 4 classes.
!--- The 5th class is the default class.
!--- Each class represent a queue and the order in which it is shown is the order in which
!--- it is present in the running configuration when checking "show run | sec policy-map".
10기가 인터페이스의 경우:
policy-map MYPOL class ONE priority percent 20 class TWO bandwidth percent 40 class THREE bandwidth percent 10 class FOUR bandwidth percent 5 3850#show run interface TenGigabitEthernet1/0/37 Current configuration : 67 bytes ! interface TenGigabitEthernet1/0/37 service-policy output MYPOL end 3850#show platform qos queue config tenGigabitEthernet 1/0/40 DATA Port:2 GPN:40 AFD:Disabled QoSMap:1 HW Queues: 16 - 23 DrainFast:Disabled PortSoftStart:4 - 2160 ----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 4 0 10 1440 9 640 4 360 5 2880
1 1 4 0 10 1440 9 640 4 360 5 2880
2 1 4 0 10 1440 9 640 4 360 5 2880
3 1 4 0 10 1440 9 640 4 360 5 2880
4 1 4 0 10 1440 9 640 4 360 5 2880
5 1 4 0 5 0 5 0 0 0 5 2880 <<output omitted>>
예 2
우선순위 레벨 1을 적용하면 queue-0은 Hardmax로 60개의 버퍼를 가져옵니다.
1기가 인터페이스의 경우:
policy-map MYPOL
class ONE
priority level 1 percent 20
class TWO
bandwidth percent 40
class THREE
bandwidth percent 10
class FOUR
bandwidth percent 5
3850#show run interface gig1/0/1
Current configuration : 67 bytes
!
interface GigabitEthernet1/0/1
service-policy output MYPOL
end
BGL.L.13-3800-1#show platform qos queue config gigabitEthernet 1/0/1
DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175
DrainFast:Disabled PortSoftStart:2 - 360
----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 6 60 8 240 7 160 0 0 4 480
1 1 4 0 8 240 7 160 3 60 4 480
2 1 4 0 8 240 7 160 3 60 4 480
3 1 4 0 8 240 7 160 3 60 4 480
4 1 4 0 8 240 7 160 3 60 4 480
<<output omitted>>
10기가 인터페이스의 경우:
policy-map MYPOL class ONE priority level 1 percent 20 class TWO bandwidth percent 40 class THREE bandwidth percent 10 class FOUR bandwidth percent 5 3850#show run interface Te1/0/37 Current configuration : 67 bytes ! interface TenGigabitEthernet1/0/37 service-policy output MYPOL end 3850_1#show platform qos queue config tenGigabitEthernet 1/0/37 DATA Port:2 GPN:40 AFD:Disabled QoSMap:1 HW Queues: 16 - 23 DrainFast:Disabled PortSoftStart:3 - 2160 ---------------------------------------------------------- DTS Hardmax Softmax PortSMin GlblSMin PortStEnd --- -------- -------- -------- --------- --------- 0 1 7 360 10 1440 9 640 0 0 5 2880 1 1 4 0 10 1440 9 640 4 360 5 2880 2 1 4 0 10 1440 9 640 4 360 5 2880 3 1 4 0 10 1440 9 640 4 360 5 2880 4 1 4 0 10 1440 9 640 4 360 5 2880 5 1 4 0 5 0 5 0 0 0 5 2880 <<output omitted>>
예 3
이 예제에서는 하나의 추가 클래스가 추가됩니다. 총 대기열 수는 6개가 됩니다. 2개의 우선순위 레벨이 구성된 경우 각 대기열은 51개의 버퍼를 Hardmax로 가져옵니다. 이 계산은 이전 예와 동일합니다.
1기가 인터페이스의 경우 :
policy-map MYPOL
class ONE
priority level 1 percent 20
class TWO
priority level 2 percent 10
class THREE
bandwidth percent 10
class FOUR
bandwidth percent 5
class FIVE
bandwidth percent 10
3850#show run interface gigabitEthernet1/0/1
Current configuration : 67 bytes
!
interface GigabitEthernet1/0/1
service-policy output MYPOL
end
3850#show platform qos queue config gigabitEthernet 1/0/1
DATA Port:16 GPN:10 AFD:Disabled QoSMap:1 HW Queues: 128 - 135
DrainFast:Disabled PortSoftStart:3 - 306
----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 7 51 10 204 9 136 0 0 5 408
1 1 7 51 10 204 9 136 0 0 5 408
2 1 4 0 10 204 9 136 4 51 5 408
3 1 4 0 10 204 9 136 4 51 5 408
4 1 4 0 11 192 10 128 5 48 5 408
5 1 4 0 11 192 10 128 5 48 5 408
6 1 4 0 5 0 5 0 0 0 5 408
<<output omitted>>
10기가 인터페이스의 경우:
policy-map MYPOL class ONE priority level 1 percent 20 class TWO priority level 2 percent 10 class THREE bandwidth percent 10 class FOUR bandwidth percent 5 class FIVE bandwidth percent 10 3850#show run interface Te1/0/37 Current configuration : 67 bytes ! interface TenGigabitEthernet1/0/37 service-policy output MYPOL end 3850_2#show platform qos queue config tenGigabitEthernet 1/0/37 DATA Port:2 GPN:40 AFD:Disabled QoSMap:1 HW Queues: 16 - 23 DrainFast:Disabled PortSoftStart:4 - 1836 ---------------------------------------------------------- DTS Hardmax Softmax PortSMin GlblSMin PortStEnd --- -------- -------- -------- --------- --------- 0 1 8 306 12 1224 11 544 0 0 6 2448 1 1 8 306 12 1224 11 544 0 0 6 2448 2 1 4 0 12 1224 11 544 6 306 6 2448 3 1 4 0 12 1224 11 544 6 306 6 2448 4 1 4 0 13 1152 12 512 7 288 6 2448 5 1 4 0 13 1152 12 512 7 288 6 2448 6 1 4 0 5 0 5 0 0 0 6 2448 <<output omitted>>
참고: 몇 개의 대기열에 더 적은 수의 버퍼가 할당될 수 있습니다. 이는 특정 컨피그레이션이 결합되는 동안 우선순위 대기열과 비우선순위 대기열에 대한 Softmax 계산에 맞출 수 없는 값으로 예상됩니다.
요약하면, 대기열을 더 많이 생성할수록 각 대기열이 Hardmax 및 softmax 측면에서 받는 버퍼 수가 줄어 듭니다(Hardmax도 Softmax 값에 따라 달라짐).
3.6.3 또는 3.7.2부터 Softmax의 최대값은 기본값인 100을 사용하여 CLI 명령
qos queue-softmax-multiplier 1200으로 수정할 수 있습니다. 1200으로 구성된 경우, 비우선순위 대기열의 Softmax 및 비우선순위 대기열(!=레벨 1)은 기본값에서 12를 곱합니다. 이 명령어는 정책-맵이 연결된 포트에서만 적용됩니다. 이는 우선순위 대기열 레벨 1에도 적용되지 않습니다.
서비스 정책을 사용하여 Softmax 버퍼 값을 수동으로 변경
예 1
이는 서비스 정책 컨피그레이션 및 해당 버퍼 할당입니다.
policy-map TEST_POLICY
class ONE
priority level 1 percent 40
class TWO
bandwidth percent 40
class THREE
bandwidth percent 10
3850#show run interface gigabitEthernet1/0/1
Current configuration : 67 bytes
!
interface GigabitEthernet1/0/1
service-policy output TEST_POLICY
end
3850#show platform qos queue config gigabitEthernet 1/0/1
DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175
DrainFast:Disabled PortSoftStart:2 - 450
----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 6 75 8 300 7 200 0 0 4 600
1 1 4 0 8 300 7 200 3 75 4 600
2 1 4 0 8 300 7 200 3 75 4 600
3 1 4 0 8 300 7 200 3 75 4 600
<<output omitted>>
버퍼는 대기열 전체에서 동일하게 분할됩니다. bandwidth 명령을 사용할 경우, 모든 대기열에 대한 가중치와 스케줄러의 작동 방식만 변경됩니다.
Softmax 값을 조정하려면 해당 클래스 아래에서 queue-buffer ratio 명령을 사용해야 합니다.
policy-map TEST_POLICY class ONE priority level 1 percent 40 class TWO bandwidth percent 40 queue-buffers ratio 50 <--------------- class THREE bandwidth percent 10 class FOUR bandwidth percent 5
새 버퍼 할당입니다.
1기가 인터페이스의 경우 :
3850#show platform qos queue config gigabitEthernet 1/0/1
DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175
DrainFast:Disabled PortSoftStart:0 - 900
----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 6 39 8 156 7 104 0 0 0 1200
1 1 4 0 9 600 8 400 3 150 0 1200
2 1 4 0 8 156 7 104 4 39 0 1200
3 1 4 0 10 144 9 96 5 36 0 1200
4 1 4 0 10 144 9 96 5 36 0 1200
queue-1은 소프트 버퍼의 50%, 즉 600개의 버퍼를 가져옵니다. 나머지 버퍼는 알고리즘에 따라 다른 대기열에 할당됩니다.
10Gig 인터페이스에 대한 유사한 출력은 다음과 같습니다.
3850#show platform qos queue config tenGigabitEthernet 1/0/37 DATA Port:2 GPN:40 AFD:Disabled QoSMap:1 HW Queues: 16 - 23 DrainFast:Disabled PortSoftStart:4 - 1836 ---------------------------------------------------------- DTS Hardmax Softmax PortSMin GlblSMin PortStEnd --- -------- -------- -------- --------- --------- 0 1 7 234 10 936 9 416 0 0 5 7200 1 1 4 0 11 3600 10 1600 4 900 5 7200 2 1 4 0 10 936 9 416 5 234 5 7200 3 1 4 0 4 864 11 384 1 216 5 7200 4 1 4 0 4 864 11 384 1 216 5 7200 5 1 4 0 5 0 5 0 0 0 5 7200 <<output omitted>>
참고: 몇 개의 대기열에 할당되는 버퍼 수는 더 적을 수 있습니다. 이는 특정 컨피그레이션이 결합될 때 우선순위 대기열과 비우선순위 대기열에 대한 Softmax 계산에 값이 들어갈 수 없기 때문입니다. 이를 처리하는 내부 알고리즘이 있습니다.
예 2
모든 Softmax 버퍼를 단일 기본 대기열에 할당합니다.
몇 개의 대기열에 할당된 버퍼 수를 줄일 수 있습니다. 이는 특정 조합이 구성된 경우 우선순위 대기열과 비우선순위 대기열에 대한 Softmax 계산에 값이 들어갈 수 없기 때문에 발생합니다. 이를 처리하는 내부 알고리즘이 있습니다. 적은 수의 대기열에 할당된 버퍼가 있을 수 있습니다. 이는 특정 조합이 구성된 경우 우선순위 대기열과 비우선순위 대기열에 대한 Softmax 계산에 값이 들어갈 수 없기 때문에 발생합니다. 내부 알고리즘으로 처리됩니다.
policy-map NODROP class class-default bandwidth percent 100 queue-buffers ratio 100
QoS 컨피그레이션 결과는 다음과 같습니다.
3850#show platform qos queue config GigabitEthernet 1/1/1 DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175 DrainFast:Disabled PortSoftStart:0 - 900 ---------------------------------------------------------- DTS Hardmax Softmax PortSMin GlblSMin PortStEnd --- -------- -------- -------- --------- --------- 0 1 4 0 8 1200 7 800 3 300 2 2400 1 1 4 0 5 0 5 0 0 0 2 2400
정책이 인터페이스에 적용되고 "레벨"이 설정된 우선순위 대기열이 없으므로 Hardmax 버퍼가 없습니다. policy-map을 적용하는 즉시 두 번째 대기열은 비활성화되고 시스템에 하나의 대기열만 남게 됩니다.
여기서 주의할 점은 모든 패킷이 이 단일 큐(OSPF/EIGRP/STP와 같은 제어 패킷 포함)를 사용한다는 것입니다. 정체(브로드캐스트 스톰)가 발생하면 네트워크 중단이 쉽게 발생할 수 있습니다. 이는 일치하는 제어 패킷을 정의한 다른 클래스가 있는 경우에도 발생합니다.
사례 연구: 출력 삭제
이 테스트에서 IXIA 트래픽 생성기는 1Gig 인터페이스에 연결되어 있으며 이그레스 포트는 100Mbps 인터페이스입니다. 이는 1Gbps~100Mbps 연결이며 1Gbps 패킷이 1초 동안 전송됩니다. 이로 인해 이그레스 100mbps 인터페이스의 출력이 감소할 수 있습니다. 기본 컨피그레이션(service-policy가 적용되지 않음)에서는 1이 전송된 후 삭제된 출력 수입니다.
3850#show interfaces gig1/0/1 | in output drop Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 497000
이러한 삭제는 Th2(기본 임계 값)에 표시됩니다. 기본적으로 시스템은 최대 임계값을 Drop-Th2인 삭제 임계값으로 사용할 수 있습니다.
3800#show platform qos queue stats gigabitEthernet 1/0/1 <snip> DATA Port:21 Drop Counters ------------------------------- Queue Drop-TH0 Drop-TH1 Drop-TH2 SBufDrop QebDrop ----- ----------- ----------- ----------- ----------- ----------- 0 0 0 497000 0 0 1 0 0 0 0 0
그런 다음 이 service-policy를 구성하여 버퍼를 조정합니다.
policy-map TEST_POLICY
class class-default
bandwidth percent 100
queue-buffers ratio 100
3850#show run interface gigabitEthernet1/0/1
Current configuration : 67 bytes
!
interface GigabitEthernet1/0/1
service-policy output TEST_POLICY
end
3850#show platform qos queue config gigabitEthernet 2/0/1
DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175
DrainFast:Disabled PortSoftStart:0 - 900
----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 4 0 8 1200 7 800 3 300 2 2400 <-- queue 0 gets all the buffer.
3850#show interfaces gigabitEthernet1/0/1 | include output drop
Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 385064
동일한 트래픽 버스트에 대해 497000에서 385064으로 감소되었습니다. 아직 여전히 삭제가 있습니다. 그런 다음 configure 명령을
qos queue-softmax-multiplier 1200 global config 실행합니다.
3850#show platform qos queue config gigabitEthernet 1/0/1
DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175
DrainFast:Disabled PortSoftStart:0 - 900
----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 4 0 8 10000 7 800 3 300 2 10000
3850#show interfaces gigabitEthernet1/0/1 | in output drop
Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 0
queue-0의 Softmax는 최대 10,000개의 버퍼로 이동할 수 있으며 그 결과 삭제는 0입니다.
참고: 다른 인터페이스에서도 버퍼를 사용할 수 있으므로 이러한 종류의 시나리오는 가능하지 않지만, 이는 패킷 삭제를 특정 수준으로 줄이는 데 확실히 도움이 될 수 있습니다.
이 명령을 사용하면 인터페이스에 사용할 수 있는 최대 소프트 버퍼를 늘릴 수 있지만, 다른 인터페이스에서 이 버퍼를 사용하지 않는 경우에만 사용할 수 있다는 점을 염두에 두어야 합니다.
요약
1. 대기열을 더 많이 만들면 각 대기열에 대한 버퍼가 줄어듭니다.
2. 사용 가능한 총 버퍼 수는 명령으로 늘릴 수 qos queue-softmax-multiplier <value>있습니다.
3. 클래스 기본값을 하나만 정의하는 경우 버퍼를 조정하려면 모든 트래픽이 단일 큐(제어 패킷 포함)에 속합니다. 모든 트래픽을 하나의 대기열에 넣을 때 제어 트래픽과 데이터 트래픽이 분류되지 않아 혼잡 시간에 제어 트래픽이 삭제될 수 있습니다. 따라서 제어 트래픽에 대해 다른 클래스를 하나 이상 생성하는 것이 좋습니다. CPU에서 생성한 제어 패킷은 클래스 맵에서 일치하지 않더라도 항상 첫 번째 우선 순위 큐로 이동합니다. 우선순위 대기열이 구성되어 있지 않으면 인터페이스의 첫 번째 대기열(대기열 0)로 이동합니다.
4. Cisco 버그 ID CSCuu14019 이전에 인터페이스에 "출력 삭제" 카운터가 표시되지 않습니다. 삭제를 확인하려면 show platform qos queue stats 출력을 실행해야 합니다.
5. 서비스 정책을 사용하지 않고 soft-max 승수를 구성할 수 있도록 개선 요청인 Cisco 버그 ID CSCuz86625가 제출되었습니다. (3.6.6 이상에서 해결됨)
관련 정보
개정 | 게시 날짜 | 의견 |
---|---|---|
6.0 |
04-Dec-2023 |
재인증 |
4.0 |
02-Dec-2022 |
16.x.x 이상 소프트웨어를 실행하는 3850에 사용할 수 있는 Catalyst 9000 스위치의 출력 삭제 문제 해결을 위한 URL 추가 |
1.0 |
28-Jul-2016 |
최초 릴리스 |