tokenmt 模块使用令牌桶来度量流的传输速率。您可以将 tokenmt 配置为作为单速率或双速率计量器运行。tokenmt 操作实例维护两个可确定通信流是否符合已配置参数的令牌桶。
tokenmt(7ipp) 手册页介绍了 IPQoS 如何实现令牌计量器模型。您可以在 Kalevi Kilkki 所著的《Differentiated Services for the Internet》和许多 Web 站点上找到有关令牌桶的更多常规信息。
committed_rate-指定流的承诺速率(以位/秒为单位)。
committed_burst-指定承诺突发大小(以位为单位)。committed_burst 参数定义可以以承诺速率向网络传送的特定类的传出包数目。
peak_rate-指定峰值速率(以位/秒为单位)。
peak_burst-指定峰值或超额突发大小(以位为单位)。peak_burst 参数准许通信类具有超过承诺速率的峰值突发大小。
color_aware-打开 tokenmt 的识别模式。
color_map-定义一个将 DSCP 值映射到绿色、黄色或红色的整数数组。
要将 tokenmt 配置为单速率计量器,请不要在 IPQoS 配置文件中为 tokenmt 指定 peak_rate 参数。要将单速率 tokenmt 实例配置为具有红色、绿色或黄色的结果,必须指定 peak_burst 参数。如果不使用 peak_burst 参数,可以将 tokenmt 配置为只有红色或绿色的结果。有关具有两种结果的单速率 tokenmt 的示例,请参见示例 34–3。
当 tokenmt 作为单速率计量器运行时,peak_burst 参数实际为超额突发大小。committed_rate 以及 committed_burst 或 peak_burst 必须为非零正整数。
要将 tokenmt 配置为双速率计量器,请在 IPQoS 配置文件中为 tokenmt 操作指定 peak_rate 参数。双速率 tokenmt 始终具有三种结果,即红色、黄色和绿色结果。committed_rate、committed_burst 和 peak_burst 参数必须为非零正整数。
要将双速率 tokenmt 配置为可识别颜色,必须添加参数以专门添加“颜色识别”功能。以下是将 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。