系统管理指南:IP 服务

第 33 章 规划启用了 IPQoS 的网络(任务)

可以在任何运行 Oracle Solaris : 的系统上配置 IPQoS。这样 IPQoS 系统便会与可识别 Diffserv 的路由器一起工作,在内联网上提供区分服务和通信流量管理。

本章包含在可识别 Diffserv 的网络上添加启用 IPQoS 的系统的规划任务。本章包含以下主题:

常规 IPQoS 配置规划(任务列表)

在网络上实现区分服务(包括 IPQoS)需要进行大量规划。不仅必须考虑每个启用了 IPQoS 的系统的位置和功能,还要考虑每个系统与本地网络上的路由器的关系。下列任务映射列出了在网络中实施 IPQoS 的主要规划任务,以及指向完成这些任务的过程的链接。

任务 

说明 

参考 

1. 规划与启用了 IPQoS 的系统结合使用的 Diffserv 网络拓扑。 

了解各种 Diffserv 网络拓扑以确定用于您站点的最佳解决方案。 

规划 Diffserv 网络拓扑

2. 规划由 IPQoS 系统提供的不同服务类型。 

将网络提供的服务类型组织成服务级别协议 (service-level agreements, SLA)。 

规划服务质量策略

3. 为每个 IPQoS 系统规划 QoS 策略。 

确定实现每种 SLA 所需的类、计量和记帐功能。 

规划服务质量策略

4. 如果适用,为 Diffserv 路由器规划策略。 

为与 IPQoS 系统一起使用的 Diffserv 路由器确定所有调度和排队策略。 

有关排队和调度策略,请参阅路由器文档。 

规划 Diffserv 网络拓扑

要为网络提供区分服务,至少需要一个启用了 IPQoS 的系统以及一个可识别 Diffserv 的路由器。您可以通过各种方法扩展这个基本方案,如本节中所述。

Diffserv 网络的硬件策略

通常,客户针对服务器和服务器整合(例如 Sun Enterprise™ 0000 服务器)运行 IPQoS。与此相反,您还可以根据网络需求在桌面系统(例如 UltraSPARC® 系统)上运行 IPQoS。以下列表介绍了可以配置 IPQoS 的系统:

您可以通过已经起作用的可识别 Diffserv 的路由器将 IPQoS 系统引入网络拓扑中。如果您的路由器当前不提供 Diffserv,请考虑由 Cisco Systems、Juniper Networks 和其他路由器制造商提供的区分服务解决方案。如果本地路由器无法实现 Diffserv,则路由器会将标记的包传送到下一个跃点而不评估此标记。

IPQoS 网络拓扑

本节介绍可满足各种网络需求的 IPQoS 策略。

单个主机上的 IPQoS

下图显示启用了 IPQoS 的系统的单个网络。

图 33–1 网络段上的 IPQoS 系统

拓扑图显示了包含一个 Diffserv 路由器以及三个启用 IPQoS 的系统( FTP 服务器、数据库服务器和 Web 服务器)的本地网络。

此网络仅为公司内联网的一段。通过在应用服务器和 Web 服务器上启用 IPQoS,您可以控制每个 IPQoS 系统释放传出通信的速率。如果使路由器可识别 Diffserv,则还可以进一步控制传入和传出的通信。

本指南中的示例使用“单个主机上的 IPQoS”方案。有关在整个指南中使用的拓扑示例,请参见图 33–4

包含服务器场的网络上的 IPQoS

下图显示了包含数个异构服务器场的网络。

图 33–2 启用了 IPQoS 的服务器场的网络

拓扑图显示了包含一个 Diffserv 路由器、一个启用 IPQoS 的负载平衡器以及三个服务器场的网络。

在此类拓扑中,路由器可识别 Diffserv,因此可以对传入和传出的通信进行排队和计速。负载平衡器也可识别 Diffserv,并且服务器场也启用了 IPQoS。负载平衡器可以使用选定器(例如用户 ID 和项目 ID)来提供路由器之外的其他过滤功能。这些选定器包括在应用程序数据中。

