APP下载

基于IPv4的综合业务网QoS研究

2013-05-27刘铁武张铁楠曲喜龙

关键词:数据流队列路由器

刘铁武,张铁楠,冯 剑,曲喜龙

(湖南工程学院 计算机与通信学院,湘潭 411104)

网络技术和多媒体技术的飞速发展,催生了分布式实时多媒体业务(视频会议、视频点播、IP电话、远程教育等).新的业务引发了IP网络由传统单一的数据传输网向可转送数据、语音、视频等多媒体数据的综合业务网转变.2010年1月,中国总理温家宝主持召开国务院常务会议,明确了三网融合的时间表,它表明基于TCP/IP的综合业务网即将全面投入实用.

综合业务网意味着它必须承载多种业务类型的数据流,并为消费者提供相应的服务.其服务水平就是QoS(服务质量).

广义的QoS包含网络所有的性质,以及终端用户所期望的服务提供商的性质.

狭义的QoS作为当代网络技术的研究方向则主要强调流量的传输特性.RFC2386定义QoSRFC2386将QoS看作为网络在从源节点到目的节点传输分组流时需要满足的一系列服务要求,可具体量化为带宽、时延、抖动、吞吐量和丢包率等性能指标.这里的服务是指数据流经过网络节点时所得到的传输服务[1].

IPv4其“尽力而为”服务的缺陷日益显现,虽然人们尽了很大的努力去弥补,但其对分类服务的不足严重制约了诸如VoIP、IPTV等实时业务的开展.

本文第1节在分析业务流多样性基础上提出了网络的各关联方协作的必要性.第2节讨论了QoS端到端保证的逻辑模型和QoS服务模型.第3节讨论了QoS所需的负载约束条件.第4节在分析QoS诸元关系基础上,讨论了面向单个流保证QoS的方法.最后概要总结了本文的工作和后续研究的内容.

1 QoS的应用需求

当网络承载多种业务流特别是包含大流量、突发的实时数据流时,终端用户对服务质量的要求与ISP追求利润最大化的矛盾便将显现.为了找到平衡点,首先必须对QoS的需求予以分析.

1.1 流量的类别

不同业务流对服务的要求是不同的,典型流量QoS参数如表1所示.

表1 流量的QoS参数

1.2 关联

在庞大复杂的综合业务网中,QoS的保证绝非简单的问题,它涉及网络体系结构诸层以及其它所有的网络元素,依赖于它们协同合作.主要体现在以下几个方面.

(1)用户与用户之间.通信是依赖于双方的,绝大多数时候,接收端和发送端的能力不能匹配,这种时候,发送方应按接收方的实际接收能力调整发送速度.否则,将因为丢包必定产生重传.重传的代价是极大的,应尽可能地避免[2].

(2)用户与网络之间.作为消费者,提出对QoS的要求是必然的.受资源的限制,综合业务网并不能总是满足所有用户的要求.这时,网络应能根据事先制定的规则(如用户与ISP所约定的服务优先等级)予以处理.

(3)网络各节点之间.每个节点应能识别各业务的优先等级,并能区别处理.应尽量保证高优先级的业务流先处理.各网络节点应有体现这一原则的代价尽量小处理算法.

总之,只有诸网络元素的协同,QoS才可能得到保证,仅苛求单个参数并无实际意义.

2 QoS模型

2.1 端到端保证逻辑模型

网络最本质的活动是分布式进程间的通信.所以,服务质量的最终目的就是为诸种业务提供可靠的端-端服务质量保证.面向连接时,这是容易实现的,可一条虚电路对应于一个业务流,从而不同的虚电路对应于不同的业务流为其提供相应的服务.但是,IP协议是面向无连接的,要保证其QoS必须从TCP/IP的网络体系结构出发,必须从低层至高层逐层保证,即低层从高层接收含有QoS要求的服务数据单元(SDU),低层按高层的要求提供QoS保证机制,如图1所示.

图1 端—端保证逻辑模型

2.2 QoS服务模型

网络可以不同的粒度对业务提供QoS服务,其最小单位就是单个流.为了提供QoS保证,IETF在RFC2215中定义了IntServ模型,其后因为网络资源日益紧张,ISP希望能对应户根据服务等级收费,因此又产生了DiffServ模型[3].

分析综合业务网业务流的特点,其骨干网宜采用DiffServ模型.这是因为:

(1)与IntServ相比,DiffServ模型中的路由器分工明确,核心路由器不考虑复杂的QoS机制,而将这些工作交给流量较小的边缘路由器,减少了核心路由器的工作量,尽可能地保证了延迟、抖动、传输速率等QoS指标,也符合当前尽量将处理功能移至网络终端的趋势.

