Solaris のシステム管理 (IP サービス)

IPQoS 構成ファイル

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

IPQoS 構成ファイルの構文については、例 37–3 を参照してください。この例では、次の表記上の規則に従います。


例 37–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

action 文を使用して、「IPQoS アーキテクチャーと Diffserv モデル」で説明されているさまざまな IPQoS モジュールを呼び出します。

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


fmt_version 1.0

action {
    module ipgpc
    name ipgpc.classify
}

クラシファイア action 文の次に、params 句または class 句を記述します。

ほかのすべての action 文には次の構文を使用します。

action {
name action-name
module module-name
params-clause | ""
cf-clauses
}
name action_name

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

module module_name

呼び出し予定の IPQoS モジュールを識別します。表 37–5 のモジュールの 1 つでなければなりません。

params_clause

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

cf_clauses

class 句または filter 句のゼロ以上のセット

モジュール定義

モジュールの定義によって、action 文のパラメータを処理するモジュールが示されます。IPQoS 構成ファイルには、次のモジュールを含めることができます。

表 37–5 IPQoS モジュール

モジュール名 

定義 

ipgpc

IP クラシファイア 

dscpmk

IP パケット内で DSCP 作成に使用するマーカー 

dlcosmk

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

tokenmt

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

tswtclmt

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

flowacct

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

class

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

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


class {
     
      name class-name
      next_action next-action-name
}      

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

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

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

filter

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

次の構文を持つ「filter 句」を使用して 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 命令は、グローバル統計を呼び出した action 文に関する UNIX スタイルの統計を有効にします。kstat コマンドを使用して、統計情報を表示できます。クラス単位の統計を有効にする前に、action 文の統計を有効にする必要があります。