Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
このページの目次
 

例:エグレス シングルレート 2 カラー ポリサーの設定とマルチフィールド分類子の設定による、ネットワーク内のアウトバウンド トラフィックの制限

この例では、シングルレート ツー カラー ポリサーを使用して、ネットワーク内のカスタマー トラフィックを制限する方法を示しています。ポリサーは、トークン バケットと呼ばれる概念を使用して、ドロップするトラフィックを特定します。ポリサーは、インターフェイス レベルで契約内トラフィックと契約外トラフィックの CoS(サービスクラス)戦略を実施します。シングルレート 2 カラー ポリサーは、着信パケット、発信パケット、またはその両方に適用できます。この例では、発信トラフィックの出力(エグレス)ポリサーとしてポリサーを適用します。マルチフィールド分類子の CoS キューイング オプションは、割り当てられたキューにトラフィックを配置し、後でスケジューリングとシェーピングを適用して、出力インターフェイス レベルでリソース使用率を管理するのに役立ちます。

トークン バケットの概念とその基になるアルゴリズムの詳細な説明は、このドキュメントの範囲を超えています。トラフィックポリシングとCoS全般の詳細については、Miguel BarreirosとPeter Lundqvistによる 『QOS-Enabled Networks—Tools and Foundations 』を参照してください。この本は、多くのオンライン書店や www.juniper.net/books で入手できます。

必要条件

この手順を確認するために、この例ではトラフィック ジェネレーターを使用します。トラフィックジェネレータは、ハードウェアベースにすることも、サーバやホストマシン上で動作するソフトウェアにすることもできます。

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

概要

警備

シングル レート ツー カラー ポリシングは、制限に適合しないトラフィックに暗黙的または設定されたアクションを適用することにより、特定のサービス レベルに対して設定されたトラフィック フロー レートを適用します。インターフェイスの入力トラフィックまたは出力トラフィックにシングルレート 2 カラー ポリサーを適用すると、ポリサーは次のコンポーネントで定義されたレート制限までトラフィック フローを計測します。

  • 帯域幅制限—インターフェイスで受信または送信されたパケットに許可される平均ビット数/秒。帯域幅制限は、1 秒あたりのビット数の絶対数、または 1 から 100 までのパーセント値で指定できます。パーセント値を指定した場合、実効帯域幅制限は、物理インターフェイスのメディア レートまたは論理インターフェイスで構成されたシェーピング レートのいずれかの割合として計算されます。

  • バーストサイズ制限 - データのバーストに許可される最大サイズ。バースト サイズはバイト単位で測定されます。バースト サイズの計算には、次の 2 つの式をお勧めします。

    バースト サイズ = 帯域幅 x バースト トラフィックの許容時間 / 8

    又は

    バースト サイズ = インターフェイス MTU x 10

    バースト サイズの設定については、 トラフィック ポリサーの適切なバースト サイズを決定するを参照してください。

    手記:

    インターフェイスには有限のバッファ空間があります。一般に、インターフェイスの推定合計バッファー深度は約 125 ミリ秒です。

設定された制限に準拠するトラフィックフロー(グリーントラフィックとして分類)の場合、パケットは暗黙的にPLP(パケット損失優先度)レベル low でマークされ、無制限にインターフェイスを通過できます。

設定された制限を超えるトラフィックフロー(レッドトラフィックとして分類)の場合、パケットはポリサーに設定されたトラフィックポリシングアクションに従って処理されます。この例では、15 KBps の制限を超えてバーストするパケットを破棄します。

レイヤー 3 トラフィックのレート制限を行うには、以下の方法で 2 色ポリサーを適用します。

  • 特定のプロトコルレベルで、論理インターフェイスに直接接続します。

  • 特定のプロトコルレベルで論理インターフェイスに適用される標準ステートレスファイアウォールフィルターのアクションとして。これは、この例で使用されている手法です。

レイヤー 2 トラフィックのレートを制限するには、論理インターフェイス ポリサーとしてのみ 2 色ポリサーを適用できます。ファイアウォールフィルターを介してレイヤー2トラフィックに2色ポリサーを適用することはできません。

注意:

