系统管理指南:IP 服务

分类器模块

在 Diffserv 模型中,分类器负责将选定的通信流组织到应用不同服务级别的组中。RFC 2475 中定义的分类器最初是为边界路由器设计的。相反,IPQoS 分类器 ipgpc 是为了处理本地网络内部的主机上的通信流而设计的。因此,同时包含 IPQoS 系统和 Diffserv 路由器的网络可以提供更高程度的区分服务。有关 ipgpc 的技术说明,请参阅 ipgpc(7ipp) 手册页。

ipgpc 分类器具有以下功能:

  1. 选择满足条件的通信流,该条件在启用了 IPQoS 的系统中的 IPQoS 配置文件中指定。

    QoS 策略可以定义各种必须出现在包头中的条件。这些条件称为选定器ipgpc 分类器将这些选定器与 IPQoS 系统接收的包头进行比较,然后,ipgpc 会选择所有匹配的包。

  2. 将包流分(即具有相同特征的网络通信流量),如 IPQoS 配置文件中所定义。

  3. 检查包的区分服务 (differentiated service, DS) 字段中的值,确定是否存在区分服务代码点 (differentiated service codepoint, DSCP)。

    DSCP 的存在与否指示发送者是否使用转发行为标记了传入通信。

  4. 确定 IPQoS 配置文件中针对特定类的包指定的进一步操作

  5. 将包传送到 IPQoS 配置文件指定的下一个 IPQoS 模块中,或者将包返回到网络流中

有关分类器的概述,请参阅分类器 (ipgpc) 概述。有关在 IPQoS 配置文件中调用分类器的信息,请参阅IPQoS 配置文件

IPQoS 选定器

ipgpc 分类器支持多种可在 IPQoS 配置文件的 filter 子句中使用的选定器。定义过滤器时,应始终使用成功检索特定类的通信所需的最少选定器数目。您所定义的过滤器的数目会影响 IPQoS 性能。

下表列出了可用于 ipgpc 的选定器。

表 37–1 IPQoS 分类器的过滤选定器

选定器 

参数 

选定的信息 

saddr

IP 地址号。 

源地址。 

daddr

IP 地址号。 

目标地址。 

sport

端口号或服务名,如 /etc/services 中所定义。

传出通信类的源端口。 

dport

端口号或服务名,如 /etc/services 中所定义。

要将通信类送达的目标端口。 

protocol(协议)

协议编号或协议名称,如 /etc/protocols 中所定义。

此通信类要使用的协议。 

dsfield

值为 0 至 63 的 DS 代码点 (DS codepoint, DSCP)。 

DSCP 用于定义要对包应用的任何转发行为。如果指定了此参数,则还必须指定 dsfield_mask 参数。

dsfield_mask

值为 0 至 255 的位掩码。 

dsfield 选定器一起使用。dsfield_mask 将应用于 dsfield 选定器以确定要匹配的位。

if_name

接口名称。 

用于特定类的传入或传出通信的接口。 

user

要选择的 UNIX 用户 ID 号或用户名。如果包中没有用户 ID 或用户名,则使用缺省值 1。 

提供给应用程序的用户 ID。 

projid

要选择的项目 ID 号。 

提供给应用程序的项目 ID。 

priority

优先级编号。最低优先级为 0。 

提供给此类包的优先级。优先级用于对同类过滤器的重要性进行排序。 

direction

该参数可以为下列值之一: 

IPQoS 计算机上包流的传输方向。  

 

LOCAL_IN

将本地通信输入到 IPQoS 系统。 

 

LOCAL_OUT

将本地通信输出到 IPQoS 系统。 

 

FWD_IN

输入要转发的通信。 

 

FWD_OUT

输出要转发的通信。 

precedence

优先级值。最高优先级为 0。 

优先级用于对具有相同优先级的过滤器进行排序。 

ip_version

V4V6

包使用的寻址方案(IPv4 或 IPv6)。