소개
Cisco의 ACI(Application Centric Infrastructure)에서는 패브릭 내에서 특정 방식으로 서비스할 트래픽을 분류하는 다양한 옵션을 제공합니다.이러한 규칙은 QoS(Quality of Service)라고 널리 알려져 있습니다. QoS는 주로 이더넷(레이어 2) 또는 IP(인터넷 프로토콜, 레이어 3) 헤더에 있는 패킷에 COS(Class of Service) 및 DSCP(Differentiated Services Code Point)로 특정 값을 설정하여 달성됩니다.
또한 ACI를 통해 사용자는 패브릭에서 들어오거나 나가는 데이터 트래픽에 대해 이러한 QOS 표시를 확인, 무시 또는 수정할 수 있습니다.이러한 내용을 자세히 살펴보겠습니다.
이 문서의 범위에서는 ACI 패브릭에서 단일 Pod 설정으로 제한됩니다.
설정 및 토폴로지
테스트 및 캡처는 3.2.x 버전의 2세대 하드웨어에서 수행되었습니다.
이 문서에서는 다음 설정(예시 다이어그램)을 사용합니다.
2개의 EPG(End Point Group)가 포함된 패브릭이 있습니다.EPG-1 및 EPG-2. 각 EPG는 자체 브리지 도메인(BD)에 연결됩니다.
EPG-1용 BD에 서브넷 10.0.1.254/24이 있습니다.
EPG-2용 BD에 서브넷 10.0.2.254/24이 있습니다.
두 EPG의 엔드포인트는 Leaf 1 및 2에 있습니다.
편의를 위해 다양한 QOS 컨피그레이션을 간략하게 살펴보겠습니다.
시나리오 1
이 시나리오에서는 모든 QOS 정책의 패브릭을 정리합니다.이는 다른 COS 또는/및 DSCP 값으로 미리 표시된 트래픽을 처리할 때 패브릭의 기본 동작을 확인하는 것입니다.
시나리오 2
이 시나리오에서는 'Dot1p Preserve' 옵션을 활성화합니다.
그런 다음 시나리오 1에서 트래픽 스트림 중 일부를 반복하고 패브릭의 트래픽 처리를 비교/대조합니다
시나리오 3
이 시나리오에서는 EPG 정책에서 사용 가능한 'QoS 클래스' 옵션을 적용하여 사용 가능한 다른 레벨로 설정합니다.그런 다음 트래픽 플로우를 반복하고 이 트래픽에 대한 패브릭의 처리를 비교합니다.
시나리오 4
'Dot1p Preserve' 옵션이 활성화된 시나리오 3의 반복입니다.
시나리오 5
이 시나리오에서는 4개의 사용자 지정 QoS 정책을 정의한 다음 EPG 정책에 따라 전화를 겁니다.
해당 정책의 예:
이러한 맞춤형 QoS 정책은 데이터 트래픽에서 COS/DSCP를 다시 표시하는 다양한 방법을 이해하는 데 도움이 됩니다.
시나리오 1:ACI에서 활성화된 QoS 정책 없음
이 시나리오에서는 일부 COS 또는 DSCP 값으로 미리 표시된 트래픽의 기본 동작을 관찰합니다.
두 가지 행동 중 유일하게
1) COS는 보존됩니까?
2) DSCP는 유지됩니까?
COS는 어떤 조건에서도 기본적으로 보존되지 않습니다.VLAN 헤더가 인그레스 leaf에서 제거되고 이그레스 시 cos 값이 표시되지 않으면 값이 손실됩니다(cos 0이 사용됨).
예 1
여기서는 E1D1에서 E1D11로 트래픽을 전송합니다. E1D1의 트래픽은 Cos = 4로 표시됩니다.
트래픽은 Leaf-1에서 나오고 E1D11에서 수신되지만, 비용 마킹이 손실되었습니다.
DSCP는 기본적으로 보존됩니다.
예 2
여기서는 E1D1에서 E1D2로 트래픽을 전송합니다. E1D1의 트래픽은 Cos = 2, DSCP = 12로 표시됩니다.
트래픽은 0 COS 및 동일한 DSCP(12)를 사용하여 Leaf 2를 종료합니다. 외부 헤더의 DSCP(16)는 다음 섹션에서 설명합니다.
시나리오 2:Dot1p Preserve 사용
'Dot1P'는 'IEEE 801.1p'의 약어로, 서비스 품질 우선 순위 지정 체계입니다.이는 VLAN을 지원하는 네트워킹 표준인 IEEE 802.1Q "Dot1Q"의 일부입니다.
Dot1Q 헤더:
TPID: Tag Protocol Identifier - 프레임을 Dot1Q 태그 있는 프레임으로 식별하기 위해 0x8100 값으로 설정됩니다.
TCI : 태그 제어 정보 에는 다음 하위 필드가 포함되어 있습니다.
PCP: Priority Code Point - Dot1P 서비스 클래스를 참조하고 프레임 우선순위 레벨에 매핑되는 3비트 필드
DEI : Drop Eligibility Indicator, 혼잡 중에 삭제할 수 있는 프레임을 나타내기 위해 PCP와 함께 사용할 수 있는 1비트 필드입니다.
VID:VLAN ID, 프레임이 속한 VLAN을 지정하는 12비트 필드.
기본적으로 수신 데이터 패킷(패브릭으로 인그레스)의 COS 값은 외부 헤더(iVXLAN 헤더) DSCP에 인코딩됩니다. DSCP의 6비트는 다음과 같이 매핑됩니다(4.0 이전).
상당한 3비트 = cos value
하위 3비트 = 트래픽에 사용되는 클래스(기본적으로 레벨 3)
다음은 DSCP 값의 예입니다.
'Dot1p Preserve'가 활성화된 경우 외부 헤더 DSCP 값이 디코딩되어 데이터 트래픽의 원래 COS 값을 찾습니다.그러면 Leaf에서 이그레스(egress)에 있는 VLAN 헤더의 Dot1P 부분에 기록됩니다.
예 3
여기서는 E1D1에서 E2D2로 트래픽을 전송합니다. E1D1의 트래픽은 Cos = 1 및 DSCP = 8로 표시됩니다. dot1p 보존이 활성화된 경우 이러한 두 값이 모두 목적지 E2D2에서 선택할 때 보존됩니다.
시나리오 3:EPG에 설정된 QoS 레벨
EPG 트래픽은 특정 QOS 레벨로 표시할 수 있습니다.기본 표시는 레벨 3입니다. 4.0 이전 버전에서는 사용자 구성 가능한 레벨이 레벨 1에서 3까지입니다. Post 4.0에는 6개의 레벨이 있습니다.
레벨은 다음과 같이 다른 헤더(iVXLAN 헤더) COS에 표시됩니다.
4.0 이전:
레벨 1 |
COS 2 |
레벨 2 |
COS 1 |
레벨 3 |
COS 0 |
게시 4.0:
아래에 언급된 COS + DEI 조합은 내부용으로 예약되어 있습니다.
레벨 1 |
COS 2 |
데이 0 |
레벨 2 |
COS 1 |
데이 0 |
레벨 3 |
COS 0 |
데이 0 |
레벨 4 |
COS 2 |
데이 1 |
레벨 5 |
COS 3 |
데이 1 |
레벨 6 |
COS 5 |
데이 1 |
DEI 비트가 사용되지만, 클래스 4, 5 및 6은 혼잡 중에 자동으로 적절 되지 않습니다.이 필드는 클래스(PCP와 인접함)를 늘리는 편리한 방법으로 사용되기 때문에
예 4
여기서는 E1D1에서 E2D2로 트래픽을 전송합니다. 트래픽은 CoS = 1, DSCP = 8인 소스에 표시되며 EPG-1은 QOS 클래스 '레벨 1'을 사용합니다.
- 레벨 1은 외부 헤더에 CoS 2로 반영됩니다.
- 원래 CoS는 1이고 Level은 1이므로 외부 헤더 DSCP는 001010 = 10
- 주의 = EPG에서 레벨(Level on EPG)을 사용하는 동안 CoS 보존이 활성화되지 않은 경우 원래 데이터 프레임의 CoS가 삭제되고 레벨에 해당하는 CoS가 이그레스(egress) 프레임에 배치됩니다(3.2.x에서 테스트됨).
시나리오 4:Dot1P 보존이 포함된 QoS 클래스
이 시나리오에서는 EPG-1에서 QoS 클래스 할당을 사용하는 것과 함께 Dot1P 보존도 활성화합니다.
예 5
이 설정은 EXAMPLE 4와 동일한 설정으로, Dot1P Preserve 옵션을 추가로 사용할 수 있습니다.Dot1P Preserve를 활성화한 경우 이그레스 프레임 CoS에 예기치 않은 값이 표시되지 않습니다.
시나리오 5:맞춤형 QoS 클래스
이 시나리오에서는 사용자 지정 QoS 클래스를 정의하고 이를 소스 EPG, EPG-1에 적용합니다. QoS 클래스 및 사용자 지정 QoS를 모두 사용하는 경우 사용자 지정 QoS가 우선 적용됩니다.
또한 사용자 지정 QoS 정책 내에서 "Dot1P 분류자" 및 "DSCP to Priority Map"을 모두 사용하는 경우 DSCP 맵이 우선적으로 적용됩니다.
사용자 지정 클래스는 다음과 같이 정의됩니다.
- CoS 값 4가 일치해야 합니다.이 경우 트래픽은 CoS 3과 DSCP CS3(24)의 레벨 2로 분류됩니다.
예 6
여기서는 E1D1에서 E1D2로 트래픽을 전송하겠습니다. 트래픽은 E1D1에 CoS 4 및 DSCP 0으로 표시됩니다. EPG-1은 위에서 언급한 맞춤형 QoS 정책을 사용합니다.
- 클래스(레벨 2)는 외부 헤더에 CoS 1로 표시됩니다.
- 클래스와 함께 재작성된 CoS(3)는 DSCP = 011001 = 25로 인코딩됩니다.
여기서도 동일한 주의 사항을 다시 확인하겠습니다. Dot1P Preserve를 사용하지 않으면 'Level 2'에 해당하는 CoS 값이 이그레스 데이터 프레임에 반영됩니다.예를 들어 E1D2에서는 프레임에 CoS 1 및 DSCP 24가 있는 것을 확인할 수 있습니다.
실제 예상 CoS(3)는 Dot1P Preserve를 사용하여 얻을 수 있습니다.