此方案提供了流控制和通信转发以管理本地网络上的拥塞。此方案还可防止服务器场的传出通信对内联网的其他部分造成过载。

防火墙上的 IPQoS

下图显示了某公司网络的一段,由其他段通过防火墙保障该段的安全。

图 33–3 由启用了 IPQoS 的防火墙保护的网络

拓扑图显示了由一个 Diffserv 路由器、一个启用了 IPQoS 的防火墙、一个 Oracle Solaris : 系统以及其他主机组成的网络。

在此方案中,通信流入可识别 Diffserv 的路由器,在此路由器中对包进行过滤和排队。然后,所有由路由器转发的传入通信通过启用 IPQoS 的防火墙。要使用 IPQoS,防火墙不能跳过 IP 转发栈。

防火墙的安全策略决定是允许传入通信进入内部网络还是远离内部网络。QoS 策略控制已经通过防火墙的传入通信的服务级别。根据 QoS 策略,还可以使用转发行为标记传出通信。

规划服务质量策略

规划服务质量 (quality-of-service, QoS) 策略时,您必须对网络所提供的服务进行查看、分类以及设置优先级。还必须评估可用的带宽,以确定在网络上释放每个通信类的速率。

QoS 策略规划帮助

使用包括 IPQoS 配置文件所需信息的格式收集规划 QoS 策略的信息。例如,您可以使用以下模板来列出用于 IPQoS 配置文件的主要信息类别。

表 33–1 QoS 规划模板

类 

优先级 

过滤器 

选定器 

速率 

是否转发? 

是否记帐? 

类 1 

过滤器 1 

过滤器 3 

选定器 1 

选定器 2 

计量器速率,取决于计量器类型 

标记器丢弃优先级 

需要流记帐统计信息 

类 1 

过滤器 2 

选定器 1 

选定器 2 

 

N/A 

N/A 

N/A 

类 2 

过滤器 1 

选定器 1 

选定器 2 

计量器速率,取决于计量器类型 

标记器丢弃优先级 

需要流记帐统计信息 

类 2 

过滤器 2 

选定器 1 

选定器 2 

N/A 

N/A 

N/A 

您可以对每个主要类别进行划分,以进一步定义 QoS 策略。后续各节介绍了如何获取模板中显示的类别的信息。

QoS 策略规划(任务列表)

本任务列表列出了规划 QoS 策略的主要任务,以及指向执行各项任务的指南的链接。

任务 

说明 

参考 

1. 设计网络拓扑以支持 IPQoS。 

标识网络上的主机和路由器以提供区分服务。 

如何为 IPQoS 准备网络

2. 定义网络上的服务必须归属的类。 

检查站点所提供的服务和 SLA 的类型,并确定这些服务所归属的不同通信类。 

如何定义 QoS 策略类

3. 为类定义过滤器。 

确定将特定类的通信从网络通信流中分离出来的最佳方法。 

如何在 QoS 策略中定义过滤器

4. 定义当包离开 IPQoS 系统时测量通信的流控制速率。 

确定每个通信类的可接受流速率。 

如何规划流控制

5. 定义用于 QoS 策略的 DSCP 或用户优先级值。 

规划一种方案,以确定当路由器或交换机处理流时,为通信流指定的转发行为。 

如何规划转发行为

6. 如果适用,为网络上的通信流设置统计信息监视规划。 

评估通信类,以确定为进行记帐或统计而必须监视的通信流。 

如何规划流记帐


注 –

本节的其余部分介绍了如何规划启用了 IPQoS 的系统的 QoS 策略。要规划 Diffserv 路由器的 QoS 策略,请参阅路由器文档和路由器制造商的 Web 站点。


Procedure如何为 IPQoS 准备网络

