ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Solaris のシステム管理 (IP サービス) Oracle Solaris 10 8/11 Information Library (日本語) |
1. Oracle Solaris TCP/IP プロトコル群 (概要)
5. TCP/IP ネットワークサービスと IPv4 アドレス指定の構成 (作業)
10. TCP/IP と IPv4 の詳細 (リファレンス)
18. DHCP コマンドと DHCP ファイル (リファレンス)
21. IP セキュリティーアーキテクチャー (リファレンス)
25. Oracle Solaris の IP フィルタ (概要)
29. モバイル IP のファイルおよびコマンド (リファレンス)
IPQoS 構成ファイル内での QoS ポリシーの定義 (作業マップ)
アプリケーションサーバー用 IPQoS 構成ファイルを作成する方法
IPQoS 構成ファイル内でアプリケーショントラフィックの転送を構成する方法
この節では、まず、プレミアム Web サーバー用の構成を通して、IPQoS 構成ファイルを紹介します。次に、個人用 Web サイトのホストとして機能するサーバー用の構成ファイルで、まったく異なるサービスレベルを構成する方法を示します。両方のサーバーは、図 33-4 のネットワーク例の一部です。
次の構成ファイルは、Goldweb サーバーの IPQoS アクティビティーを定義します。このサーバーは、プレミアム SLA を購入した Goldco 社の Web サイトのホストです。
例 34-1 プレミアム Web サーバー用 IPQoS 構成ファイルの例
fmt_version 1.0 action { module ipgpc name ipgpc.classify params { global_stats TRUE } class { name goldweb next_action markAF11 enable_stats FALSE } class { name video next_action markEF enable_stats FALSE } filter { name webout sport 80 direction LOCAL_OUT class goldweb } filter { name videoout sport videosrv direction LOCAL_OUT class video } } action { module dscpmk name markAF11 params { global_stats FALSE dscp_map{0-63:10} next_action continue } } action { module dscpmk name markEF params { global_stats TRUE dscp_map{0-63:46} next_action acct } } action { module flowacct name acct params { enable_stats TRUE timer 10000 timeout 10000 max_limit 2048 } }
次の構成ファイルは、Userweb の IPQoS アクティビティーを定義します。このサーバーは、低価格または「ベストエフォート型」の SLA を購入した個人の Web サイトのホストです。このサービスレベルでは、IPQoS システムがより高額の SLA を利用する顧客からのトラフィックを処理したあとに、できるかぎり最良のサービスをベストエフォートの顧客に保証します。
例 34-2 ベストエフォート Web サーバー用の構成例
fmt_version 1.0 action { module ipgpc name ipgpc.classify params { global_stats TRUE } class { name Userweb next_action markAF12 enable_stats FALSE } filter { name webout sport 80 direction LOCAL_OUT class Userweb } } action { module dscpmk name markAF12 params { global_stats FALSE dscp_map{0-63:12} next_action continue } }
最初の IPQoS 構成ファイルは、メンテナンスしやすい任意のディレクトリに作成できます。この章では、IPQoS 構成ファイルの位置としてディレクトリ /var/ipqos を使用します。次の手順では、例 34-1 で紹介された IPQoS 構成ファイルの最初のセグメントを構築します。
すべての IPQoS 構成ファイルで、最初の非コメント行にバージョン番号 fmt_version 1.0 を記述する必要があります。
IPQoS 構成ファイルを成す action 文のツリーは、この初期アクションから始まります。たとえば、/var/ipqos/Goldweb.qos ファイルは、 ipgpc クラシファイアを呼び出す初期 action 文で始まります。
fmt_version 1.0 action { module ipgpc name ipgpc.classify
IPQoS 構成ファイルを開始する
action 文を開始する
構成ファイル内の最初のアクションとして ipgpc クラシファイアを構成する
クラシファイアの action 文の名前を定義する。名前は常に ipgpc.classify でなければならない
action 文の詳しい構文については、「action 文」および ipqosconf(1M) のマニュアルページを参照してください。
params { global_stats TRUE }
ipgpc.classify 文のパラメータ global_stats TRUE は、そのアクションに関する統計の収集を可能にします。また、global_stats TRUE を使用し、かつクラス句定義に enable_stats TRUE を指定すれば、そのクラスの統計の収集が可能になります。
統計の取得を有効にすると、パフォーマンスが影響を受けます。新規 IPQoS 構成ファイルを作成したときには、IPQoS が適正に動作するか検証するために、統計収集を有効にしてもかまいません。あとで global_stats の引数を FALSE に変更すれば、統計取得を無効にできます。
グローバル統計は、params 句で定義可能なパラメータの 1 種類に過ぎません。params 句の構文などについては、「params 句」および ipqosconf(1M) のマニュアルページを参照してください。
class { name goldweb next_action markAF11 enable_stats FALSE }
この文は、「class 句」と呼ばれます。class 句には次の内容が含まれます。
goldweb クラスを作成して、Goldweb サーバーに向かうトラフィックを特定する
ipgpc モジュールに対し、goldweb クラスのパケットをアクション文 markAF11 に渡すよう指示する。アクション文 markAF11 は、 dscpmk マーカーを呼び出す
goldweb クラスの統計取得を可能にする。ただし、enable_stats の値が FALSE であるため、このクラスの統計取得は有効にはならない
class 句の構文の詳細については、「class 句」と ipqosconf(1M) のマニュアルページを参照してください。
class { name video next_action markEF enable_stats FALSE }
video クラスを作成して、Goldweb サーバーから発信されるストリーミングビデオのトラフィックを特定する
ipgpc モジュールに対し、ipgpc による処理が完了した video クラスのパケットを、markEF 文に渡すよう指示する。markEF 文は、dscpmk マーカーを呼び出す
video クラスの統計収集を可能にする。ただし、enable_stats の値が FALSE であるため、このクラスの統計収集は有効にはならない
参照
作成したばかりのクラスにフィルタを定義するには、「IPQoS 構成ファイル内でフィルタを定義する方法」を参照してください。
構成ファイルに対して別の class 句を作成するには、「IPQoS 構成ファイルを作成し、トラフィッククラスを定義する方法」を参照してください。
次の手順では、IPQoS 構成ファイル内でクラスのフィルタを定義します。
始める前に
次の手順の前に、構成ファイルの作成を開始しており、クラスを定義してあるものとします。この手順は、「IPQoS 構成ファイルを作成し、トラフィッククラスを定義する方法」で作成された /var/ipqos/Goldweb.qos ファイルを引き続き構築します。
たとえば、IPQoS 対応サーバー Goldweb 用の構成ファイル /var/ipqos/Goldweb.qos では、次の class 句のあとから作業を始めます。
class { name video next_action markEF enable_stats FALSE }
filter { name webout sport 80 direction LOCAL_OUT class goldweb }
フィルタに webout という名前を付ける
ソースポート 80 のトラフィックを選択する。これは、既知の HTTP (Web) トラフィック用ポート
ローカルシステムから発信されるトラフィックを選択する
フィルタが所属するクラス (このインスタンスでは goldweb クラス) を特定する
IPQoS 構成ファイル内の filter 句の構文などについては、「filter 句」を参照してください。
filter { name videoout sport videosrv direction LOCAL_OUT class video }
フィルタに videoout という名前を付ける
ソースポート videosrv のトラフィックを選択する。これは、以前にこのシステムのストリーミングビデオアプリケーション用に定義したポート
ローカルシステムから発信されるトラフィックを選択する
フィルタが所属するクラス (このインスタンスでは video クラス) を特定する
参照
マーカーモジュールの転送動作を定義するには、「IPQoS 構成ファイル内でトラフィック転送を定義する方法」を参照してください。
メータリングモジュールのフロー制御パラメータを定義するには、「IPQoS 構成ファイル内でフロー制御を構成する方法」を参照してください。
IPQoS 構成ファイルをアクティブにするには、「新規構成を IPQoS カーネルモジュールへ適用する方法」を参照してください。
さらにフィルタを定義するには、「IPQoS 構成ファイル内でフィルタを定義する方法」を参照してください。
アプリケーションからのトラフィックフロー向けのクラスを作成するには、「アプリケーションサーバー用 IPQoS 構成ファイルを作成する方法」を参照してください。
次の手順では、IPQoS 構成ファイルにクラスのホップ単位の動作を追加して、トラフィック転送を定義します。
始める前に
次の手順の前に、既存の IPQoS 構成ファイルにクラスおよびフィルタを定義してあるものとします。この手順では、例 34-1 の /var/ipqos/Goldweb.qos ファイルを引き続き構築します。
注 - 次の手順では、dscpmk マーカーモジュールを使用してトラフィック転送を構成する方法を示します。dlclosmk マーカーを使用した VLAN システムのトラフィック転送については、「VLAN デバイスでの dlcosmk マーカーの使用」を参照してください。
たとえば、IPQoS 対応サーバー Goldweb 用の構成ファイル /var/ipqos/Goldweb.qos では、次の filter 句のあとから作業を始めます。
filter { name videoout sport videosrv direction LOCAL_OUT class video } }
この filter 句は、ipgpc クラシファイアの action 文の最後に位置します。このため、フィルタを終了させる閉じ括弧のあとに、action 文を終了させる閉じ括弧が必要です。
action { module dscpmk name markAF11
dscpmk マーカーモジュールを呼び出す
action 文に markAF11 という名前を付ける
以前に定義した goldweb クラスには next_action markAF11 という文が含まれています。この文は、クラシファイアによる処理が完了したトラフィックフローを、アクション文 markAF11 に送信します。
params { global_stats FALSE dscp_map{0-63:10} next_action continue } }
マーカー action 文 markAF11 の統計収集を可能にする。ただし、global_stats の値が FALSE であるため、統計は収集されない
DSCP 10 を、マーカーにより処理中の goldweb クラスのパケットヘッダーに割り当てる
userweb クラスのパケットに対しこれ以上処理を行う必要がないこと、およびこれらのパケットをネットワークストリームに戻してもよいことを示す
DSCP 10 は、マーカーに対し、dscp マップ内のすべてのエントリを 10 進数値の 10 (バイナリ値 001010) に設定するよう指示します 。このコードポイントは、goldweb トラフィッククラスのパケットが AF11 ホップ単位動作 (PHB) に従うことを示します。AF11 は、DSCP 10 を持つすべてのパケットが、低ドロップ、および高い優先順位のサービスを受けることを保証します。このため、Goldweb 上のプレミアム顧客用の発信トラフィックには、AF (相対的優先転送) PHB で指定可能なもっとも高い優先順位が与えられます。AF に設定可能な DSCP の表については、表 37-2 を参照してください。
action { module dscpmk name markEF
dscpmk マーカーモジュールを呼び出す
action 文に markEF という名前を付ける
params { global_stats TRUE dscp_map{0-63:46} next_action acct } }
video クラスの統計収集を有効にする。このクラスはストリーミングビデオのパケットを選択する
DSCP 46 を、マーカーにより処理中の video クラスのパケットヘッダーに割り当てる
dscpmk モジュールに対し、dscpmk による処理が完了した video クラスのパケットを、acct 文 action に渡すよう指示する。 action 文 acct は flowacct モジュールを呼び出す
DSCP 46 は、dscpmk モジュールに対し、dscp マップのすべてのエントリを DS フィールドの 10 進数の 46 (バイナリ 101110) に設定するよう指示します。このコードポイントは、video トラフィッククラスのパケットが完全優先転送ホップ単位動作 (PHB) に従うことを示します。
注 - EF のコードポイントは 46 (バイナリ値 101110) にすることをお勧めします。その他の DSCP は、AF PHB をパケットに割り当てるときに使用します。
EF PHB は、DSCP 46 を持つパケットが IPQoS および Diffserv 対応システムによりもっとも高い優先度を与えられることを保証します。ストリーミングアプリケーションは、もっとも高い優先順位のサービスを必要とします。これが、QoS ポリシーでこれらのアプリケーションに EF PHB を割り当てる理由です。PHB の完全優先転送の詳細については、「完全優先転送 (Expedited Forwarding、EF) PHB」を参照してください。
詳細については、「IPQoS 対応ネットワーク上でルーターを構成する方法」を参照してください。
参照
トラフィックフローのフローアカウンティング統計の収集を開始するには、「IPQoS 構成ファイル内でクラスのアカウンティングを有効にする方法」を参照してください。
マーカーモジュールの転送動作を定義するには、「IPQoS 構成ファイル内でトラフィック転送を定義する方法」を参照してください。
メータリングモジュールのフロー制御パラメータを定義するには、「IPQoS 構成ファイル内でフロー制御を構成する方法」を参照してください。
IPQoS 構成ファイルをアクティブにするには、「新規構成を IPQoS カーネルモジュールへ適用する方法」を参照してください。
さらにフィルタを定義するには、「IPQoS 構成ファイル内でフィルタを定義する方法」を参照してください。
アプリケーションからのトラフィックフロー向けのクラスを作成するには、「アプリケーションサーバー用 IPQoS 構成ファイルを作成する方法」を参照してください。
次の手順では、IPQoS 構成ファイル内でトラフィッククラスのアカウンティングを有効にします。この手順では、How to Create the IPQoS Configuration File and Define Traffic Classesで紹介した 「IPQoS 構成ファイルを作成し、トラフィッククラスを定義する方法」 クラスのフローアカウンティングを定義します。このクラスは、プレミアム SLA の一部として課金されるストリーミングビデオのトラフィックを選択します。
始める前に
次の手順の前に、既存の IPQoS 構成ファイルにクラス、フィルタ、メーターのアクション (必要な場合だけ)、およびマーカーのアクション (必要な場合だけ) を定義してあるものとします。この手順では、例 34-1 の /var/ipqos/Goldweb.qos ファイルを引き続き構築します。
たとえば、IPQoS 対応サーバー Goldweb 用の構成ファイル /var/ipqos/Goldweb.qos. では、次の action 文 markEF のあとから作業を始めます。
action { module dscpmk name markEF params { global_stats TRUE dscp_map{0-63:46} next_action acct } }
action { module flowacct name acct
flowacct フローアカウンティングモジュールを呼び出す
action 文に acct という名前を付ける
params { global_stats TRUE timer 10000 timeout 10000 max_limit 2048 next_action continue } }
video クラスの統計収集を有効にする。このクラスはストリーミングビデオのパケットを選択する
フローテーブル内で、タイムアウトしたフローが走査される間隔を、ミリ秒単位で指定する。このパラメータでは、間隔は 10000 ミリ秒
最小の間隔タイムアウト値を指定する。フローのパケットがタイムアウト値で指定された時間検出されないと、フローは「タイムアウト」する。このパラメータでは、パケットは 10000 ミリ秒後にタイムアウトする
このアクションインスタンスのフローテーブル内でアクティブなフローレコードの最大数を設定する
video クラスのパケットに対しこれ以上処理を行う必要がないこと、およびこれらのパケットをネットワークストリームに戻してもよいことを示す
flowacct モジュールは、指定されたタイムアウト値に達するまで、特定のクラスのパケットフローに関する統計情報を収集します。
参照
ルーターでホップ単位の動作を設定するには、「IPQoS 対応ネットワーク上でルーターを構成する方法」を参照してください。
IPQoS 構成ファイルをアクティブにするには、「新規構成を IPQoS カーネルモジュールへ適用する方法」を参照してください。
アプリケーションからのトラフィックフロー向けのクラスを作成するには、「アプリケーションサーバー用 IPQoS 構成ファイルを作成する方法」を参照してください。
ベストエフォート Web サーバー用の IPQoS 構成ファイルは、プレミアム Web サーバー用の IPQoS 構成ファイルとは少し違います。この手順では、例として 例 34-2 の構成ファイルを使用します。
fmt_vesion 1.0 action { module ipgpc name ipgpc.classify params { global_stats TRUE }
/var/ipqos/userweb.qos ファイルは、ipgpc クラシファイアを呼び出す部分 action 文から始める必要があります。この action 文には、統計収集を有効にする params 句も含めています。この action 文については、「IPQoS 構成ファイルを作成し、トラフィッククラスを定義する方法」を参照してください。
class { name userweb next_action markAF12 enable_stats FALSE }
userweb クラスを作成して、ユーザーから Userweb サーバーに向かうトラフィックを特定する
ipgpc モジュールに対し、ipgpc による処理が完了した userweb クラスのパケットを、action 文 markAF12 に渡すよう指示する。action 文 markAF12 は、dscpmk マーカーを呼び出す
userweb クラスの統計収集を可能にする。ただし、enable_stats の値が FALSE であるため、このクラスの統計は収集されない
class 句の処理については、「IPQoS 構成ファイルを作成し、トラフィッククラスを定義する方法」を参照してください。
filter { name webout sport 80 direction LOCAL_OUT class userweb } }
フィルタに webout という名前を付ける
ソースポート 80 のトラフィックを選択する。これは、既知の HTTP (Web) トラフィック用ポート
ローカルシステムから発信されるトラフィックを選択する
フィルタが所属するクラス (このインスタンスでは userweb クラス) を特定する
filter 句の処理については、「IPQoS 構成ファイル内でフィルタを定義する方法」を参照してください。
action { module dscpmk name markAF12
dscpmk マーカーモジュールを呼び出す
action 文に markAF12 という名前を付ける
以前に定義した userweb クラスには next_action markAF12 という文が含まれています。この文は、クラシファイアによる処理が完了したトラフィックフローを、 action 文 markAF12 に送信します。
params { global_stats FALSE dscp_map{0-63:12} next_action continue } }
マーカー action 文 markAF12 の統計収集を可能にする。ただし、enable_stats の値が FALSE であるため、統計は収集されない
DSCP 12 を、マーカーにより処理中の userweb クラスのパケットヘッダーに割り当てる
userweb クラスのパケットに対しこれ以上処理を行う必要がないこと、およびこれらのパケットをネットワークストリームに戻してもよいことを示す
DSCP 12 は、マーカーに対し、dscp マップ内のすべてのエントリを 10 進数値の 12 (バイナリ値 001100) に設定するよう指示します。このコードポイントは、userweb トラフィッククラスのパケットが AF12 ホップ単位動作 (PHB) に従うことを示します。AF12 は、DS フィールド内に DSCP 12 を持つすべてのパケットが、中程度のドロップ、および高い優先順位のサービスを受けることを保証します。
参照
アプリケーションからのトラフィックフローに対して、クラスやほかの構成を追加するには、「アプリケーションサーバー用 IPQoS 構成ファイルを作成する方法」を参照してください。
ルーターでホップ単位の動作を設定するには、「IPQoS 対応ネットワーク上でルーターを構成する方法」を参照してください。
IPQoS 構成ファイルをアクティブにするには、「新規構成を IPQoS カーネルモジュールへ適用する方法」を参照してください。