본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 분류, 마킹, 폴리싱, 큐잉 및 스케줄링과 같은 Catalyst 3750 스위치 QoS 기능에 대해 설명합니다.
Cisco에서는 다음 항목에 대해 알고 있는 것이 좋습니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
Cisco Catalyst 3750 스위치
Cisco IOS® 소프트웨어 릴리스 12.2(35)SE2
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
QoS를 사용하면 특정 유형의 트래픽에 대해 다른 트래픽의 희생을 감수하면서 특혜를 줄 수 있습니다. QoS 레이블을 사용하여 트래픽을 차별화할 수 있습니다. 레이어 3 IP 헤더에서 가장 일반적으로 사용되는 두 가지 QoS 레이블은 IP precedence 필드와 DSCP 필드입니다. 레이어 2 프레임 헤더의 QoS 레이블을 CoS(Class of Service)라고 합니다. Catalyst 스위치 QoS 툴은 Layer 3 QoS 레이블 또는 Layer 2 QoS 레이블 중 하나를 기준으로 우대 조치를 제공할 수 있습니다. 이 문서에서는 Cisco Catalyst 스위치에서 레이어 2 및 레이어 3 QoS 라벨을 사용하는 방법을 설명하는 다양한 예를 제공합니다.
Catalyst 3750 스위치에서는 기본적으로 QoS가 비활성화되어 있습니다. 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.
3750 스위치에서 QoS가 활성화되면 기본적으로 인그레스 및 이그레스 QoS 기능이 거의 활성화되지 않습니다. 이 다이어그램에는 스위치의 QoS 아키텍처에 대한 대략적인 보기가 나와 있습니다.
다음은 다이어그램을 기반으로 하는 요점을 요약한 것입니다.
포트 단위로 분류, 마킹 및 폴리싱과 같은 인그레스 QoS 기능을 구성할 수 있습니다.
입력 맵 테이블 및 인그레스 대기열 처리는 전역으로 구성할 수 있습니다. 포트 단위로 구성할 수 없습니다.
인그레스 대기열에 대한 SRR을 전역으로 구성할 수 있습니다.
스택 링 대역폭은 스택 케이블링에 따라 다릅니다. 스택이 최대 대역폭으로 연결된 경우 32Gbps 대역폭을 수신합니다. 이 대역폭은 스택의 모든 스위치에서 공유됩니다.
출력 맵 테이블 및 이그레스 큐는 전역으로 구성됩니다. 대기열 컨피그레이션의 두 세트를 가질 수 있으며, 대기열 세트 컨피그레이션 중 하나를 포트에 적용할 수 있습니다.
이그레스 대기열용 SRR은 포트별로 구성할 수 있습니다.
이 섹션에서는 다양한 인그레스 QoS 컨피그레이션의 개념에 대해 설명합니다. 이 절에서는 다음 항목에 대해 설명합니다.
이는 QoS가 활성화된 후 스위치가 기본적으로 프레임을 처리하는 방식입니다.
프레임이 스위치 포트에 들어가고 프레임에 태그가 지정되지 않습니다. 즉, 포트가 액세스 포트이고 프레임이 스위치에 들어가면서 ISL 또는 dot1q 캡슐화가 이루어지지 않습니다.
스위치는 dot1q로 프레임을 캡슐화합니다(모든 새 스위치에서 dot1q가 기본값이므로 ISL은 무시함).
dot1q 프레임 태그 내부에는 CoS라고도 하는 802.1p 우선 순위 비트라는 세 개의 비트가 있습니다. 이 비트는 0으로 설정됩니다.
그런 다음 스위치는 CoS-DSCP 맵 테이블을 기반으로 DSCP 값을 계산합니다. 테이블에 따라 스위치는 DSCP 값을 0으로 설정합니다. DSCP 값은 패킷의 IP 헤더에 있습니다.
요약하면, 스위치에서 QoS가 활성화된 경우 프레임의 CoS 및 DSCP 값은 기본적으로 0으로 설정된 스위치를 입력합니다.
라우터와 달리 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 cosc 명령을 구성했습니다. service-policy input <policy-map-name> 명령으로 포트를 구성할 때 mls qos trust cos 명령을 자동으로 제거합니다.
Classification and Marking - Port Based 섹션에서는 포트 기반 구성에 대해 설명합니다.
Classification and Marking - MQC Basedsection에서는 MQC 기반 분류에 대해 설명합니다.
이 섹션에서는 인터페이스별 컨피그레이션을 기반으로 하는 분류에 대해 설명합니다. 섹션 제목 분류 및 마킹에 대해 의문이 제기될 수 있습니다. 이는 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 cos <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 맵 테이블에는 CoS 값 0에 대한 DSCP 값이 0이므로 CoS-DSCP 맵 테이블이 프레임 내의 패킷의 DSCP 값을 0으로 설정합니다. PC의 패킷에 특정 DSCP 값이 있는 경우 해당 값을 0으로 재설정할 수 있습니다. 포트에서 mqos cos 3 명령을 구성할 경우 Co를 설정합니다 PC에서 모든 프레임의 S 값은 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 값을 계산하고 설정합니다.
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust dscp spanning-tree portfast end
첫 번째 방법은 모든 PC 트래픽 QoS 레이블을 신뢰하는 것이 권장되지 않기 때문에 권장되는 방법입니다.
QoS가 활성화되면 맵 테이블이 기본값으로 생성되고 활성화됩니다.
Distribution1#show mls qos maps cos-dscp Cos-dscp map: cos: 0 1 2 3 4 5 6 7 -------------------------------- dscp: 0 8 16 24 32 40 48 56 Distribution1#show mls qos maps dscp-cos Dscp-cos map: d1 : d2 0 1 2 3 4 5 6 7 8 9 --------------------------------------- 0 : 00 00 00 00 00 00 00 00 01 01 1 : 01 01 01 01 01 01 02 02 02 02 2 : 02 02 02 02 03 03 03 03 03 03 3 : 03 03 04 04 04 04 04 04 04 04 4 : 05 05 05 05 05 05 05 05 06 06 5 : 06 06 06 06 06 06 07 07 07 07 6 : 07 07 07 07
예 1: 포트가 CoS를 신뢰하도록 구성된 경우 모든 수신 CoS 값이 신뢰되며 CoS-DSCP 테이블에 따라 DSCP 값이 다시 표시됩니다. 기본 CoS-DSCP 컨피그레이션에 따라 다음 그림과 같이 값이 매핑됩니다.
CoS | DSCP(10진수) | 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-DSCP 맵 테이블을 구성하여 CoS 5에 해당하는 DSCP 값 EF를 변경할 수 있습니다.
Distribution1(config)#mls qos map cos-dscp 0 8 16 24 32 46 48 56 !--- DSCP 46 is EF
이 컨피그레이션 후에는 다음 그림과 같이 값이 매핑됩니다.
CoS | DSCP(10진수) | 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(10진수) | 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(10진수) | 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에서 다른 모든 트래픽의 신뢰를 해제합니다.
이 다이어그램은 policy-map이 인터페이스의 입력에 연결되어 있음을 보여줍니다. 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:
클래스 A에 대한 IP 전화 트래픽을 분류합니다. IP 전화는 음성 VLAN에 속하며 192.168.100.0 서브넷에 IP 주소가 있습니다.
데이터베이스 애플리케이션 트래픽을 클래스 B로 분류합니다. 포트 번호가 1521, 1810, 2481, 7778인 목적지로 향하는 PC 트래픽(실제로 컨피그레이션에 따른 모든 트래픽)은 Class-B 클래스 맵으로 분류됩니다.
섹션 B:
Class-A와 일치하는 트래픽은 CoS 레이블을 신뢰하도록 구성됩니다. 즉, IP 전화의 모든 트래픽에 대한 CoS 값이 신뢰됩니다. 다이어그램에 표시된 대로 DSCP 값은 Class-A 트래픽에 대한 CoS-DSCP 맵 테이블에서 파생됩니다.
트래픽 일치 클래스 B는 DSCP 값을 AF21로 설정하도록 구성됩니다. 다이어그램에 표시된 것처럼 DCoS 값은 클래스 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 동작입니다. PHB 작업을 설정 또는 트러스트로 구성할 수 있습니다. 하나의 정책 맵 클래스에서 두 작업을 모두 구성할 수는 없습니다. 그러나 하나의 클래스에서 set을 구성하고 동일한 정책 맵에서 다른 클래스에서 trusti를 구성할 수 있습니다.
Police 명령은 Policing PHB 작업입니다. 이에 대해서는 다음 섹션에서 자세히 설명합니다.
Cisco Catalyst 3750 스위치에서는 쉐이핑이 지원되지 않습니다. Cisco Catalyst 3750 스위치에서는 대기 및 혼잡 회피가 지원되지만 MQC를 사용하여 구성할 수 없습니다. 대기 및 혼잡 방지 구성에 대해서는 이 문서의 뒷부분에서 자세히 설명합니다.
섹션 C:
policy-map은 인터페이스의 입력에만 적용할 수 있습니다. 출력 인터페이스에 적용하면 다음 오류 메시지가 표시됩니다.
Distribution1(config)#interface gigabitethernet 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)#interface gigabitethernet 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-based 명령만 대체하는 것을 확인할 수 있습니다. mls qos cos 또는 mls qos dscp-mutation 명령과 같은 다른 명령은 변경하지 않습니다. 요약하면, QoS 분류 명령을 대체하며 QoS 마킹 명령을 대체하지는 않습니다.
정책 맵에는 클래스 맵이 두 개만 표시됩니다. 클래스 A는 IP 전화 트래픽과 일치하고 클래스 B는 PC의 데이터베이스 애플리케이션 트래픽과 일치합니다. 다른 모든 PC 트래픽(access-list에 정의된 데이터베이스 애플리케이션 제외)은 정책 맵의 class-default 클래스 아래에 분류됩니다. 이는 정책 맵에 연결된 정의된 클래스 맵과 일치하지 않는 트래픽을 catch-all 트래픽입니다. 따라서 class-default에 속하는 이 트래픽은 포트에서 신뢰되지 않으며 이러한 패킷은 기본 CoS 및 DSCP 레이블을 0으로 설정합니다. 기본 CoS 또는 DSCP 값을 이 class-default 트래픽으로 설정하도록 구성할 수 있습니다.
MQC를 사용하여 기본 DSCP 값을 설정할 수 있습니다. CoS 값은 DSCP-CoS 맵 테이블에서 파생됩니다.
Distribution1(config)#policy-map sample-policy1 Distribution1(config-pmap)#class class-default Distribution1(config-pmap-c)#set dscp af13 Distribution1(config-pmap-c)#exit
여기에 표시된 대로 기본 CoS 값을 설정할 수 있습니다. DSCP 값은 CoS-DSCP 맵 테이블에서 파생됩니다.
Distribution1(config)#interface gigabitethernet 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
Highest Priority를 Traffic으로 설정
이 예에서는 컨피그레이션이 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의 트래픽에는 DSCP 값인 CS4를 할당해야 합니다.
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
관련 인터페이스에서 적용합니다.
Switch(config)#interfaceSwitch(config-if)#service-policy
Cisco Catalyst 3750 스위치에서는 인그레스 포트에서만 폴리싱을 구성할 수 있습니다. 폴리싱은 MQC를 통해서만 구성할 수 있습니다. 즉, 트래픽을 폴리싱하기 위한 인터페이스 특정 명령이 없습니다. 정책 맵에서 폴리싱을 구성하고 service-policy input <policy-name> 명령만 사용하여 정책 맵을 적용할 수 있습니다. 인터페이스의 출력 측에 정책 맵을 적용할 수 없습니다.
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.
이 섹션에서는 다음 항목에 대해 설명합니다.
이 섹션에서는 과도한 트래픽을 삭제하는 폴리싱 구성에 대해 설명합니다. 폴리싱은 수신 트래픽을 측정하고 구성된 bits per second에 대한 수신 속도를 유지합니다. Cisco Catalyst 3750 스위치는 단일 속도, 단일 버킷 폴리싱만 지원합니다. 즉, 스위치 미터가 단 하나의 속도로 작동하며 트래픽을 두 가지 색상으로 프로파일링하여 작업을 순응하고 초과할 수 있습니다. 다이어그램은 3개의 클래스 맵이 포함된 policy-map sample-policy2를 보여줍니다.
이 예의 요구 사항은 다음과 같습니다.
Police 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
정책 맵의 컨피그레이션은 여기에서 설명합니다.
Class-A: Class A와 일치하는 트래픽은 10Mbps 속도로 폴리싱됩니다. 클래스 A 트래픽의 QoS 라벨은 신뢰할 수 없습니다. CoS 및 DSCP 값은 0으로 표시됩니다. 과도한 패킷은 폴리서에 의해 삭제됩니다.
Class-B:Class B와 일치하는 트래픽에 대해 수행되는 두 가지 PHB 작업이 있습니다. 하나는 신뢰이고 다른 하나는 치안활동입니다. 클래스 B 트래픽에 대한 DSCP 값을 신뢰할 수 있습니다. CoS 값은 DSCP-CoS 테이블에서 파생될 수 있습니다. 그런 다음 클래스 B 트래픽은 256Kbps의 속도로 폴리싱됩니다. 과도한 패킷은 폴리서에 의해 삭제됩니다.
Class-C:클래스 B와 일치하는 트래픽에 대해 수행되는 두 가지 PHB 작업이 있습니다. 하나는 표시를 하는 것이고, 다른 하나는 감시를 하는 것입니다. 클래스 C와 일치하는 수신 패킷은 DSCP 값 CS2로 표시되고 CoS 값은 DSCP-CoS 테이블(2임)에서 파생됩니다. 그런 다음 클래스 C 트래픽은 25Mbps 속도로 폴리싱됩니다. 과도한 패킷은 폴리서에 의해 삭제됩니다.
이 섹션에서는 과도한 트래픽을 표시하고 전송하는 폴리싱 구성에 대해 설명합니다. 이 다이어그램은 두 개의 클래스 맵이 포함된 policy-map sample-policy3을 보여줍니다.
스위치에서는 policed-DSCP 맵 테이블 값에 따라 구성된 폴리싱 속도를 초과하는 트래픽을 표시합니다. policed-DSCP 맵은 폴리싱 컨피그레이션에 구성된 경우에만 사용됩니다. 기본 policed-DSCP 맵 테이블은 다음과 같습니다.
Distribution1(config)#do show mls qos map policed-dscp Policed-dscp map: d1 : d2 0 1 2 3 4 5 6 7 8 9 --------------------------------------- 0 : 00 01 02 03 04 05 06 07 08 09 1 : 10 11 12 13 14 15 16 17 18 19 2 : 20 21 22 23 24 25 26 27 28 29 3 : 30 31 32 33 34 35 36 37 38 39 4 : 40 41 42 43 44 45 46 47 48 49 5 : 50 51 52 53 54 55 56 57 58 59 6 : 60 61 62 63
이 표에서 동일한 DSCP 값이 일치하는 것을 확인할 수 있습니다. 예를 들어 DSCP 34는 DSCP 34에 매핑됩니다. 폴리서 속도를 따르는 트래픽은 DSCP 값을 변경하지 않고 전송됩니다. 폴리서 속도를 초과하는 트래픽은 다른 DSCP 값으로 전송될 수 있습니다. 예를 들어, 삭제될 확률이 더 높은 DSCP 값으로 표시할 수 있습니다.
기본 policed-DSCP 값을 사용하는 경우 폴리싱을 사용하는 것은 적합하지 않습니다. 예를 들어, 10Mbps 속도로 트래픽을 폴리싱하도록 구성했습니다. 들어오는 패킷의 DSCP 값은 CS4입니다. 기본 DSCP 값을 유지하면 10Mbps를 따르는 트래픽은 DSCP 값 CS2로 전송됩니다. 또한 10Mbps를 초과하는 트래픽은 DSCP 값 CS2로 전송됩니다. 폴리싱된 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
정책 맵의 컨피그레이션은 여기에서 설명합니다.
Policed-DSCP:policed-DSCP 맵 테이블에 수정된 값이 3개 있습니다.
EF - AF31
CS3에서 AF13으로
CS2 - AF11
처음 두 값은 Class-A 및 Class-B 클래스 맵에서 분류된 트래픽 유형에 따라 수정됩니다.
Class-A: 소프트폰의 음성 페이로드와 음성 제어는 Class-A 클래스 맵에서 분류됩니다. 음성 페이로드 트래픽의 DSCP 값은 EF이고 음성 컨트롤의 DSCP 값은 CS3입니다. 정책 맵 컨피그레이션에 따라 이러한 DSCP 값을 신뢰할 수 있습니다. 트래픽은 256Kbps의 속도로 폴리싱됩니다. 이 속도를 따르는 트래픽은 수신 DSCP 값으로 전송할 수 있습니다. 이 속도를 초과하는 트래픽은 폴리싱된 DSCP 테이블에서 다시 마킹하여 전송할 수 있습니다. 폴리싱된 DSCP 테이블은 구성된 값에 따라 EF를 AF31로, CS3를 AF13으로 나타낼 수 있습니다. 그런 다음 해당 CoS 값을 DSCP-CoS 테이블에서 파생시킬 수 있습니다.
Class-B: Class-B와 일치하는 수신 패킷은 DSCP 값인 CS2로 표시됩니다. Class-B 트래픽은 25Mbps 속도로 폴리싱됩니다. 이 속도를 따르는 트래픽은 DSCP 값 2로 전송할 수 있으며 CoS 값은 DSCP-CoS 테이블(2임)에서 파생됩니다. 이 속도를 초과하는 트래픽은 폴리싱된 DSCP 테이블에서 다시 마킹하여 전송할 수 있습니다. 폴리싱된 DSCP 테이블은 구성된 값에 따라 EF를 AF31로, CS3를 AF13으로 나타낼 수 있습니다. 그런 다음 해당 CoS 값을 DSCP-CoS 테이블에서 파생시킬 수 있습니다.
혼잡 관리 및 회피는 3단계 프로세스입니다. 이 단계는 대기, 삭제 및 예약입니다. 큐잉은 QoS 레이블에 따라 패킷을 다른 소프트웨어 대기열에 배치합니다. Cisco Catalyst 3750 스위치에는 2개의 인그레스 큐가 있습니다. 트래픽이 분류되고 QoS 레이블로 표시된 후 QoS 레이블을 기반으로 두 개의 서로 다른 대기열에 트래픽을 할당할 수 있습니다.
WTD(Weighted Tail Drop)는 대기열 길이를 관리하고 여러 트래픽 분류에 대한 삭제 선행 조건을 제공하는 데 사용됩니다.
인그레스 및 이그레스 대기열 모두 SRR에 의해 서비스되며, 이는 패킷이 전송되는 속도를 제어합니다. 인그레스 대기열에서 SRR은 패킷을 스택 링으로 전송합니다. SRR은 셰이핑과 공유라는 두 가지 모드로 작동할 수 있습니다. 인그레스 대기열의 경우 공유가 기본 모드이며 지원되는 유일한 모드입니다. 공유 모드에서는 구성된 가중치에 따라 큐가 서로 대역폭을 공유합니다. 대역폭은 이 수준에서 보장되지만 이에 국한되지는 않습니다.
이 섹션에서는 세 가지 컨피그레이션 유형에 대해 설명합니다.
이를 구성하는 데 사용할 수 있는 명령은 다음과 같습니다.
Distribution1(config)#mls qos srr-queue input ? !--- Queueing buffers Configure buffer allocation cos-map Configure cos-map for a queue id dscp-map Configure dscp-map for a queue id !--- Scheduling bandwidth Configure SRR bandwidth priority-queue Configure priority scheduling !--- Dropping threshold Configure queue tail-drop thresholds
이 출력은 대기열 매핑에 대한 기본 QoS 레이블을 표시합니다. 각 대기열은 세 가지 임계값 레벨을 지원할 수 있습니다. 기본적으로 각 대기열 지원에는 100%인 하나의 임계값만 있습니다.
기본 대기열 맵 컨피그레이션:
CoS 5(DSCP 40~47)의 패킷은 큐 2에 배치되고, 남은 패킷은 큐 1에 배치됩니다.
Distribution1#show mls qos maps cos-input-q Cos-inputq-threshold map: cos: 0 1 2 3 4 5 6 7 ------------------------------------ queue-threshold: 1-1 1-1 1-1 1-1 1-1 2-1 1-1 1-1 Distribution1#show mls qos maps dscp-input-q Dscp-inputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 1 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 2 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 3 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 4 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 01-01 01-01 5 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 6 : 01-01 01-01 01-01 01-01
이 테이블은 입력 대기열 매핑에 대한 기본 CoS/DSCP를 나타냅니다.
CoS | DSCP | 인그레스 대기열 |
---|---|---|
0 | 0~7 | 1 |
1 | 8~15 | 1 |
2 | 16~23 | 1 |
3 | 24~31 | 1 |
4 | 32~39 | 1 |
5 | 40~47 | 2 |
6 | 48~55 | 1 |
7 | 56~63 | 1 |
기본 큐 구성:
인그레스 대기열 버퍼는 대기열 1에서 90%, 대기열 2에서 10% 공유됩니다. 임계값 레벨 1, 2 및 3은 100%입니다.
Distribution1#show mls qos input-queue Queue : 1 2 ---------------------------------------------- buffers : 90 10 bandwidth : 4 4 priority : 0 10 threshold1: 100 100 threshold2: 100 100
기본 스케줄러 구성:
대기열 2가 우선순위 대기열입니다. SRR은 10%인 구성된 가중치에 대한 우선순위 대기열을 서비스합니다. 그런 다음 SRR은 나머지 대역폭(90%)을 인그레스 대기열과 공유하고 구성된 가중치에 지정된 대로 서비스합니다. 이 경우 대기열 1과 대기열 2는 각각 45%의 속도로 서비스됩니다.
Distribution1#show mls qos input-queue Queue : 1 2 ---------------------------------------------- buffers : 90 10 bandwidth : 4 4 priority : 0 10 threshold1: 100 100 threshold2: 100 100
큐잉 및 스케줄링을 구성하는 세 가지 단계는 다음과 같습니다. 단계는 다음과 같습니다.
큐 맵 컨피그레이션:
대기열 맵 컨피그레이션은 DSCP 또는 CoS 값을 기반으로 패킷을 두 인그레스 대기열에 매핑합니다.
대기열 구성:
대기열 컨피그레이션은 두 대기열 간에 인그레스 버퍼를 나눌 비율(공간 할당)을 정의합니다.
스케줄러 구성:
SRR은 큐에서 스택 링까지의 패킷 디큐잉 빈도를 제어하는 가중치의 비율을 구성합니다.
큐 및 스케줄러 컨피그레이션은 패킷이 삭제되기 전에 버퍼링할 수 있는 데이터 양을 제어합니다.
이 섹션에서는 WTD 삭제 레벨이 구성되지 않습니다. 즉, 큐가 100%인 경우 패킷을 삭제할 수 있습니다.
큐 맵 컨피그레이션:
먼저 CoS 값이 대기열에 매핑됩니다. 이 섹션에서는 임계값을 구성하지 않습니다.
!--- Assign the frames into the queue based on the CoS value. Distribution1(config)#mls qos srr-queue input cos-map queue 1 0 1 Distribution1(config)#mls qos srr-queue input cos-map queue 2 2 3 4 5 6 7 !--- Show output. Distribution1#show mls qos maps cos-input-q Cos-inputq-threshold map: cos: 0 1 2 3 4 5 6 7 ------------------------------------ queue-threshold: 1-1 1-1 2-1 2-1 2-1 2-1 2-1 2-1 Distribution1#show mls qos maps dscp-input-q Dscp-inputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 1 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 2 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 3 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 4 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 01-01 01-01 5 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 6 : 01-01 01-01 01-01 01-01
Cos-inputq-threshold 및 Dscp-inputq-threshold 맵에서 충돌을 확인할 수 있습니다. 예를 들어, CoS 3은 Cos-inputq-threshold 테이블의 대기열 2에 매핑됩니다. 그러나 DSCP 값 24(CoS 3에 해당)는 Dscp-inputq-threshold 맵의 대기열 1에 매핑됩니다. 실제로 Dscp-inputq-threshold 맵은 Cos-inputq-threshold 맵을 재정의합니다. 이러한 매핑은 예측 가능한 동작을 보장하고 문제 해결을 간소화하기 위해 가능한 한 일관성이 있어야 합니다. 따라서 Dscp-inputq-threshold 맵이 Cos-inputq-threshold 맵과 동기화되도록 구성됩니다.
!--- Assign the frames into the queue based on the DSCP value. Distribution1(config)#mls qos srr-queue input dscp-map queue 2 16 17 18 19 20 21 22 23 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 24 25 26 27 28 29 30 31 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 32 33 34 35 36 37 38 39 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 48 49 50 51 52 53 54 55 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 56 57 58 59 60 61 62 63 Distribution1#show mls qos maps dscp-input-q Dscp-inputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 1 : 01-01 01-01 01-01 01-01 01-01 01-01 02-01 02-01 02-01 02-01 2 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 3 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 4 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 5 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 6 : 02-01 02-01 02-01 02-01
대기열 구성:
Cisco IOS는 QoS가 활성화된 후 버퍼의 기본 공간을 인그레스 패킷을 대기열에 할당합니다. 인그레스 대기열 queue1과 queue2 모두 이 버퍼 공간을 공유합니다. Catalyst 3750 스위치에서 각 큐에서 사용할 수 있는 버퍼 공간의 비율을 구성할 수 있습니다. 인그레스 대기열에 사용 가능한 총 메모리의 67%는 대기열 1에 할당되고 33%는 대기열 2에 할당됩니다.
Distribution1(config)#mls qos srr-queue input buffers 67 33 Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 67 33 bandwidth : 4 4 priority : 0 10 threshold1: 100 100 threshold2: 100 100
스케줄러 구성:
이 컨피그레이션은 ls qos srr-queue input bandwidth 명령으로 수행됩니다. 여기서, 이 대역폭은 큐들 상의 SRR에 의해 서비스되는 비트들의 양을 나타낸다.
Distribution1(config)#mls qos srr-queue input bandwidth 90 10 Distribution1(config)#mls qos srr-queue input priority-queue 2 bandwidth 20 Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 67 33 bandwidth : 90 10 priority : 0 20 threshold1: 100 100 threshold2: 100 100
기본적으로 대기열 2는 우선순위 대기열이며 총 내부 링 대역폭의 10%가 우선순위 대기열에 할당됩니다. 대기열 1을 우선순위 대기열로 구성할 수도 있습니다. 그러나 두 대기열을 모두 우선순위 대기열로 구성할 수는 없습니다.
링의 대역폭이 10Gbps인 경우 SRR은 10Gbps의 20%를 대기열 2에 먼저 서비스하며 2Gbps입니다. 나머지 8Gbps 링 대역폭은 대기열 1과 대기열 2에서 공유됩니다. 컨피그레이션에 따라 대기열 1은 8Gbps의 90% 처리되고 대기열 2는 다시 8Gbps의 10% 처리됩니다. 이 8Gbps 대역폭은 공유 모드에서 SRR에 의해 서비스됩니다. 이는 구성된 대역폭의 비율이 보장되지만 그에 국한되지는 않는다는 것을 의미합니다.
참고: mls qos srr-queue input priority-queue 2 bandwidth 0 명령을 사용하여 우선순위 큐를 비활성화할 수 있습니다.
Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 90 10 bandwidth : 90 10 priority : 0 0 threshold1: 100 100 threshold2: 100 100 Distribution1(config)#
이 섹션에서는 대기열 버퍼 크기 외에 WTD 임계값 레벨도 구성합니다. 스위치를 통과하는 각 패킷을 대기열과 임계값에 할당할 수 있습니다.
다음은 컨피그레이션의 예제와 설명입니다.
큐 맵 컨피그레이션:
먼저 CoS 값이 대기열에 매핑됩니다.
!--- Assign the frames into the queue based on the CoS value. Distribution1(config)#mls qos srr-queue input cos-map queue 1 threshold 2 1 Distribution1(config)#mls qos srr-queue input cos-map queue 1 threshold 3 0 Distribution1(config)#mls qos srr-queue input cos-map queue 2 threshold 1 2 Distribution1(config)#mls qos srr-queue input cos-map queue 2 threshold 2 4 6 7 Distribution1(config)#mls qos srr-queue input cos-map queue 2 threshold 3 3 5 !--- Show output. Distribution1(config)#do show mls qos maps cos-input-q Cos-inputq-threshold map: cos: 0 1 2 3 4 5 6 7 ------------------------------------ queue-threshold: 1-3 1-2 2-1 2-3 2-2 2-3 2-2 2-2 Distribution1(config)#do show mls qos maps dscp-input-q Dscp-inputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 1 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 2 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 3 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 4 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 01-01 01-01 5 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 6 : 01-01 01-01 01-01 01-01
Cos-inputq-threshold 및 Dscp-inputq-threshold 맵에서 충돌을 확인할 수 있습니다. 예를 들어 CoS 3은 Cos-inputq-threshold 테이블의 대기열 2에 매핑되지만 DSCP 값 24(CoS 3에 해당)는 Dscp-inputq-threshold 맵의 대기열 1에 매핑됩니다. 실제로 Dscp-inputq-threshold 맵은 Cos-inputq-threshold 맵을 재정의합니다. 이러한 매핑은 예측 가능한 동작을 보장하고 문제 해결을 간소화하기 위해 가능한 한 일관성이 있어야 합니다. 따라서 Dscp-inputq-threshold 맵이 Cos-inputq-threshold 맵과 동기화되도록 구성됩니다.
!--- Assign the frames into the queue based on the DSCP value. Distribution1(config)#mls qos srr-queue input dscp-map queue 1 threshold 2 9 10 11 12 13 14 15 Distribution1(config)#mls qos srr-queue input dscp-map queue 1 threshold 3 0 1 2 3 4 5 6 7 Distribution1(config)#mls qos srr-queue input dscp-map queue 1 threshold 3 32 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 threshold 1 16 17 18 19 20 21 22 23 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 threshold 2 33 34 35 36 37 38 39 48 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 threshold 2 49 50 51 52 53 54 55 56 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 threshold 2 57 58 59 60 61 62 63 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 threshold 3 24 25 26 27 28 29 30 31 Distribution1(config)#do show mls qos maps dscp-input-q Dscp-inputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 01-03 01-03 01-03 01-03 01-03 01-03 01-03 01-03 01-01 01-02 1 : 01-02 01-02 01-02 01-02 01-02 01-02 02-01 02-01 02-01 02-01 2 : 02-01 02-01 02-01 02-01 02-03 02-03 02-03 02-03 02-03 02-03 3 : 02-03 02-03 01-03 02-02 02-02 02-02 02-02 02-02 02-02 02-02 4 : 02-03 02-03 02-03 02-03 02-03 02-03 02-03 02-03 02-02 02-02 5 : 02-02 02-02 02-02 02-02 02-02 02-02 02-02 02-02 02-02 02-02 6 : 02-02 02-02 02-02 02-02
대기열 구성:
기본적으로 임계값 3은 100%이며 변경할 수 없습니다.
Distribution1(config)#mls qos srr-queue input buffers 67 33 Distribution1(config)#mls qos srr-queue input threshold 1 8 16 Distribution1(config)#mls qos srr-queue input threshold 2 34 66 Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 67 33 bandwidth : 4 4 priority : 0 10 threshold1: 8 34 threshold2: 16 66
스케줄러 구성:
Cisco IOS는 QoS가 활성화된 후 각 인그레스 포트에 대한 버퍼의 기본 공간을 할당합니다. 두 대기열 모두 이 버퍼 공간을 공유합니다. Catalyst 3560/3750 스위치에서 각 큐에서 사용할 수 있는 버퍼 공간의 비율을 구성할 수 있습니다.
Distribution1(config)#mls qos srr-queue input bandwidth 90 10 Distribution1(config)#mls qos srr-queue input priority-queue 2 bandwidth 20 Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 67 33 bandwidth : 90 10 priority : 0 20 threshold1: 8 34 threshold2: 16 66
기본적으로 대기열 2는 우선순위 대기열이며 총 내부 링 대역폭의 10%가 우선순위 대기열에 할당됩니다. 대기열 1을 우선순위 대기열로 구성할 수도 있습니다. 그러나 두 대기열을 모두 우선순위 대기열로 구성할 수는 없습니다.
링의 대역폭이 10Gbps인 경우 SRR은 10Gbps의 20%를 대기열 2에 먼저 서비스하며 2Gbps입니다. 나머지 8Gbps 링 대역폭은 대기열 1과 대기열 2에서 공유됩니다. 컨피그레이션에 따라 대기열 1은 8Gbps의 90% 처리되고 대기열 2는 다시 8Gbps의 10% 처리됩니다. 이 8Gbps 대역폭은 공유 모드에서 SRR에 의해 서비스됩니다. 이는 구성된 대역폭의 비율이 보장되지만 그에 국한되지는 않는다는 것을 의미합니다.
참고: mls qos srr-queue input priority-queue 2 bandwidth 0 명령을 사용하여 우선순위 큐를 비활성화할 수 있습니다.
Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 90 10 bandwidth : 90 10 priority : 0 0 threshold1: 100 100 threshold2: 100 100 Distribution1(config)#
혼잡 관리 및 회피 기능은 Cisco Catalyst 3750 스위치에서 지원하는 이그레스 QoS 기능입니다. 혼잡 관리 및 회피는 3단계 프로세스입니다. 이 단계는 대기, 삭제 및 예약입니다.
큐잉은 QoS 레이블에 따라 패킷을 다른 소프트웨어 대기열에 배치합니다. Cisco Catalyst 3750 스위치에는 4개의 이그레스 대기열, 대기열당 3개의 임계값이 있습니다. 트래픽이 분류되고 QoS 레이블로 표시된 후에는 QoS 레이블을 기준으로 4개의 서로 다른 대기열에 트래픽을 할당할 수 있습니다.
각 대기열은 버퍼 크기, 예약된 임계값, 임계값 레벨 및 최대 임계값으로 구성할 수 있습니다. WTD(Weighted Tail Drop)는 대기열 길이를 관리하고 여러 트래픽 분류에 대한 삭제 선행 조건을 제공하는 데 사용됩니다. 인그레스 대기열 매개변수는 전역으로 구성됩니다. 인그레스 대기열 매개변수는 포트 단위가 아닙니다. 그러나 이그레스 대기열 매개변수는 포트별로 구성됩니다. 이 경우에도 컨피그레이션은 포트별로 수행됩니다. 각 포트를 다르게 구성할 수 없습니다. 각 포트를 2가지 방법으로 구성할 수 있습니다. 이를 대기열 집합이라고 합니다. 전역 컨피그레이션에서 최대 2개의 서로 다른 대기열 집합을 구성할 수 있습니다. 그런 다음 이 두 세트 중 하나를 인터페이스에 적용할 수 있습니다.
인그레스 및 이그레스 대기열 모두 SRR에 의해 서비스되며, 이는 패킷이 전송되는 속도를 제어합니다. 인그레스 대기열에서 SRR은 패킷을 스택 링으로 전송합니다. SRR은 셰이핑과 공유라는 두 가지 모드로 작동할 수 있습니다. 인그레스 대기열의 경우 공유가 기본 모드이며 지원되는 유일한 모드입니다. 공유 모드에서는 구성된 가중치에 따라 큐가 대역폭을 공유합니다. 대역폭은 이 수준에서 보장되지만 이에 국한되지는 않습니다. 셰이핑된 모드에서는 이그레스 큐가 대역폭의 백분율로 보장되며 해당 크기로 속도가 제한됩니다. 셰이핑된 트래픽은 링크가 유휴 상태이더라도 할당된 대역폭보다 더 많은 대역폭을 사용하지 않습니다. 셰이핑은 시간이 지남에 따라 더욱 균등한 트래픽 흐름을 제공하며 과부하 트래픽의 피크 및 밸리를 줄입니다. 대기열 1은 우선순위 대기열로 구성할 수 있습니다.
이 섹션에서는 사용 가능한 모든 이그레스 QoS 명령을 분류합니다.
큐 맵 컨피그레이션:
CoS 값을 이그레스 대기열에 매핑하려면
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 1threshold 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
네 개의 모든 이그레스 대기열에 대한 버퍼 크기를 구성하려면
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
인터페이스에 큐 세트를 적용하려면(기본적으로 큐 세트 1은 스위치에서 qos를 활성화할 때 모든 포트에 할당됨)
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
우선순위 큐가 활성화되지 않은 경우 네 큐 모두 SRR에 참여합니다. 이 경우 첫 번째 대역폭 가중치는 무시되며 비율 계산에서 사용되지 않습니다. 우선 순위 큐는 다른 큐가 서비스되기 전에 비워질 때까지 서비스됩니다. priority-queue out 인터페이스 컨피그레이션 명령을 사용하여 우선순위 큐를 활성화할 수 있습니다.
기본 대기열 맵 컨피그레이션
이러한 기본 매핑은 요구 사항에 따라 변경할 수 있습니다.
!--- Map CoS to Egress Queue Distribution1#show mls qos maps cos-output-q Cos-outputq-threshold map: cos: 0 1 2 3 4 5 6 7 ------------------------------------ queue-threshold: 2-1 2-1 3-1 3-1 4-1 1-1 4-1 4-1 !--- Map DSCP to Egress Queue Distribution1#show mls qos maps dscp-output-q Dscp-outputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 1 : 02-01 02-01 02-01 02-01 02-01 02-01 03-01 03-01 03-01 03-01 2 : 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 3 : 03-01 03-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 4 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 04-01 04-01 5 : 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 6 : 04-01 04-01 04-01 04-01
기본 대기열 컨피그레이션
이그레스 대기열 기본 설정은 대부분의 상황에 적합합니다. 이그레스 대기열을 철저히 이해하고 이러한 설정이 QoS 솔루션과 맞지 않는 경우에만 이를 변경해야 합니다.
2개의 대기열 세트가 구성되고 대기열 세트 1은 기본적으로 모든 포트에 할당됩니다. 각 대기열에는 총 버퍼 공간의 25%가 할당됩니다. 각 대기열은 할당된 버퍼 공간의 50%(전체 버퍼 공간의 12.5%)를 예약합니다. 모든 예약된 버퍼의 합계는 예약된 풀을 나타내고 나머지 버퍼는 공통 풀의 일부입니다. 기본 컨피그레이션은 패킷이 삭제되기 전에 이 큐에 포함할 수 있는 최대 메모리로 400%를 설정합니다.
Distribution1#show mls qos queue-set 1 Queueset: 1 Queue : 1 2 3 4 ---------------------------------------------- buffers : 25 25 25 25 threshold1: 100 200 100 100 threshold2: 100 200 100 100 reserved : 50 50 50 50 maximum : 400 400 400 400 Distribution1#show mls qos queue-set 2 Queueset: 2 Queue : 1 2 3 4 ---------------------------------------------- buffers : 25 25 25 25 threshold1: 100 200 100 100 threshold2: 100 200 100 100 reserved : 50 50 50 50 maximum : 400 400 400 400 Distribution1#show mls qos int gigabitEthernet 1/0/20 buffers GigabitEthernet1/0/20 The port is mapped to qset : 1 The allocations between the queues are : 25 25 25 25
기본 스케줄러 구성:
우선 순위 큐가 비활성화되어 있습니다. 셰이핑된 모드와 공유 모드가 모두 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
다음은 샘플 컨피그레이션입니다.
큐 맵 컨피그레이션:
Rack1SW1(config)#mls qos srr-queue output cos-map queue 1 threshold 3 5 Rack1SW1(config)#mls qos srr-queue output cos-map queue 1 threshold 1 2 4 Rack1SW1(config)#mls qos srr-queue output cos-map queue 2 threshold 2 3 Rack1SW1(config)#mls qos srr-queue output cos-map queue 2 threshold 3 6 7 Rack1SW1(config)#mls qos srr-queue output cos-map queue 3 threshold 3 0 Rack1SW1(config)#mls qos srr-queue output cos-map queue 4 threshold 3 1
Rack1SW1(config)#mls qos srr-queue output dscp-map queue 1 threshold 3 46 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 1 16 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 1 18 20 22 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 1 25 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 1 32 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 1 34 36 38 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 2 24 26 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 3 48 56 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 3 threshold 3 0 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 4 threshold 1 8 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 4 threshold 3 10 12 14
대기열 구성:
이 컨피그레이션에서는 큐 세트 1과 2의 컨피그레이션을 모두 표시합니다. 기본적으로 큐 세트 1은 모든 인터페이스에 적용됩니다.
Rack1SW3(config)#mls qos queue-set output 1 buffers 10 10 26 54 Rack1SW3(config)#mls qos queue-set output 2 buffers 16 6 17 61
Rack1SW3(config)#mls qos queue-set output 1 threshold 2 70 80 100 100 Rack1SW3(config)#mls qos queue-set output 1 threshold 4 40 100 100 100 Rack1SW3(config)#mls qos queue-set output 2 threshold 1 149 149 100 149 Rack1SW3(config)#mls qos queue-set output 2 threshold 2 118 118 100 235 Rack1SW3(config)#mls qos queue-set output 2 threshold 3 41 68 100 272 Rack1SW3(config)#mls qos queue-set output 2 threshold 4 42 72 100 242
Rack1SW3(config)#interface fastethernet 1/0/11 Rack1SW3(config-if)#queue-set 2
인터페이스 1/0/11은 대기열 집합 2와 함께 적용됩니다.
Rack1SW3(config-if)#do show mls qos interface fastethernet 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 interface fastethernet 1/0/11 buffers FastEthernet1/0/11 The port is mapped to qset : 2 The allocations between the queues are : 16 6 17 61
스케줄러 구성:
Rack1SW3(config-if)#srr-queue bandwidth share 1 75 25 5 Rack1SW3(config-if)#srr-queue bandwidth shape 3 0 0 0
Cisco Catalyst 3750 이그레스 큐는 LLQ(Low Latency Queueing)를 지원하지 않습니다. 우선순위 대기열 처리를 지원합니다. priority-queue out을 구성하면, 큐 1은 패킷이 있을 때 항상 서비스됩니다.
Rack1SW3(config-if)#srr-queue bandwidth share 1 75 25 5 Rack1SW3(config-if)#srr-queue bandwidth shape 3 0 0 0 Rack1SW3(config-if)#priority-queue out
이 명령을 구성하면 SRR에 참여하는 대기열이 한 개 더 적기 때문에 SRR 가중치 및 대기열 크기 비율이 영향을 받습니다. 즉, srr-queue bandwidth shape 또는 srr-queue bandwidth share 명령의 weight1이 무시됩니다(비율 계산에서 사용되지 않음).
특정 대기열의 삭제를 확인하는 명령입니다.
1단계:
1/ #show platform pm if-numbers
show platform pm if-numbers 명령을 사용하고 인터페이스(3750의 발신 인터페이스)에 해당하는 포트 정보를 확인합니다. 예를 들어, fas 0/3은 포트 0/4일 수 있습니다. 포트 값으로 4를 유지합니다. 첫 번째 값이 0이 아니면 포트 번호 뒤에 asic 번호를 지정합니다.
interface gid gpn lpn port slot unit slun port-type lpn-idb gpn-idb ------------------------------------------------------------------------ --------- Gi0/1 1 1 25 0/1 1 1 1 local Yes Yes Gi0/2 2 2 26 0/0 1 2 2 local Yes Yes Fa0/1 3 3 1 0/2 1 1 3 local Yes Yes Fa0/2 4 4 2 0/3 1 2 4 local Yes Yes Fa0/3 5 5 3 0/4 1 3 5 local Yes Yes Fa0/4 6 6 4 0/5 1 4 6 local Yes Yes Fa0/5 7 7 5 0/6 1 5 7 local Yes Yes Fa0/6 8 8 6 0/7 1 6 8 local Yes Yes
인터페이스 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 컨피그레이션 명령을 구성합니다. 이 명령을 80%로 구성하면 포트는 시간의 20%를 유휴 상태로 유지합니다. 회선 속도는 연결 속도의 80%로 떨어집니다. 하드웨어가 라인 속도를 6개 단위로 조정하기 때문에 이 값은 정확하지 않습니다. 10기가비트 이더넷 인터페이스에서는 이 명령을 사용할 수 없습니다.
srr-queue bandwidth limit weight1
여기서 weight1은 포트를 제한해야 하는 포트 속도의 백분율입니다. 범위는 10~90입니다.
참고: 이그레스 대기열 기본 설정은 대부분의 상황에 적합합니다. 이그레스 대기열에 대한 철저한 이해가 있고 이러한 설정이 QoS(Quality of Service) 솔루션에 맞지 않는 경우에만 이를 변경해야 합니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
2.0 |
31-May-2023 |
재인증 |
1.0 |
17-May-2007 |
최초 릴리스 |