999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android的BATMAN協議應用框架的研究

2013-08-20 04:58:36劉旭東何涇沙
電子設計工程 2013年20期
關鍵詞:設備系統

劉旭東,何涇沙

(北京工業大學 軟件學院,北京 100124)

隨著移動互聯時代的來臨,越來越多的服務已經向終端轉移。Android系統作為目前主流的移動設備操作系統,以其免費的特征,以及強大的功能,已經受到越來越多的終端廠家的廣泛使用。如何利用Android系統實現更多的互聯功能成為一個重要的研究領域。移動ad hoc網絡是目前比較熱門的研究領域,如何將移動ad hoc網絡引入Android這種移動操作系統成為一個非常有意義的研究問題[1-2]。利用ad hoc網絡將裝載Android系統的移動設備連接起來,實現在沒有基礎設施的情況下的互聯互通,這將會在發生重大災害的時候實現網絡的組建,實現快速救援。在日常生活領域,越來越多的家電使用Android系統,如果能將家電自動組網連接,將會極大的提高生活的便利性。

在Android系統中構建一套可以廣泛應用的移動ad hoc網絡連接框架,可以為應用程序提供一種高效的連接方式,也可以節省目前移動網絡連接帶來的相關費用。在目前傳統使用ad hoc網絡路由協議中,并沒有哪一種協議特別適合用于Android設備建立ad hoc網絡。BATMAN (The Better Approach To Mobile Adhoc Networking)協議作為最新為移動網絡設計的路由協議,在多方面都適合Android使用。通過修改BATMAN協議的內容,使得整個協議更好的適用于Android組成的ad hoc網絡,也將極大提高網絡的傳輸效率。

1 相關工作

1.1 Android系統

Android是一種基于Linux的自由及開放源代碼的操作系統,主要使用于便攜設備,如智能手機和平板電腦。Android操作系統最初由Andy Rubin開發,主要支持手機。2005年由Google收購注資,并組建開發手機聯盟開發改良隨后,逐漸擴展到平板電腦及其他領域上。2008年10月第一部Android智能手機發布。目前Android的手機已經占領了接近一半的手機市場。在Android的系統中,由于是開源系統,因此可以修改Android的內核,已達到一些附加功能。

對于Android系統,系統本身并沒有提供ad hoc網絡連接的功能與相關機制,但是整個ad hoc的網絡實現對于現實應用場景的使用是非常有意義的。由于Android具有開源的特性,一種方式是通過修改系統的內核,并進行重新編譯達到ad hoc的網絡功能,但是這樣的做法需要系統重新安裝,對于目前使用的客戶極為不方便。因此,本文通過在Android系統的基礎上通過構建一種應用的框架實現ad hoc網絡連接的做法,更加符合當前的要求。因此,本論文旨在通過了解Android的基本結構,實現一個網絡通信框架,通過這個框架,可以使得使用框架的應用之間實現ad hoc網絡的通信功能。

1.2 ad hoc網絡路由協議

由于Android系統具有無線的網絡連接,通過WiFi連接,具備了構建ad hoc網絡的基礎,為了能夠建立移動ad hoc網絡連接,Android設備通過Wifi與其他設備進行連接,雖然這樣可以建立兩個設備的連接,并不能夠實現多跳的網絡。因此,為了實現多跳的網絡,必須采用一種路由協議。傳統的移動ad hoc網絡多采用OLSR協議。OLSR是Optimized Link State Routing的簡稱,主要用于MANET網絡(Mobile Ad hoc network)路由協議。OLSR是根據MANET的要求,在傳統的LS(Link state)協議的基礎上優化的。OLSR中的關鍵概念是多點轉播(MPRs),同傳統LS協議相比,在網絡中分布著部分鏈路狀態信息,尤其適合大而密集型的網絡。

但是,對于Android這種移動ad hoc網絡,當節點不斷增加時,整個的網絡就變得異常的緩慢。BATMAN協議是一種非常好的替代方式,通過采用BATMAN協議,可以很好地進行移動ad hoc網絡的連接[3]。本論文通過在Android上實現BATMAN協議,實現一種網絡框架。BATMAN框架是建立在TCP協議之上,通過無線網絡連接,實現移動ad hoc網絡的多跳連接,并且在連接的基礎上進行相應的數據交換[4-5]。

BATMAN的原始實現是在Linux上完成的,雖然Android系統是在Linux的基礎之上實現的,但是BATMAN的代碼并不能夠在Android上順利運行。Android系統使用Java作為應用開發的語言,BATMAN的C語言代碼如果想要在Android上運行,需要使用 JNI(Java Native Interface)技術將 BATMAN的路由協議生成鏈接庫。因此,為了能夠使BATMAN順利運行,需要重新修改BATMAN代碼,并進行重新的編譯。