ポリサー内で帯域幅制限または帯域幅パーセントのいずれかを選択できますが、これは相互に排他的です。集約インターフェイス、トンネルインターフェイス、およびソフトウェア インターフェイスに帯域幅の割合を使用するようにポリサーを設定することはできません。

この例では、 図1に示すように、デバイスR1に接続されたHost1とデバイスR3に接続されたHost3は、Webサーバーをエミュレートするトラフィックジェネレータです。Host1とHost3の両方が、デバイスR2の背後にあるHost2にトラフィックを送信しています。デバイス R1、R2、および R3 は、サービス プロバイダが所有します。Host1 には、R2 の背後にある Host2 のユーザーがアクセスします。Host1とHost2は同じ顧客が所有しており、そのトラフィックを管理する必要があります。Host1は、送信元TCP HTTPポートが80のトラフィックをユーザーに送信します。シングルレート 2 カラー ポリサーが設定され、R2 に接続する R1 上のインターフェイスに適用されます。ポリサーは、R1 と R2 の間を流れる Web トラフィックに利用可能な帯域幅について、Web サーバー所有者とサービス プロバイダーが合意した契約を適用します。

図1:シングルレート2カラーポリサーのシナリオ Single-Rate Two-Color Policer Scenario

この例では、R1 と R2 の間にエグレス ポリサーを適用します。これは、両方の顧客サイトからのトラフィックが同じリンクを共有するポイントだからです。これにより、必要なポリシング パラメータの適用が容易になります。R3のインターフェイスge-0/0/0およびR1のge-2/0/5にポリサーをイングレスポリサーとして適用して、R1とR2の間のリンク上の結合された顧客トラフィックのレートを制限しようとするのは複雑です。Host3とR3およびHost1とR1の間のギガビットイーサネットインターフェイスのMTUサイズの10倍の許容バーストレートで、利用可能な帯域幅の700Mbps (70%)の契約レートを使用するのは複雑ですR1 と R2 の間のリンクで 1400 Mbps の最大スループットが可能になります。

そのため、ホストとR3およびR1間のホスト接続に適用されるレート制限は、700Mbps 未満に低減する必要があります。各ホストを 350 Mbps に減らすだけでは、一方のホストがトラフィックを送信していて、もう一方のホストが送信していない場合、R1 と R2 の間のリンクの最大スループットは、契約レートの半分(700 Mbps ではなく 350 Mbps)になるだけなので、レート制限の数を何に減らすかを計算するときに問題になります。そのため、この例は、目的の目標を達成するためにネットワークにCoSを適用する際にどれだけの思考が必要かを示すのに便利です。

契約上の帯域幅の可用性に応じて、R1 のエグレス ポリサーは、Host1 から発信される HTTP ポート 80 のトラフィックが、R1 と R2 間のギガビット イーサネット インターフェイスの MTU サイズの 10 倍の許容バースト レートで、利用可能な帯域幅の 700 Mbps(70%)を使用するように制限します。

この例では、TCP 送信元ポート 12345 からの追加トラフィックを使用して、トラフィックがアウトバウンド キューにどのように割り当てられるかをさらに詳しく説明しています。

手記:

実際のシナリオでは、FTP、SFTP、SSH、TELNET、SMTP、IMAP、POP3 など、他のさまざまなポートのトラフィックもレート制限します。これは、多くの場合、Web ホスティング サービスの追加サービスとして含まれているためです。

手記:

ルーティング プロトコル、DNS、およびネットワーク接続の運用を維持するために必要なその他のプロトコルなどのネットワーク制御プロトコルに対してレート制限されない追加の帯域幅を利用できるようにしておく必要があります。これが、ファイアウォールフィルターに最終的な受け入れ条件がある理由です。

位相幾何学

この例では、 図 2 のトポロジーを使用しています。

図 2: シングルレート 2 カラー ポリサーのシナリオ Single-Rate Two-Color Policer Scenario

図 3 に、ポリシングの動作を示します。

図 3: シングルレート 2 カラー ポリサーのシナリオにおけるトラフィック制限 Traffic Limiting in a Single-Rate Two-Color Policer Scenario

マルチフィールド分類

