목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

배경 정보

버퍼 할당

대기열 구조

조정 버퍼 할당

Hardmax 또는 Softmax 버퍼 할당에 서비스 정책 사용

예 1

예 2

예 3

서비스 정책을 사용하여 Softmax 버퍼 값을 수동으로 변경

예 1

예 2

사례 연구: 출력 삭제

요약

관련 정보

소개

이 문서에서는 Catalyst 3650/3850 플랫폼의 대기열 구조 및 버퍼에 대해 설명하고 출력 저하를 완화하는 방법에 대한 예를 제공합니다.

사전 요구 사항

요구 사항

Cisco에서는 Catalyst 플랫폼의 QoS(Quality of Service)에 대한 기본 지식을 갖춘 것을 권장합니다.

사용되는 구성 요소

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

- Cisco Catalyst 3650/3850

- 03.07.04

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

배경 정보

출력 삭제는 일반적으로 다대일 또는 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

.

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의 최대값은 CLI 명령으로 수정할 수 있습니다 qos queue-softmax-multiplier 1200 100을 기본값으로 사용합니다. 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

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으로 감소되었습니다. 아직 여전히 삭제가 있습니다. 그런 다음 다음을 구성합니다 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

명령을 실행합니다.

3. 클래스 기본값을 하나만 정의하는 경우 버퍼를 조정하려면 모든 트래픽이 단일 큐(제어 패킷 포함)에 속합니다. 모든 트래픽을 하나의 대기열에 넣을 때 제어 트래픽과 데이터 트래픽이 분류되지 않아 혼잡 시간에 제어 트래픽이 삭제될 수 있습니다. 따라서 제어 트래픽에 대해 다른 클래스를 하나 이상 생성하는 것이 좋습니다. CPU에서 생성한 제어 패킷은 클래스 맵에서 일치하지 않더라도 항상 첫 번째 우선 순위 큐로 이동합니다. 우선순위 대기열이 구성되어 있지 않으면 인터페이스의 첫 번째 대기열(대기열 0)로 이동합니다.

4. Cisco 버그 ID CSCuu14019 이전에 인터페이스에는 "출력 삭제" 카운터가 표시되지 않습니다. show platform qos queue stats 삭제를 확인하는 출력입니다.

5. 서비스 정책을 사용하지 않고 soft-max 승수를 구성할 수 있도록 개선 요청인 Cisco 버그 ID CSCuz86625가 제출되었습니다. (3.6.6 이상에서 해결됨)

관련 정보

- Technical Support - Cisco Systems