ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 での IP サービス品質の管理 Oracle Solaris 11.1 Information Library (日本語) |
IPQoS 構成ファイル内での QoS ポリシーの定義 (タスクマップ)
IPQoS 構成ファイルを作成し、トラフィッククラスを定義する方法
IPQoS 構成ファイル内でクラスのアカウンティングを有効にする方法
ベストエフォート Web サーバー用の IPQoS 構成ファイルを作成する方法
このセクションでは、顧客に主要アプリケーションを提供するアプリケーションサーバー用の、構成ファイルを作成する方法について説明します。この手順では、例として図 2-4 の BigAPPS サーバーを使用します。
次の構成ファイルは、BigAPPS サーバーの IPQoS アクティビティーを定義します。このサーバーは、顧客向けの FTP、電子メール (SMTP)、およびネットワークニュース (NNTP) のホストです。
例 3-3 アプリケーションサーバー用サンプル IPQoS 構成ファイル
fmt_version 1.0 action { module ipgpc name ipgpc.classify params { global_stats TRUE } class { name smtp enable_stats FALSE next_action markAF13 } class { name news next_action markAF21 } class { name ftp next_action meterftp } filter { name smtpout sport smtp class smtp } filter { name newsout sport nntp class news } filter { name ftpout sport ftp class ftp } filter { name ftpdata sport ftp-data class ftp } } action { module dscpmk name markAF13 params { global_stats FALSE dscp_map{0-63:14} next_action continue } } action { module dscpmk name markAF21 params { global_stats FALSE dscp_map{0-63:18} next_action continue } } action { module tokenmt name meterftp params { committed_rate 50000000 committed_burst 50000000 red_action_name AF31 green_action_name markAF22 global_stats TRUE } } action { module dscpmk name markAF31 params { global_stats TRUE dscp_map{0-63:26} next_action continue } } action { module dscpmk name markAF22 params { global_stats TRUE dscp_map{0-63:20} next_action continue } }
たとえば、アプリケーションサーバー用に /var/ipqos/BigAPPS.qos ファイルを作成します。action 文の最初に、ipgpc クラシファイアを呼び出す次の記述を配置します。これらは必ず記述する必要があります。
fmt_version 1.0 action { module ipgpc name ipgpc.classify params { global_stats TRUE }
冒頭の action 文については、「IPQoS 構成ファイルを作成し、トラフィッククラスを定義する方法」を参照してください。
冒頭の action 文のあとに、クラス定義を追加します。
class { name smtp enable_stats FALSE next_action markAF13 } class { name news next_action markAF21 } class { name ftp enable_stats TRUE next_action meterftp }
smtp という名前のクラスを作成する。 このクラスには、SMTP アプリケーションが扱う電子メールのトラフィックフローが含まれる
smtp クラスの統計収集を可能にする。ただし、enable_stats の値が FALSE であるため、このクラスの統計は取得されない。
ipgpc モジュールに対し、ipgpc による処理が完了した smtp クラスのパケットを、action 文 markAF13 に渡すよう指示する
news という名前のクラスを作成する。 このクラスには、NNTP アプリケーションが扱うネットワークニュースのトラフィックフローが含まれる
ipgpc モジュールに対し、ipgpc による処理が完了した news クラスのパケットを、アクション文 markAF21 に渡すよう指示する
ftp という名前のクラスを作成する。 このクラスには、FTP アプリケーションが扱う発信トラフィックが含まれる
ftp クラスの統計収集を可能にする
ipgpc モジュールに対し、ipgpc による処理が完了した ftp クラスのパケットを、action 文 meterftp に渡すよう指示する。
クラスの定義の詳細については、「IPQoS 構成ファイルを作成し、トラフィッククラスを定義する方法」を参照してください。
filter { name smtpout sport smtp class smtp } filter { name newsout sport nntp class news } filter { name ftpout sport ftp class ftp } filter { name ftpdata sport ftp-data class ftp } }
フィルタに smtpout という名前を付ける
ソースポート 25 のトラフィックを選択する。これは、既知の sendmail (SMTP) アプリケーション用ポート
フィルタが所属するクラス (このインスタンスでは smtp クラス) を特定する
フィルタに newsout という名前を付ける
ソースポート名 nntp のトラフィックを選択する。これは、既知のネットワークニュース (NNTP) アプリケーション用ポート
フィルタが所属するクラス (このインスタンスでは news クラス) を特定する
フィルタに ftpout という名前を付ける
ソースポート 21 の制御データを選択する。これは、既知の FTP トラフィック用ポート番号
フィルタに ftpdata という名前を付ける
ソースポート 20 のトラフィックを選択する。これは、既知の FTP データトラフィック用ポート番号
ftpout および ftpdata フィルタが所属するクラス (このインスタンスでは ftp) を特定する
参照
フィルタを定義するには、「IPQoS 構成ファイル内でフィルタを定義する方法」を参照してください。
アプリケーショントラフィックの転送動作を定義するには、「IPQoS 構成ファイル内でアプリケーショントラフィックの転送を構成する方法」を参照してください。
メータリングモジュールを使用してフロー制御を構成するには、「IPQoS 構成ファイル内でフロー制御を構成する方法」を参照してください。
フローアカウンティングを構成するには、「IPQoS 構成ファイル内でクラスのアカウンティングを有効にする方法」を参照してください。
次の手順では、アプリケーショントラフィックの転送を構成します。次の手順では、アプリケーショントラフィッククラスのホップ単位動作を定義します。これらのクラスは、ネットワーク上のほかのトラフィックよりも優先度を低くする場合があります。この手順では、例 3-3 の /var/ipqos/BigAPPS.qos ファイルを引き続き構築します。
始める前に
この手順では、マークしたアプリケーションに対してクラスとフィルタをすでに定義した既存の IPQoS 構成ファイルがあることを前提にしています。
/var/ipqos/BigAPPS.qos ファイルでは、最後のフィルタは次のとおりです。
filter { name ftpdata sport ftp-data class ftp } }
action { module dscpmk name markAF13
dscpmk マーカーモジュールを呼び出す
action 文に markAF13 という名前を付ける。
params { global_stats FALSE dscp_map{0-63:14} next_action continue } }
マーカー action 文 markAF13 の統計収集を可能にする。ただし、global_stats の値が FALSE であるため、統計は収集されない。
DSCP 14 を、マーカーにより処理中の smtp クラスのパケットヘッダーに割り当てる
smtp クラスのパケットに対しこれ以上処理を行う必要がないことを示す。よって、これらのパケットはネットワークストリームに戻すことができる
DSCP 14 は、マーカーに対し、dscp マップ内のすべてのエントリを 10 進数値の 14 (バイナリ値 001110) に設定するよう指示します。DSCP 14 は、AF13 のホップ単位の動作を設定します。マーカーは、smtp トラフィッククラスのパケットの DS フィールドに DSCP 14 を付けます。
AF13 は、DSCP 14 を持つすべてのパケットに高いドロップ優先度を割り当てますが、それと同時に Class 1 の優先順位も保証するため、ルーターは電子メールの発信トラフィックに対し、キューの中で高い優先順位を与えます。設定可能な AF コードポイントの表については、表 6-2 を参照してください。
action { module dscpmk name markAF21 params { global_stats FALSE dscp_map{0-63:18} next_action continue } }
action 文に markAF21 という名前を付ける。
DSCP 18 を、マーカーにより処理中の nntp クラスのパケットヘッダーに割り当てる
DSCP 18 は、マーカーに対し、dscp マップ内のすべてのエントリを 10 進数値の 18 (バイナリ値 010010) に設定するよう指示します。DSCP 18 は、AF21 のホップ単位の動作を設定します。マーカーは、news トラフィッククラスのパケットの DS フィールドに DSCP 18 を付けます。
AF21 は DSCP 18 を持つすべてのパケットに低いドロップ優先度を保証しますが、優先順位は Class 2 にとどまります。よって、ネットワークニューストラフィックが振り落とされる可能性は低くなります。
参照
Web サーバーの構成情報を追加するには、「IPQoS 構成ファイルを作成し、トラフィッククラスを定義する方法」を参照してください。
メータリングモジュールを使用してフロー制御を構成するには、「IPQoS 構成ファイル内でフロー制御を構成する方法」を参照してください。
フローアカウンティングを構成するには、「IPQoS 構成ファイル内でクラスのアカウンティングを有効にする方法」を参照してください。
ルーターで転送動作を構成するには、「IPQoS 対応ネットワーク上でルーターを構成する方法」を参照してください。
IPQoS 構成ファイルをアクティブにするには、「新規構成を IPQoS カーネルモジュールへ適用する方法」を参照してください。
ネットワークに送出される特定のトラフィックフローの速度を制御するには、メーターのパラメータを定義しなければなりません。IPQoS 構成ファイル内で、2 つのメーターモジュール tokenmt と tswtclmt とのどちらかを使用できます。
次の手順では、例 3-3 のアプリケーションサーバーの IPQoS 構成ファイルを引き続き構築します。次の手順では、メーターを構成するだけではなく、メーター action 文の内部で呼び出される 2 つの マーカーアクションも構成します。
始める前に
この手順の前に、フローを制御するアプリケーション用のクラスおよびフィルタを定義してあるものとします。
/var/ipqos/BigAPPS.qos ファイルで、次のマーカーアクションのあとから作業を開始します。
action { module dscpmk name markAF21 params { global_stats FALSE dscp_map{0-63:18} next_action continue } }
action { module tokenmt name meterftp
tokenmt メーターを呼び出す
action 文に meterftp という名前を付ける。
params { committed_rate 50000000 committed_burst 50000000
ftp クラスのトラフィックに 50,000,000 bps の転送速度を割り当てる
ftp クラスのトラフィックに 50,000,000 ビットのバーストサイズを割り当てる。
tokenmt パラメータについては、「tokenmt をツーレートメーターとして構成する」を参照してください。
red_action markAF31 green_action_name markAF22 global_stats TRUE } }
ftp クラスのトラフィックフローが認定速度を超過した場合、パケットは、markAF31 マーカー action 文に送信されることを示す
ftp クラスのトラフィックフローが認定速度に適合する場合、パケットがアクション文 markAF22 に送られることを示す
ftp クラスのメータリング統計取得を有効にする
トラフィックの適合性については、「メーターモジュール」を参照してください。
action { module dscpmk name markAF31 params { global_stats TRUE dscp_map{0-63:26} next_action continue } }
dscpmk マーカーモジュールを呼び出す
action 文に markAF31 という名前を付ける。
ftp クラスの統計取得を有効にする
ftp クラスのトラフィックが認定速度を超過した場合は常に、DSCP 26 を ftp クラスのパケットヘッダーに割り当てる
ftp クラスのパケットに対しこれ以上処理を行う必要がないことを示す。よって、これらのパケットはネットワークストリームに戻すことができる
DSCP 26 は、マーカーに対し、dscp マップ内のすべてのエントリを 10 進数値の 26 (バイナリ値 011010) に設定するよう指示します。DSCP 26 は、AF31 のホップ単位の動作を設定します。マーカーは、DS フィールドの DSCP 26 で ftp トラフィッククラスのパケットをマークします。
AF31 は DSCP 26 を持つすべてのパケットに低いドロップ優先度を保証しますが、優先順位は Class 2 にとどまります。このため、速度不適合の FTP トラフィックがドロップされる可能性は低くなりますが、設定可能な AF コードポイントの表については、表 6-2 を参照してください。
action { module dscpmk name markAF22 params { global_stats TRUE dscp_map{0-63:20} next_action continue } }
marker アクションに markAF22 という名前を付ける。
ftp トラフィックが構成速度に適合する場合は常に、トラフィッククラス ftp のパケットヘッダーに DSCP 20 を割り当てる。
DSCP 20 は、マーカーに対し、dscp マップ内のすべてのエントリを 10 進数値の 20 (バイナリ値 010100) に設定するよう指示します。DSCP 20 は、AF22 のホップ単位の動作を設定します。マーカーは、DS フィールドの DSCP 20 で ftp トラフィッククラスのパケットをマークします。
AF22 は、DSCP 20 を持つすべてのパケットに中程度のドロップ優先度と Class 2 の優先順位を保証します。このため、速度適合の FTP トラフィックは、IPQoS システムから同時に送出されるフロー内で中程度のドロップ優先度を保証されます。ただし、ルーターは、Class 1 で中程度のドロップ優先度以上を持つトラフィッククラスの転送を優先します。設定可能な AF コードポイントの表については、表 6-2 を参照してください。
参照
IPQoS 構成ファイルをアクティブにするには、「新規構成を IPQoS カーネルモジュールへ適用する方法」を参照してください。
Web サーバーの構成情報を追加するには、「IPQoS 構成ファイルを作成し、トラフィッククラスを定義する方法」を参照してください。
フローアカウンティングを構成するには、「IPQoS 構成ファイル内でクラスのアカウンティングを有効にする方法」を参照してください。
ルーターで転送動作を構成するには、「IPQoS 対応ネットワーク上でルーターを構成する方法」を参照してください。