전송 우선 순위 스케줄링
Junos는 여러 수준의 전송 우선 순위를 지원하며, 우선 순위low가 증가하는 순서는 , low-medium, medium-lowhighstrict-highlow-highmedium-high입니다.low-latency 이를 통해 소프트웨어는 우선 순위가 낮은 대기열보다 우선 순위가 높은 대기열을 먼저 서비스할 수 있습니다. 지원되는 전송 우선 순위 수준은 플랫폼 및 소프트웨어 릴리스에 따라 다를 수 있습니다.
우선순위 스케줄링을 통한 트래픽 우선순위 지정
우선순위 스케줄링은 출력 인터페이스가 대기열에서 트래픽을 전송하는 순서를 결정하므로 중요한 트래픽을 포함하는 대기열이 발신 인터페이스에 더 잘 액세스할 수 있도록 보장합니다. Junos는 각 개별 대기열에 할당된 우선 순위와 각 개별 대기열이 정의된 대역폭 프로필 내에 있는지 여부를 검사하여 우선 순위 스케줄링을 수행합니다. Junos는 정기적으로 대기열에서 전송되는 데이터 양을 계층 수준에서 정의된 [edit class-of-service schedulers scheduler-name] 구성된 스케줄러 전송 속도(transmit-rate)에 의해 할당된 대역폭과 비교하여 개별 대기열이 대역폭 프로필 내에 있는지 여부를 결정합니다. 전송된 양이 할당된 양보다 적으면 대기열이 프로파일에 있는 것으로 간주됩니다. 대기열은 전송된 양이 할당된 양보다 클 때 프로파일을 벗어납니다.
주어진 출력 물리적 또는 논리적 인터페이스에 대한 대기열은 우선 순위에 따라 세트로 나뉩니다. 이러한 집합에는 우선 순위가 동일한 큐가 포함됩니다.
Junos는 우선 순위의 내림차순으로 세트를 트래버스합니다. 세트의 대기열 중 하나 이상에 전송할 패킷이 있는 경우, 소프트웨어는 해당 세트를 선택합니다. 집합의 대기열은 집합 내에서 작동하는 WRR(Weighted Round Robin) 알고리즘을 기반으로 선택됩니다.
Junos는 다음 단계를 사용하여 우선 순위 큐잉을 수행합니다.
소프트웨어는 현재 프로파일에 있는 우선 순위가 높은 모든 대기열을 찾습니다. 이러한 대기열은 가중치 기반 라운드 로빈 방식으로 먼저 서비스됩니다.
소프트웨어는 현재 프로파일에 있는 모든 중간-높은 우선 순위 대기열을 찾습니다. 이러한 대기열은 가중치가 적용된 라운드 로빈 방식으로 두 번째로 서비스됩니다.
소프트웨어는 현재 프로파일에 있는 모든 중간-낮은 우선 순위 대기열을 찾습니다. 이러한 대기열은 가중치가 적용된 라운드 로빈 방식으로 세 번째로 서비스됩니다.
소프트웨어는 현재 프로파일에 있는 모든 낮음-높음 우선 순위 대기열을 찾습니다. 이러한 대기열은 가중치가 적용된 라운드 로빈 방식으로 두 번째로 서비스됩니다.
소프트웨어는 현재 프로파일에 있는 모든 중저 우선순위 대기열을 찾습니다. 이러한 대기열은 가중치가 적용된 라운드 로빈 방식으로 세 번째로 서비스됩니다.
소프트웨어는 현재 프로파일에 있는 모든 낮은 우선 순위 대기열을 찾습니다. 이러한 대기열은 가중치가 적용된 라운드 로빈 방식으로 네 번째로 서비스됩니다.
소프트웨어는 현재 프로파일을 벗어나 있고 속도 제한이 없는 우선 순위가 높은 모든 대기열을 찾습니다. 가중 라운드 로빈 알고리즘은 서비스를 위해 이러한 큐에 적용됩니다.
소프트웨어는 현재 프로파일을 벗어나고 속도 제한이 없는 모든 중간-높은 우선 순위 대기열을 찾습니다. 가중 라운드 로빈 알고리즘은 서비스를 위해 이러한 큐에 적용됩니다.
소프트웨어는 현재 프로파일을 벗어나 있고 속도가 제한되지 않은 모든 중간-낮은 우선 순위 대기열을 찾습니다. 가중 라운드 로빈 알고리즘은 서비스를 위해 이러한 큐에 적용됩니다.
소프트웨어는 현재 프로파일에서 벗어나 속도 제한이 없는 모든 낮음-높음 우선 순위 대기열을 찾습니다. 가중 라운드 로빈 알고리즘은 서비스를 위해 이러한 큐에 적용됩니다.
소프트웨어는 현재 프로파일을 벗어나고 속도 제한이 없는 모든 중저 우선순위 대기열을 찾습니다. 가중 라운드 로빈 알고리즘은 서비스를 위해 이러한 큐에 적용됩니다.
소프트웨어는 현재 프로파일을 벗어나 있고 속도 제한도 없는 우선 순위가 낮은 대기열을 모두 찾습니다. 이러한 대기열은 가중치 기반 라운드 로빈 방식으로 마지막에 서비스됩니다.
LLQ(Low Latency Queuing) 개요
LLQ(Low Latency Queuing)를 지원하는 플랫폼에서. LLQ를 사용하면 지연에 민감한 데이터를 다른 트래픽보다 우선적으로 처리할 수 있습니다. 대기열은 low-latency 대기열을 포함한 strict-high 다른 우선 순위 대기열보다 우선 순위가 가장 높을 뿐만 아니라 낮은 지연 스케줄링 프로필을 갖습니다.
가상 출력 대기열(VOQ)의 포트 스케줄링의 경우, 저지연 VOQ는 자체 전용 송신 대기열을 수신합니다. 우선 순위가 높은 VOQ는 두 번째 전용 송신 대기열을 수신하고 우선 순위가 낮은 VOQ는 세 번째 전용 송신 대기열을 수신합니다.
계층적 서비스 등급(HCoS)의 스케줄링 계층으로 인해 계층적 스케줄링은 최대 2개의 송신 대기열을 사용할 수 있습니다. 따라서 VOQ의 계층적 스케줄링의 경우 저지연 VOQ 및 높은 우선 순위 VOQ는 공통 전용 송신 대기열을 수신하고 우선 순위가 낮은 VOQ는 두 번째 전용 송신 대기열을 수신합니다.
저지연 VOQ를 구성할 때 다음을 권장합니다.
-
폴리서를 사용하여 저지연 VOQ에 도달하기 전에 트래픽 버스트를 정규화합니다.
-
물리적 또는 논리적 인터페이스에 최대 2개의 저지연 VOQ를 구성합니다.
-
저지연 VOQ에 대한 트래픽(즉, 대역폭 예약)을 분류하고 스케줄링하여 해당 대기열에 혼잡이 발생하지 않도록 합니다.
저지연 큐는 다른 큐와 동일한 버퍼를 수신하여 제한된 하드웨어 VOQ 버퍼 프로파일을 효율적으로 사용합니다.
Strict-High 우선 순위 구성 개요
플랫폼에 따라 인터페이스당 하나 이상의 대기열이 우선 순위를 갖도록 strict-high 구성할 수 있으며, 이는 우선 순위와 high 동일하게 작동하지만 무제한 전송 대역폭을 제공합니다. 우선 순위가 있는 대기열에 전송할 트래픽이 있는 한, 우선 순위가 strict-high 있는 high 대기열을 제외한 다른 모든 대기열보다 우선권을 받습니다. 및 우선 순위가 있는 strict-high 대기열은 대기열이 strict-high 비어 있거나, 우선 순위 대기열이 high 비어 있거나, 우선 순위 대기열의 high 대역폭 크레딧이 부족할 때까지 번갈아 가며 패킷을 전송합니다.high 이러한 조건이 충족될 때만 우선 순위가 낮은 대기열이 트래픽을 전송할 수 있습니다.
인터페이스당 여러 strict-high 개의 대기열을 지원하는 플랫폼에서, 하드웨어는 우선 순위로 표시된 대기열 번호의 내림차순으로 strict-high 대기열을 서비스합니다.
대기열이 우선 순위를 갖도록 strict-high 구성할 경우, 우선 순위 대기열의 strict-high 전송 속도가 WRR 구성에 의해 제한되지 않기 때문에 계층 수준에서 대기열 구성 [edit class-of-service schedulers scheduler-name] 에 명령문을 포함할 transmit-rate 필요가 없습니다. 우선 순위 대기열에서 strict-high 전송 속도를 구성하는 경우 WRR 작업에 영향을 미치지 않습니다. 그러나 전송 속도는 지연 버퍼의 계산에 영향을 미치며 명령과 show interface queue 같은 명령의 출력에서 자리 표시자 역할도 합니다.
strict-high 우선순위 대기열은 우선순위 대기열을 고갈 low 시킬 수 있으며, 특정 상황에서는 우선순위 대기열을 제한 high 할 수도 있습니다. 우선순위를 사용하면 대기열의 high 트래픽이 트래픽 클래스를 굶주리지 않도록 보호할 수 있습니다 strict-high . 예를 들어 네트워크 제어 대기열에는 작은 대역폭 할당(예: 5 %)이 필요할 수 있습니다. 이 대기열에 우선 순위를 할당 high 하여 서비스가 부족하지 않도록 할 수 있습니다.
우선 순위가 있는 strict-high 대기열은 우선 순위가 낮은 대기열의 대역폭 보장을 대체합니다. 따라서 우선 순위를 사용하여 strict-high 음성 트래픽과 같은 특수 트래픽의 적절한 순서를 보장하는 것이 좋습니다. 대기열의 전송 속도에 옵션을 적용 rate-limit 하여 일반적으로 필요한 대역폭의 양만을 우선 순위가 있는 strict-high 대기열에 할당함으로써 우선 순위가 낮은 대기열에 strict-high 대한 대역폭 보장을 유지할 수 있습니다. 예를 들어, 다음과 같은 전송 대역폭 할당을 고려하십시오.
-
Q0 BE—20 %, 낮은 우선 순위
-
Q1 EF - 30 %, 엄격한-높은 우선 순위
-
Q2 AF—40 %, 낮은 우선 순위
-
Q3 NC—10 %, 낮은 우선 순위
이 대역폭 할당은 일반적으로 EF 포워딩 클래스에 인터페이스 전송 대역폭의 30 %만 필요하다고 가정합니다. 그러나 EF 포워딩 클래스에서 짧은 트래픽 버스트가 수신되고 rate-limit 옵션이 적용되지 않은 경우 설정으로 인해 strict-high 대역폭의 100 %가 EF 포워딩 클래스에 제공됩니다.
우선순위 스케줄링을 위한 스케줄러 구성
이 주제는 우선 순위 스케줄링을 구성하는 방법에 대해 설명합니다.
[edit class-of-service schedulers scheduler-name] priority priority-level;
우선 순위 수준은 , low-medium, , low-highmedium-low, highmedium-high, , strict-high또는 low-latency일 수 있습니다low. 우선 순위는 기본 하드웨어의 숫자 우선 순위에 매핑됩니다. 두 소프트웨어 우선 순위가 두 개의 서로 다른 하드웨어 우선 순위에 매핑되는 경우에만 다르게 동작하기 때문에 서로 다른 우선 순위가 비슷하게 작동하는 경우도 있습니다.
높은 우선 순위 대기열은 우선 순위가 높은 포워딩 클래스가 충분한 대역폭 크레딧을 유지하는 한 낮은 우선 순위 대기열보다 패킷을 먼저 전송합니다. 전송 대역폭의 상당 부분을 사용하여 우선 순위가 높은 대기열을 구성하면 대기열이 우선 순위가 낮은 트래픽을 잠그거나 고갈시킬 수 있습니다.
다음 예제 절차에서는 스케줄러를 생성하고, 스케줄러와 포워딩 클래스 간의 매핑을 구성하고, 인터페이스에 스케줄러를 할당합니다.
플랫폼별 우선순위 스케줄러 동작
기능 탐색기를 사용하여 일정 우선 순위에 대한 플랫폼 및 릴리스 지원을 확인합니다.
다음 표를 사용하여 플랫폼에 대한 플랫폼별 동작을 검토할 수 있습니다.
| 플랫폼 |
플랫폼별 동작 |
|---|---|
| ACX5048 및 ACX5096 라우터 |
|
| ACX7000 시리즈 |
|
| EX4400 |
EX4400 스위치에서 엄격한 우선 순위 스케줄러를 0에서 3까지의 대기열에 적용하면 8부터 11까지의 대기열에도 엄격한 우선 순위가 적용됩니다. 따라서 주니퍼는 엄격한 우선 순위 스케줄러를 대기열 4에서 7까지만 적용할 것을 권장합니다. |
| EX4600 및 QFX5100 |
QFX5100 및 EX4600 스위치에서는 단 하나의 대기열만 엄격한 우선 순위 대기열로 구성할 수 있습니다. 다른 대기열이 고갈되지 않도록 항상 엄격한 우선 순위 대기열에 셰이핑 속도를 적용하는 것이 좋습니다. 셰이핑 속도(셰이퍼)는 대기열이 소비할 수 있는 최대 대역폭 양을 설정합니다. (엄격한 우선 순위 처리를 받는 트래픽을 제한하기 위해 QFX10000 스위치의 전송 속도를 사용하는 것과 달리, 셰이핑 속도를 초과하는 트래픽은 손실되며 초과 대역폭을 공유하는 최선형 트래픽으로 처리되지 않습니다.) 엄격한 우선 순위 대기열이 사용할 수 있는 대역폭 양을 제한하는 쉐이핑 속도를 적용하지 않는 경우, 엄격한 우선 순위 대기열은 사용 가능한 모든 포트 대역폭을 사용하고 포트의 다른 대기열을 굶주리게 할 수 있습니다. |
| QFX10000 |
QFX10000 스위치에서 strict-high 우선 순위 대기열을 원하는 만큼 구성할 수 있습니다. QFX10000 스위치의 경우, 다른 대기열이 고갈되지 않도록 우선 순위가 높은 대기열에 전송 속도를 적용하는 것이 좋습니다. 엄격한-높은 우선순위 대기열에 구성된 전송 속도는 엄격한-높은 우선순위 처리를 받는 트래픽 양을 전송 속도에 의해 설정된 양 또는 퍼센트로 제한합니다. |