电脑技术学习

如何实现IP核心网的QoS

dn001

NGN作为一个面向未来网络业务应用,基于分组平台可以同时提供语音、数据、多媒体等综合业务的系统,成为各大运营商以及设备提供商关注的焦点。 在影响NGN运营模式和运营收益的各种要害因素中,IPQoS非凡是核心网的IPQoS,无疑是非常重要的一项。

IP网络的QoS研究导致了两种不同体系结构的出现:IntServ体系结构及其相应的信令协议RSVP和DiffServ体系结构。

IntServ由IETF的IntServ工作组于1994年提出。IntServ最鲜明的特点就是:基于连接、资源预留。也就是说,IntServ需要穿过IP网络为每个需要质量保证的数据流建立一条具有资源保证的通道。这就要求每台路由器设备都要维护大量的连接和资源预留信息。这将为路由设备造成极大的系统负担。通常来说,要求路由器同时处理如此多的连接信息并做到线速的转发性能,实现的困难非常大。所以,IntServ实现QoS的成本过高。但是,采用RSVP作为信令的MPLS流量工程将为IP网络的QoS问题提供非常大的帮助。

IETF又提出了DiffServ体系结构,定义了一种实施IPQoS更轻易、更具扩展性的方式。DiffServ最突出的特点就是:状态无关、逐跳转发。DiffServ利用了IPv4分组头的ToS字段进行IP包优先级的定义。传统ToS字段只利用了其中的三个bit,用以标示8个优先级,而DiffServ中对另外3个bit也进行了定义,从而获得更多的定义空间(剩余2bit作为将来的备用)。

在DiffServ里,定义了DiffServ域的概念。所谓DiffServ域,就是指一个完全支持DiffServ优先级区分的IP子网。在NGN里,用于承载NGN业务的IP骨干网就应该是一个完整的DiffServ域。一个DiffServ域中的每台路由器都必须能够支持DiffServ标签的识别和按照相应的优先级进行转发,并且对DiffServ标签有着同样的理解。假如某台路由器不能支持DiffServ,那么它就成为这个网络中的“瓶颈”,整个链路的质量都将下降。

DiffServ的实现过程是:首先,根据源地址、目的地址、协议类型和二层接入网络优先级等信息对IP包进行优先级区分并打上相应的DiffServ标签。这个过程应该由上述DiffServ域的边缘路由器完成。具体来说,边缘路由器还应该完成的工作包括对业务流的分类、整形、标记、调度。然后根据已经打好的DiffServ标签采取相应的转发策略。具体说,核心路由器须要具有的功能包括分类和调度。

之所以成为被看好的QoS解决方式,DiffServ有着如下特点:

首先,路由器无须维护每个连接的信息,对系统资源要求低;

其次,对网络上的多种业务进行优先级归类并合并成有限的几个优先级类别,对于IP网络设备来讲,处理更简单;

再次,采用IP包中的ToS字段进行优先级标示,没有附加的标签,这种做法兼容性好,易于实现。

另外,随着网络的扩展,优先级类别无须扩展。

但是,对于面向连接的优先级保证例如IntServ来讲,网络规模的扩大将直接带来优先级处理的压力。

通过IP核心网络中的每个路由结点对DiffServ的支持,使得信令、语音、视频、普通数据等按照不同的DiffServ标签进行不同优先级的转发。也就是说,在网络带宽资源够用的情况下,采用DiffServ的网络可以尽可能保证高优先级的数据包不被丢弃,并以最小的时延穿越网络。

当然,上述结论是有一定的前提的,具体包括所有的路由器必须具有线速转发能力和提供良好的路由规划。

所谓线速转发能力,就是指在达到端口最大速率的时候,例如,在一个千兆接口上的数据流量达到千兆时,路由器没有丢包。显而易见,假如路由器不具备上述的线速转发能力,那么高优先级的IP包刚刚进入接口的Buffer,还没有来得及被路由器进行策略处理,就有可能被丢掉。所以,线速转发能力是保证DiffServ的重要前提。

路由规划决定了IP包在穿过IP核心网络的时候所选择的路径。假如路由规划不合理,那么过多的跳数就会造成过多的时延,这样,即便每台路由器都可以按照DiffServ的优先级进行转发,但是过多的跳数使得端到端的时延仍然不能达到NGN的要求。

但是,如何避免网络带宽不足和网络拥塞的情况呢?这就需要结合MPLS与RSVP来实现。RSVP是一个信令协议,它提供了一种在信息传输之前,提前在IP网络中建立一个有带宽资源保障的通道的方法。

RSVP的工作原理是:RSVP从发送端发送一个资源请求到目的地址,每一个支持RSVP的路由器沿着下行路由建立一个“路径状态表”;为了获得资源预留,接收端发送一个上行的RESV消息,表明所要求的综合服务类型,还通知为分组预留的资源,如传输协议和端口号;当每个支持RSVP的路由器沿着上行路径接收RESV的消息时,它采用输入控制过程证实请求,并且配置所需的资源。假如这个请求得不到满足,路由器向接收端返回一个错误消息,而假如这个消息被接受,路由器就发送上行RESV到下一个路由器;当最后一个路由器接收RESV,同时接受请求的时候,它再发送一个证实消息给接收端。结合MPLS,上述过程实际上建立了一个从发送端到接收端的MPLS路径,而这条路径上的路由器都为将要到来的信息传送预留了资源。

通过MPLS中采用扩展的RSVP信令,还可以对本次通信的路径进行指定,进行流量工程,以对运营商的网络进行更高效的利用,防止某些路由被空闲,而另外一些路由却发生拥塞。假如没有RSVP,在网络节点发生拥塞时,即便是高优先级的包,也有被丢弃的可能。DiffServ只能保证高优先级的包比低优先级的包更优先使用网络资源,但是网络资源究竟是有限的,当拥塞发生时,高优先级的包也可能被丢掉。而RSVP提供了一种资源预留的机制,通过RSVP建立的路径将有保证的带宽和路由器系统资源提供给相应的流使用。实施RSVP之后,特定的流或者流类别将有特定的带宽保证。MPLS将通过RSVP信令建立起LSP(标签交换路径)进行独立于其他信息的传送。当网络发生拥塞时,受到影响的将是没有RSVP保护的信息,例如数据传输和低级别用户的信息,而高级别信息仍然可以在RSVP建立的通道中正常传送。