スケジューラ バッファ サイズの概要
高速インターフェイスからのトラフィックが大量に発生すると、輻輳が発生し、遅延バッファが小さいインターフェイス上でパケットを破棄する可能性があります。たとえば、ネットワークのエッジで動作しているジュニパーネットワークスデバイスは、ネットワーク コアのルーター上のファスト イーサネットまたはギガビット イーサネット インターフェイスから、チャネル化されたT1/E1インターフェイスで受信したバースト トラフィックの一部をドロップできます。デバイスジュニパーネットワークス、大きな遅延バッファは、チャンネル化されたT1/E1インターフェイスと非チャネルT1/E1インターフェイスの両方に対して設定できます。
トラフィックがキューに入れ、遅いインターフェイスで適切に送信されていることを確認するには、デフォルトの最大サイズよりも大きなバッファ サイズを設定できます。
このセクションでは、以下のトピックについて説明します。
チャンネル化 T1/E1 インターフェイスで使用可能な最大遅延バッファ サイズ
インターフェイス上で大きな遅延バッファ機能を有効にした場合、スケジューラー キューに割り当て可能な大きなバッファーを使用できます。インターフェイスで使用可能な最大遅延バッファ サイズは、表 1 に示す使用可能な最大遅延バッファ時間とインターフェイスの速度によって 異なります。
デフォルト値は次のとおりです。
クリアチャネル インターフェイス —デフォルトの遅延バッファ時間は 500,000 マイクロ秒(0.5 秒)です。
NxDS0 インターフェイス — デフォルトの遅延バッファ時間は 1,200,000 マイクロ秒(1.2 秒)です。
有効なライン レート |
使用可能な最大遅延バッファ時間 |
---|---|
< 4xDS0 |
4,000,000 マイクロ秒(4 秒) |
< 8xDS0 |
2,000,000 マイクロ秒(2 秒) |
< 16xDS0 |
1,000,000 マイクロ秒(1 秒) |
<= 32xDS0 |
500,000 マイクロ秒(0.5 秒) |
<= 10 Mbps |
400,000 マイクロ秒(0.4 秒) |
<= 20 Mbps |
300,000 マイクロ秒(0.3 秒) |
<= 30 Mbps |
200,000 マイクロ秒(0.2 秒) |
<= 40 Mbps |
150,000 マイクロ秒(0.15 秒) |
次の式を使用して、インターフェイスで使用可能な最大遅延バッファ サイズを計算できます。
interface speed x maximum delay buffer time = maximum available delay buffer size
たとえば、次の最大遅延バッファ サイズは、1xDS0 および 2xDS0 インターフェイスで使用できます。
1xDS0—64 Kbps x 4 s = 256 Kb(32 KB)
2xDS0—128 Kbps x 4 s = 512 Kb(64 KB)
最大サイズを超える遅延バッファ サイズを設定した場合、システムは設定をコミットできますが、システム ログ警告メッセージを表示し、設定された最大設定の代わりにデフォルトのバッファ サイズ設定を使用します。
インターフェイスの最大遅延バッファ vSRX サイズ
vSRX 仮想マシンの場合、1 Gbps インターフェイスの遅延バッファ時間はデフォルトで 1 秒、最大バッファー時間は 32 秒、最大バッファー サイズは 128 MB です。次の CLI コマンドを使用して、スケジューラーの最大遅延バッファ時間を設定します。
set class-of-service schedulers be-scheduler buffer-size temporal 32m
論理 vSRX インターフェイスでは、特定のシェーピング レートのないキューの遅延バッファ サイズが保証された最小バッファ サイズとして機能し、キュー サイズが小さい場合はパケット ドロップなしでキューの成長が可能になります。
すべてのキューで保証された遅延バッファ サイズの合計は、特定のシェーピング レートを持つキュー間で共有できるプールとして機能します。
遅延バッファは、キューのサイズを制御するために使用されますが、実際のメモリは表しません。パケット バッファー プールには、パケットの保存に使用される実際のメモリが含まれます。
次の場合、パケットはキューからテールドロップ(100% の可能性)になります。
合計バッファー制限を超える。
キュー サイズは、空きバッファー の合計サイズを超える可能性があります。
パケット バッファー プールは 25% 解放され、キューは保証された最小バッファー サイズを超えます。
パケット バッファー プールは、わずか 5% 無料(以下)です。
キュー サイズが保証されたバッファー サイズを超えると、パケットを RED プロファイル(RED ドロップ)で破棄できます。キュー サイズは、使用可能な無料の共有バッファーと同等以下に制限されます。
仮想マシンvSRXサポートは、インストールされたJunos OSのリリースによって異なります。
遅延バッファ サイズの割り当て方法
スケジューラを使用して、各キューの遅延バッファ サイズを指定できます。キュー バッファーは、一期間(マイクロ秒)として指定するか、合計バッファーの割合または残りのバッファーとして指定できます。 表 2 は、 キューでのバッファー割り当てに指定できるさまざまな方法を示しています。
バッファー サイズの割り当て方法 |
説明 |
---|---|
割合 |
合計バッファーの割合。 |
時間 |
時間、マイクロ秒の値。一時バッファーを設定する場合、送信レートも設定する必要があります。システムは、インターフェイスの使用可能な帯域幅を設定された一時値と送信レートの倍にすることで、キュー バッファのサイズを計算します。 一時的な方法を指定すると、ドロップ プロファイルに静的バッファーが割り当てられます。キュー バッファー サイズが満たされると、システムがパケットのドロップを開始します。デフォルトでは、他のバッファー タイプには、トラフィックのバーストを吸収するために余剰送信帯域幅を使用する動的バッファーが割り当てられます。 |
残り |
残りのバッファーは使用可能です。残りは、他のキューに割り当てられていないバッファの割合です。たとえば、遅延バッファの 40% をキュー 0 に割り当てる場合、キュー 3 でデフォルトの割り当て率を 5% に維持し、残りの部分をキュー 7 に割り当てると、キュー 7 は遅延バッファのおよそ 55% を使用します。 必要に応じて、スケジュール機能のバッファー サイズを割り当てるのに使用する残りの割合を日割り計算で指定できます。残りの割合が指定されていない場合、残りの値は均等に共有されます。 |
キューの遅延バッファ サイズ
スケジューラを使用してキューの遅延バッファ サイズを指定します。スケジューラで指定したバッファー割り当て方法に基づいて、キューのバッファー サイズが計算されます。さまざまな バッファー割り当 て方法については表 2 を、バッファー サイズの計算については表 3 を参照してください。
バッファー サイズの割り当て方法 |
キュー バッファーの計算 |
例 |
---|---|---|
割合 |
available interface bandwidth x configured buffer size percentage x maximum delay buffer time = queue buffer |
1xDS0 インターフェイスで、使用可能な遅延バッファ サイズの 30% を使用してキューを設定するとします。システムは、使用可能な最大遅延バッファ時間(4秒)を使用し、キューに9600バイトの遅延バッファを割り当てられます。 64 Kbps x 0.3 x 4 s=76,800 ビット=9,600 バイト |
時間 |
available interface bandwidth x configured transmit rate percentage x configured temporal buffer size = queue buffer |
1xDS0 インターフェイス上のキューに 3,000,000 マイクロ秒(3 秒)の遅延バッファを使用して、伝送レートを 20% に設定したとします。キューは4800バイトの遅延バッファを受信します。 64 Kbps x 0.2 x 3 s=38,400 ビット=4,800 バイト 最大遅延バッファ時間を超える一時的な値を設定した場合、バッファが他のキューに割り当てられた後にキューが残るバッファがキューに割り当てられる。1xDS0 インターフェイスで一時的な値が 6,000,000 マイクロ秒に設定されたとします。この値は 4,000,000 マイクロ秒の許容最大値を超えているため、キューは残りの遅延バッファに割り当てられます。 |
バッファー サイズを割合として指定する場合、システムは送信レートを無視し、バッファー サイズの割合にのみ基づいてバッファー サイズを計算します。