一種無線網(wǎng)絡路由的實現(xiàn)方法
【技術領域】
[0001] 本發(fā)明涉及一種實現(xiàn)方法,尤其涉及的是一種無線網(wǎng)絡路由的實現(xiàn)方法。
【背景技術】
[0002] 無線網(wǎng)絡作為一種新型通信網(wǎng)絡,能夠實現(xiàn)節(jié)點與節(jié)點之間的多跳無線通信。隨 著無線網(wǎng)絡技術的不斷發(fā)展以及各種新應用的不斷涌現(xiàn),迫切需要無線網(wǎng)絡能夠接入互聯(lián) 網(wǎng)以滿足用戶急劇增長的應用需求。
[0003] 無線網(wǎng)絡作為一種特殊類型的移動自組網(wǎng),具有移動速度快、節(jié)點數(shù)量多、覆蓋面 積大等特點。基于IPv6的互聯(lián)網(wǎng)(以下簡稱IPv6網(wǎng)絡)具有移動性支持、地址資源豐富 以及擴展性強等優(yōu)點。因此,無線網(wǎng)絡接入IPv6網(wǎng)絡成為滿足用戶應用需求的理想解決方 案。
[0004] 目前的研究人員提出了無線網(wǎng)絡通過接入基于IPv6的互聯(lián)網(wǎng)獲取網(wǎng)絡服務的模 式并定義了相應的協(xié)議棧,但是由于無線網(wǎng)絡網(wǎng)的體系結構與IPv6網(wǎng)絡不通,現(xiàn)有的接入 方法具有一些局限性。因此需要提出一種無線網(wǎng)絡的通信實現(xiàn)方法,從而降低數(shù)據(jù)丟失率, 提尚服務質量。
【發(fā)明內容】
[0005] 發(fā)明目的:本發(fā)明所要解決的技術問題是針對現(xiàn)有技術的不足,提供一種基于定 位信息的車聯(lián)網(wǎng)實現(xiàn)方法。
[0006] 技術方案:本發(fā)明公開了一種無線網(wǎng)絡路由的實現(xiàn)方法,其特征在于,所述無線網(wǎng) 絡包括一個以上接入路由器和一個以上無線節(jié)點兩種節(jié)點,無線網(wǎng)絡通過接入路由器接入 到互聯(lián)網(wǎng);
[0007] 無線節(jié)點設置在道路兩邊的基礎設施上,例如路燈等,相鄰無線節(jié)點或者無線節(jié) 點與相鄰接入路由器之間能夠互相通信;兩個路口之間的道路稱為路段,路口包括十字路 口,三叉路口和五岔路口,路段中的無線節(jié)點劃分為三類:開始節(jié)點,普通節(jié)點和結束節(jié)點; 開始節(jié)點的鄰居節(jié)點數(shù)量大于2,結束節(jié)點的鄰居節(jié)點數(shù)量等于1或者大于2,普通節(jié)點的 鄰居節(jié)點數(shù)量等于2 ;
[0008] -個路段中的所有節(jié)點構成一個超級節(jié)點;一個接入路由器以及所有通過該接入 路由器連接到互聯(lián)網(wǎng)的超級節(jié)點構建成一個子網(wǎng),該子網(wǎng)的拓撲結構為樹狀結構,稱為超 級節(jié)點樹,超級節(jié)點樹的根節(jié)點為接入路由器;一個超級節(jié)點中的開始節(jié)點與該超級節(jié)點 的父超級節(jié)點中的結束節(jié)點邏輯相連;
[0009] 無線網(wǎng)絡的節(jié)點的IPv6地址由三個部分構成,第一部分為全局網(wǎng)絡前綴,唯一標 識一個子網(wǎng),一個子網(wǎng)內所有無線節(jié)點的全局網(wǎng)絡前綴都相同,等于相同子網(wǎng)內接入路由 器的全局網(wǎng)絡前綴;第二部分為i比特的超級節(jié)點ID,唯一標識一個超級節(jié)點及對應路段, 位于一個路段中的所有無線節(jié)點的超級節(jié)點ID都相同;第三部分為j比特的節(jié)點ID,唯一 標識一個無線節(jié)點;
[0010] 接入路由器的IPv6地址預先設置,接入路由器的超級節(jié)點ID為0 ;超級節(jié)點ID和 節(jié)點ID構成鏈路地址;鏈路地址的長度為16比特或者64比特,即i和j的和等于16或者 64 ;
[0011] 超級節(jié)點的超級節(jié)點ID的有效長度1,1 < i,有效長度1與該超級節(jié)點所在超級 節(jié)點樹所處的深度d成正比,如公式(1)所示,其中,f-1是一個超級節(jié)點擁有的最大子節(jié) 點數(shù)量,一般情況下,C等于2;
[0012] 1 = dXc 公式(1);
[0013] 無線節(jié)點啟動后,用自己的硬件ID作為臨時鏈路地址,例如MAC地址,并定期廣播 信標幀;無線節(jié)點通過接收鄰居無線節(jié)點的信標幀來判斷鄰居節(jié)點的數(shù)量;如果一個無線 節(jié)點的鄰居節(jié)點數(shù)量為1,則將自己標記上結束節(jié)點;如果一個無線節(jié)點的鄰居節(jié)點數(shù)量 等于2,則將自己標記為普通節(jié)點;如果一個無線節(jié)點的鄰居節(jié)點數(shù)量大于2,則將自己標 記為開始節(jié)點;
[0014] 無線網(wǎng)絡初始狀態(tài)下,一個超級節(jié)點中最多能包含2個開始節(jié)點,一個接入路由 器或者一個結束節(jié)點廣播的信標幀負載為全局網(wǎng)絡前綴以及可分配的超級節(jié)點ID的數(shù) 量;開始節(jié)點和普通節(jié)點廣播的信標幀的負載為全局網(wǎng)絡前綴。
[0015] 本發(fā)明提出了基于超級節(jié)點的體系結構,超級節(jié)點的體系結構主要優(yōu)點在于能夠 提高地址配置成功率,從而縮短通信延遲。
[0016] 本發(fā)明所述方法中,接入路由器和結束節(jié)點保存一個超級節(jié)點ID分配表,每個分 配表包含f-1個表項,每個表項由三個域構成:超級節(jié)點ID域,分配狀態(tài)域,生命周期;分 配狀態(tài)域有三個值:未分配,半分配,已分配;未分配表示超節(jié)點ID可供分配,半分配表示 超級節(jié)點ID已經(jīng)分配但是未收到確認信息,如果在規(guī)定時間中沒有收到確認信息,那么該 超級節(jié)點ID則轉變?yōu)槲捶峙錉顟B(tài),已分配狀態(tài)則表示超級節(jié)點ID已經(jīng)分配,不能再分配給 其他節(jié)點;
[0017] 如果一個超級節(jié)點中的開始節(jié)點檢測到接入路由器為其鄰居節(jié)點,那么所述開始 節(jié)點從鄰居路由器獲取超級節(jié)點ID,否則選擇鏈路地址有效長度最?。瓷疃茸钚。┣铱?分配超級節(jié)點ID數(shù)量較大的結束節(jié)點獲取超級節(jié)點ID ;如果開始節(jié)點檢測到兩個以上結 束節(jié)點的鏈路地址有效長度最小且可分配超級節(jié)點ID數(shù)量都相同,那么所述開始節(jié)點選 擇從信號最強的結束節(jié)點獲取超級節(jié)點ID ;
[0018] 開始節(jié)點SN1從結束節(jié)點EN1獲取超級節(jié)點ID的過程包括以下步驟:
[0019] 步驟101:開始;
[0020] 步驟102 :開始節(jié)點SN1向結束節(jié)點EN1發(fā)送超級節(jié)點請求命令幀,超級節(jié)點請求 命令幀的源鏈路地址為臨時鏈路地址;
[0021] 步驟103 :結束節(jié)點EN1從超級節(jié)點ID分配表中選取最小未分配的值X,將該值X 標記為半分配狀態(tài),然后構建一個有效長度為c+Ll的超級節(jié)點ID,其中L1為結束節(jié)點EN1 的超級節(jié)點ID的有效長度,c的比特值設置為X,L1比特值設置為結束節(jié)點EN1的超級節(jié) 點ID,結束節(jié)點EN1向開始節(jié)點SN1返回一個超級節(jié)點響應命令幀,超級節(jié)點響應命令幀的 負載為構建的超級節(jié)點ID ;
[0022] 步驟104 :開始節(jié)點SN1收到超級節(jié)點響應命令幀后,在超級節(jié)點內廣播節(jié)點ID 確認幀,節(jié)點ID確認命令幀的負載為全局網(wǎng)絡前綴和結束節(jié)點EN1分配開始節(jié)點SN1的超 級節(jié)點ID ;
[0023] 步驟105 :如果收到節(jié)點ID確認命令幀的節(jié)點為普通節(jié)點,則進行步驟106,否則 進行步驟111 ;
[0024] 步驟106 :如果普通節(jié)點第一次收到節(jié)點ID確認命令幀,則進行步驟107,否則進 行步驟108 ;
[0025] 步驟107 :第一次收到節(jié)點ID確認命令幀的普通節(jié)點轉發(fā)該節(jié)點ID確認命令幀 并且記錄節(jié)點ID確認命令幀中的全局網(wǎng)絡前綴、超級節(jié)點ID以及自己到達該節(jié)點ID確 認命令幀的源節(jié)點的跳數(shù),執(zhí)行步驟105 ;源節(jié)點即為節(jié)點ID確認命令幀源地址指定的節(jié) 占 .
[0026] 步驟108 :如果滿足條件一,則進行步驟109,否則進行步驟110 ;
[0027] 條件一的三個輸入?yún)?shù)分別為:普通節(jié)點第二次收到的節(jié)點ID確認命令幀,第二 次收到節(jié)點ID確認命令幀的普通節(jié)點,普通節(jié)點第一次收到的節(jié)點ID確認命令幀;
[0028] 條件一:普通節(jié)點第二次收到的節(jié)點ID確認命令幀中的超級節(jié)點ID的有效長度 小于該普通節(jié)點記錄的超級節(jié)點ID的有效長度,或者普通節(jié)點第二次收到的節(jié)點ID確認 命令幀中的超級節(jié)點ID的有效長度等于普通節(jié)點記錄的超級節(jié)點ID的有效長度且第二次 收到的節(jié)點ID確認命令幀的源鏈路地址小于該普通節(jié)點第一次收到的節(jié)點ID確認命令幀 的源鏈路地址;
[0029] 步驟109 :第二次收到節(jié)點ID確認命令幀的普通節(jié)點丟棄原來記錄的數(shù)據(jù),并記 錄第二次收到的節(jié)點ID確認命令幀中的全局網(wǎng)絡前綴,超級節(jié)點ID以及到達第二次收到 的節(jié)點ID確認命令幀源節(jié)點的跳數(shù),同時轉發(fā)第二次收到的節(jié)點ID確認命令幀,執(zhí)行步驟 105 ;
[0030] 步驟110 :第二次收到節(jié)點ID確認命令幀的普通節(jié)點丟棄第二次收到的節(jié)點ID 確認命令幀,進彳丁步驟114 ;
[0031] 步驟111 :如果收到節(jié)點ID確認命令幀的開始節(jié)點發(fā)送了超級節(jié)點請求命令幀并 收到了超級節(jié)點響應命令幀且滿足條件二,則進行步驟112,否則進行步驟113 ;
[0032] 條件二的三個輸入?yún)?shù)分別為:收到節(jié)點ID確認命令幀的開始節(jié)點收到的超級 節(jié)點響應命令幀,收到節(jié)點ID確認命令幀的開始節(jié)點,開始節(jié)點收到的節(jié)點ID確認命令 幀;
[0033] 條件二:超級節(jié)點響應命令幀中的超級節(jié)點ID的有效長度小于開始節(jié)點收到的 節(jié)點ID確認命令幀中的超級節(jié)點ID的有效長度,或者超級節(jié)點響應命令幀中的超級節(jié)點 ID的有效長度等于開始節(jié)點收到的節(jié)點ID確認命令幀中的超級節(jié)點ID的有效長度且開始 節(jié)點的臨時鏈路地址小于開始節(jié)點收到的節(jié)點ID確認命令幀的源地址;
[0034] 步驟112 :收到節(jié)點ID確認命令幀的開始節(jié)點在超級節(jié)點內部廣播一個新的節(jié)點 ID確認命令幀,該新的節(jié)點ID確認命令幀負載為全局網(wǎng)絡前綴和獲取的超級節(jié)點ID,進行 步驟105 ;
[0035] 步驟113 :收到節(jié)點ID確認命令幀的開始節(jié)點將自己標記為結束節(jié)點,記錄收到 的節(jié)點ID確認命令幀中的全局網(wǎng)絡前綴和超級節(jié)點ID,以及自己到達節(jié)點ID確認命令幀 的源節(jié)點的跳數(shù);
[0036] 步驟114 :如果開始節(jié)點SN1沒收到節(jié)點ID確認命令幀或者滿足條件三,則進行 步驟115,否則進行步驟117;
[0037] 條件三的三個輸入?yún)?shù)分別為:開始節(jié)點SN1收到的超級節(jié)點響應幀,開始節(jié)點 SN1,開始節(jié)點SN1收到的節(jié)點ID確認命令幀;
[0038] 條件三:開始節(jié)點SN1收到的超級節(jié)點響應命令幀中的超級節(jié)點ID的有效長度小 于開始節(jié)點SN1收到的節(jié)點ID確認命令幀中的超級節(jié)點ID的有效長度,或者開始節(jié)點SN1 收到的超級節(jié)點響應命令幀中的超級節(jié)點ID的有效長度等于開始節(jié)點SN1收到的節(jié)點ID 確認命令幀中的超級節(jié)點ID的有效長度且開始節(jié)點SN1的臨時鏈路地址小于開始節(jié)點SN1 收到的節(jié)點ID確認命令幀的源地址;
[0039] 步驟115 :開始節(jié)點SN1向結束節(jié)點EN1發(fā)送一條超級節(jié)點確認命令幀,該超級節(jié) 點確認命令幀的負載為分配的超級節(jié)點ID ;
[0040] 步驟116 :結束節(jié)點EN1收到超級節(jié)點確認命令幀后,將分配給開始節(jié)點SN1的值 X的狀態(tài)修改為已分配,執(zhí)行步驟118 ;
[0041] 步驟117 :開始節(jié)點SN1將自己標記為結束節(jié)點并且記錄下自己收到的節(jié)點ID確 認命令幀中的全局網(wǎng)絡前綴,超級節(jié)點ID以及自己到達節(jié)點ID確認命令幀的源節(jié)點的跳 數(shù);如果結束節(jié)點EN1在規(guī)定時間內沒有收到超級節(jié)點確認命令幀,將分配給開始節(jié)點SN1 的值X的狀態(tài)修改為未分配;
[0042] 步驟118:結束;
[0043] 通過上述過程,無線網(wǎng)絡中的每個節(jié)點可以獲取地址,并進行正確通信從而提高 網(wǎng)絡服務。由于本發(fā)明以超級節(jié)點為單位進行地址配置,因此大大縮短了地址配置延遲和 通信延遲。
[0044] 開始節(jié)點SN1從接入路由器AR1獲取超級節(jié)點ID的過程包括以下步驟:
[0045] 步驟401:開始;
[0046] 步驟402 :開始節(jié)點SN1向接入路由器AR1發(fā)送超級節(jié)點請求命令幀,超級節(jié)點請 求命令幀的源鏈路地址為臨時鏈路地址;
[0047] 步驟403 :接入路由器AR1從超級節(jié)點ID分配表中選取最小未分配的值X,將該值 X標記為半分配狀態(tài),然后構建一個有效長度為c+L3的超級節(jié)點ID,其中L3為接入路由器 AR1的超級節(jié)點ID的有效長度,c的比特值設置為x,L3比特值設置為接入路由器AR1的超 級節(jié)點ID,接入路由器AR1向開始節(jié)點SN1返回一個超級節(jié)點響應命令幀,超級節(jié)點響應命 令幀的負載為構建的超級節(jié)點ID ;
[0048] 步驟404 :開始節(jié)點SN1收到超級節(jié)點響應命令幀后,在超級節(jié)點內廣播節(jié)點ID 確認幀,節(jié)點ID確認命令幀的負載為全局網(wǎng)絡前綴和接入路由器AR1分配給開始節(jié)點SN1 的超級節(jié)點ID ;
[0049