Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
このページで
 

例:デフォルト DSCP 動作集約分類子の構成と適用

Junos OSの分類子は、トラフィックフローを識別して分離し、サービスクラス(CoS)プロセスの後半でトラフィックに優先度を設定する手段を提供します。

動作集約(BA)分類子は、既知のCoS値を転送クラスと損失の優先度と関連付けることで、この関数を実行します。デフォルトの分類子を有効にするには、デバイスインターフェイスに適用するだけです。デフォルトの分類子がインターフェイスに適用されていない場合、有効になりません。

Junos OSは、複数のデフォルトBA分類子タイプを提供します。これにより、トラフィック分類全体の目標を達成するために必要に応じて、カスタムBA分類子を組み合わせて、補足することができます。この例では、デフォルト(BA)の DiffServ コード ポイント(DSCP)分類子を適用し、その機能を検証する方法を示します。

要件

この手順を確認するために、この例ではトラフィック ジェネレータを使用します。トラフィック ジェネレータは、ハードウェアベースで実行することも、サーバーまたはホスト マシン上で実行するソフトウェアにすることもできます。トラフィック ジェネレータにアクセスできない場合は、拡張 ping を使用して検証できます。このアプローチも示しています。

この手順の機能は、Junos OS を実行するデバイスで幅広くサポートされています。ここに示す例は、Junos OSリリース10.4を実行しているMXシリーズルーターでテストと検証を行いました。

概要

Junos OS CoSの基本は、トラフィックの差別化です。異なるサービス クラスにトラフィックを割り当てることで、必要な差別化を図ることができます。ルーターの観点から、パケットに割り当てられたサービスクラスは、パケットに対するルーターの動作を定義します。トラフィックの差別化の概念はすべての CoS ツールに存在し、その結果、サービス クラスが CoS 設計全体に存在します。分類子には1つの入力と受信パケットがあり、 N の出力が可能です。 N はパケットを分類できるサービスクラスの数です。

BA 分類は、デバイスに送信されるトラフィックがパケット ヘッダーで信頼できる CoS 値をすでに持っている場合に使用されます。たとえば、デフォルトの DSCP BA 分類子は、コード ポイント 000000 を持つパケットがベストエフォート型転送クラスに割り当てられ、損失優先度が低い場合に指定します。

各既知の DSCP には、転送クラスと損失の優先度がデフォルトで割り当てられます。これを表示するには、 コマンドを show class-of-service classifier 実行します。

転送クラスは、出力キューを決定します。デフォルトでは、すべてのベストエフォート型トラフィックはキュー 0 を使用します。

