• 文章搜索:
  • 目录

        • 分享到...

        • 新浪微博
        • 腾讯微博
        • 推荐到豆瓣 豆瓣空间
        • 分享到搜狐微博 搜狐微博
        • 分享到QQ空间 QQ空间
        • 分享到腾讯朋友 腾讯朋友
        • 网易微博分享 网易微博
        • 添加到百度搜藏 百度搜藏
        • 转贴到开心网 开心网
        • 转发好友 告诉聊友
    • 推荐
    • 打印
    • 收藏

    分层CAR技术讲堂

    作者:  |  上传时间:2011-04-22  |  关键字:网络大爬虫4-QoS专题

    文/尹建华

    1. 导言

    流量监管是差分服务QoS体系的五种技术之一,主要用于流量限速,不比业务识别和队列调度技术,被业界普遍关注和研究,而流量整形和拥塞避免则相对关注得比较少。如今,随着H3C对广域网链路资源通道化思想的提出,综合权衡链路资源与业务质量,实现“预先避免业务拥塞,提升带宽效率和服务质量”的新一代智能流量调度设计,传统QoS技术已经不能满足要求,而通过对流量监管技术创新实现的分层CAR,则让这一思想变为现实。

    2. 分层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的配置顺序进行发放,直到发完为止。

    3. 分层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在这些方面的应用案例,可以参考《广域网智能流量调度》相关介绍,这里不再详细阐述。

    4. CAR应用潜力探讨

    通过对CAR令牌分发方式的改进,分层CAR实现了类似QoS队列调度的效果,这种创新的流量调度技术与其天然的精确流量评估能力结合,推动产生了一系列的智能流量调度设计方案,并已经在广域网的诸多应用场景和项目中得到了良好应用。

    通过技术分析和验证发现,流量监管技术CAR拥有一些天然的优势:比如对业务流量精确的实时监管,对网络设备性能要求低,而且部署位置灵活,还有分层CAR的流量调度能力。所以,利用这些优势,如果再结合和流量处理相关的技术,应该还能做更多的创新设计。比如,把业务的流量监管与路由设计进行结合,就可以实现基于业务流量情况的性能路由,跳出传统QoS仅能在单一链路上调度的局限,实现多出口、多链路的带宽资源动态统一调配,并同时保证服务质量。因此,顺着路由和流量结合这个思路,分层CAR还可以有更多发挥作用的地方,从而设计出更为完善的流量调度方案。

    5. 结束语

    通过本文对分层CAR技术的介绍,我们看到,看似简单的CAR技术,通过令牌分发环节的一点改进,就可以实现优秀的流量调度能力,而且在广域网的诸多方案中已经得到成功应用。沿着流量调度、服务质量和业务路由这条网络设计主线,我相信,通过对技术的点滴改进还可以创新出更多更优秀的方案,帮助用户提升广域网链路的利用效率、业务质量,并优化路由设计。

    缩略语:

    CAR:Committed Access Rate,承诺访问速率

    CIR:Committed Information Rate,承诺信息速率

    CBS:Committed Burst Size,承诺突发尺寸