Oracle® Solaris 11.2 での IP サービス品質の管理

印刷ビューの終了

更新: 2014 年 7 月
 
 

flowacct モジュール

IPQoS の flowacct モジュールは、トラフィックフローに関する情報を記録し、このプロセスは、フローアカウンティングと呼ばれます。フローアカウンティングは、顧客への課金や特定クラスへのトラフィック量の評価に使用できるデータを作成します。

フローアカウンティングは、オプションです。通常、flowacct は、メーターまたはマーカーに処理されたトラフィックフローが、ネットワークストリームへ送出される前に通る、最後のモジュールです。Diffserv モデルでの flowacct の位置の図については、Figure 1–1 を参照してください。技術的な情報については、flowacct(7ipp) のマニュアルページを参照してください。

フローアカウンティングを有効にするには、flowacct に加えて、Oracle Solaris の exacct アカウンティング機能および acctadm コマンドを使用する必要があります。フローアカウンティングの詳細は、Chapter 5, フローアカウンティングの使用と統計情報の収集のタスクを参照してください。

flowacct パラメータ

flowacct モジュールは、フローレコードで構成されたフローテーブル内に、フローに関する情報を収集します。テーブル内の各エントリには、1 つのフローレコードが含まれます。フローテーブルは、表示できません。

    フローレコードを測定してフローテーブルに書き込むには、IPQoS 構成ファイル内で次の flowacct パラメータを定義します。

  • timer – タイムアウトしたフローをフローテーブルから削除し、acctadm により作成されたファイルに書き込む間隔を、ミリ秒単位で定義する

  • timeout – パケットフローがタイムアウトするまでの非アクティブな時間を、ミリ秒単位で定義する


    注 - timertimeout には異なる値を指定できます。
  • max_limit – フローテーブルに格納可能なフローレコードの数に上限を設定する

flowacct パラメータの IPQoS 構成ファイルでの使用例については、IPQoS 構成ファイル内でフロー制御を構成する方法を参照してください。

フローテーブル

flowacct モジュールは、flowacct インスタンスが認識するすべてのパケットフローを記録するフローテーブルを管理します。

    フローは、flowacct の 8 タプルと呼ばれる、次のパラメータによって特定されます。

  • 発信元アドレス

  • 着信先アドレス

  • 発信元ポート

  • 着信先ポート

  • DSCP

  • ユーザー ID

  • プロジェクト ID

  • プロトコル番号

フローの 8 タプルのパラメータが変化しないかぎり、フローテーブルには 1 つのエントリだけが含まれます。max_limit パラメータにより、フローテーブルに含めることのできるエントリ数が決定されます。

フローテーブルは、IPQoS 構成ファイル内の timer パラメータに指定された間隔でスキャンされます。デフォルトは 15 秒です。IPQoS 構成ファイル内の timeout 間隔に指定された時間以上、IPQoS システムがパケットを認識しない場合、フローは「タイムアウト」します。デフォルトのタイムアウト時間は、60 秒です。タイムアウトしたエントリは、acctadm コマンドを使用して作成されたアカウンティングファイルに書き込まれます。

flowacct レコード

flowacct レコードには、次の表に示される属性が含まれています。

表 6-4  flowacct レコードの属性
属性名
属性の内容
タイプ
src-addr-address-type
オリジネータの発信元アドレス。address-type は、IPQoS 構成ファイルの指定に従い、v4 (IPv4 の場合) または v6 (IPv6 の場合) になる
Basic
dest-addr-address-type
パケットの着信先アドレス。address-type は、IPQoS 構成ファイルの指定に従い、v4 (IPv4 の場合) または v6 (IPv6 の場合) になる
Basic
src-port
フローの起点となる発信元ポート
Basic
dest-port
ブローの宛先となる着信先ポート番号
Basic
protocol
フローのプロトコル番号
Basic
total-packets
フロー内のパケット数
Basic
total-bytes
フロー内のバイト数
Basic
action-name
このフローを記録した flowacct アクションの名前
Basic
creation-time
flowacct がそのフローのパケットを最初に認識した時間
Extended のみ
last-seen
そのフローのパケットを最後に認識した時間
Extended のみ
diffserv-field
フローの発信パケットヘッダー内の DSCP
Extended のみ
user
アプリケーションから取得される UNIX ユーザー ID またはユーザー名
Extended のみ
projid
アプリケーションから取得されるプロジェクト ID
Extended のみ

flowacct モジュールでの acctadm の使用

acctadm コマンドを使用して、flowacct により生成されるさまざまなフローレコードを格納するファイルを作成します。acctadm は、拡張アカウンティング機能と連動して動作します。技術的な情報については、acctadm(1M) のマニュアルページを参照してください。

flowacct モジュールは、フローを観察し、フローテーブルにフローレコードを入力します。次に flowacct は、timer に指定された間隔でパラメータと属性を評価します。last_seen 値に timeout 値を加えた時間以上パケットが検出されない場合、パケットはタイムアウトします。タイムアウトしたエントリはすべて、フローテーブルから削除されます。削除されたタイムアウトエントリは、timer パラメータに指定された時間が経過するたびに、アカウンティングファイルに書き込まれます。

acctadm を呼び出して flowacct モジュールで使用するには、次の構文を使用します。

acctadm -e file-type -f filename flow
acctadm -e

acctadm-e オプションを指定して呼び出します。-e は、直後にタイプを指定することを示します。

file-type

収集する属性を指定します (basic または extended)。各ファイルタイプの属性の一覧については、Table 6–4 を参照してください。

–ffile-name

フローレコードを格納するファイル file-name を作成します。

flow

acctadm を IPQoS 上で実行することを示します。