IPQoS flowacct 模块记录有关通信流的信息,此过程称为流记帐。流记帐将生成可用于向用户收费或评估到特定类的通信量的数据。
流记帐为可选过程。flowacct 通常是已计量或已标记的通信流在释放到网络流之前可能遇到的最后一个模块。有关 flowacct 在 Diffserv 模型中的位置的说明,请参见Figure 1–1。有关详细技术信息,请参阅 flowacct(7ipp) 手册页。
要启用流记帐,除需要使用 flowacct 外,还需要使用 Oracle Solaris exacct 记帐功能和 acctadm 命令。有关流记帐的更多信息,请参阅Chapter 5, 执行流记帐和统计信息收集任务。
flowacct 模块将有关流的信息收集在流表中,该表由流记录组成。表中的每项都包含一个流记录。无法显示流表。
在 IPQoS 配置文件中,您可以定义以下 flowacct 参数以度量流记录并将记录写入流表中:
timer-定义将已超时的流从流表中删除和写入由 acctadm 创建的文件中的时间间隔(以毫秒为单位)
timeout-定义一个时间间隔(以毫秒为单位),它指定了在流超时之前包流必须保持不活动状态的时间
max_limit-针对可存储在流表中的流记录数设置上限
有关 flowacct 参数在 IPQoS 配置文件中如何应用的示例,请参阅如何在 IPQoS 配置文件中配置流控制。
flowacct 模块维护着一个流表,此表记录了 flowacct 实例发现的所有包流。
流由以下参数标识,其中包括 flowacct 8 元组:
源地址
目标地址
源端口
目标端口
DSCP
用户 ID
项目 ID
协议编号
如果流的 8 元组的所有参数保持不变,则流表仅包含一个项。max_limit 参数确定流表可以包含的项数。
将按照在 IPQoS 配置文件中为 timer 参数指定的时间间隔扫描流表。缺省值是 15 秒。如果 IPQoS 系统在由 IPQoS 配置文件指定的 timeout 时间间隔内未发现流的包,则表示此流已“超时”。缺省超时时间间隔为 60 秒。已超时的项将被写入使用 acctadm 命令创建的记帐文件中。
|
可以使用 acctadm 命令创建用于存储由 flowacct 生成的各种流记录的文件。acctadm 可与扩展记帐功能一起使用。有关技术信息,请参阅 acctadm(1M) 手册页。
flowacct 模块将监视流,并使用流记录填充流表。然后,flowacct 将在 timer 指定的时间间隔内评估其参数和属性。如果在 last_seen 值与 timeout 值之和对应的时间内未发现包,则表示包已超时。所有超时项都将从流表中删除。每经过 timer 参数指定的时间间隔,都会将这些项写入记帐文件中。
要调用 acctadm 以用于 flowacct 模块,请使用以下语法:
acctadm -e file-type -f filename flow
调用带有 -e 选项的 acctadm。-e 表示后面跟有资源列表。
指定要收集的属性,basic 或 extended。有关每种文件类型中的属性列表,请参阅Table 6–4。
创建文件 file-name 来保存流记录。
指示 acctadm 与 IPQoS 一起运行。