融合Ad-hoc和蜂窝网络的中继设备设计
2012-07-25任凯强郑力明暨南大学信息科学技术学院电子工程系广东广州510632
任凯强,谢 波,郑力明(暨南大学 信息科学技术学院电子工程系,广东 广州510632)
0 引 言
移动蜂窝通信系统推动了人类通信技术的快速发展,在全世界获得了广泛的商业部署,改变了人们的生产生活方式。然而随着人们交流越来越频繁,对通信质量的要求越来越高,现有 GSM (global system for mobile communications)移动蜂窝系统的一些不足不断呈现,难以满足日益增长的需求。
Ad-hoc网络具有高度灵活性、自组织性、分布式控制、动态网络拓扑等特点,是目前移动通信领域研究的一大热点。有学者提出,Ad-hoc网络具有许多移动蜂窝网络不具备的优点,将其应用到蜂窝网络,能较好地弥补蜂窝网络的缺陷,如弥补覆盖缺陷、实现流量的动态合理分配、形成局域子网传输局部业务等,是目前移动通信网络发展的趋势[1]。
本文致力于前人已有研究,鉴于目前新一代手机技术和功能的不断完善,设计一种融合Ad-hoc和移动蜂窝网络的中继设备,可以广泛用于人口密度大,通信链路堵塞严重的热点小区,以及一些内部局域网,辅助现有移动蜂窝网络,提高通话质量,并节省通话成本。
1 Ad-hoc和GSM蜂窝网络融合系统模型
iCAR (integrated cellular and Ad-hoc relaying system)是由纽约州立大学Hongyi Wu等人提出的一种新型无线融合网络系统[2],将传统蜂窝移动通信网和Ad-hoc转发技术相结合,解决蜂窝移动通信系统中由于负载不均衡导致的拥塞问题的系统。iCAR系统通过使用Ad-hoc中继节点(Ad hoe relay station,ARS)将负载从一个小区动态转移到其它小区,有效地平衡小区间的负载,不仅增加了系统的容量,还可以减少移动节点的发送功率,并且扩大了系统的覆盖范围。系统原理如图1所示。
图1 iCAR系统原理
如图1所示,处于热点小区 (BTS1)中的移动主机MHX在小区信道拥塞 (没有可用的空闲信道)的情况下想要和位于远方的X’通信,可以通过两个ARS与相邻的小区BTS建立通信链路,从而使用相邻小区的空闲信道。如果X和X’在同一小区,则可直接通过小区内ARS建立链路进行通信。每个ARS都有2个空中接口:同BTS进行通信的C(蜂窝)接口和同其它ARS或者MH进行通信的R(中继)接口;同样每个MH也必须有2个空中接口:同BTS进行通信的C接口和同ARS进行通信的R接口。这2个接口工作在不同的频段,R接口的 MAC(media access control)层同一般Ad-hoc网络的 MAC层相同。一条链路中进行中继的ARS可能有多个,与BTS直接通信的可以看作网关,同时使用C接口和R接口并且要占用基站的数据信道,而与MH或者其它ARS通信的可以看作中继器,只使用R接口。在此系统中,移动主机也可以为别的节点进行中继,但是此方法在计费、保密等方面有诸多不便,而利用专门节点进行中继的好处在于能较好地解决安全,认证和计费等问题。
2 移动主机实现
由以上分析可知,在iCAR系统中要求移动终端是双模的,既要有接入GSM网络的C接口也要有接入Ad-hoc网络的R接口。而目前移动手机技术已经非常成熟,功能相当强大,众多手机都支持 WiFi(wireless fidelity),支持WAPI (wireless LAN authentication and privacy infrastructure),支持802.11b/g协议,即同时拥有C接口和R接口,为iCAR系统的实现提供了良好的条件。
在本文的研究中,Ad-hoc网络采用基于802.11b/g协议的无线 Wi-Fi技术[3],传输速率理论上可以达到54MB/s,室外通信半径达400m,基本能够满足研究和一般通信距离的需要。
3 中继节点(ARS)实现
3.1 中继节点硬件实现
中继节点ARS同样需要拥有同时接入GSM网络的C接口和接入Ad-hoc网络的R接口,而且必须有同时作为Ad-hoc中继器和网桥的双重功能,还需要实现对接口的选择进行切换控制、数据协议转换、路由等功能。同时它还要能对允许接入的终端属性进行设置,只有鉴权成功的终端才可以通过ARS访问相应的网络。
ARS的硬件结构如图2所示。
图2 ARS硬件结构
在硬件选择上,综合考虑处理速度、总线宽度、集成度以及性价比,我们最终选用基于ARM920T内核的S3C2440控 制 芯 片 作 为 主 控 制 器[4],Motorola ColdFire 5272(MCF5272)为主控CPU。MCF5272是 Motorola推出的一款高集成度的32位ColdFire微处理器,有很强的通信处理能力和较高的性能价格比,且集成了丰富的外围设备和接口,很适合应用于中小型网络的控制设备[5]。
GSM接口 (C接口)的硬件实现采用GPRS通讯模块[6],它是GPRS无线终端的无线数据收发模块,用于把从CPU接收到的PPP帧格式的数据和从基站接收的GPRS分组数据进行相应的协议处理后再转发。GPRS通讯模块采用西门子公司推出的MC35,它支持语音通讯,具有GPRS,CSD (circuit switched data)等数据传输方式以及SMS (short messaging service)和FAX功能。MC35可以工作在EGSM900和GSM 1800两个频段,具有40脚的ZIF接口、标准 RS232双向串口、SIM (subscriber identity module)卡3V接口和模拟语音接口等。
Ad-hoc网络实现采用基于802.11b/g协议的 Wi-Fi技术,WLAN (wireless local area network)通信模块使用 DLink公司的嵌入式无线网卡模块DWL-G122,采用USB接口,可以支持IEEE 802.11b/g协议,传输速率理论上可以达到54MB/s,室内传输距离达到100m左右,室外有效传输距离接近400m,在Linux系统下通过无线网卡驱动可以工作在AP (access point)和Ad-hoc模式,能够满足我们实验的需要。
3.2 中继节点软件设计
ARS软件总体结构如图3[7]所示。
图3 ARS软件总体结构
系统采用嵌入式Linux作为节点的操作系统,采用层次化的软件结构。主要的软件设计工作包括Uboot和Linux内核移植[8]、所涉及的硬件驱动及配置和支持程序设计等。
Uboot和Linux内核移植在开发板光盘里有详细叙述,此处不做详述。硬件驱动主要包括网卡驱动和串口驱动,配置无线网络工作主要通过iwconfig命令完成,可以设置无线网卡的网络地址、通信信道,同时把无线网卡的工作模式设置成Ad-hoc模式[9]。由于篇幅原因,驱动编写不做详述,下面将对接口的实现、核心控制模块等做详细说明。
3.2.1 蜂窝网接口设计的实现
蜂窝网接口模块的软件部分主要负责通过GPRS Modem建立与ISP (internet service provider)之间的通信链路,是软件设计的核心部分,它们的连接基于点对点协议(point to point protocol,PPP)[10];在链路建立后,将接收到的PPP数据帧解析,根据协议字段将数据信息交由不同的上层模块进行处理;根据系统的需要,将上层模块传来的信息打包成不同的PPP数据帧发送出去。PPP协议作为GPRS在物理层之上的唯一指定的数据链路层协议,通过CRC (cyclic redundancy check)校验、确认等手段将原始的GPRS物理层连接改造成无差错的数据链路,主要用在串行链路上提供一个简单高效的数据链路,并能承载高层的网络协议[11]。
在Linux开发包中包含对PPP协议的支持,在编译内核时需将PPP support开启。首先进入内核编译主菜单,然后进入 “Device Drivers--->”,在进入 “Network device support--->”,将 “PPP (point to point protocol)”极其下级菜单全部以built-in的方式选中,如图4所示。
图4 PPP协议配置
配置好内核后进行pppd拨号的配置,并编写拨号脚本:在文件系统中添加配置文件/etc/resolv.conf,在其中写入所用到的域名服务器的域名或IP地址;
添加配置文件/etc/nsswitch.conf, 并写入 hosts:files dns;
在/lib目录下添加文件库libnss_dns.so和libresolv-2.1.2.so,并添加必要的链接;
编辑配置文件/etc/ppp/options,在其中添加lock、crtscts、defaultroute、noauth这4个选项;
最后编写两个拨号命令文件pppdial和拨号选项文件chatoption,再运行pppdial和ifconfig命令,弹出一个新端口,蜂窝网接口便得以实现。
3.2.2 核心控制模块
核心控制模块主要处理下层硬件驱动和上层通信协议、配置和支持程序之间的交互。核心控制模块的基本流程如图5所示。
系统在启动后首先初始化各个模块,设置工作模式、启动相应协议栈以及设置其它一些基本参数。程序采用I/O多路转接技术对多个描述符的读写进行管理,事先构造一张所有描述符的表,然后调用select()函数,直到最少有一个描述符准备好才返回,并告知内核哪一个描述符已经准备好交换数据[12]。此后,程序侦听等待各模块的数据,处理PPP拨号连接请求等,并对数据经由协议解析后送至相应终端。
为实现核心控制模块在系统启动时的自动加载,使其以应用程序control_module的形式存在,在系统启动脚本/etc/rc文件中加入对control_module的调用。
3.2.3 改进后的基于信号强度的切换算法
由于在Ad-hoc与蜂窝网络融合系统中引入了全新的通信链路,为使移动终端在各个接入网之间实现无缝漫游和切换,需要更加智能的切换算法来判决应该进行何种类型的切换。针对以往的基于信号强度算法和切换算法的研究[13],本文在这基础上提出一种更加高效、迅速的切换判决算法,基本流程如图6所示。
图5 核心控制模块流程
图6 基于信号强度切换算法流程
当移动终端 (mobile terminal,MT)接入 Ad-hoc网络时,与其相连的代理ARS通过Ad-hoc网络路由算法来寻找一条到达非拥塞小区基站的路径,节点首先向外广播“查询路由”消息到所有可达的邻居ARS,具有到达非拥塞小区基站的ARS(此处称中继ARS)返回路由表中的信息,然后代理ARS选择一个花费最少的最优路径,并发送“建立路由”消息到这条链路上的中继ARS。中继ARS根据所收到的路由信息中继 “建立路由”消息直到到达网关ARS(最终与目标基站连通的ARS)。最后网关ARS向基站请求分配一个专用信道,并且发送确认消息返回到移动终端,至此中继路由的建立完成[14]。移动节点收到确认消息,立刻通过R接口切换到Ad-hoc网络传送数据。此路由过程跟一般Ad-hoc网络路由基本相同,根据实际需求不同有不同的选择[15]。通过使用该算法,不管信号处于何种状态下都能够很好地切换网络,并继承了传统蜂窝网络先切后换的软切换方式,保证通信的连续性。
4 系统性能测试
为了测试该中继节点ARS的性能,在实验室环境下,使用一台装有无线网卡的笔记本、一台带WiFi的手机终端和一台普通手机以及上面设计的中继设备组成一个系统,通过将无线网卡的工作模式设置为Ad-hoc模式模拟一个Ad-hoc网络。笔记本操作系统为Windows XP。
在该条件下,利用笔记本的无线网卡与该中继设备建立连接,通过GPRS模块接入中国移动接入点cmnet访问Internet并测试相关数据。设置好参数并启动无线连接后,在笔记本DOC模式下运行tracert m.baidu.com命令,显示IP路径如图7所示。
图7 IP路径显示
由图7可以看出从Ad-hoc网络上的节点 (笔记本电脑)至internet上的站点,先经过了中继节点 (Ad-hoc接口的IP地址为192.168.0.1)的转发,由此可见,此设计的中继节点能够连通两个网络,可以为内部Ad-hoc网络的节点转发数据,起到桥接内网与GSM网的作用。
再对该设备进行丢包率测试,运行ping-n 100-w 100 m.baidu.com,连续发送100个ICMP测试包,等待回复时间测试为1s,结果如图8所示。
由图8可以看出丢包率为10%。该数据与设备硬件性能和Ad-hoc网络信号的好坏有关。
再用一台支持WiFi的手机通过上述设计的设备接入G网与另一台普通手机通话,测试其通话质量,结果如图9所示。
通过以上实验的测试,可以看出该中继设备能够较好地链接内部Ad-hoc局域网和移动蜂窝网,同时也能较好地完成对两个网络的桥接,基本满足设计目标。
5 结束语
本文对Ad-hoc和移动蜂窝网络的融合进行了深入研究,设计了一种基于Ad-hoc和移动蜂窝网络融合技术的中继设备。在ARM920T嵌入式开发平台的基础上通过扩展无线网络模块和GPRS模块实现了Ad-hoc网络和移动蜂窝网络互联,详细说明了蜂窝网络接口的实现方法,介绍了系统的设置和PPP拨号脚本的实现,并提出了改进的基于信号强度的切换算法。该设备在实验室环境下进行了测试,实现了两种网络的相互连通、达到了预期的效果。本文设计的设备能广泛应用于室内外通信热点地区,能有效改善通信质量、节省开销,具有一定的实用价值。
[1]Gaurav Kumar Tak,Navin Badge,Pranay Manwatkar,et al.Integration of MANET in cellular networks to enhance the performance [C].Second International Conference on Computer Engineering and Applications,2010:590-594.
[2]XU Zhaoji,HU Nan,HE Zhiqiang.Call dropping and blocking probability of the integrated cellular Ad hoc relaying system[J].IEEE Globecom,2008,30 (4):1-6.
[3]Erna Sri Sugesti,Purnomo Sidi Priambodo,Kalamullah Ramli,et al.Delay bound analysis for hybrid networks:Interoperable IEEE 802.11b/g WLAN over fiber [C].International Congress on Ultra Modern Telecommunications and Control Systems and Workshops,2010:1017-1020.
[4]HE Hongjiang,ZHANG Yamin.Research on automobile driving state real-time monitoring system based on ARM [C].International Conference on Computer Engineering and Technology,2009:361-365.
[5]Ignacio Salcedo,Francisco Javier Rodriguez.Calling all cars:Motorola’s early police radios [C].Second IEEE Region 8Conference on the History of Telecommunications Conference,2010:1-5.
[6]Rajappa Velur,Jabeer Ahmed,Shoeb Ahmed,et al.New authentication architecture for GPRS networks [C].International Conference on Complex Intelligent and Software Intensive Systems,2010:649-655.
[7]ZHU Zhijian.Research of broadband access equipment and its key technology which based on the heterogeneous network integration [D].Nanjing:Southeast University,2007 (in Chinese).[朱志坚.基于异构网络融合的宽带接入设备研制及关键技术研究 [D].南京:东南大学,2007.]
[8]WEI Dongshan.Well guide of embedded Linux application de
velopment [M].Beijing:People Posts&Telecom Press,2008:293-333 (in Chinese).[韦东山.嵌入式 Linux应用开发完全手册 [M].北京:人民邮电出版社,2008:293-333.]
[9]SONG Baohua.Explain of Linux device driver development[M].Beijing:Eople Posts & Telecom Press,2008:88-395(in Chinese).[宋宝华.Linux设备驱动开发详解 [M].北京:人民邮电出版社,2008:88-395.]
[10]LI Lihua,WEI Shuquan,LU Ling.PPP security mechanism analysis and improvement [C].Information Technology and Computer Science,2010:409-412.
[11]ZHOU Juan,JIANG Dengfeng,ZENG Qiyong.The realization of accessing Internet through GPRS based on PPP [J].Micro Computer Information,2009,25 (1-3):132-134 (in Chinese). [周娟,蒋登峰,曾其勇.基于PPP协议实现GPRS模块无线接入Internet方式 [J].微计算机信息,2009,25 (1-3):132-134.]
[12]Richard Stevens W,Bill Fenner,Andrew M,et al.Internet programming of UNIX [M].Beijing:People Posts&Telecom Press,2010:122-132 (in Chinese). [Richard Stevens W,Bill Fenner,Andrew M,等.UNIX网络编程 [M].北京:人民邮电出版社,2010:122-132.]
[13]LU Jiajia.Ad-hoc and cellular network integration and handoff algorithm [D].Nanjing:Nanjing University of Posts and Telecommunications,2007 (in Chinese).[陆佳佳.Ad-hoc与移动蜂窝网络融合及其切换算法 [D].南京:南京邮电大学,2007.]
[14]LU Weifeng,WU Meng.Handoff algorithms for the integrated Ad-hoc and mobile cellular network systems [J].ZTE Communications,2007,13 (5):37-43 (in Chinese).[鲁蔚锋,吴蒙.集成Ad-hoc和移动蜂窝网络系统的切换算法[J].中兴通讯技术,2007,13 (5):37-43.]
[15]HUANG Songhua,WU Xiaobing,HUANG Hao,et al.Fasthandover algorithms formultihomed and nested network mobility [J].Journal of Chinese Computer Systems,2010,31 (1):22-25 (in Chinese). [黄松华,吴小兵,黄皓,等.多穴嵌套网络移动的快速切换算法 [J].小型微型计算机系统,2010,31 (1):22-25.]