專利名稱:無線傳感器網(wǎng)絡(luò)上下行異構(gòu)的路由方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線傳感器網(wǎng),更具體地說是一種無線傳感器網(wǎng)絡(luò)上下行異構(gòu)的路由方法。
背景技術(shù):
無線傳感器網(wǎng)絡(luò)是由大量具有通信與計(jì)算能力的微小傳感器節(jié)點(diǎn)密集布設(shè)在無人值守的監(jiān)控區(qū)域而構(gòu)成的智能自治測控網(wǎng)絡(luò)系統(tǒng),能夠根據(jù)環(huán)境自主完成指定任務(wù)。感知信息的收集是無線傳感器網(wǎng)絡(luò)的主要任務(wù)之一,收集信息的模式主要有時(shí)間驅(qū)動(dòng)、事件驅(qū)動(dòng)、查詢等,分析其信息流時(shí)可以發(fā)現(xiàn),最主要的有兩類信息傳送。一類是由傳感器節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的信息傳送,一般為感知信息;另一類是由匯聚節(jié)點(diǎn)到傳感器節(jié)點(diǎn)的信息傳送,一般為控制信息。
將由傳感器節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的傳送稱為上行傳送,所經(jīng)過的路由稱為上行路由;將匯聚節(jié)點(diǎn)到傳感器節(jié)點(diǎn)的傳送稱為下行傳送,所經(jīng)過的路由稱為下行路由。
作為一個(gè)數(shù)據(jù)采集網(wǎng)絡(luò),上行傳送的數(shù)據(jù)量最大,每個(gè)節(jié)點(diǎn)上行路由的目標(biāo)同為匯聚節(jié)點(diǎn)。因此,應(yīng)對上行路由建立方法重點(diǎn)設(shè)計(jì)和優(yōu)化,使其效率最高、性能最好。
下行路由的目標(biāo)非常多,但路由表大小受節(jié)點(diǎn)機(jī)硬件的限制。因此,下行路由主要考慮實(shí)現(xiàn)的可能性、可靠性,研究如何減少網(wǎng)絡(luò)開銷。
但目前所應(yīng)用于無線傳感器網(wǎng)絡(luò)的路由方法,一般對上行路由與下行路由不加以區(qū)別,采用同樣的策略,這使得數(shù)據(jù)量最大的上行路由效率降低,網(wǎng)絡(luò)開銷和時(shí)延增大。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的不足,提出一種無線傳感器網(wǎng)上下行異構(gòu)的路由方法,在所述網(wǎng)絡(luò)內(nèi)各傳感器節(jié)點(diǎn)建立路由時(shí),上行路由和下行路由采用不同的方式即根據(jù)數(shù)據(jù)的源地址、目的地址區(qū)別上行、下行數(shù)據(jù)傳送,對上行、下行數(shù)據(jù)傳送采用不同的路由方法。所建立的無線傳感器網(wǎng)絡(luò)是樹型的網(wǎng)絡(luò)拓?fù)洌總€(gè)節(jié)點(diǎn)只有也必定有一個(gè)父節(jié)點(diǎn)。
根據(jù)上述構(gòu)思,其上行路由的基本思路是1)每個(gè)節(jié)點(diǎn)都試圖建立自己的上行路由。當(dāng)節(jié)點(diǎn)新加入或路由失效時(shí)需建立上行路由,當(dāng)路由生命周期結(jié)束時(shí)更新上行路由。
2)一個(gè)需建立(或更新)上行路由的節(jié)點(diǎn)發(fā)目標(biāo)為匯聚節(jié)點(diǎn)的路由請求,已建立上行路由且跳數(shù)比該節(jié)點(diǎn)小的鄰居節(jié)點(diǎn)發(fā)路由回復(fù),未建立上行路由或跳數(shù)不小于該節(jié)點(diǎn)的鄰居節(jié)點(diǎn)不發(fā)路由回復(fù)也不轉(zhuǎn)發(fā)路由請求,若一個(gè)需建立(或更新)上行路由的節(jié)點(diǎn)發(fā)目標(biāo)為匯聚節(jié)點(diǎn)的路由請求后收不到路由回復(fù),則把跳數(shù)改為最大后重發(fā)路由請求。
3)選擇跳數(shù)最小的節(jié)點(diǎn)作為路由(父節(jié)點(diǎn))。
4)生命周期為Tmin至Tmax之間的隨機(jī)數(shù)。
5)通信時(shí)實(shí)行逐級確認(rèn)。
由上述思路建立上行路由的技術(shù)步驟為S1-1本節(jié)點(diǎn)發(fā)上行路由請求URREQ;S1-2等待上行路由回復(fù)URREP;S1-3在一定時(shí)間內(nèi)是否收到上行路由回復(fù)URREP,若收到,轉(zhuǎn)S1-4;否則轉(zhuǎn)S1-8;S1-4收到上行路由回復(fù)URREP時(shí),判斷本節(jié)點(diǎn)路由表是否為空,若為空,轉(zhuǎn)S1-5,否則轉(zhuǎn)S1-6;S1-5路由表為空,在上行路由表記錄父節(jié)點(diǎn)地址和跳數(shù);
S1-6路由表非空,比較上行路由回復(fù)URREP和上行路由表中路由跳數(shù),保留跳數(shù)小的上行路由;S1-7設(shè)置上行路由生命時(shí)間為Tmin~Tmax之間的隨機(jī)數(shù),生命時(shí)間到期后進(jìn)行路由重建,轉(zhuǎn)S1-1。
下行路由的建立則注意到下行路由的目標(biāo)非常多的特點(diǎn),采用按需路由策略,其基本思路是以廣播的方式建立下行路由表,并充分利用已有的上行路由。實(shí)行端到端確認(rèn)。根據(jù)這樣思路建立的的下行路由的技術(shù)步驟為S4-1是否有匯聚節(jié)點(diǎn)到目的節(jié)點(diǎn)的下行路由,若有,轉(zhuǎn)S4-7;否則,轉(zhuǎn)S4-2;S4-2廣播下行路由請求DRREQ;S4-3等待下行路由回復(fù)DRREP;S4-4判是否在一定時(shí)間內(nèi)收到DRREP,若收到轉(zhuǎn)S4-5;否則,轉(zhuǎn)S4-2;S4-5收到DRREP,記錄到下行路由表;S4-6設(shè)置下行路由生命時(shí)間,轉(zhuǎn)S4-7;S4-7按下行路由表發(fā)送數(shù)據(jù)包給下一跳;S4-8判斷在一定時(shí)間內(nèi)能否收到端—端的確認(rèn)包,若收到,轉(zhuǎn)S4-11;否則,轉(zhuǎn)S4-9;S4-9未收到確認(rèn)包,重傳次數(shù)加1;S4-10判斷重傳次是否大于N,若大于N,轉(zhuǎn)S4-2;否則,轉(zhuǎn)S4-7;S4-11更新下行路由生命時(shí)間。
當(dāng)通過上行路由進(jìn)行數(shù)據(jù)傳送時(shí),若上行路由失效則進(jìn)行路由維護(hù),其技術(shù)步驟為S2-1發(fā)送數(shù)據(jù)給父節(jié)點(diǎn);S2-2等待上行數(shù)據(jù)確認(rèn)包UACK,判在一定時(shí)間內(nèi)是否能收到確認(rèn)包UACK,若收到則結(jié)束,否則轉(zhuǎn)S2-3;S2-3未收到上行數(shù)據(jù)確認(rèn)包UACK,重傳次數(shù)加1;S2-4判斷重傳次數(shù)是否大于N,若大于N,轉(zhuǎn)S2-5;否則轉(zhuǎn)S2-1;S2-5轉(zhuǎn)S1-1,重新建立上行路由。
處理上行路由請求的步驟是S3-1收到上行路由請求URREQ;
S3-2判是否URREQ中的跳數(shù)<本節(jié)點(diǎn)的跳數(shù)。若小于,則轉(zhuǎn)S3-3,否則結(jié)束;S3-3發(fā)送上行路由回復(fù)URREP處理下行路由請求的步驟是S5-1收到下行路由請求DRREQ;S5-2判本節(jié)點(diǎn)是否為目的節(jié)點(diǎn),若是,轉(zhuǎn)S5-3;否則,轉(zhuǎn)S5-4;S5-3按上行路由表發(fā)對下行路由請求DRREQ的下行路由回復(fù)DRREP;S5-4繼續(xù)廣播下行路由請求DRREQ。
節(jié)點(diǎn)處理下行路由回復(fù)的步驟是S6-1收到下行路由回復(fù)DRREP;S6-2判本節(jié)點(diǎn)是否為DRREP中的轉(zhuǎn)發(fā)節(jié)點(diǎn)。若是,轉(zhuǎn)S6-3;否則,結(jié)束;S6-3記錄下行路由,設(shè)置下行路由生命周期;S6-4判本節(jié)點(diǎn)是否為匯聚節(jié)點(diǎn),若是,結(jié)束;否則,轉(zhuǎn)S6-5;S6-5按上行路由繼續(xù)轉(zhuǎn)發(fā)下行路由回復(fù)DRREP。
本發(fā)明的有益效果是在本發(fā)明方法中,上行路由屬于一種主動(dòng)路由,所以效率高,網(wǎng)絡(luò)開銷和時(shí)延小,算法簡單易實(shí)現(xiàn)。上行路由建立時(shí),無需廣播,只需在一跳范圍內(nèi)進(jìn)行。由于路由總是處于已建立的狀態(tài),當(dāng)有上行傳送時(shí)可以立即傳送,時(shí)延很小。上行路由表很小,僅為一項(xiàng),用于記錄父節(jié)點(diǎn),因此建立和維護(hù)簡單。所建立的無線傳感器網(wǎng)絡(luò)是樹型的網(wǎng)絡(luò)拓?fù)?,每個(gè)節(jié)點(diǎn)只有也必定有一個(gè)父節(jié)點(diǎn),因此保證信息傳送可靠。下行路由采取與上行路由方向相反的相同路徑,使下行路由表的建立要比通常的按需路由方法開銷小,無須維護(hù)(依賴于上行路由維護(hù)),更簡單,更易于實(shí)現(xiàn)。
圖1是本發(fā)明中節(jié)點(diǎn)建立上行路由的流程圖2是上行數(shù)據(jù)發(fā)送的流程圖3是處理上行路由請求的過程圖4是匯聚節(jié)點(diǎn)建立下行路由以及下行數(shù)據(jù)發(fā)送的流程圖5是處理下行路由請求的過程圖6是節(jié)點(diǎn)處理下行路由回復(fù)的過程圖7是上行路由請求URREQ包格式圖8是上行路由回復(fù)URREP包格式圖9是下行路由請求DRREQ包格式圖10是下行路由回復(fù)DRREP包格式具體實(shí)施方式
下面結(jié)合一具體實(shí)施例及其附圖對本發(fā)明做進(jìn)一步說明。
對照圖1,本實(shí)施例上行路由建立的處理流程是S1-1本節(jié)點(diǎn)發(fā)上行路由請求URREQ。URREQ包格式請參見圖7,其中含本節(jié)點(diǎn)的跳數(shù)。
S1-2等待1跳范圍內(nèi)的上行路由回復(fù)URREP。URREP包格式請參見圖8,其中包括發(fā)URREQ節(jié)點(diǎn)的跳數(shù)。
S1-3在一定時(shí)間內(nèi)是否收到URREP。若收到,轉(zhuǎn)S1-4;否則轉(zhuǎn)S1-1。
S1-4收到URREP時(shí),判斷本節(jié)點(diǎn)路由表是否為空。若為空,轉(zhuǎn)S1-5;否則轉(zhuǎn)S1-6。
S1-5路由表為空,在上行路由表記錄父節(jié)點(diǎn)地址和跳數(shù)。
S1-6路由表非空,比較URREP和上行路由表中路由跳數(shù),保留跳數(shù)小的上行路由。
S1-7設(shè)置上行路由生命時(shí)間,取數(shù)值為10秒至20秒之間的隨機(jī)數(shù)。
對照圖2,通過上行路由進(jìn)行數(shù)據(jù)傳送的處理流程是S2-1發(fā)送數(shù)據(jù)給父節(jié)點(diǎn)S2-2等待上行數(shù)據(jù)確認(rèn)包UACK,判在一定時(shí)間內(nèi)是否能收到UACK。若收到則結(jié)束;否則轉(zhuǎn)S2-3。
S2-3未收到UACK,重傳次數(shù)加1。
S2-4判斷重傳次數(shù)是否大于3。若大于3,轉(zhuǎn)S2-5;否則轉(zhuǎn)S2-1。
S2-5轉(zhuǎn)S1-1,重新建立上行路由。
對照圖3,處理上行路由請求的流程是S3-1收到URREQ。
S3-2判是否URREQ中的跳數(shù)<本節(jié)點(diǎn)的跳數(shù)。若小于,則轉(zhuǎn)S3-3;否則結(jié)束。
S3-3發(fā)送上行路由回復(fù)URREP。
對照圖4,下行路由建立和數(shù)據(jù)發(fā)送的處理流程是S4-1是否有匯聚節(jié)點(diǎn)到目的節(jié)點(diǎn)的下行路由,若有,轉(zhuǎn)S4-7;否則,轉(zhuǎn)S4-2。
S4-2廣播下行路由請求DRREQ。DRREQ包格式請參見圖9,其中目的地址是最終要查找的節(jié)點(diǎn)地址,DRREQ ID是DRREQ的編號。
S4-3等待下行路由回復(fù)DRREP。圖10是DRREP格式。
S4-4判是否在一定時(shí)間內(nèi)收到DRREP。若收到轉(zhuǎn)S4-5;否則,轉(zhuǎn)S4-2。
S4-5收到DRREP,記錄到下行路由表。
S4-6設(shè)置下行路由生命時(shí)間,取數(shù)值為30秒。轉(zhuǎn)S4-7。
S4-7按下行路由表發(fā)送數(shù)據(jù)包給下一跳。
S4-8判斷在一定時(shí)間內(nèi)能否收到端—端的確認(rèn)包,若收到,轉(zhuǎn)S4-11;否則,轉(zhuǎn)S4-9。
S4-9未收到確認(rèn)包,重傳次數(shù)加1。
S4-10判斷重傳次是否大于3。若大于3,轉(zhuǎn)S4-2;否則,轉(zhuǎn)S4-7。
S4-11更新下行路由生命時(shí)間。
對照圖5,處理下行路由請求的流程是S5-1收到DRREQ。
S5-2判本節(jié)點(diǎn)是否為目的節(jié)點(diǎn)。若是,轉(zhuǎn)S5-3;否則,轉(zhuǎn)S5-4。
S5-3按上行路由表發(fā)對DRREQ的回復(fù)DRREP。DRREP格式中,目的地址是最終要查找的節(jié)點(diǎn)地址,本節(jié)點(diǎn)地址是發(fā)DRREP的節(jié)點(diǎn)的地址,轉(zhuǎn)發(fā)節(jié)點(diǎn)的地址是上行路由節(jié)點(diǎn)的地址。
對照圖6,處理下行路由回復(fù)的流程是S6-1收到DRREP。
S6-2判本節(jié)點(diǎn)是否為DRREP中的轉(zhuǎn)發(fā)節(jié)點(diǎn)。若是,轉(zhuǎn)S6-3;否則,結(jié)束。
S6-3記錄下行路由,設(shè)置下行路由生命周期。
S6-4判本節(jié)點(diǎn)是否為匯聚節(jié)點(diǎn)。若是,結(jié)束;否則,轉(zhuǎn)S6-5。
S6-5按上行路由繼續(xù)轉(zhuǎn)發(fā)DRREP。
權(quán)利要求
1.無線傳感器網(wǎng)絡(luò)上下行異構(gòu)的路由方法,其特征在于,所述網(wǎng)絡(luò)內(nèi)各傳感器節(jié)點(diǎn)建立路由時(shí),上行路由和下行路由采用不同的方式其上行路由建立的步驟S1-1本節(jié)點(diǎn)發(fā)上行路由請求(URREQ);S1-2等待上行路由回復(fù)(URREP);S1-3在一定時(shí)間內(nèi)是否收到上行路由回復(fù)(URREP),若收到,轉(zhuǎn)S1-4;否則轉(zhuǎn)S1-8;S1-4收到上行路由回復(fù)(URREP)時(shí),判斷本節(jié)點(diǎn)路由表是否為空,若為空,轉(zhuǎn)S1-5,否則轉(zhuǎn)S1-6;S1-5路由表為空,在上行路由表記錄父節(jié)點(diǎn)地址和跳數(shù);S1-6路由表非空,比較上行路由回復(fù)(URREP)和上行路由表中路由跳數(shù),保留跳數(shù)小的上行路由;S1-7設(shè)置上行路由生命時(shí)間為Tmin~Tmax之間的隨機(jī)數(shù),生命時(shí)間到期后進(jìn)行路由重建,轉(zhuǎn)S1-1。其下行路由建立的步驟S4-1是否有匯聚節(jié)點(diǎn)到目的節(jié)點(diǎn)的下行路由,若有,轉(zhuǎn)S4-7;否則,轉(zhuǎn)S4-2;S4-2廣播下行路由請求(DRREQ);S4-3等待下行路由回復(fù)(DRREP);S4-4判是否在一定時(shí)間內(nèi)收到(DRREP),若收到轉(zhuǎn)S4-5;否則,轉(zhuǎn)S4-2;S4-5收到(DRREP),記錄到下行路由表;S4-6設(shè)置下行路由生命時(shí)間,轉(zhuǎn)S4-7;S4-7按下行路由表發(fā)送數(shù)據(jù)包給下一跳;S4-8判斷在一定時(shí)間內(nèi)能否收到端—端的確認(rèn)包,若收到,轉(zhuǎn)S4-11;否則,轉(zhuǎn)S4-9;S4-9未收到確認(rèn)包,重傳次數(shù)加1;S4-10判斷重傳次是否大于N,若大于N,轉(zhuǎn)S4-2;否則,轉(zhuǎn)S4-7;S4-11更新下行路由生命時(shí)間。
2.根據(jù)權(quán)利要求1所述無線傳感器網(wǎng)絡(luò)上下行異構(gòu)的路由方法,其特征在于,當(dāng)通過上行路由進(jìn)行數(shù)據(jù)傳送時(shí),若上行路由失效則進(jìn)行路由維護(hù),其技術(shù)步驟為S2-1發(fā)送數(shù)據(jù)給父節(jié)點(diǎn);S2-2等待上行數(shù)據(jù)確認(rèn)包(UACK),判在一定時(shí)間內(nèi)是否能收到確認(rèn)包(UACK),若收到則結(jié)束,否則轉(zhuǎn)S2-3;S2-3未收到上行數(shù)據(jù)確認(rèn)包(UACK),重傳次數(shù)加1;S2-4判斷重傳次數(shù)是否大于N,若大于N,轉(zhuǎn)S2-5;否則轉(zhuǎn)S2-1;S2-5轉(zhuǎn)S1-1,重新建立上行路由。
3.根據(jù)權(quán)利要求1所述無線傳感器網(wǎng)絡(luò)上下行異構(gòu)的路由方法,其特征在于,處理上行路由請求的步驟是S3-1收到上行路由請求(URREQ);S3-2判是否(URREQ)中的跳數(shù)<本節(jié)點(diǎn)的跳數(shù)。若小于,則轉(zhuǎn)S3-3,否則結(jié)束;S3-3發(fā)送上行路由回復(fù)(URREP)。
4.根據(jù)權(quán)利要求1所述無線傳感器網(wǎng)絡(luò)上下行異構(gòu)的路由方法,其特征在于,處理下行路由請求的步驟是S5-1收到下行路由請求(DRREQ);S5-2判本節(jié)點(diǎn)是否為目的節(jié)點(diǎn),若是,轉(zhuǎn)S5-3;否則,轉(zhuǎn)S5-4;S5-3按上行路由表發(fā)對下行路由請求(DRREQ)的下行路由回復(fù)(DRREP);S5-4繼續(xù)廣播下行路由請求(DRREQ)。
5.根據(jù)權(quán)利要求1所述無線傳感器網(wǎng)絡(luò)上下行異構(gòu)的路由方法,其特征在于,節(jié)點(diǎn)處理下行路由回復(fù)的步驟是S6-1收到下行路由回復(fù)(DRREP);S6-2判本節(jié)點(diǎn)是否為(DRREP)中的轉(zhuǎn)發(fā)節(jié)點(diǎn)。若是,轉(zhuǎn)S6-3;否則,結(jié)束;S6-3記錄下行路由,設(shè)置下行路由生命周期;S6-4判本節(jié)點(diǎn)是否為匯聚節(jié)點(diǎn),若是,結(jié)束;否則,轉(zhuǎn)S6-5;S6-5按上行路由繼續(xù)轉(zhuǎn)發(fā)下行路由回復(fù)(DRREP)。
全文摘要
本發(fā)明涉及一種無線傳感器網(wǎng)上下行異構(gòu)的路由方法。所述網(wǎng)絡(luò)內(nèi)各傳感器節(jié)點(diǎn)建立路由時(shí),其上行路由和下行路由采用不同的方式需要建立或更新上行路由的傳感器節(jié)點(diǎn)發(fā)目標(biāo)為匯聚節(jié)點(diǎn)的上行路由請求URREQ,收到路由回復(fù)URREP后選擇跳數(shù)最小的節(jié)點(diǎn)作父節(jié)點(diǎn),形成上行路由的路徑,收不到路由回復(fù)時(shí),把跳數(shù)改為最大跳數(shù)后重發(fā)路由請求,上行路由回復(fù)URREP則是在已收到上行路由請求URREQ節(jié)點(diǎn)中那些跳數(shù)比發(fā)所述上行路由請求URREQ節(jié)點(diǎn)跳數(shù)小且已建立上行路由的鄰居節(jié)點(diǎn)發(fā)出;下行路由以廣播的方式建立,并以方向相反的上行路由的路徑為下行路由的路徑。上行路由建立,無需廣播,只需在一跳范圍內(nèi)進(jìn)行,時(shí)延很小,信息傳送可靠;下行按需路由,開銷小,無須維護(hù),簡單易于實(shí)現(xiàn)。
文檔編號H04L12/28GK1933445SQ200610086140
公開日2007年3月21日 申請日期2006年9月4日 優(yōu)先權(quán)日2006年9月4日
發(fā)明者徐晨, 孫強(qiáng), 章國安, 包志華, 景為平 申請人:南通大學(xué)