Quality of Service ソリューション ガイド、 Cisco IOS Release 15.1S
トラフィック シェーピングを使用したパケッ ト フローの制御
トラフィック シェーピングを使用したパケット フローの制御
発行日;2012/02/01 | 英語版ドキュメント(2011/04/29 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 6MB) | フィードバック

目次

トラフィック シェーピングを使用したパケット フローの制御

目次

トラフィック シェーピングに関する情報

ネットワーク上でのトラフィック シェーピングのメリット

シスコのトラフィック シェーピング メカニズム

トークン バケットとトラフィック シェーピング

トラフィック シェーピングと転送レート

トラフィック シェーピングによるトラフィックの制御方法

トラフィック シェーピングとトラフィック ポリシングの比較

関連情報

その他の関連資料

関連資料

規格

MIB

RFC

シスコのテクニカル サポート

トラフィック シェーピングを使用したパケット フローの制御

このモジュールでは、ネットワーク上でのパケット フローの制御について簡単に説明します。ネットワーク上のパケット フロー(つまり、トラフィックのフロー)は、トラフィック シェーピングともいいます。トラフィック シェーピングでは、インターフェイスから出るトラフィックの速度を制御できます。このようにして、トラフィックのフローとパケットを受信するインターフェイスの速度を一致させることができます。Cisco では、トラフィックの規制またはシェーピングに、クラスベース トラフィック シェーピング、Generic Traffic Shaping(GTS; ジェネリック トラフィック シェーピング)、および Frame Relay Traffic Shaping(FRTS; フレームリレー トラフィック シェーピング)の 3 つのメカニズムを提供しています。これらのメカニズムを設定する前に、このモジュールに記載された概要を理解しておくことが重要です。

変更履歴

このマニュアルの初版の発行は 2005 年 5 月 2 日 で、最終更新日は 2005 年 5 月 2 日 です。

トラフィック シェーピングに関する情報

シスコのトラフィック シェーピング メカニズムを設定する前に、次の概念を理解しておく必要があります。

「ネットワーク上でのトラフィック シェーピングのメリット」

「シスコのトラフィック シェーピング メカニズム」

「トークン バケットとトラフィック シェーピング」

「トラフィック シェーピングと転送レート」

「トラフィック シェーピングによるトラフィックの制御方法」

「トラフィック シェーピングとトラフィック ポリシングの比較」

ネットワーク上でのトラフィック シェーピングのメリット

ネットワーク上でのトラフィック シェーピングには、次のようなメリットがあります。

インターフェイスから出力されるトラフィックを制御して、トラフィック フローとインターフェイスの速度を合わせることができます。

トラフィックが、適用されたポリシーに従うことが保証されます。

トラフィック シェーピングは、パケットが規定された要件を満たすように支援し、パケットに適用すべき適切なサービス品質を決定します。

また、ボトルネックとデータレートの不一致を排除します。この例が、中央サイトとリモート サイト間のデータ速度の不一致です。

トラフィック シェーピングはパケット損失を防止します。

ここで、トラフィック シェーピングを使用したいくつかのシナリオを紹介します。

たとえば、ポリシーによって、アクセス レートがインターフェイス速度を上回っていても、そのインターフェイスのレートが平均で特定のレートを上回るべきではないとされている場合に、帯域幅へのアクセスを制御します。

ネットワークのアクセス レートが複数存在する場合に、インターフェイス上でトラフィック シェーピングを設定します。フレームリレー ネットワーク上でリンクの一方の端が 256 kbps で動作し、もう一方の端が 128 kbps で動作しているとします。256 kbps でパケットを送信すると、そのリンクを使用しているアプリケーションで障害が発生する可能性があります。

同様に、さらに複雑なケースでは、アクセス レートが異なる複数の Data Terminal Equipment(DTE; データ端末装置)が接続されたリンク レイヤ ネットワークで輻輳が発生する場合があります。ネットワークによっては、一度に 1 台の DTE 装置に対して他の装置よりも速い転送速度を提供できる場合があります(このシナリオでは、トークン バケットが抽出され、そのレートが維持されることが保証されます)。

サブレート サービスを提供している場合。この場合は、トラフィック シェーピングを使用すれば、ルータで T1 または T3 リンクをより小さなチャネルに分割できます。

トラフィック シェーピングは、特に、フレームリレー ネットワークで重要です。これは、スイッチでは、どのパケットを優先すべきかを判断できないため、輻輳が発生したときにどのパケットを破棄すべきかを判断できないためです。さらに、トラフィック シェーピングは、ルータ上のデータを保証するために、常に、遅延が制限され、データ リンク ネットワーク内のトラフィックとトラフィック損失の量が制限される Voice over Frame Relay(VoFR)などのリアルタイム トラフィックにとって非常に重要です。ルータ上でデータを保持することによって、保証に応じた優先順位をトラフィックに付けることができます(パケット損失は、リアルタイム アプリケーションやインタラクティブ アプリケーションに有害な結果をもたらす可能性があります)。

