在 Oracle® Solaris 11.2 中管理 IP 服务质量

退出打印视图

更新时间: 2014 年 7 月
 
 

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

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

以下过程将继续构建Example 3–3 中应用服务器的 IPQoS 配置文件。在此过程中,您将配置计量器以及在计量器 action 语句中调用的两种标记操作。

开始之前

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

  1. 成为管理员。

    有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限

  2. 打开 /etc/inet/ipqosinit.conf

    在以下标记器操作之后开始进行更改:

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

    调用 tokenmt 计量器。

    name meterftp

    action 语句分配名称 meterftp

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

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

    committed_burst 50000000

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

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

  5. 添加参数以配置通信一致性优先级:
        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 类启用计量统计信息。

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

  6. 添加标记器 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 通信的可能性很低。Table 6–2 列出了可能的 AF 代码点。

  7. 添加标记器 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 优先级标记或更高优先级的通信类提供更高的转发优先级。Table 6–2 列出了可能的 AF 代码点。

  8. 将为应用服务器创建的 DSCP 添加到 Diffserv 路由器上的相应文件中。
  9. 保存对 /etc/inet/ipqosinit.conf 文件的更改。