IPQoS の管理

差別化サービスモデル

IPQoS には次のモジュールがあります。これらのモジュールは、RFC 2475 に定義されている「差別化サービス (diffserv)」アーキテクチャの一部です。

IPQoS では、次の拡張機能が diffserv モデルに追加されています。

この節では、IPQoS で使用する diffserv モジュールについて簡単に説明します。 QoS ポリシーを設定するには、これらのモジュール、その名前、およびその使用目的を認識しておく必要があります。 各モジュールの詳細については、IPQoS アーキテクチャと diffserv モデルを参照してください。

クラシファイア (ipgpc) の概要

diffserv モデルでは、クラシファイアは、ネットワークトラフィックの「フロー」からいくつかのパケット、つまり次の IP ヘッダーフィールドに同じ情報が入っているパケットのグループを選択します。

IPQoS では、これらのフィールドを「5 タプル」と呼びます。

IPQoS のクラシファイアモジュールの名前は ipgpc です。 ipgpc は、トラフィックフローを、IPQoS 構成ファイルに設定されている特性に基づいたクラスに分類します。

ipgpc の詳細については、クラシファイアモジュールを参照してください。

クラス

「クラス」とは、似たような特性を共有するネットワークフローのグループのことです。 たとえば、ISP は、顧客に提供するさまざまなサービスレベルを表すクラスを定義することができます。 一方、ASP は、アプリケーションごとに異なるサービスレベルを提供する SLA を定義することができます。 ASP の QoS ポリシーでは、特定の着信先 IP アドレス宛ての発信 FTP トラフィックを 1 つのクラスにまとめることができます。 ある企業の外部 Web サイトからの発信トラフィックも、1 つのクラスとして定義できます。

トラフィックをいくつかのクラスに分類することは、QoS ポリシーを計画する際に欠かせない作業の 1 つです。 ipqosconf ユーティリティを使用してクラスを作成するときは、実際にはipgpc クラシファイアを構成しています。

クラスの定義方法については、QoS ポリシーのクラスを定義する方法を参照してください。

フィルタ

「フィルタ」とは、「セレクタ」と呼ばれるパラメータを含む、規則セットのことです。 各フィルタは、必ず 1 つのクラスを指定する必要があります。IPQoS は、パケットを各フィルタのセレクタと突き合わせて、パケットがフィルタのクラスに属しているかどうかを調べます。 さまざまなセレクタを使用してパケットにフィルタをかけることができます。セレクタの例として、IPQoS 5 タプルなどのよく使うパラメータを次に示します。

たとえば、単純なフィルタで 80 という値の着信先ポートを指定するとします。 ipgpc クラシファイアは、着信先ポート 80 (HTTP) 宛てのすべてのパケットを選択し、QoS ポリシーの指示に従ってそれらのパケットを処理します。

フィルタの作成については、QoS ポリシーにフィルタを定義する方法を参照してください。

メーター (tokenmt および tswtclmt) の概要

diffserv モデルでは、「メーター」はトラフィックフローの転送速度をクラス単位で追跡します。 メーターは、該当する結果 (outcome) を得るために、フローの実際の転送速度が設定された速度にどれだけ適合しているかを評価します。そして、トラフィックフローの結果に基づいて、次のアクションを選択します。 次のアクションでは、パケットを別のアクションに送信したり、それ以上処理しないでネットワークに戻したりできます。

IPQoS のメーターは、ネットワークフローが、QoS ポリシーでそのクラスに定義されている転送速度に適合しているかどうかを調べます。 IPQoS には、次の 2 つのメータリングモジュールがあります。

どちらのメータリングモジュールも、赤、黄、緑という 3 つの結果を識別します。結果ごとに実行させたいアクションは、red_action_nameyellow_action_name、および green_action_name のパラメータで定義します。

また、tokenmt をカラーアウェアとして構成することもできます。 カラーアウェアとして構成されているメータリングインスタンスでは、パケットのサイズ、DSCP、トラフィックの転送速度、および設定されたパラメータを使って結果を求めます。 メーターは、DSCP を使ってパケットを緑、黄、または赤の結果にマップします。

メーター用のパラメータの定義については、フロー制御を計画する方法を参照してください。

マーカー (dscpmk および dlcosmk) の概要

diffserv モデルでは、「マーカー」は転送動作を表す値をパケットに付けます。 「マーキング」とは、パケットをネットワークに転送する方法を示す値を、そのパケットのヘッダーに付加するプロセスのことです。 IPQoS には、次の 2 つのマーカーモジュールがあります。

QoS ポリシーのマーカー計画の実装については、転送動作を計画する方法を参照してください。

フローアカウンティング (flowacct) の概要

IPQoS では、flowacct アカウンティングモジュールが diffserv モデルに追加されています。 flowacct を使用すると、トラフィックフローに関する統計情報を取得し、SLA に合わせて顧客に課金することができます。 フローアカウンティングは、容量計画やシステムの監視にも役立ちます。

flowacctacctadm コマンドと組み合わせて、アカウンティングログファイルを作成できます。 基本的なログには、次に示すように、IPQoS 5 タプルの他に 2 つの属性が記録されます。

上記以外の属性に関する統計情報を収集することもできます。これについては、フローに関する情報の記録、および flowacct(7ipp)acctadm(1M) のマニュアルページを参照してください。

フローアカウンティング計画の実装については、フローアカウンティングを計画する方法を参照してください。

例 — トラフィックが IPQoS モジュールをどのように通過するか

次の図は、着信トラフィックが IPQoS モジュールのいくつかを通過するときに取りうる経路を示しています。

図 1–1 diffserv モデルの IPQoS 実装を通過するトラフィックフロー

このフロー図については以下で説明します。

この図は、IPQoS 対応マシンにおける一般的なトラフィックフローシーケンスを示しています。

  1. クラシファイアが、システムの QoS ポリシーのフィルタリング条件に適合するすべてのパケットをパケットストリームから選択します。

  2. 選択したパケットが評価されて、次に実行されるアクションが決められます。

  3. クラシファイアが、フロー制御を必要としないトラフィックをマーカーに送信します。

  4. フロー制御が必要なトラフィックは、メーターに送信されます。

  5. メーターが、設定された速度を強制するため、トラフィック適合度の値をフロー制御されるパケットに割り当てます。

  6. フロー制御されるパケットが評価されて、アカウンティングが必要であるかどうかが判断されます。

  7. メーターが、フローアカウンティングを必要としないトラフィックをマーカーに送信します。

  8. フローアカウンティングモジュールが、受信したパケットに関する統計情報を収集します。 次に、それらのパケットをマーカーに送信します。

  9. マーカーが DS コードポイントをパケットヘッダーに割り当てます。 この DSCP は、diffserv 対応システムがパケットに適用するべきホップ単位動作 (PHB) を示します。