스케줄러 버퍼 크기 개요
더 빠른 인터페이스에서 트래픽이 폭주하면 지연 버퍼가 적은 느린 인터페이스에서 정체와 드롭된 패킷이 발생할 수 있습니다. 예를 들어, 네트워크 에지에서 작동하는 주니퍼 네트웍스 디바이스는 네트워크 코어의 라우터에서 Fast Ethernet 또는 Gigabit Ethernet 인터페이스에서 채널화된 T1/E1 인터페이스에서 수신되는 버스트 트래픽의 일부를 드롭할 수 있습니다. 주니퍼 네트웍스 디바이스에서 채널화된 T1/E1 및 비채널화된 T1/E1 인터페이스 모두에 대해 대규모 지연 버퍼를 구성할 수 있습니다.
느린 인터페이스에서 트래픽이 큐에 대기되고 올바르게 전송되도록 하려면 기본 최대값보다 큰 버퍼 크기를 구성할 수 있습니다.
이 섹션에는 다음 항목이 포함되어 있습니다.
Channelized T1/E1 인터페이스에 사용 가능한 최대 지연 버퍼 크기
인터페이스에서 큰 지연 버퍼 기능을 활성화하면 스케줄러 큐에 더 큰 버퍼를 할당할 수 있습니다. 인터페이스에서 사용할 수 있는 최대 지연 버퍼 크기는 사용 가능한 최대 지연 버퍼 시간과 표 1과 같이 인터페이스의 속도에 따라 달라집니다.
기본값은 다음과 같습니다.
Clear-Channel 인터페이스—기본 지연 버퍼 시간은 500,000 마이크로초(0.5s)입니다.
NxDS0 인터페이스—기본 지연 버퍼 시간은 1.2초(1,200,000 마이크로초)입니다.
유효 회선 속도 |
최대 가용 지연 버퍼 시간 |
---|---|
< 4xDS0 |
4,000,000 마이크로초(4s) |
< 8xDS0 |
2,000,000 마이크로초(2s) |
< 16xDS0 |
1,000,000 마이크로초(1s) |
<= 32xDS0 |
500,000 마이크로초(0.5s) |
<= 10mbps |
400,000 마이크로초(0.4s) |
<= 20mbps |
300,000 마이크로초(0.3s) |
<= 30mbps |
200,000 마이크로초(0.2s) |
<= 40mbps |
150,000 마이크로초(0.15 s) |
인터페이스에서 사용할 수 있는 최대 지연 버퍼 크기를 다음과 같은 수식으로 계산할 수 있습니다.
interface speed x maximum delay buffer time = maximum available delay buffer size
예를 들어, 다음과 같은 최대 지연 버퍼 크기는 1xDS0 및 2xDS0 인터페이스에 제공됩니다.
1xDS0—64Kbps x 4s = 256Kb(32KB)
2xDS0—128Kbps x 4s = 512Kb(64KB)
최대값보다 큰 지연 버퍼 크기를 구성하면 시스템에서 구성을 커밋할 수 있지만 시스템 로그 경고 메시지를 표시하고 구성된 최대 설정 대신 기본 버퍼 크기 설정을 사용합니다.
vSRX 인터페이스의 최대 지연 버퍼 크기
vSRX 가상 머신의 경우 1Gbps 인터페이스에는 1초의 기본 지연 버퍼 시간, 32초의 최대 버퍼 시간, 최대 128MB의 버퍼 크기가 있습니다. 다음 CLI 명령을 사용하여 스케줄러의 최대 지연 버퍼 시간을 설정합니다.
set class-of-service schedulers be-scheduler buffer-size temporal 32m
논리적 vSRX 인터페이스에서 특정 셰이핑 속도가 없는 큐의 지연 버퍼 크기는 보장된 최소 버퍼 크기로 작동하며, 큐 크기가 적을 경우 패킷 드롭 없이 큐를 확장할 수 있습니다.
모든 큐에 대해 보장된 지연 버퍼 크기의 합계는 특정 쉐이핑 속도(shaping rate)가 없는 큐 간에 공유할 수 있는 풀의 역할을 합니다.
지연 버퍼는 큐 크기를 제어하는 데 사용되지만 실제 메모리를 나타내지 않습니다. 패킷 버퍼 풀에는 패킷 저장에 사용되는 실제 메모리가 포함되어 있습니다.
다음과 같은 경우에 패킷은 큐에서 tail-dropp(100% 확률)됩니다.
총 버퍼 한도가 초과됩니다.
큐 크기는 전체 무료 버퍼 크기를 초과합니다.
패킷 버퍼 풀은 25% 덜 무료이며 큐는 보장된 최소 버퍼 크기를 초과합니다.
패킷 버퍼 풀은 5% 무료(또는 이하)에 불과합니다.
큐 크기가 보장된 버퍼 크기를 초과하는 경우 RED 프로파일(RED-dropped)으로 패킷을 드롭할 수도 있습니다. 큐 크기는 제한되며 사용 가능한 무료 공유 버퍼와 같거나 줄어듭니다.
vSRX 가상 머신에 대한 지원은 설치 시 Junos OS 릴리스에 따라 달라집니다.
지연 버퍼 크기 할당 방법
스케줄러를 사용하여 각 큐의 지연 버퍼 크기를 지정할 수 있습니다. 큐 버퍼는 시간 기간(마이크로초)으로 지정하거나 총 버퍼의 백분율 또는 나머지 버퍼로 지정할 수 있습니다. 표 2 에는 대기열의 버퍼 할당에 대해 지정할 수 있는 여러 가지 방법이 표시됩니다.
버퍼 크기 할당 방법 |
설명 |
---|---|
비율 |
총 버퍼의 비율 |
시간적 |
시간, 마이크로초의 가치. 임시 버퍼를 구성할 때는 전송 속도도 구성해야 합니다. 시스템은 구성된 임시 값 및 전송 속도의 인터페이스 시간 가용 대역폭을 배가하여 큐 버퍼 크기를 계산합니다. 임시 방법을 지정하면 드롭 프로파일에 정적 버퍼가 할당되고 대기열 버퍼 크기가 가득 차면 시스템에서 패킷 드롭을 시작합니다. 기본적으로 다른 버퍼 유형에는 트래픽 버스트를 흡수하기 위해 잉여 전송 대역폭을 사용하는 동적 버퍼가 할당됩니다. |
나머지 |
나머지 버퍼는 사용할 수 있습니다. 나머지는 다른 큐에 할당되지 않은 비율 버퍼입니다. 예를 들어 지연 버퍼의 40%를 큐 0에 할당하면 큐 3이 기본 할당을 5%로 유지하고 나머지를 큐 7에 할당하면 큐 7은 지연 버퍼의 약 55%를 사용합니다. 옵션으로 스케줄러의 버퍼 크기를 배율 기준으로 할당하는 데 사용할 나머지 비율을 지정할 수 있습니다. 나머지 비율을 지정하지 않으면 나머지 값은 동일하게 공유됩니다. |
대기열의 지연 버퍼 크기
스케줄러를 사용하여 대기열의 지연 버퍼 크기를 지정합니다. 시스템에서 스케줄러에서 지정한 버퍼 할당 방법을 기반으로 큐의 버퍼 크기를 계산합니다. 서로 다른 버퍼 할당 방법은 표 2 를, 버퍼 크기 계산은 표 3 을 참조하십시오.
버퍼 크기 할당 방법 |
큐 버퍼 계산 |
예제 |
---|---|---|
비율 |
available interface bandwidthx configured buffer size percentage =maximum delay buffer timequeue buffer |
1xDS0 인터페이스에서 사용 가능한 지연 버퍼 크기의 30 %를 사용하도록 큐를 구성한다고 가정해 보십시오. 시스템은 최대 가용 지연 버퍼 시간(4 초)을 사용하고 대기열에 9600 바이트의 지연 버퍼를 할당합니다. 64Kbps x 0.3 x 4 s=76,800비트=9,600바이트 |
시간적 |
available interface bandwidthx configured transmit rate percentage =configured temporal buffer sizequeue buffer |
1xDS0 인터페이스에서 대기열을 구성하여 3,000,000 마이크로초(3 초)의 지연 버퍼를 사용하고 전송 속도를 20 %로 구성한다고 가정해 보겠습니다. 대기열에는 4,800 바이트의 지연 버퍼가 수신됩니다. 64Kbps x 0.2 x 3 s=38,400비트=4,800바이트 사용 가능한 최대 지연 버퍼 시간을 초과하는 임시 값을 구성하면 버퍼가 다른 큐에 할당된 후 남은 버퍼가 할당됩니다. 1xDS0 인터페이스에서 6,000,000 마이크로초의 임시 값을 구성한다고 가정해 보겠습니다. 이 값이 4,000,000 마이크로초의 최대 허용 값을 초과하므로 대기열에 나머지 지연 버퍼가 할당됩니다. |
버퍼 크기를 백분율로 지정하면 시스템은 전송 속도를 무시하고 버퍼 크기 비율에 따라 버퍼 크기를 계산합니다.