專利名稱:基于網(wǎng)絡(luò)編碼的無線自組網(wǎng)路由查找方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線通信領(lǐng)域,特別涉及一種路由查找方法,可用于無線自組網(wǎng)絡(luò)。
背景技術(shù):
無線自組網(wǎng)Ad hoc是由一組帶有無線收發(fā)信裝置的節(jié)點(diǎn)組成的一個(gè)無線通信網(wǎng) 絡(luò),它不依賴于預(yù)設(shè)的基礎(chǔ)設(shè)施而臨時(shí)組建,網(wǎng)絡(luò)中的節(jié)點(diǎn)利用自身的無線收發(fā)設(shè)備 交換信息,當(dāng)彼此不在通信范圍內(nèi)時(shí),可以借助其他中間節(jié)點(diǎn)中繼來實(shí)現(xiàn)多跳通信。
無線自組網(wǎng)大多采用分布式網(wǎng)絡(luò)結(jié)構(gòu),分布式結(jié)構(gòu)又分為完全分布式網(wǎng)絡(luò)結(jié)構(gòu)和 分層分布式控制網(wǎng)絡(luò)結(jié)構(gòu),在完全分布式網(wǎng)絡(luò)中,網(wǎng)絡(luò)的每個(gè)節(jié)點(diǎn)在路由方面的責(zé)任 完全相等,隨著網(wǎng)絡(luò)范圍的擴(kuò)大,節(jié)點(diǎn)在維護(hù)路由信息方面的信息交換也就越來越多, 繼而導(dǎo)致了網(wǎng)絡(luò)時(shí)延的增大和網(wǎng)絡(luò)的擁塞。分群是克服以上缺點(diǎn)的常用方式。在分群 結(jié)構(gòu)中,網(wǎng)絡(luò)被劃分為群,每個(gè)群由一個(gè)群首和多個(gè)群成員和一部分網(wǎng)關(guān)組成,群首 形成高一級(jí)網(wǎng)絡(luò)。群中群首和群成員動(dòng)態(tài)變化,節(jié)點(diǎn)仍是自動(dòng)組網(wǎng),由群首節(jié)點(diǎn)和網(wǎng) 關(guān)節(jié)點(diǎn)負(fù)責(zé)群間數(shù)據(jù)轉(zhuǎn)發(fā)。
現(xiàn)有的分群網(wǎng)絡(luò)路由査找協(xié)議CGSR (Clusterhead Gateway Switch Routing )中, 通過由群首和網(wǎng)關(guān)維護(hù)的路由表進(jìn)行路徑的查找,節(jié)點(diǎn)對(duì)接收的信息并不進(jìn)行任何處 理,接收信息后儲(chǔ)存,然后轉(zhuǎn)發(fā)給相鄰節(jié)點(diǎn)。這種方法由于在查找路由的過程中節(jié)點(diǎn) 間的需要多次交換信息,浪費(fèi)了網(wǎng)絡(luò)有限的能量。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服上訴已有技術(shù)的缺點(diǎn),提出一種基于網(wǎng)絡(luò)編碼的無線自組 網(wǎng)路由查找方法,以減少了查找路由過程當(dāng)中的信息交換次數(shù),延長(zhǎng)了網(wǎng)絡(luò)的生存時(shí) 間。
網(wǎng)絡(luò)編碼是一種融合編碼和路由的信息交換技術(shù),在傳統(tǒng)存儲(chǔ)轉(zhuǎn)發(fā)的路由方法基 礎(chǔ)上,通過允許對(duì)接收的多個(gè)數(shù)據(jù)包進(jìn)行編碼信息融合,增加單次傳輸?shù)男畔⒘?提高網(wǎng) 絡(luò)整體性能。2000年,香港中文大學(xué)的R.Ahlswede等人基于網(wǎng)絡(luò)信息流的概念提出 了網(wǎng)絡(luò)編碼的思想后,網(wǎng)絡(luò)編碼的研究主要集中在網(wǎng)絡(luò)編碼的構(gòu)造方式,理論容量等 方面,較少的將網(wǎng)絡(luò)編碼應(yīng)用在實(shí)際網(wǎng)絡(luò)當(dāng)中。
網(wǎng)絡(luò)編碼從廣義上講,是網(wǎng)絡(luò)中的節(jié)點(diǎn)將對(duì)接收到的信息進(jìn)行一定形式的編碼處理,然后再傳輸出去的多點(diǎn)傳送技術(shù)。在傳統(tǒng)的網(wǎng)絡(luò)中,作為中繼的節(jié)點(diǎn)只能對(duì)接收 到的信號(hào)進(jìn)行復(fù)制、放大和轉(zhuǎn)發(fā),這對(duì)于網(wǎng)絡(luò)資源有時(shí)候是一種浪費(fèi)。網(wǎng)絡(luò)編碼技術(shù) 打破了這種限制,它允許中繼節(jié)點(diǎn)對(duì)接收到的信息進(jìn)行編碼,并將接收到的多個(gè)數(shù)據(jù) 包按照某種特定算法重新組合再發(fā)送出去。網(wǎng)絡(luò)編碼的本質(zhì)是利用節(jié)點(diǎn)的計(jì)算能力提 高鏈路帶寬的利用率。
在無線自組網(wǎng)中大多是能量有限的,群首和網(wǎng)關(guān)在信息交換當(dāng)中承受了更多的流 量。由于節(jié)點(diǎn)計(jì)算能力和功率控制水平的提高, 一個(gè)節(jié)點(diǎn)用于無線收發(fā)的能量占據(jù)能 量消耗的主要部分。如果能夠在路由査找過程和信息交換過程中減少節(jié)點(diǎn)收發(fā)數(shù)據(jù)的 次數(shù),網(wǎng)絡(luò)的生存時(shí)間將得到相應(yīng)的延長(zhǎng),同時(shí)網(wǎng)絡(luò)的傳輸速率也會(huì)提高。網(wǎng)絡(luò)編碼 的本質(zhì)是提高鏈路帶寬的利用率,在査找路由的過程中應(yīng)用網(wǎng)絡(luò)編碼技術(shù),節(jié)點(diǎn)對(duì)信 息進(jìn)行編碼解碼處理,可以有效的減少路由信息交換的次數(shù),進(jìn)而提高網(wǎng)絡(luò)的生存時(shí) 間。
實(shí)現(xiàn)本發(fā)明目的的技術(shù)方案,包括如下歩驟
(1) 在分群的大規(guī)模無線分組網(wǎng)中,源節(jié)點(diǎn)向群首節(jié)點(diǎn)發(fā)送路由請(qǐng)求信息,群 首節(jié)點(diǎn)根據(jù)路由請(qǐng)求信息在路由表中查找到目的節(jié)點(diǎn)路徑,對(duì)找到路徑的目的節(jié)點(diǎn), 群首將路徑存入路由答復(fù)信息并向源節(jié)點(diǎn)返回,對(duì)找不到路徑的目的節(jié)點(diǎn),群首通過 網(wǎng)關(guān)轉(zhuǎn)發(fā)路由請(qǐng)求信息給相鄰群首;
(2) 網(wǎng)關(guān)在轉(zhuǎn)發(fā)信息時(shí),時(shí)延一段時(shí)間,如果只收到一個(gè)群首發(fā)送的路由請(qǐng)求 信息或路由答復(fù)信息,就直接轉(zhuǎn)發(fā)給相應(yīng)群首,如果收到了兩個(gè)群首發(fā)送的路由請(qǐng)求 信息或路由答復(fù)信息,就將這兩個(gè)信息按位進(jìn)行異或編碼運(yùn)算,通過無線廣播媒介, 一次發(fā)送給兩個(gè)群首;
(3) 群首收到編碼信息后進(jìn)行解碼,根據(jù)解碼的結(jié)果返回路由答復(fù)信息或是通 過網(wǎng)關(guān)轉(zhuǎn)發(fā)解碼出的信息給相鄰群首;
(4) 在回送路由答復(fù)信息時(shí),如果有別的群首偷聽到路由答復(fù)信息,群首將根 據(jù)偷聽到的路由答復(fù)信息建立緩存表,保存路徑,并對(duì)緩存表進(jìn)行更新;
(5) 源節(jié)點(diǎn)收到包含路徑的路由答復(fù)信息后,按照到目的節(jié)點(diǎn)的路徑通過網(wǎng)關(guān)發(fā) 送數(shù)據(jù)信息;
(6) 若在傳輸過程當(dāng)中發(fā)現(xiàn)路由失效,先在失效處重新發(fā)送路由請(qǐng)求信息,若 在時(shí)延一段時(shí)間后沒有收到路由回復(fù)信息,再由源節(jié)點(diǎn)發(fā)送路由請(qǐng)求信息。
本發(fā)明具有如下優(yōu)點(diǎn)
51) 本方法由于在無線自組網(wǎng)中采用了分群結(jié)構(gòu),更加適合大規(guī)模網(wǎng)絡(luò)的應(yīng)用,相 對(duì)于完全分布式的無線自組網(wǎng),減少了網(wǎng)絡(luò)時(shí)延和網(wǎng)絡(luò)的擁塞;
2) 本方法由于在網(wǎng)關(guān)處進(jìn)行了編碼信息融合,相對(duì)于采用儲(chǔ)存轉(zhuǎn)發(fā)方式的群首網(wǎng) 關(guān)路由協(xié)議,減少了信息發(fā)送次數(shù),有效的減少了能量的消耗,提高了網(wǎng)絡(luò)的傳輸效 率。
圖1是本發(fā)明査找路由的流程圖; 圖2是本發(fā)明網(wǎng)關(guān)轉(zhuǎn)發(fā)信息的原理示意圖。
具體實(shí)施例方式
參照?qǐng)Dl,本發(fā)明的路由查找過程包括如下步驟
步驟l,對(duì)無線自組網(wǎng)進(jìn)行分群。
應(yīng)用分群算法對(duì)大規(guī)模無線分組網(wǎng),使用群首節(jié)點(diǎn)的ID號(hào)作為群號(hào),群首可以 通過最小ID算法、LEACH算法、GAF等算法進(jìn)行選擇,完成群首選擇,之后在各 個(gè)群首通信范圍內(nèi)的節(jié)點(diǎn)加入相應(yīng)群首,形成群內(nèi)的單跳網(wǎng)絡(luò),并初始化群內(nèi)節(jié)點(diǎn)表, 在多個(gè)群首通信范圍內(nèi)的節(jié)點(diǎn)成為網(wǎng)關(guān)。群內(nèi)節(jié)點(diǎn)通過群首節(jié)點(diǎn)維護(hù)的群內(nèi)節(jié)點(diǎn)表進(jìn) 行路由,群間節(jié)點(diǎn)的通信通過群首節(jié)點(diǎn)和網(wǎng)關(guān)節(jié)點(diǎn)維護(hù)的"群首到網(wǎng)關(guān)再到群首"的 路徑完成。
步驟2,源節(jié)點(diǎn)向群首發(fā)送路由請(qǐng)求信息。
當(dāng)數(shù)據(jù)產(chǎn)生后,先將路由請(qǐng)求信息發(fā)送給群首節(jié)點(diǎn),為了保證路由算法的有效性, 對(duì)路由請(qǐng)求信息編號(hào),每個(gè)源節(jié)點(diǎn)擁有一個(gè)路由請(qǐng)求信息編號(hào),在發(fā)送路由請(qǐng)求信息 時(shí),將編號(hào)存入路由請(qǐng)求信息,并將節(jié)點(diǎn)的路由請(qǐng)求信息編號(hào)加一。群首對(duì)每一個(gè)聽 到的路由請(qǐng)求信息建立緩存表,保存源節(jié)點(diǎn)和相應(yīng)的路由請(qǐng)求信息編號(hào)。
步驟3,群首節(jié)點(diǎn)根據(jù)收到的路由請(qǐng)求信息,返回路由答復(fù)信息或向相鄰群首轉(zhuǎn) 發(fā)信息。
若路由請(qǐng)求信息中的編號(hào)比群首緩存中對(duì)應(yīng)源節(jié)點(diǎn)的路由請(qǐng)求信息編號(hào)小,則丟 棄該路由請(qǐng)求信息,若路由請(qǐng)求信息中的編號(hào)比群首緩存中對(duì)應(yīng)源節(jié)點(diǎn)的路由請(qǐng)求信 息編號(hào)大,則將路由請(qǐng)求信息中的編號(hào)存入群首路由的緩存表,并根據(jù)收到的路由請(qǐng) 求信息,通過群內(nèi)節(jié)點(diǎn)表和通過偷聽到的信息建立的緩存表查找路徑。對(duì)找到路徑的 目的節(jié)點(diǎn),群首將路徑存入路由答復(fù)信息并向源節(jié)點(diǎn)返回,對(duì)找不到路徑的目的節(jié)點(diǎn), 群首通過網(wǎng)關(guān)轉(zhuǎn)發(fā)路由請(qǐng)求信息給相鄰群首。步驟4,網(wǎng)關(guān)對(duì)收到的信息進(jìn)行轉(zhuǎn)發(fā)。
參照?qǐng)D2,本步驟的實(shí)現(xiàn)分為兩種情況
第一種情況網(wǎng)關(guān)收到了兩個(gè)群首發(fā)送的路由請(qǐng)求信息或路由答復(fù)信息,其步驟 如圖2 (a)所示
第一歩,網(wǎng)關(guān)b收到群首A發(fā)送的信息l,時(shí)延一段時(shí)間,該信息l是路由請(qǐng)求 信息或路由答復(fù)信息;
第二步,網(wǎng)關(guān)b在時(shí)延中收到群首D發(fā)送的信息2,該信息2是路由請(qǐng)求信息或 路由答復(fù)信息;
第三步,網(wǎng)關(guān)b把收到的群首A和D的信息按位進(jìn)行異或編碼運(yùn)算,生成編碼信 息3并將該信息通過無線廣播媒介, 一次發(fā)送給兩個(gè)群首A和D。
第二種情況網(wǎng)關(guān)只收到一個(gè)群首發(fā)送的路由請(qǐng)求信息或路由答復(fù)信息,其步驟 如圖2 (b)所示
第一步,網(wǎng)關(guān)b收到群首A發(fā)送的信息l,時(shí)延一段時(shí)間,該信息l是路由請(qǐng)求 信息或路由答復(fù)信息,
第二步,在時(shí)延中,群首D沒有向網(wǎng)關(guān)b發(fā)送的信息,網(wǎng)關(guān)b只收到群首A發(fā)送 的信息l,
第三步,網(wǎng)關(guān)b將信息l直接轉(zhuǎn)發(fā)給群首D。
步驟5,群首收到編碼信息后進(jìn)行解碼,根據(jù)解碼的結(jié)果返回路由答復(fù)信息或是 向相鄰群首轉(zhuǎn)發(fā)解碼出的信息。 解碼出的信息有兩種情況
第一種情況解出的結(jié)果如果是路由請(qǐng)求信息,則在完成編號(hào)比較后,根據(jù)是否
能在群首路由表中找到到目的節(jié)點(diǎn)的路徑,確定向源節(jié)點(diǎn)返回信息或向相鄰群首轉(zhuǎn)發(fā) 信息,如果群首能找到到目的節(jié)點(diǎn)的路徑,則將到目的節(jié)點(diǎn)的路徑存入路由答復(fù)信息 并向源節(jié)點(diǎn)返回,如果群首找不到到目的節(jié)點(diǎn)的路徑,則通過網(wǎng)關(guān)轉(zhuǎn)發(fā)路由請(qǐng)求信息
給相鄰群首;
第二種情況解出的結(jié)果如果是路由回復(fù)信息或數(shù)據(jù)信息,則群首按路徑通過網(wǎng) 關(guān)轉(zhuǎn)發(fā)路由回復(fù)信息或數(shù)據(jù)信息。 步驟6,通過偷聽建立緩存表。
在回送路由答復(fù)信息時(shí),如果有別的群首偷聽到路由答復(fù)信息,群首將根據(jù)偷聽 到的路由答復(fù)信息建立緩存表,保存路徑,并對(duì)緩存表進(jìn)行更新,是將超時(shí)的條目刪除,若沒有超時(shí)的條目則選擇淘汰掉包含節(jié)點(diǎn)最少的路徑。 步驟7,傳輸數(shù)據(jù)。
在網(wǎng)絡(luò)中的源節(jié)點(diǎn)發(fā)送路由請(qǐng)求信息到目的節(jié)點(diǎn)的過程中,源節(jié)點(diǎn)尋找到了一條 到目的節(jié)點(diǎn)的路徑,目的節(jié)點(diǎn)根據(jù)相同路徑發(fā)送路由答復(fù)信息至源節(jié)點(diǎn),源節(jié)點(diǎn)和目 的節(jié)點(diǎn)將沿路雙向傳輸數(shù)據(jù),源節(jié)點(diǎn)收到路由答復(fù)信息后就認(rèn)為路由建立已經(jīng)完成, 即進(jìn)行數(shù)據(jù)傳輸。
步驟8,路由維護(hù)。
若在傳輸過程當(dāng)中發(fā)現(xiàn)路由失效,先在失效處重新發(fā)送路由請(qǐng)求信息,若在時(shí)延 一段時(shí)間后沒有收到路由回復(fù)信息,再由源節(jié)點(diǎn)發(fā)送路由請(qǐng)求信息。
CGSR: Cluster head Gateway Switch Routing,群首網(wǎng)關(guān)交換路由算法; ID: identity,身份;
LEACH: low energy adaptive clustering hierarchy; GAF: geographical adaptive fidelity 。
8
權(quán)利要求
1、一種基于網(wǎng)絡(luò)編碼的無線自組網(wǎng)路由查找方法,包括如下步驟(1)在分群的大規(guī)模無線分組網(wǎng)中,源節(jié)點(diǎn)向群首節(jié)點(diǎn)發(fā)送路由請(qǐng)求信息,群首節(jié)點(diǎn)根據(jù)路由請(qǐng)求信息在路由表中查找到目的節(jié)點(diǎn)路徑,對(duì)找到路徑的目的節(jié)點(diǎn),群首將路徑存入路由答復(fù)信息并向源節(jié)點(diǎn)返回,對(duì)找不到路徑的目的節(jié)點(diǎn),群首通過網(wǎng)關(guān)轉(zhuǎn)發(fā)路由請(qǐng)求信息給相鄰群首;(2)網(wǎng)關(guān)在轉(zhuǎn)發(fā)信息時(shí),時(shí)延一段時(shí)間,如果只收到一個(gè)群首發(fā)送的路由請(qǐng)求信息或路由答復(fù)信息,就直接轉(zhuǎn)發(fā)給相應(yīng)群首,如果收到了兩個(gè)群首發(fā)送的路由請(qǐng)求信息或路由答復(fù)信息,就將這兩個(gè)信息按位進(jìn)行異或編碼運(yùn)算,通過無線廣播媒介,一次發(fā)送給兩個(gè)群首;(3)群首收到編碼信息后進(jìn)行解碼,根據(jù)解碼的結(jié)果返回路由答復(fù)信息或是通過網(wǎng)關(guān)轉(zhuǎn)發(fā)解碼出的信息給相鄰群首;(4)在回送路由答復(fù)信息時(shí),如果有別的群首偷聽到路由答復(fù)信息,群首將根據(jù)偷聽到的路由答復(fù)信息建立緩存表,保存路徑,并對(duì)緩存表進(jìn)行更新;(5)源節(jié)點(diǎn)收到包含路徑的路由答復(fù)信息后,按照到目的節(jié)點(diǎn)的路徑通過網(wǎng)關(guān)發(fā)送數(shù)據(jù)信息;(6)若在傳輸過程當(dāng)中發(fā)現(xiàn)路由失效,先在失效處重新發(fā)送路由請(qǐng)求信息,若在時(shí)延一段時(shí)間后沒有收到路由回復(fù)信息,再由源節(jié)點(diǎn)發(fā)送路由請(qǐng)求信息。
2、 根據(jù)權(quán)利要求l所述的無線分布式網(wǎng)絡(luò)路由方法,其中步驟(1)所述路由 表,包括群內(nèi)節(jié)點(diǎn)表和通過偷聽到的信息建立的緩存表。
3、 根據(jù)權(quán)利要求l所述的無線分布式網(wǎng)絡(luò)路由方法,其中步驟(3)所述根據(jù) 解碼的結(jié)果返回路由答復(fù)信息或是通過網(wǎng)關(guān)轉(zhuǎn)發(fā)解碼出的信息給相鄰群首,分為兩 種情況第一種情況解出的結(jié)果如果是路由請(qǐng)求信息,則根據(jù)是否能在群首路由表中 找到到目的節(jié)點(diǎn)的路徑,確定向源節(jié)點(diǎn)返回信息或向相鄰群首轉(zhuǎn)發(fā)信息,如果群首 能找到到目的節(jié)點(diǎn)的路徑,則將到目的節(jié)點(diǎn)的路徑存入路由答復(fù)信息并向源節(jié)點(diǎn)返 回,如果群首找不到到目的節(jié)點(diǎn)的路徑,則通過網(wǎng)關(guān)轉(zhuǎn)發(fā)路由請(qǐng)求信息給相鄰群首;第二種情況解出的結(jié)果如果是路由回復(fù)信息或數(shù)據(jù)信息,則群首按路徑通過網(wǎng)關(guān)轉(zhuǎn)發(fā)路由回復(fù)信息或數(shù)據(jù)信息。
4、根據(jù)權(quán)利要求l所述的無線分布式網(wǎng)絡(luò)路由方法,其中步驟(4)所述對(duì)緩 存表進(jìn)行更新,是將超時(shí)的條目刪除,若沒有超時(shí)的條目則選擇淘汰掉包含節(jié)點(diǎn)最 少的路徑。
全文摘要
本發(fā)明公開了一種基于網(wǎng)絡(luò)編碼的無線自組網(wǎng)路由查找方法,主要改進(jìn)現(xiàn)有技術(shù)中路由信息交換的次數(shù)多,生存時(shí)間低的問題。其步驟為在分群的大規(guī)模無線分組網(wǎng)中,源節(jié)點(diǎn)向群首發(fā)送路由請(qǐng)求信息,群首通過查找路由表返回信息或通過網(wǎng)關(guān)轉(zhuǎn)發(fā)信息;網(wǎng)關(guān)節(jié)點(diǎn)在轉(zhuǎn)發(fā)信息時(shí),若在時(shí)延內(nèi)收到兩個(gè)群首的信息,則將其進(jìn)行編碼廣播,若只收到一個(gè)群首的信息,則直接向相應(yīng)群首轉(zhuǎn)發(fā);群首節(jié)點(diǎn)根據(jù)收到的信息和解碼的結(jié)果轉(zhuǎn)發(fā)和返回信息,當(dāng)已知目的節(jié)點(diǎn)路徑時(shí),群首向源節(jié)點(diǎn)返回路由答復(fù)信息,否則群首向相鄰群首轉(zhuǎn)發(fā)路由請(qǐng)求信息。本發(fā)明具有信息發(fā)送次數(shù)少,網(wǎng)絡(luò)能耗低的優(yōu)點(diǎn),可用于大規(guī)模無線自組網(wǎng)的路由建立。
文檔編號(hào)H04W84/18GK101686521SQ20091002272
公開日2010年3月31日 申請(qǐng)日期2009年5月27日 優(yōu)先權(quán)日2009年5月27日
發(fā)明者琰 史, 張習(xí)通, 時(shí)振帥, 李建東, 希 楊, 敏 盛 申請(qǐng)人:西安電子科技大學(xué)