專利名稱:一種無(wú)線傳感網(wǎng)絡(luò)的IPv6地址無(wú)狀態(tài)自動(dòng)配置方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種無(wú)線傳感器網(wǎng)絡(luò)的IPv6地址無(wú)狀態(tài)自動(dòng)配置方法,屬于計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域。
背景技術(shù):
在IPv6無(wú)線傳感器網(wǎng)絡(luò)中,由于節(jié)點(diǎn)數(shù)量龐大,手動(dòng)配置和管理靜態(tài)IP地址是一件非常困難并且煩瑣的工作,傳統(tǒng)手動(dòng)配置和管理IP地址在IPv6無(wú)線傳感器網(wǎng)絡(luò)中顯然是不合適的。因而,研究適合于無(wú)線傳感器網(wǎng)絡(luò)的低功耗、可擴(kuò)展的IPv6編址尋址技術(shù),對(duì)于IPv6無(wú)線傳感器的應(yīng)用發(fā)展具有至關(guān)重要的作用。在IPv6無(wú)線傳感器網(wǎng)絡(luò)中地址配置方式主要有兩種,一種是全狀態(tài)自動(dòng)配置 Gtateful Auto Configuration),另一種是無(wú)狀態(tài)自動(dòng)配置 Stateless Auto Configuration)。全狀態(tài)自動(dòng)配置是利用一個(gè)可靠的辦法提前分配出一塊地址池,節(jié)點(diǎn)加入網(wǎng)絡(luò)后在可用地址中進(jìn)行選擇。然而,在網(wǎng)絡(luò)規(guī)模擴(kuò)大到由上千個(gè)節(jié)點(diǎn)構(gòu)成時(shí),則會(huì)大大降低其實(shí)用性,可擴(kuò)展性不好。如在傳統(tǒng)IP網(wǎng)絡(luò)中廣泛應(yīng)用的DHCP (Dynamic Host Configuration Protocol)協(xié)議,網(wǎng)絡(luò)中DHCPv6服務(wù)器提前分配出一個(gè)地址池,主機(jī)從DHCPv6服務(wù)器申請(qǐng) IP地址并獲得有關(guān)的配置信息(如缺省網(wǎng)關(guān)、DNS服務(wù)器等),從而自動(dòng)設(shè)置主機(jī)IP地址。 然而,DHCPv6屬于應(yīng)用層的協(xié)議,其功能豐富但復(fù)雜度高,在大規(guī)模無(wú)線傳感器網(wǎng)絡(luò)中卻應(yīng)用有限。無(wú)狀態(tài)自動(dòng)配置,最簡(jiǎn)單而直接的辦法是利用節(jié)點(diǎn)的MAC地址,進(jìn)行地址的自動(dòng)配置。然而,這樣配置的問(wèn)題是,盡管可以保證其作為硬件地址的唯一性,但卻不能保證其作為IPv6地址的唯一性。另外,由于硬件廠商可能會(huì)使用未曾注冊(cè)過(guò)的MAC地址,由此過(guò)程會(huì)引發(fā)重復(fù)MAC地址的產(chǎn)生。尤其是在無(wú)線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)在硬件部分允許用戶自己隨意對(duì)MAC地址進(jìn)行修改。所以簡(jiǎn)單地利用節(jié)點(diǎn)的MAC地址的辦法是不恰當(dāng)?shù)摹o(wú)狀態(tài)地址配置方式具有可擴(kuò)展性,更符合無(wú)線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)量龐大、節(jié)點(diǎn)能量和帶寬受限等特點(diǎn),然而,現(xiàn)有技術(shù)中的無(wú)狀態(tài)地址配置方式尚不成熟。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種無(wú)線傳感器網(wǎng)絡(luò)的IPv6地址自動(dòng)配置的方法,其針對(duì)大規(guī)模的無(wú)線傳感器網(wǎng)絡(luò),新節(jié)點(diǎn)在加入網(wǎng)絡(luò)后會(huì)得到父節(jié)點(diǎn)分配的一個(gè)可用于全網(wǎng)通信的、全網(wǎng)唯一的IPv6地址,節(jié)點(diǎn)加入網(wǎng)絡(luò)成功后可以利用這一 IPv6地址進(jìn)行全網(wǎng)通信,此 IPv6地址中還包含有父節(jié)點(diǎn)IPv6地址信息,節(jié)點(diǎn)地址不只是節(jié)點(diǎn)的身份標(biāo)識(shí),也可以為數(shù)據(jù)包的路由提供服務(wù)。為此,本發(fā)明提供了一種無(wú)線傳感器網(wǎng)絡(luò)的IPv6地址無(wú)狀態(tài)自動(dòng)配置方法,其特征在于,采用如下地址編碼方案,1 位的IPv6地址分為三部分第1-80位為全局路由前綴,由網(wǎng)關(guān)獲得,通過(guò)該網(wǎng)關(guān)連入全網(wǎng)進(jìn)行通信的節(jié)點(diǎn)均從此網(wǎng)關(guān)取得該80位的全局路由前綴;第81-120位為可供分配的子網(wǎng)ID,各個(gè)子網(wǎng)內(nèi)的所有節(jié)點(diǎn)的子網(wǎng)ID相同 ’第
4121-128位為節(jié)點(diǎn)ID,由節(jié)點(diǎn)的64位EUI_64bits長(zhǎng)地址進(jìn)行哈希映射而成,作為節(jié)點(diǎn)在子網(wǎng)內(nèi)標(biāo)識(shí)。 優(yōu)選地,全局路由前綴由網(wǎng)關(guān)獲取標(biāo)識(shí)此IPv6無(wú)線傳感器網(wǎng)絡(luò)的唯一的全局路由前綴,一個(gè)IPv6無(wú)線傳感器網(wǎng)絡(luò)內(nèi)的所有類型的傳感器節(jié)點(diǎn)都使用相同的全局路由前優(yōu)選地,可供分配的子網(wǎng)ID由各個(gè)子網(wǎng)內(nèi)的路由器節(jié)點(diǎn)申請(qǐng)得到,并向子網(wǎng)內(nèi)的傳感器節(jié)點(diǎn)進(jìn)行通告,在每一個(gè)子網(wǎng)內(nèi)所有的節(jié)點(diǎn)均具有相同的子網(wǎng)ID ;每個(gè)路由器節(jié)點(diǎn)給其它路由器節(jié)點(diǎn)分配子網(wǎng)ID時(shí),都默認(rèn)將其子網(wǎng)ID的后面四位進(jìn)行分配,默認(rèn)可進(jìn)行分配的子網(wǎng)數(shù)為14個(gè);當(dāng)有超出了默認(rèn)子網(wǎng)數(shù)目的子網(wǎng)申請(qǐng)時(shí),路由器節(jié)點(diǎn)則進(jìn)行相應(yīng)的沖突處理,以實(shí)現(xiàn)接納更多的子網(wǎng)加入。優(yōu)選地,節(jié)點(diǎn)ID每一個(gè)路由器節(jié)點(diǎn)的此段地址默認(rèn)為01,而其它的傳感器節(jié)點(diǎn)則將其EUI-64bits的長(zhǎng)地址由哈希算法映射而成Sbit的節(jié)點(diǎn)ID,作為其在子網(wǎng)內(nèi)的唯一標(biāo)識(shí);地址為00和FF預(yù)留待用。優(yōu)選地,每個(gè)路由器節(jié)點(diǎn)和傳感器節(jié)點(diǎn)均帶有IPv6地址和相應(yīng)的掩碼,由其掩碼與IPv6地址相與即可獲得自己的子網(wǎng)信息。優(yōu)選地,包括下列步驟1)物聯(lián)網(wǎng)網(wǎng)關(guān)GW啟動(dòng)后,發(fā)送路由器通告消息RoAM,其目的地址為多播地址 FF02: 1 ;在其功率所及范圍內(nèi)的IPv6微型傳感路由器節(jié)點(diǎn)A收到RoAM后,向其發(fā)出地址請(qǐng)求報(bào)文ADRQ,進(jìn)而網(wǎng)關(guān)GW向其發(fā)送地址響應(yīng)報(bào)文ADRP,至此,路由器節(jié)點(diǎn)A獲得自己的地址以及授權(quán)分配的地址池信息;2)不在物聯(lián)網(wǎng)網(wǎng)關(guān)功率范圍內(nèi)的IPv6微型傳感路由器B加入網(wǎng)絡(luò)時(shí),首先探測(cè)請(qǐng)求包PRRQ,在路由器B范圍內(nèi)的路由器或網(wǎng)關(guān)收到地址探測(cè)包PRRQ之后發(fā)送探測(cè)響應(yīng)包PRRP ;在規(guī)定的系統(tǒng)時(shí)間到期后,路由器B會(huì)收到多個(gè)PRRP,根據(jù)接收到報(bào)文的鏈路質(zhì)量 LQI、深度信息,地址池容量等信息,選取最適合的路由器節(jié)點(diǎn)A作為自己的父節(jié)點(diǎn),發(fā)送地址請(qǐng)求報(bào)文ADRQ,收到該確認(rèn)報(bào)文的路由器節(jié)點(diǎn)A發(fā)送地址回復(fù)報(bào)文ADRP ;路由器節(jié)點(diǎn)B 從ADRP中提取出相關(guān)地址信息,配置出本節(jié)點(diǎn)的IPv6地址;3) IPv6微型傳感器節(jié)點(diǎn)MSN加入網(wǎng)絡(luò),獲得IPv6地址的過(guò)程與步驟2)中的過(guò)程類似,選擇離其最近的路由器節(jié)點(diǎn)B作為地址配置節(jié)點(diǎn),進(jìn)而配置出本節(jié)點(diǎn)的IPv6地址;4)在地址配置信息的報(bào)文中,節(jié)點(diǎn)ID是由各個(gè)子網(wǎng)內(nèi)的IPv6微型傳感路由器根據(jù)地址請(qǐng)求的節(jié)點(diǎn)的EUI-64bits的長(zhǎng)地址進(jìn)行哈希映射,映射成子網(wǎng)內(nèi)唯一的Sbits的節(jié)點(diǎn)ID,進(jìn)而通過(guò)地址配置信息的報(bào)文回復(fù)給各子網(wǎng)成員;各個(gè)IPv6微型傳感器節(jié)點(diǎn)提取出相應(yīng)的地址信息,生成全網(wǎng)唯一的IPv6地址;對(duì)于所有的路由器節(jié)點(diǎn),規(guī)定它們的節(jié)點(diǎn)ID 統(tǒng)一為0x01。優(yōu)選地,對(duì)于IPv6微型傳感路由器進(jìn)行地址請(qǐng)求時(shí),找不到可用的父節(jié)點(diǎn)時(shí),沖突解決的具體操作步驟如下1) IPv6微型傳感路由器MSR E申請(qǐng)加入網(wǎng)絡(luò)并發(fā)出探測(cè)請(qǐng)求包PRRQ,然而其周圍的IPv6微型傳感路由器C、D均無(wú)可供分配的地址池,此時(shí)需要對(duì)路由器C以及D的地址進(jìn)行擴(kuò)容;2)MSR E首先選擇深度較大的MSR D為父節(jié)點(diǎn),請(qǐng)求MSR D進(jìn)行沖突解決;MSR D進(jìn)而進(jìn)行地址變長(zhǎng)操作,將自己所分配的子網(wǎng)部分右移一位,以獲得更多的地址可供分配; MSR E再次向MSR D進(jìn)行申請(qǐng)成功獲得MSR D為其分配的地址時(shí),向其子網(wǎng)內(nèi)的所有節(jié)點(diǎn)發(fā)送路由器通告消息RoAM,使子網(wǎng)內(nèi)的所有節(jié)點(diǎn)均變更為新地址,且掩碼為原掩碼加一。優(yōu)選地,網(wǎng)關(guān)啟動(dòng)或者進(jìn)行地址更新時(shí),向全網(wǎng)發(fā)送路由器通告消息RoAM ;各個(gè) IPv6微型傳感路由器節(jié)點(diǎn)與IPv6微型傳感器節(jié)點(diǎn)在加入網(wǎng)絡(luò),請(qǐng)求全球單播地址時(shí)都需進(jìn)行“四次握手”進(jìn)行連接,進(jìn)而通過(guò)接收到的地址回復(fù)報(bào)文配置出自己的全球單播地址;所述“四次握手”過(guò)程如下以MSR B進(jìn)行地址請(qǐng)求為例,MSR B廣播探測(cè)請(qǐng)求報(bào)文PRRQ,接收到PRRQ的路由器均回復(fù)PRRP,MSR B在一定時(shí)間內(nèi)會(huì)收到多個(gè)PRRP,然后根據(jù)一定的策略選取MSR A作為父節(jié)點(diǎn),并發(fā)送ADRQ進(jìn)行地址請(qǐng)求;MSR A對(duì)進(jìn)行地址請(qǐng)求的MSR B發(fā)送地址回復(fù)報(bào)文ADRP,MSR B據(jù)此配置出自己的全球單播地址。優(yōu)選地,子網(wǎng)ID部分采用的地址編碼方案具體如下首先啟動(dòng)GW網(wǎng)關(guān)節(jié)點(diǎn),其子網(wǎng)ID部分為全0,掩碼為/80 ;接著,路由器節(jié)點(diǎn)A、C順序接入啟動(dòng),成功接入網(wǎng)絡(luò),GW網(wǎng)關(guān)分配給A、C節(jié)點(diǎn)的子網(wǎng) ID 依次為 1000:0000:00/84,2000:0000:00/84 ;路由器節(jié)點(diǎn)B向A節(jié)點(diǎn)申請(qǐng)加入網(wǎng)絡(luò),入網(wǎng)成功,A節(jié)點(diǎn)給B節(jié)點(diǎn)分配子網(wǎng)ID為 1100:0000:00/88 ;路由器節(jié)點(diǎn)D向C節(jié)點(diǎn)申請(qǐng)加入網(wǎng)絡(luò),入網(wǎng)成功,C節(jié)點(diǎn)給D節(jié)點(diǎn)分配子網(wǎng) ID 為 2100:0000:00/88 ;路由器節(jié)點(diǎn)E向鄰近節(jié)點(diǎn)C和D發(fā)出申請(qǐng),得到C和D的地址池容量已滿的回復(fù), 則繼續(xù)發(fā)送一輪地址申請(qǐng),在系統(tǒng)規(guī)定時(shí)間內(nèi),E仍未找到合適的父節(jié)點(diǎn),則向深度較大的節(jié)點(diǎn)D繼續(xù)發(fā)送地址變長(zhǎng)請(qǐng)求,節(jié)點(diǎn)D進(jìn)而進(jìn)行地址變長(zhǎng)操作,以接納更多的路由器節(jié)點(diǎn)的加入;節(jié)點(diǎn)D將自己所分配的子網(wǎng)部分右移一位,以獲得更多的地址可供分配;MSR E再次向MSR D進(jìn)行申請(qǐng)成功獲得MSR D為其分配的地址時(shí),向其子網(wǎng)內(nèi)的所有節(jié)點(diǎn)發(fā)送路由器通告消息RoAM,使子網(wǎng)內(nèi)的所有節(jié)點(diǎn)均變更為新地址,掩碼為原掩碼加一,使分配給MSR E 的子網(wǎng) ID 為 2108:0000:00/89 ;MSN F向距離最近的MSR B發(fā)出請(qǐng)求,節(jié)點(diǎn)B在判明F為普通傳感器節(jié)點(diǎn),不具有地址池分配功能時(shí),則僅僅是將自己的子網(wǎng)ID告知節(jié)點(diǎn)F,作為節(jié)點(diǎn)F的子網(wǎng)ID,即 1100:000000/88 ;所有的MSN節(jié)點(diǎn)向距離最近的MSR發(fā)出請(qǐng)求加入相應(yīng)子網(wǎng),并從MSR處獲取相應(yīng)的子網(wǎng)ID,該子網(wǎng)ID與MSR的子網(wǎng)ID相同,沒(méi)有向下分配地址池的權(quán)限。根據(jù)本發(fā)明,新節(jié)點(diǎn)在加入網(wǎng)絡(luò)后,可進(jìn)行全網(wǎng)通信,IPv6地址中還包含有父節(jié)點(diǎn) IPv6地址信息,節(jié)點(diǎn)地址不只是節(jié)點(diǎn)的身份標(biāo)識(shí),也可以為數(shù)據(jù)包的路由提供服務(wù)。
圖1為本發(fā)明節(jié)點(diǎn)的128位IPv6地址格式;圖2為本發(fā)明應(yīng)用場(chǎng)景示意圖;圖3為本發(fā)明中地址配置的簡(jiǎn)化流程圖。
具體實(shí)施例方式本發(fā)明采用的地址編碼方案具體如下1) 128位的IPv6地址分為三部分前80位為全局路由前綴,由網(wǎng)關(guān)獲得,通過(guò)該網(wǎng)關(guān)連入全網(wǎng)進(jìn)行通信的節(jié)點(diǎn)均從此網(wǎng)關(guān)取得該80位的全局路由前綴;第81位到120位為可供分配的子網(wǎng)ID,各個(gè)子網(wǎng)內(nèi)的所有節(jié)點(diǎn)的子網(wǎng)ID相同;第121位到1 位為節(jié)點(diǎn)ID, 由節(jié)點(diǎn)的64位EUI-64bits長(zhǎng)地址進(jìn)行哈希映射而成,作為節(jié)點(diǎn)在子網(wǎng)內(nèi)標(biāo)識(shí)。如圖1所
7J\ ο2)第1到80位為全局路由前綴,由網(wǎng)關(guān)獲取標(biāo)識(shí)此IPv6無(wú)線傳感器網(wǎng)絡(luò)的唯一的全局路由前綴。一個(gè)IPv6無(wú)線傳感器網(wǎng)絡(luò)內(nèi)的所有類型的傳感器節(jié)點(diǎn)都使用相同的全局路由前綴。3)第81到120位為可供分配的子網(wǎng)ID,由各個(gè)子網(wǎng)內(nèi)的路由器節(jié)點(diǎn)申請(qǐng)得到,并向子網(wǎng)內(nèi)的傳感器節(jié)點(diǎn)進(jìn)行通告,在每一個(gè)子網(wǎng)內(nèi)所有的節(jié)點(diǎn)均具有相同的子網(wǎng)ID。每個(gè)路由器節(jié)點(diǎn)給其它路由器節(jié)點(diǎn)分配子網(wǎng)ID時(shí),都默認(rèn)將其子網(wǎng)ID的后面四位進(jìn)行分配,默認(rèn)可進(jìn)行分配的子網(wǎng)數(shù)為14個(gè)。當(dāng)有超出了默認(rèn)子網(wǎng)數(shù)目的子網(wǎng)申請(qǐng)時(shí),路由器節(jié)點(diǎn)則進(jìn)行相應(yīng)的沖突處理,以實(shí)現(xiàn)接納更多的子網(wǎng)加入。4)第121位到128位為節(jié)點(diǎn)ID,每一個(gè)路由器節(jié)點(diǎn)的此段地址默認(rèn)為01,而其它的傳感器節(jié)點(diǎn)則將其EUI-64bits的長(zhǎng)地址由哈希算法映射而成Sbit的節(jié)點(diǎn)ID,作為其在子網(wǎng)內(nèi)的唯一標(biāo)識(shí)。地址為00和FF預(yù)留待用。5)每個(gè)路由器節(jié)點(diǎn)和傳感器節(jié)點(diǎn)均帶有IPv6地址和相應(yīng)的掩碼,由其掩碼與 IPv6地址相與即可獲得自己的子網(wǎng)信息。有關(guān)本發(fā)明的技術(shù)內(nèi)容及詳細(xì)說(shuō)明,現(xiàn)配合附圖1-3說(shuō)明如下本發(fā)明所適用的無(wú)線傳感器網(wǎng)絡(luò)由一個(gè)物聯(lián)網(wǎng)網(wǎng)關(guān)(feiteWay of IoTs,GW)、多個(gè) IPv6微型傳感路由器(Micro Sensor Router, MSR)和多個(gè)IPv6微型傳感器節(jié)點(diǎn)(Micro Sensor Node, MSN)組成,如圖2所示。GW主要實(shí)現(xiàn)IPv6無(wú)線傳感器網(wǎng)絡(luò)與現(xiàn)有網(wǎng)絡(luò)的接入、協(xié)議轉(zhuǎn)換以及網(wǎng)絡(luò)管理等功能;MSR主要實(shí)現(xiàn)路由轉(zhuǎn)發(fā)功能;MSN主要實(shí)現(xiàn)對(duì)物理世界的信息感知和獲取。在網(wǎng)絡(luò)初始狀態(tài),物聯(lián)網(wǎng)網(wǎng)關(guān)GW具有一個(gè)地址池,每個(gè)MSR通過(guò)地址請(qǐng)求向GW申請(qǐng)地址分配權(quán),同時(shí)獲取其可以分配的地址集合;對(duì)每個(gè)新加入的MSN,通過(guò)向其距離最近的MSR申請(qǐng)地址。GW和MSR具有地址分配的功能,而網(wǎng)絡(luò)內(nèi)的所有MSN都只可以進(jìn)行對(duì)數(shù)據(jù)的采集工作,不支持地址分配功能。有關(guān)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的IPv6地址的自動(dòng)配置,下面將對(duì)其具體的操作步驟進(jìn)行詳細(xì)描述(1)物聯(lián)網(wǎng)網(wǎng)關(guān)GW啟動(dòng)之后,發(fā)送路由器通告消息(Router Advertisement Message, RoAM),其目的地址為多播地址FF02: 1。在其功率所及范圍內(nèi)的IPv6微型傳感路由器節(jié)點(diǎn)A,收到RoAM后,向其發(fā)出地址請(qǐng)求報(bào)文(Address Request Message,ADRQ),進(jìn)而網(wǎng)關(guān)GW向其發(fā)送地址響應(yīng)報(bào)文(Address Response Message,ADRP),至此,路由器節(jié)點(diǎn)A 可獲得自己的地址以及授權(quán)分配的地址池信息。(2)不在物聯(lián)網(wǎng)網(wǎng)關(guān)功率范圍內(nèi)的IPv6微型傳感路由器B,加入網(wǎng)絡(luò)時(shí),首先探測(cè)請(qǐng)求包(Probe Request Message,PRRQ),在路由器B范圍內(nèi)的路由器或網(wǎng)關(guān)收到地址探測(cè)包PRRQ之后發(fā)送探測(cè)響應(yīng)包(Probe Response Message, PRRP);在規(guī)定的系統(tǒng)時(shí)間到期后,路由器B會(huì)收到多個(gè)PRRP,根據(jù)接收到報(bào)文的鏈路質(zhì)量(Link Quality Indicator, LQI)、深度信息,地址池容量等信息,選取最適合的路由器節(jié)點(diǎn)A作為自己的父節(jié)點(diǎn),發(fā)送地址請(qǐng)求報(bào)文ADRQ,收到該確認(rèn)報(bào)文的路由器節(jié)點(diǎn)A發(fā)送地址回復(fù)報(bào)文ADRP。路由器節(jié)點(diǎn) B從ADRP中提取出相關(guān)地址信息,配置出本節(jié)點(diǎn)的IPv6地址。(3) IPv6微型傳感器節(jié)點(diǎn)MSN加入網(wǎng)絡(luò),獲得IPv6地址的過(guò)程與O)中的過(guò)程類似,選擇離其最近的路由器節(jié)點(diǎn)B作為地址配置節(jié)點(diǎn),進(jìn)而配置出本節(jié)點(diǎn)的IPv6地址。(4)在地址配置信息的報(bào)文中,節(jié)點(diǎn)ID是由各個(gè)子網(wǎng)內(nèi)的IPv6微型傳感路由器根據(jù)地址請(qǐng)求的節(jié)點(diǎn)的EUI-64bits的長(zhǎng)地址進(jìn)行哈希映射,映射成子網(wǎng)內(nèi)唯一的Sbits的節(jié)點(diǎn)ID,進(jìn)而通過(guò)地址配置信息的報(bào)文回復(fù)給各子網(wǎng)成員。各個(gè)IPv6微型傳感器節(jié)點(diǎn)提取出相應(yīng)的地址信息,生成全網(wǎng)唯一的IPv6地址。對(duì)于所有的路由器節(jié)點(diǎn),我們規(guī)定它們的節(jié)點(diǎn)ID統(tǒng)一為0x01。對(duì)于IPv6微型傳感路由器進(jìn)行地址請(qǐng)求時(shí),找不到可用的父節(jié)點(diǎn)時(shí),沖突解決的具體操作步驟如下(以圖2為例)(1) IPv6微型傳感路由器MSR E申請(qǐng)加入網(wǎng)絡(luò),并發(fā)出探測(cè)請(qǐng)求包PRRQ,然而其周圍的IPv6微型傳感路由器C、D均無(wú)可供分配的地址池,此時(shí)需要對(duì)路由器C以及D的地址進(jìn)行擴(kuò)容。(2)MSR E首先選擇深度較大的MSR D為父節(jié)點(diǎn),請(qǐng)求MSR D進(jìn)行沖突解決。MSR D 進(jìn)而進(jìn)行地址變長(zhǎng)操作,將自己所分配的子網(wǎng)部分右移一位,因此,獲得了更多的地址可供分配。MSR E可以再次向MSR D進(jìn)行申請(qǐng),此次成功獲得了 MSR D為其分配的地址。但由于 MSR D進(jìn)行了地址變長(zhǎng)的操作,所以應(yīng)向其子網(wǎng)內(nèi)的所有節(jié)點(diǎn)發(fā)送路由器通告消息(RoAM), 使子網(wǎng)內(nèi)的所有節(jié)點(diǎn)均變更為新地址,且掩碼為原掩碼加一。圖2是關(guān)于節(jié)點(diǎn)的可聚集性全球單播地址配置的示意圖。網(wǎng)關(guān)啟動(dòng)或者進(jìn)行地址更新時(shí),向全網(wǎng)發(fā)送路由器通告消息(RoAM)。各個(gè)IPv6微型傳感路由器節(jié)點(diǎn)與IPv6微型傳感器節(jié)點(diǎn)在加入網(wǎng)絡(luò),請(qǐng)求全球單播地址時(shí)都需進(jìn)行“四次握手”進(jìn)行連接,進(jìn)而通過(guò)接收到的地址回復(fù)報(bào)文配置出自己的全球單播地址。“四次握手”過(guò)程如下以MSR B進(jìn)行地址請(qǐng)求為例,MSR B廣播探測(cè)請(qǐng)求報(bào)文(PRRQ),接收到PRRQ的路由器均回復(fù)PRRP,MSR B在一定時(shí)間內(nèi)會(huì)收到多個(gè)PRRP,然后根據(jù)一定的策略選取MSR A作為父節(jié)點(diǎn),并發(fā)送ADRQ進(jìn)行地址請(qǐng)求。MSR A對(duì)進(jìn)行地址請(qǐng)求的MSR B發(fā)送地址回復(fù)報(bào)文(ADRP),MSR B據(jù)此配置出自己的全球單播地址。本發(fā)明子網(wǎng)ID部分采用的地址編碼方案具體如下首先啟動(dòng)GW網(wǎng)關(guān)節(jié)點(diǎn),其子網(wǎng)ID部分為全0,掩碼為/80。接著,路由器節(jié)點(diǎn)A、C順序接入啟動(dòng),成功接入網(wǎng)絡(luò),GW網(wǎng)關(guān)分配給A、C節(jié)點(diǎn)的子網(wǎng) ID 依次為 1000:0000:00/84,2000:0000:00/84。路由器節(jié)點(diǎn)B向A節(jié)點(diǎn)申請(qǐng)加入網(wǎng)絡(luò),入網(wǎng)成功,A節(jié)點(diǎn)給B節(jié)點(diǎn)分配子網(wǎng)ID為 1100:0000:00/88。路由器節(jié)點(diǎn)D向C節(jié)點(diǎn)申請(qǐng)加入網(wǎng)絡(luò),入網(wǎng)成功,C節(jié)點(diǎn)給D節(jié)點(diǎn)分配子網(wǎng) ID 為 2100:0000:00/88。路由器節(jié)點(diǎn)E向鄰近節(jié)點(diǎn)C和D發(fā)出申請(qǐng),得到C和D的地址池容量已滿的回復(fù)。則繼續(xù)發(fā)送一輪地址申請(qǐng),在系統(tǒng)規(guī)定時(shí)間內(nèi),E仍未找到合適的父節(jié)點(diǎn),則向深度較大的節(jié)點(diǎn)D繼續(xù)發(fā)送地址變長(zhǎng)請(qǐng)求。節(jié)點(diǎn)D進(jìn)而進(jìn)行地址變長(zhǎng)操作,以接納更多的路由器節(jié)點(diǎn)的加入。節(jié)點(diǎn)D將自己所分配的子網(wǎng)部分右移一位,因此,獲得了更多的地址可供分配。MSR E可以再次向MSR D進(jìn)行申請(qǐng),此次成功獲得了 MSR D為其分配的地址。由于 MSR D進(jìn)行了地址變長(zhǎng)操作,所以應(yīng)向其子網(wǎng)內(nèi)的所有節(jié)點(diǎn)發(fā)送路由器通告消息(RoAM),使子網(wǎng)內(nèi)的所有節(jié)點(diǎn)均變更為新地址,掩碼為原掩碼加一。所以分配給MSR E的子網(wǎng)ID為 2108:0000:00/89。MSN F向距離最近的MSR B發(fā)出請(qǐng)求,節(jié)點(diǎn)B在判明F為普通傳感器節(jié)點(diǎn),不具有地址池分配功能時(shí),則僅僅是將自己的子網(wǎng)ID告知節(jié)點(diǎn)F,作為節(jié)點(diǎn)F的子網(wǎng)ID,即 1100 0000 00/88。所有的MSN節(jié)點(diǎn)向距離最近的MSR發(fā)出請(qǐng)求加入相應(yīng)子網(wǎng),并從MSR處獲取相應(yīng)的子網(wǎng)ID,該子網(wǎng)ID與MSR的子網(wǎng)ID相同,沒(méi)有向下分配地址池的權(quán)限。上述僅為本發(fā)明的較佳實(shí)施例而已,并非用來(lái)限定本發(fā)明實(shí)施范圍。即凡依本發(fā)明申請(qǐng)專利范圍所做的均等變化與修飾,皆為本發(fā)明專利范圍所涵蓋。
權(quán)利要求
1.一種無(wú)線傳感器網(wǎng)絡(luò)的IPv6地址無(wú)狀態(tài)自動(dòng)配置方法,其特征在于,采用如下地址編碼方案,128位的IPv6地址分為三部分第1-80位為全局路由前綴,由網(wǎng)關(guān)獲得,通過(guò)該網(wǎng)關(guān)連入全網(wǎng)進(jìn)行通信的節(jié)點(diǎn)均從此網(wǎng)關(guān)取得該80位的全局路由前綴;第81-120位為可供分配的子網(wǎng)ID,各個(gè)子網(wǎng)內(nèi)的所有節(jié)點(diǎn)的子網(wǎng)ID相同;第121-1 位為節(jié)點(diǎn)ID,由節(jié)點(diǎn)的64位EUI-64bits長(zhǎng)地址進(jìn)行哈希映射而成,作為節(jié)點(diǎn)在子網(wǎng)內(nèi)標(biāo)識(shí)。
2.如權(quán)利要求1所述的方法,其特征在于,全局路由前綴由網(wǎng)關(guān)獲取標(biāo)識(shí)此IPv6無(wú)線傳感器網(wǎng)絡(luò)的唯一的全局路由前綴,一個(gè)IPv6無(wú)線傳感器網(wǎng)絡(luò)內(nèi)的所有類型的傳感器節(jié)點(diǎn)都使用相同的全局路由前綴。
3.如權(quán)利要求1所述的方法,其特征在于,可供分配的子網(wǎng)ID由各個(gè)子網(wǎng)內(nèi)的路由器節(jié)點(diǎn)申請(qǐng)得到,并向子網(wǎng)內(nèi)的傳感器節(jié)點(diǎn)進(jìn)行通告,在每一個(gè)子網(wǎng)內(nèi)所有的節(jié)點(diǎn)均具有相同的子網(wǎng)ID ;每個(gè)路由器節(jié)點(diǎn)給其它路由器節(jié)點(diǎn)分配子網(wǎng)ID時(shí),都默認(rèn)將其子網(wǎng)ID的后面四位進(jìn)行分配,默認(rèn)可進(jìn)行分配的子網(wǎng)數(shù)為14個(gè);當(dāng)有超出了默認(rèn)子網(wǎng)數(shù)目的子網(wǎng)申請(qǐng)時(shí),路由器節(jié)點(diǎn)則進(jìn)行相應(yīng)的沖突處理,以實(shí)現(xiàn)接納更多的子網(wǎng)加入。
4.如權(quán)利要求1所述的方法,其特征在于,節(jié)點(diǎn)ID每一個(gè)路由器節(jié)點(diǎn)的此段地址默認(rèn)為01,而其它的傳感器節(jié)點(diǎn)則將其EUI-64bits的長(zhǎng)地址由哈希算法映射而成Sbit的節(jié)點(diǎn) ID,作為其在子網(wǎng)內(nèi)的唯一標(biāo)識(shí);地址為00和FF預(yù)留待用。
5.如權(quán)利要求1所述的方法,其特征在于,每個(gè)路由器節(jié)點(diǎn)和傳感器節(jié)點(diǎn)均帶有IPv6 地址和相應(yīng)的掩碼,由其掩碼與IPv6地址相與即可獲得自己的子網(wǎng)信息。
6.如權(quán)利要求1所述的方法,其特征在于,包括下列步驟1)物聯(lián)網(wǎng)網(wǎng)關(guān)GW啟動(dòng)后,發(fā)送路由器通告消息RoAM,其目的地址為多播地址FF02::1; 在其功率所及范圍內(nèi)的IPv6微型傳感路由器節(jié)點(diǎn)A收到RoAM后,向其發(fā)出地址請(qǐng)求報(bào)文 ADRQ,進(jìn)而網(wǎng)關(guān)GW向其發(fā)送地址響應(yīng)報(bào)文ADRP,至此,路由器節(jié)點(diǎn)A獲得自己的地址以及授權(quán)分配的地址池信息;2)不在物聯(lián)網(wǎng)網(wǎng)關(guān)功率范圍內(nèi)的IPv6微型傳感路由器B加入網(wǎng)絡(luò)時(shí),首先探測(cè)請(qǐng)求包 PRRQ,在路由器B范圍內(nèi)的路由器或網(wǎng)關(guān)收到地址探測(cè)包PRRQ之后發(fā)送探測(cè)響應(yīng)包PRRP ; 在規(guī)定的系統(tǒng)時(shí)間到期后,路由器B會(huì)收到多個(gè)PRRP,根據(jù)接收到報(bào)文的鏈路質(zhì)量LQU^ 度信息,地址池容量等信息,選取最適合的路由器節(jié)點(diǎn)A作為自己的父節(jié)點(diǎn),發(fā)送地址請(qǐng)求報(bào)文ADRQ,收到該確認(rèn)報(bào)文的路由器節(jié)點(diǎn)A發(fā)送地址回復(fù)報(bào)文ADRP ;路由器節(jié)點(diǎn)B從ADRP 中提取出相關(guān)地址信息,配置出本節(jié)點(diǎn)的IPv6地址;3)IPv6微型傳感器節(jié)點(diǎn)MSN加入網(wǎng)絡(luò),獲得IPv6地址的過(guò)程與步驟幻中的過(guò)程類似, 選擇離其最近的路由器節(jié)點(diǎn)B作為地址配置節(jié)點(diǎn),進(jìn)而配置出本節(jié)點(diǎn)的IPv6地址;4)在地址配置信息的報(bào)文中,節(jié)點(diǎn)ID是由各個(gè)子網(wǎng)內(nèi)的IPv6微型傳感路由器根據(jù)地址請(qǐng)求的節(jié)點(diǎn)的EUI-64bits的長(zhǎng)地址進(jìn)行哈希映射,映射成子網(wǎng)內(nèi)唯一的Sbits的節(jié)點(diǎn) ID,進(jìn)而通過(guò)地址配置信息的報(bào)文回復(fù)給各子網(wǎng)成員;各個(gè)IPv6微型傳感器節(jié)點(diǎn)提取出相應(yīng)的地址信息,生成全網(wǎng)唯一的IPv6地址;對(duì)于所有的路由器節(jié)點(diǎn),規(guī)定它們的節(jié)點(diǎn)ID統(tǒng)一為 0x01。
7.如權(quán)利要求1所述的方法,其特征在于,對(duì)于IPv6微型傳感路由器進(jìn)行地址請(qǐng)求時(shí),找不到可用的父節(jié)點(diǎn)時(shí),沖突解決的具體操作步驟如下1)IPv6微型傳感路由器MSR E申請(qǐng)加入網(wǎng)絡(luò)并發(fā)出探測(cè)請(qǐng)求包PRRQ,然而其周圍的 IPv6微型傳感路由器C、D均無(wú)可供分配的地址池,此時(shí)需要對(duì)路由器C以及D的地址進(jìn)行擴(kuò)容;2)MSRE首先選擇深度較大的MSR D為父節(jié)點(diǎn),請(qǐng)求MSR D進(jìn)行沖突解決;MSR D進(jìn)而進(jìn)行地址變長(zhǎng)操作,將自己所分配的子網(wǎng)部分右移一位,以獲得更多的地址可供分配;MSR E再次向MSR D進(jìn)行申請(qǐng)成功獲得MSR D為其分配的地址時(shí),向其子網(wǎng)內(nèi)的所有節(jié)點(diǎn)發(fā)送路由器通告消息RoAM,使子網(wǎng)內(nèi)的所有節(jié)點(diǎn)均變更為新地址,且掩碼為原掩碼加一。
8.如權(quán)利要求7所述的方法,其特征在于,網(wǎng)關(guān)啟動(dòng)或者進(jìn)行地址更新時(shí),向全網(wǎng)發(fā)送路由器通告消息RoAM ;各個(gè)IPv6微型傳感路由器節(jié)點(diǎn)與IPv6微型傳感器節(jié)點(diǎn)在加入網(wǎng)絡(luò),請(qǐng)求全球單播地址時(shí)都需進(jìn)行“四次握手”進(jìn)行連接,進(jìn)而通過(guò)接收到的地址回復(fù)報(bào)文配置出自己的全球單播地址;所述“四次握手”過(guò)程如下以MSR B進(jìn)行地址請(qǐng)求為例,MSR B廣播探測(cè)請(qǐng)求報(bào)文 PRRQ,接收到PRRQ的路由器均回復(fù)PRRP,MSR B在一定時(shí)間內(nèi)會(huì)收到多個(gè)PRRP,然后根據(jù)一定的策略選取MSR A作為父節(jié)點(diǎn),并發(fā)送ADRQ進(jìn)行地址請(qǐng)求;MSR A對(duì)進(jìn)行地址請(qǐng)求的 MSR B發(fā)送地址回復(fù)報(bào)文ADRP,MSR B據(jù)此配置出自己的全球單播地址。
9.如權(quán)利要求1所述的方法,其特征在于,子網(wǎng)ID部分采用的地址編碼方案具體如下首先啟動(dòng)GW網(wǎng)關(guān)節(jié)點(diǎn),其子網(wǎng)ID部分為全0,掩碼為/80 ;接著,路由器節(jié)點(diǎn)A、C順序接入啟動(dòng),成功接入網(wǎng)絡(luò),GW網(wǎng)關(guān)分配給A、C節(jié)點(diǎn)的子網(wǎng)ID 依次為 1000 0000 00/84, 2000 0000 00/84 ;路由器節(jié)點(diǎn)B向A節(jié)點(diǎn)申請(qǐng)加入網(wǎng)絡(luò),入網(wǎng)成功,A節(jié)點(diǎn)給B節(jié)點(diǎn)分配子網(wǎng)ID為 1100:0000:00/88 ;路由器節(jié)點(diǎn)D向C節(jié)點(diǎn)申請(qǐng)加入網(wǎng)絡(luò),入網(wǎng)成功,C節(jié)點(diǎn)給D節(jié)點(diǎn)分配子網(wǎng) ID 為 2100:0000:00/88 ;路由器節(jié)點(diǎn)E向鄰近節(jié)點(diǎn)C和D發(fā)出申請(qǐng),得到C和D的地址池容量已滿的回復(fù),則繼續(xù)發(fā)送一輪地址申請(qǐng),在系統(tǒng)規(guī)定時(shí)間內(nèi),E仍未找到合適的父節(jié)點(diǎn),則向深度較大的節(jié)點(diǎn)D繼續(xù)發(fā)送地址變長(zhǎng)請(qǐng)求,節(jié)點(diǎn)D進(jìn)而進(jìn)行地址變長(zhǎng)操作,以接納更多的路由器節(jié)點(diǎn)的加入;節(jié)點(diǎn)D將自己所分配的子網(wǎng)部分右移一位,以獲得更多的地址可供分配;MSR E再次向 MSR D進(jìn)行申請(qǐng)成功獲得MSR D為其分配的地址時(shí),向其子網(wǎng)內(nèi)的所有節(jié)點(diǎn)發(fā)送路由器通告消息RoAM,使子網(wǎng)內(nèi)的所有節(jié)點(diǎn)均變更為新地址,掩碼為原掩碼加一,使分配給MSR E的子網(wǎng) ID 為 2108:0000:00/89 ;MSN F向距離最近的MSR B發(fā)出請(qǐng)求,節(jié)點(diǎn)B在判明F為普通傳感器節(jié)點(diǎn),不具有地址池分配功能時(shí),則僅僅是將自己的子網(wǎng)ID告知節(jié)點(diǎn)F,作為節(jié)點(diǎn)F的子網(wǎng)ID,即 1100:000000/88 ;所有的MSN節(jié)點(diǎn)向距離最近的MSR發(fā)出請(qǐng)求加入相應(yīng)子網(wǎng),并從MSR處獲取相應(yīng)的子網(wǎng)ID,該子網(wǎng)ID與MSR的子網(wǎng)ID相同,沒(méi)有向下分配地址池的權(quán)限。
全文摘要
一種無(wú)線傳感器網(wǎng)絡(luò)的IPv6地址無(wú)狀態(tài)自動(dòng)配置方法,其特征在于,采用如下地址編碼方案,128位的IPv6地址分為三部分第1-80位為全局路由前綴,由網(wǎng)關(guān)獲得,通過(guò)該網(wǎng)關(guān)連入全網(wǎng)進(jìn)行通信的節(jié)點(diǎn)均從此網(wǎng)關(guān)取得該80位的全局路由前綴;第81-120位為可供分配的子網(wǎng)ID,各個(gè)子網(wǎng)內(nèi)的所有節(jié)點(diǎn)的子網(wǎng)ID相同;第121-128位為節(jié)點(diǎn)ID,由節(jié)點(diǎn)的64位EUI-64bits長(zhǎng)地址進(jìn)行哈希映射而成,作為節(jié)點(diǎn)在子網(wǎng)內(nèi)標(biāo)識(shí)。本發(fā)明的優(yōu)點(diǎn)是,新節(jié)點(diǎn)在加入網(wǎng)絡(luò)后會(huì)得到父節(jié)點(diǎn)分配的一個(gè)可用于全網(wǎng)通信的、全網(wǎng)唯一的IPv6地址,節(jié)點(diǎn)加入網(wǎng)絡(luò)成功后可以利用這一IPv6地址進(jìn)行全網(wǎng)通信,此IPv6地址中還包含有父節(jié)點(diǎn)IPv6地址信息,節(jié)點(diǎn)地址不只是節(jié)點(diǎn)的身份標(biāo)識(shí),也可以為數(shù)據(jù)包的路由提供服務(wù)。
文檔編號(hào)H04W8/26GK102404718SQ201110343798
公開(kāi)日2012年4月4日 申請(qǐng)日期2011年11月3日 優(yōu)先權(quán)日2011年11月3日
發(fā)明者張宏科, 張琳娟, 朱婉婷, 朱琳, 王建國(guó), 高德云 申請(qǐng)人:北京交通大學(xué)