在企业网络的构建中,数据传输是一个基本的功能。但随着技术的发展,应用需求的多样化,网络越来越多地需要考虑对多种业务的支持及保证,如保障三网合一构建中IP电话、IP视频的实时性,金融业务网络中电子汇兑的实时性等。
通常企业网络中根据业务的重要程度,都可区分为要害业务与非要害业务,如银行网络中的实时交易为要害业务、公安网络中IP电话为要害业务等。为了使要害业务能得到充分的服务质量保证(如时延小、丢包少等),避免因网络拥塞而造成对业务的影响,在网络的设计及构建中就需要考虑能提供合适的QoS保障方案。
以下对QoS的服务模型及其实现技术做一概述。
1 QoS服务模型
QoS方案的设计实施,首先需要考虑选择合适的技术框架,也即服务模型。服务模型指的是一组端到端的QoS功能,目前有以下三种QoS服务模型:
* Best-Effort service——尽力服务
* Integrated service(Intserv)——综合服务
1.1 Differentiated service(Diffserv)——区分服务
1、Best-Effort service
尽力服务是最简单的服务模型。应用程序可以在任何时候,发出任意数量的报文,而且不需要事先获得批准,也不需要通知网络。网络则尽最大的可能性来发送报文,但对时延、可靠性等不提供任何保证。
2、Integrated service
Intserv是一个综合服务模型,它可以满足多种QoS需求。这种服务模型在发送报文前,需要向网络申请特定的服务。这个请求是通过信令(signal)来完成的,应用程序首先通知网络它自己的流量参数和需要的特定服务质量请求,包括带宽、时延等,应用程序一般在收到网络的确认信息,即网络已经为这个应用程序的报文预留了资源后,发送报文。而应用程序发出的报文应该控制在流量参数描述的范围内。
网络在收到应用程序的资源请求后,执行资源分配检查(Admission control),即基于应用程序的资源申请和网络现有的资源情况,判定是否为应用程序分配资源。一旦网络确认为应用程序的报文分配了资源,则只要应用程序的报文控制在流量参数描述的范围内,网络将承诺满足应用程序的QoS需求。而网络将为每个流(flow,由两端的IP地址、端口号、协议号确定)维护一个状态,并基于这个状态执行报文的分类、流量监管(policing)、排队及其调度,来满足对应用程序的承诺,具有面向连接的特性。因此对网络设备的处理能力有较高要求。
传送QoS请求的信令是RSVP(资源预留协议),它通知路由器应用程序的QoS需求。
3、Differentiated service
Diffserv即区别服务模型,它可以满足不同的QoS需求。与Integrated service不同,它不需要信令,即应用程序在发出报文前,不需要通知路由器。网络不需要为每个流维护状态,它根据每个报文指定的QoS,来提供特定的服务。可以用不同的方法来指定报文的QoS,如IP包的优先级位(IP Precedence)、报文的源地址和目的地址等。网络通过这些信息来进行报文的分类、流量整形、流量监管和排队。
通常在配置Differentiated service时,在网络边界的路由器通过报文的源地址和目的地址等对报文进行分类,对不同的报文设置不同的IP优先级,而其他路由器只需要用IP优先级来进行报文的分类。
4、服务模型选择
这三种服务模型中,只有Intserv与Diffserv这两种能提供多服务的QoS保障。从技术上看,Intserv具有面向连接的特性及思想,这与IP技术本身无连接特性是不符合的,轻易导致网络的复杂化;从实现看,Intserv需要网络对每个流均维持一个软状态,因此会导致设备性能的下降,或实现相同的功能需要更高性能的设备,另外,还需要全网设备都能提供一致的技术才能实现QoS。而Diffserv则没有这方面的缺陷,且处理效率高,部署及实施可以分布进行,它只是在构建网络时,需要对网络中的路由器设置相应的规则,会使配置治理比较复杂。
因此,一般来讲,利用现有技术提供IP QoS时,为了实现规模适应性,在企业IP承载网往往采用Diffserv体系结构。
而且,无论是Diffserv,还是Intserv,在最终对服务进行保障时,都是通过以下一些成熟技术来实现:
* CAR。它根据IP包的优先级或QoS组,来进行报文的分类、以及报文的度量和流量监管。
* 队列技术。WRED、PQ、CQ、WFQ等队列技术进行拥塞避免及拥塞治理。
2 QoS实现技术
网络设备对转发报文进行QoS保障的处理,发生在报文从设备的一个接口进入,到从另一个接口出去的整个过程中。从技术上,这个过程按照处理顺序分为报文分类、拥塞治理、拥塞避免、流量监管与整形等部分。
2.1 报文分类
报文分类是QoS的基础,只有区分了不同的报文业务,才能进行分别处理及保障相应业务的服务质量。一般在网络边界,利用ACL等技术,根据物理接口、源地址、目的地址、MAC地址、IP协议或应用程序的端口号等依据对报文进行分类,并同时设置报文IP头的TOS字段作为报文的IP优先级;在网络的内部则可使用边缘设置好的IP优先级作为分类的标准,以提高网络的处理效率。
2.2 拥塞治理
网络资源总是有限的,当网上业务流量超过网络提供的能力时,即发生了拥塞。
在发生拥塞时,如何进行治理和控制呢?处理的方法是使用队列技术。在一个接口没有发生拥塞的时候,报文在到达接口后立即就被发送出去;在报文到达的速度超过接口发送报文的速度时,接口就发生了拥塞。拥塞治理就会将这些报文进行分类,送入不同的队列;而队列调度对不同优先级的报文进行分别处理,优先级高的报文会得到优先处理。不同的队列算法用来解决不同的问题,并产生不同的效果。常用的队列有FIFO、PQ,CQ,WFQ等,下面简单介绍各种队列技术的特性。
1)先进先出队列(FIFO)
顾名思义,先进先出队列(简称FIFO)不对报文进行分类,按报文到达接口的先后顺序让报文进入队列,在队列的出口让报文按进队的顺序出队,先进的报文将先出队,后进的报文将后出队。
2)优先队列(PQ)
优先队列(简称PQ)对报文进行分类,将所有报文依据预先配置分成最多4类,按照先进先出的策略分别进入4个优先级不同的队列。在报文出队的时候,高优先级的队列相对于低优先级的队列具有绝对的优先权,只有高优先级队列报文发送完毕,较低优先级才得到发送,而且较低优先级的报文会在发生拥塞时被较高优先级的报文抢断。因此采用这种队列机制可以保证在网络发生拥塞的情况下,重要业务(高优先级)的数据传输得到绝对的优先传送。但在较高优先级的报文的速度总是大于接口的速度时,会使较低优先级的报文始终得不到发送的机会。
3)定制队列(CQ)
定制队列(简称CQ)根据设置将所有报文分成最多至17类,按照先进先出的策略分别进入1个系统队列和16个用户队列。在出队调度上,系统队列具有绝对的优先权,系统总是先处理完该队列后再用处理用户队列;16个用户队列占用出口带宽的比例可以设置,CQ按定义的比例使各队列之间在占用的接口带宽上满足治理员预先配置的比例关系。采用这种队列机制,当拥塞发生时,能保证不同业务根据比例获得相应的带宽占用,从而既保证要害业务能获得较多的带宽,又不至于使非要害业务得不到带宽,避免PQ的一些缺点。另外,没有拥塞时,各业务可以根据流量中业务的相对比例充分使用接口带宽,提高资源利用率。
4)加权公平队列(WFQ)
加权公平队列(简称WFQ)对报文按流进行分类(相同源IP地址,目的IP地址,源端口号,目的端口号,协议号,TOS相同的报文属于同一个流),每一个流被分配到一个队列。在出队发送的时候,WFQ根据报文分类时设置的流的优先级(precedence)来分配每个流应占有出口的带宽。优先级的数值越小,所得的带宽越少。优先级的数值越大,所得的带宽越多。在拥塞发生时,它能保证任何流量的流(业务),都能公平地得到一定的带宽占用,减少这个网络的时延,并当流(业务个数)的数目减少时,能自动增加现存流可占的带宽。
2.3 拥塞避免
由于网络资源有限,当拥塞发生时,按照传统的队列尾丢弃处理方式,对于TCP报文,会引发TCP的慢启动和拥塞避免机制,使TCP减少报文的发送。当同时丢弃多个TCP连接的报文时,将造成多个TCP连接同时进入慢启动和拥塞避免,称之为:TCP全局同步。这使得发向网络的报文流量总是忽大忽小,线路上的流量总在极少和饱满之间波动,造成网络利用率降低。
为了避免这种拥塞情况的发生,可以采用随机早期检测(RED)或加权随机早期检测(WRED)的丢弃策略。可避免使多个TCP连接同时降低发送速度,避免TCP的全局同步现象。这样,无论什么时候,总有TCP连接在进行较快的发送,提高了线路带宽的利用率,降低拥塞的发生。
丢弃策略对网络中TCP方式的应用有比较好的效果,但对网络中UDP数据产生的拥塞则不会有很大的改善。
2.4 流量监管和整形
流量监管的作用是限制进入网络的某一连接流量与突发,在报文满足一定的条件下,如某个连接的报文流量过大,流量监管就可以选择丢弃报文,或重新设置报文的优先级。通常是使用CAR来限制某类报文的流量,如限制FTP报文不能占用超过50%的网络带宽。假如需要限制流出网络的某一连接流量报文,以比较均匀的速度向外发送,则使用流量整形。
约定访问速率(CAR)——是一种带宽治理机制,利用令牌桶技术来实现带宽的分配和测量。网络治理员可以为不同的业务分配不同的带宽,定义业务占用的带宽超过分配额度时的处理策略,通过限制通过路由器某一端口的流量,很好地保证整个网络的QOS。CAR既可用于网络的入口也可用于网络的出口,可以报文分类完成的结果区分不同的业务流。另外,它还可以对报文的IP优先级根据需要加以重新标记。
在网络中不出现资源争用和拥塞时,并不需要复杂的QoS技术进行业务保障,因此网络发展的一个方面是提高网络传输带宽及资源利用率,以减少网络拥塞的出现。而当网络带宽不足发生拥塞时,就应综合考虑网络整体业务的需要,选择使用合适的QoS技术,以消除网络拥塞,提高网络资源利用率,迅速恢复网络及保证业务的正常运转。