2 BATMAN協議

BATMAN協議是一種用于移動ad hoc網絡的路由協議。它主要通過一種OMG包進行路由信息的傳播。每個網絡中的結點定期向其鄰居結點廣播發送OMG包,每個收到OMG包的鄰居結點通過OMG信息更新自己的路由信息,并且根據不同的情況選擇丟棄OMG包,或者繼續將信息廣播給相應的鄰居結點。

每個收到OMG的結點,首先將會將OMG包存入相應的緩存中,以便跟蹤相應的路由信息。每個節點也會更新信息源上次的活躍時間,并且確保目前的路由信息是最新的路由信息。由于移動ad hoc網絡具有移動的特點,因此,很多情況下原本可以連接的結點,很可能在某一段時間不能夠進行連接,為了能夠適應網絡移動性的問題,每個節點都會有一個計時器,當某個鄰居結點在一段時間沒無法連接時,將會對其路由條目。圖1展示了運行BATMAN協議的結點的運行方法。

圖1 結點i運行BATMAN協議流程圖Fig.1 Flow chart of running BATMAN protocol on node i

在這個流程圖中,描述了多跳的工作機制,當一個來自雙向連接的結點OMG到達結點時,或者當一個結點已經成為孤立結點,無法繼續連接時,將會進行更新路由表的操作。當某個應用想要發送信息時,首先需要調用GETNextHop(packet)從路由表中獲取相應的鄰居結點,如果存在達到終點的鄰居結點,將會使用Send(packet)進行發送。當從其他結點獲取到待發送的信息時,首先判斷目標結點是不是當前結點,如果當前節點是目標結點,則收取信息,如果當前結點不是目的結點,判斷終點的地址,選擇轉發或者丟棄。

3 Android系統中實現BATMAN框架

3.1 開啟Android設備ad hoc網絡連接

目前廣泛使用的Android系統中,主要使用兩種比較常見的無線連接方式,一種是藍牙連接,另一種是WiFi(IEEE 802.11g)。當前Android系統中都有支持這兩種連接的API[6]。3G網絡目前也非常常見,但是由于3G連接依賴于基礎網絡設施,因此不適用于移動的ad hoc網絡。藍牙雖然是為ad hoc網絡設計,但是其傳輸距離有限,為了實現大范圍的ad hoc網絡,這種方式并不適合[7]。WiFi提供了一種更遠距離的連接,并且具有更大的帶寬。因此,在WiFi的基礎上建立ad hoc網絡是可能的,而且能夠給很多應用提供便利。

默認情況下,Android設備并不能夠進行ad hoc網絡連接,只能連接到固定的網絡訪問點。為了能夠開啟網絡連接的ad hoc模式,必須了解整個網絡的運行過程。Android設備中,使用wpa_supplicant工具操作網絡,并且使用wpa_supplicant.conf作為其配置文件。為了能夠實現連接,必需修改上述的兩個文件,由于每個Android設備通過芯片的驅動程序完成對其設備的控制,能夠進行ad hoc網絡連接的芯片必須能夠支持無線擴展API(Wireless Extension API),這樣才能控制芯片完成ad hoc網絡連接。因此,目前只有在能夠應用無線擴展API的芯片上才能完成ad hoc網絡連接。

為了能夠使設備支持無線擴展API,可以通過交叉編譯,為設備編譯出可以應用到設備上的相關文件[10-11]。通過重新編譯Android系統的相關部分的源代碼,可以實現BCM4329和BCM4330無線芯片的ad hoc網絡控制。三星公司在其官方網站上公布了以上兩種芯片相關的源代碼,因此使用這兩種芯片的Android設備都可以實現ad hoc網絡連接,表1中列出了使用這些芯片的設備。理論上通過這種方法,可以控制芯片的ad hoc模式連接方式,包括使用這種芯片的iPhone4s和NOKIA Lumia系列。

表1 部分Android設備的無線芯片列表Tab.1 Android device's wireless chip list

3.2 帶有緩存機制的BATMAN協議

標準的BATMAN協議雖然應用于ad hoc網絡,但是當數據終點無法到達時,標準協議的做法是丟棄這些無法到達的數據包。由于移動ad hoc網絡與傳統的ad hoc網絡的最大不同點就在于其移動性。而且由Android構建的ad hoc網絡中節點的移動性更加強烈,同時每個節點相遇的幾率也更大,因此為了能夠以最大效率的提高傳輸率,在每個Android設備中加入一個緩存,能夠最大的效率實現網絡通信。

