文/尹建华
流量监管是差分服务QoS体系的五种技术之一,主要用于流量限速,不比业务识别和队列调度技术,被业界普遍关注和研究,而流量整形和拥塞避免则相对关注得比较少。如今,随着H3C对广域网链路资源通道化思想的提出,综合权衡链路资源与业务质量,实现“预先避免业务拥塞,提升带宽效率和服务质量”的新一代智能流量调度设计,传统QoS技术已经不能满足要求,而通过对流量监管技术创新实现的分层CAR,则让这一思想变为现实。
图1 普通CAR原理示意图(单速双色)
CAR作为流量监管的技术,就是对流量进行控制,通过监督进入网络的流量速率,对超出部分的流量(如图1中的红色报文)进行丢弃“惩罚”,使进入的流量被限制在一个合理的范围之内,以保护网络资源和用户的利益。
CAR技术采用令牌桶控制流量,当令牌桶中存有令牌时,可以允许报文取令牌进行传输;当令牌桶中没有令牌时,必须等到桶中生成新的令牌后才可以继续发送报文。即报文的流量不能大于令牌生成的速度,以此达到限制流量的目的。例如,可以限制HTTP报文不能占用超过50%的网络带宽。如果发现某个连接的流量超标,流量监管可以选择丢弃报文,或重新配置报文的优先级。
图2分层CAR原理示意图(单速双色)
相比普通CAR技术,分层CAR是一种更精细的流量监管技术,如图2所示。它对取C桶令牌的报文进行了细分,根据报文颜色(红色、绿色或未着色的报文)和命令行配置先后决定取令牌的优先顺序,这是与普通CAR的根本区别,因为普通CAR仅按照报文到的时间先后取令牌,是不区分颜色和配置顺序的,因此也没有优先获取令牌的概念。
下面以一个入接口流量调度的例子来说明分层CAR的处理过程和效果。
客户需求:有三种业务A、B、C,分别为视频业务、生产业务和办公业务。业务重要程度是A大于B,B大于C,但是A业务带宽需要限制在10M以内,避免过多视频流量对其他业务产生冲击;B业务为第二优先级业务,要保证20M带宽;C业务优先级最低,保证30M带宽。如果某个业务瞬时实际流量小于其保证带宽,空余的带宽可以被其他业务超出保证带宽的流量占用,实现带宽最大化利用。比如视频业务瞬时流量低于10M时,B业务超出20M的那部分流量优先于C业务超出30M的流量获取令牌,优先进行转发。
配置示意:
qos car acl3000 cir 10240Kbps green continue red discard
// acl3000视频业务限定在10M以内,超出部分的流量丢弃。
qos car acl3001 cir 20480Kbps green continue red continue
//acl3001生产业务保证20M,超出部分的流量不丢弃,选择继续进行二次令牌获取。
qos car acl3002 cir 30720Kbps green continue red continue
// acl3002办公业务保证30M,超出部分的流量不丢弃,选择继续进行二次令牌获取。
qos car acl3003 cir 61440Kbps green pass red discard
//acl3003同时包含三种业务,总共保证带宽60M,按照配置顺序和报文颜色,依次是视频业务绿色报文、生产业务绿色报文、办公业务绿色报文获取令牌。如果三种业务的绿色报文瞬间流量之和小于60M,则B和C的红色报文按顺序分别获取令牌,重新成为绿色报文进行转发,未获取到令牌的B或C红色报文依然是红色报文,被丢弃掉。
说明:分层CAR是一种内部令牌优先选取机制,命令字还是CAR。
调度过程:最后一条CAR命令对报文的令牌发放顺序:业务A、B、C绿色报文,业务B、C红色报文。其中由于A业务的红色报文在第一条CAR命令中被discard直接丢弃处理了,因此在最后一条CAR中就没有二次令牌获取的机会了。
图3 分层CAR令牌发放顺序
利用分层CAR这一针对获取令牌环节的优先顺序的改进,用户就可以在为每个流单独配置CAR动作的基础上,再通过分层CAR对多个业务的流量总和进行限制,实现带宽的二次分配了。
调度效果:
业务瞬间进入流量 | 实际转发的流量 | ||||
业务A | 业务B | 业务C | 业务A | 业务B | 业务C |
10M | 20M | 30M | 10M | 20M | 30M |
5M | 25M | 30M | 5M | 25M | 30M |
0M | 25M | 35M | 0M | 25M | 35M |
15M | 15M | 50M | 10M | 15M | 35M |
10M | 50M | 30M | 10M | 20M | 30M |
从上面表格中可以看出,分层CAR对令牌的发放顺序对各个业务之间的带宽分配(通过令牌分发)起到了关键作用。正因为分层CAR这种令牌发放原则,使得其成为了QoS队列的一种替代设计。在本例中,ABC业务的普通CAR实际上是一种按比例分配带宽的CQ机制,而ABC的分层CAR则体现了在CQ机制上的,超出流量的优先抢占的PQ关系。
注意事项:由于分层CAR优先选择绿色报文和未着色报文进行令牌分配(当分层CAR的处理对象全部为未着色报文时,其效果与普通CAR处理是一样的),绿色报文和未着色报文之间是先到先得令牌的关系,因此不建议把未着色的报文和着色报文进行统一分层CAR操作,避免流量调度效果不清晰。
分层CAR令牌分发和处理原则:
首先,分层CAR的处理对象是:普通CAR处理后的,且动作选择为continue的报文。因为只有经过了普通CAR处理后,报文才有红绿颜色之分;并且只有选择了continue,才能进入分层CAR的二次令牌发放过程。(动作选择为pass或者discard的报文直接被转发或丢弃,没有机会进入分层CAR的二次令牌选取过程,continue是因分层CAR技术新产生的报文动作类型。)
其次,分层CAR的令牌发放遵循两个原则:第一、先给绿色和未着色报文发放,后给红色报文发放;第二,在第一原则基础上,对红绿报文,均按照各业务普通CAR的配置顺序进行发放,直到发完为止。
从技术上讲,分层CAR在接口出入双方向都可以部署。当在入接口进行部署时,因为能够对业务进行实时流量监测和立即决定是否转发,当瞬时流量超出目标出端口带宽能力时,可以提前丢弃优先级较低的报文,从而避免出端口带宽拥塞,提高调度效率。这是因为出端口拥塞会产生较大的时延和抖动(报文需要被排队后再丢弃或转发,产生了较大的时延和抖动)。因此,分层CAR的流量调度机制,具有实时性好,报文不用排队等待就可以立即判断是否丢弃的能力,有效避免了排队时延和抖动。另外,根据实际测试,在单物理端口上可支持1000条以上CAR操作,相比QoS队列来说,极具性能优势。与传统QoS队列的优势比较如表1所示:
表1 分层CAR调度和QoS队列调度的比较
由于分层CAR具备了如表1中的诸多优势,使其逐渐成为了广域网智能流量调度的核心技术。智能流量调度技术,旨在通过流量调度的创新,实现精确的流量监管、处理和调度,从而提升业务质量和链路资源利用效率。其设计理念就是:流量通道化处理,预先避免目标端口拥塞、实现精确业务调度,使网络QoS部署简单。其应用价值主要体现在以下方面:
高效的业务调度:对令牌机制提出创新的分层CAR技术,不仅实现了PQ、CQ、CBQ等传统的调度方式,在简化了QoS调度设计的同时,能够几倍、十几倍的降低了业务的时延和抖动,显著提升了业务传输质量水平。
虚拟的带宽资源:入接口分层CAR部署,配合策略路由动作,创新实现了多端口或链路流量的统一调度设计,从而避免了单链路的带宽拥塞,降低了拥塞时的丢包和时延,是对单链路QoS设计的一个飞跃。
兼有SDH带宽独占与IP带宽共享的特质:入接口分层CAR和出接口共享带宽限制设计,为企业提供了在多部门间带宽预留和共享的方案。该方案不仅继承了IP承载的带宽共享特征,保证了带宽利用效率,而且体现了SDH传输的带宽独占的可靠承载要求。
动态批量分层CAR,实现用户带宽均分:基于在线IP用户报文检测的动态分层CAR技术,支持成百上千在线IP终端用户的带宽公平分配和保证。这是QoS队列所无法做到的。
关于分层CAR在这些方面的应用案例,可以参考《广域网智能流量调度》相关介绍,这里不再详细阐述。
通过对CAR令牌分发方式的改进,分层CAR实现了类似QoS队列调度的效果,这种创新的流量调度技术与其天然的精确流量评估能力结合,推动产生了一系列的智能流量调度设计方案,并已经在广域网的诸多应用场景和项目中得到了良好应用。
通过技术分析和验证发现,流量监管技术CAR拥有一些天然的优势:比如对业务流量精确的实时监管,对网络设备性能要求低,而且部署位置灵活,还有分层CAR的流量调度能力。所以,利用这些优势,如果再结合和流量处理相关的技术,应该还能做更多的创新设计。比如,把业务的流量监管与路由设计进行结合,就可以实现基于业务流量情况的性能路由,跳出传统QoS仅能在单一链路上调度的局限,实现多出口、多链路的带宽资源动态统一调配,并同时保证服务质量。因此,顺着路由和流量结合这个思路,分层CAR还可以有更多发挥作用的地方,从而设计出更为完善的流量调度方案。
通过本文对分层CAR技术的介绍,我们看到,看似简单的CAR技术,通过令牌分发环节的一点改进,就可以实现优秀的流量调度能力,而且在广域网的诸多方案中已经得到成功应用。沿着流量调度、服务质量和业务路由这条网络设计主线,我相信,通过对技术的点滴改进还可以创新出更多更优秀的方案,帮助用户提升广域网链路的利用效率、业务质量,并优化路由设计。
缩略语:
CAR:Committed Access Rate,承诺访问速率
CIR:Committed Information Rate,承诺信息速率
CBS:Committed Burst Size,承诺突发尺寸