GPRS通信性能检测系统
2012-08-10叶焕锋姜周曙
叶焕锋,姜周曙
(杭州电子科技大学 自动化学院,浙江 杭州 310018)
0 引言
通用分组无线服务[1](GPRS,General Packet Radio Service)由英国BT Cellnet公司提出,它是第二代移动通信技术向第三代移动通信过渡的一种无线高速数据传输技术。用户通过GPRS可在移动状态下使用各种高速数据业务,但数据安全可靠传输取决于GPRS的通信性能,全文针对该问题研制了GPRS通信性能检测系统,可检测时延、丢包率以及传输速率三项指标[2-3]。
1 检测平台
检测平台有GPRS数据终端和PC机,PC机上装有GPRS通信测试软件,它一方面利用串口直接与数据终端连接,另一方面通过Internet、GPRS网络与数据终端连接,构成以PC机为测试中心的测试链路环,如图1示。
2 检测原理
测试软件使用C/S(Client/Server)架构,PC机作为服务器,GPRS数据终端作为客户端,当服务器开启监听后,GPRS数据终端主动连接并实现数据收发[4,8]。为满足测试要求构建通信数据帧[7],如表1。
图1 GPRS通信性能测试链路
表1 网络数据帧格式
表1的数据帧在网络中传输,下面称它网络数据帧。此外,为实现检测目的,网络数据帧中的测试数据包含了一个帧,下面称它测试数据帧,如表2。
表2 测试数据帧格式
用测试数据帧可检测出 GPRS的三项性能指标,方法如下。
(1)时延检测
测试数据帧中包含4字节的发送时间,它是数据帧发送前PC机的时间,包括分(1Byte)、秒(1Byte)和毫秒(2Byte)。测试数据帧携带时间从PC机出发,通过GPRS数据终端、GPRS网络和Internet网络后回到PC机,由于起始时间和终止时间在同一台PC上测出,因此利用时间差就可得出时延。
(2)丢包率检测
为了在 PC机接收端获取正确的数据帧,表 1和表2的帧格式包含4字节校验域(CRC校验模式)和2字节数据域长度。将数据域长度检测和CRC检测相结合检测出数据帧的完整性。
(3)传输速率检测
测试软件在发送测试数据前,PC机中另一个数据接收线程会立即开启。只要检测到缓存中有数据就立即接受并解析,最后统计解析出来的字节量即可。
为完成性能检测要求,必须有快速可靠的数据帧解析机制,先考虑下面两种情况:
1)PC机用串口将测试数据帧发送到GPRS数据终端,GPRS数据终端将测试数据帧打包成网络数据帧,但由于数据帧长度限制打包出来的网络数据帧会有不同情况:①将n个测试数据帧打包成1个网络数据帧;②将n+0.5个测试数据帧打包成1个网络数据帧。
2)网络拥堵、时延等原因,PC机缓存中会接收n个或者n+0.5个网络数据帧。
以上是数据解析的主要问题,下面简述解决方案。由于完整的网络数据帧包含测试数据帧,故先解析网络数据帧后解析测试数据帧,具体如:①遍历 PC机缓存,提取缓存中所有帧头和帧尾,并存在帧头数组和帧尾数组中,然后成对提取完整的网络数据帧,若出现不完整的帧则先存在临时数组中,等待下一次缓存接收另一半网络数据帧并组合成一个完整的帧;②对网络数据帧进行CRC校验和数据域长度比较,得到正确的网络数据帧;③解析网络数据帧中的测试数据,方法和上面一致;④提取测试数据帧中的发送时间并和 PC机当前时间比较可检测时延;统计接收到的测试数据帧总数并和发送总帧数比较可检测丢包率;计算单位时间内接收到的字节数可检测传输速率。
3 测试软件
基于以上检测原理,在微软.NET Framework平台上,开发类似串口调试工具的测试软件[5-6],主界面如图2。
图2 测试软件
软件有以下功能:①提供串口发送网络接收和网络发送串口接收两种模式;②提供定时、定次和定长的自动发送模式和手动发送模式;③具有可视化监控界面,能实时检测性能状况;④与数据库关联,可存储和查询测试结果。
4 测试结果分析
GPRS性能与网络拥塞相关,现通过不同时间点做大量重复测试,归纳出三种GPRS数据通信性能状况。测试数据采用折线图形式,坐标轴解释如下:横坐标为测试数据发送周期(ms);左侧纵坐标为平均时延和平均速率(ms和B/s);右侧纵坐标为丢包率(%)。
图3是网络在通畅情况下测出得通信数据,图中展示不同发送周期下,平均时延、平均速率和累计丢包率三项通信性能指标的变化趋势。由图知:发送周期较长时,数据传输过程中平均时延保持在2 000 ms和4 000 ms之间,此时平均速率慢慢增大,最大达2 000 B/s,而且没有出现丢包现象(丢包率为0%)。随着数据发送周期逐渐缩短,平均时延快速增大,但平均速率没有一直增大,反而发送周期在300ms以下时出现了丢包情况。因此,为了使三项通信性能指标在数据传输过程中达到最优,应选择合适的发送周期。图3可知,发送周期低于450 ms后平均时延急剧上升,发送周期在450 ms到500 ms之间可以使平均速度达到最大且没有出现丢包。所以通信时将发送周期控制在450~500 ms之间有较好的性能。
图3 网络通畅情况下的GPRS数据通信特性
图4是网络繁忙情况下测出得通信数据,同样也反应了三个指标在不同发送周期下的变化趋势。对比图3可知,折线的基本走势相同,但数据传输中平均时延高于网络畅通的情况,而且在发送周期为500 ms的时候出现丢包。虽然检测出来的平均速率最大达2 000 B/s却伴随着较高的数据丢失风险,所以通信时将发送周期控制在600~800 ms之间能够获得较好的性能。
图4 网络繁忙情况下的GPRS数据传输性能图
除上面两种情况外,测试中还发现第三种情况如图5,此时网络非常糟糕复杂,图中可知平均时延和丢包率呈现出U型折线图,即在发送周期较长时出现了很大的平均时延和较为严重的丢包现象,但当发送周期逐渐缩小时测试出来得性能与前面分析的情况一致,所以为保证通信质量应将发送周期控制在800~1 000 ms之间。
图5 网络情况复杂时的GPRS数据传输特性图
5 结语
全文讲诉的GPRS通信性能检测平台能够有效地检测GPRS网络的三项性能指标。检测基本原理是用PC机自发自收,因此检测形式方便简单、数据统计比较容易,自主开发的测试软件能够实时显示整个测试过程。但是,检测平台也存在缺陷与不足,首先检测得时延是整个测试链路的时延,包括了发送时延、传播时延、接收时延等;此外,检测对象仅仅是华为的GPRS模块EM310,对其它商家的GPRS模块并没有检测,所以得出的结论仅限于此。
[1] 钟章队,蒋文怡,李红君.GPRS通用分组无线业务[M].北京:人民邮电出版社,1-9.
[2] 张科峰,陈莉华.GPRS网络性能测试[J].现代电信科技,2002(01):21-24.
[3] 文志成.通用分组无线业务——GPRS[M].北京:电子工业出版社,128-133.
[4] 刘永录,衣红钢,巩宪,等.基于GSM/GPRS的无线数据采集系统[J].信息安全与通信保密,2005(11):112-114.
[5] 马俊.C#网络应用编程[M].北京:人民邮电出版社,2010:82-147.
[6] 明日科技.C#开发经验技巧宝典[M].北京:人民邮电出版社,2007:2-200.
[7] 张红霞,王亚微,郭佳,等.基于GPRS通信技术的远程抄表系统设计[J].通信技术,2008,41(08):207-209.
[8] 常琨,马天光,史琳.TCP/IP在GPRS/EGPRS网络中的应用及影响[J].通信技术,2010,43(12):112-114.