シスコのトラフィック シェーピング メカニズム

シスコでは、クラスベース トラフィック シェーピング、GTS、および FRTS の 3 つのトラフィック シェーピング メカニズムを提供しています。

3 つすべてのメカニズムは、実装が似ていますが、Command-Line Interface(CLI; コマンド ライン インターフェイス)にいくつかの違いがあり、遅延させるトラフィックの保持または調整に使用されるキューの種類が異なります。具体的には、パケットを送信するか、遅延させるかを決定する基礎となるコードが 3 つすべてのメカニズムで共通しており、3 つすべてのメカニズムでトークン バケット メタファー(「トークン バケットとトラフィック シェーピング」を参照)が使用されます。

表 1 に、トラフィック シェーピング メカニズムの違いを示します。

 

表 1 トラフィック シェーピング メカニズムの違い

トラフィック シェーピング メカニズム
クラスベース
GTS
FRTS

コマンド ライン インターフェイス

クラス単位で設定を適用します。

インターフェイスまたはサブインターフェイス単位で設定を適用します。

traffic group コマンドがサポートされています。

パラメータのクラス。

継承メカニズムを通して設定をインターフェイス上のすべての Virtual Circuit(VC; 仮想回線)に適用します。

traffic group グループがありません。

サポートされているキュー

Class-Based WFQ(CBWFQ; クラスベース WFQ)。

インターフェイスまたはサブインターフェイスごとの Weighted Fair Queueing(WFQ; 重み付け均等化キューイング)。

WFQ、WFQ による厳密なプライオリティ キュー、Custom Queue(CQ; カスタム キュー)、Priority Queue(PQ; プライオリティ キュー)、VC ごとの First-In First-Out(FIFO)。

詳細の参照先

Regulating Packet Flow on a Per-Class Basis -- Using Class-Based Traffic Shaping 』モジュール

Regulating Packet Flow on a Per-Interface Basis -- Using Generic Traffic Shaping 』モジュール

MQC-Based Frame Relay Traffic Shaping モジュール

トークン バケットとトラフィック シェーピング

トラフィック シェーピングは、トークン バケット メタファーを使用してトラフィックを調整します。トークン バケットとは、転送率の正式な定義です。バースト サイズ、中間レート、時間間隔(Tc)という 3 つの要素から成り立っています。通常は中間レートがビット/秒の単位で表されますが、次に示す関係式によって、2 つの値が残る 3 つめの値から導き出される場合もあります。

mean rate = burst size / time interval
 

ここでは、これらの用語の定義を示します。

中間レート:Committed Information Rate(CIR; 認定情報レート)とも呼ばれます。単位時間あたりの平均的な送信または転送データ量を指定します。

バースト サイズ:Committed Burst(Bc; 認定バースト)サイズとも呼ばれ、スケジューリングの問題を発生させないように、任意の単位時間内に送信するトラフィック量をビット(またはバイト)/バースト単位で指定します(トラフィック シェーパーの場合は、バースト当たりのビット数を意味します)。

時間間隔:測定間隔とも呼ばれます。時間量子を秒/バースト単位で指定します。

定義では、間隔が整数倍の場合は、インターフェイスのビット レートは中間レートを超えません。ただし、ビット レートは間隔内で任意に早くなる場合があります。

トークン バケットは、フロー内のデータを調整するデバイスの管理に使用します。たとえば、トラフィック シェーパーがこのような調整デバイスとして使用されている場合があります。トークン バケット自体は、廃棄ポリシーやプライオリティ ポリシーを持っていません。トークン バケットはトークンを廃棄しますが、フローが調整デバイスのオーバードライブを引き起こした場合の転送キュー管理の問題はフローに委ねたままです。

トークン バケット メタファでは、トークンは一定のレートでバケットに補充されます。バケット自体には指定された容量があります。バケットの容量がいっぱいになると、新しく到達したトークンは廃棄されます。各トークンは、発信元が一定数のビットをネットワークに送信するための許可を表します。パケットを送信するには、調整デバイスによって、パケット サイズと表示上等しい数のトークンをバケットから削除できる必要があります。

パケットを送信するために必要なトークンがバケット内に存在しない場合は、パケットは、バケットに十分な量のトークンが蓄積されるまで送信待ちの状態になります。バケットがすでにトークンでいっぱいの場合、着信トークンはオーバーフローし、以後のパケットには使用できなくなります。したがって、発信元がネットワークに送信できる最大のバーストは常にバケットのサイズにほぼ比例します。

