專利名稱:一種6LoWPAN無線傳感器網(wǎng)絡(luò)路由方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)絡(luò)路由方法,尤其涉及的是一種基于6LoWPAN (IPv6 over Low Power Wireless Personal Area Networks,IPv6低功耗無線個域網(wǎng))無線傳感器網(wǎng)絡(luò)路由 方法。
背景技術(shù):
隨著用戶對移動業(yè)務(wù)需求的不斷增長以及各種新業(yè)務(wù)的不斷出現(xiàn),6LoWPAN(IPv6 over Low Power Wireless Personal Area Networks)網(wǎng)絡(luò)只有提供良好地網(wǎng)絡(luò)路由性能, 才能使其獲得更大的應(yīng)用空間。
無線傳感器網(wǎng)絡(luò)經(jīng)典路由協(xié)議都是基于以數(shù)據(jù)為中心的工作機制,因此很難將其 應(yīng)用到以IP地址為中心的6LOWPAN無線傳感器網(wǎng)絡(luò)中。目前,研究人員對無線傳感器網(wǎng)絡(luò) 如何實現(xiàn)點到點通信的路由方案進行了相關(guān)研究,但是所提出的路由方案并不是基于IPv6 地址的,因此也很難將其應(yīng)用到6LoWPAN無線傳感器網(wǎng)絡(luò)中。同樣,由于無線傳感器網(wǎng)絡(luò)的 自身特點(如處理能力及存儲資源有限),現(xiàn)有的IPv6路由協(xié)議也很難應(yīng)用到全IP無線傳 感器網(wǎng)絡(luò)中。發(fā)明內(nèi)容
發(fā)明目的本發(fā)明所要解決的技術(shù)問題是針對現(xiàn)有技術(shù)的不足,提供一種 6LoffPAN無線傳感器網(wǎng)絡(luò)路由方法。
技術(shù)方案本發(fā)明公開了一種6LoWPAN無線傳感器網(wǎng)絡(luò)路由方法,所述6LoWPAN無 線傳感器網(wǎng)絡(luò)的傳感器節(jié)點包含全功能傳感器節(jié)點和部分功能傳感器節(jié)點兩類,全功能傳 感器節(jié)點具有路由轉(zhuǎn)發(fā)功能,為固定節(jié)點;部分功能傳感器節(jié)點用于數(shù)據(jù)采集且不具有路 由轉(zhuǎn)發(fā)功能,為移動節(jié)點;所述6LoWPAN無線傳感器網(wǎng)絡(luò)傳感器節(jié)點的IPv6地址由兩個部分組成第一部分是 全局路由前綴,一個6LoWPAN無線傳感器網(wǎng)絡(luò)中所有傳感器節(jié)點的IPv6地址的全局路由前 綴都相同;第二部分是傳感器節(jié)點ID,用于唯一的標(biāo)識一個6LoWPAN網(wǎng)絡(luò)中的傳感器節(jié)點, 其值為傳感器節(jié)點出廠時設(shè)置的初始ID號,其在一個6LoWPAN無線傳感器網(wǎng)絡(luò)中具有唯一 性;傳感器節(jié)點的鏈路地址為其IPv6地址的傳感器節(jié)點ID ;全功能傳感器節(jié)點包括一個路由表,路由表項包括五個域,分別為目的傳感器節(jié)點鏈 路地址、第一下一跳鏈路地址、第二下一跳鏈路地址、路由代價域以及生存時間域;目的傳 感器節(jié)點鏈路地址記錄目的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID,第一下一跳鏈路地址 記錄到達目的傳感器節(jié)點的下一跳節(jié)點IPv6地址的傳感器節(jié)點ID,第二下一跳鏈路地址 記錄到達目的傳感器節(jié)點的下一跳節(jié)點的下一跳節(jié)點IPv6地址的傳感器節(jié)點ID,路由代 價域為路由表所在全功能傳感器節(jié)點到達目的傳感器節(jié)點的跳數(shù),生存時間域記錄路由表 項的生存時間域,生存時間域隨機器時鐘自動衰減,當(dāng)生存時間域衰減為0時,路由表項從路由表中自動刪除,路由表項每被使用一次,其生存時間域都會被設(shè)置為最大生存時間 域;全功能傳感器節(jié)點包括一個臨時路由表,用于存儲建立路由時的臨時數(shù)據(jù);臨時路由 表項包括四個域,分別為目的傳感器節(jié)點鏈路地址、源傳感器節(jié)點鏈路地址、路由代價域及 生存時間域;目的傳感器節(jié)點鏈路地址記錄目的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID,源 傳感器節(jié)點鏈路地址記錄發(fā)起路由發(fā)現(xiàn)過程的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID,路 由代價域記錄發(fā)送路由查詢幀的源節(jié)點到達本節(jié)點的跳數(shù),生存時間域記錄臨時路由表項 的生存時間域,當(dāng)生存時間域衰減為0時,自動從臨時路由表中刪除。
本發(fā)明中,所述傳感器節(jié)點采用路由查詢幀和路由響應(yīng)幀建立到達目的傳感器節(jié) 點的路由路徑;路由查詢幀包含命令幀標(biāo)識符、最終目的節(jié)點域、路由代價域以及路由路徑域,其中, 命令幀標(biāo)識符的最高比特位標(biāo)識轉(zhuǎn)發(fā)此幀的傳感器節(jié)點類型,0為部分功能傳感器節(jié)點,1 為全功能傳感器節(jié)點,余下七個比特位標(biāo)識路由查詢命令幀類型,其值為OxOa;最終目的 節(jié)點域為目的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID ;路由代價域為源傳感器節(jié)點到達轉(zhuǎn) 發(fā)此幀的跳數(shù);路由路徑域記錄源傳感器節(jié)點到達轉(zhuǎn)發(fā)此幀所經(jīng)過中間節(jié)點IPv6地址的 傳感器節(jié)點ID的集合;路由查詢幀的目的地址值為廣播地址OxfTfT,源地址值為轉(zhuǎn)發(fā)此幀 的全功能傳感器節(jié)點的傳感器節(jié)點ID ;路由響應(yīng)幀包含命令幀標(biāo)識符、最終目的節(jié)點域、路由代價域以及路由路徑域,其中, 命令幀標(biāo)識符的最高比特位標(biāo)識轉(zhuǎn)發(fā)此幀的傳感器節(jié)點類型,0為部分功能傳感器節(jié)點,1 為全功能傳感器節(jié)點,余下七個比特標(biāo)識路由查詢命令幀類型,其值為OxOb ;最終目的節(jié) 點域為目的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID ;路由代價域為源傳感器節(jié)點到達目的 傳感器節(jié)點的跳數(shù);路由路徑域記錄源傳感器節(jié)點到達目的節(jié)點所經(jīng)過中間節(jié)點IPv6地 址的傳感器節(jié)點ID的集合;路由響應(yīng)幀的目的地址為路由路徑域中的下一跳節(jié)點的傳感 器節(jié)點ID ;路由響應(yīng)幀的源地址為轉(zhuǎn)發(fā)此幀的全功能傳感器節(jié)點的傳感器節(jié)點ID ; 所述傳感器節(jié)點采用路由修復(fù)幀和路由修復(fù)響應(yīng)幀實現(xiàn)路由修復(fù); 所述路由修復(fù)幀包含命令幀標(biāo)識符、最終目的節(jié)點域、路由代價域以及路由路徑域,其 中,命令幀標(biāo)識符的最高比特位標(biāo)識轉(zhuǎn)發(fā)此幀的傳感器節(jié)點類型,0為部分功能傳感器節(jié) 點,1為全功能傳感器節(jié)點,余下七個比特標(biāo)識路由查詢命令幀類型,其值為OxOc ;最終目 的節(jié)點域為目的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID ;路由代價域為源傳感器節(jié)點到達 轉(zhuǎn)發(fā)此幀的跳數(shù);路由路徑域記錄源傳感器節(jié)點到達轉(zhuǎn)發(fā)此幀所經(jīng)過中間節(jié)點IPv6地址 的傳感器節(jié)點ID的集合;路由查詢幀的目的地址值為廣播地址OxfTfT,源地址值為轉(zhuǎn)發(fā)此 幀的全功能傳感器節(jié)點的傳感器節(jié)點ID ;所述路由修復(fù)響應(yīng)幀包含命令幀標(biāo)識符、最終目的節(jié)點域、路由代價域以及路由路徑 域,其中,命令幀標(biāo)識符的最高比特位標(biāo)識轉(zhuǎn)發(fā)此幀的傳感器節(jié)點類型,0為部分功能傳感 器節(jié)點,1為全功能傳感器節(jié)點,余下七個字節(jié)標(biāo)識路由查詢命令幀類型,其值為OxOd;最 終目的節(jié)點域為目的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID ;路由代價域為源傳感器節(jié)點 到達目的傳感器節(jié)點的跳數(shù);路由路徑域記錄源傳感器節(jié)點到達目的節(jié)點所經(jīng)過中間節(jié) 點IPv6地址的傳感器節(jié)點ID的集合;路由響應(yīng)幀的目的地址為路由路徑域中的下一跳節(jié) 點的傳感器節(jié)點ID ;路由響應(yīng)幀的源地址為轉(zhuǎn)發(fā)此幀的全功能傳感器節(jié)點的傳感器節(jié)點ID。
本發(fā)明中,源部分功能傳感器節(jié)點與目的部分功能傳感器節(jié)點進行通信時,源節(jié) 點選擇下一跳節(jié)點的過程為步驟301 源節(jié)點在一跳范圍內(nèi)廣播路由查詢命令幀,命令幀的最終目的節(jié)點域為目 的節(jié)點的傳感器節(jié)點ID,命令幀標(biāo)識符的最高比特位為0 ;步驟302 判斷接收到路由查詢命令幀的節(jié)點是否為目的節(jié)點,如果是,進行步驟303, 否則進行步驟304 ;步驟303 判斷接收到路由查詢命令幀的節(jié)點是否為全功能傳感器節(jié)點,如果是,進行 步驟305,否則進行步驟313 ;步驟304 目的節(jié)點向源節(jié)點返回路由響應(yīng)巾貞,幀的源地址為源節(jié)點的傳感器節(jié)點ID, 路由代價域為1,進行步驟308;步驟305 判斷全功能傳感器節(jié)點的路由表是否存在到達目的節(jié)點的路由表項,如果 存在,進行步驟307,否則進行步驟306 ;步驟306 目的節(jié)點向源節(jié)點返回路由響應(yīng)幀,路由響應(yīng)幀的路由代價域為0,進行步 驟 308 ;步驟307 目的節(jié)點向源節(jié)點返回路由響應(yīng)幀,路由響應(yīng)幀的路由代價域為其到達目 的節(jié)點的跳數(shù);步驟308 判斷源節(jié)點是否收到來自目的節(jié)點的路由響應(yīng)幀,如果收到,進行步驟309, 否則進行步驟310;步驟309 源節(jié)點直接將數(shù)據(jù)幀發(fā)送給目的節(jié)點,進行步驟313 ; 步驟310 判斷源節(jié)點是否收到路由代價域不為0的路由響應(yīng)幀,如果收到,進行步驟 311,否則進行步驟312 ;步驟311 源節(jié)點選擇路由代價域最小的全功能傳感器節(jié)點為下一跳節(jié)點,并將數(shù)據(jù) 幀發(fā)送給下一跳節(jié)點,進行步驟313 ;步驟312 源節(jié)點選擇返回信號最強的全功能傳感器節(jié)點作為下一跳節(jié)點并將數(shù)據(jù)幀 發(fā)送給下一跳節(jié)點; 步驟313 結(jié)束。
本發(fā)明中,源全功能傳感器節(jié)點建立到達目的節(jié)點的路由路徑的過程為步驟401 源全功能傳感器節(jié)點在一跳范圍內(nèi)廣播路由查詢命令幀,命令幀的最終目 的節(jié)點域為目的節(jié)點的傳感器節(jié)點ID,命令幀標(biāo)識符的最高比特位為1,路由代價域為1, 路由路徑域為源全功能傳感器節(jié)點的傳感器節(jié)點ID ;步驟402 判斷目的節(jié)點是否收到路由查詢幀,如果收到,執(zhí)行步驟413 ;否則執(zhí)行步驟403 ;步驟403 判斷接收到路由查詢命令幀的節(jié)點是否為全功能傳感器節(jié)點,如果是,執(zhí)行 步驟404,否則執(zhí)行步驟422 ;步驟404:判斷全功能傳感器節(jié)點是否在路由查詢幀的路由路徑域,如果在,執(zhí)行步驟 422,否則執(zhí)行步驟405 ;步驟405 判斷全功能傳感器節(jié)點查看路由表中是否存在到達目的節(jié)點的路由表項, 如果存在,執(zhí)行步驟406,否則執(zhí)行步驟407 ;步驟406 全功能傳感器節(jié)點返回路由響應(yīng)幀,幀的源地址為其傳感器節(jié)點ID,路由代 價域為路由表中相應(yīng)表項的路由代價域,路由路徑域為路由查詢幀的路由路徑域與全功能 傳感器節(jié)點的傳感器節(jié)點ID及其路由表項中第一下一跳鏈路地址和第二下一跳鏈路地址 的集合,執(zhí)行步驟414;步驟407 判斷全功能借點查看路由查詢幀中的路由代價域值是否小于設(shè)定的最大跳 數(shù),如果小于,執(zhí)行步驟408,否則執(zhí)行步驟422 ;步驟408 全功能傳感器節(jié)點將路由查詢幀的路由代價域值遞增1并將自己的傳感器 節(jié)點ID添加到路由路徑域;步驟409 全功能傳感器節(jié)點查看臨時路由表中是否存在設(shè)定路由表項,所述路由表 項中源傳感器節(jié)點鏈路地址為源全功能傳感器節(jié)點的傳感器節(jié)點ID,且目的傳感器節(jié)點鏈 路地址域為目的節(jié)點的傳感器節(jié)點ID,如果有,執(zhí)行步驟410,否則執(zhí)行步驟412 ;步驟410 全功能傳感器節(jié)點查看路由查詢幀的路由代價域值是否小于臨時路由表項 中的路由代價域值,如果是,執(zhí)行步驟411,否則執(zhí)行步驟422 ;步驟411 全功能傳感器節(jié)點將臨時路由表中的路由代價域值更新為路由查詢幀的路 由代價域值,廣播路由查詢幀,執(zhí)行步驟402 ;步驟412 全功能傳感器節(jié)點在臨時路由表中建立一條新的路由表項,目的鏈路地址 為目的節(jié)點的傳感器節(jié)點ID,源鏈路地址為源全功能傳感器節(jié)點的傳感器節(jié)點ID,路由代 價域為路由查詢幀中路由代價域值,廣播路由查詢幀,執(zhí)行步驟402 ;步驟413 在設(shè)定時間后,目的節(jié)點向路由代價域值最小的路由查詢幀的源地址發(fā)送 路由響應(yīng)幀,響應(yīng)幀的源地址為其傳感器節(jié)點ID,路由路徑域值為路由查詢幀的路由路徑 域值,目的地址為路由路徑域值中的第一個全功能傳感器節(jié)點的傳感器節(jié)點ID,路由代價 域為1,最終目的節(jié)點域值為路由查詢幀的最終目的節(jié)點值;步驟414:全功能傳感器節(jié)點收到路由響應(yīng)幀后,刪除臨時路由表中的對應(yīng)表項并將 路由響應(yīng)幀的路由代價域域值遞增1 ;步驟415 判斷全功能傳感器節(jié)點查看路由表中是否已經(jīng)存在到達目的節(jié)點的路由表 項,如果存在,執(zhí)行步驟417,否則執(zhí)行步驟416 ;步驟416 全功能傳感器節(jié)點添加一條路由表項,目的傳感器節(jié)點鏈路地址為路由響 應(yīng)幀中最終目的節(jié)點域值,第一下一跳鏈路地址和第二下一跳鏈路地址值從路由響應(yīng)幀的 路由路徑域獲取,路由代價域為路由響應(yīng)幀的路由代價域值,執(zhí)行步驟419 ;步驟417 判斷全功能傳感器節(jié)點路由表項中的路由代價域是否大于路由響應(yīng)幀的路 由代價域值,如果大于,執(zhí)行步驟418,否則執(zhí)行步驟422 ;步驟418 全功能傳感器節(jié)點更新路由表項值,第一下一跳鏈路地址和第二下一跳鏈 路地址值從路由響應(yīng)幀的路由路徑域獲取,路由代價域為路由響應(yīng)幀的路由代價域值;步驟419:判斷收到路由響應(yīng)幀的全功能傳感器節(jié)點是否為源全功能傳感器節(jié)點,如 果是,執(zhí)行步驟421,否則執(zhí)行步驟420 ;步驟420 收到路由響應(yīng)幀的全功能傳感器節(jié)點將目的地址更新為路由響應(yīng)幀的路由 路徑域的下一跳節(jié)點,發(fā)送路由響應(yīng)幀,執(zhí)行步驟414 ;步驟421 源全功能傳感器節(jié)點根據(jù)路由表中到達目的節(jié)點的路由表項,將數(shù)據(jù)幀發(fā) 送到目的節(jié)點;步驟422:過程結(jié)束。
本發(fā)明中,當(dāng)全功能傳感器節(jié)點檢測出到達目的節(jié)點的路由表項中第一下一跳鏈 路地址無法到達時,全功能傳感器節(jié)點建立到達第二下一跳鏈路地址的路由路徑從而修復(fù) 到達目的節(jié)點的路由路徑;全功能傳感器節(jié)點采用路由修復(fù)幀和路由修復(fù)響應(yīng)幀建立到達 第二下一跳鏈路地址的路由路徑,其過程為步驟501 源全功能傳感器節(jié)點在一跳范圍內(nèi)廣播路由修復(fù)命令幀,命令幀的最終目 的節(jié)點域為第二下一跳鏈路地址的傳感器節(jié)點ID,命令幀標(biāo)識符的最高比特位為1,路由 代價域為0,路由路徑域為源全功能傳感器節(jié)點的傳感器節(jié)點ID和第二下一跳鏈路地址的 傳感器節(jié)點ID ;步驟502 判斷第二下一跳鏈路地址是否收到路由修復(fù)幀,如果收到,執(zhí)行步驟509,否 則執(zhí)行步驟503 ;步驟503 判斷接收到路由修復(fù)幀的全功能傳感器節(jié)點是否不在路由查詢幀的路由路 徑域且路由修復(fù)幀中的路由代價域值小于預(yù)定最大跳數(shù),如果是,執(zhí)行步驟504,否則執(zhí)行 步驟518 ;步驟504 全功能傳感器節(jié)點將路由修復(fù)幀的路由代價域值遞增1并將自己的傳感器 節(jié)點ID添加到路由路徑域;步驟505:全功能傳感器節(jié)點查看臨時路由表中是否存在設(shè)定路由表項,所述路由表 項的源傳感器節(jié)點鏈路地址為源全功能傳感器節(jié)點的傳感器節(jié)點ID,且目的傳感器節(jié)點 鏈路地址域為第二下一跳鏈路地址的傳感器節(jié)點ID,如果是,執(zhí)行步驟507,否則執(zhí)行步驟 506 ;步驟506 全功能傳感器節(jié)點在臨時路由表中建立一條新的路由表項,目的鏈路地址 為第二下一跳鏈路地址的傳感器節(jié)點ID,源鏈路地址為源全功能傳感器節(jié)點的傳感器節(jié)點 ID,路由代價域為路由修復(fù)幀中路由代價域值,廣播路由修復(fù)幀,執(zhí)行步驟502 ;步驟507 全功能傳感器節(jié)點判斷路由修復(fù)幀的路由代價域值是否小于臨時路由表項 中的路由代價域值,如果是,執(zhí)行步驟508,否則執(zhí)行步驟518 ;步驟508 所述全功能傳感器節(jié)點將臨時路由表中的路由代價域值更新為路由修復(fù)幀 的路由代價域值,廣播路由修復(fù)幀,執(zhí)行步驟502 ;步驟509:在設(shè)定時間后,第二下一跳鏈路地址向路由代價域值最小的路由修復(fù)幀的 源地址發(fā)送路由修復(fù)響應(yīng)幀,幀源地址為其傳感器節(jié)點ID,路由路徑域值為路由修復(fù)幀的 路由路徑域值與第二下一跳鏈路地址的傳感器節(jié)點ID以及第二下一跳鏈路地址到達目的 節(jié)點的路由表項中的第一下一跳鏈路地址與第二下一跳鏈路地址之和,目的地址為路由路 徑域值中第二下一跳鏈路地址前邊節(jié)點的傳感器節(jié)點ID,路由代價域為第二下一跳鏈路地 址中到達目的節(jié)點路由表項中的路由代價域,最終目的節(jié)點域值為路由修復(fù)幀的最終目的 節(jié)點值;步驟510 全功能傳感器節(jié)點收到路由修復(fù)響應(yīng)幀后,刪除臨時路由表中的對應(yīng)表項 并將路由修復(fù)響應(yīng)幀的路由代價域值遞增1 ;步驟511 全功能傳感器節(jié)點查看路由表中是否已經(jīng)存在到達目的節(jié)點的路由表項, 如果是,執(zhí)行步驟513,否則執(zhí)行步驟512 ;步驟512 全功能傳感器節(jié)點在路由表中添加一條路由表項,目的傳感器節(jié)點鏈路地址為目的節(jié)點的傳感器節(jié)點ID,第一下一跳鏈路地址和第二下一跳鏈路地址值從路由響應(yīng) 幀的路由路徑域獲取,路由代價域為路由響應(yīng)幀的路由代價域值,執(zhí)行步驟515 ;步驟513 全功能傳感器節(jié)點路由表項中的路由代價域是否大于路由修復(fù)響應(yīng)幀的路 由代價域值,如果是,執(zhí)行步驟514,否則執(zhí)行步驟518 ;步驟514 全功能傳感器節(jié)點更新路由表項值,第一下一跳鏈路地址和第二下一跳鏈 路地址值從路由修復(fù)響應(yīng)幀的路由路徑域獲取,路由代價域為路由修復(fù)響應(yīng)幀的路由代價 域值;步驟515:判斷收到路由響應(yīng)幀的全功能傳感器節(jié)點是否為源全功能傳感器節(jié)點,如 果是,執(zhí)行步驟517,否則執(zhí)行步驟516 ;步驟516 收到路由響應(yīng)幀的全功能傳感器節(jié)點將目的地址更新為路由修復(fù)響應(yīng)幀的 路由路徑域的下一跳節(jié)點,發(fā)送路由修復(fù)響應(yīng)幀,執(zhí)行步驟510 ;步驟517 源功能節(jié)點根據(jù)路由表中到達目的節(jié)點的路由表項,將數(shù)據(jù)幀發(fā)送到目的 節(jié)占.I— /、、、 步驟518 結(jié)束。
本發(fā)明中,當(dāng)部分功能傳感器節(jié)點移動引起路由更新時,全功能傳感器節(jié)點采用 如下步驟進行路由更新步驟601 全功能傳感器節(jié)點定期向路由表中路由代價域為1的路由表項中的目的部 分功能傳感器節(jié)點發(fā)送查詢命令幀;步驟602 部分功能傳感器節(jié)點收到查詢命令幀后,向全功能傳感器節(jié)點返回響應(yīng)命 令幀;步驟603:在設(shè)定時間內(nèi),全功能傳感器節(jié)點是否收到部分功能傳感器節(jié)點返回的響 應(yīng)命令幀?如果是,進行步驟609,否則進行步驟604 ;步驟604 全功能傳感器節(jié)點刪除部分功能節(jié)點的相關(guān)路由表項,同時廣播路由刪除 命令幀,命令幀負載為部分功能節(jié)點的傳感器節(jié)點ID以及所經(jīng)過節(jié)點的跳數(shù),所述最大設(shè) 定跳數(shù)為10 ;步驟605 收到路由刪除幀的全功能傳感器節(jié)點收到路由刪除命令幀后,查看路由表 是否存在設(shè)定路由表項,所述路由表項的目的鏈路地址等于部分功能節(jié)點傳感器節(jié)點ID, 且第一下一跳鏈路地址值等于路由刪除命令幀源地址,如果存在,進行步驟606,否則進行 步驟609 ;步驟606 收到路由刪除幀的全功能傳感器節(jié)點從路由表中刪除部分功能節(jié)點所對應(yīng) 的路由表項,并將路由刪除幀中的所經(jīng)過跳數(shù)遞增1 ;步驟607 判斷路由刪除幀中的所經(jīng)過跳數(shù)是否小于最大預(yù)定跳數(shù),如果是,進行步驟 608,否則進行步驟609 ;步驟608 收到路由刪除幀的全功能傳感器節(jié)點繼續(xù)廣播路由刪除命令幀,執(zhí)行步驟605 ;步驟609 結(jié)束。
有益效果本發(fā)明提供了一種6LOWPAN無線傳感器網(wǎng)絡(luò)路由方法,在所述方法中, 傳感器節(jié)點可建立到達目的傳感器節(jié)點的路由路徑從而實現(xiàn)與目的傳感器節(jié)點的數(shù)據(jù)通 信,當(dāng)路由路徑中的全功能傳感器節(jié)點失效時,全功能傳感器節(jié)點可通過路由表自動實現(xiàn)路由修復(fù)功能,無需重新建立路由路徑,節(jié)省了數(shù)據(jù)路由開銷,縮短了數(shù)據(jù)路由延遲。
下面結(jié)合附圖和具體實施方式
對本發(fā)明做更進一步的具體說明,本發(fā)明的上述和 /或其他方面的優(yōu)點將會變得更加清楚。
圖1為本發(fā)明所述6LoWPAN無線傳感器網(wǎng)絡(luò)體系結(jié)構(gòu)示意圖。
圖2為本發(fā)明所述無線傳感器節(jié)點IPv6地址結(jié)構(gòu)示意圖。
圖3為本發(fā)明所述路由表項示意圖。
圖4為本發(fā)明所述臨時路由表項示意圖。
圖5為本發(fā)明所述路由查詢幀和路由修復(fù)幀示意圖。
圖6為本發(fā)明所述路由響應(yīng)幀和路由修復(fù)響應(yīng)幀示意圖。
圖7為本發(fā)明所述源節(jié)點選擇下一跳節(jié)點流程示意圖。
圖8為本發(fā)明所述路由建立流程示意圖。
圖9為本發(fā)明所述路由修復(fù)流程示意圖。
圖10為本發(fā)明所述路由更新流程示意圖。
具體實施方式
圖1為本發(fā)明所述的6LoWPAN無線傳感器網(wǎng)絡(luò)體系結(jié)構(gòu)示意圖,所述6LoWPAN無 線傳感器網(wǎng)絡(luò)的傳感器節(jié)點包含全功能傳感器節(jié)點和部分功能傳感器節(jié)點兩類,全功能傳 感器節(jié)點(圖中較大的)具有路由轉(zhuǎn)發(fā)功能,為固定節(jié)點;部分功能傳感器節(jié)點(圖中較小 的)用于數(shù)據(jù)采集且不具有路由轉(zhuǎn)發(fā)功能,為移動節(jié)點。
圖2為本發(fā)明所述無線傳感器節(jié)點IPv6地址結(jié)構(gòu)示意圖,所述6LoWPAN無線傳感 器網(wǎng)絡(luò)傳感器節(jié)點的IPv6地址由兩個部分組成第一部分是112比特的全局路由前綴,一 個6LoWPAN無線傳感器網(wǎng)絡(luò)中所有傳感器節(jié)點的IPv6地址的全局路由前綴都相同;第二部 分是16比特的傳感器節(jié)點ID,用于唯一的標(biāo)識一個6LoWPAN網(wǎng)絡(luò)中的傳感器節(jié)點,其值為 傳感器節(jié)點出廠時設(shè)置的初始ID號,其在一個6LoWPAN無線傳感器網(wǎng)絡(luò)中具有唯一性。傳 感器節(jié)點的鏈路地址為其IPv6地址的傳感器節(jié)點ID。
圖3為本發(fā)明所述路由表項示意圖,全功能傳感器節(jié)點包括一個路由表,路由表 項包括五個域,分別為16比特的目的傳感器節(jié)點鏈路地址、16比特的第一下一跳鏈路地 址、16比特的第二下一跳鏈路地址、8比特的路由代價域以及8比特的生存時間域;目的傳 感器節(jié)點鏈路地址記錄目的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID,第一下一跳鏈路地址 記錄到達目的傳感器節(jié)點的下一跳節(jié)點IPv6地址的傳感器節(jié)點ID,第二下一跳鏈路地址 記錄到達目的傳感器節(jié)點的下一跳節(jié)點的下一跳節(jié)點IPv6地址的傳感器節(jié)點ID,路由代 價域為路由表所在全功能傳感器節(jié)點到達目的傳感器節(jié)點的跳數(shù),生存時間域記錄路由表 項的生存時間域,生存時間域隨機器時鐘自動衰減,當(dāng)生存時間域衰減為0時,路由表項從 路由表中自動刪除,路由表項每被使用一次,其生存時間域都會被設(shè)置為最大生存時間域。
圖4為本發(fā)明所述臨時路由表項示意圖。全功能傳感器節(jié)點包括一個臨時路由 表,用于存儲建立路由時的臨時數(shù)據(jù);臨時路由表項包括四個域,分別為16比特的目的傳 感器節(jié)點鏈路地址、16比特的源傳感器節(jié)點鏈路地址、8比特的路由代價域及8比特的生存時間域;目的傳感器節(jié)點鏈路地址記錄目的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID,源傳感 器節(jié)點鏈路地址記錄發(fā)起路由發(fā)現(xiàn)過程的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID,路由代 價域記錄發(fā)送路由查詢幀的源節(jié)點到達本節(jié)點的跳數(shù),生存時間域記錄臨時路由表項的生 存時間域,當(dāng)生存時間域衰減為0時,自動從臨時路由表中刪除。
圖5為本發(fā)明所述路由查詢幀和路由修復(fù)幀示意圖,路由查詢幀包含1字節(jié)的命 令幀標(biāo)識符、2字節(jié)的最終目的節(jié)點域、1字節(jié)的路由代價域以及多字節(jié)的路由路徑域,其 中,命令幀標(biāo)識符的最高比特位標(biāo)識轉(zhuǎn)發(fā)此幀的傳感器節(jié)點類型,0為部分功能傳感器節(jié) 點,1為全功能傳感器節(jié)點,余下七個比特位標(biāo)識路由查詢命令幀類型,其值為OxOa ;最終 目的節(jié)點域為目的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID ;路由代價域為源傳感器節(jié)點到 達轉(zhuǎn)發(fā)此幀的跳數(shù);路由路徑域記錄源傳感器節(jié)點到達轉(zhuǎn)發(fā)此幀所經(jīng)過中間節(jié)點IPv6地 址的傳感器節(jié)點ID的集合;路由查詢幀的目的地址值為廣播地址OxfTfT,源地址值為轉(zhuǎn)發(fā) 此幀的全功能傳感器節(jié)點的傳感器節(jié)點ID。
所述路由修復(fù)幀的格式與路由查詢幀相同,也包含1字節(jié)的命令幀標(biāo)識符、2字節(jié) 的最終目的節(jié)點域、1字節(jié)的路由代價域以及多字節(jié)的路由路徑域,其中,命令幀標(biāo)識符的 最高比特位標(biāo)識轉(zhuǎn)發(fā)此幀的傳感器節(jié)點類型,0為部分功能傳感器節(jié)點,1為全功能傳感器 節(jié)點,余下七個比特標(biāo)識路由查詢命令幀類型,其值為OxOc ;最終目的節(jié)點域為目的傳感 器節(jié)點IPv6地址的傳感器節(jié)點ID ;路由代價域為源傳感器節(jié)點到達轉(zhuǎn)發(fā)此幀的跳數(shù);路 由路徑域記錄源傳感器節(jié)點到達轉(zhuǎn)發(fā)此幀所經(jīng)過中間節(jié)點IPv6地址的傳感器節(jié)點ID的集 合;路由查詢幀的目的地址值為廣播地址OxfTfT,源地址值為轉(zhuǎn)發(fā)此幀的全功能傳感器節(jié) 點的傳感器節(jié)點ID。
圖6為本發(fā)明所述路由響應(yīng)幀和路由修復(fù)響應(yīng)幀示意圖。
路由響應(yīng)幀包含1字節(jié)的命令幀標(biāo)識符、2字節(jié)的最終目的節(jié)點域、1字節(jié)路由代 價域以及多字節(jié)的路由路徑域,其中,命令幀標(biāo)識符的最高比特位標(biāo)識轉(zhuǎn)發(fā)此幀的傳感器 節(jié)點類型,0為部分功能傳感器節(jié)點,1為全功能傳感器節(jié)點,余下七個比特標(biāo)識路由查詢 命令幀類型,其值為OxOb ;最終目的節(jié)點域為目的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID ; 路由代價域為源傳感器節(jié)點到達目的傳感器節(jié)點的跳數(shù);路由路徑域記錄源傳感器節(jié)點 到達目的節(jié)點所經(jīng)過中間節(jié)點IPv6地址的傳感器節(jié)點ID的集合;路由響應(yīng)幀的目的地址 為路由路徑域中的下一跳節(jié)點的傳感器節(jié)點ID ;路由響應(yīng)幀的源地址為轉(zhuǎn)發(fā)此幀的全功 能傳感器節(jié)點的傳感器節(jié)點ID。
所述路由修復(fù)響應(yīng)幀與路由響應(yīng)幀的格式相同,也包含1字節(jié)的命令幀標(biāo)識符、2 字節(jié)的最終目的節(jié)點域、1字節(jié)的路由代價域以及1字節(jié)的路由路徑域,其中,命令幀標(biāo)識 符的最高比特位標(biāo)識轉(zhuǎn)發(fā)此幀的傳感器節(jié)點類型,0為部分功能傳感器節(jié)點,1為全功能傳 感器節(jié)點,余下七個字節(jié)標(biāo)識路由查詢命令幀類型,其值為OxOd ;最終目的節(jié)點域為目的 傳感器節(jié)點IPv6地址的傳感器節(jié)點ID;路由代價域為源傳感器節(jié)點到達目的傳感器節(jié)點 的跳數(shù);路由路徑域記錄源傳感器節(jié)點到達目的節(jié)點所經(jīng)過中間節(jié)點IPv6地址的傳感器 節(jié)點ID的集合;路由響應(yīng)幀的目的地址為路由路徑域中的下一跳節(jié)點的傳感器節(jié)點ID ;路 由響應(yīng)幀的源地址為轉(zhuǎn)發(fā)此幀的全功能傳感器節(jié)點的傳感器節(jié)點ID。
圖7為本發(fā)明所述源節(jié)點選擇下一跳節(jié)點流程示意圖,源部分功能傳感器節(jié)點與 目的部分功能傳感器節(jié)點進行通信時,源節(jié)點選擇下一跳節(jié)點的過程為步驟301 源節(jié)點在一跳范圍內(nèi)廣播路由查詢命令幀,命令幀的最終目的節(jié)點域為目 的節(jié)點的傳感器節(jié)點ID,命令幀標(biāo)識符的最高比特位為0 ;步驟302 判斷接收到路由查詢命令幀的節(jié)點是否為目的節(jié)點,如果是,進行步驟304, 否則進行步驟303 ;步驟303 判斷接收到路由查詢命令幀的節(jié)點是否為全功能傳感器節(jié)點,如果是,進行 步驟305,否則進行步驟313 ;步驟304 目的節(jié)點向源節(jié)點返回路由響應(yīng)巾貞,幀的源地址為源節(jié)點的傳感器節(jié)點ID, 路由代價域為1,進行步驟308;步驟305 判斷全功能傳感器節(jié)點的路由表是否存在到達目的節(jié)點的路由表項,如果 存在,進行步驟307,否則進行步驟306 ;步驟306 目的節(jié)點向源節(jié)點返回路由響應(yīng)幀,路由響應(yīng)幀的路由代價域為0,進行步 驟 308 ;步驟307 目的節(jié)點向源節(jié)點返回路由響應(yīng)幀,路由響應(yīng)幀的路由代價域為其到達目 的節(jié)點的跳數(shù);步驟308 判斷源節(jié)點是否收到來自目的節(jié)點的路由響應(yīng)幀,如果收到,進行步驟309, 否則進行步驟310 ;步驟309 源節(jié)點直接將數(shù)據(jù)幀發(fā)送給目的節(jié)點,進行步驟313 ; 步驟310 判斷源節(jié)點是否收到路由代價域不為0的路由響應(yīng)幀,如果收到,進行步驟 311,否則進行步驟312;步驟311 源節(jié)點選擇路由代價域最小的全功能傳感器節(jié)點為下一跳節(jié)點,并將數(shù)據(jù) 幀發(fā)送給下一跳節(jié)點,進行步驟313 ;步驟312 源節(jié)點選擇返回信號最強的全功能傳感器節(jié)點作為下一跳節(jié)點并將數(shù)據(jù)幀 發(fā)送給下一跳節(jié)點; 步驟313 結(jié)束。
圖8為本發(fā)明所述路由建立流程示意圖,源全功能傳感器節(jié)點建立到達目的節(jié)點 的路由路徑的過程為步驟401 源全功能傳感器節(jié)點在一跳范圍內(nèi)廣播路由查詢命令幀,命令幀的最終目 的節(jié)點域為目的節(jié)點的傳感器節(jié)點ID,命令幀標(biāo)識符的最高比特位為1,路由代價域為1, 路由路徑域為源全功能傳感器節(jié)點的傳感器節(jié)點ID ;步驟402 判斷目的節(jié)點是否收到路由查詢幀,如果收到,執(zhí)行步驟413 ;否則執(zhí)行步驟403 ;步驟403 判斷接收到路由查詢命令幀的節(jié)點是否為全功能傳感器節(jié)點,如果是,執(zhí)行 步驟404,否則執(zhí)行步驟422 ;步驟404:判斷全功能傳感器節(jié)點是否在路由查詢幀的路由路徑域,如果在,執(zhí)行步驟 422,否則執(zhí)行步驟405 ;步驟405 判斷全功能傳感器節(jié)點查看路由表中是否存在到達目的節(jié)點的路由表項, 如果存在,執(zhí)行步驟406,否則執(zhí)行步驟407 ;步驟406 全功能傳感器節(jié)點返回路由響應(yīng)幀,幀的源地址為其傳感器節(jié)點ID,路由代 價域為路由表中相應(yīng)表項的路由代價域,路由路徑域為路由查詢幀的路由路徑域與全功能傳感器節(jié)點的傳感器節(jié)點ID及其路由表項中第一下一跳鏈路地址和第二下一跳鏈路地址 的集合,執(zhí)行步驟414;步驟407 判斷全功能借點查看路由查詢幀中的路由代價域值是否小于設(shè)定的最大跳 數(shù),如果小于,執(zhí)行步驟408,否則執(zhí)行步驟422 ;步驟408 全功能傳感器節(jié)點將路由查詢幀的路由代價域值遞增1并將自己的傳感器 節(jié)點ID添加到路由路徑域;步驟409:全功能傳感器節(jié)點查看臨時路由表中是否存在設(shè)定路由表項,所述路由表 項中源傳感器節(jié)點鏈路地址為源全功能傳感器節(jié)點的傳感器節(jié)點ID,且目的傳感器節(jié)點鏈 路地址域為目的節(jié)點的傳感器節(jié)點ID,如果有,執(zhí)行步驟410,否則執(zhí)行步驟412 ;步驟410 全功能傳感器節(jié)點查看路由查詢幀的路由代價域值是否小于臨時路由表項 中的路由代價域值,如果是,執(zhí)行步驟411,否則執(zhí)行步驟422;步驟411 全功能傳感器節(jié)點將臨時路由表中的路由代價域值更新為路由查詢幀的路 由代價域值,廣播路由查詢幀,執(zhí)行步驟402 ;步驟412 全功能傳感器節(jié)點在臨時路由表中建立一條新的路由表項,目的鏈路地址 為目的節(jié)點的傳感器節(jié)點ID,源鏈路地址為源全功能傳感器節(jié)點的傳感器節(jié)點ID,路由代 價域為路由查詢幀中路由代價域值,廣播路由查詢幀,執(zhí)行步驟402 ;步驟413 在設(shè)定時間后,目的節(jié)點向路由代價域值最小的路由查詢幀的源地址發(fā)送 路由響應(yīng)幀,響應(yīng)幀的源地址為其傳感器節(jié)點ID,路由路徑域值為路由查詢幀的路由路徑 域值,目的地址為路由路徑域值中的第一個全功能傳感器節(jié)點的傳感器節(jié)點ID,路由代價 域為1,最終目的節(jié)點域值為路由查詢幀的最終目的節(jié)點值;步驟414:全功能傳感器節(jié)點收到路由響應(yīng)幀后,刪除臨時路由表中的對應(yīng)表項并將 路由響應(yīng)幀的路由代價域域值遞增1 ;步驟415 判斷全功能傳感器節(jié)點查看路由表中是否已經(jīng)存在到達目的節(jié)點的路由表 項,如果存在,執(zhí)行步驟417,否則執(zhí)行步驟416 ;步驟416 全功能傳感器節(jié)點添加一條路由表項,目的傳感器節(jié)點鏈路地址為路由響 應(yīng)幀中最終目的節(jié)點域值,第一下一跳鏈路地址和第二下一跳鏈路地址值從路由響應(yīng)幀的 路由路徑域獲取,路由代價域為路由響應(yīng)幀的路由代價域值,執(zhí)行步驟419 ;步驟417 判斷全功能傳感器節(jié)點路由表項中的路由代價域是否大于路由響應(yīng)幀的路 由代價域值,如果大于,執(zhí)行步驟418,否則執(zhí)行步驟422 ;步驟418 全功能傳感器節(jié)點更新路由表項值,第一下一跳鏈路地址和第二下一跳鏈 路地址值從路由響應(yīng)幀的路由路徑域獲取,路由代價域為路由響應(yīng)幀的路由代價域值;步驟419 判斷收到路由響應(yīng)幀的全功能傳感器節(jié)點是否為源全功能傳感器節(jié)點,如 果是,執(zhí)行步驟421,否則執(zhí)行步驟420 ;步驟420 收到路由響應(yīng)幀的全功能傳感器節(jié)點將目的地址更新為路由響應(yīng)幀的路由 路徑域的下一跳節(jié)點,發(fā)送路由響應(yīng)幀,執(zhí)行步驟414 ;步驟421 源全功能傳感器節(jié)點根據(jù)路由表中到達目的節(jié)點的路由表項,將數(shù)據(jù)幀發(fā) 送到目的節(jié)點;步驟422 過程結(jié)束。
圖9為本發(fā)明所述路由修復(fù)流程示意圖,當(dāng)全功能傳感器節(jié)點檢測出到達目的節(jié)點的路由表項中第一下一跳鏈路地址無法到達時,全功能傳感器節(jié)點建立到達第二下一跳 鏈路地址的路由路徑從而修復(fù)到達目的節(jié)點的路由路徑;全功能傳感器節(jié)點采用路由修復(fù) 幀和路由修復(fù)響應(yīng)幀建立到達第二下一跳鏈路地址的路由路徑,其過程為步驟501 源全功能傳感器節(jié)點在一跳范圍內(nèi)廣播路由修復(fù)命令幀,命令幀的最終目 的節(jié)點域為第二下一跳鏈路地址的傳感器節(jié)點ID,命令幀標(biāo)識符的最高比特位為1,路由 代價域為0,路由路徑域為源全功能傳感器節(jié)點的傳感器節(jié)點ID和第二下一跳鏈路地址的 傳感器節(jié)點ID ;步驟502 判斷第二下一跳鏈路地址是否收到路由修復(fù)幀,如果收到,執(zhí)行步驟509,否 則執(zhí)行步驟503 ;步驟503 判斷接收到路由修復(fù)幀的全功能傳感器節(jié)點是否不在路由查詢幀的路由路 徑域且路由修復(fù)幀中的路由代價域值小于預(yù)定最大跳數(shù),如果是,執(zhí)行步驟504,否則執(zhí)行 步驟518 ;步驟504 全功能傳感器節(jié)點將路由修復(fù)幀的路由代價域值遞增1并將自己的傳感器 節(jié)點ID添加到路由路徑域;步驟505 全功能傳感器節(jié)點查看臨時路由表中是否存在設(shè)定路由表項,所述路由表 項的源傳感器節(jié)點鏈路地址為源全功能傳感器節(jié)點的傳感器節(jié)點ID,且目的傳感器節(jié)點 鏈路地址域為第二下一跳鏈路地址的傳感器節(jié)點ID,如果是,執(zhí)行步驟507,否則執(zhí)行步驟 506 ;步驟506 全功能傳感器節(jié)點在臨時路由表中建立一條新的路由表項,目的鏈路地址 為第二下一跳鏈路地址的傳感器節(jié)點ID,源鏈路地址為源全功能傳感器節(jié)點的傳感器節(jié)點 ID,路由代價域為路由修復(fù)幀中路由代價域值,廣播路由修復(fù)幀,執(zhí)行步驟502 ;步驟507 全功能傳感器節(jié)點判斷路由修復(fù)幀的路由代價域值是否小于臨時路由表項 中的路由代價域值,如果是,執(zhí)行步驟508,否則執(zhí)行步驟518 ;步驟508 所述全功能傳感器節(jié)點將臨時路由表中的路由代價域值更新為路由修復(fù)幀 的路由代價域值,廣播路由修復(fù)幀,執(zhí)行步驟502 ;步驟509 在設(shè)定時間后,第二下一跳鏈路地址向路由代價域值最小的路由修復(fù)幀的 源地址發(fā)送路由修復(fù)響應(yīng)幀,幀源地址為其傳感器節(jié)點ID,路由路徑域值為路由修復(fù)幀的 路由路徑域值與第二下一跳鏈路地址的傳感器節(jié)點ID以及第二下一跳鏈路地址到達目的 節(jié)點的路由表項中的第一下一跳鏈路地址與第二下一跳鏈路地址之和,目的地址為路由路 徑域值中第二下一跳鏈路地址前邊節(jié)點的傳感器節(jié)點ID,路由代價域為第二下一跳鏈路地 址中到達目的節(jié)點路由表項中的路由代價域,最終目的節(jié)點域值為路由修復(fù)幀的最終目的 節(jié)點值;步驟510:全功能傳感器節(jié)點收到路由修復(fù)響應(yīng)幀后,刪除臨時路由表中的對應(yīng)表項 并將路由修復(fù)響應(yīng)幀的路由代價域值遞增1 ;步驟511 全功能傳感器節(jié)點查看路由表中是否已經(jīng)存在到達目的節(jié)點的路由表項, 如果是,執(zhí)行步驟513,否則執(zhí)行步驟512 ;步驟512 全功能傳感器節(jié)點在路由表中添加一條路由表項,目的傳感器節(jié)點鏈路地 址為目的節(jié)點的傳感器節(jié)點ID,第一下一跳鏈路地址和第二下一跳鏈路地址值從路由響應(yīng) 幀的路由路徑域獲取,路由代價域為路由響應(yīng)幀的路由代價域值,執(zhí)行步驟515 ;步驟513 全功能傳感器節(jié)點路由表項中的路由代價域是否大于路由修復(fù)響應(yīng)幀的路 由代價域值,如果是,執(zhí)行步驟514,否則執(zhí)行步驟518 ;步驟514 全功能傳感器節(jié)點更新路由表項值,第一下一跳鏈路地址和第二下一跳鏈 路地址值從路由修復(fù)響應(yīng)幀的路由路徑域獲取,路由代價域為路由修復(fù)響應(yīng)幀的路由代價 域值;步驟515:判斷收到路由響應(yīng)幀的全功能傳感器節(jié)點是否為源全功能傳感器節(jié)點,如 果是,執(zhí)行步驟517,否則執(zhí)行步驟516 ;步驟516 收到路由響應(yīng)幀的全功能傳感器節(jié)點將目的地址更新為路由修復(fù)響應(yīng)幀的 路由路徑域的下一跳節(jié)點,發(fā)送路由修復(fù)響應(yīng)幀,執(zhí)行步驟510 ;步驟517 源功能節(jié)點根據(jù)路由表中到達目的節(jié)點的路由表項,將數(shù)據(jù)幀發(fā)送到目的 節(jié)占.I— /、、、 步驟518 結(jié)束。
圖10為本發(fā)明所述路由更新流程示意圖,當(dāng)部分功能傳感器節(jié)點移動引起路由 更新時,全功能傳感器節(jié)點采用如下步驟進行路由更新步驟601 全功能傳感器節(jié)點定期向路由表中路由代價域為1的路由表項中的目的部 分功能傳感器節(jié)點發(fā)送查詢命令幀;步驟602 部分功能傳感器節(jié)點收到查詢命令幀后,向全功能傳感器節(jié)點返回響應(yīng)命 令幀;步驟603:在設(shè)定時間內(nèi),判斷全功能傳感器節(jié)點是否收到部分功能傳感器節(jié)點返回 的響應(yīng)命令幀,如果是,進行步驟609,否則進行步驟604 ;步驟604 全功能傳感器節(jié)點刪除部分功能節(jié)點的相關(guān)路由表項,同時廣播路由刪除 命令幀,命令幀負載為部分功能節(jié)點的傳感器節(jié)點ID以及所經(jīng)過節(jié)點的跳數(shù),所述最大設(shè) 定跳數(shù)為10 ;步驟605 收到路由刪除幀的全功能傳感器節(jié)點收到路由刪除命令幀后,查看路由表 是否存在設(shè)定路由表項,所述路由表項的目的鏈路地址等于部分功能節(jié)點傳感器節(jié)點ID, 且第一下一跳鏈路地址值等于路由刪除命令幀源地址,如果存在,進行步驟606,否則進行 步驟609 ;步驟606 收到路由刪除幀的全功能傳感器節(jié)點從路由表中刪除部分功能節(jié)點所對應(yīng) 的路由表項,并將路由刪除幀中的所經(jīng)過跳數(shù)遞增1 ;步驟607 判斷路由刪除幀中的所經(jīng)過跳數(shù)是否小于最大預(yù)定跳數(shù),如果是,進行步驟 608,否則進行步驟609 ;步驟608 收到路由刪除幀的全功能傳感器節(jié)點繼續(xù)廣播路由刪除命令幀,執(zhí)行步驟605 ;步驟609 結(jié)束。
綜上所述,本發(fā)明提供了一種6LoWPAN無線傳感器網(wǎng)絡(luò)路由方法,在所述方法 中,傳感器節(jié)點可建立到達目的傳感器節(jié)點的路由路徑從而實現(xiàn)與目的傳感器節(jié)點的數(shù)據(jù) 通信,當(dāng)路由路徑中的全功能傳感器節(jié)點失效時,全功能傳感器節(jié)點可通過路由表自動實 現(xiàn)路由修復(fù)功能,無需重新建立路由路徑,節(jié)省了數(shù)據(jù)路由開銷,縮短了數(shù)據(jù)路由延遲。綜 上所述,本技術(shù)具有很高的推廣價值。
本發(fā)明提供了一種6LoWPAN無線傳感器網(wǎng)絡(luò)路由方法的思路及方法,具體實現(xiàn)該 技術(shù)方案的方法和途徑很多,以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù) 領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這 些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。本實施例中未明確的各組成部分均可用現(xiàn)有技 術(shù)加以實現(xiàn)。
權(quán)利要求
1.一種6LoWPAN無線傳感器網(wǎng)絡(luò)路由方法,其特征在于,所述6LoWPAN無線傳感器網(wǎng)絡(luò) 的傳感器節(jié)點包含全功能傳感器節(jié)點和部分功能傳感器節(jié)點兩類,全功能傳感器節(jié)點具有 路由轉(zhuǎn)發(fā)功能,為固定節(jié)點;部分功能傳感器節(jié)點用于數(shù)據(jù)采集且不具有路由轉(zhuǎn)發(fā)功能,為 移動節(jié)點;所述6LoWPAN無線傳感器網(wǎng)絡(luò)傳感器節(jié)點的IPv6地址由兩個部分組成第一部分是 全局路由前綴,一個6LoWPAN無線傳感器網(wǎng)絡(luò)中所有傳感器節(jié)點的IPv6地址的全局路由前 綴都相同;第二部分是傳感器節(jié)點ID,用于唯一的標(biāo)識一個6LoWPAN網(wǎng)絡(luò)中的傳感器節(jié)點, 其值為傳感器節(jié)點出廠時設(shè)置的初始ID號,其在一個6LoWPAN無線傳感器網(wǎng)絡(luò)中具有唯一 性;傳感器節(jié)點的鏈路地址為其IPv6地址的傳感器節(jié)點ID ;全功能傳感器節(jié)點包括一個路由表,路由表項包括五個域,分別為目的傳感器節(jié)點鏈 路地址、第一下一跳鏈路地址、第二下一跳鏈路地址、路由代價域以及生存時間域;目的傳 感器節(jié)點鏈路地址記錄目的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID,第一下一跳鏈路地址 記錄到達目的傳感器節(jié)點的下一跳節(jié)點IPv6地址的傳感器節(jié)點ID,第二下一跳鏈路地址 記錄到達目的傳感器節(jié)點的下一跳節(jié)點的下一跳節(jié)點IPv6地址的傳感器節(jié)點ID,路由代 價域為路由表所在全功能傳感器節(jié)點到達目的傳感器節(jié)點的跳數(shù),生存時間域記錄路由表 項的生存時間域,生存時間域隨機器時鐘自動衰減,當(dāng)生存時間域衰減為0時,路由表項 從路由表中自動刪除,路由表項每被使用一次,其生存時間域都會被設(shè)置為最大生存時間 域;全功能傳感器節(jié)點包括一個臨時路由表,用于存儲建立路由時的臨時數(shù)據(jù);臨時路由 表項包括四個域,分別為目的傳感器節(jié)點鏈路地址、源傳感器節(jié)點鏈路地址、路由代價域及 生存時間域;目的傳感器節(jié)點鏈路地址記錄目的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID,源 傳感器節(jié)點鏈路地址記錄發(fā)起路由發(fā)現(xiàn)過程的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID,路 由代價域記錄發(fā)送路由查詢幀的源節(jié)點到達本節(jié)點的跳數(shù),生存時間域記錄臨時路由表項 的生存時間域,當(dāng)生存時間域衰減為0時,自動從臨時路由表中刪除。
2.根據(jù)權(quán)利要求1所述的一種6LoWPAN無線傳感器網(wǎng)絡(luò)路由方法,其特征在于,所述傳 感器節(jié)點采用路由查詢幀和路由響應(yīng)幀建立到達目的傳感器節(jié)點的路由路徑;路由查詢幀包含命令幀標(biāo)識符、最終目的節(jié)點域、路由代價域以及路由路徑域;所述命 令幀標(biāo)識符的最高比特位標(biāo)識轉(zhuǎn)發(fā)此幀的傳感器節(jié)點類型,0為部分功能傳感器節(jié)點,1為 全功能傳感器節(jié)點,余下七個比特位標(biāo)識路由查詢命令幀類型,其值為OxOa ;最終目的節(jié) 點域為目的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID ;路由代價域為源傳感器節(jié)點到達轉(zhuǎn)發(fā) 此幀的跳數(shù);路由路徑域記錄源傳感器節(jié)點到達轉(zhuǎn)發(fā)此幀所經(jīng)過中間節(jié)點IPv6地址的傳 感器節(jié)點ID的集合;路由查詢幀的目的地址值為廣播地址OxfTfT,源地址值為轉(zhuǎn)發(fā)此幀的 全功能傳感器節(jié)點的傳感器節(jié)點ID ;路由響應(yīng)幀包含命令幀標(biāo)識符、最終目的節(jié)點域、路由代價域以及路由路徑域,其中, 命令幀標(biāo)識符的最高比特位標(biāo)識轉(zhuǎn)發(fā)此幀的傳感器節(jié)點類型,0為部分功能傳感器節(jié)點,1 為全功能傳感器節(jié)點,余下七個比特標(biāo)識路由查詢命令幀類型,其值為OxOb ;最終目的節(jié) 點域為目的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID ;路由代價域為源傳感器節(jié)點到達目的 傳感器節(jié)點的跳數(shù);路由路徑域記錄源傳感器節(jié)點到達目的節(jié)點所經(jīng)過中間節(jié)點IPv6地址的傳感器節(jié)點ID的集合;路由響應(yīng)幀的目的地址為路由路徑域中的下一跳節(jié)點的傳感 器節(jié)點ID ;路由響應(yīng)幀的源地址為轉(zhuǎn)發(fā)此幀的全功能傳感器節(jié)點的傳感器節(jié)點ID ; 所述傳感器節(jié)點采用路由修復(fù)幀和路由修復(fù)響應(yīng)幀實現(xiàn)路由修復(fù); 所述路由修復(fù)幀包含命令幀標(biāo)識符、最終目的節(jié)點域、路由代價域以及路由路徑域,其 中,命令幀標(biāo)識符的最高比特位標(biāo)識轉(zhuǎn)發(fā)此幀的傳感器節(jié)點類型,0為部分功能傳感器節(jié) 點,1為全功能傳感器節(jié)點,余下七個比特標(biāo)識路由查詢命令幀類型,其值為OxOc ;最終目 的節(jié)點域為目的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID ;路由代價域為源傳感器節(jié)點到達 轉(zhuǎn)發(fā)此幀的跳數(shù);路由路徑域記錄源傳感器節(jié)點到達轉(zhuǎn)發(fā)此幀所經(jīng)過中間節(jié)點IPv6地址 的傳感器節(jié)點ID的集合;路由查詢幀的目的地址值為廣播地址OxfTfT,源地址值為轉(zhuǎn)發(fā)此 幀的全功能傳感器節(jié)點的傳感器節(jié)點ID ;所述路由修復(fù)響應(yīng)幀包含命令幀標(biāo)識符、最終目的節(jié)點域、路由代價域以及路由路徑 域,其中,命令幀標(biāo)識符的最高比特位標(biāo)識轉(zhuǎn)發(fā)此幀的傳感器節(jié)點類型,0為部分功能傳感 器節(jié)點,1為全功能傳感器節(jié)點,余下七個字節(jié)標(biāo)識路由查詢命令幀類型,其值為OxOd;最 終目的節(jié)點域為目的傳感器節(jié)點IPv6地址的傳感器節(jié)點ID ;路由代價域為源傳感器節(jié)點 到達目的傳感器節(jié)點的跳數(shù);路由路徑域記錄源傳感器節(jié)點到達目的節(jié)點所經(jīng)過中間節(jié) 點IPv6地址的傳感器節(jié)點ID的集合;路由響應(yīng)幀的目的地址為路由路徑域中的下一跳節(jié) 點的傳感器節(jié)點ID ;路由響應(yīng)幀的源地址為轉(zhuǎn)發(fā)此幀的全功能傳感器節(jié)點的傳感器節(jié)點 ID。
3.根據(jù)權(quán)利要求2所述的一種6LoWPAN無線傳感器網(wǎng)絡(luò)路由方法,其特征在于,源部 分功能傳感器節(jié)點與目的部分功能傳感器節(jié)點進行通信時,源節(jié)點選擇下一跳節(jié)點的過程 為步驟301 源節(jié)點在一跳范圍內(nèi)廣播路由查詢命令幀,命令幀的最終目的節(jié)點域為目 的節(jié)點的傳感器節(jié)點ID,命令幀標(biāo)識符的最高比特位為0 ;步驟302 判斷接收到路由查詢命令幀的節(jié)點是否為目的節(jié)點,如果是,進行步驟303, 否則進行步驟304 ;步驟303 判斷接收到路由查詢命令幀的節(jié)點是否為全功能傳感器節(jié)點,如果是,進行 步驟305,否則進行步驟313 ;步驟304 目的節(jié)點向源節(jié)點返回路由響應(yīng)幀,幀的源地址為源節(jié)點的傳感器節(jié)點ID, 路由代價域為1,進行步驟308;步驟305 判斷全功能傳感器節(jié)點的路由表是否存在到達目的節(jié)點的路由表項,如果 存在,進行步驟307,否則進行步驟306 ;步驟306 目的節(jié)點向源節(jié)點返回路由響應(yīng)幀,路由響應(yīng)幀的路由代價域為0,進行步 驟 308 ;步驟307:目的節(jié)點向源節(jié)點返回路由響應(yīng)幀,路由響應(yīng)幀的路由代價域為其到達目 的節(jié)點的跳數(shù);步驟308 判斷源節(jié)點是否收到來自目的節(jié)點的路由響應(yīng)幀,如果收到,進行步驟309, 否則進行步驟310 ;步驟309 源節(jié)點直接將數(shù)據(jù)幀發(fā)送給目的節(jié)點,進行步驟313 ;步驟310 判斷源節(jié)點是否收到路由代價域不為0的路由響應(yīng)幀,如果收到,進行步驟·311,否則進行步驟312 ;步驟311 源節(jié)點選擇路由代價域最小的全功能傳感器節(jié)點為下一跳節(jié)點,并將數(shù)據(jù) 幀發(fā)送給下一跳節(jié)點,進行步驟313 ;步驟312 源節(jié)點選擇返回信號最強的全功能傳感器節(jié)點作為下一跳節(jié)點并將數(shù)據(jù)幀 發(fā)送給下一跳節(jié)點; 步驟313 結(jié)束。
4.根據(jù)權(quán)利要求2或3所述的一種6LoWPAN無線傳感器網(wǎng)絡(luò)路由方法,其特征在于,源 全功能傳感器節(jié)點建立到達目的節(jié)點的路由路徑的過程為步驟401 源全功能傳感器節(jié)點在一跳范圍內(nèi)廣播路由查詢命令幀,命令幀的最終目 的節(jié)點域為目的節(jié)點的傳感器節(jié)點ID,命令幀標(biāo)識符的最高比特位為1,路由代價域為1, 路由路徑域為源全功能傳感器節(jié)點的傳感器節(jié)點ID ;步驟402 判斷目的節(jié)點是否收到路由查詢幀,如果收到,執(zhí)行步驟413 ;否則執(zhí)行步驟·403 ;步驟403 判斷接收到路由查詢命令幀的節(jié)點是否為全功能傳感器節(jié)點,如果是,執(zhí)行 步驟404,否則執(zhí)行步驟422 ;步驟404:判斷全功能傳感器節(jié)點是否在路由查詢幀的路由路徑域,如果在,執(zhí)行步驟 422,否則執(zhí)行步驟405 ;步驟405 判斷全功能傳感器節(jié)點查看路由表中是否存在到達目的節(jié)點的路由表項, 如果存在,執(zhí)行步驟406,否則執(zhí)行步驟407 ;步驟406 全功能傳感器節(jié)點返回路由響應(yīng)幀,幀的源地址為其傳感器節(jié)點ID,路由代 價域為路由表中相應(yīng)表項的路由代價域,路由路徑域為路由查詢幀的路由路徑域與全功能 傳感器節(jié)點的傳感器節(jié)點ID及其路由表項中第一下一跳鏈路地址和第二下一跳鏈路地址 的集合,執(zhí)行步驟414;步驟407 判斷全功能借點查看路由查詢幀中的路由代價域值是否小于設(shè)定的最大跳 數(shù),如果小于,執(zhí)行步驟408,否則執(zhí)行步驟422 ;步驟408 全功能傳感器節(jié)點將路由查詢幀的路由代價域值遞增1并將自己的傳感器 節(jié)點ID添加到路由路徑域;步驟409 全功能傳感器節(jié)點查看臨時路由表中是否存在設(shè)定路由表項,所述路由表 項中源傳感器節(jié)點鏈路地址為源全功能傳感器節(jié)點的傳感器節(jié)點ID,且目的傳感器節(jié)點鏈 路地址域為目的節(jié)點的傳感器節(jié)點ID,如果有,執(zhí)行步驟410,否則執(zhí)行步驟412 ;步驟410 全功能傳感器節(jié)點查看路由查詢幀的路由代價域值是否小于臨時路由表項 中的路由代價域值,如果是,執(zhí)行步驟411,否則執(zhí)行步驟422;步驟411 全功能傳感器節(jié)點將臨時路由表中的路由代價域值更新為路由查詢幀的路 由代價域值,廣播路由查詢幀,執(zhí)行步驟402 ;步驟412 全功能傳感器節(jié)點在臨時路由表中建立一條新的路由表項,目的鏈路地址 為目的節(jié)點的傳感器節(jié)點ID,源鏈路地址為源全功能傳感器節(jié)點的傳感器節(jié)點ID,路由代 價域為路由查詢幀中路由代價域值,廣播路由查詢幀,執(zhí)行步驟402 ;步驟413 在設(shè)定時間后,目的節(jié)點向路由代價域值最小的路由查詢幀的源地址發(fā)送 路由響應(yīng)幀,響應(yīng)幀的源地址為其傳感器節(jié)點ID,路由路徑域值為路由查詢幀的路由路徑域值,目的地址為路由路徑域值中的第一個全功能傳感器節(jié)點的傳感器節(jié)點ID,路由代價 域為1,最終目的節(jié)點域值為路由查詢幀的最終目的節(jié)點值;步驟414:全功能傳感器節(jié)點收到路由響應(yīng)幀后,刪除臨時路由表中的對應(yīng)表項并將 路由響應(yīng)幀的路由代價域域值遞增1 ;步驟415 判斷全功能傳感器節(jié)點查看路由表中是否已經(jīng)存在到達目的節(jié)點的路由表 項,如果存在,執(zhí)行步驟417,否則執(zhí)行步驟416 ;步驟416 全功能傳感器節(jié)點添加一條路由表項,目的傳感器節(jié)點鏈路地址為路由響 應(yīng)幀中最終目的節(jié)點域值,第一下一跳鏈路地址和第二下一跳鏈路地址值從路由響應(yīng)幀的 路由路徑域獲取,路由代價域為路由響應(yīng)幀的路由代價域值,執(zhí)行步驟419 ;步驟417:判斷全功能傳感器節(jié)點路由表項中的路由代價域是否大于路由響應(yīng)幀的路 由代價域值,如果大于,執(zhí)行步驟418,否則執(zhí)行步驟422 ;步驟418:全功能傳感器節(jié)點更新路由表項值,第一下一跳鏈路地址和第二下一跳鏈 路地址值從路由響應(yīng)幀的路由路徑域獲取,路由代價域為路由響應(yīng)幀的路由代價域值;步驟419:判斷收到路由響應(yīng)幀的全功能傳感器節(jié)點是否為源全功能傳感器節(jié)點,如 果是,執(zhí)行步驟421,否則執(zhí)行步驟420 ;步驟420 收到路由響應(yīng)幀的全功能傳感器節(jié)點將目的地址更新為路由響應(yīng)幀的路由 路徑域的下一跳節(jié)點,發(fā)送路由響應(yīng)幀,執(zhí)行步驟414;步驟421 源全功能傳感器節(jié)點根據(jù)路由表中到達目的節(jié)點的路由表項,將數(shù)據(jù)幀發(fā) 送到目的節(jié)點;步驟422:過程結(jié)束。
5.根據(jù)權(quán)利要求4所述的一種6LoWPAN無線傳感器網(wǎng)絡(luò)路由方法,其特征在于,當(dāng)全功 能傳感器節(jié)點檢測出到達目的節(jié)點的路由表項中第一下一跳鏈路地址無法到達時,全功能 傳感器節(jié)點建立到達第二下一跳鏈路地址的路由路徑從而修復(fù)到達目的節(jié)點的路由路徑; 全功能傳感器節(jié)點采用路由修復(fù)幀和路由修復(fù)響應(yīng)幀建立到達第二下一跳鏈路地址的路 由路徑,其過程為步驟501 源全功能傳感器節(jié)點在一跳范圍內(nèi)廣播路由修復(fù)命令幀,命令幀的最終目 的節(jié)點域為第二下一跳鏈路地址的傳感器節(jié)點ID,命令幀標(biāo)識符的最高比特位為1,路由 代價域為0,路由路徑域為源全功能傳感器節(jié)點的傳感器節(jié)點ID和第二下一跳鏈路地址的 傳感器節(jié)點ID ;步驟502 判斷第二下一跳鏈路地址是否收到路由修復(fù)幀,如果收到,執(zhí)行步驟509,否 則執(zhí)行步驟503 ;步驟503 判斷接收到路由修復(fù)幀的全功能傳感器節(jié)點是否不在路由查詢幀的路由路 徑域且路由修復(fù)幀中的路由代價域值小于預(yù)定最大跳數(shù),如果是,執(zhí)行步驟504,否則執(zhí)行 步驟518 ;步驟504 全功能傳感器節(jié)點將路由修復(fù)幀的路由代價域值遞增1并將自己的傳感器 節(jié)點ID添加到路由路徑域;步驟505:全功能傳感器節(jié)點查看臨時路由表中是否存在設(shè)定路由表項,所述路由表 項的源傳感器節(jié)點鏈路地址為源全功能傳感器節(jié)點的傳感器節(jié)點ID,且目的傳感器節(jié)點 鏈路地址域為第二下一跳鏈路地址的傳感器節(jié)點ID,如果是,執(zhí)行步驟507,否則執(zhí)行步驟步驟506 全功能傳感器節(jié)點在臨時路由表中建立一條新的路由表項,目的鏈路地址 為第二下一跳鏈路地址的傳感器節(jié)點ID,源鏈路地址為源全功能傳感器節(jié)點的傳感器節(jié)點 ID,路由代價域為路由修復(fù)幀中路由代價域值,廣播路由修復(fù)幀,執(zhí)行步驟502 ;步驟507 全功能傳感器節(jié)點判斷路由修復(fù)幀的路由代價域值是否小于臨時路由表項 中的路由代價域值,如果是,執(zhí)行步驟508,否則執(zhí)行步驟518 ;步驟508 所述全功能傳感器節(jié)點將臨時路由表中的路由代價域值更新為路由修復(fù)幀 的路由代價域值,廣播路由修復(fù)幀,執(zhí)行步驟502 ;步驟509 在設(shè)定時間后,第二下一跳鏈路地址向路由代價域值最小的路由修復(fù)幀的 源地址發(fā)送路由修復(fù)響應(yīng)幀,幀源地址為其傳感器節(jié)點ID,路由路徑域值為路由修復(fù)幀的 路由路徑域值與第二下一跳鏈路地址的傳感器節(jié)點ID以及第二下一跳鏈路地址到達目的 節(jié)點的路由表項中的第一下一跳鏈路地址與第二下一跳鏈路地址之和,目的地址為路由路 徑域值中第二下一跳鏈路地址前邊節(jié)點的傳感器節(jié)點ID,路由代價域為第二下一跳鏈路地 址中到達目的節(jié)點路由表項中的路由代價域,最終目的節(jié)點域值為路由修復(fù)幀的最終目的 節(jié)點值;步驟510:全功能傳感器節(jié)點收到路由修復(fù)響應(yīng)幀后,刪除臨時路由表中的對應(yīng)表項 并將路由修復(fù)響應(yīng)幀的路由代價域值遞增1 ;步驟511 全功能傳感器節(jié)點查看路由表中是否已經(jīng)存在到達目的節(jié)點的路由表項, 如果是,執(zhí)行步驟513,否則執(zhí)行步驟512 ;步驟512 全功能傳感器節(jié)點在路由表中添加一條路由表項,目的傳感器節(jié)點鏈路地 址為目的節(jié)點的傳感器節(jié)點ID,第一下一跳鏈路地址和第二下一跳鏈路地址值從路由響應(yīng) 幀的路由路徑域獲取,路由代價域為路由響應(yīng)幀的路由代價域值,執(zhí)行步驟515 ;步驟513 全功能傳感器節(jié)點路由表項中的路由代價域是否大于路由修復(fù)響應(yīng)幀的路 由代價域值,如果是,執(zhí)行步驟514,否則執(zhí)行步驟518 ;步驟514:全功能傳感器節(jié)點更新路由表項值,第一下一跳鏈路地址和第二下一跳鏈 路地址值從路由修復(fù)響應(yīng)幀的路由路徑域獲取,路由代價域為路由修復(fù)響應(yīng)幀的路由代價 域值;步驟515 判斷收到路由響應(yīng)幀的全功能傳感器節(jié)點是否為源全功能傳感器節(jié)點,如 果是,執(zhí)行步驟517,否則執(zhí)行步驟516 ;步驟516:收到路由響應(yīng)幀的全功能傳感器節(jié)點將目的地址更新為路由修復(fù)響應(yīng)幀的 路由路徑域的下一跳節(jié)點,發(fā)送路由修復(fù)響應(yīng)幀,執(zhí)行步驟510 ;步驟517 源功能節(jié)點根據(jù)路由表中到達目的節(jié)點的路由表項,將數(shù)據(jù)幀發(fā)送到目的 節(jié)占.I— /、、、 步驟518 結(jié)束。
6.根據(jù)權(quán)利要求5所述的一種6LoWPAN無線傳感器網(wǎng)絡(luò)路由方法,其特征在于,當(dāng)部分 功能傳感器節(jié)點移動引起路由更新時,全功能傳感器節(jié)點采用如下步驟進行路由更新步驟601 全功能傳感器節(jié)點定期向路由表中路由代價域為1的路由表項中的目的部 分功能傳感器節(jié)點發(fā)送查詢命令幀;步驟602 部分功能傳感器節(jié)點收到查詢命令幀后,向全功能傳感器節(jié)點返回響應(yīng)命令幀;步驟603 在設(shè)定時間內(nèi),全功能傳感器節(jié)點是否收到部分功能傳感器節(jié)點返回的響 應(yīng)命令幀?如果是,進行步驟609,否則進行步驟604 ;步驟604:全功能傳感器節(jié)點刪除部分功能節(jié)點的相關(guān)路由表項,同時廣播路由刪除 命令幀,命令幀負載為部分功能節(jié)點的傳感器節(jié)點ID以及所經(jīng)過節(jié)點的跳數(shù),所述最大設(shè) 定跳數(shù)為10 ;步驟605:收到路由刪除幀的全功能傳感器節(jié)點收到路由刪除命令幀后,查看路由表 是否存在設(shè)定路由表項,所述路由表項的目的鏈路地址等于部分功能節(jié)點傳感器節(jié)點ID, 且第一下一跳鏈路地址值等于路由刪除命令幀源地址,如果存在,進行步驟606,否則進行 步驟609 ;步驟606 收到路由刪除幀的全功能傳感器節(jié)點從路由表中刪除部分功能節(jié)點所對應(yīng) 的路由表項,并將路由刪除幀中的所經(jīng)過跳數(shù)遞增1 ;步驟607 判斷路由刪除幀中的所經(jīng)過跳數(shù)是否小于最大預(yù)定跳數(shù),如果是,進行步驟 608,否則進行步驟609 ;步驟608 收到路由刪除幀的全功能傳感器節(jié)點繼續(xù)廣播路由刪除命令幀,執(zhí)行步驟605 ;步驟609 結(jié)束。
全文摘要
本發(fā)明提供了一種6LoWPAN無線傳感器網(wǎng)絡(luò)路由方法,6LoWPAN無線傳感器網(wǎng)絡(luò)包含全功能傳感器節(jié)點和部分功能傳感器節(jié)點,傳感器節(jié)點的IPv6地址由兩個部分組成第一部分是全局路由前綴;第二部分是傳感器節(jié)點ID。全功能傳感器節(jié)點包括一個路由表,路由表項包括五個域,分別為目的傳感器節(jié)點鏈路地址、第一下一跳鏈路地址、第二下一跳鏈路地址、路由代價域以及生存時間域。傳感器節(jié)點通過路由表建立到達目的傳感器節(jié)點的路由路徑從而實現(xiàn)與目的傳感器節(jié)點的數(shù)據(jù)通信,當(dāng)路由路徑中的全功能傳感器節(jié)點失效時,可通過路由表自動實現(xiàn)路由修復(fù)功能,無需重新建立路由路徑,節(jié)省了數(shù)據(jù)路由開銷,縮短了數(shù)據(jù)路由延遲。
文檔編號H04W40/00GK102035731SQ20101055615
公開日2011年4月27日 申請日期2010年11月23日 優(yōu)先權(quán)日2010年11月23日
發(fā)明者王曉喃 申請人:常熟理工學(xué)院