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

flowacct モジュール

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

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

フローアカウンティングを有効にするには、flowacct に加えて、Oracle Solaris の exacct アカウンティング機能および acctadm コマンドを使用する必要があります。フローアカウンティングの設定の全手順については、「フローアカウンティングの設定 (作業マップ)」を参照してください。

flowacct パラメータ

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

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

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

フローテーブル

flowacct モジュールは、flowacct インスタンスが認識するすべてのパケットフローを記録するフローテーブルを管理します。フローは、次のパラメータによって特定されます。これらを、flowacct の 8 タプルと呼びます。

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

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

flowacct レコード

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

表 37–4 flowacct レコードの属性

属性名 

属性の内容 

種類 

src-addr-address-type

オリジネータの発信元アドレス。address-type は、IPQoS 構成ファイルの指定に従い、v4 (IPv4 の場合) または v6 (IPv6 の場合) になる

基本  

dest-addr-address-type

パケットの着信先アドレス。address-type は、IPQoS 構成ファイルの指定に従い、v4 (IPv4 の場合) または v6 (IPv6 の場合) になる

基本 

src-port

フローの起点となる発信元ポート  

基本 

dest-port

ブローの宛先となる着信先ポート番号  

基本 

プロトコル

フローのプロトコル番号  

基本 

total-packets

フロー内のパケット数 

基本 

total-bytes

フロー内のバイト数 

基本  

action-name

このフローを記録した flowacct アクションの名前

基本 

creation-time

flowacct がそのフローのパケットを最初に認識した時間

拡張 (Extended) のみ 

last-seen

そのフローのパケットを最後に認識した時間 

拡張 (Extended) のみ 

diffserv-field

フローの発信パケットヘッダー内の DSCP  

拡張 (Extended) のみ 

user

アプリケーションから取得される UNIX ユーザー ID またはユーザー名 

拡張 (Extended) のみ 

projid

アプリケーションから取得されるプロジェクト ID 

拡張 (Extended) のみ 

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

acctadm コマンドを使用して、flowacct により生成されるさまざまなフローレコードを格納するファイルを作成します。acctadm は、拡張アカウンティング機能と連動して動作します。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

収集するタイプを指定します。file-type は、basic または extended に置き換える必要があります。各ファイルタイプの属性の一覧については、表 37–4 を参照してください。

-ffile-name

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

flow

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