- 1 -
区分服务下队列调度对无线 VoIP的影响
冯 骥,徐惠民
北京邮电大学信息与通信工程学院北京(100876)
摘 要:VoWLAN作为WLAN和 VoIP的融合,使广受欢迎的 VoIP无线化和移动化,同时
将WLAN的业务范围从纯数据扩展到了实时语音领域,充分结合了WLAN布网简单灵活和
低成本的优点,对企业和个人用户都具有巨大吸引力。为话音业务提供支撑的网络就必须有
对 QoS 的支持的机制,为了满足不同的服务质量,需要在网络中间节点(路由器和交换机)中
采用更好的队列调度算法。一个较理想的队列调度算法,不仅需要计算复杂度小以便在高速
主干网中实现,同时应该保证公平且提供良好的数据流隔离,而这两者本身就具有冲突性,只
能在它们之间寻找一种平衡。本文通过研究多种队列调度机制在 VoWLAN上的性能差别,
提出了区分服务条件下最适合 VoWLAN的队列调度机制。
关键词: VoWLAN;队列调度;区分服务
中图分类号:TP393
1. 引言
VoIP 是利用基于路由器的 IP 分组交换网络实现话音通信的一项传输技术。其技术的最
大优势在于 IP 电话采用了先进的语音编码技术,只需要 8Kbps~12Kbps 的带宽,可以在比
传统电路交换网络的 64Kbps 小得多的带宽上传输[1]。UMTS 论坛曾讨论无线 IP 网络的发
展前景,它的结论是无线环境中的语音和数据应用都会朝 IP 方向发展,无线行业的发展趋
势则是把 VoIP 引进入无线网络。发展无线 VoIP 技术的主要目的一是为了节省带宽,提高频
谱利用率;二是为了提供话音和数据统一的接口和平[2]。因此,将 VoIP 技术应用在无线网
络中是近年来出现的一个研究热点。
而为了满足不同业务对服务质量的不同要求,IETF 提出了 2 种不同的 IP QoS 体系结构:
综合服务模型(IntServ)和区分服务模型(DiffServ)。其中,DiffServ 具有良好的可扩展性,适
合于在大型主干网上提供 QoS 服务。队列调度机制是保证 DiffServ 实现的核心机制之一,
是解决多个业务竞争共享资源问题的有效手段。路由器中调度算法的主要作用是决定从等待
队列中选择哪个分组进行发送,主要影响带宽分配、延迟和延迟抖动等性能参数[3],是实
现网络服务质量的核心技术之一。本文结合 VoWLAN 和 DiffServ 中的队列调度机制,分析
了多种情况下话音业务的端到端性能。
2. 路由器常见的四种队列调度机制原理
先进先出队列FIFO调度算法
FIFO 是最基本的队列调度算法,它按照数据包到达路由器的先后次序进行传输。FIFO
的最大优点在于实现简单,缺点是不区分流、没有恶意流阻止功能等。
优先级队列PQ调度算法
优先级队列调度算法提供了一个相对简单的支持区分服务类的方法。PQ 把数据包分类
放置到具有不同优先级的队列中,再依次调度各优先级队列:最先调度优先级最高的队列中
的数据包,当它为空时才调度次高级别的。依次类推,直到比某个队列更高优先级的队列中
没有数据包时,才调度这个队列。每个队列以 FIFO 方式对包进行调度。PQ 能保证高优先
- 2 -
级的业务,但是会出现低优先级得不到服务的情况,即出现带宽“饥饿”现象。
加权公平队列WFQ调度算法
WFQ 调度算法根据 DSCP 来区分不同业务,根据每个队列不同的权重值调度每个队列,
优先处理权重值高的队列,按照队列的权重值分配带宽。WFQ 是把 GPS 模型应用于网络系
统的一种近似算法。GPS 模型是一个理想化的流模型,假定每一个队列中的业务元可以无
限小,队列之间具有相同的优先级,因而调度器可以根据各队列的共享比例同时服务所有的
队列,能使各业务流真正公平地共享服务器。但 GPS 模型在实际网络系统中是无法实现的,
因为业务元的最小粒度是分组,而且该分组的服务不能被抢断。
WFQ 算法的基本思想是维护一个系统虚拟时间 V(t),并为每一个队列维护一个虚拟开
始时间标签 ( )iS t (队列 i 头部分组的虚拟开始发送时间)和一个虚拟完成时间标签 ( )iF t
(队列头部分组的虚拟完成发送时间),当队列中有分组发送完毕,或者空队列有分组到达
时分别计算如下式:
1
max( ( ), ( )),
( )
( ) ,
i
i k
i i
V t F t session i becomes active
S t
F t P finishes service−
−⎧⎪= ⎨ −⎪⎩
( ) ( ) /ki i i iF t S t L R= +
其中, ( )iF t 是队列 i 更新之前的虚拟完成时间; kiL 是当前队列第 i 个分组 kiP 的长度;
iR 是预先定义的服务速率。当每次需要调度时,系统根据时间标签的大小选择一个分组。
通过给用户链接提供最小带宽保证,进而保证了时延范围。
WFQ 克服了传统方法的缺点,可对单个业务流进行精细的控制,为每个业务流提供较
低可计算的端到端时延保障,同时它能以公平的方式使得各业务流共享剩余的带宽资源。
WFQ 的缺点是流量粒度过细,计算复杂度较高。
差值加权轮训队列DWRR调度算法
为解决 WRR 不能支持长度不同的包而出现的带宽分配不公平以及计算复杂的缺点,提
出了 DWRR 调度算法。在 DWRR 算法中,为每个队列设置一个权值 W 和一个差值计数器
DC(每次允许调度器访问队列的字节总数)。具体算法过程如下:(1)调度器访问每个非空队
列,如果队列头部的包长度大于 DC,则调度器移动到下一个队列。(2)如果队列头部的包小
于或等于 DC,则变量 DC 减少包长字节数,并传送包到输出端口。调度器继续输出包和减
少 DC 值,直到队列头部的包长度大于变量 DC 值。剩余的 DC 值将作为信用值累加到下次
轮询时使用。(3)如果队列输出包直到队列为空,则设置 DC 为零,此时调度器将服务下一个
非空队列。
DWRR 结合了 WFQ 和 WRR 的优点,能够在输出端口按队列的权值为流提供相应的带
宽分配,从而避免低优先级队列出现带宽“饥饿”现象。DWRR 能够支持长度变化的流,特
别是突发流,并且该算法实现比 WFQ 简单。
VoIP在上述四种队列调度算法下的性能预测
在实际的情况下,话音业务仍然只占据整个因特网数据流量的一小部分(10%左右),
所以我们认为,在大多数情况下,没有必要考虑话音数据流将其它数据流“饿死”的情况。
基于以上的条件,PQ 是一种最简单有效的保证 VoIP 服务质量的队列调度方法。与 PQ
- 3 -
相比,WFQ 算法过于复杂,对路由器存储、计算的能力要求比较高,计算的代价会成为延
时的一个主要因素。而 DWRR 的弊端是随着队列的增多,即使语音包被分配了足够多的权
重(带宽),语音包的延时也会不断增大。
3. 仿真实现
路由器模型库简介
OPNET 的模型库中提供了很多种常用的队列调度机制,比如 FIFO,PQ,WFQ,DWRR
等,这些算法都试图在复杂度和公平性上做出权衡,并没有一种普遍的“最优”的调度机制。
OPNET 中的提供标准的路由器模型库(router model library),通过配置该模型,我们可
以使用上述的各种队列调度算法。整个路由器模型的结构如图 1 所示。路由器模型是类似于
计算机网络中的 TCP/IP 模型,包括从物理层到应用层的协议栈结构,我们关注的重点在 ip
层,也就是 ip 节点。
ip 节点模型下是一个称为 ip_dispatch 的进程模型,这个进程模型实现了 ip 的所有路由
功能,报文分段以及组装。如果路由器被配置为使用队列调度机制,这个进程会产生一个子
进程 ip_output_iface,以供每个使用了队列机制的接口使用。值得注意的是,路由器可以为
不同的接口提供不同的队列调度机制。ip_output_iface 进程会产生一个特定的队列管理结构
体 qm_info,这个结构体能根据用户选择的调度机制进行入队和出队操作。该进程同时还生
成仿真中各个接口上的统计量信息。
在仿真过程中,通过 ip_dispatch 进程,数据包在输入接口和输出接口之间形成路由,
而 ip_output_iface 进程关注与输出链路的容量并完成相应的队列操作。
此外还有一些 QoS 和队列相关文件,由于在多个进程(如 ip_dispatch ,
qos_attribute_definer)中都被用到,所以被定义为外部文件,主要有 oms_qm 和 ip_qos_support
等。
图 1 路由器模型
- 4 -
VoWLAN平台搭建
网络拓扑中包括 3 对相互联结的无线终端和一个 FTP 服务器,它们通过邻近的 AP 进行
调度,并通过 E1 与有线网络相连。拓扑如图 2 所示。
具体对应关系是 CLIENT1,2,3—TR_CLIENT1,2,3 它们之间进行 voice 通信,而上述 6
个移动终端都能与 FTP_SERVER 通信,运行普通的数据业务。
无线网络采用 ,每个 BSS 都采用 1Mbps 速率传输,直接序列扩频(DS),信号
发射功率 ,缓存大小 256000bit。话音采用 编码,ftp 请求间隔时间 ,文件
大小:2700byte。
图 2 VoWLAN 拓扑结构
仿真结果及分析
图 3 和图 4 显示了仿真中 VoIP 业务在四种队列调度下的性能情况。比对对象是 ftp 业
务性能和话音业务端到端延迟。
从结果可以看出,尽管 FTP 被设置为低优先级的业务流,但是在总业务量不超过带宽
的情况下,也没有出现明显的丢包现象,其上传、下载的延时都在 500ms 左右;而高优先
级的话音业务其延时在 5ms 左右。并且可以在 CDF 曲线中明显的看出几种队列调度机制在
话音延时上的差别。与先前分析的一致,PQ 取得了最低的延时值,其次是 DWRR 和 WFQ,
而 FIFO 的延时最大。
因此,在业务量没有被用户超额,话音业务占总业务量小部分,以及业务种类不多的情
况下,PQ 是一种保证话音质量,并兼顾其他业务的最有效的方法;当然,随着话音的业务
增多,或者出现其他要求严格保证质量业务的出现,较为复杂的 WFQ 应该是权衡多种业务
的最佳选择。
- 5 -
50 100 150 200 250 300
50 100 150 200 250 300
0 50 100 150 200 250 300
-10000
0
10000
20000
30000
40000
50000
60000
70000
0 50 100 150 200 250 300
-10000
0
10000
20000
30000
40000
50000
60000
70000
FTP接收数据
FTP发送数据
FTP上传延时
de
la
y
time
FTP下载延时
da
la
y
time
ra
te
time
ra
te
time
图 3 ftp 业务性能
图 4 话音业务端到端延迟 CDF 曲线
4. 结束语
本文介绍了 VoWLAN 的实现模型,重点研究了实现模型中的队列调度算法,并通过
OPNET Modeler 构建了 DiffServ 实现模型,对几种基本的调度算法进行了对比仿真研究。从
仿真结果可以看出,在背景业务较少,并且话音业务占总背景流量比例较小的情况下,使用
- 6 -
PQ 调度能体现最好的性能。而由于网络环境的复杂多变,可能在其它情况下就需要更为复
杂的调度机制和算法来保证话音的端到端性能。本文的工作为进一步的算法分析和优化提供
了有力依据。下一步的工作需要结合实现机制中的缓冲区管理等算法对调度算法做综合的仿
真研究,以得到网络的全局最优实现模型,对现有算法作进一步的优化,使其能更好地满足
不同网络条件下对不同业务需求的支持。
参考文献
[1] 张磊,王阿禅,等.VoIP语音技术及应用[M].北京:机械工业出版社,2000,6.
[2] 林闯. 计算机网络的服务质量(QoS)[M]. 北京:清华大学出版社,2004.
[3] Uyless Black.温斌,李益农,等译.语音技术[M].北京:机械工业出版社,2000,5.
[4]OPNET Online Documentation [Z]. OPNET Technologies Inc., 2003.
[5] Sayenko A, Hamalainen T, Joutsensalo J, et al. Comparison and Analysis of the Revenue-based Adaptive
Queuing Models[J]. Computer Networks, 2006, 50(6): 1040-1058.
Effect of queuing algorithm on VoIP based on Diffserv
Feng Ji, Xu Huimin
Department of Communication and Information System, Beijing University of Posts and
Telecommunications, Beijing (100876)
Abstract
As the integration of WLAN and VoIP, VoWLAN makes VoIP wireless and mobile. At the same time,
it broaden the business scope from simple data to real-time voice. It integrate the convenience and
low-cost of WLAN, which attracts both personal and enterprise users. A network which supports voice
business must obtain the mechanism to apply QoS, and requires to adopt suitable queuing algorithms in
the mid-nodes(routers and switches) for different qualities. An ideal queuing algorithm requires simple
in complexity and equity as well. But the two sides are conflicting actually, so we have to make a
balance between them. This paper studies on the differences of performance with four queuing
algorithms in VoWLAN system, and points out a suitable queuing algorism for VoWLAN in Diffserv.
Keywords: VoWLAN; queuing algorithm; Diffserv