JavaScript is required to for searching.
跳过导航链接
退出打印视图
系统管理指南:IP 服务     Oracle Solaris 10 8/11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分系统管理介绍:IP 服务

1.  Oracle Solaris TCP/IP 协议套件(概述)

第 2 部分TCP/IP 管理

2.  规划 TCP/IP 网络(任务)

3.  IPv6 介绍(概述)

4.  规划 IPv6 网络(任务)

5.  配置 TCP/IP 网络服务和 IPv4 寻址(任务)

6.  管理网络接口(任务)

7.  配置 IPv6 网络(任务)

8.  管理 TCP/IP 网络(任务)

9.  对网络问题进行故障排除(任务)

10.  TCP/IP 和 IPv4 详解(参考)

11.  IPv6 详解(参考)

第 3 部分DHCP

12.  关于 DHCP(概述)

13.  规划 DHCP 服务(任务)

14.  配置 DHCP 服务(任务)

15.  管理 DHCP(任务)

16.  配置和管理 DHCP 客户机

17.  对 DHCP 问题进行故障排除(参考)

18.  DHCP 命令和文件(参考)

第 4 部分IP 安全性

19.  IP 安全体系结构(概述)

20.  配置 IPsec(任务)

21.  IP 安全体系结构(参考)

22.  Internet 密钥交换(概述)

23.  配置 IKE(任务)

24.  Internet 密钥交换(参考资料)

25.  Oracle Solaris 中的 IP 过滤器(概述)

26.  IP 过滤器(任务)

第 5 部分移动 IP

27.  移动 IP(概述)

28.  管理移动 IP(任务)

29.  移动 IP 文件和命令(参考)

第 6 部分IPMP

30.  IPMP 介绍(概述)

31.  管理 IPMP(任务)

第 7 部分IP 服务质量 (IP Quality of Service, IPQoS)

32.  IPQoS 介绍(概述)

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

34.  创建 IPQoS 配置文件(任务)

在 IPQoS 配置文件中定义 QoS 策略(任务列表)

创建 QoS 策略所用的工具

基本的 IPQoS 配置文件

配置 IPQoS 拓扑示例

为 Web 服务器创建 IPQoS 配置文件

如何创建 IPQoS 配置文件并定义通信类

如何在 IPQoS 配置文件中定义过滤器

如何在 IPQoS 配置文件中定义通信转发

如何在 IPQoS 配置文件中为类启用记帐

如何为尽力服务 Web 服务器创建 IPQoS 配置文件

为应用服务器创建 IPQoS 配置文件

如何为应用服务器配置 IPQoS 配置文件

如何在 IPQoS 配置文件中为应用程序通信配置转发

如何在 IPQoS 配置文件中配置流控制

在路由器上提供区分服务

如何在启用了 IPQoS 的网络中配置路由器

35.  启动和维护 IPQoS(任务)

36.  使用流记帐和统计信息收集功能(任务)

37.  IPQoS 的详细介绍(参考)

词汇表

索引

为应用服务器创建 IPQoS 配置文件

本节介绍如何为可向客户提供主要应用程序的应用服务器创建配置文件。以下过程以图 33-4 中的 BigAPPS 服务器为例。

以下配置文件定义了 BigAPPS 服务器的 IPQoS 活动。此服务器为客户托管 FTP、电子邮件 (SMTP) 以及网络新闻 (NNTP)。

示例 34-3 应用服务器的 IPQoS 配置文件样例

fmt_version 1.0

action {
    module ipgpc
    name ipgpc.classify
    params {
        global_stats TRUE
    }
    class {
        name smtp
        enable_stats FALSE
        next_action markAF13
    }
    class {
        name news
        next_action markAF21
    }
    class {
        name ftp
        next_action meterftp
    }
    filter {
        name smtpout
        sport smtp
        class smtp
    }
    filter {
        name newsout
        sport nntp
        class news
    }
    filter {
        name ftpout
        sport ftp
        class ftp
    }
   filter {
        name ftpdata
        sport ftp-data
        class ftp
    }
}
action {
    module dscpmk
    name markAF13
    params {
        global_stats FALSE
        dscp_map{0-63:14}
        next_action continue
    }
}
action {
    module dscpmk
    name markAF21
    params {
        global_stats FALSE
        dscp_map{0-63:18}
        next_action continue
    }
}
action {
    module tokenmt
    name meterftp
    params {
        committed_rate 50000000
        committed_burst 50000000
        red_action_name AF31
        green_action_name markAF22
        global_stats TRUE
    }
}
action {
    module dscpmk
    name markAF31
    params {
        global_stats TRUE
        dscp_map{0-63:26}
        next_action continue
    }
}
action {
    module dscpmk
    name markAF22
    params {
        global_stats TRUE
        dscp_map{0-63:20}
        next_action continue
    }
}