トラフィック シェーピングに使用されるトークン バケット メカニズムは、トークン バケットとデータ バッファ、またはキューの両方を持つことに注意してください。データ バッファを持たない場合は、トラフィック ポリサーである可能性があります。トラフィック シェーピングでは到達してすぐに送信できないパケットは、データ バッファで遅延されます。

トラフィック シェーピングでは、トークン バケットによってバースト性が許可されますが、同時にその限度が設定されます。トークン バケットは、(トークン バケットの容量)+(トークンをバケット内に配置するための設定レート x 時間間隔)よりも速くフローが送信されないようにバースト性が制限されることを保証します。また、長期転送レートが、トークンをバケット内に配置するための設定レートを超えないことを保証します。

トラフィック シェーピングと転送レート

トラフィック シェーピングは、データの転送レートを制限します。データ転送を次のいずれかに制限できます。

特定の設定レート

輻輳レベルに基づいて抽出されたレート

上述したように、転送レートは、トークン バケットを構成する 3 つの要素(バースト サイズ、中間レート、および時間(測定)間隔)に依存します。中間レートは、バースト サイズを時間間隔で割った商と一致します。

トラフィック シェーピングがイネーブルになっている場合は、インターフェイスのビット レートが、時間間隔の整数倍を超えて、中間レートを上回ることはありません。つまり、すべての時間間隔で、最大バースト サイズを送信できます。ただし、時間間隔内の任意の時点で、ビット レートが中間レートを上回ることがあります。

超過バースト(Be)サイズという新しい変数がトラフィック シェーピングに適用されます。Be サイズは、非認定ビットの数に相当します。非認定ビットは、CIR から外れたビットで、フレームリレー スイッチで受け入れられますが、Discard Eligible(DE; 破棄適性)としてマークされます。

つまり、Be サイズは、特定の状況下の時間間隔中に送信されるバースト サイズを上回ることができます。スイッチは、超過バーストに属しているパケットの通過を許可しますが、DE ビットを送信することによってそれらをマークします。パケットが送信されるかどうかは、スイッチの設定方法に依存します。

Be サイズが 0 の場合は、インターフェイスが時間間隔ごとにバースト サイズしか送信しないため、平均レートが中間レートを超えることはありません。ただし、Be サイズが 0 より大きい場合は、過去に最大量が送信されたことがなければ、インターフェイスが 1 バースト内で Bc + Be ビットを送信できます。ある時間間隔中にバースト サイズ未満のビット数が送信された場合は、Be サイズを超えない残りのビット数を使用して、次の時間間隔でバースト サイズを超えるビット数を送信できます。

トラフィック シェーピングによるトラフィックの制御方法

前述したように、シスコでは、トラフィックを調整するための 3 つのメカニズム(クラスベース トラフィック シェーピング、GTS、および FRTS)を提供しています。3 つすべてのメカニズムは、実装が似ていますが、CLI にいくつかの違いがあり、遅延させるトラフィックの保持または調整に使用されるキューの種類が異なります。

図 1 は、トラフィック シェーピング メカニズムによってどのようにトラフィックが調整されるかを示しています。

図 1 トラフィック シェーピング メカニズムによるトラフィックの調整方法

 

図 1 では、着信パケットがインターフェイスに到着します。パケットは、Access Control List(ACL; アクセス コントロール リスト)や Modular Quality of Service Command-Line Interface(MQC; モジュラ QoS コマンドライン インターフェイス)などの「分類エンジン」を使用して分類されます。パケットが、指定された分類と一致した場合は、トラフィック シェーピング メカニズムが継続されます。そうでない場合は、それ以上の処理が行われません。

指定された条件を満たしているパケットが、トークン バケット内に配置されます。トークン バケットの最大サイズは、Bc サイズ + Be サイズです。トークン バケットは、トークンの Bc 値/Tc の一定レートで満たされます。これは、設定されたトラフィック シェーピング レートです。

トラフィック シェーピング メカニズムがアクティブ(つまり、設定されたトラフィック シェーピング レートを上回るパケットがすでに転送キュー内に存在する)場合は、Tc ごとに、トラフィック シェーパーが、転送キュー内に送信に十分なパケットが存在する(つまり、トラフィックの最大 Bc(または Bc + Be)に到達している)かどうかをチェックします。

トラフィック シェーパーがアクティブになっていない(つまり、転送キュー内に設定されたトラフィック シェーパーを上回るパケットが存在しない)場合は、トラフィック シェーパーがトークン バケット内のトークンの数をチェックします。次のいずれかの処理が行われます。

トークン バケット内に十分なトークンが存在する場合は、パケットが送信(転送)されます。

トークン バケット内に十分なトークンが存在しない場合は、パケットが後で転送するためにシェーピング キュー内に配置されます。

トラフィック シェーピングとトラフィック ポリシングの比較