関連付けられているキューをデフォルトで、転送クラスごとに表示するには、 コマンドを show class-of-service forwarding-class 使用します。(明確にするために、出力の一部は除外されています。

輻輳発生時にパケットの破棄を制御するために、スケジューラーがランダム早期検出(RED)アルゴリズムと組み合わせて、損失の優先度を使用します。損失の優先度を考えるときは、損失を設定しない限り、意味を持たないように注意してください。デフォルトのドロップ動作は、キューが 100% フルになるまで待機してから、パケットのドロップを無差別に開始することです。キューが 100% 未満になると、パケットのドロップが停止します。

デフォルトのドロップ動作は、 コマンドに show class-of-service drop-profile 表示されます。

さまざまな損失の優先度の意味を作成するには、カスタム ドロップ プロファイルを設定する必要があります。例えば、損失の優先度を低く定義すると、キューが 75% 満杯の場合はドロップ確率が 10%、キューのフィル レベルが 95% の場合はドロップ確率が 40% になります。フィル レベルが 25 パーセントの場合は 50 パーセントのドロップ確率を、フィル レベルが 50% の場合は 90% のドロップ確率を意味する高損失優先度を定義できます。この例ではカスタム ドロップ プロファイルは含まれていませんが、分類子が損失の優先度を割り当てるため、ここでは明確に説明します。ドロップ プロファイルを作成するまで、これらの割り当ては無意味であることを理解することが重要です。

デフォルトの分類子演算を 図 1 に示します。この図は、2 つの IPv4 パケットがインターフェイスに入り、パケット ヘッダー内の DSCP コード ポイントに従って分類されていることを示しています。

図 1: 2 つのキュー Behavior Aggregate Classifier with Two Queuesを持つ動作集約分類子

分類子については、次の Juniper Networks Learning Byte ビデオで詳しく説明します。

トポロジ

図 2 は、サンプル ネットワークを示しています。

図 2:動作集約分類子シナリオ Behavior Aggregate Classifier Scenario

単一のデバイスに適用するのではなく、トポロジ全体にサービス クラス設定を適用することが重要です。さらに、受信インターフェイスに分類が有効であっても、すべてのコアおよびコアに面するインターフェイスに BA 分類子を適用する必要があります。これは、トラフィックの方向に応じて、単一のインターフェイスが送受信される可能性があるためです。たとえば、ホスト 1 からホスト 2 へのトラフィック フローでは、受信インターフェイスはデバイス R2 の ge-1/0/7、デバイス R3 の ge-2/0/6 です。トラフィックは、ホスト 2 からホスト R1 に向けて流れるので、受信インターフェイスはデバイス R2 の ge-1/0/3、デバイス R1 の ge-1/0/7 です。

これらのインターフェイスはコアに面していないため、デバイスR1またはデバイスR3のge-2/0/5のge-1/0/1にはBA分類子は適用されません。一般的に、エッジに面したインターフェイスでは、BA分類子ではなく、マルチフィールドの分類子を使用します。

CLI クイック構成 は、ジュニパーネットワークスのすべてのデバイスの設定を 図 2 に示しています。セクション 手順 手順では、デバイス R2 の手順について説明します。

構成

手順

CLI クイックコンフィギュレーション

この例を迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に合わせて必要な詳細を変更してから、 階層レベルの CLI にコマンドを [edit] コピー アンド ペーストします。

デバイス R1

デバイスR2

デバイスR3

手順

次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、 CLIユーザーガイドの設定モードでのCLIエディターの使用を参照してください。

デフォルト DSCP 動作集約分類子を有効にするには:

  1. デバイス インターフェイスを設定します。

  2. インターフェイスでデフォルト DSCP 分類子を有効にします。

結果

設定モードから、 および show class-of-service コマンドを入力して設定をshow interfaces確認します。出力結果に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから を入力します commit

検証

設定が正しく機能していることを確認します。

動作集約分類子の検証

目的

デバイスインターフェイスで、デフォルトの動作集約分類子が有効になっていることを確認します。分類子は受信パケットで動作しますが、結果として出力されるキューの割り当てを表示します。

アクション

  1. デバイスR2のインターフェイス統計をクリアします。

  2. デバイス R1 からの拡張 ping またはホストまたはサーバー上で実行されているパケット ジェネレータを使用して、コード ポイントを 001010 に設定したパケットを送信します。

    両方の方法をここに示します。使用されるパケット ジェネレータは hping です。

    • 拡張 ping を使用して IPv4 パケット ヘッダーで DSCP コード ポイントを設定する場合、 コマンドのオプションpingでサービスタイプ(ToS)10 進値(この場合は 40)が必要tosです。

    • hping を使用して IPv4 パケット ヘッダーで DSCP コード ポイントを設定する場合、 コマンドのhpingオプションで ToS hex 値(この場合は 28)が必要--tosです。

    2 進から 16 進への変換スキルや 2 進から 10 進への変換スキルが必要な場合は、 http://www.mathsisfun.com/binary-decimal-hexadecimal-converter.html などのオンライン カリキュレータを使用できます。

    メモ:

    バイナリ DSCP コード ポイント値を変換する場合は、最後に必ず 2 つの余分なゼロを追加してください。そのため、001010 ではなく、00101000 を使用します。これらの 0 の値(7 ビット目と 8 ビット目)は予約されており、無視されますが、変換に値が含まれていない場合、16 進値と 10 進値は正しくありません。

    デバイスR1から送信された拡張Ping

    ホスト 1 から送信された hping

  3. デバイスR2で、キュー2が増加していることを確認します。

    コード ポイント 001010 はアシュアランス転送に関連付けられています。デフォルトではキュー 2 が使用されます。

意味

出力は、ルーターを介して50パケットを送信した後、キュー2が50パケット増加したことを示しています。