如何为应用服务器配置 IPQoS 配置文件

  1. 登录到启用了 IPQoS 的应用服务器,并创建扩展名为 .qos 的新 IPQoS 配置文件。

    例如,可以为应用服务器创建 /var/ipqos/BigAPPS.qos 文件。请以下列必需的短语开头以开始调用 ipgpc 分类器的 action 语句:

    fmt_version 1.0 action { module ipgpc name ipgpc.classify params { global_stats TRUE } 

    有关开始 action 语句的说明,请参阅如何创建 IPQoS 配置文件并定义通信类

  2. 创建类以选择 BigAPPS 服务器上三个应用程序产生的通信。

    在开始 action 语句之后添加类定义。

     class { name smtp enable_stats FALSE next_action markAF13 } class { name news next_action markAF21 } class { name ftp enable_stats TRUE next_action meterftp }       
    name smtp

    创建名为 smtp 的类,此类包括要由 SMTP 应用程序处理的电子邮件通信流

    enable_stats FALSE

    用于针对 smtp 类启用统计信息收集。但是,由于 enable_stats 的值为 FALSE,因此不会针对此类收集统计信息。

    next_action markAF13

    指示 ipgpc 模块在 ipgpc 完成处理之后,将 smtp 类的包传递到 markAF13 action 语句。

    name news

    创建名为 news 类,此类包括要由 NNTP 应用程序处理的网络新闻通信流。

    next_action markAF21

    指示 ipgpc 模块在 ipgpc 完成处理之后,将 news 类的包传递到 markAF21 操作语句。

    name ftp

    创建名为 ftp 的类,此类包括要由 FTP 应用程序处理的传出通信。

    enable_stats TRUE

    用于针对 ftp 类启用统计信息收集。

    next_action meterftp

    指示 ipgpc 模块在 ipgpc 完成处理之后,将 ftp 类的包传递到 meterftp action 语句。

    有关定义类的更多信息,请参阅如何创建 IPQoS 配置文件并定义通信类

  3. 定义 filter 子句以选择属于在步骤 2 中定义的类的通信。
     filter { name smtpout sport smtp class smtp } filter { name newsout sport nntp class news } filter { name ftpout sport ftp class ftp } filter { name ftpdata sport ftp-data class ftp } }
    name smtpout

    为过滤器提供名称 smtpout

    sport smtp

    选择源端口 25 传出的通信,此端口是众所周知的用于 sendmail (SMTP) 应用程序的端口。

    class smtp

    标识过滤器所属的类,在此实例中为类 smtp

    name newsout

    为过滤器提供名称 newsout

    sport nntp

    选择名称为 nntp 的源端口传出的通信,此名称是众所周知的用于网络新闻 (NNTP) 应用程序的端口名称。

    class news

    标识过滤器所属的类,在此实例中为类 news

    name ftpout

    为过滤器提供名称 ftpout

    sport ftp

    选择源端口 21 传出的控制数据,此端口号是众所周知的用于 FTP 通信的端口号。

    name ftpdata

    为过滤器提供名称 ftpdata

    sport ftp-data

    选择源端口 20 传出的通信,此端口号是众所周知的用于 FTP 数据通信的端口号。

    class ftp

    标识 ftpoutftpdata 过滤器所属的类,在此实例中为 ftp

另请参见

如何在 IPQoS 配置文件中为应用程序通信配置转发

以下过程说明如何为应用程序通信配置转发。在此过程中,您将为优先级可能低于网络中其他通信的应用程序通信类定义单跳行为。这些步骤将继续构建示例 34-3 中的 /var/ipqos/BigAPPS.qos 文件。

开始之前

此过程假设您具有已为要标记的应用程序定义类和过滤器的 IPQoS 配置文件。

  1. 打开为应用服务器创建的 IPQoS 配置文件,并定位到最后一条 filter 子句的结尾。

    /var/ipqos/BigAPPS.qos 文件中,最后一个过滤器为:

     filter {
            name ftpdata
            sport ftp-data
            class ftp
        }
    }
  2. 按以下方式调用标记器:
    action { module dscpmk name markAF13 
    module dscpmk

    调用标记器模块 dscpmk

    name markAF13

    action 语句提供名称 markAF13

  3. 定义要在电子邮件通信流上标记的单跳行为。
     params { global_stats FALSE dscp_map{0-63:14} next_action continue } }
    global_stats FALSE

    markAF13 标记器 action 语句启用统计信息收集。但是,由于 enable_stats 的值为 FALSE,因此不会收集统计信息。

    dscp_map{0–63:14}

    将 DSCP 14 指定给通信类 smtp 的包头,标记器当前正在处理此通信类。

    next_action continue

    指示不需要对通信类 smtp 的包进行进一步处理。这样,可以将这些包返回到网络流中。

    DSCP 为 14 指示标记器将 dscp 映射中的所有项都设置为十进制值 14(二进制值 001110)。DSCP 为 14 将设置 AF13 单跳行为。标记器使用 DS 字段中的 DSCP 14 来标记属于 smtp 通信类的包。

    AF13 针对 DSCP 为 14 的所有包指定高丢弃率的优先级。但是,由于 AF13 还确保优先级为类 1,因此路由器仍保证其队列中的传出电子邮件通信具有高优先级。有关可能的 AF 代码点表的信息,请参阅表 37-2

  4. 添加标记器 action 语句以便为网络新闻通信定义单跳行为:
    action { module dscpmk name markAF21 params { global_stats FALSE dscp_map{0-63:18} next_action continue } }
    name markAF21

    action 语句提供名称 markAF21

    dscp_map{0–63:18}

    将 DSCP 18 指定给通信类 nntp 的包头,标记器当前正在处理此通信类。

    DSCP 为 18 指示标记器将 dscp 映射中的所有项都设置为十进制值 18(二进制值 010010)。DSCP 为 18 将设置 AF21 单跳行为。标记器使用 DS 字段中的 DSCP 18 来标记属于 news 通信类的包。

    AF21 保证 DSCP 为 18 的所有包都拥有低丢弃率的优先级,但优先级仅为类 2。因此,丢弃网络新闻通信的可能性很低。