(2)DiffServ的操作粒度是类而IntServ是单个流.DiffServ将用户的数据流按QoS的要求划分成等级,再由边缘路由器将QoS要求相近的流归属于一类;而IntServ需要根据IP分组的源地址、目的地址、端口号甚至应用层PDU中的相关字段确定其所属的流,过程复杂.综合数据网其业务流丰富多样,归类后处理的状态信息少,DiffServ实现简单,处理代价显著缩小.

(3)DiffServ扩展性更好.作为IntServ的关键部分,RSVP(资源预留协议)要求从发送端到接收端的每个路由器都支持其信令协议,所以扩展性差.而DiffServ中,QoS机制主要与边缘路由器相关.综合业务网必须具备可扩展性.体现为网络节点的扩展和同一节点服务的扩展.

(4)DiffServ更适合生命周期短的业务流.Int-Serv模型中,每个路由器必须对每个分组进行RSVP处理,这一开销可能超过短生命周期业务流处理分组的开销,DiffServ中却只边缘路由器对分组进行分类、标记、整形等处理.而事实上,综合业务网中极大比重的是生命周期短的业务流.

3 QoS与负载

作为分组交换的IP网络,每一交换机的输入接口与输出接口都有自已的缓存,其中PDU的数据结构是队列.队列的规模、管理和调度直接影响时延.同理,我们容易知道,影响QoS最基本的最重要的因素,就是资源利用率(负载).例如交换机过载,队列将因溢出而丢包,必然引发重传,再度占用带宽而致服务质量下降甚至网络拥塞.

如何在提高资源利用率与保证QoS之间找到一个平衡点,是一复杂的问题.研究结果表明[10]:

①保证满足所有流QoS要求的最简单方法是将网络运行在低负载模式,这时,交换机的所有处理器和接口只使用最大性能的20%~30%;

②由M/M/1模型经数学分析知:为了保障高QoS,要禁止网络资源的利用率高于0.9.

综合业务网显著特点之一是产生突发流量的概率很高,如何随时监测网络的资源利用率,如何平抑突发流量,这是保证资源利用率不高于0.9需要解决的具体问题.

第一个问题是困难的现实问题.关于第二个问题采用如下策略可能得到解决.

由表1知,综合业务流中,有的是实时的,而另外的却能容许一定的时延,据此,可对数据流分类,在缓存中组织成多个不同优先级的队列(时延要求严格的流纳入高优先级队列),交换机优先处理优先级高队列的分组.

4 数据流QoS方法

在前面从网络角度讨论了QoS后,下面要解决的问题是:分类后的数据流如何在每个网络节点保证其QoS.

有一点是明确的,只有在拥塞状态下,才应考虑保证QoS,相反只能说明网络设计与规则本身有问题.拥塞与队列直接相关,QoS保证便取决于在节点中如何组织队列,如何对队列进行操作.

4.1 QoS诸元

分组交换网QoS诸参数实质上是呈统计(概率)特性的,也就是说,对于特定网络,确定某个参数的明确值并无意义,而只能说某个事件有多大的概率.如100%保证时延小于10ms是荒诞的.这是因为网络中传输的数据本来就是随机的、突发的[4].

①带宽 是通信链路的基本特性.我们所能做的是,如何给每个流合理分配对应的带宽.

②时延 网络设备产生的时延为队列组织与队列处理的时延之和.它与抖动、吞吐量、丢包率等存在直接的关系.一般用平均时延D衡量.设各时延为di,测量总数为N,则:

③吞吐量 与带宽有直接关系,并且平均时延越大,吞吐量越小.

④抖动是时延的平均方差.即:

由此式可知:如所有的时延di相等,则J=0,不存在抖动.

⑤丢包率 它与缓存的大小直接相关.队列满时,再接收分组将溢出而丢弃;但如一味增加缓存,分组可能又会因为排队超时而被丢弃.

4.2 队列的组织

队列组织包含队列缓存管理和队列的管理.

4.2.1 队列缓存管理

其主要任务是按某种策略为数据流分配缓存空间.当前已有多种分配策略,典型的是共享缓冲池和面向单一流两种[5].

共享缓冲池机制所有数据流共享同一数据结构,采用先来先服务的原则.其优点是简单、易于管理、算法效率高;缺点是数据流之间没有保护,发送速率慢的流可能长时间不能占到所需的缓存.

面向单一流机制按历史记录为每个流分配缓存空间.这样,数据流能得到保护.但较呆板,不能反映流的突发性和动态性,资源耗费较大,算法效率相对较低.不适应于骨干网的交换机(路由器).

4.2.2 队列管理

其主要任务是选择丢弃哪些流的哪些分组,确定丢弃的时机等,并因此决定和控制队列的长度以及对数据流进行调度.

队列管理是队列调度机制和缓存管理的补充,同时也是两者的交叉结合,其最重要的目标是确保证当前链路可用时队列长度处于稳定状态[6-7].

4.3 队列的调度

