專利名稱::一種基于802.11b/g的移動AdHoc網(wǎng)絡終端及其實現(xiàn)方法
技術領域:
:本發(fā)明屬于無線通信技術中的移動AdHoc網(wǎng)絡領域,特別涉及一種基于802.llb/g的移動AdHoc網(wǎng)絡終端及其實現(xiàn)方法。
背景技術:
:20世紀90年代末期以來,在無線通信領域,一種新的網(wǎng)絡技術正在迅速發(fā)展,并很快從軍事通信滲透到相關的各個民用通信領域,這就是無線自組織多跳移動通信網(wǎng)絡——移動AdHoc網(wǎng)絡技術。移動AdHoc網(wǎng)絡可以在沒有基礎設施支持的情況下提供靈活方便的通信,這種技術拓寬了移動通信的應用領域。在軍事應用領域,或在發(fā)生了地震、水災、火災等重大災難后固定的通信網(wǎng)絡設施可能全部損毀或無法正常工作的地區(qū),或當處于偏遠或野外地區(qū),無法依賴固定或預設的網(wǎng)絡設施進行通信時,移動AdHoc網(wǎng)絡技術具有的單獨組網(wǎng)能力和自組織的特點,是上述這些場合通信的唯一或最佳選擇。目前,關于移動AdHoc網(wǎng)絡的標準化工作主要由IETF(TheInternetEngineeringTaskForce)下屬的MANET(MobileAdhocNetwork)工作組進行,目標是建立無線的Internet。此外,許多無線通信標準在制定過程中也都考慮對移動AdHoc網(wǎng)絡的支持。隨著移動AdHoc網(wǎng)絡研究的不斷深入,研究人員提出了大量適用于移動AdHoc網(wǎng)絡的技術和協(xié)議,研究了移動AdHoc網(wǎng)絡在各種環(huán)境中的應用。為評估這些協(xié)議技術在移動AdHoc網(wǎng)絡中的性能和運行效率,研究人員常常需要借助計算機對移動AdHoc網(wǎng)絡進行仿真和性能評估。然而由于軟件仿真所固有的缺陷以及移動AdHoc網(wǎng)絡不同于任何傳統(tǒng)通信網(wǎng)絡的獨特性,一些在某種仿真環(huán)境下看似有效的協(xié)議或技術,可能在實際應用中變得非常糟糕。基于以上原因,對于網(wǎng)絡算法以及協(xié)議進行實際環(huán)境中的測試,需要搭建實際的移動AdHoc試驗網(wǎng)。由于移動AdHoc網(wǎng)絡自身的特點無中心控制節(jié)點,動態(tài)網(wǎng)絡拓撲,自組織管理,使得整個移動AdHoc網(wǎng)絡僅由一系列的終端節(jié)點構成即可,無需基站或者AP等固定設施。因此,網(wǎng)絡搭建的關鍵在于設計與實現(xiàn)移動AdHoc網(wǎng)絡終端。
發(fā)明內(nèi)容本發(fā)明的目的在于一種基于802.11b/g的移動AdHoc網(wǎng)絡終端及其實現(xiàn)方法,它能夠方便用戶自行搭建實際的移動AdHoc網(wǎng)絡。為了達到上述目的,本發(fā)明采用以下技術方案予以實現(xiàn)(1)一種基于802.11b/g的移動AdHoc網(wǎng)絡終端,其特征在于,包括嵌入式ARM開發(fā)板,設置在嵌入式ARM開發(fā)板上的具有ARM內(nèi)核的嵌入式微處理器,分別與嵌入式微處理器連接的存儲器、FLASH和無線網(wǎng)卡。上述基于802.llb/g的移動AdHoc網(wǎng)絡終端還具有以下特點所述嵌入式微處理器選用S3C2410X芯片。所述無線網(wǎng)卡選用USB無線網(wǎng)卡。(2)上述基于802.llb/g的移動AdHoc網(wǎng)絡終端的實現(xiàn)方法,其特征在于,包括以下步驟首先,在所述嵌入式ARM開發(fā)板上,安裝嵌入式Linux操作系統(tǒng)和無線網(wǎng)卡的驅(qū)動程序;其次,對嵌入式Linux操作系統(tǒng)的TCP/IP協(xié)議棧網(wǎng)絡層進行功能擴展,建立移動AdHoc網(wǎng)絡協(xié)議。上述基于802.llb/g的移動AdHoc網(wǎng)絡終端的實現(xiàn)方法還具有以下特點所述移動AdHoc網(wǎng)絡協(xié)議采用DSR協(xié)議。由于本發(fā)明的硬件系統(tǒng)是在嵌入式ARM開發(fā)板的基礎上通過擴展USB無線網(wǎng)卡來實現(xiàn),終端體積較小,便于移動。通過擴展TCP/IP協(xié)議棧網(wǎng)絡層功能,對傳統(tǒng)的IP數(shù)據(jù)包進行截獲和處理,從而實現(xiàn)移動AdHoc網(wǎng)絡功能。圖1為本發(fā)明的一種移動AdHoc網(wǎng)絡終端硬件結(jié)構圖2為TCP/IP協(xié)議棧擴展前后的對照圖3為擴展后的IP數(shù)據(jù)包結(jié)構示意圖4為DSR模塊數(shù)據(jù)發(fā)送流程圖5為DSR模塊數(shù)據(jù)接收流程圖6為LinuxNetfilter框架圖;圖7為利用本發(fā)明方法的一組網(wǎng)絡終端的數(shù)據(jù)流向圖8為網(wǎng)絡測試環(huán)境拓撲圖9為圖8的測試結(jié)果圖。具體實施例方式下面結(jié)合和具體實施方式對本發(fā)明作進一步詳細說明。參照圖1,在嵌入式ARM開發(fā)板上,互聯(lián)具有ARM內(nèi)核的嵌入式微處理器、存儲器、FLASH和無線網(wǎng)卡,并安裝嵌入式Linux操作系統(tǒng)和無線網(wǎng)卡的驅(qū)動程序。本實施例具體包括以下硬件(l)具有ARM內(nèi)核的嵌入式微處理器選用S3C2410X芯片,該芯片為基于ARM920T內(nèi)核的16/32位RISC嵌入式微處理器,為手持設備以及高性價比、低功耗微控制器而設計。(2)存儲器采用SDRAM,用來運行操作系統(tǒng)和存儲程序運行過程中所需要的數(shù)據(jù),容量為64MB。(3)FLASH選用NANDFLASH,用于存放啟動程序、操作系統(tǒng)、TCP/IP協(xié)議棧、無線網(wǎng)卡驅(qū)動程序和其他相關應用程序。(4)無線網(wǎng)卡選用USB無線網(wǎng)卡,基于802.11b/g標準,與開發(fā)板上的S3C2410X芯片通過USBHost接口互連,實現(xiàn)無線收發(fā)功能。(5)RS232接口通過RS232串口連接Windows下的超級終端或者Linux下的minicom,執(zhí)行對ARM開發(fā)板的操作。(6)GPI0接口用于擴展顯示設備,如LCD。隨著移動AdHoc網(wǎng)絡的研究的一步步深入,涌現(xiàn)出越來越多的路由算法和協(xié)議,如DSR,DSDV等等。本實施例選擇了簡單,高效,能夠支持網(wǎng)絡節(jié)點數(shù)較多的DSR協(xié)議來實現(xiàn)。參照圖2,DSR協(xié)議的實現(xiàn)是通過對嵌入式Linux操作系統(tǒng)內(nèi)核的TCP/IP協(xié)議棧的網(wǎng)絡層進行功能擴展實現(xiàn)的。擴展后的TCP/IP協(xié)議棧增加了新功能DSR模塊,該模塊對于通過網(wǎng)絡協(xié)議棧的數(shù)據(jù)進行截獲和再處理(包括丟棄,交付上層,添加控制信息以及轉(zhuǎn)發(fā)等),從而實現(xiàn)DSR協(xié)議的兩個基本機制路由發(fā)現(xiàn)機制和路由維護機制。參照圖3,為了實現(xiàn)DSR協(xié)議,本發(fā)明對傳統(tǒng)的IP數(shù)據(jù)包進行了擴展。傳統(tǒng)的IP數(shù)據(jù)包由IP頭,TCP頭,以及數(shù)據(jù)部分構成。對于擴展后的IP數(shù)據(jù)包,在IP頭和TCP頭之間添加了DSR頭(DSRHeader),DSRHeader中包括有DSR控制選項(DSRoption),對于DSR控制選項主要有路由請求選項,路由回復選項,源路由選項,路由錯誤選項,請求確認選項以及確認選項,分別組6成路由請求包,路由回復包,源路由包,路由錯誤包,請求確認包以及確認包。各個包結(jié)構的具體格式及功能參照IETF所提出的DSR草案RFC4728。路由發(fā)現(xiàn)過程對于源節(jié)點需要發(fā)送的數(shù)據(jù)包,首先査找路由緩存表,當路由緩存表中沒有到達目的節(jié)點路由路徑時,源節(jié)點將該數(shù)據(jù)包放入發(fā)送隊列,開始廣播路由請求包。當下一個節(jié)點(非目的節(jié)點)接收到路由請求包時,將自己的地址加入路由請求選項中,然后繼續(xù)重新廣播該路由請求包,直到目的節(jié)點收到為止。目的節(jié)點收到路由請求包后,按照已經(jīng)建立起來的原路徑返回到源節(jié)點,從而建立起一條源節(jié)點和目的節(jié)點間的雙向通信路徑。路由維護過程采用逐跳的確認機制,在傳送過程中,發(fā)送節(jié)點要確認下一節(jié)點是否正確接收包。同時,當網(wǎng)絡中出現(xiàn)異常,發(fā)送節(jié)點沒有接收到下一節(jié)點的確認信息時,經(jīng)過一段等待時間和重傳次數(shù)后,判定鏈路出錯,然后向前面的節(jié)點依次發(fā)送路由錯誤包。收到路由錯誤包的中間節(jié)點,通過更新路由緩存表,刪除表相應條目來避免下一次的無效傳輸。對于源節(jié)點,則需要重新尋找新的路由,可以通過路由緩存表中的另一條路徑,也可以通過重新發(fā)起新的路由請求過程來建立新的路由路徑。DSR模塊的軟件編制,具體參照圖4的DSR模塊數(shù)據(jù)發(fā)送流程圖和圖5的DSR模塊數(shù)據(jù)接收流程圖。參照圖6,對于數(shù)據(jù)包截獲,本發(fā)明在Linux操作系統(tǒng)的LinuxNetfilter框架下,通過掛載鉤子函數(shù)來實現(xiàn)對數(shù)據(jù)包的加工處理。具體為通過在IP層數(shù)據(jù)流向過程中的LOCAL—OUT處掛載函數(shù),對由本機發(fā)出的數(shù)據(jù)包進行加工和處理;通過在PRE—ROUTE處掛載函數(shù),對本機收到的數(shù)據(jù)包進行加工和處理。在LOCAL—OUT處掛接的函數(shù)中,我們對本機發(fā)出的傳統(tǒng)IP數(shù)據(jù)包進行了加工處理,添加了DSR源路由選項組成源路由包;同時在該函數(shù)中,在無法從路由緩存表中找到路由請求的條件下,發(fā)起路由請求機制,尋找和建立路由路徑。在7PRE—ROUTE函數(shù)中,我們對本機接收到的數(shù)據(jù)包進行加工和處理,針對不同種類的數(shù)據(jù)包轉(zhuǎn)向不同的操作對于路由請求包,判斷是否為本機地址,若為本機地址,則生成路由回復包并發(fā)送給源節(jié)點,若非本機地址,則再廣播該路由請求包;對于源路由包,判斷是否為本機地址,若是,則交付上層處理,如不是本機地址,則根據(jù)路由路徑繼續(xù)向下一跳節(jié)點轉(zhuǎn)發(fā);對于路由錯誤包,判斷是否為本機地址,若是,則刪除相應路由路徑,搜索新路徑或重新發(fā)起路由請求過程,若不是,則轉(zhuǎn)發(fā)路由錯誤包,査找路由緩存表刪除對應鏈路;對于路由回復包,判斷是否為本機地址,若是,則按照建立的路由路徑發(fā)送源路由包;若不是,則按照路徑繼續(xù)轉(zhuǎn)發(fā)。參照圖7,為利用本發(fā)明方法的一組網(wǎng)絡終端的數(shù)據(jù)流向圖。MT1、MT2、MT3、MT4分別為網(wǎng)絡中的四個終端,MT1發(fā)送數(shù)據(jù)給MT4,由于直接鏈路不暢通,需要經(jīng)過中間節(jié)點MT2和MT3的轉(zhuǎn)發(fā)。對于MT1傳輸層發(fā)出的數(shù)據(jù)經(jīng)過DSR模塊后,形成源路由包,根據(jù)源路由包中所含的路由路徑,下一跳指向MT2,因此MT1通過底層的傳輸將數(shù)據(jù)包發(fā)送給MT2,MT2接到該數(shù)據(jù)包后,判斷自己并非該數(shù)據(jù)包的目的地址,繼續(xù)向下一跳(MT3)轉(zhuǎn)發(fā),同理,MT3發(fā)送給目的地址MT4。MT4收到該數(shù)據(jù)包后,經(jīng)過DSR模塊后重新恢復傳統(tǒng)IP數(shù)據(jù)包交付上層。參照圖8,搭建AdHoc網(wǎng)絡運行環(huán)境。該網(wǎng)絡由6臺終端組成,其中4臺是PC機,2臺是本發(fā)明設計的移動AdHoc終端,每臺終端分配一個固定IP地址,每相鄰兩節(jié)點鏈路通暢,非相鄰節(jié)點鏈路不可達。對于傳統(tǒng)的未裝載DSR模塊的無線網(wǎng)絡PC1向PC4發(fā)送ICMP請求包,顯示目的地址不可達,即鏈路不通,無法通信。對于裝載DSR模塊之后的無線網(wǎng)絡,PC1向PC4發(fā)送ICMP請求包,結(jié)果如圖9所示,具體數(shù)據(jù)參見表l。8表l<table>tableseeoriginaldocumentpage9</column></row><table>由圖9和表1可見,PCI與PC4成功建立起連接,并且PCl發(fā)送第一個ICMP包的往返時間為169ms,因為這一段時間是路由發(fā)現(xiàn)的過程,其它包的往返時間為20ms左右,為正常通信階段。同時,發(fā)明人還分別做了三跳,兩跳,一跳和直接傳輸?shù)脑囼灒l(fā)現(xiàn)每多引入一跳,會增加約5ms的往返傳輸延時。對于節(jié)點移動性不高的情況下,無丟包現(xiàn)象,當節(jié)點移動時,會出現(xiàn)一定程度的丟包現(xiàn)象。針對上述網(wǎng)絡拓撲結(jié)構,發(fā)明人還進行了4跳的ftp文件傳輸,telnet和遠程桌面等應用傳輸服務的測試,結(jié)果發(fā)現(xiàn),網(wǎng)絡能夠很好的支持這些傳輸服務,達到較好的效果,說明本發(fā)明能夠多支持種傳輸服務。對于嵌入式ARM開發(fā)板,只需要通過相應的簡單配置,即可實現(xiàn)移動AdHoc網(wǎng)絡的構建,簡單地裝載上利甩本發(fā)明的DSR模塊,即可實現(xiàn)普通終端到移動AdHoc網(wǎng)絡終端的一個轉(zhuǎn)變。利用多跳,對于傳統(tǒng)的無線局域網(wǎng)絡,網(wǎng)絡覆蓋范圍將大大增加。權利要求1、一種基于802.11b/g的移動AdHoc網(wǎng)絡終端,其特征在于,包括嵌入式ARM開發(fā)板,設置在嵌入式ARM開發(fā)板上的具有ARM內(nèi)核的嵌入式微處理器,分別與嵌入式微處理器連接的存儲器、FLASH和無線網(wǎng)卡。2、根據(jù)權利要求1所述的一種基于802.llb/g的移動AdHoc網(wǎng)絡終端,其特征在于,所述嵌入式微處理器選用S3C2410X芯片。3、根據(jù)權利要求1所述的一種基于802.llb/g的移動AdHoc網(wǎng)絡終端,其特征在于,所述無線網(wǎng)卡選用USB無線網(wǎng)卡。4、根據(jù)權利要求1所述的一種基于802.llb/g的移動AdHoc網(wǎng)絡終端的實現(xiàn)方法,其特征在于,包括以下步驟首先,在所述嵌入式ARM開發(fā)板上,安裝嵌入式Linux操作系統(tǒng)和無線網(wǎng)卡的驅(qū)動程序;其次,對嵌入式Linux操作系統(tǒng)的TCP/IP協(xié)議棧網(wǎng)絡層進行功能擴展,建立移動AdHoc網(wǎng)絡協(xié)議。5、根據(jù)權利要求4所述的一種基于802.llb/g的移動AdHoc網(wǎng)絡終端的實現(xiàn)方法,其特征在于,所述移動AdHoc網(wǎng)絡協(xié)議采用DSR協(xié)議。全文摘要本發(fā)明屬于無線通信技術中的移動AdHoc網(wǎng)絡領域,公開了一種基于802.11b/g的移動AdHoc網(wǎng)絡終端及其實現(xiàn)方法。該移動AdHoc網(wǎng)絡終端包括嵌入式ARM開發(fā)板,設置在嵌入式ARM開發(fā)板上的具有ARM內(nèi)核的嵌入式微處理器,分別與嵌入式微處理器連接的存儲器、FLASH和無線網(wǎng)卡;其實現(xiàn)方法包括以下步驟首先,在所述嵌入式ARM開發(fā)板上,安裝嵌入式Linux操作系統(tǒng)和無線網(wǎng)卡的驅(qū)動程序;其次,對嵌入式Linux操作系統(tǒng)的TCP/IP協(xié)議棧網(wǎng)絡層進行功能擴展,建立移動AdHoc網(wǎng)絡協(xié)議。文檔編號H04W84/18GK101453794SQ20081023236公開日2009年6月10日申請日期2008年11月21日優(yōu)先權日2008年11月21日發(fā)明者任品毅,何星澤,張國梅,王程琳申請人:西安交通大學