以下过程列出了在创建 QoS 策略之前要执行的常规规划任务。

  1. 查看网络拓扑。然后,规划使用 IPQoS 系统和 Diffserv 路由器的策略。

    有关拓扑示例,请参见规划 Diffserv 网络拓扑

  2. 标识拓扑中要求 IPQoS 的主机或者可能会成为 IPQoS 服务优秀候选主机的主机。

  3. 确定可能会使用相同 QoS 策略的启用了 IPQoS 的系统。

    例如,如果您计划在网络中的所有主机上都启用 IPQoS,则标识出所有可能会使用相同 QoS 策略的主机。每个启用了 IPQoS 的系统都必须包含一个本地 QoS 策略,这在其 IPQoS 配置文件中实现。不过,您可以创建一个可供一系列系统使用的 IPQoS 配置文件。然后,可以将此配置文件复制到每个具有相同 QoS 策略要求的系统中。

  4. 查看并执行网络上的 Diffserv 路由器所要求的所有规划任务。

    有关详细信息,请参阅路由器文档和路由器制造商的 Web 站点。

Procedure如何定义 QoS 策略类

定义 QoS 策略的第一步是将通信流组织成多个类。您无需为 Diffserv 网络上的每种通信类型创建类。但是,根据您的网络拓扑,您可能必须为每个启用了 IPQoS 的系统创建不同的 QoS 策略。


注 –

有关类的概述,请参见IPQoS 类


下面的过程假设您已经确定网络上要启用 IPQoS 的系统,如如何为 IPQoS 准备网络中所述。

  1. 创建用于管理 QoS 策略信息的 QoS 规划表。

    有关建议,请参阅表 33–1

  2. 针对网络上的每个 QoS 策略执行剩余步骤。

  3. 定义用于 QoS 策略的类。

    以下问题是用于分析网络通信的可能类定义的指导。

    • 贵公司是否为客户提供服务级别协议?

      如果提供,请评估贵公司为客户提供的 SLA 的相对优先级别。可能会为被授予不同优先级别的客户提供相同的应用程序。

      例如,贵公司可能会为每个客户提供 Web 站点宿主,这表示您需要为每个客户 Web 站点定义类。一种 SLA 可能提供一个优质 Web 站点作为一个服务级别,而另一种 SLA 可能为低端客户提供“尽力服务”的个人 Web 站点。此因素不仅指示了不同的 Web 站点类,而且指示了为 Web 站点类指定的单跳行为(单跳行为可能会彼此不同)。

    • IPQoS 系统是否提供可能需要流控制的常用应用程序?

      通过在产生过多通信流量的常用应用程序所在的服务器上启用 IPQoS,可以改进网络性能。常见示例包括电子邮件、网络新闻和 FTP。如果适用,请考虑为每种服务类型的传入和传出通信创建单独的类。例如,您可能为邮件服务器的 QoS 策略创建 mail-in 类和 mail-out 类。

    • 您的网络是否运行需要最高优先级转发行为的特定应用程序?

      所有需要最高优先级转发行为的关键应用程序都必须在路由器的队列中拥有最高优先级。典型示例包括流视频和流音频。

      为这些高优先级应用程序定义传入类和传出类。然后,将这些类添加到服务于这些应用程序的启用了 IPQoS 的系统以及 Diffserv 路由器的 QoS 策略中。

    • 您的网络是否有过由于通信流占用大量带宽而必须受到控制的经历?

      使用 netstatsnoop 和其他网络监视实用程序来搜索引起网络问题的通信类型。查看迄今已创建的类,然后为任何未定义的问题通信类别创建新的类。如果已经为某个问题通信类别定义了类,请定义计量器的速率以控制问题通信。

      为网络上每个启用了 IPQoS 的系统的问题通信创建类。然后,每个 IPQoS 系统可以通过限制在网络上释放通信流的速率来处理问题通信。还要确保在 Diffserv 路由器上的 QoS 策略中定义这些问题类。这样,路由器可以按照其 QoS 策略中的配置对这些问题流进行排队和调度。

    • 您是否需要获取有关特定通信类型的统计信息?

      快速查看 SLA 可以了解需要记帐的客户通信类型。如果您的站点提供了 SLA,则您可能已经为需要记帐的通信创建了类。还可以定义类,以便收集正在监视的通信流的统计信息。还可以为出于安全原因而限制访问的通信创建类。

  4. 列出您在步骤 1 中创建的 QoS 规划表中已定义的类。

  5. 指定每个类的优先级别。

    例如,使优先级别 1 表示最高优先级类,然后为其余类指定按降序排列的优先级。所指定的优先级别仅用于进行组织。IPQoS 实际上并不使用您在 QoS 策略模板中设置的优先级别。此外,如果适用于 QoS 策略,您还可以为多个类指定相同的优先级。

  6. 完成定义类后,接下来为每个类定义过滤器,如如何在 QoS 策略中定义过滤器中所述。

