IPQoS flowacct 模块记录有关通信流的信息,此过程称为流记帐。流记帐将生成可用于向用户收费或评估到特定类的通信量的数据。
流记帐为可选过程。flowacct 通常是已计量或已标记的通信流在释放到网络流之前可能遇到的最后一个模块。有关 flowacct 在 Diffserv 模型中的位置的说明,请参见图 32–1。有关 flowacct 的详细技术信息,请参阅 flowacct(7ipp) 手册页。
要启用流记帐,除需要使用 flowacct 外,还需要使用 Oracle Solaris : exacct 记帐功能和 acctadm 命令。有关设置流记帐的所有步骤的信息,请参阅设置流记帐(任务列表)。
flowacct 模块将有关流的信息收集在由流记录组成的流表中。表中的每项都包含一个流记录。无法显示流表。
在 IPQoS 配置文件中,您可以定义以下 flowacct 参数以度量流记录并将记录写入流表中:
timer-定义将已超时的流从流表中删除和写入由 acctadm 创建的文件中的时间间隔(以毫秒为单位)
timeout-定义一个时间间隔(以毫秒为单位),它指定了在流超时之前包流必须保持不活动状态的时间
您可以将 timer 和 timeout 配置为具有不同的值。
max_limit-针对可存储在流表中的流记录数设置上限
有关 flowacct 参数在 IPQoS 配置文件中如何应用的示例,请参阅如何在 IPQoS 配置文件中配置流控制。
flowacct 模块可维护流表,此表记录了 flowacct 实例发现的所有包流。流由以下参数标识,其中包括 flowacct 8 元组:
源地址
目标地址
源端口
目标端口
DSCP
用户 ID
项目 ID
协议编号
如果流的 8 元组的所有参数保持不变,则流表仅包含一个项。max_limit 参数确定流表可以包含的项数。
将按照在 IPQoS 配置文件中为 timer 参数指定的时间间隔扫描流表。缺省值是 15 秒。如果 IPQoS 系统在由 IPQoS 配置文件指定的 timeout 时间间隔内未发现流的包,则表示此流已“超时”。缺省超时时间间隔为 60 秒。已超时的项将被写入使用 acctadm 命令创建的记帐文件中。
属性名称 |
属性内容 |
类型 |
---|---|---|
src-addr-address-type |
始发者的源地址。address-type 为 v4(对于 IPv4)或 v6(对于 IPv6),如 IPQoS 配置文件中所指定。 |
基本 |
dest-addr-address-type |
包的目标地址。address-type 为 v4(对于 IPv4)或 v6(对于 IPv6),如 IPQoS 配置文件中所指定。 |
基本 |
src-port |
传出流的源端口。 |
基本 |
dest-port |
要将此流送达的目标端口号。 |
基本 |
protocol(协议) |
流的协议编号。 |
基本 |
total-packets |
流中的包数。 |
基本 |
total-bytes |
流中的字节数。 |
基本 |
action-name |
记录此流的 flowacct 操作的名称。 |
基本 |
creation-time |
flowacct 首次发现该流的包的时间。 |
仅扩展 |
last-seen |
上次发现该流的包的时间。 |
仅扩展 |
diffserv-field |
此流的传出包头中的 DSCP。 |
仅扩展 |
user |
从应用程序中获取的 UNIX 用户 ID 或用户名。 |
仅扩展 |
projid |
从应用程序中获取的项目 ID。 |
仅扩展 |
可以使用 acctadm 命令创建用于存储由 flowacct 生成的各种流记录的文件。acctadm 可与扩展记帐功能一起使用。有关 acctadm 的技术信息,请参阅 acctadm(1M) 手册页。
flowacct 模块将查看流,并使用流记录填充流表。然后,flowacct 将在 timer 指定的时间间隔内评估其参数和属性。如果在 last_seen 值与 timeout 值之和对应的时间内未发现包,则表示包已超时。所有超时项都将从流表中删除。每经过 timer 参数指定的时间间隔,都会将这些项写入记帐文件中。
要调用 acctadm 以用于 flowacct 模块,请使用以下语法:
acctadm -e file-type -f filename flow
调用带有 -e 选项的 acctadm。-e 表示后面跟有资源列表。
指定要收集的属性。file-type 必须由 basic 或 extended 替换。有关每种文件类型中的属性列表,请参阅表 37–4。
创建文件 file-name 来保存流记录。
指示 acctadm 与 IPQoS 一起运行。