王刚 张丽妍 王斯日古楞
【摘要】 简要介绍了QPPB技术的基本原理和应用,重点介绍了QPPB在基于Diff- Serv模型的IP城域网中的应用。
【关键词】 QoS SLA BGP Community Diff- Serv
一、前言
在当今IP城域网运营中,IP城域网内承载的业务越来越多样化,IP城域网目前所承载的业务也不再是之前简单得Internet业务,电子商务、多媒体等新业务迅速发展,一些实时性强的业务如涉及语音和视频的IP电话、视频聊天、在线电影、多媒体游戏等要求IP网络有足够的带宽和低的转发时延。网络的普及,业务的多样化,使互联网流量激增,产生网络拥塞,转发时延增加,严重时还会产生丢包,导致业务质量下降或不可用。为了解决以上问题,网络运营商已经在IP城域网中部署了基于Diff-Serv的QoS,为有高要求的业务和用户提供了高优先级的网络服务。
在传统的QoS部署方式中,我们只在用户业务接入的二层端口或三层端口上通过复杂流分类为用户的业务报文打上一个特定的优先级标签,后续的一系列工作(如:拥塞避免、拥塞管理、流量管理等)也都是基于标签完成的,通过这里我们可以看出流分类和标签就是实施QoS的基础。而通常我们只给用户的上行业务报文进行流分类和打标签,用户的下行报文带不带优先级标签要取决于通信的对方是否购买了高优先级服务。也就是说当网络发生拥塞时SLA用户的上行业务报文得到了较高优先级的转发,用户的下行业务报文有可能得不到高优先级的服务而被丢弃。对于有较高服务要求的用户来说,当网络发生拥塞时,希望保证的是双向流量,如果下行业务报文不能被及时转发或丢弃,对用户的上网感知一样会造成不好的影响。
如何保证高优先级用户的下行业务报文能得到优先转发,也就成为了解决上述问题的关键。用户下行报文的优先级标签是在通信对方接入设备上标记的,而对端设备并不知道该给哪些目的IP地址的报文打高优先级标签,所以需要在对端设备上执行大量的复杂流分类来满足需求,而在经常变化的网络中,配置修改的工作量非常大甚至难以实施。所以必须要通过一种技术和方法来自动完成这种工作,QPPB技术就可以来满足这种需求。
二、QPPB原理
QPPB(QoS Policy Propagation Through the Border Gateway Protocol) 技术是由BGP(Border Gateway Protocol)路由发送者通过设置BGP属性预先对路由进行分类,BGP路由接收者通过BGP路由的相关属性来设置QoS参数、制定QoS流量策略、实现QoS保障,这样在网络发生变化时就可以简化路由接收者的策略修改。
QPPB技术是一项通过BGP 路由策略部署QoS的技术,通过基于BGP路由的团体列表、AS-Paths list 和ACL、Prefix list 等属性进行路由分类,对不同的分类应用不同的QoS 策略。
BGP路由发送者在发送路由时,先匹配路由策略,为发送的不同路由信息设置不同的BGP路由属性,这些路由属性作为路由分类的标识。
路由接收者在接收到BGP路由后,基于BGP路由属性来过滤和匹配路由策略,为接收到的BGP路由设置QoS相关参数和策略,将BGP路由信息及相关联的QoS 参数一起下发到转发表。在数据转发过程中,对发送到目的网段的数据包可以依据从转发表中获取的QoS参数使用QoS策略,从而实现QoS保证。
QPPB是一种动态的流分类技术,通过上述的原理,我们可以认为QPPB就是通过BGP的相关属性在控制层面传递业务分类信息,路由接收者通过路由策略设置QoS参数之后将路由信息和QoS参数一同下发到转发表中,这样QoS参数在转发层面生效,在数据转发过程中将会按照转发表中的QoS策略为数据报文打上相应的优先级标签,数据报文在转发过程中通过高优先级标签来得到QoS保证。
三、QPPB在IP城域网中的应用
3.1城域网内用户互访
如图一所示:城域网内SR下挂一个VIP用户,BRAS下挂普通用户。VIP用户与运营商签订了SLA(服务水平协议),运营商为其通过QoS提供高优先级服务。
3.2城域网间用户互访
如图二所示:城域网A内有VIP用户,城域网B内有普通用户。VIP用户与运营商签订了SLA(服务水平协议),运营商为其通过QoS提供高优先级服务。
VIP用户访问城域网B普通用户时,VIP用户的上行业务报文在SR设备进行复杂流分类并打上高优先级标签,打上标签之后数据报文在网络中转发依据标签等级进行拥塞避免、队列调度和流量整形等QoS处理,VIP用户发送到普通用户的数据报文是可以得到QoS保证的。但普通用户返回给VIP用户的数据报文在默认情况下没有打上高优先级标签,所以VIP用户的回程报文没有QoS保证。当网络中发生拥塞时,VIP用户的回程报文可能因为没有QoS保证而被丢弃,造成 VIP用户部分业务不可用。
我们可以通过在两个城域网中部署QPPB策略来解决这个问题,城域网A的CR路由器通过BGP发布VIP网段路由,并且给该BGP路由打上特定的Community属性(例如:100:3),通过骨干网将该路由通告给城域网B,城域网B的CR路由器将学习到的BGP路由通告给业务控制层设备。同时业务控制层设备上已经提前完成了QPPB策略配置,业务控制层设备在接收到路由之后,通过路由策略匹配Community团体属性100:3,为匹配的BGP 路由设置相应QoS参数并下发到转发表中。
当业务控制层设备收到目地地址是VIP网段的数据包后,通过匹配数据包的目的地址从转发表中获取QoS 参数,为该数据包打上相应的ip-precedence或DSCP的标签,之后该数据包在网络中转发依据高优先级标签来得到相应的QoS保证。
四、问题和注意事项
1)QPPB 技术实际只是在路由发送方通过路由分类设置路由属性,在接受方根据目的网段的路由属性设置QoS 策略,不是在BGP 路由信息中发送QoS 策略。因此QPPB技术可以应用于基于目的地址而不是源地址进行流分类的场合,但需要整网统一协调路由属性、QPPB策略及QoS策略,并且不同的城域网和节点之间能够相互信任。
2)IP城域网在进行IP地址规划时,需要为有相同SLA等级的VIP用户分配连续的地址空间,以便在IP城域网出口对同等级VIP用户路由进行聚合发布,不同等级VIP用户路由标示不同的Community团体属性以做区分。但考虑到部分城域网VIP用户或业务较少,无法满足按照SLA划分地址段,针对于这种情况,VIP用户路由只能标示一个Community团体属性,为了满足高等级SLA用户的服务质量,建议Community团体属性按照高等级SLA进行标示。
3)我们应用QPPB技术主要是为了保障SLA用户的回程流量有高的服务质量,所以建议在对端网络和设备上部署基于目的的QPPB策略,但这种应用方式会影响到高等级SLA用户访问低等级SLA用户的服务质量。在没有部署QPPB时高等级SLA用户向外访问的数据报文都会打上高等级的QoS标签,无论是访问普通用户还是低等级SLA用户都会携带高等级标签;但网络上部署过QPPB之后,高等级SLA用户访问低等级SLA用户的数据报文会在应用QPPB策略的设备上将高等级QoS标签改写低等级SLA对应的QoS标签。
五、总结
QPPB技术作为BGP在QoS方面的一项高级应用,在QoS部署方面给我们提供了极大的方便。路由始发者可以通过一种标示来告知远端设备不同网段所对应的SLA级别,远端设备可以根据这种标示动态的应用QoS策略,保证SLA用户的服务质量。QPPB拓宽了QoS的应用,有助于高等级SLA业务的推广。
参考文献
[1] 1RFC2918,BGP-4的路由刷新功能