Junos CoS 구성 요소 이해
이 주제에서는 Junos OS CoS(class-of-service) 구성 요소에 대해 설명합니다.
코드 포인트 별칭
코드 포인트 별칭은 코드 포인트 비트 패턴에 이름을 할당합니다. 분류자 및 재작성 규칙과 같은 다른 CoS 구성 요소를 구성할 때 비트 패턴 대신 이 이름을 사용할 수 있습니다.
폴리서
폴리서는 특정 클래스의 트래픽을 지정된 대역폭과 버스트 크기로 제한합니다. 폴리서 제한을 초과하는 패킷은 폐기되거나 다른 포워딩 클래스, 다른 손실 우선순위 또는 둘 다에 할당될 수 있습니다. 입력 인터페이스와 연결할 수 있는 필터를 사용하여 폴리서를 정의합니다.
분류자
패킷 분류는 수신 패킷을 특정 CoS 서비스 수준과 연결합니다. Junos OS에서 분류자는 패킷을 포워딩 클래스 및 손실 우선순위와 연결하고 연결된 포워딩 클래스를 기반으로 패킷을 출력 대기열에 할당합니다. Junos OS는 두 가지 일반적인 유형의 분류자를 지원합니다.
-
BA(Behavior Aggregate) 또는 CoS 값 트래픽 분류자 - 패킷 헤더에서 CoS 값을 검사합니다. 이 단일 필드의 값에 따라 패킷에 적용되는 CoS 설정이 결정됩니다. BA 분류자를 사용하면 DSCP(Differentiated Services Code Point) 값, IEEE 802.1p 값 또는 MPLS EXP 값을 기반으로 패킷의 포워딩 클래스 및 손실 우선순위를 설정할 수 있습니다.
다중 필드 트래픽 분류자 - 패킷의 소스 및 대상 주소, 소스 및 대상 포트 번호와 같은 패킷의 여러 필드를 검사합니다. 다중 필드 분류자를 사용하면 방화벽 필터 규칙을 기반으로 패킷의 포워딩 클래스와 손실 우선순위를 설정할 수 있습니다.
유니캐스트와 멀티데스티네이션(멀티캐스트, 브로드캐스트 및 대상 조회 실패) 트래픽의 분리가 필요한 스위치에서 별도의 유니캐스트 분류자와 멀티데스티네이션 분류자를 생성합니다. 유니캐스트 트래픽과 멀티데스티네이션 트래픽은 동일한 분류기에 할당할 수 없습니다. 하나 이상의 인터페이스에 유니캐스트 분류자를 적용할 수 있습니다. 다중 대상 분류자는 모든 스위치 인터페이스에 적용되며 개별 인터페이스에는 적용할 수 없습니다. 유니캐스트 트래픽과 멀티데스티네이션 트래픽을 분리해야 하는 스위치에는 멀티데스티네이션 트래픽용으로 예약된 4개의 출력 큐를 제공하기 위해 12개의 출력 큐가 있습니다.
유니캐스트 트래픽과 멀티데스티네이션 트래픽을 분리하지 않는 스위치에서 유니캐스트 및 멀티데스티네이션 트래픽은 동일한 분류자를 사용하며 멀티데스티네이션 트래픽에 대해 별도의 특수 분류자를 생성하지 않습니다. 유니캐스트 및 멀티목적지 트래픽을 분리하지 않는 스위치는 트래픽을 분리하기 위해 추가 대기열이 필요하지 않기 때문에 8개의 출력 대기열을 갖습니다.
포워딩 클래스
포워딩 클래스는 전송 및 CoS를 위해 패킷을 그룹화합니다. 패킷의 포워딩 클래스를 기반으로 각 패킷을 출력 대기열에 할당합니다. 포워딩 클래스는 패킷이 스위치를 통과할 때 적용되는 포워딩, 스케줄링 및 재작성 마킹 정책에 영향을 줍니다.
스위치는 최대 5개의 기본 포워딩 클래스를 제공합니다.
-
best-effort—최선의 트래픽
-
fcoe—Fibre Channel over Ethernet traffic(트래픽을 통한 Fibre Channel over Ethernet)
-
no-loss—무손실 트래픽
-
network-control - 네트워크 제어 트래픽
-
mcast—멀티캐스트 트래픽
기본 mcast 포워딩 클래스는 유니캐스트와 멀티데스티네이션(멀티캐스트, 브로드캐스트 및 대상 조회 실패) 트래픽의 분리가 필요한 스위치에만 적용됩니다. 이러한 스위치에서 두 가지 유형의 트래픽에 대해 별도의 포워딩 클래스를 생성합니다. 기본 mcast 포워딩 클래스는 다중 목적지 트래픽만 전송하고, 기본 best-effort, fcoe, no-loss, network-control 포워딩 클래스는 유니캐스트 트래픽만 전송합니다. 유니캐스트 포워딩 클래스는 유니캐스트 출력 대기열에 매핑되며, 멀티데스티네이션 포워딩 클래스는 멀티데스티네이션 출력 큐에 매핑됩니다. 유니캐스트 트래픽과 멀티데스티네이션 트래픽은 동일한 포워딩 클래스 또는 동일한 출력 대기열에 할당할 수 없습니다. 유니캐스트 트래픽과 멀티데스티네이션 트래픽을 분리해야 하는 스위치에는 12개의 출력 대기열이 있으며, 유니캐스트 트래픽용으로 8개, 멀티데스티네이션 트래픽용으로 4개가 있습니다.
유니캐스트 트래픽과 멀티데스티네이션 트래픽을 분리하지 않는 스위치에서 유니캐스트 및 멀티데스티네이션 트래픽은 동일한 포워딩 클래스와 출력 대기열을 사용하므로 mcast 포워딩 클래스는 유효하지 않습니다. 다중 대상 트래픽에 대해 별도의 포워딩 클래스를 생성하지 않습니다. 유니캐스트 및 멀티목적지 트래픽을 분리하지 않는 스위치는 트래픽을 분리하기 위해 추가 대기열이 필요하지 않기 때문에 8개의 출력 대기열을 갖습니다.
스위치는 총 12개의 포워딩 클래스(8개의 유니캐스트 포워딩 클래스 및 4개의 멀티캐스트 포워딩 클래스) 또는 8개의 포워딩 클래스(유니캐스트 및 멀티데스티네이션 트래픽은 동일한 포워딩 클래스를 사용)를 지원하여 트래픽 분류에 유연성을 제공합니다.
포워딩 클래스 세트
포워딩 클래스(출력 대기열)를 포워딩 클래스 세트 로 그룹화하여 유사한 처리가 필요한 트래픽 그룹에 CoS를 적용할 수 있습니다. 포워딩 클래스는 IEEE 802.1Qaz에 설명된 ETS(Enhanced Transmission Selection)를 지원하기 위해 우선 순위 그룹으로 트래픽을 매핑합니다.
최대 3개의 유니캐스트 포워딩 클래스 세트와 1개의 멀티캐스트 포워딩 클래스 세트를 구성할 수 있습니다. 예를 들어, 다른 포워딩 클래스 세트를 구성하여 LAN(Local Area Network) 트래픽, SAN(Storage Area Network) 트래픽 및 HPC(High-Performance Computing) 트래픽의 유니캐스트 그룹에 CoS를 적용하고 멀티캐스트 트래픽에 대해 다른 그룹을 구성할 수 있습니다.
각 포워딩 클래스 세트 내에서 각 개별 대기열에 매핑된 트래픽에 대한 특수 CoS 처리를 구성할 수 있습니다. 이를 통해 2계층 계층 방식으로 CoS를 구성할 수 있습니다. 포워딩 클래스 세트 계층에서 트래픽 제어 프로필을 사용하여 트래픽 그룹에 대한 CoS를 구성합니다. 대기열 계층에서는 스케줄러 맵을 사용하여 대기열(포워딩 클래스)에 매핑하는 스케줄러를 사용하여 포워딩 클래스 세트 내의 개별 출력 대기열에 대한 CoS를 구성합니다.
플로우 제어(이더넷 PAUSE, PFC 및 ECN)
이더넷 PAUSE (IEEE 802.3X에 설명됨)는 링크 수준의 플로우 제어 메커니즘입니다. 네트워크 혼잡 기간 동안 이더넷 PAUSE는 PAUSE 메시지에 지정된 기간 동안 전이중 이더넷 링크의 모든 트래픽을 중지합니다.
QFX10000 스위치는 이더넷 PAUSE를 지원하지 않습니다.
우선순위 기반 플로우 제어(PFC)는 Fibre Channel over Ethernet(FCoE) 트래픽과 같은 손실에 민감한 플로우를 전송하기 위한 무손실 이더넷 환경을 생성하기 위한 IEEE DCB(Data Center Bridging) 사양의 일부로 IEEE 802.1Qbb에 설명되어 있습니다.
PFC는 이더넷 PAUSE와 유사한 링크 수준 플로우 제어 메커니즘입니다. 그러나 이더넷 PAUSE는 일정 기간 동안 링크의 모든 트래픽을 중지합니다. PFC는 물리적 링크에서 일시 중지 기능을 분리하고 링크의 트래픽을 8개의 우선순위(3비트 IEEE 802.1p 코드 포인트)로 나눕니다. 8가지 우선순위는 8개의 교통 "차선"으로 생각할 수 있습니다. 동일한 링크에서 다른 우선순위의 트래픽을 일시 중지하지 않고 모든 우선순위의 트래픽에 일시 중지를 선택적으로 적용할 수 있습니다.
PFC가 제공하는 세분성을 통해 링크의 다양한 트래픽 유형에 대해 다양한 수준의 CoS를 구성할 수 있습니다. FCoE, LAN 백업 또는 관리와 같은 트래픽을 위한 무손실 레인을 생성하는 동시에 동일한 링크에서 IP 트래픽에 대한 혼잡 관리의 표준 프레임 드롭 방법을 사용할 수 있습니다.
FCoE 트래픽을 전송하는 경우, FCoE 트래픽에 할당된 우선순위(일반적으로 FCoE 트래픽을 전송하는 인터페이스의 IEEE 802.1p 코드 포인트 011 )에서 PFC를 활성화해야 합니다.
ECN(Explicit Congestion Notification)은 TCP/IP 기반 네트워크에서 두 엔드포인트 간의 엔드 투 엔드 혼잡 알림을 활성화합니다. ECN이 제대로 작동하려면 두 엔드포인트 및 엔드포인트 사이의 모든 중간 디바이스에서 ECN이 활성화되어야 합니다. ECN을 지원하지 않는 전송 경로의 모든 디바이스는 엔드 투 엔드 ECN 기능을 중단합니다. ECN은 패킷을 손실하지 않고 혼잡이 해소될 때까지 전송 속도를 줄임으로써 전송 디바이스가 패킷 손실과 지연을 줄이기 위해 네트워크에 혼잡에 대해 알립니다. RFC 3168, IP에 ECN(Explicit Congestion Notification) 추가는 ECN을 정의합니다.
WRED 프로파일 및 테일 드롭
WRED(Weighted Random Early Detection) 프로필(드롭 프로필)은 네트워크가 혼잡 기간 동안 패킷을 드롭할 수 있도록 하는 매개 변수를 정의합니다. 드롭 프로필 은 출력 대기열이 혼잡해질 때 각 손실 우선순위에 대한 패킷 드롭 확률을 결정하여 서로 다른 손실 우선순위의 패킷이 드롭되는 조건을 정의합니다. 드롭 프로필은 기본적으로 대기열 가득 차 수준에 대한 값을 설정합니다. 대기열이 대기열 가득 차 값 수준까지 채워지면 패킷이 드롭됩니다. 대기열 채우기 수준, 해당 채우기 수준에서 패킷이 드롭될 확률 및 패킷의 손실 우선순위의 조합에 따라 패킷이 드롭되는지 전달될지를 결정합니다. 채우기 수준과 드롭 확률의 각 쌍은 드롭 프로파일 곡선에 점을 생성합니다.
서로 다른 손실 우선순위와 서로 다른 드롭 프로필을 연결하여 패킷 손실 확률을 설정할 수 있습니다. 드롭 프로필을 스케줄러에 적용한 다음 스케줄러 맵을 사용하여 스케줄러를 포워딩 클래스에 매핑함으로써 각 손실 우선순위에 대한 드롭 프로필을 포워딩 클래스(출력 대기열)에 적용할 수 있습니다. 포워딩 클래스에 매핑된 대기열에 혼잡이 발생하면 드롭 프로필이 해당 대기열의 각 손실 우선순위의 트래픽에 대한 패킷 드롭 수준을 결정합니다.
손실 우선순위는 패킷의 상대적 순서에 영향을 주지 않고 패킷의 스케줄링에 영향을 줍니다. 일반적으로 특정 서비스 수준을 초과하는 패킷을 높은 손실 우선순위로 표시합니다.
테일 드롭은 트래픽 흐름의 패킷 손실 우선순위를 구분하지 않고 혼잡 기간 동안 모든 패킷을 무차별적으로 드롭하는 간단한 드롭 메커니즘입니다. 테일 드롭에는 출력 대기열의 최대 깊이에 해당하는 하나의 곡선 지점만 필요하며 트래픽이 버퍼 깊이를 초과할 때 드롭 확률은 100%입니다(대기열에 저장할 수 없는 모든 패킷은 삭제됨). WRED는 서로 다른 우선 순위의 트래픽을 차별화된 방식으로 처리할 수 있기 때문에 더 높은 우선 순위의 트래픽이 선호를 받고, 드롭 곡선에서 여러 지점을 설정할 수 있기 때문에 테일 드롭보다 우수합니다.
스케줄러
각 스위치 인터페이스에는 패킷을 저장하기 위해 할당된 여러 개의 대기열이 있습니다. 스위치는 특정 스케줄링 방법에 따라 서비스할 대기열을 결정합니다. 이 프로세스에는 종종 다양한 유형의 패킷이 전송되어야 하는 순서를 결정하는 작업이 포함됩니다.
패킷 전송을 위해 특정 대기열(포워딩 클래스)에 적용할 스케줄링 우선 순위(priority), 최소 보장 대역폭(transmit-rate), 최대 대역폭(shaping-rate) 및 WRED 프로필을 정의할 수 있습니다. 기본적으로 추가 대역폭은 각 대기열의 최소 보장 대역폭에 비례하여 대기열 간에 공유됩니다. 이 excess-rate 문을 지원하는 스위치에서는 최소 보장 대역폭 전송 속도와 별도로 출력 대기열이 수신하는 공유 추가 대역폭의 백분율을 구성하거나 전송 속도에 따라 기본 대역폭 공유를 사용할 수 있습니다.
스케줄러 맵은 지정된 포워딩 클래스를 스케줄러 구성과 연결합니다. 최대 4개의 사용자 정의 스케줄러 맵을 인터페이스와 연결할 수 있습니다.
규칙 재작성
A rewrite rule 는 나가는 패킷에서 적절한 CoS 비트를 설정합니다. 이를 통해 다음 다운스트림 디바이스가 패킷을 적절한 서비스 그룹으로 분류할 수 있습니다. 아웃바운드 패킷 재작성(표시)은 스위치가 네트워크 경계에 있고 대상 피어의 정책을 충족하기 위해 CoS 값을 변경해야 할 때 유용합니다.
수신 방화벽 필터는 또한 포워딩 클래스 및 손실 우선 순위 값을 다시 작성할 수 있습니다.