设置类的优先级

创建类时,您会立即知道哪些类具有最高优先级、中等优先级以及尽力服务的优先级。当您按照如何规划转发行为中所述为传出通信指定单跳行为时,优秀的设置类优先级方案变得尤为重要。

除了为类指定 PHB 之外,您还可以在过滤器中为类定义优先级选定器。优先级选定器仅可在启用了 IPQoS 的主机上使用。假定数个具有相同速率和 DSCP 的类有时会在离开 IPQoS 系统时争用带宽。每个类中的优先级选定器会对提供给其他同值类的服务级别进一步排序。

定义过滤器

您可以创建过滤器以便将包流标识为特定类的成员。每个过滤器都包含选定器,这些选定器定义评估包流的条件。然后,启用了 IPQoS 的系统使用选定器中的条件从通信流中提取包。这样 IPQoS 系统便将包与类进行关联。有关过滤器的介绍,请参见IPQoS 过滤器

下表列出了最常用的选定器。前五个选定器表示 IPQoS 5 元组,IPQoS 系统使用这些选定器将包标识为流的成员。有关选定器的完整列表,请参见表 37–1

表 33–2 常见的 IPQoS 选定器

名称 

定义 

saddr

源地址。 

daddr

目标地址。 

sport

源端口号。您既可以使用 /etc/services 中定义的已知端口号,也可以使用用户自定义的端口号。

dport

目标端口号。 

protocol(协议)

/etc/protocols 中,指定给通信流类型的 IP 协议号或协议名称。

ip_version

要使用的寻址样式。使用 IPv4 或 IPv6。IPv4 为缺省设置。 

dsfield

DS 字段的内容,即 DSCP。使用此选定器来提取已使用特定 DSCP 标记的传入包。 

priority

为类指定的优先级别。有关更多信息,请参见如何定义 QoS 策略类

user

执行高级应用程序时使用的 UNIX 用户 ID 或用户名。 

projid

执行高级应用程序时使用的项目 ID。 

direction

通信流的方向。值为 LOCAL_INLOCAL_OUTFWD_INFWD_OUT


注 –

选择选定器时应谨慎。请根据需要仅使用相应数量的选定器来为类提取包。定义的选定器越多,对 IPQoS 性能的影响就越大。


Procedure如何在 QoS 策略中定义过滤器

开始之前

在执行下面的步骤之前,您应该已经完成如何定义 QoS 策略类过程。

  1. 至少为您在如何定义 QoS 策略类中创建的 QoS 规划表内的每个类创建一个过滤器。

    如果适用,请考虑为每个类的传入和传出通信创建单独的过滤器。例如,向启用了 IPQoS 的 FTP 服务器的 QoS 策略中添加 ftp-in 过滤器和 ftp-out 过滤器。除了定义基本选定器之外,您还可以定义相应的 direction 选定器。

  2. 至少为类中的每个过滤器定义一个选定器。

    使用在表 33–1 中介绍的 QoS 规划表为您定义的类填充过滤器。


示例 33–1 为 FTP 通信定义过滤器

下表为一示例,显示了如何为传出 FTP 通信定义过滤器。

类 

优先级 

过滤器 

选定器 

ftp-traffic

ftp-out

saddr 10.190.17.44

daddr 10.100.10.53

sport 21

direction LOCAL_OUT


另请参见

Procedure如何规划流控制

