系统管理指南:IP 服务

flowacct 模块

IPQoS flowacct 模块记录有关通信流的信息,此过程称为流记帐。流记帐将生成可用于向用户收费或评估到特定类的通信量的数据。

流记帐为可选过程。flowacct 通常是已计量或已标记的通信流在释放到网络流之前可能遇到的最后一个模块。有关 flowacct 在 Diffserv 模型中的位置的说明,请参见图 32–1。有关 flowacct 的详细技术信息,请参阅 flowacct(7ipp) 手册页。

要启用流记帐,除需要使用 flowacct 外,还需要使用 Oracle Solaris : exacct 记帐功能和 acctadm 命令。有关设置流记帐的所有步骤的信息,请参阅设置流记帐(任务列表)。

flowacct 参数

flowacct 模块将有关流的信息收集在由流记录组成的流表中。表中的每项都包含一个流记录。无法显示流表。

在 IPQoS 配置文件中,您可以定义以下 flowacct 参数以度量流记录并将记录写入流表中:

有关 flowacct 参数在 IPQoS 配置文件中如何应用的示例,请参阅如何在 IPQoS 配置文件中配置流控制。

流表

flowacct 模块可维护流表,此表记录了 flowacct 实例发现的所有包流。流由以下参数标识,其中包括 flowacct 8 元组:

如果流的 8 元组的所有参数保持不变,则流表仅包含一个项。max_limit 参数确定流表可以包含的项数。

将按照在 IPQoS 配置文件中为 timer 参数指定的时间间隔扫描流表。缺省值是 15 秒。如果 IPQoS 系统在由 IPQoS 配置文件指定的 timeout 时间间隔内未发现流的包,则表示此流已“超时”。缺省超时时间间隔为 60 秒。已超时的项将被写入使用 acctadm 命令创建的记帐文件中。

flowacct 记录

flowacct 记录包含下表中介绍的属性。

表 37–4 flowacct 记录的属性

属性名称 

属性内容 

类型 

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 命令创建用于存储由 flowacct 生成的各种流记录的文件。acctadm 可与扩展记帐功能一起使用。有关 acctadm 的技术信息,请参阅 acctadm(1M) 手册页。

flowacct 模块将查看流,并使用流记录填充流表。然后,flowacct 将在 timer 指定的时间间隔内评估其参数和属性。如果在 last_seen 值与 timeout 值之和对应的时间内未发现包,则表示包已超时。所有超时项都将从流表中删除。每经过 timer 参数指定的时间间隔,都会将这些项写入记帐文件中。

要调用 acctadm 以用于 flowacct 模块,请使用以下语法:

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

调用带有 -e 选项的 acctadm。-e 表示后面跟有资源列表。

file-type

指定要收集的属性。file-type 必须由 basic 或 extended 替换。有关每种文件类型中的属性列表,请参阅表 37–4。

-ffile-name

创建文件 file-name 来保存流记录。

flow

指示 acctadm 与 IPQoS 一起运行。