另请参见

如何在 IPQoS 配置文件中配置流控制

要控制将特定通信流释放到网络的速率,必须为计量器定义参数。您可以在 IPQoS 配置文件中使用以下两个计量器模块之一:tokenmttswtclmt

下面的这些过程将继续构建示例 34-3 中应用服务器的 IPQoS 配置文件。在此过程中,您不仅要配置计量器,还要配置在计量器 action 语句中调用的两种标记器操作。

开始之前

以下步骤假设已为要进行流控制的应用程序定义了类和过滤器。

  1. 打开为应用服务器创建的 IPQoS 配置文件。

    /var/ipqos/BigAPPS.qos 文件中,可以从以下标记器操作之后开始:

    action {
        module dscpmk
        name markAF21
        params {
            global_stats FALSE
            dscp_map{0-63:18}
            next_action continue
        }
    }
  2. 创建计量器 action 语句以便对 ftp 类的通信进行流控制。
    action { module tokenmt name meterftp         
    module tokenmt

    调用 tokenmt 计量器。

    name meterftp

    action 语句提供名称 meterftp

  3. 添加参数以配置计量器的速率。
    params { committed_rate 50000000 committed_burst 50000000 
    committed_rate 50000000

    指定 ftp 类的通信的传输速率为 50,000,000 bps。

    committed_burst 50000000

    指定 ftp 类的通信的突发大小为 50,000,000 位。

    有关 tokenmt 参数的解释,请参阅tokenmt 配置为双速率计量器

  4. 添加参数以配置通信一致性优先级:
     red_action markAF31 green_action_name markAF22 global_stats TRUE } }
    red_action_name markAF31

    指示当 ftp 类的通信流超过承诺速率时,将包发送到 markAF31 标记器 action 语句。

    green_action_name markAF22

    指示当类 ftp 的通信流符合承诺速率时,将包发送到 markAF22 操作语句。

    global_stats TRUE

    用于针对 ftp 类启用计量统计信息。

    有关通信一致性的更多信息,请参见计量器模块

  5. 添加标记器 action 语句以便为属于 ftp 类的非一致的通信流指定单跳行为。
    action { module dscpmk name markAF31 params { global_stats TRUE dscp_map{0-63:26} next_action continue } }
    module dscpmk

    调用标记器模块 dscpmk

    name markAF31

    action 语句提供名称 markAF31

    global_stats TRUE

    用于针对 ftp 类启用统计信息。

    dscp_map{0–63:26}

    ftp 类的通信超过承诺速率时,将 DSCP 26 指定给该类的包头。

    next_action continue

    指示不需要对通信类 ftp 的包进行进一步处理。这样,可以将这些包返回到网络流中。

    DSCP 26 指示标记器将 dscp 映射中的所有项都设置为十进制值 26(二进制值 011010)。DSCP 26 设置 AF31 单跳行为。标记器使用 DS 字段中的 DSCP 26 标记 ftp 通信类的包。

    AF31 保证 DSCP 为 26 的所有包都拥有低丢弃率的优先级,但优先级仅为类 3。因此,丢弃非一致的 FTP 通信的可能性很低。有关可能的 AF 代码点表的信息,请参阅表 37-2

  6. 添加标记器 action 语句以便为符合承诺速率的 ftp 通信流指定单跳行为。
    action { module dscpmk name markAF22 params { global_stats TRUE dscp_map{0-63:20} next_action continue } }
    name markAF22

    marker 操作提供名称 markAF22

    dscp_map{0–63:20}

    ftp 通信符合已配置的速率时,将 DSCP 20 指定给该类的包头。

    DSCP 20 指示标记器将 dscp 映射中的所有项都设置为十进制值 20(二进制值 010100)。DSCP 20 设置 AF22 单跳行为。标记器使用 DS 字段中的 DSCP 20 来标记属于 ftp 通信类的包。

    AF22 保证 DSCP 为 20 的所有包都拥有中丢弃率的优先级,优先级为类 2。因此,在由 IPQoS 系统同时释放的流中,一致性 FTP 通信具有中丢弃率的优先级。但是,路由器会为具有中丢弃率的类 1 优先级标记或更高优先级的通信类提供更高的转发优先级。有关可能的 AF 代码点表的信息,请参阅表 37-2

  7. 将为应用服务器创建的 DSCP 添加到 Diffserv 路由器上的相应文件中。

另请参见