流控制涉及测量类的通信流以及按照定义的速率在网络上释放包。规划流控制时,您将定义 IPQoS 计量模块使用的参数。计量器确定在网络上释放通信的速率。有关计量模块的介绍,请参见计量器(tokenmttswtclmt)概述

下面的过程假设您已经定义了过滤器和选定器,如如何在 QoS 策略中定义过滤器中所述。

  1. 确定网络的最大带宽。

  2. 查看网络支持的所有 SLA。确定客户以及授予每个客户的服务类型。

    要授予某个服务级别,您可能需要计量由客户生成的特定通信类。

  3. 查看在如何定义 QoS 策略类中创建的类列表。

    确定除了那些与 SLA 关联的类之外,是否还有其他类需要计量。

    假定 IPQoS 系统运行可生成高级别通信的应用程序。对应用程序的通信分类后,计量流以控制流的包返回到网络的速率。


    注 –

    并不需要计量所有的类。在查看类列表时应记住这一点。


  4. 确定每个类中由哪些过滤器选择需要流控制的通信。然后,完善需要计量的类列表。

    包含多个过滤器的类可能仅需要对一个过滤器进行计量。假定您为某个特定类的传入和传出通信定义过滤器。您可能会得出只有一个方向的通信需要流控制的结论。

  5. 为每个要进行流控制的类选择计量器模块。

    将此模块名称添加到 QoS 规划表的计量器列中。

  6. 将每个待计量类的速率添加到组织表中。

    如果您使用 tokenmt 模块,则需要定义以下速率(以位/秒为单位)。

    • 承诺速率

    • 峰值速率

    如果这些速率足以计量特定类,则可以仅为 tokenmt 定义承诺速率和承诺突发速率。

    如果需要,还可以定义以下速率:

    • 承诺突发速率

    • 峰值突发速率

    有关 tokenmt 速率的完整定义,请参阅tokenmt 配置为双速率计量器。您还可以在 tokenmt (7ipp) 手册页中获得更多详细信息。

    如果您使用 tswtclmt 模块,则需要定义以下速率(以每秒位数为单位)。

    • 承诺速率

    • 峰值速率

    您还可以定义时间窗口大小(以毫秒为单位)。这些速率在tswtclmt 计量模块twstclmt(7ipp) 手册页中定义。

  7. 添加已计量通信的通信一致性结果。

    两个计量模块的结果为绿色、红色和黄色。将适用于您所定义的速率的通信一致性结果添加到 QoS 组织表中。计量器模块中全面介绍了计量器的结果。

    您需要确定应该对符合或者不符合承诺速率的通信执行的操作。通常(但不总是),此操作是使用单跳行为标记包头。对绿色级别通信执行的可接受操作可能是在通信没有超过承诺速率时继续进行处理。另一个操作可能是在通信流量超过峰值速率时丢弃类的包。


示例 33–2 定义计量器

下表为一示例,显示了电子邮件通信类的计量器项。IPQoS 系统所在网络的总带宽为 100 兆位/秒或 10000000 位/秒。QoS 策略为电子邮件类指定低优先级。此类也接收尽力服务的转发行为。

类 

优先级 

过滤器 

选定器 

速率 

email

mail_in

daddr10.50.50.5

dport imap

direction LOCAL_IN

 

email

mail_out

saddr10.50.50.5

sport imap

direction LOCAL_OUT

计量器 = tokenmt

承诺速率 = 5000000 

承诺突发速率 = 5000000 

峰值速率 = 10000000 

峰值突发速率 = 1000000 

绿色优先级 = 继续进行处理 

黄色优先级 = 标记黄色 PHB 

红色优先级 = 丢弃 


另请参见

Procedure如何规划转发行为

转发行为确定要转发到网络的通信流的优先级和丢弃优先级。您可以选择两种主要转发行为: 相对于其他通信类设置某个类的流优先级,或者完全丢弃流。

Diffserv 模型使用标记器为通信流指定所选的转发行为。IPQoS 提供以下标记器模块。


注 –

