diffserv モデルでは、「クラシファイア」は、トラフィックフローを選択して、それぞれに異なるサービスレベルを適用するためのグループに分類する作業を担当します。RFC 2475 で定義されたクラシファイアは、当初、境界ルーター用に設計されました。それとは対照的に、IPQoS クラシファイア ipgpc は、内部ホストからローカルネットワークへのトラフィックフローを処理するために設計されています。このため、IPQoS システムと diffserv ルーターの両方を備えたネットワークは、より広範囲な差別化サービスを提供できます。ipgpc の技術情報については、ipgpc(7ipp) のマニュアルページを参照してください。
IPQoS 対応システムの IPQoS 構成ファイルに指定された条件を満たすトラフィックフローを選択します。
QoS ポリシーは、パケットヘッダーに存在する必要のあるさまざまな条件を定義します。これらの条件は、「セレクタ」と呼ばれます。 ipgpc クラシファイアは、これらのセレクタを、IPQoS システムから受信したパケットのヘッダーと比較して、一致するパケットをすべて選択します。
パケットフローを、IPQoS 構成ファイルの定義に従い、同じ特性を持つネットワークトラフィックである 「クラス」に分類します。
パケットの差別化サービス (DS) フィールドの値を調べ、差別化サービス (DS) コードポイントの存在を確認します
DS コードポイントすなわち DSCP は、受信したトラフィックに送信側によって転送動作のマークが付けられているかどうかを示します。
特定クラスのパケットに関して、IPQoS 構成ファイル内で次に指定されているアクションを調べます。
パケットを、IPQoS 構成ファイルで指定された次の IPQoS モジュールに渡すか、あるいはネットワークストリームに戻します。
クラシファイアの概要については、クラシファイア (ipgpc) の概要を参照してください。IPQoS 構成ファイル内でのクラシファイアの呼び出しに関しては、IPQoS 構成ファイルを参照してください。
ipgpc は、IPQoS 構成ファイルのフィルタ句で使用可能なさまざまなセレクタをサポートします。フィルタを定義するときには、特定クラスのトラフィック取得に必要な最小限のセレクタを使用してください。定義するフィルタの数が、IPQoS のパフォーマンスに影響を与える可能性があります。
表 6–1 IPQoS クラシファイアで利用可能なフィルタセレクタ
セレクタ |
引数 |
選択される情報 |
---|---|---|
saddr |
IP アドレス番号 |
発信元アドレス |
daddr |
IP アドレス番号 |
着信先アドレス |
sport |
ポート番号またはサービス名。/etc/services の定義に従う |
トラフィッククラスの発信元ポート |
dport |
ポート番号またはサービス名。/etc/services の定義に従う |
トラフィッククラスの着信先ポート |
protocol |
プロトコル番号またはプロトコル名。/etc/protocols の定義に従う |
このトラフィッククラスが使用するプロトコル |
dsfield |
DS コードポイント。デフォルトはゼロ (0) |
DS コードポイント。パケットに適用される転送動作を定義する |
if_name |
インタフェース名 |
特定クラスの着信トラフィックまたは発信トラフィックで使用されるインタフェース |
if_groupname |
インタフェースグループ名 |
特定クラスの着信トラフィックまたは発信トラフィックで使用されるインタフェースグループ |
user |
選択する UNIX userID の番号またはユーザー名。パケットに userID またはユーザー名が存在しない場合、デフォルトの –1 が使用される |
アプリケーションに指定される UserID |
projid |
選択するプロジェクト ID の番号 |
アプリケーションに付加されるプロジェクト ID |
priority |
優先順位の番号。もっとも低い優先順位は 0 |
このクラスのパケットに与えられる優先順位。優先順位は、同じクラスに複数存在するフィルタの重要度の順位付けに使用される |
direction |
次の引数のいずれかを指定できる。 |
IPQoS マシン上のパケットフローの方向 |
|
LOCAL_IN |
ローカルシステムから IPQoS システムへの入力トラフィック |
|
LOCAL_OUT |
ローカルシステムから IPQoS システムへの出力トラフィック |
|
FWD_IN |
転送される入力トラフィック |
|
FWD_OUT |
転送される出力トラフィック |
|
0 |
LOCAL_IN と LOCAL_OUT、または FORWARD_IN と FORWARD_OUT を表すワイルドカード |
precedence |
優先度の値。もっとも高い優先度は 0 |
優先度は、同一優先順位のフィルタの順序付けに使用される |
ip_version |
v4 または v6 |
パケットにより使用されるアドレス指定スキーマ (IPv4 または IPv6) |