一種基于定位信息的無線網(wǎng)絡(luò)通信實現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種無線網(wǎng)絡(luò)通信實現(xiàn)方法,尤其涉及的是一種基于定位信息的無線 網(wǎng)絡(luò)通信實現(xiàn)方法。
【背景技術(shù)】
[0002] 無線網(wǎng)絡(luò)作為一種新型通信網(wǎng)絡(luò),能夠?qū)崿F(xiàn)節(jié)點與節(jié)點之間的多跳無線通信。隨 著無線網(wǎng)絡(luò)技術(shù)的不斷發(fā)展以及各種新應(yīng)用的不斷涌現(xiàn),迫切需要無線網(wǎng)絡(luò)能夠接入互聯(lián) 網(wǎng)以滿足用戶急劇增長的應(yīng)用需求。
[0003] 無線網(wǎng)絡(luò)作為一種特殊類型的移動自組網(wǎng),具有移動速度快、節(jié)點數(shù)量多、覆蓋面 積大等特點。基于IPv6的互聯(lián)網(wǎng)(以下簡稱IPv6網(wǎng)絡(luò))具有移動性支持、地址資源豐富 以及擴展性強等優(yōu)點。因此,無線網(wǎng)絡(luò)接入IPv6網(wǎng)絡(luò)成為滿足用戶應(yīng)用需求的理想解決方 案。
[0004] 目前的研究人員提出了無線網(wǎng)絡(luò)通過接入基于IPv6的互聯(lián)網(wǎng)獲取網(wǎng)絡(luò)服務(wù)的模 式并定義了相應(yīng)的協(xié)議棧,但是由于無線網(wǎng)絡(luò)的體系結(jié)構(gòu)與IPv6網(wǎng)絡(luò)不同,現(xiàn)有的接入方 法具有一些局限性。因此需要提出一種無線網(wǎng)絡(luò)的通信實現(xiàn)方法,從而降低數(shù)據(jù)丟失率,提 高服務(wù)質(zhì)量。
【發(fā)明內(nèi)容】
[0005] 發(fā)明目的:本發(fā)明所要解決的技術(shù)問題是針對現(xiàn)有技術(shù)的不足,提供一種基于定 位信息的無線網(wǎng)絡(luò)通信實現(xiàn)方法。
[0006] 技術(shù)方案:本發(fā)明公開了一種基于定位信息的無線網(wǎng)絡(luò)通信實現(xiàn)方法,所述無線 網(wǎng)絡(luò)根據(jù)地理坐標劃分為一個以上移動自組網(wǎng),每個移動自組網(wǎng)覆蓋的面積為長方形,移 動自組網(wǎng)所覆蓋的面積的兩條對角線的交點稱為該移動自組網(wǎng)的中心節(jié)點,其地理坐標為 (x,y),每個移動自組網(wǎng)由橫坐標區(qū)間[x -w,x+w],和縱坐標區(qū)間來標識[y_l,y+l],w為移 動自組網(wǎng)的寬,1為移動自組網(wǎng)的長度;wl取值范圍可以設(shè)置為[lkm, 10km], 1取值范圍可 以設(shè)置為[lkm, IOkm]。
[0007] -個移動自組網(wǎng)內(nèi)包括一個以上的移動節(jié)點,所有移動節(jié)點構(gòu)成一個子網(wǎng),一個 移動自組網(wǎng)由一個以上子網(wǎng)構(gòu)成;
[0008] 每個移動自組網(wǎng)包含一個接入路由器,每個子網(wǎng)包含一個接入節(jié)點,移動自組網(wǎng) 通過該接入路由器接入到互聯(lián)網(wǎng),一個移動自組網(wǎng)內(nèi)的所有接入節(jié)點與該接入路由器相 連,每個接入節(jié)點的地理坐標具有唯一性;移動節(jié)點具有路由和轉(zhuǎn)發(fā)功能;
[0009] 每個接入路由器由一個全局IPv6地址標識,標識一個接入路由器的全局IPv6地 址由五部分構(gòu)成,第一部分和第二部分為32比特的網(wǎng)絡(luò)橫坐標域和32比特的網(wǎng)絡(luò)縱坐標 域,其值等于移動自組網(wǎng)中心節(jié)點的地理橫坐標和縱坐標;第三部分和第四部分16比特的 長度域和16比特的寬度域,其值為移動自組網(wǎng)所覆蓋面積的長度和寬度;第五部分為32比 特的預(yù)留域,其值為0;
[0010] 每個接入節(jié)點由一個全局IPv6地址標識,標識一個接入節(jié)點的全局IPv6地址由 五部分構(gòu)成,第一部分和第二部分為32比特的網(wǎng)絡(luò)橫坐標域和32比特的網(wǎng)絡(luò)縱坐標域, 其值等于接入節(jié)點所在移動自組網(wǎng)中心節(jié)點的地理橫坐標和縱坐標;第三部分和第四部分 16比特的接入節(jié)點橫坐標域和16比特的接入節(jié)點縱坐標域,其值為接入節(jié)點所在地理位 置的地理橫坐標和地理縱坐標;第五部分為32比特的預(yù)留域,其值為0 ;
[0011] 當移動節(jié)點與其他移動自組網(wǎng)中的節(jié)點通信時,該移動節(jié)點由全局IPv6地址標 識;當移動節(jié)點與同一個移動自組網(wǎng)但是不同子網(wǎng)的節(jié)點通信時,該移動節(jié)點由移動自組 網(wǎng)本地地址標識,當移動節(jié)點與同一個子網(wǎng)內(nèi)的節(jié)點通信時,該移動節(jié)點由子網(wǎng)本地地址 標識;
[0012] 移動節(jié)點的全局IPv6地址由五部分構(gòu)成,第一部分和第二部分為32比特的網(wǎng)絡(luò) 橫坐標域和32比特的網(wǎng)絡(luò)縱坐標域,其值等于接入節(jié)點所在移動自組網(wǎng)中心節(jié)點的地理 橫坐標和縱坐標;第三部分和第四部分16比特的接入節(jié)點橫坐標域和16比特的接入節(jié)點 縱坐標域,其值為接入節(jié)點所在地理位置的地理橫坐標和地理縱坐標;第五部分為32比特 的節(jié)點ID,該節(jié)點ID具有全球唯一性;
[0013] 移動節(jié)點的移動自組網(wǎng)本地地址由四部分構(gòu)成,第一部分為64比特的預(yù)留域,其 值為〇 ;第二部分和第三部分為16比特的接入節(jié)點橫坐標域和16比特的接入節(jié)點縱坐標 域,其值為移動節(jié)點所在子網(wǎng)的接入節(jié)點的地理橫坐標和地理縱坐標;第四部分為32比特 的節(jié)點ID,該節(jié)點ID具有全球唯一性;
[0014] 移動節(jié)點的子網(wǎng)本地地址由兩部分構(gòu)成,第一部分為96比特的預(yù)留域,其值為0 ; 第二部分為32比特的節(jié)點ID,該節(jié)點ID具有全球唯一性;
[0015] 節(jié)點ID的設(shè)置空間為[1,232_1];當無線網(wǎng)絡(luò)劃分為K個移動自組網(wǎng)時,第k移動 自組網(wǎng)中的節(jié)點ID設(shè)置空間P k如公式(1)所示,I < k < K,每個移動自組網(wǎng)的節(jié)點ID空 間由接入路由器來統(tǒng)一維護,即記錄各個節(jié)點ID是否已分配;
[0017] 當移動節(jié)點啟動后,它向所在移動自組網(wǎng)的接入路由器發(fā)送地址請求消息,接入 路由器收到地址請求消息后,向移動節(jié)點返回一個地址響應(yīng)消息,該地址響應(yīng)消息負載為 最小未分配的節(jié)點ID,然后接入路由器將分配給移動節(jié)點的節(jié)點ID標記為已分配狀態(tài);移 動節(jié)點收到地址響應(yīng)消息后,保存該節(jié)點ID,在整個生命周期內(nèi),移動節(jié)點的節(jié)點ID不變;
[0018] 移動節(jié)點通過數(shù)據(jù)地址獲取一個地理坐標的數(shù)據(jù),數(shù)據(jù)地址由四部分構(gòu)成,第一 部分為32比特的節(jié)點ID域,其值為目標移動節(jié)點的節(jié)點ID ;第二部分和第三部分為16比 特的數(shù)據(jù)橫坐標域和16比特的數(shù)據(jù)縱坐標域,數(shù)據(jù)橫坐標和數(shù)據(jù)縱坐標標識數(shù)據(jù)產(chǎn)生的 地理位置,第四部分為數(shù)據(jù)ID域,一個數(shù)據(jù)ID定義一種數(shù)據(jù)類型,其值為與數(shù)據(jù)橫坐標域 和數(shù)據(jù)縱坐標域所標識的地理位置相關(guān)的數(shù)據(jù)類型,例如,由(X,y)坐標標識的地理位置 的溫度。例如數(shù)據(jù)ID值為1的數(shù)據(jù)類型為溫度信息,數(shù)據(jù)ID為2的數(shù)據(jù)類型為空氣污染 度信息等。
[0019] 通過上述網(wǎng)絡(luò)體系結(jié)構(gòu)和地址結(jié)構(gòu),移動節(jié)點可以從距離最近的移動節(jié)點獲取數(shù) 據(jù),因此降低了數(shù)據(jù)獲取延遲和代價。如果本地網(wǎng)絡(luò)沒有數(shù)據(jù),那么移動節(jié)點可以從其他遠 程網(wǎng)絡(luò)獲取數(shù)據(jù),因此提高了數(shù)據(jù)獲取的成功率。
[0020] 本發(fā)明所述方法中,每個接入節(jié)點和移動節(jié)點各自維護一個數(shù)據(jù)索引表,該數(shù)據(jù) 索引表的表項包含四個域:數(shù)據(jù)ID域,地理坐標域,節(jié)點域和生存時間域;其中,節(jié)點域的 值為保存相應(yīng)數(shù)據(jù)的移動節(jié)點的節(jié)點ID,即保存由地理坐標域和數(shù)據(jù)ID域所標識的數(shù)據(jù) 的移動節(jié)點的節(jié)點ID,例如,保存地理坐標(x,y)的數(shù)據(jù)ID為1的數(shù)據(jù)的移動節(jié)點的節(jié)點 ID ;
[0021] 每個接入路由器維護一個數(shù)據(jù)索引表,該數(shù)據(jù)索引表的表項包含四個域:數(shù)據(jù)ID 域,地理坐標域,子網(wǎng)域和生存時間域;其中,子網(wǎng)域的值為保存相應(yīng)數(shù)據(jù)的移動節(jié)點所在 子網(wǎng)的接入節(jié)點的地理坐標,即保存由地理坐標域和數(shù)據(jù)ID域所標識的數(shù)據(jù)的移動節(jié)點 所在子網(wǎng)的接入節(jié)點的地理坐標。
[0022] 本發(fā)明所述方法中,如果移動節(jié)點Nl的地理坐標為(xN1,yN1),位于子網(wǎng)Sl中,子 網(wǎng)Sl的接入節(jié)點為APl,子網(wǎng)Sl位于移動自組網(wǎng)Ml內(nèi),移動自組網(wǎng)Ml的接入路由器為 ARl,移動節(jié)點Nl通過下述過程產(chǎn)生數(shù)據(jù)ID為c的數(shù)據(jù):
[0023] 步驟101 :開始;
[0024] 步驟102 :移動節(jié)點Nl將廣播范圍h設(shè)置為初始值H,例如H值可以設(shè)置為3,然 后廣播一個資源請求消息,資源請求消息源地址為移動節(jié)點Nl的子網(wǎng)本地地址,負載為廣 播范圍h和數(shù)據(jù)ID值c,該消息每轉(zhuǎn)發(fā)一次,廣播范圍h遞減1 ;
[0025] 步驟103 :任意一個接收到資源請求消息的移動節(jié)點判斷自己是否能產(chǎn)生數(shù)據(jù)ID 值c所標識的數(shù)據(jù),如果是進行步驟104,否則進行步驟105 ;
[0026] 步驟104 :接收到資源請求消息的移動節(jié)點返回一個資源響應(yīng)消息,資源響應(yīng)消 息負載為產(chǎn)生的數(shù)據(jù),進行步驟107 ;
[0027] 步驟105 :接收到資源請求消息的移動節(jié)點判斷廣播范圍h是否為0,如果是進行 步驟106,否則進行步驟107;
[0028] 步驟106 :接收到資源請求消息的移動節(jié)點將廣播范圍h遞減1,繼續(xù)廣播該資源 請求消息,進行步驟103 ;
[0029] 步驟107 :如果移動節(jié)點Nl沒有資源響應(yīng)消息,則進行步驟108,否則進行步驟 109 ;
[0030] 步驟108 :移動節(jié)點Nl將初始值H遞增1,返回進行步驟102 ;
[0031] 步驟109 :移動節(jié)點Nl查看所有返回的資源響應(yīng)消息并獲取數(shù)據(jù)ID為c的數(shù)據(jù), 然后向每一個返回資源響應(yīng)消息的移動節(jié)點發(fā)送一個資源確認消息,資源確認消息負載為 移動節(jié)點Nl的地址坐標(x N1,yN1)和數(shù)據(jù)ID為c的數(shù)據(jù),同時移動節(jié)點Nl向接入節(jié)點APl 發(fā)送數(shù)據(jù)創(chuàng)建消息,數(shù)據(jù)創(chuàng)建消息源地址為移動節(jié)點Nl的子網(wǎng)本地地址,目的地址為接入 節(jié)點APl的全局IPv6地址,負載為返回資源響應(yīng)消息的所有移動節(jié)點的節(jié)點ID ;
[0032] 步驟110 :移動節(jié)點收到資源確認消息后,保存地址坐標(xN1,yN1)和數(shù)據(jù)ID值為 c的數(shù)據(jù);接入節(jié)點APl收到數(shù)據(jù)創(chuàng)建消息后,在數(shù)據(jù)索引表中創(chuàng)建一個新表項,數(shù)據(jù)ID域 值為c,地理坐標域值為(xN1,y N1),節(jié)點域值為資源確認消息中的所有返回資源響應(yīng)消息的 移動節(jié)點的節(jié)點ID,生命周期域值為最大生命周期值,例如300分鐘,然后接入節(jié)點APl向 接入路由器ARl發(fā)送一個數(shù)據(jù)創(chuàng)新消息,數(shù)據(jù)創(chuàng)新消息負載為空,源地址為接入節(jié)點APl的 全局IPv6地址,目的地址為接入路由器ARl的全局IPv6地址;
[0033] 步驟111 :接入路由器ARl收到數(shù)據(jù)創(chuàng)建消息后,在數(shù)據(jù)索引表中創(chuàng)建一個新表 項,數(shù)據(jù)ID域值為c,地理坐標域值為(xN1,y N1),子網(wǎng)域值為接入節(jié)點APl的地理坐標,生命 周期域值為最大生命周期值,例如300分鐘;
[0034] 步驟112:結(jié)束。
[0035] 通過上述過程,移動節(jié)點可以產(chǎn)生并發(fā)布數(shù)據(jù)。這樣移動節(jié)點可以從距離最近的 移動節(jié)點獲取數(shù)據(jù),因此降低了數(shù)據(jù)獲取延遲和代價。如果本地網(wǎng)絡(luò)沒有數(shù)據(jù),那么移動節(jié) 點可以從其他遠程網(wǎng)絡(luò)獲取數(shù)據(jù),因此提高了數(shù)據(jù)獲取的成功率。
[0036] 本發(fā)明所述方法中,接入節(jié)點和移動節(jié)點定期廣播信標幀,信標幀的負載為數(shù)據(jù) 索引表;接入節(jié)點或者移動節(jié)點收到鄰居節(jié)點的信標幀后,如果信標幀負載中的數(shù)據(jù)索引 表比自己的數(shù)據(jù)索引表的新,通過比較數(shù)據(jù)索引表的時間戳可知哪個數(shù)據(jù)索引表更新,那 么接入節(jié)點或者移動節(jié)點用信標幀中的數(shù)據(jù)索引表更新自己的數(shù)據(jù)索引表;
[0037] 在移動節(jié)點N位于子網(wǎng)Sl中,子網(wǎng)Sl的接入節(jié)點為APl,子網(wǎng)Sl位于移動自組網(wǎng) Ml內(nèi),移動自組網(wǎng)Ml的接入路由器為AR1,地理位置(xp,yp)位于子網(wǎng)Sl內(nèi)的情況下,如果 移動節(jié)點N準備獲取與地理位置(x p,yp)相關(guān)的數(shù)據(jù)ID為c的數(shù)據(jù),那么移動節(jié)點N查看 數(shù)據(jù)索引表,如果有數(shù)據(jù)ID域值為c且坐標域值為(x p,yp)的表項,那么移動節(jié)點N通過下 述過程獲取數(shù)據(jù):
[0038] 步驟201:開始;
[0039] 步驟202 :移動節(jié)點N查看節(jié)點ID域值為c且坐標域值為(xp,yp)的表項中的節(jié) 點域,然后選擇從距離自己最近的移動節(jié)點Nl獲取數(shù)據(jù),移動節(jié)點N構(gòu)建一個數(shù)據(jù)地址,數(shù) 據(jù)地址的節(jié)點ID為移動節(jié)點Nl的節(jié)點ID,數(shù)據(jù)橫坐標和數(shù)據(jù)縱坐標為(x p,yp),數(shù)據(jù)ID值 為c,然后移動節(jié)點N發(fā)送內(nèi)容請求消息,內(nèi)容請求消息目的地址為數(shù)據(jù)地址,源地址為移 動節(jié)點N的子網(wǎng)本地地址;
[0040] 步驟203:如果接收到內(nèi)容請求消息的移動節(jié)點能夠提供移動節(jié)點N請求的數(shù)據(jù), 那么進行步驟204,否則進行步驟205 ;
[0041] 步驟204 :接收到內(nèi)容請求消息的移動節(jié)點將內(nèi)容請求消息中的目的地址中的節(jié) 點ID更新為自己的節(jié)點ID,然后返回一個數(shù)據(jù)響應(yīng)消息,數(shù)據(jù)響應(yīng)消息的目的地址為節(jié)點 N的子網(wǎng)本地地址,源地址為更新后的數(shù)據(jù)地址,進行步驟206 ;
[0042] 步驟205 :接收到數(shù)據(jù)請求消息的移動節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)請求消息,進行步驟203 ;
[0043] 步驟206 :接收到數(shù)據(jù)響應(yīng)消息的移動節(jié)點保存數(shù)據(jù)響應(yīng)消息中的數(shù)據(jù)并更新數(shù) 據(jù)索引表,即將自己的節(jié)點ID加入到相應(yīng)表項的節(jié)點域中,并廣播信標幀;
[0044] 步驟207 :結(jié)束;
[0045] 如果數(shù)據(jù)索引表中沒有節(jié)點ID域值為c且坐標域值為(xp,yp)的表項,那