一種適用于無線網絡的路由自愈方法
【技術領域】
[0001] 本發明涉及無線網絡技術領域,特別是涉及一種無線網絡的路由自愈技術。
【背景技術】
[0002] 無線移動自組網是一個由移動節點的集合臨時和動態形成的多跳無線網絡,它不 需要使用任何現有的網絡基礎設施或中心化管理,廣泛應用于救災、分布式協作計算和戰 場自動化等場合。自組織、快速部署和無需任何固定基礎設施的特點,使自組網作為一個重 要的和有前途的研宄領域受到極大關注。然而由于節點移動、信號干擾和功率損耗等因素 的影響,在自組網中本質上難以得到準確的鏈路狀態信息和網絡拓撲信息。另一方面,繁重 的業務流量、頻繁的鏈路中斷和網絡分離將引發傳輸中斷,造成數據包的延遲和丟失。無線 網絡可以有效地增大了覆蓋范圍,增強了性能,覆蓋范圍的擴大對于解決目前運營商基站 之間覆蓋盲區或者集中熱點接入能力不足等問題是大有益處的。無線網絡可以適用于多種 接入技術,不同應用技術對應于不同的應用場景,小到家庭寬帶網絡和小區網絡,大到企業 網和城域網,無線網絡技術均十分適用。
[0003] 麻省理工大學的研宄者提出了機會路由策略,它是一種用于無線多跳網絡的路由 協議,充分利用無線網絡的廣播特性能進行數據傳輸。機會路由協議的基本思想:源節點向 目的節點發送一個數據包,首先發送給一個候選節點組A,根據某一度量,再從該節點組A 中選出最優節點a,a把數據包廣播給另外一組候選節點B,而A組中除a以外的其它節點并 不廣播此數據包.然后再從B組中選取最優節點b,b把該數據包廣播給下一組節點C,如 此重復直到目的節點接收到數據包。機會路由協議從源節點到目的節點發送的數據包并不 是按一條固定的最佳路徑傳輸,也就是說每次轉發的數據包并不是單播給某一個節點,而 是充分利用無線網絡的廣播傳輸特性,每次數據包都轉發給一組節點,這些節點根據它們 到目的節點的度量(Metric)來確定它們優先級,選擇優先級最高的那個節點再次轉發數 據包給另外一組節點,如此重復直到目的節點。
[0004] 傳輸過程中節點只能通過下一次更新的網絡信息的到來更新網絡信息,同時傳輸 性能依賴節點掌握網絡信息的正確性和及時程度,由于沒有及時的自愈機制,在網絡拓撲 變化時無法及時了解網絡的變化,影響優先級別判定的正確性和及時性,影響傳輸性能。
【發明內容】
[0005] 本發明所要解決的技術問題是,提供一種適用于無線網絡的,實時性好的路由自 愈方法。
[0006] 本發明為解決上述技術問題所采用的技術方案是,一種適用于無線網絡的路由自 愈方法:
[0007] 數據傳輸過程中,源節點以單跳廣播方式將之后的數據幀傳輸至目的節點;
[0008] 當節點發現本地路由表中上一跳節點失效或數據通信中斷時觸發問題自愈機 制:
[0009] 節點啟動問題自愈機制后,周期發送HREQ跳數請求幀,HREQ中包含本節點地址、 目的節點的地址;
[0010] 鄰居節點收到HREQ后查看本地路由表是否有到達該目的節點的路由信息,如否, 則轉發HREQ至其它鄰居節點,如是,鄰居節點回復HREP跳數回應幀,HREP包含本節點地址、 目的節點的地址和到目的節點的跳數數值;
[0011] 發出HREQ的節點接收到HREP后以HREP中目的節點為目的地址、HREP中跳數數 值加1為跳數信息、發送HREP的節點地址為上一跳地址加入本地路由表中;當發出HREQ的 節點接收到多個HREP后,選擇跳數數值小的HREP更新路由表。
[0012] 本發明能在發現問題時主動采取措施完成自愈,通過發送HREQ、接收HREP更新信 息。
[0013] 進一步的,本發明提供一種在單跳廣播過程中通過競爭轉發的方式選擇下一跳中 間節點的方法。這種競爭轉發的方式選擇下一跳中間節點的方法本身就能在正常信息通信 過程中完成自愈,具體方法是:
[0014] 1)當前節點接收到需轉發的幀,將接收到幀的單跳廣播至所有鄰居節點;
[0015] 2)各鄰居節點接收到幀后查看幀內跳數數值,如果鄰居節點自身到目的地址的跳 數小于等于該跳數數值,則該鄰居節點成為轉發競爭節點,轉發競爭節點開始計時;
[0016] 3)轉發競爭節點計時到達退避時間T后,判斷退避時間內是否接收到CACK競爭轉 發幀,如是,進入步驟4),如否,進入步驟5);
[0017] 4)轉發競爭節點放棄本次的轉發競爭,查看CACK競爭轉發幀中包含的CREQ中的 跳數數值,當自身到目的地址的跳數大于CREQ中的跳數數值,根據轉發競爭節點自身到目 的地址的跳數與CREQ中的跳數數值的差值延長退避時間T,返回步驟2);
[0018] 5)轉發競爭節點向所述當前節點發送CREQ,設置自身到目的地址的跳數為CREQ 中的跳數數值;
[0019] 6)當前節點接收到CREQ后,選擇發送該CREQ的轉發競爭節點為下一跳中間節點, 單跳廣播CACK競爭轉發幀至所有鄰居節點,CACK中包含有CREQ中的跳數數值;
[0020] 7)下一跳中間節點接收到CACK后確認自身為轉發數據的當前節點,當前節點將 接收到幀的單跳廣播至所有鄰居節點,返回步驟2)。
[0021] 通過鄰居節點發送CREQ來選擇下一跳節點能避開失效或負載過重的鄰居節點, 正常自愈方式沒有增加路由開銷,問題自愈方式反應快速,影響的節點少,回復的速度快, 與數據發送機制天然結合,回復代價小。
[0022] 本發明的有益效果是,能更主動、更及時地完成無線網絡中的路由自愈。
【附圖說明】
[0023] 圖1為實施例的問題自愈流程;
[0024] 圖2為實施例中節點失效的網絡拓撲圖;
[0025] 圖3為實施例中節點移動的網絡拓撲圖。
【具體實施方式】
[0026] 對于現有的機會路由方法,在數據傳輸過程中,源節點以單跳廣播方式將之后的 數據幀傳輸至目的節點;當節點發現本地路由表中上一跳節點失效或數據通信中斷時觸發 本發明的問題自愈機制。
[0027] 本實施例給出一個優化實例,單跳廣播基于一種新的在基于競爭轉發選擇下一跳 中間節點的方法,這樣除了問題自愈機制之外,還能在正常數據時避開失效或負載過重的 鄰居節點,這里稱之為正常自愈機制。
[0028] 首先,給出應用了基于競爭轉發選擇下一跳中間節點的方法的一個路由方法的具 體流程:
[0029] 1)根節點路由建立:
[0030] 為全網設置一個固定的根節點;
[0031] 根節點周期向全網周期性廣播PP通告幀;
[0032] 在每一個廣播周期,網絡中各節點收到PP后將PREP路徑回應幀以單跳廣播方式 傳輸至根節點,根節點根據接收到的PREP更新本地路由表;單跳廣播過程中通過如權利要 求1所述競爭轉發的方式選擇下一跳中間節點;
[0033] 2)數據發送:
[0034] 當源節點未建立到目的節點的單向路由時,源節點先將數據幀以單跳廣播方式傳 輸至根節點;單跳廣播過程中通過競爭轉發的方式選擇下一跳中間節點;
[0035] 根節點接收到來自源節點的數據幀后,查找本地路由表,將數據幀單播至目的節 占.
[0036] 目的節點接收到來自源節點的數據幀后,判斷數據幀是否經根節點轉發,如是,目 的節點向全網廣播PREQ廣播路徑請求幀至源節點,源節點接收到PREQ后,以單跳廣播方式 將之后的數據幀傳輸至目的節點;如否,則直接以單跳廣播方式將數據幀傳輸至目的節點; 單跳廣播過程中通過競爭轉發的方式選擇下一跳中間節點。
[0037] 其中,基于競爭轉發的下一跳中間節