1引言
随着计算机网络业务的逐步拓展, 各种业务对网络的需求也在不断提升,话音、传真、文本、图像、视频、多媒体等网络业务的不断增多,使得人们对网络的服务质量日益重视。目前,对QoS的研究主要集中在:
①在无线通信的情况下,考虑QoS约束,研究多用户调度的优点[1];
②引入多类节点模型通过任意包的丢包及时延概率对QoS指标进行量化[2];
③基于通道状态信息和缓冲占用情况研究数据传输速率和功率的配合问题[3];
④提出一种网络化预测控制方案以克服网络时延和数据丢失问题[4];
⑤利用系统中执行器节点的特性设计网络通信协议,以提高网络系统的事件响应时间和单事件能耗性能[5]等。而对于网络在数据传送速率发生变化的情况下,对网络服务质量指标变化的研究却很少,尤其是研究数据速率变化对网络的时延抖动及吞吐量的影响情况。因此,研究网络数据速率的变化对网络服务质量的影响问题具有十分重要的理论意义和实际应用价值。
网络的QoS评价指标主要包括网络的时延、时延抖动、吞吐量及丢包率等,本文重点对时延抖动及吞吐量进行了研究,并做了基本的实例分析,利用NS2平台建立了有线和无线网络模型,其中无线部分采用DSDV无线路由协议。通过改变网络传送速率,研究网络的吞吐量及时延抖动问题。研究结果表明,随着网络数据传送速率的不同,吞吐量和时延抖动均会随着传送速率的改变而发生变化,当达到一定的数据速率时,网络性能变化剧烈。
2主要QoS指标及实例分析
2.1传输时延
网络的传输时延D(End-to-End Delay)定义为源节点发送出一个分组到目的节点接收到该分组之间的时间差,它包括电(光)信号在物理介质中的传播时延和数据在网络中的处理时延,也即指网络中数据传输所用的时间.在很多网络应用中,比较关注分组的时延大小,要求分组的时延不能太大,例如实时的视频会议、网络电话等。文中以分组发送和到达之间的时间间隔来计算传输时延,计算方式如下:
D(i)=RT(i)-ST(i) (1)
式(1)中:D(i)表示第i个分组的传输时延,RT(i)表示第i个分组的接收时间,ST(i)表示第i个分组的发送时间。在分析网络的传输时延时,一般都统计平均传输时延。平均传输时延的计算如下:式(2)为统计N个分组的平均传输时延。
2.2时延抖动
网络的状态随时在变化,网络的流量也是不稳定的,当流量较大的时候,许多分组就在节点的队列中排队等候,因此各个分组在传输过程中的时延并不一致。时延抖动J(Jitter)描述的是网络传输时延的变化情况,如果时延抖动越大,则表示网络越不稳定。在某些网络应用中,如需要进行实时信息交互的场合,相比传输时延更关注时延的抖动情况,此时尽管平均时延可能很小,如果时延的抖动大,某些时刻时延就会很大,会直接影响通信双方交流时的感受。本文在分析的过程中,将时延抖动定义为前后两个分组之间的不同时差,根据文献[6]时延抖动的计算方式如下:
J(i)=(D(i)-D(i-1)) (3)
在实际网络中,常以分组的最小时延Dmin和最大时延Dmin与平均时延之间作比较而反映网络的抖动范围,只要
不超过规定的值即可以认为网络是比较稳定的。
对于像网络电视这种组播或广播的应用场合,一般只要传输的平均带宽大于视频信号的播放速率,就可以实时地观看了;若时延抖动很大,则需要在播放前做较大的缓冲,以吸收传输过程中产生的这些抖动,否则会造成画面不连续,影响播放质量。
2.3吞吐量
网络的吞吐量(Throughput)TH是网络性能的一个重要参数,是指在不丢包的情况下单位时间内节点可以接收的数据量,单位是字节每秒或比特每秒。文中使用以下的方式计算吞吐量[6]。式(4)中:TB(i)是指到第i个分组被目的节点接收时已经传输的数据总量,RT(i)是第i个包的接收时间。i>m,表示计算从第m个分组到第i个分组的吞吐量,若取m=1则是计算平均吞吐量。
2.4实例分析
以上提到的参数指标,均在实际当中有所应用。在Windows平台上运行Unix模拟环境Cygwin,在系统命令中使用命令:ping www.sohu.com –t >data3.txt,一段时间后使用ctrl+c中断退出,得到data3.txt的内容如图1所示。
图1 实际网络的QoS指标测试
作者在实际系统中得到的测试表明:在测试的时间内,发送了14个分组,收到13个分组,丢失一个分组,丢包率为4%,平均时延为39ms,时延抖动为-13~10ms。
3不同传输速率下网络的QoS分析
3.1混合网络模型的建立
本文使用NS2仿真工具进行有线网络和无线网络的混合模拟[7,8],NS是由UC Berkeley大学开发的,运行在Linux操作系统环境下,是一个面向对象的、离散时间驱动的模拟器,使用C++和OTcl作为开发语言[9]。
在网络模型中建立三种类型的节点:有线节点(节点0)、无线节点(节点2和节点3)以及基站节点(节点1)。基站节点和有线节点之间存在链路并且开启了有线路由,充当无线节点的网关.拓扑结构如图2所示,拓扑范围——长度:800m,宽度:800m。
图2 有线和无线网络通信模型
在以上网络中,设置无线节点的主要参数如下:无线传输模型是TwoRayGround,网络接口类型是无线物理层,MAC层协议采用802.11协议,接口队列类型是IFQ队列,逻辑链路层类型为LL层,天线模型是全向天线,网络接口队列的大小是50,无线路由协议是DSDV协议。
在图2中,节点0与节点1之间通过有线链路连接.节点1、节点2和节点3直接通过无线链路连接.其中,节点2和有线节点0之间建立UDP连接和CBR数据流,在有线节点0和节点3之间建立UDP连接和CBR数据流.上图为节点之间正在通信的场景,大圆圈表示无线节点发射的无线信号,黑色颗粒表示丢失的数据包。
3.2时延抖动分析
时延抖动的算法实现分析如下:对于某次设定的数据传送速率(如300kbit/s),从第一个分组开始计算,并设定第一个分组的延迟和抖动为0(code 3,code 4),如果某个分组的延迟不为0(code 2),即不是第一个分组,那么就利用公式(3)来计算,因为此处的分组不一定连续,因此下面计算的是某段时间的平均抖动(code 5),最后打印出这个分组及其对应的时延抖动(code 6),同时将这个分组作为前一个分组,为下一次抖动的计算作好准备(code 7和code 8)。其gawk程序代码如下:
for(i=0; i<=highest_uid; i++) code 1
{ if(delay[i]!=0) { code 2
if(last_delay==0) { code 3
jitter=0; code 4
}
else { jitter=(delay[i]-last_delay)/(i-last_seqno); code 5
}
printf("%d %.8f\n",i,jitter); code 6
last_delay=delay[i]; code 7
last_seqno=i; code 8
}
}
3.3网络吞吐量分析
网络吞吐量的算法实现分析如下:因为本文中的网络为有线+无线结构,目的节点为有线节点(节点0),所以首先需通过有线Trace和无线Trace的格式不同来获知目的节点。此处通过有线Trace格式$3(第3个字段)的字段长度为1来判断目的节点0(code1)。如果目的节点接收到分组(code2),则计算已接收的数据字节(code3),如果是第一个分组的话(code4),则保存接收到第一个分组的时间(code5),否则更新接收到最新一个分组的时间(code7),最后通过公式(4)来计算这段时间的吞吐量(code9),因为吞吐量单位为kbit/s,因此需乘系数8/1000。具体gawk程序实现如下:
if(len==1) { code 1
if(event=="r" && to_node==0 && pkt_type=="cbr") { code 2
pkt_byte_sum[i+1]=pkt_byte_sum[i]+(pkt_size-20); code 3
if(init==0){ code 4
start_time=time; code 5
init=1; code 6
}
end_time[i]=time; code 7
i++;code 8
}
}
th = 8*pkt_byte_sum[i-1]/(end_time[i-1]-start_time)/1000; code 9
4仿真结果及分析
以图2所示网络系统为对象,研究网络的吞吐量情况,仿真结果如图3所示,从仿真曲线可以看出,随着数据传送速率的不断增大,网络吞吐量也不断增加,当达到245kbit/s附近时,网络吞吐量开始减小,网络性能变化剧烈,随着传送速率的增大,网络的吞吐量将不断减小。
图3 网络吞吐量随速率变化情况
研究网络的时延抖动情况,仿真结果如图4所示,对于同一网络,当数据传送速率发生变化的时候,时延抖动也会相应变化.在图4中,当网络的数据传送速率为100kbit/s时,时延抖动基本在-5ms~+5ms范围内,时延抖动为一较窄的区域;当数据传送速率为200kbit/s时,时延抖动的范围稍微变宽;当传送速率达到300kbit/s时,时延抖动集中在-5ms~+10ms的范围,抖动区域变宽;当传送速率达到400kbit/s时,时延抖动为-5ms~+20ms的范围,抖动区域进一步变宽,个别时刻时延抖动达到35ms。
图4 网络的时延抖动随速率变化情况
仿真研究表明:网络的数据传送速率对于吞吐量和时延抖动均有明显影响。随着网络数据传送速率的增大,吞吐量会逐渐增大,在一定的数据速率下达到最大,当进一步增大数据速率时,吞吐量会下降;时延抖动会随着传送速率的增大而逐渐增大,并且整体呈带状变宽趋势,个别时刻时延抖动会出现跳跃现象。
作者简介
高红亮(1979-) 男 博士研究生/讲师,研究方向为无线传感器网络技术。
参考文献
[1]Shakkottai, Sanjay. Effective capacity and QoS for wireless scheduling[J].IEEE Transactions on Automatic Control, 2008, 53(3): 749-761.
[2]Ioannis Ch. Paschalidis. Class-specific quality of service guarantees in multimedia communication networks[J].Automatica, 1999, 35(12): 1951-1968.
[3]R. Berry and R. Gallager. Communication over fading channels with delay constraints[J].IEEE Transactions on Information Theory, 2002, 48(5):1135–1149.
[4]Liu, G P.IEEE Transactions on Industrial Electronics, 2007, 54(3):1282-1297. , Xia, Y Q, Chen J. Networked predictive control of systems with random network delays in both forward and feedback channels[J]
[5]汪秉文,彭力,彭容修等.带执行器节点的无线传感器网络协议研究[J].华中科技大学学报:自然科学版,2006,34(12):13-15.
[6]黄化吉,冯穗力,秦丽娇,陆宏治等.NS网络模拟和协议仿真[M].北京:人民邮电出版社,2010.
[7]杨素林.一种基于NS2和VC++的网络化控制仿真软件的实现[J].计算机与数字工程, 2005,33(12):121-124.
[8]方路平,刘世华,陈盼,郭笋,陈小乐等.NS-2网络模拟基础与应用[M].北京:国防工业出版社,2008.
[9]于斌,孙斌,温暖等.NS2与网络模拟[M].北京:人民邮电出版社,2007.
共0条 [查看全部] 网友评论