專利名稱::無線自組織網(wǎng)絡中用于構建多跳路由轉(zhuǎn)發(fā)的方法
技術領域:
:本發(fā)明涉及通信網(wǎng)絡,特別是在無線自組織網(wǎng)絡中的計算機網(wǎng)絡,并且具體的說,涉及利用網(wǎng)絡監(jiān)聽技術和地址解析協(xié)議(ARP)的代理方式進行分組轉(zhuǎn)發(fā)的混合路由機制,可用于普通無線網(wǎng)卡構成的Ad-Hoc多跳自組織網(wǎng)絡中。
背景技術:
:無線AdHoc網(wǎng)絡由一組無線移動節(jié)點組成,是一種不需要依靠現(xiàn)有固定通信網(wǎng)絡基礎設施的、能夠迅速展開使用的網(wǎng)絡體系,所需人工干預最少,是沒有任何中心實體、自組織、自愈的網(wǎng)絡;各個網(wǎng)絡節(jié)點相互協(xié)作、通過無線鏈路進行通信、交換信息,實現(xiàn)信息和服務的共享。無線AdHoc網(wǎng)絡的每個節(jié)點必須既作為路由器,又作為主機,能夠通過數(shù)據(jù)分組的發(fā)送和接收而進行無線通信?,F(xiàn)在市面上提供的普通無線網(wǎng)卡設備大都具備AdHoc模式,遵循IEEE802.llb/g的點對點模式,也就是不通過AP或無線寬帶路由器來連接,可以只利用多張無線網(wǎng)卡組成一個網(wǎng)絡群組,當然必須要有相同SSID及信道才能夠建立相同的無線連接(如圖l)。這種模式下,各個網(wǎng)絡節(jié)點之間只能點對點進行通信,在通信距離之內(nèi)的節(jié)點就能夠相互發(fā)送接收報文,通信距離之外的節(jié)點無法相互直接通信(這里的通信距離不僅只空間上的直接距離,還包括障礙物等干擾原因造成的信號削弱)。由于每個節(jié)點不具備路由器功能,因此不存在一個相當于橋梁的第三方節(jié)點,來承接并且轉(zhuǎn)發(fā)兩個通信距離之外的節(jié)點的報文。在圖1中,幾個距離較近的節(jié)點B、C、D、E、F能夠彼此之間互相連接成網(wǎng)狀網(wǎng),因為它們彼此之間都是在通信距離之內(nèi)的。然而當距離較遠的A節(jié)點加入進來后,由于A最遠只能和B進行通信,其他幾個節(jié)點與A均超出了通信范圍,并且節(jié)點之間都沒有多跳路由轉(zhuǎn)發(fā)的功能,因此A節(jié)點無法和C、D、E、F節(jié)點通信。這就是當前無線網(wǎng)卡AdHoc模式的局限性。無線網(wǎng)卡在AdHoc模式下構建成的自組織網(wǎng)絡,其所有節(jié)點的網(wǎng)絡地址屬于同一個網(wǎng)段,被認為是在同一個虛擬的局域網(wǎng)之中。參考圖2,就使得利用自定義化的ARP代理機制并且結(jié)合混合路由技術構建自組織網(wǎng)絡成為可能。
發(fā)明內(nèi)容技術問題本發(fā)明的目的是提出一種無線自組織網(wǎng)絡中用于構建多跳路由轉(zhuǎn)發(fā)的方法,該方法是一種監(jiān)聽模式下混合路由機制的自組織多跳聯(lián)網(wǎng)策略,通過軟件控制的方式,使不具備路由轉(zhuǎn)發(fā)功能的無線網(wǎng)卡能夠具有自組織網(wǎng)絡下的路由器功能并構建計算機無線自組織網(wǎng)絡。技術方案本發(fā)明涉及到網(wǎng)卡監(jiān)聽驅(qū)動軟件以及路由控制軟件,每個計算機節(jié)點都包含一個路由表,位于內(nèi)存中,用于存儲整個網(wǎng)絡的拓撲結(jié)構。本發(fā)明的技術方案包括以下基本步驟各個節(jié)點能夠依靠網(wǎng)卡本身所具有的Ad-Hoc模式自組織成單跳的無線網(wǎng)絡;各個節(jié)點能夠監(jiān)聽經(jīng)過本機網(wǎng)卡的所有發(fā)送和接收的數(shù)據(jù)包;將路由表維護報文從第一個節(jié)點廣播到第二個節(jié)點;第二個節(jié)點接收路由表辨護報文,并且更新本地路由表。該方案還包括這些步驟辨別出本機正在向哪些不與本機直接相連的主機發(fā)送ARP請求;啟動路由探測過程,在當前路由表中找到最合適的下一跳節(jié)點,并向其發(fā)送RouteTry路由探測報文;收到探測報文的節(jié)點繼續(xù)査找本機路由表,向它的下一跳發(fā)送RouteTry探測報文,直到報文到達目的節(jié)點;目的節(jié)點在收到探測報文后,向它的上一跳節(jié)點返回RouteOK路由準許報文;RouteOK報文按照RouteTry報文的相反路徑逐級轉(zhuǎn)發(fā),傳回到初始節(jié)點,并且保存整條路徑的地址信息;途中每一個收到RouteOK報文的節(jié)點把正向和逆向兩個方向上的終止節(jié)點的IP地址和下一跳節(jié)點的MAC地址項加入本地ARP緩存中;當初始節(jié)點更新ARP緩存后,路由査詢過程結(jié)束;如果目的節(jié)點按照上一級的節(jié)點路由表不可達,則下一級的節(jié)點將返回RouteUnreachable報文,上一級節(jié)點能夠選擇次優(yōu)的下一級節(jié)點,并向其發(fā)送R0uteT17報文,直到所有可能路徑都嘗試過為止;如果始終沒有一條合適的到達目的節(jié)點的路徑存在,則源節(jié)點不會更新本地ARP緩存,目的節(jié)點不可達;由于本方案基于主動式路由機制,因而等待一段時間后,網(wǎng)絡拓撲將會自動恢復,可以重新進行路由査找。本發(fā)明還包括一套路由控制消息指令集。該指令集包括用于主機間相互傳輸路由表信息的RouteMessage第一指令集;用于檢測路由是否可達的RouteTiy第二指令集以及用于向源節(jié)點匯報目的節(jié)點是否可達的RouteOK、RouteUnreachable第三指令集。另外本發(fā)明還需要各個節(jié)點在本機內(nèi)存中維護一個ARP代理表,用以實時同步內(nèi)存與ARP緩存中的ARP代理信息,避免信息隨緩存的刷新而丟失。同時,在內(nèi)存中需要維護一個鏈路狀態(tài)表,記錄下以當前節(jié)點為首節(jié)點的那些通信鏈路。一旦一條傳輸路徑建立起來,源節(jié)點需要將路徑的相關信息暫存到鏈路狀態(tài)表中,通過發(fā)送RouteTiy報文定時檢査路徑的可行性。RouteTry與RouteOK、RouteUnreachable組合起來,能夠完成鏈路的即時更新,選擇更佳的鏈路來替換陳舊鏈路、消除中斷鏈路。如果源節(jié)點突然停止向目的節(jié)點發(fā)送報文,并不能代表路徑立即失效,需要通過定期發(fā)送RouteTry報文將路徑繼續(xù)維持一段時間,以便于源節(jié)點節(jié)省下次向目的節(jié)點通信的路徑建立時間。并且本發(fā)明還考慮了相應的差錯控制機制。在本發(fā)明的一個實施案例中,提供了一套無線通信裝置,它能利用現(xiàn)有商用無線網(wǎng)卡工作,在自組織路由軟件的控制下,調(diào)用開源的Wmpc叩網(wǎng)卡驅(qū)動程序接口,實時監(jiān)聽網(wǎng)卡情況,并且驅(qū)動網(wǎng)卡進行相應的路由控制工作,以及進行普通IP包的路由轉(zhuǎn)發(fā),達到構建自組織網(wǎng)絡的目的。其中的自組織路由軟件的層次架構見圖3。有益效果本發(fā)明能夠在中小型網(wǎng)絡中較為便捷的構建多跳自組織網(wǎng)絡,各個主機之間不需要另外的路由器、交換機等中繼轉(zhuǎn)發(fā)設備,彼此之間就能夠互聯(lián)成多跳網(wǎng)絡,如圖4所示。本發(fā)明以主動路由技術為基礎,只在節(jié)點中一對一的進行路由表轉(zhuǎn)發(fā),而不是廣義的泛洪機制那樣消耗大量帶寬,也比起多點中繼機制便于維護。本發(fā)明還加入了類似源動態(tài)網(wǎng)絡的路徑探測功能,由于路由表已有主動維護機制,因此大大加快了探測完成時間,同時保證了的路徑的可達性。本發(fā)明采用監(jiān)聽技術進行網(wǎng)絡控制,對正常的網(wǎng)絡程序運行影響很小。ARP代理機制的實現(xiàn)不是通過修改ARP消息結(jié)構,而是自定義了一種全新的消息結(jié)構,獨立的通過本發(fā)明的配套軟件系統(tǒng)進行處理,便于與傳統(tǒng)網(wǎng)絡協(xié)議進行區(qū)分,節(jié)省了主機的處理時間,并且為日后進行全面升級留下了較大的拓展空間。其IP層采用自定義的特殊消息格式,因此它只會被路由控制軟件處理,計算機原有的上層通信程序會主動丟棄控制消息,這樣就減輕了計算機主要通信進程的負擔。本發(fā)明采用了以主動路由技術為基礎,動態(tài)路徑檢測和維護技術為核心的路由構建機制,除了有極強的穩(wěn)定性,還有較快的反應時間。其路由査找模塊是可擴展升級的,任何一套新的路由算法都可以加入進來,不受固有技術的限制。本發(fā)明可以以軟件的形式實現(xiàn),便于移植到各類支持IP協(xié)議的無線智能計算終端,包括筆記本電腦、裝有無線網(wǎng)卡的個人電腦(PC)、個人數(shù)字處理(PDA)、第三代移動通信終端等等。本發(fā)明也可以集成到操作系統(tǒng)中,作為專門構建自組織網(wǎng)絡的系統(tǒng)軟件。這種以軟件的方式進行自組織網(wǎng)絡的構建靈活簡便,成本低廉。圖1是普通網(wǎng)卡AdHoc模式下的計算機網(wǎng)絡的示意圖。圖2是小型Ad-Hoc網(wǎng)絡的IP地址情況示意圖。圖3是本發(fā)明所涉及的軟件系統(tǒng)的基本架構。圖4是具有多跳路由轉(zhuǎn)發(fā)功能的無線自組織網(wǎng)絡示意圖。圖5是RouteMessage報文在三個節(jié)點之間的交互過程示意圖。圖6是路由表表頭、節(jié)點和邊的存儲結(jié)構示意圖。圖7是網(wǎng)絡拓的鏈式存儲結(jié)構(可結(jié)合圖4來看)。圖8是小型多跳網(wǎng)絡路由機制的構建維護過程以及IP包轉(zhuǎn)發(fā)過程流程圖。具體實施例方式本發(fā)明涉及Ad-Hoc無線自組織網(wǎng)絡的概念,其中各個節(jié)點先安裝本發(fā)明提供的軟件系統(tǒng),建立底層監(jiān)聽平臺,開啟路由維護機制,通過無線網(wǎng)卡進行相互的通信。各個節(jié)點既充當路由器,又充當主機或者客戶端系統(tǒng)。在本發(fā)明中,提供一種利用網(wǎng)絡監(jiān)聽技術和ARP代理機制進行路由轉(zhuǎn)發(fā)的新型解決方案,通過使用各種路由維護消息進行統(tǒng)一網(wǎng)絡拓撲的維護,并建立報文轉(zhuǎn)發(fā)路徑上各個中繼節(jié)點的ARP代理機制。下面將按順序詳細說明系統(tǒng)的運行過程A.各個節(jié)點首先通過無線網(wǎng)卡的Ad-Hoc模式自組織成單跳的點對點網(wǎng)絡,這一步是由網(wǎng)卡本身自帶功能完成。B.各個節(jié)點獲取本機的IP、MAC地址,打開本機網(wǎng)卡的監(jiān)聽模塊,可以旁聽到本機網(wǎng)卡發(fā)送和接收到的每一個MAC報文。C.各個節(jié)點主動開啟路由維護模塊。每隔適當時間(l秒)通過本機的無線網(wǎng)卡發(fā)送本機路由表報文RouteMessage。此報文是廣播包,能被所有與本機直接相連的無線網(wǎng)卡接收到。此報文包括了本機的IP、MAC地址,以及一個完整的本機路由表信息。此報文是MAC層報文,有特定的數(shù)據(jù)包類型值,以便監(jiān)聽模塊能成功將其分辨。路由表轉(zhuǎn)發(fā)過程見圖5。RouteMessage消息格式見表l。如果路由表過大,導致一個MAC幀無法容納,則會將整個路由表分片傳送。D.如果節(jié)點監(jiān)聽到相鄰節(jié)點發(fā)送過來的RouteMessage報文,則按照此報文的路由表來更新本地路由表,包括添加和刪除相應的節(jié)點和邊。更新了本機路由表之后,本機將廣播發(fā)送RouteMessage報文,以便所有與本機直連的網(wǎng)卡接收到本機的更新過的路由表。如果本機監(jiān)聽到的RouteMessage報文所攜帶的路由表是本機路由表的一個子集,則維持當前路由信息不做更改。路由表在內(nèi)存中的存儲格式可以為鏈表格式,其數(shù)據(jù)結(jié)構以及組織方式請分別參見圖6和圖7。由圖中可見,整個主機的路由表是由鏈表構成,模擬了圖的鄰接表結(jié)構。在RouteMessage報文中,路由表按照特定的組織形式轉(zhuǎn)化成一串字符,存儲在報文的數(shù)據(jù)段。當路由表過大時,可以按照次序?qū)⑵浞殖啥喽芜M行轉(zhuǎn)發(fā)。E.下面是ARP發(fā)起監(jiān)聽和路由控制過程。參見圖8,設由Nl到N3方向為正向,N3到Nl方向為逆向。由于絕大部分無線網(wǎng)卡是雙工通信,我們這里只采用全雙工的無線網(wǎng)絡設備。因此一旦正向能夠完成通信,也對應著逆向也能夠通信。假設N1節(jié)點想要與N3節(jié)點進行通信,它們同屬于一個無線自組織網(wǎng)絡,它們的IP地址屬于同一網(wǎng)段,因此N1會默認N3屬于本機所在的局域網(wǎng)內(nèi)。但由于N1不與N3節(jié)點直連,Nl本機并沒有N3的MAC地址,因而Nl會首先發(fā)送ARP請求報文尋求N3節(jié)點的MAC地址。未安裝本系統(tǒng)時,N2節(jié)點雖然能收到Nl節(jié)點的ARP請求報文,但是由于它不是N3,因此不能告知Nl節(jié)點N3的MAC地址。這樣Nl就無法與N3進行相互通信。安裝本系統(tǒng)之后,Nl節(jié)點會實時監(jiān)聽本機發(fā)往外部的任何數(shù)據(jù)包。如果Nl監(jiān)聽到本機發(fā)往其他機器的ARP請求數(shù)據(jù)包,則記錄目的節(jié)點的IP地址,記為IPDes,經(jīng)過適當時間(0.5秒)后,檢査本機的ARP緩存。如未發(fā)現(xiàn)目的IP地址對應的相應項,則證明目的節(jié)點不與本機直連,啟動F過程。如能夠找到相應項,則目的節(jié)點與本機直連,不再向下進行。由于只有與本機直連的節(jié)點才能向本機發(fā)送ARP應答報文,考慮到商業(yè)網(wǎng)卡在單跳環(huán)境中的相對穩(wěn)定性,因此這種方法對于判斷一個通信過程的發(fā)起具有很高的精準度。F.啟動路由査找功能,在路由表中査找出通往目的節(jié)點的最短路徑,找到路徑上與本機相連的下一跳節(jié)點N2的MAC地址00-lD-0F-05-0E-72。向N2點發(fā)送路由試探報文RouteTiyN卜N2(報文格式見表2),此報文包含源節(jié)點的IP地址169.254.0.1,目的節(jié)點的IP地址169.254.0.3。將路徑的源節(jié)點IP169.254.0.1記入RouteTiyNl-N2報文的路徑節(jié)點序列中,便于記錄整個路徑經(jīng)過了哪些節(jié)點。G.N2節(jié)點的監(jiān)聽模塊收到數(shù)據(jù)包RouteTiyNl-N2,在N2路由表中査找出通往169.254.0.3地址的最短路徑,找到路徑上與本機相連的下一跳節(jié)點N3的MAC地址00-1D-0F-05-0F-19,向N3點發(fā)送路由試探報文RouteTtyN2-N3,此報文包含源節(jié)點的IP地址169.254.0.1,目的節(jié)點的IP地址169.254.0.3。將路徑的源節(jié)點IP169.254.0.1、169.254.0.2記入RouteTryN2-N3報文的路徑節(jié)點序列中。H.N3節(jié)點的監(jiān)聽模塊收到數(shù)據(jù)包RouteTryN2-N3,發(fā)現(xiàn)本機IP即為目的IP地址,因而目的IP可達。N3發(fā)現(xiàn)自己是終止節(jié)點,也即反向鏈路N3N1的首節(jié)點,需要從N3開始沿返回路徑將N3到N1,也即逆方向上的ARP代理設置完善。因而先在N3節(jié)點的ARP緩存中增加下面這一項169.254.0.100-lD-0F>05-0E-72。此項信息保存兩份,一份以列表形式存在本專利系統(tǒng)的內(nèi)存空間中的ARP代理表內(nèi),另一份保存到主機自帶的ARP緩存之中。這樣做便于路徑中途的節(jié)點向終止節(jié)點進行通信的發(fā)起,而且也便于中途節(jié)點對IP包進行轉(zhuǎn)發(fā)。系統(tǒng)會間隔一定時間將ARP代理表中的內(nèi)容復制到主機的ARP緩存中,以便路由信息的長久保持。接下來,N3生成RouteOKN3-N2報文(報文格式參見表3),并按照RouteTiyN2-N3報文的路徑序列生成返回路徑序列169.254.0.2、169.254.0.1,將其封裝到RouteOKN3-N2報文之中。之后,N3將此報文發(fā)送到N2節(jié)點。I.N2節(jié)點接收到RouteOKN3-N2報文,判斷N2是否需要在本機'的ARP緩存中設置ARP代6理。N2發(fā)現(xiàn)返回路徑中本機是第一個節(jié)點,因此認定自己與N3直連,則在正方向上不需要設置本機的代理項。在逆方向上,N2與終點N1直連,因此N2也不用設置ARP代理項。N2接著判斷自己是否為返回路徑的終點,隨后發(fā)現(xiàn)自己不是終點,于是N2節(jié)點查找返回路徑下一跳,得出是N1節(jié)點,繼而生成RouteOKN2-Nl報文,此報文只是將RouteOKN3-N2的MAC幀部分的源地址和目的地址做了相應的替換,以便其發(fā)往Nl節(jié)點。J.Nl節(jié)點接收到了RouteOKN2-Nl報文,發(fā)現(xiàn)自己在正方向上不是返回路徑的第一個節(jié)點,因而需要在本機添加相應的ARP代理項169.254.0.300-lD-0F-05-0E-72。在逆方向上,Nl節(jié)點是終止節(jié)點,不用設置ARP代理。K.Nl開始向N3節(jié)點發(fā)送IP包Packetl3,其MAC層的目的地址是00-1D-0F-05-0E-72,源地址為00-lD-OF-05-OE-67。IP層目的地址是169.254.0.3,源地址是169.254.0.1。由于使用了ARP代理技術,Nl把N2節(jié)點看作是N3節(jié)點,因而對Nl來說,N3節(jié)點似乎是直接連接的,但其實與N3節(jié)點的通信需要經(jīng)過N2節(jié)點來轉(zhuǎn)發(fā),然而N1節(jié)點并不知道這一情況。L.N2節(jié)點的主機收到Packetl3后,操作系統(tǒng)發(fā)現(xiàn)目的IP不是本機,因而會自動丟棄此報文。然而N2節(jié)點上安裝的本專利系統(tǒng),其監(jiān)聽模塊能夠判斷出此報文的目的IP地址不是本機而目的MAC地址是本機,于是說明此包需要經(jīng)過本機來轉(zhuǎn)發(fā)。繼而N2會在其ARP緩存中找到N3對應的MAC地址(如果N2與N3直連,則由于N2與N3—直有RouteMessage消息交互,因此N2的ARP緩存中會始終存有N3對應的那一項;如果N2與N3不直連,則N2的ARP緩存中的N3那一項是經(jīng)過N2的ARP代理表不斷與其同步數(shù)據(jù)而存在的)。于是N2將Packetl3的目的MAC地址替換為00-1D-0F-05-0F-19,源MAC地址替換為00-1D-0F-05-0E-72,繼而生成Packet23,發(fā)往N3節(jié)點。M.N3節(jié)點接收到Packet23數(shù)據(jù)包,并對其正常處理,就像是Nl節(jié)點與N3節(jié)點直接連接一樣。N.N3節(jié)點發(fā)往NI節(jié)點的IP數(shù)據(jù)包處理過程與Nl節(jié)點發(fā)往N3節(jié)點的IP數(shù)據(jù)包處理過程相似,由N2節(jié)點作為代理節(jié)點轉(zhuǎn)發(fā),發(fā)往Nl節(jié)點的數(shù)據(jù)包其MAC層目的地址都設置為00-1D-0F-05-0E-72,目的IP地址設置為169.254.0.1。O.如果N2節(jié)點在收到RouteTiyNl-N2后發(fā)現(xiàn)本機路由表不含有IP為169.254.0.3的節(jié)點,則向它的上一級N1節(jié)點發(fā)送Unreachable不可達報文,Nl在收到此報文后,繼續(xù)搜尋N1本身路由表中可能到達N3的下一跳次優(yōu)節(jié)點,并且向其發(fā)送RouteTiy報文。如果N無法找到任何一個可以到達N3的節(jié)點,則說明N3不可達。P.每個節(jié)點系統(tǒng)內(nèi)部都有一個鏈路狀態(tài)表,記錄由本機發(fā)起的通往其他目的節(jié)點的多跳鏈路。這些鏈路上的報文都要經(jīng)過中間節(jié)點的轉(zhuǎn)發(fā),并且本機是鏈路的首節(jié)點。系統(tǒng)會每隔適當時間輪詢鏈路狀態(tài)表中的每一項,向每一個目的節(jié)點發(fā)送RouteTiy報文,達到鏈路維護的作用。如果鏈路中斷,則源主機會收到RouteUnreachable報文,因而會在中斷處的前一節(jié)點自動尋找替代鏈路,新鏈路建立過程中,通過RouteOK報文會重設各個ARP代理節(jié)點。如果無替代鏈路,源節(jié)點將把此目的節(jié)點對應的鏈路狀態(tài)表中那一項清除。如果有更優(yōu)的中間節(jié)點加入進來,能夠使鏈路跳數(shù)更少,則通過這種定期發(fā)送RouteTiy和回復RoutOK的輪詢機制,會自動使新鏈路替代舊鏈路。在表14中,右側(cè)部分是各種控制報文的實際信息,包括字段類型,硬件類型,控制幀類型及相應的十六進制代碼(括號中)。表1:RouteMessage報文結(jié)構<table>tableseeoriginaldocumentpage8</column></row><table>表2:RouteTry報文結(jié)構<table>tableseeoriginaldocumentpage8</column></row><table>表3:RouteOK報文結(jié)構<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table>上述通信方法己經(jīng)通過IP報文傳送過程示出,但本領域的技術人員應理解,在本發(fā)明的范圍內(nèi)可使用任何類型的通信過程、協(xié)議或方案。而且,本領域的技術人員應理解,在通信網(wǎng)絡中可涉及不止三個節(jié)點。本發(fā)明即可應用于外部網(wǎng)絡不相連接的獨立網(wǎng)絡,如戰(zhàn)場上軍事網(wǎng)絡、災難救援地網(wǎng)絡等,也可以應用于一個與外界網(wǎng)絡(如互聯(lián)網(wǎng))有至少一個通信連接的小型網(wǎng)絡集群。此集群通過網(wǎng)關與互聯(lián)網(wǎng)連接。本專利獨立與使用的網(wǎng)絡通信設備類型,任何能夠提供雙向通信、Ad-Hoc點對點模式的網(wǎng)卡設備都可以采用。本專利獨立于使用的無線電編碼方案,任何合適的物理層無線電類型,如IEEE802.11、正EE802.15、IEEE802.16、藍牙、紅外(IR)、GPRS、3G等標準都可采用。雖然出于說明的目的而詳細介紹的本發(fā)明的具體細節(jié),然而應當理解介紹的過程完全是為了達到對專利描述的目的。在不脫離本發(fā)明的精神和范圍的情況下,本領域的技術人員可以在其中進行變化,本發(fā)明的精神和范圍受隨附的權利要求書的限制。權利要求1.一種無線自組織網(wǎng)絡中用于構建多跳路由轉(zhuǎn)發(fā)的方法,其特征在于該方法包括以下步驟A.各個相連主機自動不斷相互傳送本機路由表信息,維護全網(wǎng)拓撲在各個主機內(nèi)的一致性;B.第一個節(jié)點監(jiān)聽到本機發(fā)往不相鄰的第三節(jié)點的ARP請求,查詢本地路由表,找到下一跳節(jié)點即第二個節(jié)點的地址,將路由探測報文發(fā)送過去,并且將本機IP地址加入路徑序列;C.第二個節(jié)點接收到此探測報文,查詢本機路由表,向第三個節(jié)點發(fā)送探測報文,并且將本機IP地址加入路徑序列;D.第三個節(jié)點接收到第二個節(jié)點的探測報文,發(fā)現(xiàn)自己是被探測的目的節(jié)點,因而設置本地的ARP代理,將第一個節(jié)點記入鏈路狀態(tài)表,并且生成路由可達報文,沿路徑序列相反方向?qū)⒋藞笪膫鬏數(shù)降诙€節(jié)點;E.第二個節(jié)點收到路徑可達報文,判斷是否需要設置本地ARP代理,生成可達報文,并沿路徑序列相反方向傳送到第一個節(jié)點;F.第一個節(jié)點收到路徑可達報文,設置本地的ARP代理項,將第三個節(jié)點記入鏈路狀態(tài)表;G.在源節(jié)點發(fā)送路由探測報文后某個節(jié)點不可達時,中途節(jié)點會生成路由不可達報文發(fā)送回源節(jié)點;H.當某中途節(jié)點向下一跳發(fā)送路由探測報文,但返回路由不可達報文時,此中途節(jié)點將能夠再次查找路由表中的次優(yōu)節(jié)點,并向其發(fā)送路由探測報文,類似的,直到收到路由可達報文為止;如果所有可選的下一跳節(jié)點均返回路由不可達報文,則此節(jié)點將向其上一級返回路由不可達報文;I.還包括路徑建立后對鏈路狀態(tài)表的維護,具體行為包括源節(jié)點和目的節(jié)點對ARP緩存代理信息按照ARP代理表進行定時的同步更新,以及路由探測報文的定時發(fā)送;在鏈路利用率為0時,適當延長鏈路的生存時間,減少鏈路再次啟用時消耗的啟動時間;J.由于新節(jié)點的加入導致網(wǎng)絡拓撲發(fā)生變化,鏈路維護機制將通過路由探測和路由可達、路由不可達報文對鏈路進行自動更新的過程。2.如權利要求l所述的無線自組織網(wǎng)絡中用于構建多跳路由轉(zhuǎn)發(fā)的方法,其特征在于所述的第二節(jié)點包括多個節(jié)點。全文摘要本發(fā)明提供了一種在無線自組織網(wǎng)絡中構建多跳路由轉(zhuǎn)發(fā)的方法,此方法建立在ARP代理機制及混合路由機制基礎之上。各個節(jié)點的監(jiān)聽模塊實時監(jiān)聽節(jié)點收發(fā)的每一個報文。相鄰主機在單跳范圍內(nèi)實時交互各自的路由信息,每個節(jié)點都存有整個網(wǎng)絡部分或者完整的拓撲表。當網(wǎng)絡的某個節(jié)點向與其不直連的節(jié)點發(fā)起ARP請求的時候,本節(jié)點將根據(jù)其路由表尋找下一跳節(jié)點,并發(fā)送路由探測報文。如果路徑可達,探測報文將逐級傳送到目的節(jié)點并返回路由可達報文,沿途在各個節(jié)點設置ARP代理表,多跳路徑即可建立。本發(fā)明還包括對網(wǎng)絡拓撲探測的改動,從而進行的路徑的維護、更新的方法。本發(fā)明還包括用于此類網(wǎng)絡的裝置,并且描述了如圖1所示的完整的通信系統(tǒng)。文檔編號H04W24/00GK101521895SQ20091002619公開日2009年9月2日申請日期2009年4月3日優(yōu)先權日2009年4月3日發(fā)明者丁子鍇,馮慧斌,孫雁飛,寧向延,張順頤,君李,譚麗娟申請人:南京郵電大學