專利名稱:基于位置信息的跨層路由方法
技術(shù)領(lǐng)域:
本發(fā)明涉及路由技術(shù),特別是一種基于位置信息的跨層路由方法,屬于 通信技術(shù)領(lǐng)域。
背景技術(shù):
移動AB Hoc網(wǎng)絡(luò)(Mobile AB-Hoc Network,簡稱MANET)是一種由許多 具有路由功能的移動節(jié)點組成的分布式無線多跳網(wǎng)絡(luò),它不依賴于預(yù)設(shè)的基 礎(chǔ)設(shè)施而臨時組建,網(wǎng)絡(luò)中的移動節(jié)點利用自身的無線收發(fā)設(shè)備交換信息, 當(dāng)相互之間不在彼此的通信范圍內(nèi)時,可以借助其他中間節(jié)點中繼來實現(xiàn)多 跳通信。MANET面臨的關(guān)鍵問題之一就是路由問題,即如何在眾多節(jié)點中合理 高效地分配無線資源并在源節(jié)點和目的節(jié)點之間建立穩(wěn)定有效的路由,從而 將數(shù)據(jù)包傳送至目的節(jié)點。
隨著定位技術(shù)的發(fā)展,網(wǎng)絡(luò)中的節(jié)點可以方^^的獲得自己的地理位置信 息,因此,利用節(jié)點的位置信息可以有效改善MANET的路由性能。現(xiàn)有技術(shù) 中存在一種利用位置信息的路由方法,該路由方法中,本跳節(jié)點利用網(wǎng)絡(luò)拓 樸結(jié)構(gòu)中的直接鄰居節(jié)點進行路由決策,本跳節(jié)點在進行數(shù)據(jù)包轉(zhuǎn)發(fā)時需要 從所有已知的鄰節(jié)點中選取一個距離目的節(jié)點最近的鄰節(jié)點作為下一跳節(jié) 點,并將數(shù)據(jù)包轉(zhuǎn)發(fā)至該下一跳節(jié)點,理想情況下,重復(fù)此過程實現(xiàn)將數(shù)據(jù) 包發(fā)送至目的節(jié)點。該種路由方法中本跳節(jié)點需要獲得所有鄰節(jié)點的位置信 息,以確定距離目的節(jié)點最近的鄰節(jié)點,因此,本跳節(jié)點需要獲取或維護其 鄰近所有鄰節(jié)點的位置信息,節(jié)點的開銷較大,特別是在高動態(tài)大型網(wǎng)絡(luò)中, 網(wǎng)絡(luò)中各節(jié)點的變化頻繁,獲取或維護節(jié)點的開銷更大,增大了整個網(wǎng)絡(luò)的
5開銷。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于位置信息的跨層路由方法,可有效克服現(xiàn) 有技術(shù)的缺陷,使得本跳節(jié)點只需要知道自身位置信息和目的節(jié)點位置信息 即可實現(xiàn)數(shù)據(jù)包的轉(zhuǎn)發(fā),節(jié)省了節(jié)點的開銷。
為實現(xiàn)上述目的,本發(fā)明提供了一種基于位置信息的跨層路由方法,包
括
步驟l、本跳節(jié)點廣播BRTS幀,所述BRTS幀包括轉(zhuǎn)發(fā)域、本跳節(jié)點位置 和目的節(jié)點位置信息;
步驟2、鄰節(jié)點接收所述BRTS幀,根據(jù)本跳節(jié)點位置信息、目的節(jié)點位 置信息和自身位置信息進行竟?fàn)幪幚砗蠓祷谻TS幀;
步驟3、本跳節(jié)點接收所述CTS幀,并向返回CTS幀的鄰節(jié)點發(fā)送數(shù)據(jù)包。
其中,所述步驟1包括
步驟IO、作為中繼節(jié)點的本跳節(jié)點接收上游節(jié)點發(fā)送的數(shù)據(jù)包,并緩存; 步驟ll、本跳節(jié)點向上游節(jié)點返回ACK;
步驟12、本跳節(jié)點從所述數(shù)據(jù)包中獲得目的節(jié)點位置信息,根據(jù)所述目 的節(jié)點位置信息和自身位置信息設(shè)置轉(zhuǎn)發(fā)域,將所述轉(zhuǎn)發(fā)域、目的節(jié)點位置 和自身位置信息設(shè)置在BRTS幀中;
步驟13、本跳節(jié)點偵聽信道;
步驟14、本跳節(jié)點偵聽信道是否空閑,是則執(zhí)行步驟16,否則執(zhí)行步驟
15;
步驟15、本跳節(jié)點在退避時間內(nèi)退避,執(zhí)行步驟13; 步驟16、本跳節(jié)點在所述轉(zhuǎn)發(fā)域內(nèi)廣播BRTS幀。 所述步驟2包括
步驟20、鄰節(jié)點接收所述BRTS幀,獲得BRTS幀中包括的轉(zhuǎn)發(fā)域、本跳節(jié)點位置和目的節(jié)點位置信息;
步驟21、鄰節(jié)點根據(jù)所述目的節(jié)點位置信息判斷自己是否是目的節(jié)點, 是則執(zhí)行步驟22,否則執(zhí)行步驟23;
步驟22、鄰節(jié)點返回CTS幀,結(jié)束;
步驟23、鄰節(jié)點根據(jù)所述本跳節(jié)點位置信息、目的節(jié)點位置信息和自身 位置信息判斷自己是否在所述轉(zhuǎn)發(fā)域內(nèi),是則執(zhí)行步驟25,否則執(zhí)行步驟24;
步驟24、鄰節(jié)點放棄回復(fù)CTS幀,退出竟?fàn)?,更新網(wǎng)絡(luò)分配向量,結(jié)束;
步驟25、鄰節(jié)點根據(jù)本跳節(jié)點位置信息、目的節(jié)點位置信息和自身位置 信息計算竟?fàn)幓貜?fù)CTS幀等待的接入發(fā)送時延;
步驟26、鄰節(jié)點在所述接入發(fā)送時延內(nèi)偵聽信道,判斷在所述接入發(fā)送 時延內(nèi)信道上是否有其它節(jié)點回復(fù)的CTS幀,是則執(zhí)行步驟27,否則執(zhí)行步 驟28;
步驟27、放棄回復(fù)CTS幀,鄰節(jié)點退出竟?fàn)?,更新網(wǎng)絡(luò)分配向量,結(jié)束; 步驟28、鄰節(jié)點向本跳節(jié)點返回CTS幀。 進一步地,所述步驟25包括
步驟250、根據(jù)本跳節(jié)點位置信息、目的節(jié)點位置信息和鄰節(jié)點自身位置 信息計算本跳節(jié)點N到臨界點P之間的徑向距離cfo"iV,尸)—iV尸l ,其中臨界點P 是臨界圓與連接線的交點,所述臨界圓是以鄰節(jié)點為圓心、以鄰節(jié)點的通信 距離為半徑的圓,所述連接線是本跳節(jié)點和目的節(jié)點之間的連線;
步驟251、鄰節(jié)點根據(jù)所述徑向距離力:"(iV,尸)-liV尸l計算影響因子F =
w (1—+ —w ).ram/,其中,ra"d為在區(qū)間[O, l]范圍內(nèi)的隨機值,Wp為數(shù) p 2/* 〃
值在區(qū)間[O, 1]內(nèi)的平4軒因子,r為本跳節(jié)點的通信半徑;
步驟252、鄰節(jié)點根據(jù)所述影響因子F計算竟?fàn)幓貜?fù)CTS幀等待的接入發(fā) 送時延,所述接入發(fā)送時延為rC7SRe".re = S/FS + (D/尸S - S/FS). F ,其中DIFS為 分布式的幀間間隙,SIFS為短的幀間間隙。
7所述步驟3包括
步驟3G、本跳節(jié)點偵聽信道;
步驟31、本跳節(jié)點判斷是否接收到CTS幀,是則執(zhí)行步驟32,否則執(zhí)行 步驟33;
步驟32、本跳節(jié)點向返回CTS幀的鄰節(jié)點發(fā)送數(shù)據(jù)包,結(jié)束;
步驟33、本跳節(jié)點判斷偵聽信道時間是否超過了偵聽等待時間,是則執(zhí) 行步驟34,否則執(zhí)行步驟30;
步驟34、本跳節(jié)點判斷對BRTS幀重播是否超過了重播次數(shù),是則本跳節(jié) 點為空洞節(jié)點,否則執(zhí)行步驟l。
本發(fā)明提供了一種基于位置信息的跨層路由方法,本發(fā)明技術(shù)方案中本 跳節(jié)點只需要知道自己的位置信息和目的節(jié)點的位置信息即可實現(xiàn)數(shù)據(jù)包的 轉(zhuǎn)發(fā),因此在高度動態(tài)的網(wǎng)絡(luò)環(huán)境下,即便網(wǎng)絡(luò)拓樸結(jié)構(gòu)發(fā)生劇烈改變也不 會影響數(shù)據(jù)包的投遞,其具有較強的可擴展性,適用于擴展性要求較高的動 態(tài)網(wǎng)絡(luò)環(huán)境。本發(fā)明鄰節(jié)點通過竟?fàn)幓貜?fù)CTS幀,距離目的節(jié)點最近的鄰節(jié) 點最先回復(fù)CTS幀,贏得竟?fàn)帲⒁种破渌徆?jié)點回復(fù)CTS幀,成為本跳節(jié) 點的下一跳節(jié)點,使得獲得的下一跳節(jié)點準(zhǔn)確可靠,且具有到達目的節(jié)點的 最短路徑,提高了數(shù)據(jù)包的轉(zhuǎn)發(fā)效率。本發(fā)明技術(shù)方案能夠以較小的開銷即 可獲得較高的數(shù)據(jù)包投遞率和較低的端到端時延,特別適應(yīng)于高動態(tài)大型網(wǎng) 絡(luò)環(huán)境。
圖1為本發(fā)明基于位置信息的跨層路由方法的流程示意圖2為本發(fā)明作為中繼節(jié)點的本跳節(jié)點廣播BRTS幀的流程圖3為本發(fā)明作為源節(jié)點的本跳節(jié)點廣播BRTS幀的流程圖4為本發(fā)明鄰節(jié)點根據(jù)接收到的BRTS幀進行竟?fàn)幪幚淼牧鞒虉D5為本發(fā)明鄰節(jié)點計算回復(fù)CTS幀等待的接入發(fā)送時延的流程8回復(fù)CTS幀等待的接入發(fā)送時延的示意圖; 圖7為本發(fā)明本跳節(jié)點接收到CTS幀后的流程圖。
具體實施例方式
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細(xì)描述。 圖1為本發(fā)明基于位置信息的跨層路由方法的流程示意圖。該方法包括 步驟l、本跳節(jié)點廣播BRTS幀,所述BRTS幀包括轉(zhuǎn)發(fā)域、本跳節(jié)點位置 和目的節(jié)點位置信息;
步驟2、鄰節(jié)點接收所述BRTS幀,根據(jù)本跳節(jié)點位置信息、目的節(jié)點位 置信息和自身位置信息進行竟?fàn)幪幚砗蠓祷谻TS幀;
步驟3、本跳節(jié)點接收所述CTS幀,并向返回CTS幀的鄰節(jié)點發(fā)送數(shù)據(jù)包。 本發(fā)明上述技術(shù)方案中,當(dāng)本跳節(jié)點(源節(jié)點或中繼節(jié)點)需要發(fā)送或轉(zhuǎn) 發(fā)數(shù)據(jù)包時,本跳節(jié)點廣播包括本跳節(jié)點位置信息、目的節(jié)點位置信息以及 轉(zhuǎn)發(fā)域的B類型請求發(fā)送(B type Request To Send,簡稱BRTS)幀,在本 跳節(jié)點廣播范圍內(nèi)的所有鄰節(jié)點均可接收該BRTS幀,鄰節(jié)點接收到該BRTS 幀后,鄰節(jié)點根據(jù)BRTS幀中的本跳節(jié)點位置信息、目的節(jié)點位置信息以及鄰 節(jié)點自身位置信息進行竟?fàn)幓貜?fù)處理后返回清除發(fā)送(Clear To Send,簡稱 CTS)幀到本跳節(jié)點,本跳節(jié)點接收到鄰節(jié)點返回的CTS幀后,表明BRTS/CTS 握手成功,本跳節(jié)點向返回CTS幀的鄰節(jié)點發(fā)送數(shù)據(jù)包,即返回CTS幀的鄰 節(jié)點為本跳節(jié)點的下一跳節(jié)點,本發(fā)明上述技術(shù)方案可應(yīng)用于采用跨層協(xié)議 設(shè)計方法的網(wǎng)絡(luò)環(huán)境中。本發(fā)明技術(shù)方案中所述的BRTS幀是相對于802.11 DCF協(xié)議中的請求發(fā)送(Request To Send,簡稱RTS )〗見定而言的,802. 11 DCF 協(xié)議中規(guī)定了 RTS幀的接收節(jié)點,而本發(fā)明技術(shù)方案中本跳節(jié)點在發(fā)送RTS 幀時并未規(guī)定RTS幀的接收節(jié)點,因此,為顯示這一特性,本發(fā)明技術(shù)方案 中的RTS幀規(guī)定為BRTS幀。
本發(fā)明上述技術(shù)方案中本跳節(jié)點只需要知道本跳節(jié)點位置信息和目的節(jié)
9點位置信息即可實現(xiàn)數(shù)據(jù)包的發(fā)送或轉(zhuǎn)發(fā),本跳節(jié)點不需要知道鄰節(jié)點的位
置信息,通過廣播BRTS幀到轉(zhuǎn)發(fā)域內(nèi)的所有鄰節(jié)點,并由鄰節(jié)點根據(jù)BRTS 幀中的本跳節(jié)點位置信息、目的節(jié)點位置信息以及鄰節(jié)點自身位置信息進行 竟?fàn)幓貜?fù)處理后返回CTS幀到本跳節(jié)點,最先回復(fù)CTS幀的鄰節(jié)點成為本跳 節(jié)點的下一跳節(jié)點。可以看出,本發(fā)明上述技術(shù)方案中本跳節(jié)點不需要獲取 和維護其鄰節(jié)點的位置信息,只需要知道本跳節(jié)點自身的位置以及目的節(jié)點 的位置即可獲得到目的節(jié)點的下 一跳節(jié)點,節(jié)省了網(wǎng)絡(luò)中各節(jié)點的開銷和運 算量,使得本發(fā)明上述技術(shù)方案可以較小的開銷即可獲得較高的數(shù)據(jù)包投遞 率和較低的端到端的時延,特別適合用于高動態(tài)大型網(wǎng)絡(luò)環(huán)境。
圖2為本發(fā)明作為中繼節(jié)點的本跳節(jié)點廣播BRTS幀的流程圖。上述圖1 技術(shù)方案中,中繼節(jié)點作為本跳節(jié)點時,步驟l可包括
步驟IO、作為中繼節(jié)點的本跳節(jié)點接收上游節(jié)點發(fā)送的數(shù)據(jù)包,并緩存;
步驟ll、本跳節(jié)點向上游節(jié)點返回ACK;
步驟12、本跳節(jié)點從所述數(shù)據(jù)包中獲得目的節(jié)點位置信息,根據(jù)所述目 的節(jié)點位置信息和自身位置信息設(shè)置轉(zhuǎn)發(fā)域,將所述轉(zhuǎn)發(fā)域、目的節(jié)點位置 和自身位置信息設(shè)置在BRTS幀中;
步驟13、本跳節(jié)點偵聽信道;
步驟14、本跳節(jié)點偵聽信道是否空閑,是則執(zhí)行步驟16,否則執(zhí)行步驟
15;
步驟15、本跳節(jié)點在退避時間內(nèi)退避,執(zhí)行步驟13; 步驟16、本跳節(jié)點在所述轉(zhuǎn)發(fā)域內(nèi)廣播BRTS幀。
其中,步驟12中的轉(zhuǎn)發(fā)域為以本跳節(jié)點和目的節(jié)點連線為角平分線、以 本跳節(jié)點為頂點的60°扇形區(qū)域。通過設(shè)定轉(zhuǎn)發(fā)域,可將到達目的節(jié)點的鄰 節(jié)點限制在一 定區(qū)域內(nèi),提高了獲得到達目的節(jié)點的下 一跳節(jié)點的有效性, 使得到達目的節(jié)點的路由準(zhǔn)確可靠。
上述技術(shù)方案中,作為中繼節(jié)點的本跳節(jié)點在接收到上游節(jié)點發(fā)送的數(shù)
10據(jù)包后緩存,并通過向上游節(jié)點返回ACK通知上游節(jié)點自己已成功獲取數(shù)據(jù)
包。本跳節(jié)點獲得數(shù)據(jù)包后,可根據(jù)數(shù)據(jù)包中目的節(jié)點位置信息和自身位置 信息設(shè)置轉(zhuǎn)發(fā)域,并將轉(zhuǎn)發(fā)域、目的節(jié)點位置信息和本跳節(jié)點位置信息設(shè)置
在BRTS幀中,然后偵聽信道,在信道空閑時將BRTS幀在轉(zhuǎn)發(fā)域內(nèi)廣播出去。 如果信道忙,則本跳節(jié)點可在退避時間內(nèi)退避一段時間后再偵聽信道,直到 將BRTS幀廣播出去,其中退避時間可以是隨機的一段等待時間,然后再偵聽 信道。轉(zhuǎn)發(fā)域內(nèi)的鄰節(jié)點接收到該BRTS幀后即可進行竟?fàn)幓貜?fù)CTS幀,最先 回復(fù)CTS幀的鄰節(jié)點即為本跳節(jié)點的下 一跳節(jié)點。
圖3為本發(fā)明作為源節(jié)點的本跳節(jié)點廣播BRTS幀的流程圖。上述圖l技 術(shù)方案中,源節(jié)點作為本跳節(jié)點時,步驟l可包括
步驟110、作為源節(jié)點的本跳節(jié)點生成數(shù)據(jù)包并緩存;
步驟120、本跳節(jié)點設(shè)置目的節(jié)點位置,根據(jù)所述目的節(jié)點位置信息和自 身位置信息設(shè)置轉(zhuǎn)發(fā)域,將所述轉(zhuǎn)發(fā)域、本跳節(jié)點位置和目的節(jié)點位置設(shè)置 在BRTS幀中;
步驟13Q、本跳節(jié)點偵聽信道;
步驟140、本跳節(jié)點偵聽信道是否空閑,是則執(zhí)行步驟160,否則執(zhí)行步 驟150;
步驟150、本跳節(jié)點在退避時間內(nèi)退避,執(zhí)行步驟130;
步驟160、本跳節(jié)點在所述轉(zhuǎn)發(fā)域內(nèi)廣播BRTS幀。
其中,步驟120中的轉(zhuǎn)發(fā)域為以本跳節(jié)點和目的節(jié)點連線為角平分線、 以本跳節(jié)點為頂點的60°扇形區(qū)域。通過設(shè)定轉(zhuǎn)發(fā)域,可將到達目的節(jié)點的 鄰節(jié)點限制在一定區(qū)域內(nèi),提高了獲得到達目的節(jié)點的下一跳節(jié)點的有效性, 使得到達目的節(jié)點的路由準(zhǔn)確可靠。
上述技術(shù)方案中,當(dāng)本跳節(jié)點為源節(jié)點時,本跳節(jié)點可通過節(jié)點定位的 方式獲得目的節(jié)點位置,并根據(jù)目的節(jié)點位置信息和本跳節(jié)點自身位置信息 設(shè)定轉(zhuǎn)發(fā)域,并將轉(zhuǎn)發(fā)域、目的節(jié)點位置以及本跳節(jié)點位置信息設(shè)置在BRTS
ii幀中,本跳節(jié)點可偵聽信道確認(rèn)信道是否空閑,若信道空閑則在設(shè)定的轉(zhuǎn)發(fā)
域內(nèi)廣播BRTS幀,否則本跳節(jié)點可在退避時間內(nèi)退避一段時間后再偵聽信道, 直到將BRTS幀廣播出去,其中退避時間可以是隨機的一段等待時間。轉(zhuǎn)發(fā)域 內(nèi)的鄰節(jié)點接收到BRTS幀后進行竟?fàn)幓貜?fù)CTS幀,最先回復(fù)CTS幀的鄰節(jié)點 成為本跳節(jié)點的下一跳節(jié)點??梢钥闯觯还鼙咎?jié)點是源節(jié)點或中繼節(jié)點, 本跳節(jié)點只需要知道自身位置信息和目的節(jié)點位置信息,即可通過將自身位 置信息、目的節(jié)點位置信息以及設(shè)定的轉(zhuǎn)發(fā)域;改入BRTS幀,并以廣播的形式 將BRTS幀傳送到轉(zhuǎn)發(fā)域內(nèi)的所有鄰節(jié)點,以獲取本跳節(jié)點到目的節(jié)點的下一 跳節(jié)點。
圖4為本發(fā)明鄰節(jié)點根據(jù)接收到的BRTS幀進行竟?fàn)幪幚淼牧鞒虉D。在上 述圖1所示的技術(shù)方案中,步驟2可包括
步驟20、鄰節(jié)點接收所述BRTS幀,獲得BRTS幀中包括的轉(zhuǎn)發(fā)域、本跳 節(jié)點位置和目的節(jié)點位置信息;
步驟21、鄰節(jié)點根據(jù)所述目的節(jié)點位置信息判斷自己是否是目的節(jié)點, 是則執(zhí)行步驟22,否則執(zhí)行步驟23;
步驟22、鄰節(jié)點返回CTS幀,結(jié)束;
步驟23、鄰節(jié)點根據(jù)所述本跳節(jié)點位置信息、目的節(jié)點位置信息和自身 位置信息判斷自己是否在所述轉(zhuǎn)發(fā)域內(nèi),是則執(zhí)行步驟25,否則執(zhí)行步驟24;
步驟24、鄰節(jié)點放棄回復(fù)CTS幀,退出竟?fàn)?,更新網(wǎng)絡(luò)分配向量,結(jié)束;
步驟25、鄰節(jié)點根據(jù)本跳節(jié)點位置信息、目的節(jié)點位置信息和自身位置 信息計算竟?fàn)幓貜?fù)CTS幀等待的接入發(fā)送時延;
步驟26、鄰節(jié)點在所述接入發(fā)送時延內(nèi)偵聽信道,判斷在所述接入發(fā)送 時延內(nèi)信道上是否有其它節(jié)點回復(fù)的CTS幀,是則執(zhí)行步驟27,否則執(zhí)行步 驟28;
步驟27、放棄回復(fù)CTS幀,鄰節(jié)點退出竟?fàn)?,更新網(wǎng)絡(luò)分配向量,結(jié)束; 步驟28、鄰節(jié)點向本跳節(jié)點返回CTS幀。
12上述技術(shù)方案中,鄰節(jié)點接收到本跳節(jié)點廣播的BRTS幀后,首先根據(jù)獲 得的BRTS幀中的目的節(jié)點信息判斷自己是否是目的節(jié)點,是則直接返回CTS 幀到本跳節(jié)點,表明該返回CTS幀的鄰節(jié)點為本跳節(jié)點的下一跳節(jié)點,本跳 節(jié)點接收到該CTS幀后將數(shù)據(jù)包轉(zhuǎn)發(fā)給該鄰節(jié)點。如果鄰節(jié)點不是目的節(jié)點, 則鄰節(jié)點根據(jù)自身位置信息判斷自己是否屬于BRTS幀中轉(zhuǎn)發(fā)域內(nèi)的節(jié)點,是 則鄰節(jié)點根據(jù)本跳節(jié)點、目的節(jié)點以及自身位置信息計算回復(fù)CTS幀等待的 接入發(fā)送時延,并在該接入發(fā)送時延內(nèi)偵聽信道,判斷信道上是否有其它節(jié) 點回復(fù)的CTS幀,若有,則表明已有鄰節(jié)點回復(fù)CTS幀,本跳節(jié)點已找到下 一跳節(jié)點,則該鄰節(jié)點放棄回復(fù)CTS幀,退出竟?fàn)?,并根?jù)偵聽到的CTS幀 更新網(wǎng)絡(luò)分配向量,若在接入發(fā)送時延內(nèi)沒有偵聽到信道上有其它節(jié)點回復(fù) 的CTS幀,且信道空閑,則該鄰節(jié)點返回CTS幀,本跳節(jié)點接收到該鄰節(jié)點 返回的CTS幀后,表示BRTS/CTS握手成功,該鄰節(jié)點即成為本跳節(jié)點的下一 跳節(jié)點,本跳節(jié)點即可將需要轉(zhuǎn)發(fā)到目的節(jié)點的數(shù)據(jù)包轉(zhuǎn)發(fā)給該鄰節(jié)點。如 果鄰節(jié)點不在BRTS幀的轉(zhuǎn)發(fā)域內(nèi),則鄰節(jié)點將退出竟?fàn)幓貜?fù)CTS幀,并更新 網(wǎng)絡(luò)分配向量NAV。上述技術(shù)方案中,鄰節(jié)點通過計算回復(fù)CTS幀等待的接入 發(fā)送時延,接入發(fā)送時延最短的鄰節(jié)點最先返回CTS幀,本跳節(jié)點接收到該 CTS幀后,就可將該鄰節(jié)點作為本跳節(jié)點的下一跳節(jié)點。同時,其它鄰節(jié)點偵 聽到存在CTS幀回復(fù)后,表明本跳節(jié)點尋找下一跳節(jié)點成功,因此取消自身 的CTS幀回復(fù),并根據(jù)偵聽到的CTS回復(fù)更新自身的網(wǎng)絡(luò)分配向量NAV。
圖5為本發(fā)明鄰節(jié)點計算回復(fù)CTS幀等待的接入發(fā)送時延的流程圖。具 體地,在上述圖4所示的技術(shù)方案中,步驟25可包括
步驟250、根據(jù)本跳節(jié)點位置信息、目的節(jié)點位置信息和鄰節(jié)點自身位置 信息計算本跳節(jié)點N到臨界點P之間的徑向距離cfo,(iV,尸)叫iV尸l ,其中臨界點P 是臨界圓與連接線的交點,所述臨界圓是以鄰節(jié)點為圓心、以鄰節(jié)點的通信 距離為半徑的圓,所述連接線是本跳節(jié)點和目的節(jié)點之間的連線;
步驟251、鄰節(jié)點根據(jù)所述徑向距離必"iV,尸)叫iV尸l計算影響因子F =
13其中,ram/為在區(qū)間
范圍內(nèi)的隨機值,Wp為數(shù)
值在區(qū)間[O, 1]內(nèi)的平tf因子,r為本跳節(jié)點的通信半徑;
步驟252、鄰節(jié)點根據(jù)所述影響因子F計算竟?fàn)幓貜?fù)CTS幀等待的接入發(fā) 送時延,所述接入發(fā)送時延為7;7, R,_=S/i^ + (Z)/^-S/FS).F,其中DIFS為
分布式的幀間間隙,SIFS為短的幀間間隙。
上述技術(shù)方案中,鄰節(jié)點接收到BRTS幀后,首先根據(jù)BRTS幀中的本跳 節(jié)點位置和目的節(jié)點位置信息以及鄰節(jié)點自身位置信息計算竟?fàn)幓貜?fù)CTS幀 等待的接入發(fā)送時延7^并在該接入發(fā)送時延內(nèi)偵聽信道。如果鄰節(jié)
點在接入發(fā)送時延7^, R,,內(nèi)偵聽到信道上有來自其它節(jié)點向本跳節(jié)點回復(fù) 的CTS幀,表示已有節(jié)點先于自己返回CTS幀,本跳節(jié)點已找到下一跳節(jié)點, 則該鄰節(jié)點竟?fàn)幓貜?fù)CTS幀失敗,鄰節(jié)點放棄其預(yù)約的在接入發(fā)送時延 ^》w后對BRTS幀的CTS幀回復(fù),退出竟?fàn)?,?艮據(jù)偵聽到的來自其它鄰 節(jié)點的CTS幀更新自己的網(wǎng)絡(luò)分配向量NAV。如果鄰節(jié)點在接入發(fā)送時延 ^^卞,,e內(nèi)沒有偵聽到其它節(jié)點回復(fù)的CTS幀,且信道空閑,表明鄰節(jié)點的 CTS幀等待接入發(fā)送時延最短,可以返回CTS幀,鄰節(jié)點向本跳節(jié)點返回CTS 幀,鄰節(jié)點成為本跳節(jié)點的下一跳節(jié)點,本跳節(jié)點即可向其下一跳節(jié)點轉(zhuǎn)發(fā) 數(shù)據(jù)包。
上述技術(shù)方案中,引入了徑向距離&w(W,尸)的概念。圖6為本發(fā)明鄰節(jié)點 計算回復(fù)CTS幀等待的接入發(fā)送時延的示意圖。如圖6所示,圖中的實線圓 為本跳節(jié)點N以其最大通信距離r為半徑的通信范圍,虛線圓K為鄰節(jié)點A 以其最大通信距離rA為半徑的通信范圍,其中,徑向距離忐"7V,尸)計算過程如 下首先以鄰節(jié)點A為中心,以鄰節(jié)點A的通信距離n為半徑作圓K,圓K 即為臨界圓,然后連接本跳節(jié)點N和目的節(jié)點D,獲得本跳節(jié)點N和目的節(jié)點 D之間的徑向連接線L,將連接線L和圓K的交點定義為臨界點P,則本跳節(jié) 點N和臨界點P之間的直線距離即為徑向距離麵W,尸),可以看出,齒(iV,尸)
14越大,說明臨界點P距離目的節(jié)點D越近,在通信半徑rA—定的情況下,說 明鄰節(jié)點A到目的節(jié)點D的距離越近j艮據(jù)影響因子F- w。(i —+ —w。).ra^
的計算公式可以看出,在rand和w。一定的情況下,影響因子F與徑向距離 ^"W, P) = 成反比,即徑向距離cfo"7V, P) = |iVP|越大(即鄰節(jié)點到目的節(jié)點 之間的距離越小),影響因子F越小。根據(jù)7^—Kw一S/FS + (D/FS-S/FS).F計 算公式可以看出,接入發(fā)送時延7^,,,、e與影響因子F的大小成正比,即接 入發(fā)送時延7^—^w與鄰節(jié)點A到目的節(jié)點D的距離成正比,鄰節(jié)點A到目 的節(jié)點D的距離越小,鄰節(jié)點竟?fàn)幓貜?fù)CTS幀等待的接入發(fā)送時延7^_—_越
小。也就是說,距離目的節(jié)點D近的鄰節(jié)點A最先向本跳節(jié)點回復(fù)CTS幀, 贏得竟?fàn)?,并抑制其它鄰?jié)點回復(fù)CTS幀,從而成為本跳節(jié)點的下一跳節(jié)點。 因此,通過上述技術(shù)方案獲得的本跳節(jié)點的下一跳節(jié)點準(zhǔn)確可靠,且具有到 達目的節(jié)點的最短路徑,提高了數(shù)據(jù)轉(zhuǎn)發(fā)的效率。
在影響因子F的計算公式中,為避免具有相同徑向距離的鄰節(jié)點同時回 復(fù)CTS幀,造成CTS幀在本跳節(jié)點處發(fā)生碰撞現(xiàn)象,在影響因子F的計算公 式中引入隨機項rand。同時,隨機項rand的引入還可以避免數(shù)據(jù)包轉(zhuǎn)發(fā)過程 中出現(xiàn)轉(zhuǎn)發(fā)任務(wù)集中在部分徑向距離較大的節(jié)點中,以平衡網(wǎng)路中各個節(jié)點 的負(fù)載。如果在某一時刻兩個或多個鄰節(jié)點同時向本跳節(jié)點返回CTS幀,則 本跳節(jié)點處就可能存在兩個或多個CTS幀碰撞的可能,因此,本跳節(jié)點無法 接收到任何CTS幀,本跳節(jié)點要么重播BRTS幀,要么判定在該轉(zhuǎn)發(fā)域內(nèi)不存 在下一跳節(jié)點,這不僅增加了時延,也會增大路徑跳數(shù)和路由開銷,降低數(shù) 據(jù)包的投遞率。因此,本發(fā)明上述技術(shù)方案中通過在影響因子F計算公式中 引入隨機項rand可以最大限度地降低上述情況的發(fā)生概率,提高獲得下一跳 節(jié)點的有效性。
圖7為本發(fā)明本跳節(jié)點接收到CTS幀后的流程圖。在圖1所示的技術(shù)方 案中,步驟3可包括
15步驟30、本跳節(jié)點偵聽信道;
步驟31、本跳節(jié)點判斷是否接收到CTS幀,是則執(zhí)行步驟32,否則執(zhí)行 步驟33;
步驟32、本跳節(jié)點向返回CTS幀的鄰節(jié)點發(fā)送數(shù)據(jù)包,結(jié)束;
步驟33、本跳節(jié)點判斷偵聽信道時間是否超過了偵聽等待時間,是則執(zhí) 行步驟34,否則執(zhí)行步驟30;
步驟34、本跳節(jié)點判斷對BRTS幀重播是否超過了重播次數(shù),是則本跳節(jié) 點為空洞節(jié)點,否則執(zhí)行步驟l,重新廣播BRTS幀。
上述技術(shù)方案中,當(dāng)本跳節(jié)點接收到鄰節(jié)點返回的CTS幀后,表明 BRTS/CTS握手成功,本跳節(jié)點將返回CTS幀的鄰節(jié)點作為下一跳節(jié)點,并將 數(shù)據(jù)包發(fā)送至該鄰節(jié)點。具體地,本跳節(jié)點在廣播BRTS幀后,需要在規(guī)定的 偵聽等待時間內(nèi)等待鄰節(jié)點返回的CTS幀,如果接收到CTS幀,表明BRTS/CTS 握手成功,本跳節(jié)點將返回CTS幀的鄰節(jié)點作為下一跳節(jié)點,并將數(shù)據(jù)包發(fā) 送給該鄰節(jié)點;如果本跳節(jié)點在規(guī)定的偵聽等待時間內(nèi)沒有收到CTS幀,判 斷對BRTS幀的重播是否超出了設(shè)定的重播次數(shù),是則表明本跳節(jié)點為空洞節(jié) 點,可按照處理空洞節(jié)點的方法對其進行處理,否則本跳節(jié)點重播BRTS幀, 繼續(xù)等待鄰節(jié)點的CTS幀回復(fù)。
上述技術(shù)方案中,本跳節(jié)點可根據(jù)偵聽到的信道情況進行相應(yīng)的處理, 本跳節(jié)點在規(guī)定的偵聽時間內(nèi)接收不到CTS幀后會多次重播BRTS幀,可以最 大限度地在轉(zhuǎn)發(fā)域內(nèi)尋找下一跳節(jié)點,將數(shù)據(jù)包轉(zhuǎn)發(fā)出去,保證數(shù)據(jù)包轉(zhuǎn)發(fā) 的成功率,同時避免因暫時節(jié)點移動造成的通信空洞問題。
本發(fā)明技術(shù)方案中,當(dāng)本跳節(jié)點完成BRTS/CTS握手確定其下一跳節(jié)點后, 本跳節(jié)點按802. 11 DCF協(xié)議向下一跳節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)包,不斷重復(fù)此轉(zhuǎn)發(fā)過程, 直到將lt據(jù)包到達目的節(jié)點為止。
本發(fā)明基于位置信息的跨層路由方法技術(shù)方案中,本跳節(jié)點只需要知道 自己的位置信息和目的節(jié)點的位置信息即可實現(xiàn)數(shù)據(jù)包的轉(zhuǎn)發(fā),因此在高度
16動態(tài)的網(wǎng)絡(luò)環(huán)境下,即便網(wǎng)絡(luò)拓樸結(jié)構(gòu)發(fā)生劇烈改變也不會影響數(shù)據(jù)包的投 遞,其具有較強的可擴展性,適用于擴展性要求較高的動態(tài)網(wǎng)絡(luò)環(huán)境。本發(fā) 明技術(shù)方案中鄰節(jié)點通過竟?fàn)幓貜?fù)CTS幀,距離目的節(jié)點最近的鄰節(jié)點最先
回復(fù)CTS幀,贏得竟?fàn)?,并抑制其它鄰?jié)點回復(fù)CTS幀,成為本跳節(jié)點的下 一跳節(jié)點,使得獲得的下一跳節(jié)點準(zhǔn)確可靠,且具有到達目的節(jié)點的最短路 徑,提高了數(shù)據(jù)包的轉(zhuǎn)發(fā)效率。本發(fā)明技術(shù)方案能夠以較小的開銷即可獲得 較高的數(shù)據(jù)包投遞率和較低的端到端時延,特別適應(yīng)于高動態(tài)大型網(wǎng)絡(luò)環(huán)境。 最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對其進 行限制,盡管參照較佳實施例對本發(fā)明進行了詳細(xì)的說明,本領(lǐng)域的普通技 術(shù)人員應(yīng)當(dāng)理解其依然可以對本發(fā)明的技術(shù)方案進行修改或者等同替換, 而這些修改或者等同替換亦不能使修改后的技術(shù)方案脫離本發(fā)明技術(shù)方案的 精神和范圍。
權(quán)利要求
1、一種基于位置信息的跨層路由方法,其特征在于,包括步驟1、本跳節(jié)點廣播BRTS幀,所述BRTS幀包括轉(zhuǎn)發(fā)域、本跳節(jié)點位置和目的節(jié)點位置信息;步驟2、鄰節(jié)點接收所述BRTS幀,根據(jù)本跳節(jié)點位置信息、目的節(jié)點位置信息和自身位置信息進行競爭處理后返回CTS幀;步驟3、本跳節(jié)點接收所述CTS幀,并向返回CTS幀的鄰節(jié)點發(fā)送數(shù)據(jù)包。
2、 根據(jù)權(quán)利要求1所述的基于位置信息的跨層路由方法,其特征在于, 所述步驟1包括步驟IO、作為中繼節(jié)點的本跳節(jié)點接收上游節(jié)點發(fā)送的數(shù)據(jù)包,并緩存; 步驟ll、本跳節(jié)點向上游節(jié)點返回ACK;步驟12、本跳節(jié)點從所述數(shù)據(jù)包中獲得目的節(jié)點位置信息,根據(jù)所述目 的節(jié)點位置信息和自身位置信息設(shè)置轉(zhuǎn)發(fā)域,將所述轉(zhuǎn)發(fā)域、目的節(jié)點位置 和自身位置信息設(shè)置在BRTS幀中;步驟13、本跳節(jié)點偵聽信道;步驟14、本跳節(jié)點偵聽信道是否空閑,是則執(zhí)行步驟16,否則執(zhí)行步驟15;步驟15、本跳節(jié)點在退避時間內(nèi)退避,執(zhí)行步驟13; 步驟16、本跳節(jié)點在所述轉(zhuǎn)發(fā)域內(nèi)廣播BRTS幀。
3、 根據(jù)權(quán)利要求1所述的基于位置信息的跨層路由方法,其特征在于, 所述步驟1包括步驟110、作為源節(jié)點的本跳節(jié)點生成數(shù)據(jù)包并緩存;步驟120、本跳節(jié)點設(shè)置目的節(jié)點位置,根據(jù)所述目的節(jié)點位置信息和自身位置信息設(shè)置轉(zhuǎn)發(fā)域,將所述轉(zhuǎn)發(fā)域、本跳節(jié)點位置和目的節(jié)點位置設(shè)置在BRTS幀中;步驟130、本跳節(jié)點偵聽信道;步驟140、本跳節(jié)點偵聽信道是否空閑,是則執(zhí)行步驟160,否則執(zhí)行步 驟150;步驟150、本跳節(jié)點在退避時間內(nèi)退避,才丸行步驟130; 步驟160、本跳節(jié)點在所述轉(zhuǎn)發(fā)域內(nèi)廣播BRTS幀。
4、 根據(jù)權(quán)利要求2或3所述的基于位置信息的跨層路由方法,其特征在 于,所述轉(zhuǎn)發(fā)域為以本跳節(jié)點和目的節(jié)點連線為角平分線、以本跳節(jié)點為頂 點的60°扇形區(qū)域。
5、 根據(jù)權(quán)利要求1所述的基于位置信息的跨層路由方法,其特征在于, 所述步驟2包括步驟20、鄰節(jié)點接收所述BRTS幀,獲得BRTS幀中包括的轉(zhuǎn)發(fā)域、本跳節(jié)點位置和目的節(jié)點位置信息;步驟21、鄰節(jié)點根據(jù)所述目的節(jié)點位置信息判斷自己是否是目的節(jié)點, 是則執(zhí)行步驟22,否則執(zhí)行步驟23;步驟22、鄰節(jié)點返回CTS幀,結(jié)束;步驟23、鄰節(jié)點根據(jù)所述本跳節(jié)點位置信息、目的節(jié)點位置信息和自身 位置信息判斷自己是否在所述轉(zhuǎn)發(fā)域內(nèi),是則執(zhí)行步驟25,否則執(zhí)行步驟24;步驟24、鄰節(jié)點放棄回復(fù)CTS幀,退出竟?fàn)?,更新網(wǎng)絡(luò)分配向量,結(jié)束;步驟25、鄰節(jié)點根據(jù)本跳節(jié)點位置信息、目的節(jié)點位置信息和自身位置 信息計算竟?fàn)幓貜?fù)CTS幀等待的接入發(fā)送時延;步驟26、鄰節(jié)點在所述接入發(fā)送時延內(nèi)偵聽信道,判斷在所述接入發(fā)送 時延內(nèi)信道上是否有其它節(jié)點回復(fù)的CTS幀,是則執(zhí)行步驟27,否則執(zhí)行步 驟28;步驟27、放棄回復(fù)CTS幀,鄰節(jié)點退出竟?fàn)?,更新網(wǎng)絡(luò)分配向量,結(jié)束; 步驟28、鄰節(jié)點向本跳節(jié)點返回CTS幀。
6、 根據(jù)權(quán)利要求5所述的基于位置信息的跨層路由方法,其特征在于, 所述步驟25包括步驟250、根據(jù)本跳節(jié)點位置信息、目的節(jié)點位置信息和鄰節(jié)點自身位置 信息計算本跳節(jié)點N到臨界點P之間的徑向距離^W(7V,尸)^iV尸l,其中臨界點P是臨界圓與連接線的交點,所述臨界圓是以鄰節(jié)點為圓心、以鄰節(jié)點的通信距離為半徑的圓,所述連接線是本跳節(jié)點和目的節(jié)點之間的連線;步驟251、鄰節(jié)點根據(jù)所述徑向距離^^V,尸)叫7V尸I計算影響因子F =<formula>formula see original document page 4</formula>,其中,ra^為在區(qū)間
范圍內(nèi)的隨機值,Wp為數(shù)值在區(qū)間[O, 1]內(nèi)的平tf因子,r為本跳節(jié)點的通信半徑;步驟252、鄰節(jié)點根據(jù)所述影響因子F計算竟?fàn)幓貜?fù)CTS幀等待的接入發(fā) 送時延,所述4妄入發(fā)送時延為rcre= S/KS + -S/FS) F ,其中DIFS為分布式的幀間間隙,SIFS為短的幀間間隙。
7、根據(jù)權(quán)利要求1所述的基于位置信息的跨層路由方法,其特征在于, 所述步驟3包括步驟30、本跳節(jié)點偵聽信道;步驟31、本跳節(jié)點判斷是否接收到CTS幀,是則執(zhí)行步驟32,否則執(zhí)行 步驟33;步驟32、本跳節(jié)點向返回CTS幀的鄰節(jié)點發(fā)送數(shù)據(jù)包,結(jié)束;步驟33、本跳節(jié)點判斷偵聽信道時間是否超過了偵聽等待時間,是則執(zhí)行步驟34,否則執(zhí)行步驟30;步驟34、本跳節(jié)點判斷對BRTS幀重播是否超過了重播次數(shù),是則本跳節(jié)點為空洞節(jié)點,否則執(zhí)行步驟l。
全文摘要
本發(fā)明公開了一種基于位置信息的跨層路由方法,該方法包括本跳節(jié)點廣播BRTS幀,所述BRTS幀包括轉(zhuǎn)發(fā)域、本跳節(jié)點位置和目的節(jié)點位置信息;鄰節(jié)點接收所述BRTS幀,根據(jù)本跳節(jié)點位置信息、目的節(jié)點位置信息和自身位置信息進行競爭處理后返回CTS幀;本跳節(jié)點接收所述CTS幀,并向返回CTS幀的鄰節(jié)點發(fā)送數(shù)據(jù)包。本發(fā)明技術(shù)方案中,本跳節(jié)點只需要知道自身位置信息以及目的節(jié)點位置信息即可實現(xiàn)數(shù)據(jù)包的轉(zhuǎn)發(fā),本發(fā)明具有較好的擴展性,特別適用于高動態(tài)大型網(wǎng)絡(luò)環(huán)境。
文檔編號H04W40/02GK101459947SQ20091007600
公開日2009年6月17日 申請日期2009年1月4日 優(yōu)先權(quán)日2009年1月4日
發(fā)明者凱 劉, 軍 張, 璇 施, 李獻昌 申請人:北京航空航天大學(xué)