ePub(334.0 KB) iPhone, iPad, Android, Sony Reader 또는 Windows Phone의 다양한 앱에서 보기
Mobi (Kindle)(471.7 KB) Kindle 디바이스에서 보기 또는 다양한 디바이스의 Kindle 앱에서 보기
업데이트:2007년 5월 17일 (목)
문서 ID:91862
편견 없는 언어
본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
이 번역에 관하여
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
QoS를 사용하면 다른 사람의 비용으로 특정 유형의 트래픽을 우선적으로 처리할 수 있습니다. QoS 레이블을 사용하여 트래픽을 구분할 수 있습니다. 레이어 3 IP 헤더에서 가장 일반적으로 사용되는 두 QoS 레이블은 IP 우선순위 필드와 DSCP 필드입니다. 레이어 2 프레임 헤더의 QoS 레이블을 CoS(Class of Service)라고 합니다. Catalyst 스위치 QoS 툴은 레이어 3 QoS 레이블 또는 레이어 2 QoS 레이블 중 하나를 기준으로 우선 처리를 제공할 수 있습니다. 이 문서에서는 Cisco Catalyst 스위치에서 레이어 2 및 레이어 3 QoS 레이블 사용에 대한 아이디어를 제시할 수 있는 다양한 예를 제공합니다.
QoS는 Catalyst 3750 스위치에서 기본적으로 비활성화되어 있습니다. QoS가 비활성화된 상태에서 모든 프레임/패킷은 변경되지 않은 스위치를 통해 전달됩니다. 예를 들어, CoS 5의 프레임과 DSCP EF가 있는 프레임 내부의 패킷이 스위치에 들어갈 경우 CoS 및 DSCP 레이블은 변경되지 않습니다. 트래픽이 들어갈 때 동일한 CoS 및 DSCP 값을 갖습니다. 음성을 포함한 모든 트래픽은 최상의 노력으로 제공됩니다.
Switch#show mls qos
QoS is disabled
QoS ip packet dscp rewrite is enabled
!--- Even though it says QoS ip packet dscp rewrite is enabled, !--- the switch does not alter the DSCP label on the packets when !--- the QoS is disabled.
라우터와 달리 QoS 분류 및 마킹은 Cisco Catalyst 스위치에서 다르게 작동합니다. Cisco 라우터에서 수신 패킷 DSCP 값을 기반으로 또는 ACL(Access Control List)을 기반으로 MQC를 사용하여 패킷을 분류할 수 있습니다. 이는 수신 패킷의 QoS 레이블을 신뢰하는지 여부에 따라 달라집니다. Cisco Catalyst 3750 스위치에서 들어오는 CoS/DSCP 값을 기반으로 또는 ACL을 기반으로 프레임을 분류할 수 있습니다.
수신 CoS/DSCP 값을 기반으로 하는 컨피그레이션은 다음 세 가지 방법으로 이루어집니다.
mls qos 인터페이스 기반 명령을 사용하는 포트 기반 컨피그레이션
class-map 및 policy-map을 사용하는 MQC 기반 컨피그레이션
VLAN 기반 컨피그레이션
이 세 가지 방법 중 하나를 사용할 수 있습니다. 한 포트에서 둘 이상의 방법을 사용할 수 없습니다. 예를 들어, 포트에서 mls qos trust cos 명령을 구성했습니다. service-policy input <policy-map-name> 명령을 사용하여 포트를 구성할 때 mls qos trust cos 명령이 자동으로 제거됩니다.
이 섹션에서는 인터페이스별 컨피그레이션을 기반으로 분류를 설명합니다. 섹션 제목 분류 및 표시와 관련하여 질문이 발생할 수 있습니다. 이는 Cisco Catalyst 3750 스위치에서 프레임(프레임 안의 패킷)의 CoS 또는 DSCP 값이 맵 테이블을 사용하여 언급되기 때문입니다. 맵 테이블은 Cisco 라우터에서 사용할 수 없습니다. 이 스위치는 Cisco Catalyst 스위치에서만 사용할 수 있습니다. 이 섹션 전체에서 이러한 테이블의 기능을 확인할 수 있습니다.
수신 패킷 또는 프레임에는 이미 QoS 레이블이 할당될 수 있습니다. 다음과 같은 질문이 발생할 수 있습니다.
포트에서 수신 패킷/프레임의 QoS 레이블을 신뢰합니까?
IP 전화기와 PC가 포트에 연결된 경우 전화기, PC 또는 둘 다의 QoS 레이블을 신뢰합니까?
수신 패킷/프레임의 QoS 레이블을 신뢰하지 않는 경우 액세스 목록을 기반으로 패킷을 분류하고 QoS 레이블을 표시해야 합니다. 수신 패킷/프레임의 QoS 레이블을 신뢰하는 경우 포트에서 수신 패킷/프레임의 CoS 값 또는 DSCP 값을 신뢰해야 합니까? 이는 시나리오에 따라 다릅니다. 이 섹션의 예와 함께 다양한 시나리오를 볼 수 있습니다.
포트 신뢰 컨피그레이션 옵션은 다음과 같습니다.
Switch(config-if)#mls qos trust ?
cos cos keyword
device trusted device class
dscp dscp keyword
ip-precedence ip-precedence keyword
<cr>
예 1: 포트가 액세스 포트 또는 레이어 3 포트인 경우 mls qos trust dscp 명령을 구성해야 합니다. 액세스 포트 또는 레이어 3 포트의 프레임에 dot1q 또는 ISL 태그가 없으므로 mls qos trust cos 명령을 사용할 수 없습니다. CoS 비트는 dot1q 또는 ISL 프레임에만 있습니다.
interface GigabitEthernet1/0/1
description **** Layer 3 Port ****
no switchport
ip address 192.168.10.1 255.255.255.0
mls qos trust dscp
end
interface GigabitEthernet1/0/2
description **** Access Port ****
switchport access vlan 10
switchport mode access
mls qos trust dscp
end
예 2: 포트가 트렁크 포트인 경우 mls qos trust cos 또는 mls qos trust dscp 명령을 구성할 수 있습니다. DSCP를 신뢰하도록 포트가 구성된 경우 dscp-cos 맵 테이블을 사용하여 CoS 값을 계산합니다. 마찬가지로, 포트가 CoS를 신뢰하도록 구성된 경우 cos-dscp 맵 테이블을 사용하여 DSCP 값을 계산합니다.
interface GigabitEthernet1/0/3
description **** Trunk Port ****
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk native vlan 5
switchport trunk allowed vlan 5,10,20,30,40,50
mls qos trust cos
end
interface GigabitEthernet1/0/12
description **** Cisco IP Phone ****
switchport access vlan 10
switchport mode access
switchport voice vlan 20
mls qos trust cos
spanning-tree portfast
end
!--- The Cisco IP Phone uses IEEE 802.1Q frames for Voice !--- VLAN traffic.
예 3: 포트가 dot1q 트렁크 포트이고 포트가 mls qos trust cos 명령으로 구성된 경우 네이티브 VLAN 프레임에는 CoS 및 DSCP 값이 0으로 설정됩니다. 네이티브 VLAN 프레임은 태그가 지정되지 않고 스위치가 스위치로 들어간 후 프레임이 태그가 지정되므로 스위치는 기본 CoS 값을 0으로 설정하고 CoS-to-DSCP 테이블은 DSCP 값을 0으로 설정합니다.
참고: 네이티브 VLAN에서 오는 패킷의 DSCP 값이 0으로 재설정됩니다.
mls qos <0-7> 명령을 사용하여 태그 없는 프레임의 기본 CoS 값을 0에서 0-7 사이의 다른 값으로 변경하도록 스위치 포트를 구성할 수도 있습니다. 이 명령은 태그가 지정된 프레임의 CoS 값을 변경하지 않습니다.
예를 들어 포트 GigabitEthernet1/0/12은 액세스 VLAN 10 및 음성 VLAN 20으로 구성됩니다.
interface GigabitEthernet1/0/12
description **** Cisco IP Phone ****
switchport access vlan 10
switchport mode access
switchport voice vlan 20
mls qos trust cos
spanning-tree portfast
!--- The Cisco IP Phone uses IEEE 802.1Q frames for Voice !--- VLAN traffic. Voice VLAN is only supported on access ports and not !--- on trunk ports, even though the configuration is allowed.
end
기본적으로 PC는 태그 없는 데이터를 전송합니다. Cisco IP Phone에 연결된 디바이스의 태그 없는 트래픽은 전화기의 액세스 포트의 신뢰 상태에 관계없이 변경되지 않은 상태로 전화기를 통해 전달됩니다. 전화기는 음성 VLAN ID 20이 포함된 dot1q 태그 있는 프레임을 전송합니다. 따라서 mls qos trust cos 명령을 사용하여 포트를 구성하는 경우 전화기에서 프레임의 CoS 값(태그 있는 프레임)을 신뢰하고 PC에서 프레임(태그 없음)의 CoS 값을 0으로 설정합니다. 그런 다음 CoS-DSCP 맵 테이블은 프레임 내부의 패킷의 DSCP 값을 0으로 설정합니다. S-DSCP 맵 테이블에는 CoS 값 0에 대한 DSCP 값 0이 있습니다. PC의 패킷에 특정 DSCP 값이 있으면 해당 값이 0으로 재설정됩니다. 포트에서 mls qos 3 명령을 구성하면 PC에서 모든 프레임의 CoS 값을 3으로 설정하고 전화기에서 프레임의 CoS 값을 변경하지 않습니다.
interface GigabitEthernet1/0/12
description **** Cisco IP Phone ****
switchport access vlan 10
switchport mode access
switchport voice vlan 20
mls qos trust cos
mls qos cos 3
spanning-tree portfast
end
mls qos cos 3 override 명령을 사용하여 포트를 구성하는 경우 모든 프레임(태그 지정과 태그가 지정되지 않음)의 CoS 값을 3으로 설정합니다. 이 값은 이전에 구성한 신뢰 값을 재정의합니다.
interface GigabitEthernet1/0/12
description **** Cisco IP Phone ****
switchport access vlan 10
switchport mode access
switchport voice vlan 20
mls qos trust cos
mls qos cos 3 override
!--- Overrides the mls qos trust cos.
!--- Applies CoS value 3 on all the incoming packets on both !--- the vlan 10 and 20.
spanning-tree portfast
end
예 4: 예를 들어, 포트 gi 1/0/12 컨피그레이션을 살펴봅니다.
interface GigabitEthernet1/0/12
description **** Cisco IP Phone ****
switchport access vlan 10
switchport mode access
switchport voice vlan 20
mls qos trust cos
spanning-tree portfast
end
PC가 프레임을 VLAN 20으로 태그하면 CoS 값도 5로 설정합니다. 이 스위치는 Cisco IP Phone의 액세스 포트에 연결된 디바이스에서 태그 처리된 데이터 트래픽(IEEE 802.1Q 또는 IEEE 802.1p 프레임 유형의 트래픽)을 처리합니다. 인터페이스가 CoS 값을 신뢰하도록 구성되어 있으므로 Cisco IP Phone의 액세스 포트를 통해 수신된 모든 트래픽은 변경되지 않고 전화기를 통해 전달됩니다. 또한 이 스위치는 PC에서 오는 트래픽을 신뢰하고 허용하며 IP 전화 트래픽과 동일한 우선순위를 제공합니다. 이 결과는 보고 싶은 바람직한 결과가 아닙니다. switchport priority extend cos <cos-value> 명령을 사용하면 이를 피할 수 있습니다.
interface GigabitEthernet1/0/12
description **** Cisco IP Phone ****
switchport access vlan 10
switchport mode access
switchport voice vlan 20
mls qos trust cos
switchport priority extend cos 0
!--- Overrides the CoS value of PC traffic to 0.
spanning-tree portfast
end
switchport priority extend cos <cos-value> 명령은 IP 전화에서 PC 트래픽의 CoS 값을 0으로 변경하도록 전화기를 구성합니다.
예 5: 예를 들어, 동일한 인터페이스에서 누군가가 PC를 스위치에 직접 연결하고 CoS 값이 더 높은 dot1q 프레임을 사용하여 PC 데이터에 태그를 지정합니다. 이는 mls qos trust device cisco-phone 명령을 사용하여 방지할 수 있습니다.
interface GigabitEthernet1/0/12
description **** Cisco IP Phone ****
switchport access vlan 10
switchport mode access
switchport voice vlan 20
mls qos trust cos
switchport priority extend cos 0
mls qos trust device cisco-phone
!--- Specify that the Cisco IP Phone is a trusted device.
spanning-tree portfast
end
예 6: 예를 들어 GigabitEthernet1/0/12 인터페이스에서 PC에서 QoS 레이블을 신뢰해야 합니다. 또한 PC는 네이티브 VLAN 10에 연결됩니다. 이 경우 PC 패킷이 CoS 값에 태그를 지정하지 않기 때문에 mls qos trust cos 명령이 도움이 되지 않습니다. DSCP 값만 태그됩니다. 따라서 스위치가 dot1q 프레임을 추가하고 기본 CoS 값을 0으로 구성합니다. 그런 다음 CoS-DSCP 테이블이 DSCP 값을 계산하고 0으로 재설정합니다.
이 문제를 해결하려면 두 가지 선택 사항이 있습니다. 하나는 MQC를 사용하여 분류 및 표시를 구성하는 것입니다. 소스, 목적지 IP 주소 및 소스/목적지 포트 번호를 기준으로 PC 트래픽과 매칭할 ACL을 생성할 수 있습니다. 그런 다음 클래스 맵에서 이 ACL을 매칭할 수 있습니다. 이 트래픽을 신뢰하기 위한 정책 맵을 만들 수 있습니다. 이 솔루션은 다음 섹션에서 설명합니다. 이 섹션에서는 두 번째 방법에 대해 설명합니다. 두 번째 방법은 CoS 레이블 대신 DSCP 레이블을 신뢰하는 것입니다. 그런 다음 DSCP-CoS 레이블은 DSCP 값에 해당하는 CoS 값을 계산하고 설정합니다.
예 1: 포트가 CoS를 신뢰하도록 구성된 경우 모든 수신 CoS 값을 신뢰하며 CoS-DSCP 테이블을 기반으로 DSCP 값이 표시됩니다. 기본 CoS-DSCP 컨피그레이션에 따라 다음과 같이 값이 매핑됩니다.
CoS
DSCP(십진수)
DSCP
0
0
기본값
1
8
CS1
2
16
CS2
3
24
CS3
4
32
CS4
5
40
CS5
6
48
CS6
7
56
CS7
여기서 주목해야 할 중요한 값 중 하나는 DSCP 값이 CoS 값 5에 해당한다는 것입니다. CS5입니다. 예 2가 이 값에 대해 설명합니다.
예 2: 예를 들어 GigabitEthernet1/0/12 인터페이스는 CoS를 신뢰하도록 구성됩니다.
interface GigabitEthernet1/0/12
description **** Cisco IP Phone ****
switchport access vlan 10
switchport mode access
switchport voice vlan 20
mls qos trust cos
spanning-tree portfast
end
Cisco IP Phone은 스위치에 트래픽을 전송할 때 CoS 5 및 DSCP EF로 음성 페이로드를 표시합니다. 트래픽이 포트 Gi 1/0/12으로 들어가면 스위치는 CoS 값을 신뢰합니다. 그런 다음 스위치는 CoS-DSCP 테이블에서 CoS 값 5의 DSCP 값 CS5(40)를 파생합니다. CoS 5의 모든 음성 페이로드는 DSCP 값 CS5로 표시되어 있습니다. 이 값은 바람직하지 않습니다. 음성 페이로드에 필요한 DSCP 값은 DSCP EF입니다. 기본적으로 DSCP 값에 대한 다른 CoS 값은 RFC에 따라 올바르게 매핑됩니다.
이 컨피그레이션을 사용하면 CoS 5에 해당하는 DSCP 값 EF를 변경하도록 CoS-DSCP 맵 테이블을 구성할 수 있습니다.
Distribution1(config)# mls qos map cos-dscp 0 8 16
24 32 46 48 56
!--- DSCP 46 is EF
이 컨피그레이션 후에는 다음과 같이 값이 매핑됩니다.
CoS
DSCP(십진수)
DSCP
0
0
기본값
1
8
CS1
2
16
CS2
3
24
CS3
4
32
CS4
5
46
EF
6
48
CS6
7
56
CS7
예 3: 포트가 DSCP를 신뢰하도록 구성된 경우 모든 수신 DSCP 값이 신뢰되며 CoS 값은 DSCP-CoS 테이블을 기반으로 생성됩니다. 기본 DSCP-CoS 컨피그레이션에 따라 다음과 같이 값이 매핑됩니다.
DSCP
DSCP(십진수)
CoS
기본값
0-7
0
CS1 AF11 AF12 AF13
8-15
1
CS2 AF21 AF22 AF23
16-23
2
CS3 AF31 AF32 AF33
24-31
3
CS4 AF41 AF42 AF43
32-39
4
CS5 EF
40-47
5
CS6
48-55
6
CS7
56-63
7
이러한 기본값을 변경할 필요가 없습니다.
이 표에는 참조용으로만 DSCP 값 및 CoS 값이 요약되어 있습니다.
DSCP(십진수)
DSCP
CoS
0
기본값
0
8
CS1
1
10
AF11
1
12
AF12
1
14
AF13
1
16
CS2
2
18
AF21
2
20
AF22
2
22
AF23
2
24
CS3
3
26
AF31
3
28
AF32
3
30
AF33
3
32
CS4
4
34
AF41
4
36
AF42
4
38
AF43
4
40
CS5
5
42
5
44
5
46
EF
5
48
CS6
6
56
CS7
7
참고: 네트워크에서는 모든 Cisco Catalyst 스위치에 동일한 맵 테이블이 있어야 합니다. 서로 다른 스위치의 맵 테이블 값이 다르면 QoS 동작이 바람직하지 않습니다.
Classification and Marking(분류 및 표시) 섹션에서 설명한 대로 MQC를 사용하여 패킷을 분류하고 표시할 수 있습니다. 포트별 컨피그레이션 대신 MQC를 사용할 수 있습니다. 정책 맵으로 수신 패킷을 표시할 수도 있습니다.
이 예의 요구 사항은 다음과 같습니다.
IP 전화 트래픽의 CoS 값을 신뢰합니다.
IP 전화기에 연결된 PC에서 소프트폰 애플리케이션 패킷의 DSCP 값을 표시합니다.
PC에서 다른 모든 트래픽을 신뢰하지 않습니다.
이 다이어그램은 정책 맵이 인터페이스의 입력에 연결되어 있음을 보여줍니다. Catalyst 3750 스위치의 인터페이스 출력에 정책 맵을 적용할 수 없습니다. 다음 구성은 다이어그램을 나타냅니다. 이 섹션에서는 QoS 기능의 큐잉 부분에 중점을 두지 않습니다. 이 섹션에서는 인터페이스에 적용되는 MQC에 초점을 맞추고 있습니다.
데이터 VLAN은 10이고 해당 서브넷 주소는 172.16.10.0/24입니다. 음성 VLAN은 100이고 서브넷 주소는 192.168.100.0/24입니다.
!--- Section A
Distribution1(config)#ip access-list extended voice-traffic
Distribution1(config-std-nacl)#permit ip 192.168.100.0 0.0.0.255 any
Distribution1(config-std-nacl)#ip access-list extended
database-application
Distribution1(config-ext-nacl)#permit tcp any any eq 1521
Distribution1(config-ext-nacl)#permit tcp any any eq 1810
Distribution1(config-ext-nacl)#permit tcp any any eq 2481
Distribution1(config-ext-nacl)#permit tcp any any eq 7778
Distribution1(config-ext-nacl)#exit
Distribution1(config)#class-map Class-A
Distribution1(config-cmap)#match access-group name voice-traffic
Distribution1(config-cmap)#exit
Distribution1(config)#class-map Class-B
Distribution1(config-cmap)#match access-group name
database-application
Distribution1(config-cmap)#exit
!--- Section B
Distribution1(config)#policy-map sample-policy1
Distribution1(config-pmap)#class Class-A
Distribution1(config-pmap-c)#trust cos
Distribution1(config-pmap-c)#exit
Distribution1(config-pmap)#class Class-B
Distribution1(config-pmap-c)#set dscp af21
Distribution1(config-pmap-c)#exit
Distribution1(config-pmap)#exit
!--- Section C
Distribution1(config)#interface gigabitEthernet 1/0/13
Distribution1(config-if)#switchport access vlan 10
Distribution1(config-if)#switchport mode access
Distribution1(config-if)#switchport voice vlan 100
Distribution1(config-if)#spanning-tree portfast
Distribution1(config-if)#service-policy input sample-policy1
Distribution1(config-if)#exit
섹션 A:
IP 전화 트래픽을 Class-A로 분류합니다. IP 전화는 음성 VLAN에 속하며 192.168.100.0 서브넷에 IP 주소가 있습니다.
데이터베이스 애플리케이션 트래픽을 Class-B로 분류합니다. 포트 번호가 1521, 1810, 2481, 7778인 목적지로 향하는 PC 트래픽(실제로 컨피그레이션에 따른 모든 트래픽)은 Class-B 클래스 맵으로 분류됩니다.
섹션 B:
Class-A와 일치하는 트래픽은 CoS 레이블을 신뢰하도록 구성됩니다. 즉, IP 전화에서 오는 모든 트래픽의 CoS 값을 신뢰합니다. 다이어그램에 나와 있듯이 DSCP 값은 Class-A 트래픽에 대한 CoS-DSCP 맵 테이블에서 파생됩니다.
Class-B와 일치하는 트래픽은 DSCP 값을 AF21로 설정하도록 구성됩니다. 다이어그램에 표시된 대로 DCoS 값은 Class-B 트래픽에 대한 DSCP-CoS 맵 테이블에서 파생됩니다.
각 정책 맵 클래스 아래의 컨피그레이션을 PHB 작업이라고 합니다. Cisco 라우터에서 마킹, 큐잉, 폴리싱, 쉐이핑 및 혼잡 방지를 지원하는 PHB 작업입니다. 마킹 및 폴리싱은 Cisco Catalyst 3750 스위치에서 지원되는 유일한 PHB 작업입니다.
Distribution1(config)#policy-map test
Distribution1(config-pmap)#class test
Distribution1(config-pmap-c)#?
QoS policy-map class configuration commands:
exit Exit from QoS class action configuration mode
no Negate or set default values of a command
police Police
service-policy Configure QoS Service Policy
set Set QoS values
trust Set trust value for the class
<cr>
set 및 trust 명령은 Marking PHB 작업입니다. set 또는 trust PHB 작업을 구성할 수 있습니다. 정책 맵의 한 클래스에 있는 두 작업을 모두 구성할 수는 없습니다. 그러나 동일한 정책 맵의 다른 클래스에서 집합을 구성하고 신뢰를 할 수 있습니다.
police 명령은 폴리싱 PHB 작업입니다. 이 내용은 다음 섹션에서 자세히 설명합니다.
Cisco Catalyst 3750 스위치에서는 쉐이핑이 지원되지 않습니다. Cisco Catalyst 3750 스위치에서는 대기 및 혼잡 방지를 지원하지만 MQC를 사용하여 구성할 수는 없습니다. 대기 및 혼잡 방지 구성에 대해서는 이 문서의 뒷부분에서 자세히 설명합니다.
섹션 C:
policy-map은 인터페이스의 입력에만 적용할 수 있습니다. 출력 인터페이스에 적용하면 다음 오류 메시지가 표시됩니다.
Distribution1(config)#int gi 1/0/3
Distribution1(config-if)#service-policy output test
Warning: Assigning a policy map to the output side of an
interface not supported
Service Policy attachment failed
Warning: Assigning a policy map to the output side of an
interface not supported
포트 gi 1/0/3에 포트 기반 또는 VLAN 기반 등의 다른 QoS 분류 방법이 구성된 경우 정책 맵을 적용할 때 해당 컨피그레이션이 제거됩니다. 예를 들어 포트 Gi 1/0/13은 다음과 같이 CoS를 신뢰하도록 구성됩니다.
interface GigabitEthernet1/0/13
description **** Access Port ****
switchport access vlan 10
switchport mode access
switchport voice vlan 100
mls qos cos 3
mls qos trust cos
spanning-tree portfast
인터페이스에 policy-map을 적용하면 trust 명령이 제거됩니다.
Distribution1(config)#int gi 1/0/13
Distribution1(config-if)#service-policy input sample-policy1
Distribution1(config-if)#do show run int gi 1/0/13
Building configuration...
Current configuration : 228 bytes
!
interface GigabitEthernet1/0/13
description **** Access Port ****
switchport access vlan 10
switchport mode access
switchport voice vlan 100
service-policy input sample-policy1
!--- It replaces the mls qos trust or mls qos !--- vlan-based command.
mls qos cos 3
!--- This command is not removed.
spanning-tree portfast
end
mls qos trust 또는 mls qos vlan 기반 명령을 대체하는 service-policy 입력을 볼 수 있습니다. mls qos cos 또는 mls qos dscp-mls 명령과 같은 다른 명령은 변경되지 않습니다. 요약하면, QoS 분류 명령을 대체하며 QoS 마킹 명령을 대체하지는 않습니다.
policy-map에는 두 개의 클래스 맵만 표시됩니다. Class-A는 IP 전화 트래픽과 일치하고 Class-B는 PC의 데이터베이스 애플리케이션 트래픽과 일치합니다. 다른 모든 PC 트래픽(access-list에 정의된 데이터베이스 애플리케이션 제외)은 policy-map의 class-default 클래스로 분류됩니다. 정책 맵에 연결된 정의된 클래스 맵과 일치하지 않는 트래픽을 탐지하는 catch-all 트래픽입니다. 따라서 class-default에 속하는 이 트래픽은 포트에서 신뢰하지 않으며, 이러한 패킷은 기본 CoS 및 DSCP 레이블을 0으로 설정합니다. 기본 CoS 또는 DSCP 값을 이 클래스 기본 트래픽으로 설정하도록 구성할 수 있습니다.
MQC를 사용하여 기본 DSCP 값을 설정할 수 있습니다. CoS 값은 DSCP-CoS 맵 테이블에서 파생됩니다.
여기에 표시된 대로 기본 CoS 값을 설정할 수 있습니다. DSCP 값은 CoS-DSCP 맵 테이블에서 파생됩니다.
Distribution1(config)#int gi 1/0/13
Distribution1(config-if)#mls qos cos 3
Distribution1(config-if)#do show run int gi 1/0/13
Building configuration...
Current configuration : 228 bytes
!
interface GigabitEthernet1/0/13
description **** Access Port ****
switchport access vlan 10
switchport mode access
switchport voice vlan 100
service-policy input sample-policy1
mls qos cos 3
spanning-tree portfast
이 예에서 컨피그레이션은 TCP 포트 1494의 트래픽에 가장 높은 우선순위를 설정하는 데 사용됩니다.
VOIP 트래픽에는 EF의 DSCP 값을 할당해야 합니다.
!--- Classifying all traffic coming with dscp value of EF !--- under this class-map.
Switch(config)# class-map match-all AutoQoS-VoIP-RTP-Trust
Switch(config-cmap)# match ip dscp ef
Switch(config)# policy-map AutoQoS-Police-CiscoPhone
Switch(config-pmap)# class AutoQoS-VoIP-RTP-Trust
!--- Again setting the dscp value back to EF.
Switch(config-pmap-c)# set dscp ef
Switch(config-pmap-c)# police 320000 8000 exceed-action
policed-dscp-transmit
TCP 1494의 트래픽에는 CS4의 DSCP 값을 할당해야 합니다.
Switch(config)# access-list 100 permit tcp eq 1494
Switch(config)# class-map tcp
Switch(config-cmap)# match access-group 100
Switch(config)# policy-map AutoQoS-Police-CiscoPhone
Switch(config-pmap)# class tcp
Switch(config-pmap-c)# set dscp cs4
다른 모든 트래픽에는 CS3를 할당해야 합니다.
Switch(config)# access-list 200 permit ip any any
Switch(config)# class-map default
Switch(config-cmap)# match access-group 200
Switch(config)# policy-map AutoQoS-Police-CiscoPhone
Switch(config-pmap)# class default
Switch(config-pmap-c)# set dscp cs3
Cisco Catalyst 3750 스위치에서는 인그레스 포트에서만 폴리싱을 구성할 수 있습니다. 폴리싱은 MQC를 통해서만 구성할 수 있습니다. 즉, 트래픽을 폴리싱하기 위한 인터페이스 특정 명령이 없습니다. policy-map에서 폴리싱을 구성할 수 있으며, service-policy input <policy-name> 명령만 사용하여 policy-map을 적용할 수 있습니다. 인터페이스의 출력 쪽에 정책 맵을 적용할 수 없습니다.
Distribution1(config-if)#service-policy output test
police command is not supported for this interface
Configuration failed!
Warning: Assigning a policy map to the output side of an
interface not supported.
이 섹션에서는 과도한 트래픽을 삭제하는 폴리싱 컨피그레이션에 대해 설명합니다. 폴리싱은 수신 트래픽을 측정하고 수신 속도를 구성된 초당 비트로 유지합니다. Cisco Catalyst 3750 스위치는 단일 속도, 단일 버킷 폴리싱만 지원합니다. 즉, 스위치 미터기는 단 하나의 속도로 측정되며, 두 가지 색상으로 트래픽을 프로파일링하고 동작을 초과할 수 있습니다. 다이어그램은 3개의 클래스 맵이 있는 policy-map sample-policy2를 보여줍니다.
이 예의 요구 사항은 다음과 같습니다.
경찰 ftp, pop3, imap 트래픽을 10Mbps로 전송합니다.
IP 전화기에 연결된 PC에서 IP Communicator 응용 프로그램 패킷의 DSCP 값을 신뢰합니다. 또한 이 트래픽을 1Mbps로 폴리싱해야 합니다.
파일 응용 프로그램을 표시 및 관리합니다.
이 컨피그레이션은 다이어그램에 언급된 정책 맵을 나타냅니다.
!--- Create Access-list and Class map Class-A
Distribution1(config)#ip access-list extended BULK-DATA
Distribution1(config-ext-nacl)#permit tcp any any eq ftp
Distribution1(config-ext-nacl)#permit tcp any any eq ftp-data
Distribution1(config-ext-nacl)#permit tcp any any eq pop3
Distribution1(config-ext-nacl)#permit tcp any any eq 143
Distribution1(config-ext-nacl)#exit
Distribution1(config)#class-map Class-A
Distribution1(config-cmap)#match access-group name BULK-DATA
Distribution1(config-cmap)#exit
!--- Create Access-list and Class map Class-B
Distribution1(config)#ip access-list extended IP-Communicator
Distribution1(config-ext-nacl)#remark *** Voice Payload ***
Distribution1(config-ext-nacl)#permit udp any any range 16384 32767
Distribution1(config-ext-nacl)#remark *** Voice Signalling ***
Distribution1(config-ext-nacl)#permit tcp any any range 2000 2002
Distribution1(config-ext-nacl)#exit
Distribution1(config)#class-map Class-B
Distribution1(config-cmap)#match access-group name IP-Communicator
Distribution1(config-cmap)#exit
!--- Create Access-list and Class map Class-C
Distribution1(config)#ip access-list extended application
Distribution1(config-ext-nacl)#remark *** Application for example ***
Distribution1(config-ext-nacl)#permit tcp any any eq 32768
Distribution1(config-ext-nacl)#permit udp any any eq 32768
Distribution1(config-ext-nacl)#permit tcp any any eq 32769
Distribution1(config-ext-nacl)#permit udp any any eq 32769
Distribution1(config-ext-nacl)#exit
Distribution1(config)#class-map Class-C
Distribution1(config-cmap)#match access-group name application
Distribution1(config-cmap)#exit
!--- Create Policy map
Distribution1(config-cmap)#policy-map sample-policy2
Distribution1(config-pmap)#class Class-A
Distribution1(config-pmap-c)#police 10000000 8000 exceed-action drop
Distribution1(config-pmap-c)#class Class-B
Distribution1(config-pmap-c)#trust dscp
Distribution1(config-pmap-c)#police 256000 8000 exceed-action drop
Distribution1(config-pmap-c)#class Class-C
Distribution1(config-pmap-c)#set dscp CS2
Distribution1(config-pmap-c)#police 25000000 8000 exceed-action drop
Distribution1(config-pmap-c)#exit
Distribution1(config-pmap)#exit
!--- Apply Policy map to the interface
Distribution1(config)#interface GigabitEthernet1/0/20
Distribution1(config-if)#service-policy input sample-policy2
policy-map의 컨피그레이션은 여기에서 설명합니다.
클래스 A: 클래스 A와 일치하는 트래픽은 10Mbps 속도로 폴리싱됩니다. 클래스 A 트래픽의 QoS 레이블은 신뢰할 수 없습니다. CoS 및 DSCP 값은 0으로 표시됩니다. 과도한 패킷은 폴리서가 삭제합니다.
클래스 B: 클래스 B와 일치하는 트래픽에 대해 수행되는 두 가지 PHB 작업이 있습니다. 하나는 신뢰이고 다른 하나는 치안 유지입니다. Class-B 트래픽의 DSCP 값을 신뢰할 수 있습니다. CoS 값은 DSCP-CoS 테이블에서 파생됩니다. 그런 다음 클래스 B 트래픽은 256Kbps 속도로 폴리싱됩니다. 과도한 패킷은 경찰이 삭제합니다.
클래스 C: 클래스 B와 일치하는 트래픽에 대해 수행되는 두 가지 PHB 작업이 있습니다. 하나는 표시를 하고, 다른 하나는 치안 유지이다. 클래스 C와 일치하는 수신 패킷은 DSCP 값 CS2로 표시되고 CoS 값은 2인 DSCP-CoS 테이블에서 파생됩니다. 그런 다음 클래스 C 트래픽은 25Mbps 속도로 폴리싱됩니다. 과도한 패킷은 경찰이 삭제합니다.
이 테이블에서 동일한 DSCP 값이 일치하는지 확인할 수 있습니다. 예를 들어 DSCP 34는 DSCP 34에 매핑됩니다. 폴리서 속도에 맞는 트래픽은 DSCP 값을 변경하지 않고 전송됩니다. 폴리서 속도를 초과하는 트래픽은 다른 DSCP 값으로 전송할 수 있습니다. 예를 들어 삭제될 가능성이 더 많은 DSCP 값으로 표시할 수 있습니다.
기본 policed-DSCP 값을 사용하는 경우 폴리싱을 사용하는 것은 의미가 없습니다. 예를 들어, 10Mbps 속도로 트래픽을 폴리싱하도록 구성했습니다. 들어오는 패킷의 DSCP 값은 CS4입니다. 기본 DSCP 값을 유지할 경우 10Mbps를 따르는 트래픽은 CS2의 DSCP 값으로 전송됩니다. 또한 10Mbps를 초과하는 트래픽은 CS2의 DSCP 값으로 전송됩니다. 이는 policed-DSCP 맵 기본값이 동일한 값을 매핑하기 때문입니다. 따라서 DSCP 값을 구별하기 위해 폴리싱된-DSCP 맵 테이블을 적절하게 구성하는 것이 좋습니다.
이 예의 요구 사항은 다음과 같습니다.
매핑할 policed-DSCP 맵 테이블을 구성합니다.
EF-AF31
CS3 - AF13
CS2에서 AF11로
IP Communicator 패킷의 DSCP 값을 신뢰하여 256Kbps로 폴리싱합니다. 트래픽이 256Kbps를 초과하는 경우 policed-DSCP 맵 테이블을 사용하여 DSCP 값에 대해 설명합니다.
파일 응용 프로그램을 표시 및 관리합니다. 트래픽이 25Mbps를 초과하는 경우 policed-DSCP 맵 테이블을 사용하여 DSCP 값을 지정합니다.
이 컨피그레이션은 다이어그램에 언급된 정책 맵을 나타냅니다.
!--- Policed DSCP table Configuration
Distribution1(config)#mls qos map policed-dscp 46 to 26
Distribution1(config)#mls qos map policed-dscp 24 to 14
Distribution1(config)#mls qos map policed-dscp 16 to 10
!--- Create Access-list and Class map Class-A
Distribution1(config)#ip access-list extended IP-Communicator
Distribution1(config-ext-nacl)#remark *** Voice Payload ***
Distribution1(config-ext-nacl)#permit udp any any range 16384 32767
Distribution1(config-ext-nacl)#remark *** Voice Signalling ***
Distribution1(config-ext-nacl)#permit tcp any any range 2000 2002
Distribution1(config-ext-nacl)#exit
Distribution1(config)#class-map Class-A
Distribution1(config-cmap)#match access-group name IP-Communicator
Distribution1(config-cmap)#exit
!--- Create Access-list and Class map Class-C
Distribution1(config)#ip access-list extended application
Distribution1(config-ext-nacl)#remark *** Application for example ***
Distribution1(config-ext-nacl)#permit tcp any any eq 32768
Distribution1(config-ext-nacl)#permit udp any any eq 32768
Distribution1(config-ext-nacl)#permit tcp any any eq 32769
Distribution1(config-ext-nacl)#permit udp any any eq 32769
Distribution1(config-ext-nacl)#exit
Distribution1(config)#class-map Class-B
Distribution1(config-cmap)#match access-group name application
Distribution1(config-cmap)#exit
!--- Create Policy map
Distribution1(config-cmap)#policy-map sample-policy3
Distribution1(config-pmap-c)#class Class-A
Distribution1(config-pmap-c)#trust dscp
Distribution1(config-pmap-c)#police 256000 8000 exceed-action
policed-dscp-transmit
Distribution1(config-pmap-c)#class Class-B
Distribution1(config-pmap-c)#set dscp CS2
Distribution1(config-pmap-c)#police 25000000 8000 exceed-action
policed-dscp-transmit
Distribution1(config-pmap-c)#exit
Distribution1(config-pmap)#exit
!--- Apply Policy map to the interface
Distribution1(config)#interface GigabitEthernet1/0/21
Distribution1(config-if)#service-policy input sample-policy3
policy-map의 컨피그레이션은 여기에서 설명합니다.
Policed-DSCP: policed-DSCP 맵 테이블에는 세 개의 값이 수정됩니다.
EF-AF31
CS3 - AF13
CS2에서 AF11로
처음 두 값은 Class-A 및 Class-B 클래스 맵에서 분류된 트래픽 유형을 기반으로 수정됩니다.
클래스 A: 소프트폰의 음성 페이로드 및 음성 컨트롤은 클래스 A 클래스 맵에서 분류됩니다. 음성 페이로드 트래픽은 EF의 DSCP 값을 가지며 음성 제어에는 DSCP 값이 CS3입니다. 정책 맵 구성에 따라 이러한 DSCP 값은 신뢰됩니다. 트래픽은 256Kbps 속도로 폴리싱됩니다. 이 속도를 따르는 트래픽은 수신 DSCP 값과 함께 전송됩니다. 이 속도를 초과하는 트래픽은 폴리싱된 DSCP 테이블에서 처리되고 전송됩니다. 폴리싱된 DSCP 테이블은 구성된 값에 따라 EF를 AF31로, CS3에서 AF13으로 표시합니다. 그런 다음 해당하는 CoS 값이 DSCP-CoS 테이블에서 파생됩니다.
클래스 B: Class-B와 일치하는 수신 패킷은 CS2의 DSCP 값으로 표시됩니다. Class-B 트래픽은 25Mbps 속도로 폴리싱됩니다. 이 속도를 준수하는 트래픽은 DSCP 값 2로 전송되고 CoS 값은 2인 DSCP-CoS 테이블에서 파생됩니다. 이 속도를 초과하는 트래픽은 폴리싱된 DSCP 테이블에서 확인한 후 전송됩니다. 폴리싱된 DSCP 테이블은 구성된 값에 따라 EF를 AF31로, CS3에서 AF13으로 표시합니다. 그런 다음 해당하는 CoS 값이 DSCP-CoS 테이블에서 파생됩니다.
혼잡 관리 및 회피 프로세스는 3단계로 진행됩니다. 단계는 대기, 삭제 및 예약입니다. 큐잉은 QoS 레이블을 기준으로 패킷을 다른 소프트웨어 대기열에 넣습니다. Cisco Catalyst 3750 스위치에는 2개의 인그레스 대기열이 있습니다. 트래픽이 분류되고 QoS 레이블로 표시된 후에는 QoS 레이블을 기반으로 두 개의 다른 대기열에 트래픽을 할당할 수 있습니다.
WTD(Weighted Tail Drop)는 대기열 길이를 관리하고 서로 다른 트래픽 분류에 대한 삭제 우선순위를 제공하는 데 사용됩니다.
인그레스 및 이그레스 대기열은 모두 SRR에 의해 서비스되며, 이는 패킷이 전송되는 속도를 제어합니다. 인그레스 큐에서 SRR은 스택 링으로 패킷을 전송합니다. SRR은 모양과 공유라는 두 가지 모드로 작동할 수 있습니다. 인그레스 대기열의 경우 공유가 기본 모드이며, 지원되는 유일한 모드입니다. 공유 모드에서는 큐가 구성된 가중치에 따라 대역폭을 공유합니다. 대역폭은 이 수준에서 보장되지만 이에 국한되지 않습니다.
대기열 2는 우선순위 대기열입니다. SRR은 구성된 가중치에 대한 우선순위 대기열이며 10%입니다. 그런 다음, SRR은 인그레스 대기열(90%)과 나머지 대역폭(90%)을 공유하며 구성된 가중치로 지정된 대로 서비스를 제공합니다. 이 경우 대기열 1과 대기열 2는 각각 45%의 속도로 서비스됩니다.
Cos-inputq-threshold 및 Dscp-inputq-threshold 맵에서 충돌을 볼 수 있습니다. 예를 들어 CoS 3은 Cos-inputq-threshold 테이블의 queue 2에 매핑됩니다. 그러나 DSCP 값 24(CoS 3에 해당)는 Dscp-inputq-threshold 맵의 대기열 1에 매핑됩니다. 실제로 Dscp-inputq-threshold 맵은 Cos-inputq-threshold 맵을 재정의합니다. 이러한 매핑은 예측 가능한 동작을 보장하고 문제 해결을 간소화하기 위해 가능한 한 일관되어야 합니다. 따라서 Dscp-inputq-threshold 맵은 Cos-inputq-threshold 맵과 동기화하도록 구성됩니다.
IOS는 QoS가 활성화된 후 인그레스 패킷을 대기열에 추가하기 위해 버퍼의 기본 공간을 할당합니다. 인그레스 대기열, queue1 및 queue 2 모두 이 버퍼 공간을 공유합니다. Catalyst 3750 스위치에서 각 큐에서 사용할 수 있는 이 버퍼 공간의 비율을 구성할 수 있습니다. 인그레스 대기열에 사용 가능한 총 메모리의 67%가 대기열 1에 할당되고 33%가 대기열 2에 할당됩니다.
기본적으로 대기열 2는 우선순위 대기열이며 전체 내부 링 대역폭의 10%가 우선순위 대기열에 할당됩니다. 큐 1을 우선순위 큐로 구성할 수도 있습니다. 그러나 두 대기열을 모두 우선순위 대기열로 구성할 수는 없습니다.
링의 대역폭이 10Gbps인 경우, SRR 서비스는 10Gbps의 20%를 2Gbps의 첫 번째 대기열 2로 제공합니다. 나머지 8Gbps 링 대역폭은 대기열 1과 대기열 2에 의해 공유됩니다. 구성에 따라 대기열 1은 8Gbps의 90%가 서비스되고 대기열 2는 다시 8Gbps의 10%가 서비스됩니다. 이 8Gbps 대역폭은 SRR이 공유 모드에서 제공합니다. 즉, 구성된 대역폭 비율은 보장되지만 이에 국한되지 않습니다.
참고: mls qos srr-queue input priority-queue 2 bandwidth 0 명령으로 우선순위 큐를 비활성화할 수 있습니다.
Cos-inputq-threshold 및 Dscp-inputq-threshold 맵에서 충돌을 볼 수 있습니다. 예를 들어 CoS 3은 Cos-inputq-threshold 테이블의 queue 2에 매핑되지만 DSCP 값 24(CoS 3에 해당)는 Dscp-inputq-threshold 맵의 queue 1에 매핑됩니다. 실제로 Dscp-inputq-threshold 맵은 Cos-inputq-threshold 맵을 재정의합니다. 이러한 매핑은 예측 가능한 동작을 보장하고 문제 해결을 간소화하기 위해 가능한 한 일관되어야 합니다. 따라서 Dscp-inputq-threshold 맵은 Cos-inputq-threshold 맵과 동기화하도록 구성됩니다.
기본적으로 대기열 2는 우선순위 대기열이며 전체 내부 링 대역폭의 10%가 우선순위 대기열에 할당됩니다. 큐 1을 우선순위 큐로 구성할 수도 있습니다. 그러나 두 대기열을 모두 우선순위 대기열로 구성할 수는 없습니다.
10Gbps에 대한 링 대역폭이 있는 경우, SRR 서비스는 10Gbps의 20%를 2Gbps의 첫 번째 대기열 2로 제공합니다. 나머지 8Gbps 링 대역폭은 대기열 1과 대기열 2에 의해 공유됩니다. 구성에 따라 대기열 1은 8Gbps의 90%가 서비스되고 대기열 2는 다시 8Gbps의 10%가 서비스됩니다. 이 8Gbps 대역폭은 SRR이 공유 모드에서 제공합니다. 즉, 구성된 대역폭 비율은 보장되지만 이에 국한되지 않습니다.
참고: mls qos srr-queue input priority-queue 2 bandwidth 0 명령으로 우선순위 큐를 비활성화할 수 있습니다.
혼잡 관리 및 방지는 Cisco Catalyst 3750 스위치에서 지원하는 이그레스 QoS 기능입니다. 혼잡 관리 및 회피 프로세스는 3단계로 진행됩니다. 단계는 대기, 삭제 및 예약입니다.
큐잉은 QoS 레이블을 기준으로 패킷을 다른 소프트웨어 대기열에 넣습니다. Cisco Catalyst 3750 스위치에는 4개의 이그레스(egress) 대기열이 있으며, 대기열당 3개의 임계값이 있습니다. 트래픽이 분류되고 QoS 레이블로 표시된 후에는 QoS 레이블을 기반으로 4개의 다른 대기열에 트래픽을 할당할 수 있습니다.
각 대기열은 버퍼 크기, 예약 임계값, 임계값 수준 및 최대 임계값으로 구성할 수 있습니다. WTD(Weighted Tail Drop)는 대기열 길이를 관리하고 서로 다른 트래픽 분류에 대한 삭제 우선순위를 제공하는 데 사용됩니다. 인그레스 대기열 매개변수는 전역적으로 구성됩니다. 인그레스 대기열 매개변수는 포트 기준으로 하지 않습니다. 그러나 이그레스 대기열 매개변수는 포트별로 구성됩니다. 이 경우에도 컨피그레이션이 포트당 수행됩니다. 각 포트를 다르게 구성할 수는 없습니다. 두 가지 방법으로 각 포트를 구성할 수 있습니다. 이를 대기열 세트라고 합니다. 전역 컨피그레이션에서 최대 두 개의 서로 다른 큐 세트를 구성할 수 있습니다. 그런 다음 이 두 세트 중 하나를 인터페이스에 적용할 수 있습니다.
인그레스 및 이그레스 대기열은 모두 SRR에 의해 서비스되며, 이는 패킷이 전송되는 속도를 제어합니다. 인그레스 큐에서 SRR은 스택 링으로 패킷을 전송합니다. SRR은 모양과 공유라는 두 가지 모드로 작동할 수 있습니다. 인그레스 대기열의 경우 공유가 기본 모드이며, 지원되는 유일한 모드입니다. 공유 모드에서는 큐가 구성된 가중치에 따라 대역폭을 공유합니다. 대역폭은 이 수준에서 보장되지만 이에 국한되지 않습니다. 셰이핑 모드에서는 이그레스 큐가 대역폭의 백분율을 보장하며, 그 양만큼 속도가 제한됩니다. 셰이핑된 트래픽은 링크가 유휴 상태일 경우에도 할당된 대역폭보다 많은 대역폭을 사용하지 않습니다. 셰이핑은 시간이 지남에 따라 더 많은 트래픽 플로우를 제공하고 과부하 트래픽의 최고와 계곡을 줄입니다. 대기열 1은 우선순위 대기열로 구성할 수 있습니다.
Rack1SW1(config)#mls qos srr-queue output cos-map queue ?
<1-4> enter cos-map output queue id
Rack1SW1(config)#mls qos srr-queue output cos-map queue 1
threshold ? <1-3> enter cos-map threshold id
Rack1SW1(config)#mls qos srr-queue output cos-map queue 1
threshold 1 ? <0-7> 8 cos values separated by spaces
DSCP 값을 이그레스 대기열에 매핑하려면
Rack1SW1(config)#mls qos srr-queue output dscp-map queue ?
<1-4> enter dscp-map output queue id
Rack1SW1(config)#mls qos srr-queue output dscp-map queue 1
threshold ? <1-3> enter dscp-map threshold id
Rack1SW1(config)#mls qos srr-queue output dscp-map queue 1
threshold 1 ? <0-63> dscp values separated by spaces
(up to 8 values total)
큐 구성:
이그레스 대기열 컨피그레이션을 사용하면 두 개의 대기열 세트를 구성할 수 있습니다. 각 대기열 집합에는 4개의 이그레스 대기열에 대한 버퍼 크기 및 임계값을 구성하는 옵션이 있습니다. 그런 다음 대기열 세트 중 하나를 포트에 적용할 수 있습니다. 스위치에서 QoS를 활성화할 경우 기본적으로 큐 세트 1이 모든 포트에 할당됩니다.
Rack1SW1(config)#mls qos queue-set output ?
<1-2> queue-set id
Rack1SW1(config)#mls qos queue-set output 1 ?
buffers assign buffers to each egress queue
threshold Assign threshold values to a queue
4개의 모든 이그레스 대기열에 대한 버퍼 크기를 구성하려면
Rack1SW1(config)#mls qos queue-set output 1 buffers ?
<0-99> enter buffer percentage for queue 1 0-99
Rack1SW1(config)#mls qos queue-set output 1 buffers 10 ?
<1-100> enter buffer percentage for queue 2 1-100
(includes CPU buffer)
Rack1SW1(config)#mls qos queue-set output 1 buffers 10 20 ?
<0-99> enter buffer percentage for queue 3 0-99
Rack1SW1(config)#mls qos queue-set output 1 buffers 10 20 30 ?
<0-99> enter buffer percentage for queue 4 0-99
각 대기열에 대해 예약 및 최대 임계값 두 값을 구성하려면(임계값 3은 기본적으로 100%이며 변경할 수 없음)
Rack1SW1(config)#mls qos queue-set output 1 threshold ?
<1-4> enter queue id in this queue set
Rack1SW1(config)#mls qos queue-set output 1 threshold 1 ?
<1-400> enter drop threshold1 1-400
Rack1SW1(config)#mls qos queue-set output 1 threshold 1 50 ?
<1-400> enter drop threshold2 1-400
Rack1SW1(config)#mls qos queue-set output 1 threshold 1 50 60 ?
<1-100> enter reserved threshold 1-100
Rack1SW1(config)#mls qos queue-set output 1 threshold 1 50 60
100 ? <1-400> enter maximum threshold 1-400
인터페이스에 queue-set을 적용하려면(스위치에서 qos를 활성화할 때 기본적으로 queue set 1이 모든 포트에 할당됨)
Rack1SW1(config-if)#queue-set ?
<1-2> the qset to which this port is mapped
스케줄러 구성:
스위치 인터페이스에는 세 가지 컨피그레이션이 제공됩니다. 컨피그레이션은 대역폭 형태, 공유 및 제한입니다. 이그레스 대기열 1을 우선순위 대기열로 구성할 수도 있습니다. 우선 순위 큐가 활성화된 경우 SRR은 비어 있을 때까지 나머지 세 개의 큐에 서비스를 제공합니다. 그러나 인그레스 우선순위 대기열에서 SRR은 구성된 값을 가진 우선순위 큐를 제공합니다.
Rack1SW1(config-if)#srr-queue bandwidth ?
limit Configure bandwidth-limit for this interface
shape Configure shaping on transmit queues
share Configure shared bandwidth
Rack1SW1(config-if)#priority-queue ?
out egress priority queue
대역폭 제한 컨피그레이션:
Rack1SW1(config-if)#srr-queue bandwidth limit ?
<10-90> enter bandwidth limit for interface as percentage
대역폭 셰이프 구성:
Rack1SW1(config-if)#srr-queue bandwidth shape ?
<0-65535> enter bandwidth weight for queue id 1
Rack1SW1(config-if)#srr-queue bandwidth shape 10 ?
<0-65535> enter bandwidth weight for queue id 2
Rack1SW1(config-if)#srr-queue bandwidth shape 10 20 ?
<0-65535> enter bandwidth weight for queue id 3
Rack1SW1(config-if)#srr-queue bandwidth shape 10 20 30 ?
<0-65535> enter bandwidth weight for queue id 4
대역폭 공유 구성:
Rack1SW1(config-if)#srr-queue bandwidth share ?
<1-255> enter bandwidth weight for queue id 1
Rack1SW1(config-if)#srr-queue bandwidth share 10 ?
<1-255> enter bandwidth weight for queue id 2
Rack1SW1(config-if)#srr-queue bandwidth share 10 20 ?
<1-255> enter bandwidth weight for queue id 3
Rack1SW1(config-if)#srr-queue bandwidth share 10 20 30 ?
<1-255> enter bandwidth weight for queue id 4
우선 순위 큐가 활성화되지 않은 경우 4개의 대기열 모두 SRR에 참여합니다. 이 경우 첫 번째 대역폭 가중치가 무시되고 비율 계산에 사용되지 않습니다. 우선 순위 대기열은 다른 대기열이 서비스되기 전에 비어 있을 때까지 처리됩니다. priority-queue out interface 컨피그레이션 명령을 사용하여 우선순위 큐를 활성화합니다.
이그레스 대기열 기본 설정은 대부분의 상황에 적합합니다. 이그레스 대기열을 완전히 이해하고 이러한 설정이 QoS 솔루션을 충족하지 않는 경우에만 이를 변경해야 합니다.
큐 세트 2개가 구성되고 기본적으로 큐 세트 1이 모든 포트에 할당됩니다. 각 대기열은 총 버퍼 공간의 25%를 할당합니다. 각 대기열은 할당된 버퍼 공간의 50%로, 총 버퍼 공간의 12.5%입니다. 모든 예약된 버퍼의 합은 예약된 풀을 나타내며, 나머지 버퍼는 공통 풀의 일부입니다. 기본 컨피그레이션은 패킷이 삭제되기 전에 이 큐에서 가질 수 있는 최대 메모리로 400%를 설정합니다.
우선 순위 큐를 사용할 수 없습니다. 모양과 공유 모드가 모두 SRR에 대해 구성됩니다. 모양 모드 가중치는 공유 모드 값을 재정의합니다. 따라서 대기열 1은 셰이핑 모드로 서비스되고 대기열 2, 3 및 4는 공유 모드에서 서비스됩니다. 즉, 대기열 1은 대역폭의 절대 값(1/25) 또는 4%로 서비스됩니다. 대기열 2, 3, 4는 대역폭의 25%로 서비스됩니다. 대역폭이 사용 가능한 경우 대기열 2, 3, 4는 대역폭의 25% 이상에서 서비스될 수 있습니다.
Distribution1#show mls qos int gigabitEthernet 1/0/20 queueing
GigabitEthernet1/0/20
Egress Priority Queue : disabled
Shaped queue weights (absolute) : 25 0 0 0
Shared queue weights : 25 25 25 25
The port bandwidth limit : 100 (Operational Bandwidth:100.0)
The port is mapped to qset : 1
Rack1SW3(config)#int fa 1/0/11
Rack1SW3(config-if)#queue-set 2
인터페이스 1/0/11은 대기열 세트 2와 함께 적용됩니다.
Rack1SW3(config-if)#do show mls qos int fa 1/0/10 buffers
FastEthernet1/0/10
The port is mapped to qset : 1
The allocations between the queues are : 10 10 26 54
Rack1SW3(config-if)#do show mls qos int fa 1/0/11 buffers
FastEthernet1/0/11
The port is mapped to qset : 2
The allocations between the queues are : 16 6 17 61
이 명령을 구성하면 SRR에 참여하는 대기열이 한 개 더 적기 때문에 SRR 가중치 및 대기열 크기 비율이 영향을 받습니다. 즉, srr-queue 대역폭 셰이프 또는 srr-queue 대역폭 공유 명령의 weight1은 무시됩니다(비율 계산에서는 사용되지 않음).
이 명령은 특정 대기열에서 삭제를 확인하는 명령입니다.
1단계:
1/ #show platform pm if-numbers
show platform pm if-numbers 명령을 사용하고 인터페이스에 해당하는 포트 정보를 확인합니다(3750의 발신 인터페이스). 예를 들어 fas 0/3은 포트 0/4가 됩니다. 포트 값으로 4를 유지합니다. 첫 번째 값이 0이 아니면 포트 번호 뒤에 asic 번호를 지정합니다.
인터페이스 fa 0/3에 해당하는 포트 값은 0/4입니다. 이제 show platform port-asic stats drop port 4 명령을 사용하여 인터페이스 fa 0/3의 대기열 삭제를 볼 수 있습니다.
2/ #show platform port-asic stats drop port 4
Port-asic Port Drop Statistics - Summary
========================================
RxQueue 0 Drop Stats: 0
RxQueue 1 Drop Stats: 0
RxQueue 2 Drop Stats: 0
RxQueue 3 Drop Stats: 0
...
Port 4 TxQueue Drop Statistics
Queue 0
Weight 0 Frames 0
Weight 1 Frames 0
Weight 2 Frames 0
Queue 1
Weight 0 Frames 0
Weight 1 Frames 2755160 <--- Here is an example of drops
Weight 2 Frames 0
Queue 2
Weight 0 Frames 0
Weight 1 Frames 0
Weight 2 Frames 0
Queue 3
Weight 0 Frames 0
Weight 1 Frames 0
Weight 2 Frames 8
2단계:
대역폭 제한 컨피그레이션:
포트의 최대 출력을 제한하려면 srr-queue bandwidth limit interface configuration 명령을 구성합니다. 이 명령을 80%로 구성하면 포트가 시간의 20% 유휴 상태가 됩니다. 회선 속도는 연결된 속도의 80%로 감소합니다. 하드웨어가 라인 속도를 6개 단위로 조절하므로 이러한 값은 정확하지 않습니다. 10기가비트 이더넷 인터페이스에서는 이 명령을 사용할 수 없습니다.
srr-queue bandwidth limit weight1
여기서 weight1은 포트를 제한해야 하는 포트 속도의 백분율입니다. 범위는 10~90입니다.
참고: 이그레스 대기열 기본 설정은 대부분의 상황에 적합합니다. 이그레스 큐를 철저히 이해하고 이러한 설정이 QoS(Quality of Service) 솔루션에 맞지 않는 경우에만 이를 변경해야 합니다.