專利名稱:一種構(gòu)建6LoWPAN無線傳感器網(wǎng)絡(luò)的實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種構(gòu)建網(wǎng)絡(luò)的實現(xiàn)系統(tǒng),尤其涉及的是一種構(gòu)建6LoWPAN無線傳感器網(wǎng)絡(luò)的實現(xiàn)方法。
背景技術(shù):
隨著下一代網(wǎng)絡(luò)(IPv6網(wǎng)絡(luò))的不斷成熟和發(fā)展,6LoWPAN無線傳感器網(wǎng)絡(luò)已成為未來發(fā)展的必然趨勢。6LoWPAN無線傳感器網(wǎng)絡(luò)具有以下優(yōu)勢(1) IPv6是下一代互聯(lián)網(wǎng)的協(xié)議標準,6LoWPAN無線傳感器網(wǎng)絡(luò)采用IPv6協(xié)議實現(xiàn)與下一代網(wǎng)絡(luò)的全IP通信有助于推動無線傳感器網(wǎng)絡(luò)通信協(xié)議的標準化;(2) IPv6的許多技術(shù)特點(如地址自動配置等)對大規(guī)模無線傳感器網(wǎng)絡(luò)的自組織管理提供了良好支持;(3) IPv6網(wǎng)絡(luò)的組網(wǎng)方式可以供無線傳感器網(wǎng)絡(luò)充分借鑒,使其成為無線傳感器網(wǎng)絡(luò)的一種合理拓展。實現(xiàn)6LoWPAN無線傳感器網(wǎng)絡(luò)首先需要解決的關(guān)鍵問題就是如何構(gòu)建6LoWPAN無線傳感器網(wǎng)絡(luò)體系結(jié)構(gòu),使IPv6地址配置功耗及路由功耗更少,延遲更短。
發(fā)明內(nèi)容
發(fā)明目的本發(fā)明所要解決的技術(shù)問題是針對現(xiàn)有技術(shù)的不足,提供一種構(gòu)建 6LoffPAN無線傳感器網(wǎng)絡(luò)的實現(xiàn)方法。技術(shù)方案本發(fā)明公開了一種構(gòu)建6LoWPAN無線傳感器網(wǎng)絡(luò)的實現(xiàn)方法,在所述 6LoWPAN無線傳感器網(wǎng)絡(luò)中設(shè)置四類傳感器節(jié)點IPv6接入路由器、簇首節(jié)點、簇內(nèi)節(jié)點及孤立節(jié)點;所述孤立節(jié)點為既沒有標記為簇首節(jié)點也沒有標記為簇內(nèi)節(jié)點的傳感器節(jié)點;所述IPv6接入路由器用于連接6LoWPAN無線傳感器網(wǎng)絡(luò)與IPv6網(wǎng)絡(luò),使6LoWPAN 無線傳感器網(wǎng)絡(luò)接入到IPv6互聯(lián)網(wǎng);所述簇內(nèi)節(jié)點包括簇關(guān)聯(lián)節(jié)點與普通簇內(nèi)節(jié)點,所述簇關(guān)聯(lián)節(jié)點連接兩個簇首節(jié)點,實現(xiàn)路由轉(zhuǎn)發(fā)功能,只接收簇首節(jié)點轉(zhuǎn)發(fā)的數(shù)據(jù),不接收普通簇內(nèi)節(jié)點發(fā)送的信息;普通簇內(nèi)節(jié)點用于數(shù)據(jù)采集、數(shù)據(jù)處理以及數(shù)據(jù)監(jiān)測,不進行路由轉(zhuǎn)發(fā);所述簇首節(jié)點用于實現(xiàn)路由轉(zhuǎn)發(fā)功能,普通簇內(nèi)節(jié)點發(fā)送的數(shù)據(jù)首先發(fā)送到本簇簇首節(jié)點,簇首節(jié)點再將數(shù)據(jù)路由轉(zhuǎn)發(fā)到目的傳感器節(jié)點;所述簇首節(jié)點、簇關(guān)聯(lián)節(jié)點及IPv6接入路由器的拓撲結(jié)構(gòu)為樹狀結(jié)構(gòu),IPv6接入路由器為樹狀結(jié)構(gòu)的根節(jié)點,簇首節(jié)點及簇關(guān)聯(lián)節(jié)點為樹狀結(jié)構(gòu)的中間節(jié)點或葉子節(jié)點;所述6LoWPAN無線傳感器網(wǎng)絡(luò)的路由通過簇首節(jié)點、簇關(guān)聯(lián)節(jié)點及IPv6接入路由器構(gòu)建的樹狀結(jié)構(gòu)實現(xiàn);所述6LoWPAN無線傳感器網(wǎng)絡(luò)由一個以上的簇組成,每個簇包括一個簇首節(jié)點和一個以上的簇內(nèi)節(jié)點,簇內(nèi)節(jié)點在簇首節(jié)點的一跳范圍內(nèi),拓撲結(jié)構(gòu)為星形;
初始狀態(tài)下,所述傳感器節(jié)點均為孤立節(jié)點且具有唯一性的ID,每個傳感器節(jié)點保存一個鄰居節(jié)點記錄表,記錄表項包括兩個域鄰居節(jié)點ID及鄰居節(jié)點類型;IPv6接入路由器及傳感器節(jié)點在一跳范圍內(nèi)定期廣播beacon幀,幀負載為節(jié)點的類型、鄰居孤立節(jié)點的數(shù)量、鄰居節(jié)點總數(shù)量以及深度值,如果傳感器節(jié)點的類型為簇內(nèi)節(jié)點,深度值為其所在簇簇首節(jié)點在樹狀結(jié)構(gòu)中的深度值,孤立節(jié)點和沒有加入到樹狀結(jié)構(gòu)中的節(jié)點的深度值為-1,傳感器節(jié)點通過接收鄰居節(jié)點發(fā)送的beacon幀建立鄰居節(jié)點記錄表;孤立節(jié)點收到任意一節(jié)點N發(fā)送的beacon幀后,如果孤立節(jié)點的鄰居節(jié)點列表中不包含節(jié)點N的信息,則將節(jié)點N加入到其鄰居列表中;如果孤立節(jié)點在規(guī)定時間內(nèi)沒有收到鄰居列表中鄰居節(jié)點的beacon幀,則將鄰居節(jié)點從其鄰居節(jié)點列表中刪除;簇內(nèi)節(jié)點收到鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點發(fā)送的beacon幀后,選擇鄰居節(jié)點總數(shù)量最大的beacon幀轉(zhuǎn)發(fā)給本簇簇首節(jié)點;孤立節(jié)點建立鄰居節(jié)點列表后,如果它的鄰居節(jié)點包含簇首節(jié)點,則選擇加入鄰居簇首節(jié)點ID值最小的簇;如果孤立節(jié)點的鄰居孤立節(jié)點數(shù)量大于其他鄰居孤立節(jié)點的鄰居孤立節(jié)點數(shù)量,或者其鄰居孤立節(jié)點數(shù)量等于其他鄰居孤立節(jié)點的鄰居孤立節(jié)點數(shù)量且其ID值最小,則孤立節(jié)點建立簇,因此,可以盡可能減少簇的個數(shù),從而減少簇樹中簇首節(jié)點的數(shù)量,減少了路由路徑的跳數(shù),縮短了路由時間,降低了路由功耗;傳感器節(jié)點具有網(wǎng)絡(luò)唯一性的ID值,傳感器節(jié)點的鏈路層地址為其ID值;當(dāng)傳感器節(jié)點電量小于預(yù)定值時,此傳感器節(jié)點失效。本發(fā)明所述方法中,孤立節(jié)點建立簇的過程如下步驟301:開始;步驟302 孤立節(jié)點向鄰居節(jié)點列表中所有鄰居孤立節(jié)點發(fā)送簇加入請求命令幀;步驟303 在規(guī)定時間內(nèi),判斷鄰居孤立節(jié)點是否收到多個孤立節(jié)點發(fā)送的簇加入請求命令幀,如果是,進行步驟304,否則進行步驟305 ;步驟304 鄰居孤立節(jié)點對比多個簇加入請求命令幀的源ID,向源ID最小的孤立節(jié)點返回一個簇加入響應(yīng)命令幀,進行步驟306 ;步驟305 鄰居孤立節(jié)點向請求命令幀源ID(即發(fā)送數(shù)據(jù)幀的源節(jié)點的ID值,簡稱源ID)所標識的孤立節(jié)點返回一個簇加入響應(yīng)命令幀;步驟306 在規(guī)定時間內(nèi),判斷孤立節(jié)點收到的簇加入響應(yīng)命令幀的數(shù)量是否等于其鄰居節(jié)點列表中鄰居孤立節(jié)點的總數(shù)量,如果是,進行步驟307,否則進行步驟311 ;步驟307 孤立節(jié)點向所有鄰居孤立節(jié)點返回一個簇加入確認命令幀,同時將自己標識為簇首節(jié)點;步驟308 在規(guī)定時間內(nèi),鄰居孤立節(jié)點是否收到簇加入確認命令幀,如果是,進行步驟309,否則進行步驟311 ;步驟309 鄰居孤立節(jié)點將自己標識為簇內(nèi)節(jié)點;步驟310 孤立節(jié)點成功建立了簇;所述孤立節(jié)點轉(zhuǎn)變?yōu)榇厥坠?jié)點或者簇內(nèi)節(jié)點后,孤立節(jié)點的鄰居節(jié)點收到孤立節(jié)點發(fā)送的beacon幀后,將鄰居節(jié)點列表中的相應(yīng)表項中的鄰居節(jié)點類型域進行相應(yīng)的更新;
步驟311:結(jié)束。上述算法確保具有簇所包含的簇內(nèi)節(jié)點的數(shù)量最大化,從而使簇的數(shù)量最小化, 減少了路由路徑的跳數(shù),縮短了路由時間,降低了路由功耗;本發(fā)明所述方法中,在規(guī)定時間內(nèi),如果簇首節(jié)點收到多個鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點發(fā)送的beacon幀,則采用下述步驟加入樹狀結(jié)構(gòu)步驟401:開始;步驟402 簇首節(jié)點查看收到的beacon幀,向鄰居節(jié)點總數(shù)最大的鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點發(fā)送樹加入請求控制幀;步驟403 鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點收到樹加入請求控制幀后,將簇首節(jié)點作為自己的子節(jié)點并記錄下其ID值,同時向簇首節(jié)點返回一個樹加入響應(yīng)控制幀;步驟404:簇首節(jié)點收到樹加入響應(yīng)控制幀后,將鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點作為自己的父節(jié)點并記錄下其ID值;步驟405 簇首節(jié)點加入樹狀結(jié)構(gòu);步驟406:結(jié)束。本發(fā)明所述方法中,在規(guī)定時間內(nèi),如果簇首節(jié)點沒有收到任何鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點發(fā)送的beacon幀但是簇內(nèi)節(jié)點收到了鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點發(fā)送的beacon幀,簇首節(jié)點則根據(jù)下列步驟加入樹狀結(jié)構(gòu)步驟501:開始;步驟502 簇首節(jié)點查看本簇簇內(nèi)節(jié)點轉(zhuǎn)發(fā)的beacon巾貞,向轉(zhuǎn)發(fā)鄰居節(jié)點總數(shù)最大的beacon幀的簇內(nèi)節(jié)發(fā)送樹加入請求命令幀,幀負載為鄰居節(jié)點總數(shù)最大的beacon幀的源ID值;步驟503 簇內(nèi)節(jié)點收到樹加入請求命令幀后,將簇首節(jié)點作為自己的子節(jié)點并記錄下其ID值,同時向樹加入請求控制幀負載中源ID標識的鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點發(fā)送樹加入請求控制幀,向簇首節(jié)點返回一個樹加入響應(yīng)控制幀;步驟504 鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點收到樹加入請求控制幀后,將簇內(nèi)節(jié)點作為自己的子節(jié)點并記錄下其ID值,同時向簇內(nèi)節(jié)點返回一個樹加入響應(yīng)控制幀;步驟505 簇首節(jié)點收到樹加入響應(yīng)控制幀后,將簇首節(jié)點作為自己的父節(jié)點并記錄下其ID值;步驟506 簇首節(jié)點收到鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點返回的樹加入響應(yīng)控制幀后,將自己標識為簇關(guān)聯(lián)節(jié)點,并將鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點作為自己的父節(jié)點,記錄下其ID值;步驟507 簇首節(jié)點加入樹狀結(jié)構(gòu);步驟508:結(jié)束。本發(fā)明所述方法中,在規(guī)定時間內(nèi),如果簇首節(jié)點及所有簇內(nèi)節(jié)點都沒有收到任何鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點發(fā)送的beacon幀,則根據(jù)下列步驟加入樹狀結(jié)構(gòu)步驟601:開始;步驟602 簇首節(jié)點向簇內(nèi)節(jié)點發(fā)送請求命令幀,要求簇內(nèi)節(jié)點轉(zhuǎn)發(fā)收到了的鄰居簇內(nèi)節(jié)點發(fā)送的beacon幀;步驟603 簇內(nèi)節(jié)點收到請求命令幀后,選擇鄰居簇內(nèi)節(jié)點所在簇簇首節(jié)點已經(jīng)加入樹狀結(jié)構(gòu)且鄰居節(jié)點總數(shù)最大的beacon幀,將其轉(zhuǎn)發(fā)給簇首節(jié)點;步驟604 簇首節(jié)點向轉(zhuǎn)發(fā)鄰居節(jié)點總數(shù)最大的beacon幀的簇內(nèi)節(jié)點發(fā)送樹加入請求命令幀,幀負載為鄰居節(jié)點總數(shù)最大的beacon幀的源ID ;步驟605 簇內(nèi)節(jié)點收到樹加入請求命令幀后,將簇首節(jié)點作為自己的子節(jié)點并記錄下其ID值,同時向樹加入請求控制幀負載中ID值標識的鄰居簇內(nèi)節(jié)點發(fā)送樹加入請求控制幀,向簇首節(jié)點返回一個樹加入響應(yīng)控制幀;步驟606 鄰居簇內(nèi)節(jié)點收到樹加入請求控制幀后,將簇內(nèi)節(jié)點作為自己的子節(jié)點并記錄下其ID值,同時向其簇首節(jié)點發(fā)送樹加入請求控制幀,向簇內(nèi)節(jié)點返回一個樹加入請求控制幀;步驟607 簇首節(jié)點收到樹加入響應(yīng)控制幀后,將簇內(nèi)節(jié)點作為父節(jié)點并記錄下其ID值;步驟608 鄰居簇內(nèi)節(jié)點的簇首節(jié)點收到樹加入請求控制幀后,將鄰居簇內(nèi)節(jié)點作為自己的子節(jié)點并記錄下其ID值,并向鄰居簇內(nèi)節(jié)點返回一個樹加入響應(yīng)控制幀;步驟609 簇內(nèi)節(jié)點收到鄰居簇內(nèi)節(jié)點返回的樹加入響應(yīng)控制幀后,將自己標識為簇關(guān)聯(lián)節(jié)點,并將鄰居簇內(nèi)節(jié)點作為自己的父節(jié)點,記錄下其ID值;步驟610 鄰居簇內(nèi)節(jié)點收到其簇首節(jié)點返回的樹加入響應(yīng)控制幀后,將自己標識為簇關(guān)聯(lián)節(jié)點,并將其簇首節(jié)點作為自己的父節(jié)點,記錄下其ID值;步驟611 簇首節(jié)點加入樹狀結(jié)構(gòu);步驟612:結(jié)束。上述算法能夠確保不同簇的簇首節(jié)點進行正常通信,同時也實現(xiàn)了簇樹中簇首節(jié)點的最小化,減少了路由路徑的跳數(shù),縮短了路由時間,降低了路由功耗;本發(fā)明所述方法中,簇首節(jié)點或者簇關(guān)聯(lián)節(jié)點加入樹狀結(jié)構(gòu)或者獲取新的子節(jié)點后,向本簇簇內(nèi)節(jié)點廣播新的父節(jié)點或者子節(jié)點的ID值,簇內(nèi)節(jié)點收到廣播后,記錄下本簇簇首節(jié)點或簇關(guān)聯(lián)節(jié)點新的父節(jié)點或子節(jié)點的ID值。本發(fā)明所述方法中,簇內(nèi)節(jié)點失效或者發(fā)生移動后,簇內(nèi)節(jié)點所在簇的簇首節(jié)點在規(guī)定時間內(nèi)沒有收到簇內(nèi)節(jié)點發(fā)送的beacon幀,簇內(nèi)節(jié)點從其鄰居節(jié)點列表中刪除;簇內(nèi)節(jié)點發(fā)生移動脫離原來的簇后,將自己重新標識為孤立節(jié)點,重新加入或者建立一個簇。本發(fā)明所述方法中,簇首節(jié)點失效或者發(fā)生移動后,簇內(nèi)節(jié)點根據(jù)其權(quán)值重新選舉新的簇首節(jié)點,具體步驟如下步驟701:開始;步驟702 簇內(nèi)節(jié)點計算自己的權(quán)值,判斷權(quán)值是否為0,如果是,進行步驟710,否則進行步驟703 ;步驟703 簇內(nèi)節(jié)點在本簇內(nèi)廣播權(quán)值控制幀,負載為其權(quán)值;步驟704:其它簇內(nèi)節(jié)點收到權(quán)值廣播幀后,判斷自己的權(quán)值是否大于廣播幀中的權(quán)值,如果是,進行步驟705,否則進行步驟710 ;步驟705 其它簇內(nèi)節(jié)點在簇內(nèi)廣播權(quán)值控制幀;步驟706 簇內(nèi)節(jié)點廣播權(quán)值控制幀后,判斷在規(guī)定時間內(nèi)是否收到其它簇內(nèi)節(jié)點廣播的權(quán)值控制幀,如果是,進行步驟710,否則進行步驟707 ;步驟707 簇內(nèi)節(jié)點將自己標識為簇首節(jié)點,并廣播新簇首節(jié)點控制幀,幀負載為
11其ID值;步驟708 其它簇內(nèi)節(jié)點收到新簇首節(jié)點廣播的新簇首節(jié)點控制幀后,將本簇簇首節(jié)點ID更新為新簇首節(jié)點的ID值,原來簇首節(jié)點的父節(jié)點和子節(jié)點收到新簇首節(jié)點控制幀后,將相應(yīng)的ID值更新為新簇首節(jié)點的ID值;步驟709 新的簇首節(jié)點選舉完成;簇首節(jié)點發(fā)生移動脫離原來的簇后,將自己重新標識為孤立節(jié)點并重新加入或者建立一個簇;步驟710:結(jié)束;其中,簇內(nèi)節(jié)點的權(quán)值計算方法如下將簇內(nèi)節(jié)點所在簇簇首節(jié)點的K個子節(jié)點,記做k(k = L··· ,子節(jié)點k經(jīng)過簇內(nèi)節(jié)點到達父節(jié)點的路徑包括四個參數(shù)bk表示路徑的可用帶寬,dk表示路徑傳輸單位數(shù)據(jù)所消耗的能量,%表示路徑的數(shù)據(jù)傳輸成功率,tk表示路徑的數(shù)據(jù)傳輸時延;
K計算平均可用帶寬B Ubt
權(quán)利要求
1.一種構(gòu)建6LoWPAN無線傳感器網(wǎng)絡(luò)的實現(xiàn)方法,其特征在于,在所述6LoWPAN無線傳感器網(wǎng)絡(luò)中設(shè)置四類傳感器節(jié)點IPv6接入路由器、簇首節(jié)點、簇內(nèi)節(jié)點及孤立節(jié)點;所述孤立節(jié)點為既沒有標記為簇首節(jié)點也沒有標記為簇內(nèi)節(jié)點的傳感器節(jié)點; 所述IPv6接入路由器用于連接6LoWPAN無線傳感器網(wǎng)絡(luò)與IPv6網(wǎng)絡(luò),使6LoWPAN無線傳感器網(wǎng)絡(luò)接入到IPv6互聯(lián)網(wǎng);所述簇內(nèi)節(jié)點包括簇關(guān)聯(lián)節(jié)點與普通簇內(nèi)節(jié)點,所述簇關(guān)聯(lián)節(jié)點連接兩個簇首節(jié)點, 實現(xiàn)路由轉(zhuǎn)發(fā)功能,只接收簇首節(jié)點轉(zhuǎn)發(fā)的數(shù)據(jù),不接收普通簇內(nèi)節(jié)點發(fā)送的信息;普通簇內(nèi)節(jié)點用于數(shù)據(jù)采集、數(shù)據(jù)處理以及數(shù)據(jù)監(jiān)測,不進行路由轉(zhuǎn)發(fā);所述簇首節(jié)點用于實現(xiàn)路由轉(zhuǎn)發(fā)功能,普通簇內(nèi)節(jié)點發(fā)送的數(shù)據(jù)首先發(fā)送到本簇簇首節(jié)點,簇首節(jié)點再將數(shù)據(jù)路由轉(zhuǎn)發(fā)到目的傳感器節(jié)點;所述簇首節(jié)點、簇關(guān)聯(lián)節(jié)點及IPv6接入路由器的拓撲結(jié)構(gòu)為樹狀結(jié)構(gòu),IPv6接入路由器為樹狀結(jié)構(gòu)的根節(jié)點,簇首節(jié)點及簇關(guān)聯(lián)節(jié)點為樹狀結(jié)構(gòu)的中間節(jié)點或葉子節(jié)點;所述6LoWPAN無線傳感器網(wǎng)絡(luò)的路由通過簇首節(jié)點、簇關(guān)聯(lián)節(jié)點及IPv6接入路由器構(gòu)建的樹狀結(jié)構(gòu)實現(xiàn);所述6LoWPAN無線傳感器網(wǎng)絡(luò)由一個以上的簇組成,每個簇包括一個簇首節(jié)點和一個以上的簇內(nèi)節(jié)點,簇內(nèi)節(jié)點在簇首節(jié)點的一跳范圍內(nèi),拓撲結(jié)構(gòu)為星形;初始狀態(tài)下,所述傳感器節(jié)點均為孤立節(jié)點且具有唯一性的ID,每個傳感器節(jié)點保存一個鄰居節(jié)點記錄表,記錄表項包括兩個域鄰居節(jié)點ID及鄰居節(jié)點類型;IPv6接入路由器及傳感器節(jié)點在一跳范圍內(nèi)定期廣播beacon幀,幀負載為節(jié)點的類型、鄰居孤立節(jié)點的數(shù)量、鄰居節(jié)點總數(shù)量以及深度值,如果傳感器節(jié)點的類型為簇內(nèi)節(jié)點,深度值為其所在簇簇首節(jié)點在樹狀結(jié)構(gòu)中的深度值,孤立節(jié)點和沒有加入到樹狀結(jié)構(gòu)中的節(jié)點的深度值為-1,傳感器節(jié)點通過接收鄰居節(jié)點發(fā)送的beacon幀建立鄰居節(jié)點記錄表;孤立節(jié)點收到任意一節(jié)點N發(fā)送的beacon幀后,如果孤立節(jié)點的鄰居節(jié)點列表中不包含節(jié)點N的信息,則將節(jié)點N加入到其鄰居列表中;如果孤立節(jié)點在規(guī)定時間內(nèi)沒有收到鄰居列表中鄰居節(jié)點的beacon幀,則將鄰居節(jié)點從其鄰居節(jié)點列表中刪除;簇內(nèi)節(jié)點收到鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點發(fā)送的beacon幀后,選擇鄰居節(jié)點總數(shù)量最大的beacon幀轉(zhuǎn)發(fā)給本簇簇首節(jié)點;孤立節(jié)點建立鄰居節(jié)點列表后,如果它的鄰居節(jié)點包含簇首節(jié)點,則選擇加入鄰居簇首節(jié)點ID值最小的簇;如果孤立節(jié)點的鄰居孤立節(jié)點數(shù)量大于其他鄰居孤立節(jié)點的鄰居孤立節(jié)點數(shù)量,或者其鄰居孤立節(jié)點數(shù)量等于其他鄰居孤立節(jié)點的鄰居孤立節(jié)點數(shù)量且其 ID值最小,則孤立節(jié)點建立簇;傳感器節(jié)點具有網(wǎng)絡(luò)唯一性的ID值,傳感器節(jié)點的鏈路層地址為其ID值; 當(dāng)傳感器節(jié)點電量小于預(yù)定值時,此傳感器節(jié)點失效。
2.根據(jù)權(quán)利要求1所述的一種構(gòu)建6LoWPAN無線傳感器網(wǎng)絡(luò)的實現(xiàn)方法,其特征在于, 孤立節(jié)點建立簇的過程如下步驟301 開始;步驟302 孤立節(jié)點向鄰居節(jié)點列表中所有鄰居孤立節(jié)點發(fā)送簇加入請求命令幀; 步驟303 在規(guī)定時間內(nèi),判斷鄰居孤立節(jié)點是否收到多個孤立節(jié)點發(fā)送的簇加入請求命令幀,如果是,進行步驟304,否則進行步驟305 ;步驟304 鄰居孤立節(jié)點對比多個簇加入請求命令幀的源ID,向源ID最小的孤立節(jié)點返回一個簇加入響應(yīng)命令幀,進行步驟306 ;步驟305 鄰居孤立節(jié)點向請求命令幀源ID,即發(fā)送數(shù)據(jù)幀的源節(jié)點的ID值,所標識的孤立節(jié)點返回一個簇加入響應(yīng)命令幀;步驟306 在規(guī)定時間內(nèi),判斷孤立節(jié)點收到的簇加入響應(yīng)命令幀的數(shù)量是否等于其鄰居節(jié)點列表中鄰居孤立節(jié)點的總數(shù)量,如果是,進行步驟307,否則進行步驟311 ;步驟307 孤立節(jié)點向所有鄰居孤立節(jié)點返回一個簇加入確認命令幀,同時將自己標識為簇首節(jié)點;步驟308 在規(guī)定時間內(nèi),鄰居孤立節(jié)點是否收到簇加入確認命令幀,如果是,進行步驟309,否則進行步驟311 ;步驟309 鄰居孤立節(jié)點將自己標識為簇內(nèi)節(jié)點;步驟310 孤立節(jié)點成功建立了簇;所述孤立節(jié)點轉(zhuǎn)變?yōu)榇厥坠?jié)點或者簇內(nèi)節(jié)點后,孤立節(jié)點的鄰居節(jié)點收到孤立節(jié)點發(fā)送的beacon幀后,將鄰居節(jié)點列表中的相應(yīng)表項中的鄰居節(jié)點類型域進行相應(yīng)的更新; 步驟311 結(jié)束。
3.根據(jù)權(quán)利要求2所述的一種構(gòu)建6LoWPAN無線傳感器網(wǎng)絡(luò)的實現(xiàn)方法,其特征在于, 在規(guī)定時間內(nèi),如果簇首節(jié)點收到多個鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點發(fā)送的beacon 幀,則采用下述步驟加入樹狀結(jié)構(gòu)步驟401 開始;步驟402 簇首節(jié)點查看收到的beacon幀,向鄰居節(jié)點總數(shù)最大的鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點發(fā)送樹加入請求控制幀;步驟403 鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點收到樹加入請求控制幀后,將簇首節(jié)點作為自己的子節(jié)點并記錄下其ID值,同時向簇首節(jié)點返回一個樹加入響應(yīng)控制幀;步驟404 簇首節(jié)點收到樹加入響應(yīng)控制幀后,將鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點作為自己的父節(jié)點并記錄下其ID值; 步驟405 簇首節(jié)點加入樹狀結(jié)構(gòu); 步驟406 結(jié)束。
4.根據(jù)權(quán)利要求2所述的一種構(gòu)建6LoWPAN無線傳感器網(wǎng)絡(luò)的實現(xiàn)方法,其特征在于,在規(guī)定時間內(nèi),如果簇首節(jié)點沒有收到任何鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點發(fā)送的 beacon幀但是簇內(nèi)節(jié)點收到了鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點發(fā)送的beacon幀,簇首節(jié)點則根據(jù)下列步驟加入樹狀結(jié)構(gòu)步驟501 開始;步驟502 簇首節(jié)點查看本簇簇內(nèi)節(jié)點轉(zhuǎn)發(fā)的beacon幀,向轉(zhuǎn)發(fā)鄰居節(jié)點總數(shù)最大的 beacon幀的簇內(nèi)節(jié)發(fā)送樹加入請求命令幀,幀負載為鄰居節(jié)點總數(shù)最大的beacon幀的源 ID值;步驟503 簇內(nèi)節(jié)點收到樹加入請求命令幀后,將簇首節(jié)點作為自己的子節(jié)點并記錄下其ID值,同時向樹加入請求控制幀負載中源ID標識的鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點發(fā)送樹加入請求控制幀,向簇首節(jié)點返回一個樹加入響應(yīng)控制幀;步驟504 鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點收到樹加入請求控制幀后,將簇內(nèi)節(jié)點作為自己的子節(jié)點并記錄下其ID值,同時向簇內(nèi)節(jié)點返回一個樹加入響應(yīng)控制幀;步驟505 簇首節(jié)點收到樹加入響應(yīng)控制幀后,將簇首節(jié)點作為自己的父節(jié)點并記錄下其ID值;步驟506 簇首節(jié)點收到鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點返回的樹加入響應(yīng)控制幀后,將自己標識為簇關(guān)聯(lián)節(jié)點,并將鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點作為自己的父節(jié)點, 記錄下其ID值;步驟507 簇首節(jié)點加入樹狀結(jié)構(gòu); 步驟508 結(jié)束。
5.根據(jù)權(quán)利要求2所述的一種構(gòu)建6LoWPAN無線傳感器網(wǎng)絡(luò)的實現(xiàn)方法,其特征在于, 在規(guī)定時間內(nèi),如果簇首節(jié)點及所有簇內(nèi)節(jié)點都沒有收到任何鄰居簇首節(jié)點或者鄰居簇關(guān)聯(lián)節(jié)點發(fā)送的beacon幀,則根據(jù)下列步驟加入樹狀結(jié)構(gòu)步驟601 開始;步驟602:簇首節(jié)點向簇內(nèi)節(jié)點發(fā)送請求命令幀,要求簇內(nèi)節(jié)點轉(zhuǎn)發(fā)收到了的鄰居簇內(nèi)節(jié)點發(fā)送的beacon幀;步驟603:簇內(nèi)節(jié)點收到請求命令幀后,選擇鄰居簇內(nèi)節(jié)點所在簇簇首節(jié)點已經(jīng)加入樹狀結(jié)構(gòu)且鄰居節(jié)點總數(shù)最大的beacon幀,將其轉(zhuǎn)發(fā)給簇首節(jié)點;步驟604 簇首節(jié)點向轉(zhuǎn)發(fā)鄰居節(jié)點總數(shù)最大的beacon幀的簇內(nèi)節(jié)點發(fā)送樹加入請求命令幀,幀負載為鄰居節(jié)點總數(shù)最大的beacon幀的源ID ;步驟605 簇內(nèi)節(jié)點收到樹加入請求命令幀后,將簇首節(jié)點作為自己的子節(jié)點并記錄下其ID值,同時向樹加入請求控制幀負載中ID值標識的鄰居簇內(nèi)節(jié)點發(fā)送樹加入請求控制幀,向簇首節(jié)點返回一個樹加入響應(yīng)控制幀;步驟606 鄰居簇內(nèi)節(jié)點收到樹加入請求控制幀后,將簇內(nèi)節(jié)點作為自己的子節(jié)點并記錄下其ID值,同時向其簇首節(jié)點發(fā)送樹加入請求控制幀,向簇內(nèi)節(jié)點返回一個樹加入請求控制幀;步驟607 簇首節(jié)點收到樹加入響應(yīng)控制幀后,將簇內(nèi)節(jié)點作為父節(jié)點并記錄下其ID值;步驟608:鄰居簇內(nèi)節(jié)點的簇首節(jié)點收到樹加入請求控制幀后,將鄰居簇內(nèi)節(jié)點作為自己的子節(jié)點并記錄下其ID值,并向鄰居簇內(nèi)節(jié)點返回一個樹加入響應(yīng)控制幀;步驟609 簇內(nèi)節(jié)點收到鄰居簇內(nèi)節(jié)點返回的樹加入響應(yīng)控制幀后,將自己標識為簇關(guān)聯(lián)節(jié)點,并將鄰居簇內(nèi)節(jié)點作為自己的父節(jié)點,記錄下其ID值;步驟610 鄰居簇內(nèi)節(jié)點收到其簇首節(jié)點返回的樹加入響應(yīng)控制幀后,將自己標識為簇關(guān)聯(lián)節(jié)點,并將其簇首節(jié)點作為自己的父節(jié)點,記錄下其ID值; 步驟611 簇首節(jié)點加入樹狀結(jié)構(gòu); 步驟612 結(jié)束。
6.根據(jù)權(quán)利要求3、4或5中任意一項所述的一種構(gòu)建6LoWPAN無線傳感器網(wǎng)絡(luò)的實現(xiàn)方法,其特征在于,簇首節(jié)點或者簇關(guān)聯(lián)節(jié)點加入樹狀結(jié)構(gòu)或者獲取新的子節(jié)點后,向本簇簇內(nèi)節(jié)點廣播新的父節(jié)點或者子節(jié)點的ID值,簇內(nèi)節(jié)點收到廣播后,記錄下本簇簇首節(jié)點或簇關(guān)聯(lián)節(jié)點新的父節(jié)點或子節(jié)點的ID值。
7.根據(jù)權(quán)利要求6所述的一種構(gòu)建6LoWPAN無線傳感器網(wǎng)絡(luò)的實現(xiàn)方法,其特征在于, 簇內(nèi)節(jié)點失效或者發(fā)生移動后,簇內(nèi)節(jié)點所在簇的簇首節(jié)點在規(guī)定時間內(nèi)沒有收到簇內(nèi)節(jié)點發(fā)送的beacon幀,簇內(nèi)節(jié)點從其鄰居節(jié)點列表中刪除;簇內(nèi)節(jié)點發(fā)生移動脫離原來的簇后,將自己重新標識為孤立節(jié)點,重新加入或者建立一個簇。
8.根據(jù)權(quán)利要求6所述的一種構(gòu)建6LoWPAN無線傳感器網(wǎng)絡(luò)的實現(xiàn)方法,其特征在于, 簇首節(jié)點失效或者發(fā)生移動后,簇內(nèi)節(jié)點根據(jù)其權(quán)值重新選舉新的簇首節(jié)點,具體步驟如下步驟701 開始;步驟702 簇內(nèi)節(jié)點計算自己的權(quán)值,判斷權(quán)值是否為0,如果是,進行步驟710,否則進行步驟703 ;步驟703 簇內(nèi)節(jié)點在本簇內(nèi)廣播權(quán)值控制幀,負載為其權(quán)值;步驟704 其它簇內(nèi)節(jié)點收到權(quán)值廣播幀后,判斷自己的權(quán)值是否大于廣播幀中的權(quán)值,如果是,進行步驟705,否則進行步驟710 ;步驟705 其它簇內(nèi)節(jié)點在簇內(nèi)廣播權(quán)值控制幀;步驟706 簇內(nèi)節(jié)點廣播權(quán)值控制幀后,判斷在規(guī)定時間內(nèi)是否收到其它簇內(nèi)節(jié)點廣播的權(quán)值控制幀,如果是,進行步驟710,否則進行步驟707 ;步驟707 簇內(nèi)節(jié)點將自己標識為簇首節(jié)點,并廣播新簇首節(jié)點控制幀,幀負載為其ID值;步驟708:其它簇內(nèi)節(jié)點收到新簇首節(jié)點廣播的新簇首節(jié)點控制幀后,將本簇簇首節(jié)點ID更新為新簇首節(jié)點的ID值,原來簇首節(jié)點的父節(jié)點和子節(jié)點收到新簇首節(jié)點控制幀后,將相應(yīng)的ID值更新為新簇首節(jié)點的ID值;步驟709 新的簇首節(jié)點選舉完成;簇首節(jié)點發(fā)生移動脫離原來的簇后,將自己重新標識為孤立節(jié)點并重新加入或者建立一個簇;步驟710 結(jié)束;其中,簇內(nèi)節(jié)點的權(quán)值計算方法如下將簇內(nèi)節(jié)點所在簇簇首節(jié)點的K個子節(jié)點,記做k(k = L··· ,子節(jié)點k經(jīng)過簇內(nèi)節(jié)點到達父節(jié)點的路徑包括四個參數(shù)bk表示路徑的可用帶寬,dk表示路徑傳輸單位數(shù)據(jù)所消耗的能量,%表示路徑的數(shù)據(jù)傳輸成功率,tk表示路徑的數(shù)據(jù)傳輸時延;K計算平均可用帶寬
9.根據(jù)權(quán)利要求6所述的一種構(gòu)建6LoWPAN無線傳感器網(wǎng)絡(luò)的實現(xiàn)方法,其特征在于, 簇關(guān)聯(lián)節(jié)點失效或者發(fā)生移動后,簇內(nèi)節(jié)點根據(jù)其權(quán)值重新選舉新的簇關(guān)聯(lián)節(jié)點,具體步驟如下步驟801 開始;步驟802 簇內(nèi)節(jié)點計算自己的權(quán)值,判斷權(quán)值是否為0,如果是,進行步驟810,否則進行步驟803 ;步驟803 簇內(nèi)節(jié)點在本簇內(nèi)廣播權(quán)值控制幀,負載為其權(quán)值;步驟804 其它簇內(nèi)節(jié)點收到權(quán)值廣播幀后,判斷自己的權(quán)值是否大于廣播幀中的權(quán)值,如果是,進行步驟805,否則進行步驟810 ;步驟805 其它簇內(nèi)節(jié)點在簇內(nèi)廣播權(quán)值控制幀;步驟806:簇內(nèi)節(jié)點廣播權(quán)值控制幀后,在規(guī)定時間內(nèi)是否收到其它簇內(nèi)節(jié)點廣播的權(quán)值控制幀,如果是,進行步驟810,否則進行步驟807 ;步驟807 簇內(nèi)節(jié)點將自己標識為簇關(guān)聯(lián)節(jié)點,并廣播新簇關(guān)聯(lián)節(jié)點控制幀,幀負載為其ID值;步驟808:其它簇內(nèi)節(jié)點收到新簇關(guān)聯(lián)節(jié)點廣播的新簇關(guān)聯(lián)節(jié)點控制幀后,將本簇簇關(guān)聯(lián)節(jié)點ID更新為新簇關(guān)聯(lián)節(jié)點的ID值,原來簇關(guān)聯(lián)節(jié)點的父節(jié)點和子節(jié)點收到新簇關(guān)聯(lián)節(jié)點控制幀后,將相應(yīng)的ID值更新為新簇關(guān)聯(lián)節(jié)點的ID值;步驟809 新的簇關(guān)聯(lián)節(jié)點選舉完成;簇關(guān)聯(lián)節(jié)點發(fā)生移動脫離原來的簇后,將自己重新標識為孤立節(jié)點并重新加入或者建立一個簇;步驟810 結(jié)束;其中,簇內(nèi)節(jié)點的權(quán)值計算方法如下將簇內(nèi)節(jié)點所在簇簇關(guān)聯(lián)節(jié)點的K個子節(jié)點,記做k(k = L··· ,子節(jié)點k經(jīng)過簇內(nèi)節(jié)點到達父節(jié)點的路徑包括四個參數(shù)bk表示路徑的可用帶寬,dk表示路徑傳輸單位數(shù)據(jù)所消耗的能量,%表示路徑的數(shù)據(jù)傳輸成功率,tk表示路徑的數(shù)據(jù)傳輸時延;計算平均可用帶寬
10.根據(jù)權(quán)利要求8所述的一種構(gòu)建6LOWPAN無線傳感器網(wǎng)絡(luò)的實現(xiàn)方法,其特征在于,簇內(nèi)節(jié)點的權(quán)值計算方法如下將簇首節(jié)點或者簇關(guān)聯(lián)節(jié)點的K個子節(jié)點,記做k(k = L··· ,子節(jié)點k經(jīng)過簇內(nèi)節(jié)點到達父節(jié)點的路徑包括四個參數(shù)bk表示路徑的可用帶寬,dk表示路徑傳輸單位數(shù)據(jù)所消耗的能量,%表示路徑的數(shù)據(jù)傳輸成功率,tk表示路徑的數(shù)據(jù)傳輸時延;K計算平均可用帶寬B IibtB= 丁 ;K計算傳輸單位數(shù)據(jù)所消耗的平均能量D -.^Jidk =丁·’K計算數(shù)據(jù)傳輸成功率S :S=Y\sk;k=lκ計算平均數(shù)據(jù)傳輸時延τ丄_-;K簇內(nèi)節(jié)點的權(quán)值P為P=^T。
全文摘要
本發(fā)明提供了一種構(gòu)建6LoWPAN無線傳感器網(wǎng)絡(luò)的實現(xiàn)方法,在所述6LoWPAN無線傳感器網(wǎng)絡(luò)中設(shè)置四類節(jié)點IPv6接入路由器、簇首節(jié)點、簇內(nèi)節(jié)點及孤立節(jié)點。所述簇內(nèi)節(jié)點包括簇關(guān)聯(lián)節(jié)點與普通簇內(nèi)節(jié)點,所述簇首節(jié)點實現(xiàn)路由轉(zhuǎn)發(fā)功能,普通簇內(nèi)節(jié)點發(fā)送的數(shù)據(jù)首先發(fā)送到本簇簇首節(jié)點,簇首節(jié)點再將數(shù)據(jù)路由轉(zhuǎn)發(fā)到目的節(jié)點;所述簇首節(jié)點、簇關(guān)聯(lián)節(jié)點及IPv6接入路由器的拓撲結(jié)構(gòu)為樹狀結(jié)構(gòu),IPv6接入路由器為樹狀結(jié)構(gòu)的根節(jié)點,簇首節(jié)點及簇關(guān)聯(lián)節(jié)點為樹狀結(jié)構(gòu)的中間節(jié)點或葉子節(jié)點。
文檔編號H04W84/18GK102158983SQ201110113329
公開日2011年8月17日 申請日期2011年5月4日 優(yōu)先權(quán)日2011年5月4日
發(fā)明者王曉喃 申請人:常熟理工學(xué)院