队列调度算法的评价指标是算法的效率与公平性.效率直接关乎时延.由4.1知,时延又影响吞吐量、抖动、丢包率等;算法的公平性又关系到是否每个流都能得到QoS保证.

学者们一直关注并研究着调度算法,如FIFO、PQ、FQ、WFQ等在网络中都有特定应用范围.但是,都有其局限性[8].

在研究分析已有算法并结合性能测试基础上,基于综合业务网,我们提出如下混合算法.

①建队.在缓存中建立两种队列,一个优先队列,和若干个普通队列.

②入队.实时流量入优先队列,对时延要求不严格的按流量分类结果入普通队列.

③带宽分配.优先队列优先,但设定一阀值,以防其占用全部带宽,确定普通队列带宽分配比例.

图2 混合算法调度模型

如图2所示,该调度模型的普通队列拥有受保障的最小带宽[9],还可分享优先队列服务完后释放的流量,保证了公平性.另外,算法相对简单,算法效率较高.

4.4 拥塞控制

综合业务网,因为业务流的多样性、突发性,拥塞是不可避免的.队列管理和队列调度是防止网络拥塞的必备工具[10-11],但还不够,因为它们是根据历史或当前记录部署的.还应有预防拥塞的控制机制.

拥塞的成因,一是节点不能实现线速交换,分组需要在输入队列等待,时间长造成输入队列溢出;另一种是从多个端口输入数据到同一个输出端口,时间长将造成输出队列溢出.

随着网络设备的不断改进,第一种拥塞在减少,综合业务网中,由于终端不断增加,业务更加繁忙,第二种拥塞更加常见.

考察当前拥塞控制机制,路由机制处理代价大且治标不治本,预留资源机制对非虚电路的分组交换方式处理代价和实现难度都很大.反聩机制是综合业务网拥塞控制的较好选择.

其基本思想是:当交换机(路由器)队列满之前丢包,并请求其前趋节点降低流的速率,当拥塞解除后再向前趋结点发送消息适当增大流的速率.

突发性是综合业务网最显著特点.而反聩机制并不需知道当前流量的强度,所以是现实而有效的.

5 结 论

三网融合工作的推进,标志着综合业务网将得到全面的发展和应用,研究其QoS机制势在必行.由于网络的异构性以及业务的多样性、突发性等特点,其QoS面临着巨大的挑战.本文分别从网络和节点的角度进行了讨论,获得了一系列结论,但主要是理论层面的、策略性的,还有许多后续工作待研.具体为:

在分析用户流量多样性的基础上提出了QoS各关联方协同合作的必要性和基本规则.没有讨论协作的方式和细节.

基于一般情况,主张骨干网采用DiffServ模型.对有特定的有严格QoS参数要求的服务采用何种模型值得进一步研究.

讨论了QoS与负载的宏观关系,但如何临测整个网络的全部结点的负载实在是一个复杂的问题,期待着这方面的研究成果.

提出了一种队列调度算法,并从理论上进行了分析,虽然保证了公平性,但算法性能不是最好,有待发现更优的算法.

应用Spirent TestCenter测试和分析,证实了文中的一些重要结论,但仅限于单元测试.可以对网络进行综合仿真测试和性能分析.

[1]RFC 1242Benchmarking Terminology for Network Interconnection Devices[EB/OL].July 1991,http://www.rfc-editor.org.

[2]RFC 2889Benchmarking Methodology for LAN Switching Devices[EB/OL].August 2000,http://www.rfc-editor.org.

[3]RFC 3511Benchmarking Methodology for Firewall Performance[EB/OL].Apirl 2003,http://www.rfc-editor.org.

[4]董 超,陈贵海,王 海.无线网状的 QoS研究[J].Journal of Software,2009,30(6):1539-1552.

[5]徐 巍,李腊元.IPv6下网络QoS机制的研究[J].计算机应用研究,2005(1):213-214.

[6]林 闯,曾荣飞,雷 蕾,肖圳莎.超三代移动通信系统的 QoS体系结构.[J].Journal of Software,2008:90-102.

[7]任晓尘,孙 涌.IPv6中 QoS机制浅析[J].微型电脑应用,2006,22(2).

[8]林 川,施晓秋,胡 波.网络性能测试与分析[M].北京:高等教育出版社,2009.

[9]吴功宜.计算机网络[M].北京:清华大学出版社,2007.

[10](俄)Natalia Olifer,(乌)Victor Olifer,高传善译.计算机网络[M].北京:机械工业出版社,2008.

[11]孙泽宇,赵国增,等.IP网络QoS体系性能的研究[J].

微计算机信息,2010(3):139-140.

猜你喜欢

数据流队列路由器
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
汽车维修数据流基础(上)
汽车维修数据流基础(下)
队列里的小秘密
基于多队列切换的SDN拥塞控制*
在队列里
丰田加速驶入自动驾驶队列