李安邦
摘要:VOIP(Voice over Internet Protocol)是将语音信号以数据封包的形式在IP网络上传输的技术。该文分析了语音在IP网络上传输需要解决的问题,以IP QoS技术为核心阐述了端到端的语音服务质量实现的有关技术及实现。
关键词:VoIP;QoS;延迟;DiffServ;分类;队列
中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)12-2684-03
A Discussion on Technigues and Realization of VoIP QoS
LI An-bang
( Hubei University of Technology, Wuhan 430000, China)
Abstract: Voice Over Internet Protocol (abbreviated as VOIP) is a transmission technology which transfers the audio signal in the form of data packets via IP network. The thesis hereby analyzes the transmission problem to be resolved on IP network, and discribes the path to the accomplishment of the quality of p2p audio services and related technology around IP QoS.
Key words:VoIP; QoS; delay; DiffServ; classing;queue
1概述
对比语音传输的两种承载网:PSTN和IP网络,后者的建设力度和发展潜力比前者要大的多。对各大电信运营商而言,VoIP技术带来了通话以外更多的增值服务,如:可视电话、可视电话会议、远程医疗等,衍生了更多的业务增长点。对用户而言,一方面可以享受更加丰富的服务;另一方面,基于IP网络的通话费用更低,用户可以得到实惠,VoIP是具有诱人的应用前景的。
语音在IP网络上传输不同于PSTN语音传输,它通过采取一定的编码方式,在基于无链路的端到端分组服务的IP网络上传输。传统的IP网络传输是基于尽力而为的传输方式,这种传输方式难以满足语音传输需求。语音传输需要考虑以下因素:
1.1带宽
将语音封装成数据包后在IP网上传输需要网络预留一定的带宽。传统电话使用的G.711(PCM)对语音带宽需求64Kbps,加上二、三层封装头部,即一路语音所需要的实际带宽大致要80多Kbps。如果采用压缩的编码方式G.729,则大致需要带宽20多Kb ps。采用低速的的编码方式可以降低语音传输带宽需求,但使用有损的压缩算法,降低了语音质量,引入了更大的延时。
1.2延时
根据人体工程学的对语音通话的研究,话音的发起者到接收端所经过的时间超过100ms,会带来语音的变形和会话的中断,使通话不自然,语音流量的建议延时上限为150ms。而延时主要由以下4部分组成:
1)传送延时:指通过网络路径上的所有网络设备的时间;包括设备同步一个分组所花的时间,以及从收到分组到开始传输的时间(通常小于10μs),前者取决于链路带宽和分组大小,后者主要取决于硬件。
2)传播延时:一个数据位由发送方到接收方经过传输介质所花的时间;传播延迟取决于传输距离与传输介质。
3)包转化延时:编码器进行数模转化的时间。
4)抖动缓冲延时:接收端用来保持一个或多个接收的数据包的时间,用来克服数据包到达时间的变化,也就是克服抖动产生的延时。
1.3抖动
也称延时的变化,是指在一个呼叫过程中所有发送的数据包到达的时间差异。当抖动过大时,通话时听到的字词不清楚或错误,如果抖动值超过50MS时,被认为是极差的语音质量。通过增加抖动缓冲可以减少抖动带来的影响,但相应的也增加了网络延时。
1.4丢包
发送端发送的数据包和接收端接收的数据包数目的差值成为丢包数,丢包的主要原因是发生网络拥塞。由于VoIP采用的是RTP(实时传输协议)进行传输,虽然RTP具有检查数据包的排序和丢失功能,但不具有重传机制,且重传对这种实时要求极高的语音流量意义不大。少量的在通话过程中随机分布的丢包对通话影响不大,但连续性的大量丢包是语音传输所不能容忍的。同时,丢包还浪费了经过丢包网络设备前所耗费的网络资源。
如何合理地解决以上这些问题,是VoIP应用的关键。VOIP技术的应用其实涉及到多种技术,如:编解码技术、解压缩技术、媒体实时传输技术、服务质量保证技术、网络传输技术、拥塞检测技术等等。而该文研究的目标主要针对VOIP网络的QOS,即服务质量保证(QOS)技术。QOS是网络的一种安全机制,用来保障关键业务的网络服务质量。服务质量保证是相对于网络业务而言的,在固有的网络资源环境下,在保障某种业务服务质量的同时必然会对其他业务的服务质量有所损害。
随着骨干IP网络的大力建设,用户接入网速不断提速,现今的网络资源较过去已丰富很多。那么我们作这样一个假设,假如将来的网络带宽是现在的几倍甚至十几倍,是否就不需要QOS(服务质量保证)技术了呢?答案是否定的,因为抢占网络资源是避免不了的,网络资源总是有限的;只要存在抢占网络资源,就有服务质量保证需求。
2 IP QoS
IP QoS技术是实现VoIP QoS的核心技术,基于IP网络的语音通信始于第三层,因此只有该层的IP协议才能保障其端到端的通信质量。其实,在IP网络设计之初,如何保证服务质量这个问题已经被设计者们预见到了。在IP数据报头中第2个字节预留了1个字节TOS(Type of Service)服务类型,只不过在早期人们很少用到。随着类似保证语音通信质量这种问题的突出,TOS已被越来越多地用来表示QOS,并成为在internet上传送区分服务(DiffServ)的主要机制。
目前在IP网络上部署QOS提供三种模型:
2.1尽力而为式服务模型(Best-Effort service)
该模型是IP网络QOS缺省服务类型,是最简单的服务类型。网络尽最大的可能发送报文,该模型不提供任何服务质量保证,因此不适用于VoIP。
2.2集成式服务模型(Integrated service,简称IntServ)
2.2.1 IntServ的组成
1)RSVP(Resource Reservation Protocol)资源预留协议,即信令协议
2)准入控制,判断当前节点是否有足够资源响应QOS请求
3)分类控制,决定数据分组的通信服务等级
4)调度程序,根据服务等级进行排序
2.2.2 IntServ的实现过程
为了方便对IntServ的实现过程的描述,假设一个网络模型,该网络上的所有节点包括语音通话发送端(源节点)和接收端(目标节点)都支持RSVP。首先,由源节点发送PATH消息,该消息包含源节点到达哪个目标节点,需要预留多少资源等信息;每个中间设备都会保留这些信息,并通过路由表找到接收方发送更新信息。当消息依次传递直至目标节点,目标节点接收到PATH消息后,如果同意资源预留请求,则回送RESV消息。在回送RESV消息时,每个中间节点会通过准入控制和策略控制来判断能否以及如何满足资源预留请求。最后,当源节点接收到RESV消息时,所有经过节点会将资源进行预留。
2.2.3 IntServ的语音应用
IntServ这种模式通过RSVP与终端应用交互,对不同要求的服务质量提供其满足要求的服务等级,理论上能够绝对保证QoS,从这个角度考虑,它是适用于VoIP的。而基于IntServ的模式要求端到端的每一台设备检查每一个进入的数据包并保证其相应的服务,设备必须维护每一条流的状态信息,但在真实的internet上存在着成千上万的流,在骨干网上部署INTSERV难以实现的。同时,由于INTERV要求源节点到目标节点的所有节点(设备)都支持所实施的信令协议RSVP,并且具备提供资源预留所必须的准入控制、分类控制、调度能力。一旦中间某个节点不具备以上条件,无法实现真正意义的资源预留。RSVP的应用具有局限性,但RSVP为IP网络上的语音传输保障开辟了新的思路,并且通过RSVP预留一定带宽能满足多路相对低带宽需求的IP语音通信,还是具有一定的应用前景。
2.3区分服务模型(Differentiated service,简称DiffServ)
DiffServ模型是一个多服务模型,它可以满足不同的QoS需求,DiffServ提供一个框架,服务提供商可为客户定义各种不同服务,并根据性能来区分每一种服务。客户只需将数据包的DSCP(Differentiated Services Code Point)区分服务码点标记为特定值,就可以选择每个数据包的性能等级,这个值指定了数据包在服务提供商网络中的PHB(Per Hop Behaviors)每跳行为。
DiffServ在网络边缘根据数据流量某类特征对数据流量进行分类。网络服务提供商通过定义数据包传输的重要特征(如延时、抖动、吞吐率、丢包率等)或者使用访问网络资源的相对优先级来表征服务,服务被定义以后,提供这种服务的所有网络节点被指定一个PHB,并给PHB分配一个DSCP,服务提供商网络中所有网络节点都将根据分组的DSCP字段来遵守PHB。
DiffServ的工作流程如图1。
2.3.1 DiffServ的具体实现
从图中可以看出,DiffServ的工作流程大体可以分为4步:
1)分类和标记
分类:根据数据入接口、源/目的IP地址、源/目的端口号、协议号等进行通信数据流中的数据分类,最常见的方式是根据DSCP/ IP Precedence字段进行分类。DSCP为46(101110)或Precedence为5(101)默认代表语音流量,常用的相关技术有ACL、NBAR。
标记:根据通信的分类类别来写或改写分组中的DSCP/Precedence字段,常用的相关技术有PBR、CBMarking。
2)整形和监管
整形(Shaping)和监管(Policing)主要是为解决单点对多点的通信模型中引发的速率不匹配、拥塞等问题。整形和监管在排队前引入了“令牌桶”的机制,在单位时间内发放一定数量的令牌,只有拿到令牌的数据才能进行排队;对于没有拿到令牌的数据,整形的处理方式为放入缓存,监管的常见处理方式为丢弃,都可以达到限速的目的。整形和监管的实现引入了队列机制,监管和整形相比使用更为灵活。整形的代表技术有GTS,监管的代表技术有CAR。
3)拥塞避免
当出现拥塞时,网络默认采用的是尾丢弃的处理方式。尾丢弃容易导致TCP同步以及TCP饿死情况,采用RED(Random Early Detection)早期随机检测可以减轻上述两种情况对网络传输的负面影响。在RED算法中,为每个队列设定低限和高限:当队列长度小于低限时不丢弃;大于高限时全丢弃;当队列长度处于低限和高现之间时,随机丢弃到来的报文,默认为百分之十。RED是一种积极队列管理算法,使得路由器能在队列溢出前针对性作为。
RED的加权版本WRED允许根据分组的优先级(DSCP/IP Precedence)对分组丢弃行为区分对待,从而区别不同流之间的QoS。通过WRED的配置,可以降低网络出现拥塞时对高优先级流量(如语音)的影响。
4)队列技术
根据队列的分类方法、加队技术、调度机制的的不同定义不同的队列机制。常见的队列机制有:FIFO(先进先出队列)、PQ(优先级队列)、CQ(定制队列)、WFQ(加权公平队列)、CBWFQ(基于类的加权公平队列)、LLQ(低延迟队列)等。
队列技术在网络设备上的应用是随处可见的,一般在接口速率高于E1(2.048mbps)的接口上默认采用FIFO,在接口速率低于或等于E1的接口上默认采用WFQ。在队列技术中,PQ、WFQ、CBWFQ都具有其适用于语音传输的技术特点。PQ的调度总是优先传送高优先级的队列数据,它能保障语音传输的优越性;但对其它数据而言可能导致低优先级数据流始终没有传输机会,通用性较差。WFQ基本思想是让小的数据包先传输,大的数据包后传输,通过优先级对所有数据包进行宏观调控,它是基于流自动分类的,适用于传输数据的大多数情况,并且能与RSVP联用;但它的分类和调度机制使它无法区分有特殊需求的流量(如语音)及无法提供带宽分配与延时保证。CBWFQ保留了WFQ的通用性,同时提供了手工分类的机制,使区分语音流量成为了可能,语音通信使用的RTP实时传输协议默认UDP端口号范围是16384~32767,队列技术可以通过此来完成语音流量识别,并可为其设置所需的带宽;但CBWFQ调度上尽管为特定流量分配了带宽,但与其他队列在出口调度采用轮询机制,无法提供严格的延时与抖动保证。LLQ可以称为具有严格优先级队列的CBWFQ,可以看成是PQ和CBWFQ的集合体,兼有了这2种队列的特点,LLQ可以为语音提供类似于PQ的单个优先级队列,同时也为其他数据提供了类似于CBWFQ的队列机制。
即使是LLQ,也不能在语音分组到达优先级队列时立即传输它,因为它需要完成正在传输的分组的调度工作。在CBWFQ队列中传输的数据分组可能很长,语音通信分组受长数据分组影响延迟变长。这种延迟在低速接口出现的可能性更大,可以在低速接口配置MLPP(多链路点对点)分段将大数据分组分割,将语音流量插入到分割后的大数据分组之间以减小延迟。此外,WFQ采用的是总线体系结构的资源分配调度算法,适用于使用交换结构进行分组交换的大多数网络设备,部分网络设备采用的是MWRR(改进的加权循环算法)和MDRR(改进的差额循环算法),其调度行为和WFQ相似。
3 QoS扩展
IP qos能保障internet上的大部分链路,但除了3层的QOS保障外,还需要一些数据链路层或其他技术支持QOS,并使之与IP qos相关联,从而提供端到端的服务保证。如ATM、帧中继、MPLS以及以太网等。
3.1 MPLS QoS
MPLS(多协议标记交换)使用第3层转发信息启动第2层分组交换,可以应用在多种链路,如:PACKET-OVER-SONET、帧中继、ATM以及以太网。在数据进入MPLS网络前,使用IP优先级提供IP QoS。在MPLS网络的入口,IP优先级信息复制为服务类(CoS)或在MPLS第2层标签中设置合适的MPLS CoS值用来提供区分服务。在MPLS网络内,根据设置的MPLS CoS字段使用IP QoS功能WFQ和WRED对通信服务进行区分并提供端到端的QoS。
另外,可以使用基于MPLS的VPN提供基于CAR和CDR的QoS功能和区分QoS,保证带宽隧道用来保证VPN QOS。
3.2以太网QoS
以太网交换转发速率相对较快,因此QOS的支持不是很丰富,但是也提供了一定的OQS保证。在某些交换机上提供了WRR加权轮询的工作机制,提供一个类似于PQ的EXPEDITE QUEUE,使用precedence/COS字段提供区分服务。在更高层的交换机上同时也提供诸如WRED等IP QoS技术。
3.3 ATM/FR QoS
作为一种面向连接的技术,ATM提供对QoS提供强有力的支持,而且可以基于每个连接提供特定的QoS保证。因此,请求连接的节点可以向网络提出特定的QoS要求,并在连接的生命期内确保网络始终提供这种QoS。FR头部封装中包含一个DE位,通过DE位识别借助IP QoS技术完成QoS功能。
4结束语
目前,VoIP网络还难以提供类似于PSTN语音服务质量保证,随着IP网络的迅猛发展,VoIP将是未来语音传输的发展方向。利用IP QoS为解决基于IP网络的语音服务质量问题提供强有力的保证。该文以IP QoS技术为基础,介绍了VoIP网络服务质量保证的相关技术手段。
参考文献:
[1] Serinivas Vegesna.IP Quality of Service[M].Cisco Press,2001.
[2]王懿,郑雄,张顺颐,等.关于下一代网路VoIP业务的QoS体系结构研究[J].新技术与新业务,2003.
[3]梁锦华.基于IP网络的语音实时数据QoS问题及其保障措施[J].科技广场,2011.
[4]孟涛.基于VoIP话务分析系统的设计[J].电脑知识与技术,2009.
[5]王煜林,王金恒.Voip技术解决方案与实现[J].电脑知识与技术,2008.
[6]李云鸿,胡修林,张蕴玉.基于人耳听觉模型的语音质量客观评价方法[J].华中科技大学学报(自然科学版),2000.
[7]黄永峰,李星.VoIP的语音质量分析与控制[J].控制与决策,2003.