經過改進后,原有的BATMAN協議結點將會按照如下步驟實現網絡傳輸。

1)判斷下一跳節點聯通性,可以聯通則立刻發送。無法連接,進入步驟2)。

2)將數據包存入臨時緩存,進入步驟3)。

3)每個結點定時檢查緩存,如果連接重新建立立刻傳輸,否則進入步驟4)。

4)檢查每個節點包的存入時間,如果超時,立刻丟棄數據包。超時定義如下:

其中,WINDOWS_SIZE是整個節點的數據窗口大小,ORIGINATOR_INTERVAL是節點檢查緩存的時間間隔。

在Android設備中加入緩存,并且定期檢查每個暫存數據包的連通性會增加整個節點的負擔,但是目前的Android設備具有較大的內存和較強的處理能力,對于增加的處理內容和存儲要求并不會影響整個節點的正常工作,因此是一個比較理想的方案。

3.3 Android應用框架架構

對于ad hoc的框架,使用TCP進行數據的傳輸是非常實用的,并且能夠保證數據包能夠到達鄰居結點。在TCP協議的基礎上,構建BATMAN協議層,在這個層次上實現BATMAN協議的相關機制。最后提供相應的網絡接口,應用程序可以通過調用這些接口建立ad hoc網絡,并且實現相應的功能。圖2展示了整個應用框架的基本結構。通過系統的分層實現,可以提升整個架構的可維護性,以及提升系統的復用性。

圖2 BATMAN框架的基本結構Fig.2 Architecture of BATMAN framework

在Android系統中,可以使用JNI進行C或者C++程序的開發,通過JNI編譯成為Android系統可識別的靜態類庫,因此整個系統采用C++作為開發語言,開發整個應用框架,并且最終編譯成為Android的類庫供應用開發者使用。整個框架的設計基于面向對象的開發方法,進行封裝,力圖開發出簡單實用的Android下的應用框架。圖3為整個框架的UML類圖。通過這個圖能夠很清晰的看出整個框架的設計方式。框架實現后,將會為應用程序提供多個實用的網絡連接接口。通過調用接口,可以實現采用同樣應用框架的應用間實現ad hoc網絡連接。

圖3 Android中BATMAN框架類圖Fig.3 BATMAN framework class diagram

Android中的應用和程序都是使用Java作為編程語言,并且將會編譯成為“.dex”文件用于執行。Android應用中,僅有Activity是用戶可見的部分。BATMAN的C語言代碼使用NDK(Native Development Kit)將 C代碼轉化為 Android可執行代碼。并通過JNI將應用框架載入到應用程序中,實現程序的開發。

4 框架執行效率

基于BATMAN協議的ad hoc網絡框架在日常的應用中具有應用價值,其執行效率也是一個框架性能的重要指標。通過在Android上建立應用框架能夠有效的提高實用性。通過在不同的應用場景中進行測試,可以得到此應用框架的最終執行效率。框架執行效率的測試場景為北京工業大學的教學樓內,使用10部已經加載了BATMAN的Android手機進行相應的測試工作,測試人員使用Android手機在同一樓層中隨機移動,最后從系統中獲取相應的日志對相關的數據進行統計,得到執行效率的相關數據。

測試的第一個指標是數據包送達率,由于測試過程中是節點是隨機移動的,使用本文的應用框架進行數據傳輸,在可以連接的范圍內主要的數據送達率可以達到80%以上,基本能夠滿足日常的簡單數據傳輸功能。圖4給出了在900 s內的數據送達率的情況。

圖4 BATMAN應用框架數據包送達率Fig.4 Packets delivery ratio

另一個比較重要的數據是數據包的延遲,通過一系列的測試,本框架的數據包延遲可以控制在50 ms內,這樣的數據包延遲在日常的應用中是可以接受的。圖5給出了發送0到6萬個包的平均包延遲。

圖5 BATMAN應用框架包延遲Fig.5 Packets delay

通過以上的測試,能夠全面的了解基于Android的BATMAN協議應用框架的相應執行效率,為應用層的使用提供了全面的參考。

5 框架應用

經過測試,整個應用框架效率較高。在實際的應用場景中,通過采用此框架構建一個用于網絡傳輸的Android應用程序。使用3臺Android手機作為測試手機構建一個簡單的ad hoc網絡,在網絡中進行數據傳輸。具體的應用截屏如圖6所示。在這個應用程序中,程序自動發現采用同樣使用此框架開發的應用程序,并且列出其在網絡中的IP地址。

圖6 使用ad hoc應用框架程序截圖Fig.6 Ad hoc application framework program screenshot

6 結 論

