송신 혼잡을 관리하기 위한 스케줄러 버퍼 크기 구성
출력 단계에서 혼잡을 제어하기 위해 지연 버퍼 대역폭을 구성할 수 있습니다. delay-buffer 대역폭은 지정된 지연 시간까지 버스트 트래픽을 흡수할 수 있는 패킷 버퍼 공간을 제공합니다. 지정된 지연 버퍼가 가득 차면 삭제 확률이 100%인 패킷이 버퍼 헤드에서 삭제됩니다.
대기열 0에서 7까지의 기본 스케줄러 전송 속도는 사용 가능한 총 대역폭의 95, 0, 0, 0, 0, 0, 0 및 5%입니다.
대기열 0에서 7까지의 기본 버퍼 크기 백분율은 사용 가능한 총 버퍼의 95, 0, 0, 0, 0, 0, 0 및 5%입니다. 대기열당 사용 가능한 총 버퍼는 PIC 유형에 따라 다릅니다.
버퍼 크기를 구성하려면 계층 수준에서 명령문을 [edit class-of-service schedulers scheduler-name] 포함합니다buffer-size.
[edit class-of-service schedulers scheduler-name] buffer-size (percent percentage | remainder | shared | temporal microseconds);
각 스케줄러에 대해 버퍼 크기를 다음 중 하나로 구성할 수 있습니다.
-
총 버퍼의 백분율입니다. 대기열당 총 버퍼는 마이크로초를 기준으로 하며 라우팅 디바이스 유형에 따라 다릅니다.
-
나머지 버퍼를 사용할 수 있습니다. 나머지는 다른 대기열에 할당되지 않은 버퍼 비율입니다.
-
인터페이스의 버퍼 풀에서 공유됩니다. PTX 시리즈 라우터에서 대기열의 버퍼를 인터페이스 버퍼의 최대 100%로 설정합니다. 이 옵션을 사용하면 대기열의 버퍼가 인터페이스의 유일한 활성 대기열인 경우에만 인터페이스 버퍼의 100%까지 커질 수 있습니다.
-
임시 값(마이크로초)입니다. 임시 설정의 경우, 대기열 알고리즘은 계산된 바이트 수를 초과하여 대기열에 넣을 때 패킷 손실을 시작합니다. 이 최대값은 대기열의 전송 속도에 구성된 시간 값을 곱하여 계산됩니다.
메모:일반적으로 기본 임시 버퍼 값은 인터페이스의 속도 또는 셰이핑 속도와 반비례합니다. 인터페이스의 속도가 증가함에 따라 인터페이스가 점점 더 많은 데이터를 전송할 수 있으므로 데이터를 보관하는 데 필요한 버퍼가 점점 줄어듭니다.
임시 버퍼 설정을 구성하는 데 사용할 수 있는 하드웨어 리소스는 제한되어 있으므로 가능한 한 일반적인 임시 버퍼 구성을 사용하는 것이 좋습니다.
일반적으로, 포트 스케줄러 및 계층 스케줄러 모두에 대해 스케줄러 버퍼 크기를 구성할 수 있습니다. 포트 스케줄러의 경우, Junos는 다음을 기반으로 공유 버퍼 크기를 계산합니다.
-
포트 셰이퍼가 구성된 경우, Junos는 포트 셰이퍼를 기반으로 버퍼 크기를 계산합니다.
-
포트 셰이퍼가 구성되지 않은 경우, Junos는 포트 속도에 따라 버퍼 크기를 계산합니다.
계층형 스케줄러의 경우, Junos는 다음을 기반으로 공유 버퍼 크기를 계산합니다.
-
논리적 인터페이스에 셰이퍼가 구성된 경우 Junos는 논리적 인터페이스 포트 셰이퍼를 기반으로 버퍼 크기를 계산합니다.
-
포트 쉐이퍼가 구성되었지만 논리적 인터페이스 쉐이퍼가 없는 경우, Junos는 포트 쉐이퍼를 기반으로 버퍼 크기를 계산합니다.
-
셰이퍼가 구성되지 않은 경우 Junos는 포트 속도에 따라 버퍼 크기를 계산합니다.
예: 스케줄러에 대한 지연 버퍼 값 구성
다양한 스케줄러(또는 대기열)로 구성된 스케줄러 맵을 물리적 또는 논리적 인터페이스에 할당할 수 있습니다. 물리적 인터페이스의 대규모 지연 버퍼는 계층 수준에서 및 buffer-size 명령문을 사용하여 transmit-rate 다양한 스케줄러(또는 대기열)에 [edit class-of-service schedulers scheduler-name] 배포될 수 있습니다.
이 예에서는 지연 버퍼 크기가 각각 백분율(20%)과 시간 값(300,000마이크로초)으로 구성된 두 개의 스케줄러 sched-best 및 sched-exped을(를) 보여줍니다. 스케줄러의 sched-best 전송 속도는 10%입니다. 스케줄러의 sched-exped 전송 속도는 20%입니다.
sched-best 스케줄러의 지연 버퍼는 지정된 전송 속도인 10%의 두 배입니다. 스케줄러가 T1 인터페이스에 할당되었다고 가정하면 sched-best 이 스케줄러는 T1 인터페이스의 지연 버퍼 총 500,000마이크로초 중 20%를 수신합니다. 따라서 스케줄러는 18,750바이트의 지연 버퍼를 수신합니다.
available interface bandwidth * configured percentage buffer-size * maximum buffer = queue buffer 1.5 Mbps * 0.2 * 500,000 microseconds = 150,000 bits = 18,750 bytes
스케줄러가 T1 인터페이스에 할당되었다고 가정하면 sched-exped , 이 스케줄러는 트래픽 속도가 20%인 T1 인터페이스의 500,000마이크로초 지연 버퍼 중 300,000마이크로초를 수신합니다. 따라서 스케줄러는 11,250바이트의 지연 버퍼를 수신합니다.
available interface bandwidth * configured percentage transmit-rate * configured temporal buffer-size = queue buffer 1.5 Mbps * 0.2 * 300,000 microseconds = 90,000 bits = 11,250 bytes
이 예를 구성하려면 다음을 수행합니다.
예: 물리적 인터페이스 쉐이핑 속도 구성
일반적으로 물리적 인터페이스 속도는 지연 버퍼 크기를 계산하기 위한 기준이 됩니다. 그러나 명령문을 포함 shaping-rate 하면 쉐이핑 속도가 지연 버퍼 크기를 계산하는 기준이 됩니다.
이 예에서는 T1 인터페이스의 셰이핑 속도를 200Kbps로 구성하며, 이는 T1 인터페이스 대역폭이 1.5Mbps가 아닌 200Kbps로 설정됨을 의미합니다. 200Kbps는 4xDS0보다 작기 때문에 이 인터페이스는 4초의 지연 버퍼 또는 800Kbps의 트래픽을 수신합니다. 이는 1초에 800KB입니다.
전체 구성
이 예는 FPC 슬롯 0, PIC 슬롯 0의 채널화된 OC12 IQ PIC와 프레임 릴레이 캡슐화를 통해 채널화된 T1 인터페이스를 보여줍니다. 또한 물리적 인터페이스의 스케줄러 맵 구성을 보여줍니다.
chassis {
fpc 0 {
pic 0 {
q-pic-large-buffer;
max-queues-per-interface 8;
}
}
}
interfaces {
coc12-0/0/0 {
partition 1 oc-slice 1 interface-type coc1;
}
coc1-0/0/0:1 {
partition 1 interface-type t1;
}
t1-0/0/0:1:1 {
encapsulation frame-relay;
unit 0 {
family inet {
address 10.1.1.1/24;
}
dlci 100;
}
}
}
class-of-service {
interfaces {
t1-0/0/0:1:1 {
scheduler-map smap-1;
}
}
scheduler-maps {
smap-1 {
forwarding-class best-effort scheduler sched-best;
forwarding-class expedited-forwarding scheduler sched-exped;
forwarding-class assured-forwarding scheduler sched-assure;
forwarding-class network-control scheduler sched-network;
}
}
schedulers {
sched-best {
transmit-rate percent 40;
buffer-size percent 40;
}
sched-exped {
transmit-rate percent 30;
buffer-size percent 30;
}
sched-assure {
transmit-rate percent 20;
buffer-size percent 20;
}
sched-network {
transmit-rate percent 10;
buffer-size percent 10;
}
}
}
Memory Allocation Dynamic per Queue(큐당 동적 메모리 할당 활성화 및 비활성화)
Junos OS에서 메모리 할당 동적(MAD)은 대기열이 전송 속도 설정에 할당된 것보다 더 많은 대역폭을 사용할 때 추가 지연 버퍼를 동적으로 프로비저닝하는 메커니즘입니다. 이 추가 버퍼를 사용하면 대기열이 트래픽 버스트를 더 쉽게 흡수하여 패킷 손실을 방지할 수 있습니다. MAD 메커니즘은 큐에서 추가 전송 대역폭을 사용하는 경우에만 추가 지연 버퍼를 프로비전할 수 있습니다. 즉, 사용 가능한 잉여 전송 대역폭이 없는 경우 대기열에서 패킷이 떨어질 수 있습니다.
주니퍼 네트웍스 MX 시리즈 5G 유니버설 라우팅 플랫폼 및 EX 시리즈 이더넷 스위치의 경우에만 지연 버퍼가 지정된 대기열에 대한 임시 설정으로 구성되지 않는 한 MAD 메커니즘이 활성화됩니다. MAD 메커니즘은 주요 요구 사항이 최대 대역폭 사용률인 지연 면역 트래픽을 전달하는 클래스를 포워딩하는 데 특히 유용합니다. 반면, 지연 시간에 민감한 트래픽의 경우, 대규모 지연 버퍼가 최적이 아니기 때문에 MAD 메커니즘을 비활성화하는 것이 좋습니다.
MAD 지원은 PIC가 아닌 FPC 및 패킷 포워딩 엔진에 의존합니다. MPC(Modular Port Concentrator) 및 IQ, IQ2, IQ2E 또는 IQE PIC는 MAD를 지원하지 않습니다.
지원되는 하드웨어에서 MAD 메커니즘을 활성화하려면:
buffer-size percent 계층 수준에서 문을 [edit class-of-service schedulers scheduler-name] 포함합니다.
[edit class-of-service schedulers scheduler-name] user@host# set buffer-size percent percentage
대기열에 할당되는 최소 버퍼는 18,432바이트입니다. 대기열의 버퍼 크기가 18,000 미만으로 구성된 경우 대기열은 18,432바이트의 버퍼 크기를 유지합니다.
원하는 경우 구성된 전송 속도보다 큰 버퍼 크기를 구성할 수 있습니다. 버퍼는 충분한 초과 대역폭을 사용할 수 있는 경우 구성된 전송 속도를 초과하는 패킷 버스트를 수용할 수 있습니다. 예를 들어:
class-of-service {
schedulers {
sched-best {
transmit-rate percent 20;
buffer-size percent 30;
}
}
}
앞에서 설명한 대로 임시 지연 버퍼 구성을 사용하여 큐에서 MAD 메커니즘을 비활성화하여 지연 버퍼의 크기를 제한할 수 있습니다. 그러나 임시 대기열의 유효 버퍼 지연 시간은 버퍼 크기 값뿐만 아니라 연관된 드롭 프로파일에 의해서도 제한됩니다. 드롭 프로파일이 100% 미만의 채우기 수준에서 100%의 드롭 확률을 지정하는 경우 유효 최대 버퍼 지연 시간은 버퍼 크기 설정보다 작습니다. 이는 드롭 프로파일이 대기열의 지연 버퍼가 100% 가득 차기 전에 대기열 드롭 패킷을 지정하기 때문입니다.
이러한 구성은 다음 예제와 같을 수 있습니다.
class-of-service {
drop-profiles {
plp-high {
fill-level 70 drop-probability 100;
}
plp-low {
fill-level 80 drop-probability 100;
}
}
schedulers {
sched {
buffer-size temporal 500000;
drop-profile-map loss-priority low protocol any drop-profile plp-low;
drop-profile-map loss-priority high protocol any drop-profile plp-high;
transmit-rate percent 20;
}
}
}
플랫폼별 버퍼 크기 구성 동작
기능 탐색기를 사용하여 버퍼 크기 구성에 대한 플랫폼 및 릴리스 지원을 확인합니다.
다음 표를 사용하여 플랫폼에 대한 플랫폼별 동작을 검토합니다.
| 플랫폼 | 차이점 |
|---|---|
| ACX7000 시리즈 라우터 |
의 |
| PTX 시리즈 라우터 | PTX 시리즈 라우터는 대기열의 버퍼를 인터페이스 버퍼의 최대 100%로 설정할 수 있는 에 대한 |