系统管理指南:IP 服务

区分服务模型

IPQoS 包含以下模块,这些模块是 RFC 2475 中定义的区分服务 (Differentiated Service, Diffserv) 体系结构的一部分:

IPQoS 在 Diffserv 模型中添加了以下增强功能:

本节介绍由 IPQoS 使用的 Diffserv 模块。要设置 QoS 策略,您需要了解这些模块及其名称和用法。有关各个模块的详细信息,请参阅IPQoS 体系结构和 Diffserv 模型

分类器 (ipgpc) 概述

在 Diffserv 模型中,分类器从网络通信流中选择包。通信流由一组在以下 IP 数据包头字段中具有相同信息的包组成:

在 IPQoS 中,这些字段称为 5 元组

IPQoS 分类器模块名为 ipgpcipgpc 分类器将通信流整理到基于在 IPQoS 配置文件中配置的特征的各个类中。

有关 ipgpc 的详细信息,请参阅分类器模块

IPQoS 类

是一组具有类似特征的网络流。例如,ISP 可以将类定义为代表为客户提供的不同服务级别。ASP 可以将提供不同级别服务的 SLA 定义为各种应用程序。对于 ASP 的 QoS 策略,类可能包含送达特殊目标 IP 地址的传出 FTP 通信。还可以将公司外部 Web 站点的传出通信定义为一个类。

将通信分类是规划 QoS 策略的重要组成部分。使用 ipqosconf 实用程序创建类的过程实际上就是配置 ipgpc 分类器的过程。

有关如何定义类的信息,请参见如何定义 QoS 策略类

IPQoS 过滤器

过滤器是包含称为选定器参数的规则集。每个过滤器都必须指向一个类。IPQoS 根据每个过滤器的选定器来匹配包,从而确定此包是否属于该过滤器的类。您可以使用各种选定器过滤包,例如,IPQoS 5 元组和其他常用参数:

例如,简单过滤器可能包含值为 80 的目标端口。于是 ipgpc 分类器将选择所有送达目标端口 80 (HTTP) 的包并按照 QoS 策略中的指示处理这些包。

有关创建过滤器的信息,请参见如何在 QoS 策略中定义过滤器

计量器(tokenmttswtclmt)概述

在 Diffserv 模型中,计量器按类跟踪通信流的传输速率。计量器通过评估流的实际速率与配置的速率的符合程度来确定相应的结果。计量器会根据通信流的结果来选择后续操作。后续操作可能包括将包发送到其他操作或将包返回到网络而不进行进一步处理。

IPQoS 计量器确定网络流是否符合在 QoS 策略中为其所属的类定义的传输速率。IPQoS 包括两种计量模块:

这两种计量模块可识别三种结果: 红色、黄色和绿色。在参数 red_action_nameyellow_action_namegreen_action_name 中定义针对每种结果所采取的操作。

此外,还可以将 tokenmt 配置为可识别颜色。可识别颜色的计量实例使用包大小、DSCP、通信率和配置的参数来确定结果。计量器使用 DSCP 将包的结果映射到绿色、黄色或红色。

有关为 IPQoS 计量器定义参数的信息,请参阅如何规划流控制

标记器(dscpmkdlcosmk)概述

在 Diffserv 模型中,标记器使用反映转发行为的值来标记包。标记是将一个值放入包头以指示如何将此包转发到网络的过程。IPQoS 包含两种标记器模块:

有关针对 QoS 策略实现标记器策略的信息,请参见如何规划转发行为

流记帐 (flowacct) 概述

IPQoS 将 flowacct 记帐模块添加到 Diffserv 模型中。您可以使用 flowacct 来收集有关通信流的统计信息,并根据客户的 SLA 为客户开帐单。流记帐对容量规划和系统监视也非常有用。

flowacct 模块可与 acctadm 命令一起使用来创建记帐日志文件。基本日志包括 IPQoS 5 元组和两个其他属性,如下所示:

您还可以收集有关其他属性的统计信息,如记录有关通信流量的信息,以及 flowacct(7ipp) 和 acctadm(1M) 手册页中所述。

有关规划流记帐策略的信息,请参见如何规划流记帐

通信如何流过 IPQoS 模块

下图显示传入通信可能用以经过某些 IPQoS 模块的路径。

图 32–1 通信流经过 Diffserv 模型的 IPQoS 实现

图形(表示流的图表)后面的文字。

此图展示了启用 IPQoS 的计算机上常见的通信流顺序:

  1. 分类器从包流中选择所有符合系统 QoS 策略中过滤条件的包。

  2. 然后针对下一步要采取的操作评估选定的包。

  3. 分类器将所有不需要流控制的通信发送到标记器。

  4. 将流控制的通信发送到计量器。

  5. 计量器强制执行已配置的速率。然后,计量器为流控制的包指定一个通信符合值。

  6. 然后评估流控制的包以确定是否所有包都需要记帐。

  7. 计量器将所有不需要流记帐的通信发送到标记器。

  8. 流记帐模块收集有关已接收包的统计信息。然后,此模块将包传送到标记器。

  9. 标记器为包头指定一个 DS 代码点。此 DSCP 指示可识别 Diffserv 的系统必须应用于包的单跳行为。