为了达到上述目的,我们需要对进入网络的流量进行监督,实现CAR(Committed Access Rate)。
CAR:将进入网络的用户流量的速率限制在约定的范围之内,从而避免引起网络拥塞。
CIR(Committed Information Rate):承诺信息速率,表示向C桶(单桶模式中只有一个令牌桶,称为C桶)中投放令牌的速率,即C桶允许传输或转发报文的平均速率。
CBS(Committed Burst Size):承诺突发尺寸,表示C桶的容量,即C桶瞬间能够通过的承诺突发流量。相当于盛放通行卡的盒子里最多可以放多少张通行卡,也就是说,该自动出卡系统允许通过的车队中最多可以有多少辆车。
EBS(Excess Burst Size):超额突发尺寸,表示E桶的容量,即E桶瞬间能够通过的超出突发流量。
PIR(Peak information rate):峰值信息速率,表示向P桶中投放令牌的速率,即P桶允许传输或转发报文的峰值速率。PIR的值应大于CIR(存在服务卡足够而通行卡不够的情况)。
PBS(Peak Burst Size):峰值突发尺寸,表示P桶的容量,即P桶瞬间能够通过的峰值突发流量。
说明:目前华为以太网交换机只支持单速单桶和双速双桶模式。
简单来说,带宽参数的设置取决于实际业务的限速需要。原则上,令牌桶容量需要大于等于网络中可能出现的最大的报的长度和业务流量的正常突发量。对于华为的以太网交换机,我们有总结的经验性公式:
l 带宽 ≤ 100Mbit/s时,令牌桶容量(Bytes) = 带宽(kbit/s) * 1000(s)/8
l 带宽 > 100Mbit/s时,令牌桶容量(Bytes) = 100000(kbit/s) * 1000 (s)/8
另外,华为的以太网交换机,不同系列的单板支持的CAR粒度不同。在进行流量监管和限速时,
l 如果配置的CIR、PIR是最小粒度的整数倍,则按照配置的速率进行监管和限速。
l 如果配置的CIR、PIR不是最小粒度的整数倍,则按照最小粒度的整数倍进行流量监管和限速。
例如,设备上的监管和限速粒度为64kbit/s,如果CIR值 ≤ 64kbit/s,按照64kbit/s处理;如果128kbit/s < CIR值 ≤ 192kbit/s,按照192kbit/s处理。
令牌桶原理应用之接口限速
令牌桶原理可以应用到设备的入方向和出方向。根据令牌桶原理在不同方向的应用,可以实现不同的功能,见下图。
流量监管、流量整形、接口限速与令牌桶算法之间的关系,见下表。
应用方向 |
单速单桶 |
双速双桶 |
设备入方向 | 基于接口,实现接口限速 | 基于流,实现流量监管 |
设备出方向 | 基于接口,实现接口限速 | 基于队列,实现流量整形 |
流量监管是一种通过对流量规格进行监督,以限制流量及网络资源使用的流控策略。如果这种流控策略应用到设备接口的入方向,也可以实现入方向的接口限速。与基于接口实现的入方向的接口限速相比,这种方式引入了MQC(Modular QoS Command-Line Interface),因此应用更加灵活。
通常我们所说的限速是广义上的接口限速,包括基于接口和基于MQC实现的入方向的接口限速。