本节中的建议专指 IP 包。如果 IPQoS 系统包括 VLAN 设备,则可以使用 dlcosmk 标记器为数据报标记转发行为。有关更多信息,请参阅dlcosmk 标记器用于 VLAN 设备


要设置 IP 通信的优先级,您需要为每个包指定一个 DSCP。dscpmk 标记器使用 DSCP 标记包的 DS 字段。您可以从与转发行为类型关联的一组已知代码点中为类选择 DSCP。这些已知代码点包括用于 EF PHB 的 46 (101110) 以及用于 AF PHB 的一系列代码点。有关 DSCP 和转发的概述信息,请参阅启用了 IPQoS 的网络上的通信转发

开始之前

下面的步骤假设您已经为 QoS 策略定义了类和过滤器。尽管您经常同时使用计量器和标记器来控制通信,但是也可以单独使用标记器来定义转发行为。

  1. 查看迄今已创建的类以及已为每个类指定的优先级。

    并不需要标记所有的通信类。

  2. 为优先级最高的类指定 EF 单跳行为。

    EF PHB 保证具有 EF DSCP 46 (101110) 的包在网络上的释放优先于具有任何 AF PHB 的包。请为最高优先级的通信使用 EF PHB。有关 EF 的更多信息,请参阅加速转发 (Expedited Forwarding, EF) PHB

  3. 为要计量通信的类指定转发行为。

  4. 按照已经为类指定的优先级,为其余的类指定 DS 代码点。


示例 33–3 游戏应用程序的 QoS 策略

通常,对通信进行计量的原因如下:

您可以同时使用标记器和计量器为这些类提供区分服务和带宽管理。例如,下表显示了 QoS 策略的一部分。此策略为生成高级别通信的常用游戏应用程序定义类。

类 

优先级 

过滤器 

选定器 

速率 

是否转发? 

games_app

games_in

sport 6080

N/A 

N/A 

games_app

games_out

dport 6081

计量器 = tokenmt

承诺速率 = 5000000 

承诺突发速率 = 5000000 

峰值速率 = 10000000 

峰值突发速率 = 15000000 

绿色优先级 = 继续进行处理 

黄色优先级 = 标记黄色 PHB 

红色优先级 = 丢弃 

绿色 = AF31 

黄色 = AF42 

红色 = 丢弃 

转发行为将为符合承诺速率或低于峰值速率的 games_app 通信指定低优先级的 DSCP。当 games_app 通信流量超过峰值速率时,QoS 策略指示丢弃来自 games_app 的包。表 37–2 中列出了所有 AF 代码点。


另请参见

Procedure如何规划流记帐

您可以使用 IPQoS flowacct 模块跟踪通信流以实现记帐或网络管理。请使用以下过程来确定您的 QoS 策略是否应该包括流记帐。

  1. 贵公司是否为客户提供 SLA?

    如果提供,则应该使用流记帐。查看 SLA 来确定贵公司希望为客户进行记帐的网络通信类型。然后,查看您的 QoS 策略来确定由哪些类选择要记帐的通信。

  2. 是否存在可能需要进行监视或测试以免出现网络问题的应用程序?

    如果存在,请考虑使用流记帐来查看这些应用程序的行为。查看您的 QoS 策略来确定已经为需要进行监视的通信指定的类。

  3. 在 QoS 规划表中,为每个需要流记帐的类在流记帐列中标记 Y。

另请参见

IPQoS 配置示例介绍

本指南其余章节中的任务均使用本节中介绍的示例 IPQoS 配置。此示例显示了 BigISP 这一虚构服务提供商的公共内联网上的区分服务解决方案。BigISP 为通过租用线路访问 BigISP 的大型公司提供服务。通过调制解调器拨入的个人也可以购买 BigISP 提供的服务。

IPQoS 拓扑

下图显示了用于 BigISP 公共内联网的网络拓扑。

图 33–4 IPQoS 拓扑示例

 拓扑图显示了可访问下文中定义的 ISP 网络的两种用户类型:公司和个人。

BigISP 在其公共内联网上实现以下四层: