任凱強,謝 波,鄭力明(暨南大學 信息科學技術學院電子工程系,廣東 廣州510632)
移動蜂窩通信系統推動了人類通信技術的快速發展,在全世界獲得了廣泛的商業部署,改變了人們的生產生活方式。然而隨著人們交流越來越頻繁,對通信質量的要求越來越高,現有 GSM (global system for mobile communications)移動蜂窩系統的一些不足不斷呈現,難以滿足日益增長的需求。
Ad-hoc網絡具有高度靈活性、自組織性、分布式控制、動態網絡拓撲等特點,是目前移動通信領域研究的一大熱點。有學者提出,Ad-hoc網絡具有許多移動蜂窩網絡不具備的優點,將其應用到蜂窩網絡,能較好地彌補蜂窩網絡的缺陷,如彌補覆蓋缺陷、實現流量的動態合理分配、形成局域子網傳輸局部業務等,是目前移動通信網絡發展的趨勢[1]。
本文致力于前人已有研究,鑒于目前新一代手機技術和功能的不斷完善,設計一種融合Ad-hoc和移動蜂窩網絡的中繼設備,可以廣泛用于人口密度大,通信鏈路堵塞嚴重的熱點小區,以及一些內部局域網,輔助現有移動蜂窩網絡,提高通話質量,并節省通話成本。
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接口。在此系統中,移動主機也可以為別的節點進行中繼,但是此方法在計費、保密等方面有諸多不便,而利用專門節點進行中繼的好處在于能較好地解決安全,認證和計費等問題。
由以上分析可知,在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,基本能夠滿足研究和一般通信距離的需要。
中繼節點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模式,能夠滿足我們實驗的需要。
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]。通過使用該算法,不管信號處于何種狀態下都能夠很好地切換網絡,并繼承了傳統蜂窩網絡先切后換的軟切換方式,保證通信的連續性。
為了測試該中繼節點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局域網和移動蜂窩網,同時也能較好地完成對兩個網絡的橋接,基本滿足設計目標。


本文對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.]