分類子とは、ポリシングが設定されている場合、ルーターまたはスイッチがポリシングを通過した後にパケットを検査および分類するために使用するソフトウェア操作です。分類時には、パケットヘッダーの内容が調査され、この検査により、アウトバウンドインターフェイスがビジー状態になりすぎてすべてのパケットを処理できなくなり、デバイスでパケットを無差別にドロップするのではなく、インテリジェントにドロップさせたい場合に、パケットがどのように処理されるかが決定されます。対象のパケットを検出する一般的な方法の 1 つは、送信元ポート番号による方法です。この例ではTCP送信元ポート番号80と12345が使用されていますが、ファイアウォールフィルターの一致条件を使用して、マルチフィールド分類子ではパケット検出の他の多くの一致基準を使用できます。この例の設定では、送信元ポート 80 の TCP パケットを BE-データ転送クラスとキュー番号 0 に分類し、送信元ポート 12345 の TCP パケットをプレミアム データ転送クラスとキュー番号 1 に分類するように指定しています。両方のポート番号からのトラフィックは、最初にポリサーによって監視されます。トラフィックがポリサーを通過すると、送信のために割り当てられたキュー内のアウトバウンドインターフェイスに渡されます。

マルチフィールド分類子は、通常、パケットが自律システム(AS)に入るときにネットワークエッジで使用されます。ただし、ポリシングのセクションで前述したように、この例では、マルチフィールド分類器はサービスプロバイダのAS内に設定されています。

この例では、ファイアウォールフィルター mf-classifier を設定し、R1でいくつかのカスタム転送クラスを指定します。カスタム転送クラスを指定する際には、各クラスをキューに関連付けます。

分類器の動作を 図 4 に示します。

図4: TCP送信元ポートに基づくマルチフィールド分類 Multifield Classifier Based on TCP Source Ports

トラフィックが送信されるインターフェイス上のキューの動作を監視します。この例では、キューがどのように処理されているかを判断するために、show interfacesコマンドのextensiveオプションを使用して、R1のインターフェイスge-2/0/8のトラフィック統計を調べます。

構成

プロシージャ

CLIクイック構成

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

デバイスR1

デバイスR2

デバイス R3

手順

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

R1を設定するには:

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

  2. ポリサーを設定して、帯域幅 700 Mbps、バースト サイズ 15 KBps にレート制限します。

  3. red トラフィックフローのパケットを破棄するようにポリサーを設定します。

  4. カスタム転送クラスおよび関連するキュー番号を設定します。

  5. 送信元ポート80のTCPトラフィック(HTTPトラフィック)を、キュー0に関連付けられたBEデータ転送クラスに配置するファイアウォールフィルター条件を設定します。

  6. 送信元ポートが12345のTCPトラフィックを、キュー1に関連付けられたプレミアムデータ転送クラスに配置するファイアウォールフィルター条件を設定します。

  7. ファイアウォールフィルターの最後に、他のすべてのトラフィックを受け入れるデフォルトの条件を設定します。

    それ以外の場合、ファイアウォール フィルターによって明示的に受け入れられないインターフェイスに到着したトラフィックはすべて破棄されます。

  8. ファイアウォールフィルターを出力フィルターとしてインターフェイスge-2/0/8に適用します。

  9. OSPFを設定します。

手順

R2を設定するには:

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

    OSPFを設定します。

手順

R3 を設定するには:

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

  2. OSPFを設定します

業績

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

R1の設定が完了したら、設定モードから commit を入力します。

R2 の設定が完了したら、設定モードから commit を入力します。

R3 の設定が完了したら、設定モードから commit を入力します。

検証

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

CoS設定の確認

目的

転送クラスが正しく設定されていることを確認します。

アクション

R1から show class-of-service forwarding-class コマンドを実行します。

意味

出力には、構成されたカスタム分類子設定が表示されます。

カウンターのクリア

目的

ファイアウォールとインターフェイス カウンターがクリアされていることを確認します。

アクション

  • R1で、 clear firewall all コマンドを実行して、ファイアウォールカウンターを0にリセットします。

  • R1で、 clear interface statistics ge-2/0/5 コマンドを実行してインターフェイスカウンターを0にリセットします。

