IPQoS の管理

IPQoS 構成ファイル

この節では、IPQoS 構成ファイル各部の詳細を説明します。IPQoS のブート時にアクティブになるポリシーは、/etc/inet/ipqosinit.conf ファイルに格納されています。このファイルは編集可能ですが、新しい IPQoS システムの場合、別の名前で構成ファイルを作成するのが最善の方法です。IPQoS 構成の適用作業およびデバッグ作業については、第 4 章「IPQoS の起動と保守(手順)」を参照してください。

次の例に、IPQoS 構成ファイルの構文を示します。この例では、次の表記上の規則に従います。


例 6–3 IPQoS 構成ファイルの構文

file_format_version ::= fmt_version version

action_clause ::= action {
     name action_name
     module module_name
     params_clause |  ""
     cf_clauses
}
action_name ::= string
module_name ::= ipgpc | dlcosmk | dscpmk | tswtclmt | tokenmt | flowacct 

params_clause ::= params { 
     parameters
     params_stats |   ""
     }
parameters ::=    prm_name_value parameters |  ""
prm_name_value ::= param_name param_value 

params_stats ::= global_stats boolean

cf_clauses ::= class_clause cf_clauses |
               filter_clause cf_clauses | ""

class_clause ::= class {
     name class_name
     next_action next_action_name
     class_stats | ""
                 }
class_name  ::= string
next_action_name  ::= string
class_stats ::= enable_stats boolean
boolean ::= TRUE | FALSE

filter_clause ::= filter {
                name filter_name
                class class_name
                parameters
                }
filter_name ::= string

以下では、IPQoS 構成ファイルの各主要部分について説明します。

アクション文

action 文を使用して、IPQoS アーキテクチャと diffserv モデルに示されたさまざまな IPQoS モジュールを呼び出します。

IPQoS 構成ファイルを新規作成する場合、必ずバージョン番号から始める必要があります。ついで、次のアクションを追加して、クラシファイアを呼び出す必要があります。


fmt_version 1.0

action {
    module ipgpc
    name ipgpc.classify
}
クラシファイアアクション文の次に、params 句または クラス句を記述します。

ほかのすべてのアクション文では、次の構文を使用します。

action {
name action_name
module module_name
params_clause | ""
cf_clauses
}

文 

定義  

name action_name

アクションに名前を付ける 

module module_name

呼び出す IPQoS モジュールを特定する。モジュールは、表 6–5 に示したモジュールのどれかでなければならない

params_clause

クラシファイアが処理するパラメータ (グローバル統計、次に処理するアクションなど) を指定する 

cf_clauses

クラス句またはフィルタ句のゼロ以上のセット 

モジュール定義

モジュール定義は、アクション文のパラメータを処理するモジュールを示します。IPQoS 構成ファイルには、次のモジュールを含めることができます。

表 6–5 IPQoS モジュール

モジュール名 

定義  

ipgpc

IP クラシファイア 

dscpmk

IP パケット内で DS コードポイント作成に使用するマーカー 

dlcosmk

VLAN デバイスで使用するマーカー 

tokenmt

トークンバケットメーター 

tswtclmt

タイムスライディングウィンドウメーター 

flowacct

フローアカウンティングモジュール 

クラス句

トラフィックのクラスごとに「クラス句」を定義します。

IPQoS 構成内の残りのクラスを定義するには、次の構文を使用します。


class {
     
      name class_name
      next_action next_action_name
}      

特定のクラスに関する統計情報取得を有効にするには、最初に ipgpc.classify アクション文でグローバル統計を有効にする必要があります。詳細については、アクション文を参照してください。

クラスに関する統計を有効にしたいときは、enable_stats TRUE 文を使用します。 クラスの統計を収集する必要がない場合は、enable_stats FALSE を指定します。あるいは、 enable_stats 文を削除してもかまいません。

IPQoS 対応ネットワーク上のトラフィックは、特に定義しなければ「デフォルトクラス」になります。

フィルタ句

フィルタは、トラフィックフローをクラスに分類するセレクタで構成されます。これらのセレクタは、クラス句で作成されたクラスのトラフィックへ適用する条件を、明確に定義します。パケットがもっとも高い優先順位のフィルタのセレクタすべてに一致する場合、パケットはそのフィルタのクラスのメンバーと見なされます。ipgpc クラシファイアで使用可能なセレクタについては、表 6–1 を参照してください。

IPQoS 構成ファイル内でフィルタを定義するには、「フィルタ句」を使用します。フィルタ句の構文を次に示します。

filter { 
       name filter_name
       class class_name 
       parameters (selectors)
       }

Params 句

params 句には、アクション文で定義されたモジュールの処理方法が含まれます。params 句の構文を次に示します。


params {
           parameters
           params_stats |  ""
       }

params 句では、モジュールに適用するパラメータを使用します。

params 句の params_stats 値は、global_stats TRUE または global_stats FALSE になります。global_stats TRUE 命令は、グローバル統計を呼び出したアクション文に関する UNIX スタイルの統計を有効にします。kstat コマンドを使用して、統計情報を表示できます。クラス単位の統計を有効にする前に、アクション文の統計を有効にする必要があります。