トラフィック シェーピングとトラフィック ポリシングは同じネットワーク上に一緒に実装できますが、 表 2 に示すように、これらには明らかな違いがあります。

 

表 2 トラフィック シェーピングとトラフィック ポリシングの違い

トラフィック シェーピング
トラフィック ポリシング

トリガー イベント

一定間隔(Tc)で自動的に発生します。

または

パケットがインターフェイスに到着した時点で発生します。

パケットがインターフェイスに到着した時点で発生します。

処理内容

パケットを分類します。

パケットが一致基準を満たしていない場合は、それ以上の処理が行われません。

一致条件を満たしているパケットは送信されます(トークン バケット内に十分なトークンが存在する場合)。

または

パケットが後で転送するためにキュー内に配置されます。

キュー内のパケット数がキュー制限を超えている場合は、パケットが破棄されます。

パケットを分類します。

パケットが一致基準を満たしていない場合は、それ以上の処理が行われません。

一致条件を満たし、指定されたレートに準拠、超過、または違反しているパケットには、設定されたポリシング処理(破棄、送信、マークして送信など)が施されます。

パケットは、後で転送するためにキュー内に配置されません。

トラフィック ポリシングの詳細については、次のドキュメントを参照してください。

Traffic Policing 』モジュール

Two-Rate Policer 』モジュール

Control Plane Policing 』モジュール

Class-Based Policing 』モジュール

QoS: Percentage-Based Policing 』モジュール

Policer Enhancement -- Multiple Actions 』モジュール

QoS: Color-Aware Policer 』モジュール


) トラフィック ポリシングに関する上記ドキュメントのリストはすべてを網羅しているわけではありません。トラフィック ポリシング関連の機能とモジュールは、IOS リリースとプラットフォームによって異なります。


関連情報

クラスベース トラフィック シェーピングを設定するには、『 Regulating Packet Flow on a Per-Class Basis -- Using Class-Based Traffic Shaping 』モジュールを参照します。

GTS を設定するには、『 Regulating Packet Flow on a Per-Interface Basis -- Using Generic Traffic Shaping 』モジュールを参照してください。

FRTS を設定するには、『 MQC-Based Frame Relay Traffic Shaping 』モジュールを参照してください。

その他の関連資料

ここでは、トラフィック シェーピングに関する関連資料について説明します。

関連資料

内容
参照先

QoS コマンド:コマンド構文、コマンド モード、コマンド履歴、デフォルト、使用上のガイドライン、および例

『Cisco IOS Quality of Service Solutions Command Reference』

パケット分類

Classifying Network Traffic 』モジュール

MQC、ポリシー マップ、クラス マップ、および階層型ポリシー マップ

Applying QoS Features Using the MQC 』モジュール

WFQ、CBWFQ、PQ、CQ、FIFO およびその他のキューイング メカニズム

Congestion Management Overview 』モジュール

クラスベース トラフィック シェーピング

Regulating Packet Flow on a Per-Class Basis -- Using Class-Based Traffic Shaping 』モジュール

GTS

Regulating Packet Flow on a Per-Interface Basis -- Using Generic Traffic Shaping 』モジュール

FRTS

MQC-Based Frame Relay Traffic Shaping 』モジュール

規格

規格
タイトル

この機能によってサポートされる新しい規格または変更された規格はありません。またこの機能による既存規格のサポートに変更はありません。

--

MIB

MIB
MIB リンク

新しい MIB または変更された MIB はサポートされていません。また、既存の MIB に対するサポートに変更はありません。

選択したプラットフォーム、Cisco IOS リリース、および機能セットの MIB の場所を検索しダウンロードするには、次の URL にある Cisco MIB Locator を使用します。

http://www.cisco.com/go/mibs

RFC

RFC
タイトル

新しい RFC または変更された RFC はサポートされていません。また、既存の RFC に対するサポートに変更はありません。

--

シスコのテクニカル サポート

説明
リンク

右の URL にアクセスして、シスコのテクニカル サポートを最大限に活用してください。

以下を含むさまざまな作業にこの Web サイトが役立ちます。
・テクニカル サポートを受ける
・ソフトウェアをダウンロードする
・セキュリティの脆弱性を報告する、またはシスコ製品のセキュリティ問題に対する支援を受ける
・ツールおよびリソースへアクセスする
- Product Alert の受信登録
- Field Notice の受信登録
- Bug Toolkit を使用した既知の問題の検索
・Networking Professionals(NetPro)コミュニティで、技術関連のディスカッションに参加する
・トレーニング リソースへアクセスする
・TAC Case Collection ツールを使用して、ハードウェアや設定、パフォーマンスに関する一般的な問題をインタラクティブに特定および解決する

この Web サイト上のツールにアクセスする際は、Cisco.com のログイン ID およびパスワードが必要です。

http://www.cisco.com/en/US/support/index.html