TCP HTTP ポート 80 からネットワークにトラフィックを送信し、その結果を監視する

目的

ポリサーおよびカスタム キュー レベルで監視できるトラフィックを送信します。

アクション

  1. トラフィック ジェネレーターを使用して、送信元ポート 80 の 20 個の TCP パケットをネットワークに送信します。

    -s フラグは送信元ポートを設定します。-k フラグを指定すると、送信元ポートは増加するのではなく、80 で安定します。-c フラグは、パケット数を 20 に設定します。-d フラグは、パケット サイズを設定します。

    手記:

    この例では、一部のパケットを確実にドロップするために、ポリサー番号を帯域幅制限 8 Kbps、バースト サイズ制限 1500 KBps に制限しています。

  2. R1で、 show firewall コマンドを使用してファイアウォールカウンターを確認します。

    hping出力では、30%のパケット損失(20パケットのうち6パケット)があり、show firewallコマンドの出力に示されているのと同じ数のパケットがポリサーによってドロップされたことに注意してください。また、ドロップがファイアウォール設定の mf-classifierで指定されているキュー BE-dataに関連付けられていることにも注意してください。

  3. R1で、 show interfaces extensive ge-2/0/8| find "Queue counters" コマンドを使用してキューカウンターを確認します。

    ファイアウォール設定の mf-classifierで指定されているキュー BE-dataを使用して、インターフェイス 2/0/8 から 14 個のパケットが送信されたことに注意してください。残りの 6 パケットは、上記のようにポリサーによって破棄されました。キュー 3 に送信された 16 パケットは、ネットワーク制御トラフィックです。ルーティングプロトコルの更新である可能性があります。

意味

両方のデバイスからの出力では、6 パケットが破棄されたことがわかります。これは、少なくとも 8 Kbps の緑(コントラクト内 HTTP ポート 80)トラフィックがあり、赤(契約外 HTTP ポート 80)トラフィックの 1500 KBps バースト オプションを超えたことを意味します。ステップ 2 および 3 では、残りのトラフィックをインターフェイス 2/0/8 から送信するために正しいキューが使用されたことがわかります。

TCPポート12345からネットワークへのトラフィックの送信と結果の監視

目的

ポリサーおよびカスタム キュー レベルで監視できるトラフィックを送信します。

アクション

  1. セクションカウンターのクリアに示すように、カウンターを再度クリアします。

  2. トラフィック ジェネレーターを使用して、送信元ポート 12345 の 20 個の TCP パケットをネットワークに送信します。

    -s フラグは送信元ポートを設定します。-k フラグを指定すると、送信元ポートは増加するのではなく、12345 で安定します。-c フラグは、パケット数を 20 に設定します。-d フラグは、パケット サイズを設定します。

  3. R1で、 show firewall コマンドを使用してファイアウォールカウンターを確認します。

    hping出力では、35%のパケット損失(20パケットのうち7パケット)があり、show firewallコマンドの出力に示されているのと同じ数のパケットがポリサーによってドロップされたことに注意してください。また、ドロップがファイアウォール設定の mf-classifierで指定されているキュー Premium-dataに関連付けられていることにも注意してください。

  4. R1で、 show interfaces extensive ge-2/0/8| find "Queue counters" コマンドを使用してキューカウンターを確認します。

    ファイアウォール設定の mf-classifier で指定されたプレミアムデータキューを使用して、インターフェイス 2/0/8 から 13 個のパケットが送信されたことに注意してください。残りの 7 パケットは、上記のようにポリサーによって破棄されました。キュー 3 に送信された 16 パケットは、ネットワーク制御トラフィックです。ルーティングプロトコルの更新である可能性があります。

意味

両方のデバイスからの出力は、7 パケットが破棄されたことを示しています。これは、少なくとも 8 Kbps の緑(コントラクト内 HTTP ポート 80)トラフィックがあり、赤(コントラクト外の HTTP ポート 80)トラフィックの 1500 KBps バースト オプションを超えたことを意味します。ステップ 3 および 4 では、残りのトラフィックをインターフェイス 2/0/8 から送信するために正しいキューが使用されたことがわかります。