系统管理指南:IP 服务

tokenmt 计量模块

tokenmt 模块使用令牌桶来度量流的传输速率。您可以将 tokenmt 配置为作为单速率或双速率计量器运行。tokenmt 操作实例维护两个可确定通信流是否符合已配置参数的令牌桶。

tokenmt(7ipp) 手册页介绍了 IPQoS 如何实现令牌计量器模型。您可以在 Kalevi Kilkki 所著的《Differentiated Services for the Internet》和许多 Web 站点上找到有关令牌桶的更多常规信息。

tokenmt 的配置参数如下:

tokenmt 配置为单速率计量器

要将 tokenmt 配置为单速率计量器,请不要在 IPQoS 配置文件中为 tokenmt 指定 peak_rate 参数。要将单速率 tokenmt 实例配置为具有红色、绿色或黄色的结果,必须指定 peak_burst 参数。如果不使用 peak_burst 参数,可以将 tokenmt 配置为只有红色或绿色的结果。有关具有两种结果的单速率 tokenmt 的示例,请参见示例 34–3

tokenmt 作为单速率计量器运行时,peak_burst 参数实际为超额突发大小。committed_rate 以及 committed_burstpeak_burst 必须为非零正整数。

tokenmt 配置为双速率计量器

要将 tokenmt 配置为双速率计量器,请在 IPQoS 配置文件中为 tokenmt 操作指定 peak_rate 参数。双速率 tokenmt 始终具有三种结果,即红色、黄色和绿色结果。committed_ratecommitted_burstpeak_burst 参数必须为非零正整数。

tokenmt 配置为可识别颜色

要将双速率 tokenmt 配置为可识别颜色,必须添加参数以专门添加“颜色识别”功能。以下是将 tokenmt 配置为可识别颜色的操作语句示例。


示例 37–1 针对 IPQoS 配置文件的可识别颜色 tokenmt 操作

action {
    module tokenmt
    name meter1
    params {
	      committed_rate 4000000
	      peak_rate 8000000
	      committed_burst 4000000
	      peak_burst 8000000
	      global_stats true
	      red_action_name continue
	      yellow_action_name continue
	      green_action_name continue
	      color_aware true
	      color_map {0-20,22:GREEN;21,23-42:RED;43-63:YELLOW}
    }
}

您可以通过将 color_aware 参数设置为 true 来打开颜色识别。作为可识别颜色的计量器,tokenmt 假设先前的 tokenmt 操作已将包标记为红色、黄色或绿色。除使用双速率计量器的参数外,可识别颜色的 tokenmt 还使用包头中的 DSCP 来评估包。

color_map 参数包含包头中的 DSCP 要映射到的数组。请看以下 color_map 数组:

color_map {0-20,22:GREEN;21,23-42:RED;43-63:YELLOW}

DSCP 为 0 至 20 和 22 的包映射到绿色。DSCP 为 21 和 23 至 42 的包映射到红色。DSCP 为 43 至 63 的包映射到黄色。tokenmt 保持缺省颜色映射。但是,您可以根据需要使用 color_map 参数来更改缺省设置。

color_action_name 参数中,可以指定 continue 以完成对包的处理。或者,可以添加一个参数以将包发送到标记器操作,例如 yellow_action_name mark22