Android系統作為目前主流智能設備的操作系統,雖然提供了強大的網絡功能,但是并沒有完全支持ad hoc網絡,通過對BATMAN協議的理解,以及Android開發的整體認識,在Android系統上開發出一個支持BATMAN協議的網絡框架,不但可以方便的使得使用Android系統的設備完成自組網連接,而且可以應用到智能家電、災難救援等領域,具有極強的研究和使用價值。

[1]JHE-YI H,CHIEN-CHENG S,WEI-HSIANG L,et al.Android-based Mobile payment service protected by 3-factor authentication and virtual private ad hoc networking[C].Hong Kong, China,2012:111-116.

[2]HANNO W,TOBIAS H,BACKHAUS R,et al.Establishing Mobile ad-hoc networks in 802.11 infrastructure mode[C]//Las Vegas, NV, United states,2011:49-51.

[3]LAURENTD,NADJM-TEHRANIS.Batmanstore-andforward:The best of the two worlds[C].Department of Computer and Information Science, Linkoping University,SE-581 83 Linkoping, Sweden,2012:721-727.

[4]ELIS K,HIYAMA M,MAKOTO I,et al.Performance comparison of OLSR and Batman routing protocols by a MANET testbed in stairs environment[C]//Graduate School of Engineering, Fukuoka Institute of Technology (FIT), 3-30-1 Wajiro-Higashi, Higash, 2012:339-349.

[5]JOSH T,JEFF R,NICK M.Off grid communications with android meshing the Mobile world [C]//Accuvant LABS Research Consulting Group, Bedford, MA, United States,2012:401-405.

[6]WOOK S,KIYOMOTO S,KAZUHIDE F,et al.A formal model to analyze the permission authorization and enforcement in the Android framework[C]//KDDI R and D Laboratories,Inc., Saitama 356-8502, Japan,2010:944-951.

[7]WANG Jie,YU Xue,ZENG Yu,et al.The design and realization of campus information release platform based on android framework [C]//SchoolofManagement, Capital Normal University, Beijing 100089, China,2013:121-128.

猜你喜歡
設備系統
諧響應分析在設備減振中的應用
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
主站蜘蛛池模板: 一级毛片基地| 四虎免费视频网站| 波多野结衣无码AV在线| а∨天堂一区中文字幕| 乱码国产乱码精品精在线播放| 激情无码视频在线看| 四虎精品国产AV二区| 丝袜国产一区| 性做久久久久久久免费看| 午夜视频日本| 伊人激情综合网| 国产精品视频观看裸模| 国产精品手机视频| 免费播放毛片| 国产玖玖玖精品视频| 嫩草国产在线| 992tv国产人成在线观看| 国产在线一二三区| 久久久久人妻一区精品色奶水| 国产在线高清一级毛片| 日韩色图区| 在线播放国产99re| 88av在线播放| 四虎成人在线视频| 国内精品久久久久久久久久影视| 国产精品成人AⅤ在线一二三四| 日韩无码黄色| 欧美另类一区| a毛片免费在线观看| 黄色网页在线播放| 亚洲天堂久久| 国产毛片高清一级国语| 大陆精大陆国产国语精品1024 | 亚洲午夜福利精品无码| 久久精品国产一区二区小说| 精品视频福利| 国产一在线| 国产第一页第二页| 国产又黄又硬又粗| 日韩精品成人网页视频在线| 国产偷国产偷在线高清| 国产原创自拍不卡第一页| 妇女自拍偷自拍亚洲精品| 亚洲天堂.com| 亚洲欧洲自拍拍偷午夜色| 中国丰满人妻无码束缚啪啪| 国产一级视频久久| 亚洲欧美不卡| 亚洲视频免费在线看| 久久综合AV免费观看| 精品国产香蕉在线播出| 九一九色国产| 色精品视频| 真实国产乱子伦高清| 91毛片网| 国产福利不卡视频| 久久先锋资源| 日本伊人色综合网| 亚洲日本一本dvd高清| 日日拍夜夜嗷嗷叫国产| 日韩欧美中文| 日本91视频| 老司机久久99久久精品播放| 国产在线观看一区二区三区| 国产麻豆va精品视频| 99免费在线观看视频| 四虎精品黑人视频| 高清欧美性猛交XXXX黑人猛交| 亚洲性网站| 亚洲免费毛片| av天堂最新版在线| www.亚洲天堂| 欧美午夜精品| 国产麻豆aⅴ精品无码| 国产剧情无码视频在线观看| 青青草一区二区免费精品| 久久综合结合久久狠狠狠97色| 无码精油按摩潮喷在线播放| a亚洲视频| 国产精品自在线天天看片| 夜夜操国产| 91探花在线观看国产最新|