罗小娟
华东理工大学信息学院 200237
摘 要 本文论述了影响IP网上语音服务质量的主要因素,并提出了基于局域网VoIP相应的解决方案。着重分析了局域网中的保证语音QoS(Quality of Service)的机制,提出了在园区网及骨干接入中的QoS保证策略。
关键词 VoIP IP电话 QoS 局域网
一、引言
随着因特网的发展,由于易于管理和经济节约等可行性的原因,越来越多的应用加到IP网络上。人们已经广泛认为,现今的IP网络是“尽力而为”的质量保证方式,不能满足已出现的各种服务和市场要求。在语音方面,人们已习惯了PSTN的高质量的语音,所以在IP网上传输语音,就须改善IP网上的语音质量,与此同时,成为全行业范围内的研究热点。
以太网是目前应用最广泛的局域网技术。100Mbit/s快速以太网和1Gbit/s千兆以太网都是以IEEE802.3 CDMA/CD规范为基础的扩展。一些人可能在争论说QoS不是LAN中所要关心的问题。但是,考虑到LAN中的临界点,如上行线路和局域主干,当一个组织配置越来越多要求带宽的应用时,可能存在超过预计的情况。这终将导致需要在LAN中使用QoS工具。
二、IP语音质量的影响因素
现有的网络(Internet)对于IP电话和传真的服务质量的影响大致有以下几点:
(1)实时带宽:IP网络当初的设计并不为语音的实时传输保证应有的带宽,虽然实时语音的传输带宽需求很低,但它却需要一个恒定的或直接可用的带宽。
(2)延时:端到端(在250-350 ms以下)的延时包括编、解码造成的延时,打包与解包的延时及网络传送延时。
(3)包丢失:IP网上数据的完整性是依靠TCP的重发机制来实现的,IP网上语音包的传输采用UDP的方式,不能保证包的的完整性。为保证通话质量,一般要求包丢失率应在5%以下。
(4)非线性语音编码: 非线性语音压缩编码方案并不能保留所有频谱的信息
三、局域网中保证语音QoS的机制
1. 分类
在一个集中的LAN环境中,当需要保护语音通信不受数据通信影响时,LAN中通信的分类就变得很重要了。局域网中的QoS主要是对第二层的以太网帧头加入了优先级字段,以区分不同的优先级。严格地讲,在局域网中只能简单地区分业务的优先级,并不能像ATM QoS那样有精确的定义和详细的参数指标来衡量。
分类技术在以太网、虚拟局域网(VLAN)等网络上提供了网络优先的功能。这种解决方案是根据对IEEE 802.1p/Q协议字段的处理来区分不同优先级业务的。IEEE 802.1p/Q同属于一个子集,它在传统的以太网帧头中加入了4个字节,其中802.1p占3位。802.1p延伸了802.1d的协议,利用3位优先级位可以最多提供8个优先等级。而802.1Q利用VI(VLAN Identifier,虚拟网标识)位识别传送的帧究竟属于哪一个虚网。VI位共有12位,最大可以支持的虚网个数不会超过4096个。
2. 队列管理
LAN中的QoS是通过在通信进入一个交换机的时候对其进行检查,根据某些特定规则对帧进行分类,然后对重要数据进行排队,以便优先传输这些重要数据来提供的。排队的实际处理方法可以根据所使用的特定交换机而变化。像Cisco的Catalyst 2900和3500系列第二层交换机支持每个物理接口有两个分开的队列。交换机可以根据前面所描述的802.1Q/p标记方法而对通信进行分类,或者就像网络管理员为没有标记的帧定义的那样,分类可以在每个端口上完成。一旦通信已经被分类,高优先级通信(CoS=4-7)就能被送到加速(高优先级)队列,而低优先级通信(CoS=0-3)则被送到普通队列。这个调度的本质上是一个优先级队列算法。
一般用于局域网核心的第三层LAN交换机,如Catalyst 6500系列为优先级语音通信提供了附加的QoS特性,可以支持使用IP优先权的分类,也可以为每个接口提供多个队列并支持各种优先调度技术,如加权公平排队(WFQ,Weighted Fair Queuing)、自定义队列(CQ,Custom Quening)、优先队列(PQ,Precedence Queuing)、和加权随机早期检测(WRED、Weighted Random Early Detection)。
(1)IP优先级:使用IP包头部的服务类型(Type of Service,ToS)域中的三个比特位,这意味着通过使用优先权比特位,最多能得到8个值。因为其中两个值通常保留给路由协议、ICMP消息和其它网络额外开销,所以这注允许定义最多6种服务类型。一旦IP优先级值已经设置,网络设备上的QoS特性就可以启用,路由器能使用这个信息来决定特定分组所要求的服务类型。如WFO和WRED能使用IP优先权来控制QoS的状态。
(2)加权公平排队:WFQ的目标是为小流量通信提供一种更公平的可用带宽分配,或者和通信类型交互作用从而在拥塞的链路上提高,而不必增加带宽。WFQ算法可以基于包部特性,如源端/目的端地址、协议和端口/套接字编号,动态地将通信分到信息流中,第二层的特性也可以用来给通信分类,如源端/目的端MAC地址或帧中继DLCI。WFQ能识别IP优先权值,并对这些包进行调度,从而更快地传送它们,缩短延迟和响应时间。下面的公式是在WFQ中,根据优先级别和信息流数目来为每个IP通信流给出的总接口带宽的百分比。
当IP优先权级高时,WFQ就在拥塞发生时为这个通信分配更多的带宽。WFQ能避免一个像FTP这样的大流量应用在一条链路上占用所有可用的带宽,而像语音这样的其它小流量通信却因资源不足而“饿死”。WFQ是支持RSVP的。WFQ的一个缺点是:如果在给定时间内网络中有很多信息流,它可能变得过于公平,无法保证特定通信类型的带宽。
(3)基于类的加权公平排队(CBWFQ):是标准WFQ功能的扩展版本,它增加了对用户定义通信类的支持。使用CBWFQ,网络管理员可以分离通信并根据协议,访问控制列表(ACL)或者输入接口将各种通信放入队列中。CBWFQ方式最多可定义64类通信。一旦通信已被指定为一种类型,就能为该类指定带宽,并在拥塞期保证带宽。CBWFQ为特定通信类型保证带宽的能力使得它成为语音实现一种较佳的WFQ方式。
(4)优先队列(PQ):为网络管理员决定哪种通信必须被率先排队并进行服务。各种网络流都可以根据下面几项来进行分类:协议或协议类型、呼入接口、分组大小、分段、访问列表。
PQ队列优先级可设为高、中等、普通和低。路由器按优先级从最高到最低的顺序为队列提供服务。服务顺序是这样的:如果高优先级队列中有通信,那么普通队列直到高优先级队列中所有的分组被传送完之前,不能转发任何分组。这对于确保关键应用如交互式语音来说是很好的机制。
服务高优先级队列并且永远不服务低优先级队列。CQ考虑到其他队列,允许处理其他一定百分比的通信。这个百分比的能力保证了每个队列都将被有规律地服务并保证了某些级别的带宽。
(6)加权随机早期检测(WRED)
WRED试图通过在缓冲区拥塞之前随机进行丢包来克服丢弃问题。WRED根据平均队列长度来确定什么时候开始丢包。一旦队列中的分组数超过定义的队列上限,WRED就开始在队列上限的范围内丢包。丢包对于网络流完全不另选择。因为分级在队列中随机丢弃,这就导致只有几个会话将重新启动。这向网络提供了一个排空队列的机会。因为剩余的会话继续流动,所以缓冲区可以清空并允许其它的TCP会话有恢复的机会。
WFQ、CBWFQ、CQ、PQ和WRED在一个接口上是互斥的。
四、局域网中IP电话的QoS保证策略
目前局域网的基础技术以以太网(传统的交换式10Mb/s以太网、快速以太网或千兆位以太网)为基础。对于IP网络电话服务而言,延迟的影响不会成为问题,而由于1000M到100M,多到一的网络流量分布使交换端口的Buffer易于填满,并由此带来包的丢失。所以为保证语音/视频的质量,在园区网中需采用以下QoS机制:
1. 将不同的应用分类,其策略为:(Precedence为优先级)
(a)语音: Precedence=5
(b)语音控制: Precedence=3
(c)视频会议: Precedence=4
(d)视频流: Precedence=1
(e)数据: Precedence=0-2
2. 选用在输入/输出端口支持多个队列的交换机
CISCO以下交换机具有多个队列:Catalyst6000、Catalyst4000、Catalyst3500和Catalyst 2900。
3. 采用不同的队列输出策略
语音: PQ
视频会议Video: PQ
视频流: CBWFQ
语音控制:CBWFQ(8kb/s)
五、总结
本论文设计了这一方案在LAN Ethernet中的语音QoS的实现策略和方法。探索了在局域网条件下,利用包优先级字段和路由队列机制来实现高质量通话,对进一步探讨在局域网上的QoS具有较高的研究和实用价值。由于局域网信息建设与应用系统的逐渐增加,网络是一个集成了语音、数据、视频甚至其他媒体形式的多种多媒体通信。如何保证语音QoS还是一个相当复杂的问题,值得进一步的研究。
----《中国数据通信》