專利名稱:認(rèn)知無線Ad Hoc網(wǎng)絡(luò)中的按需路由實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及認(rèn)知無線Ad Hoc網(wǎng)絡(luò),特別是認(rèn)知無線Ad Hoc網(wǎng)絡(luò)中的按需路由實(shí)現(xiàn)方法。
背景技術(shù):
Ad Hoc網(wǎng)絡(luò)是由ー組帶有無線收發(fā)裝置的移動(dòng)終端組成的ー個(gè)多跳的臨時(shí)性自治系統(tǒng),整個(gè)網(wǎng)絡(luò)沒有固定的基礎(chǔ)設(shè)施。網(wǎng)絡(luò)中的移動(dòng)終端兼具主機(jī)和路由器的功能。由于Ad Hoc網(wǎng)絡(luò)具有無中心自組織的特點(diǎn)和靈活的拓?fù)浣Y(jié)構(gòu),這種組網(wǎng)方式被廣泛應(yīng)用在軍事通信、緊急服務(wù)、傳感器網(wǎng)絡(luò)等多種場合。目前隨著無線通信業(yè)務(wù)需求的快速增長,可用頻譜資源變得越來越稀缺。人們通過采用先進(jìn)的無線通信理論和技術(shù),如鏈路自適應(yīng)技術(shù)、多天線技術(shù)等努力提高頻譜效率的同時(shí),卻發(fā)現(xiàn)全球授權(quán)頻段,尤其是信號(hào)傳播特性比較好的低頻段的頻譜利用率極低。但是從近年ー些研究結(jié)果可以看到,頻譜資源缺乏更多是由于現(xiàn)有的頻譜管理與分配策略造成的。現(xiàn)有的頻譜管理與分配策略大多是基于靜態(tài)控制的模型,即管理機(jī)構(gòu)將可用頻譜資源劃分成固定、非重疊的頻譜塊,這些頻譜塊大小固定,并通過保護(hù)頻帶進(jìn)行分割,將這些頻譜塊以獨(dú)占的方式分配給不同的服務(wù)和技術(shù)部門,包括運(yùn)營商、廣播電視、軍事和公共安全部門等。應(yīng)用這些授權(quán)頻段的用戶稱為主用戶(Primary Users, PUs)或者授權(quán)用戶。認(rèn)知無線電(Cognitive Radio,CR)作為ー種更智能的頻譜共享技術(shù),能夠依靠人エ智能的支持,感知無線通信環(huán)境,根據(jù)一定的學(xué)習(xí)和決策算法,實(shí)時(shí)自適應(yīng)地改變系統(tǒng)エ作參數(shù),動(dòng)態(tài)的檢測和有效地利用空閑頻譜,理論上允許在時(shí)間、頻率以及空間上進(jìn)行多維的頻譜復(fù)用。這將大大降低頻譜和帶寬的限制對(duì)無線技術(shù)發(fā)展的束縛。因此這ー技術(shù)被預(yù)言為未來最熱門的無線技術(shù)。將認(rèn)知無線電技術(shù)與Ad Hoc網(wǎng)絡(luò)相結(jié)合,就形成了認(rèn)知無線Ad Hoc網(wǎng)絡(luò),即網(wǎng)絡(luò)中的每ー個(gè)移動(dòng)終端或者節(jié)點(diǎn)(以下文中統(tǒng)ー稱為節(jié)點(diǎn))都具有認(rèn)知的能力,它們可以感知并檢測到主用戶在一段時(shí)間內(nèi)未使用的頻譜集合形成本節(jié)點(diǎn)的頻譜機(jī)會(huì)(SpectrumOpportunities, SOPs),選擇合適的頻譜并調(diào)整傳輸參數(shù)來傳輸本節(jié)點(diǎn)的數(shù)據(jù)。這些節(jié)點(diǎn)被稱為次用戶(Secondary Users, SUs)。路由技術(shù)是Ad Hoc網(wǎng)絡(luò)中的ー項(xiàng)重要技術(shù),研究多跳認(rèn)知無線電網(wǎng)絡(luò)的選路問題,既要考慮到自組織網(wǎng)絡(luò)選路的共性原則問題,又要考慮到認(rèn)知無線電網(wǎng)絡(luò)動(dòng)態(tài)頻譜接入與使用的特有問題。Ad Hoc網(wǎng)絡(luò)中的路由協(xié)議從路由發(fā)現(xiàn)的角度可以分為主動(dòng)路由和按需路由,主動(dòng)式路由協(xié)議不適用于拓?fù)鋭?dòng)態(tài)變化的Ad Hoc網(wǎng)絡(luò),按需路由中最典型的路由協(xié)議包括動(dòng)態(tài)源路由協(xié)議(Dynamic Source Routing, DSR)和Ad Hoc按需距離矢量協(xié)議(Ad Hoc onDemand D stance Vector, A0DV)路由協(xié)議,認(rèn)知網(wǎng)絡(luò)的主要特點(diǎn)是頻譜的間歇性,這種頻譜不可用導(dǎo)致的鏈路不可用是相對(duì)較為頻繁的小范圍內(nèi)的鏈路特點(diǎn),DSR不能對(duì)這種變化作出快速反應(yīng),可能會(huì)引起路由重尋,極大的増加了路由開銷。而AODV是逐跳機(jī)制的,每個(gè)中間節(jié)點(diǎn)都維護(hù)ー個(gè)路由表,有利于小范圍路由信息的變化跟蹤,本發(fā)明是在該協(xié)議的基
礎(chǔ)上,提出了適用于認(rèn)知無線Ad Hoc網(wǎng)絡(luò)的路由協(xié)議。AODV路由協(xié)議包括路由發(fā)現(xiàn)和路由維護(hù)兩個(gè)過程。AODV 有三種基本的報(bào)文表 1,RREQ(Route REQue st)報(bào)文,表 2,RREP (Route
REPly)報(bào)文和表3,RRER(Route RERor)報(bào)文,即路由請求,路由回復(fù)和路由錯(cuò)誤報(bào)文。表I. RREQ報(bào)文格式
分組類型 JRGDU預(yù)留位跳計(jì)數(shù)
RREQ ID 信宿IP地址 信宿序列號(hào) 信源IP地址 信源序列號(hào)表2. RREP報(bào)文格式
分組類型JR 預(yù)留位 PrefixSz 跳計(jì)數(shù)信宿IP地址信宿序列號(hào)信源IP地址生存時(shí)間表3. RRER報(bào)文格式
分組類型 N預(yù)留位跳計(jì)數(shù)
不可達(dá)信宿IP地址(I)
不可達(dá)信宿序列號(hào)(I)
不可達(dá)信宿IP地址(如果需要)
不可達(dá)信宿序列號(hào)(如果需要) 路由發(fā)現(xiàn)過程I) RREQ 分組
節(jié)點(diǎn)在有需要時(shí)(路徑不存在或者無效),向它的鄰居廣播RREQ來進(jìn)行路由發(fā)現(xiàn)。RREQ分組包括信源地址、信源序列號(hào)、廣播ID、信宿地址、信宿序列號(hào)、跳計(jì)數(shù)。其中A <信源地址,廣播ID>是RREQ分組的唯一標(biāo)識(shí);B :信源節(jié)點(diǎn)維護(hù)ー個(gè)信源序列號(hào),表示的是“到信源的反向路由的新舊”;C :信宿序列號(hào)則表示的是“到信宿的前向路由的新舊”,是過去所有接收到的與信宿有關(guān)的消息中的最大值。要求節(jié)點(diǎn)為每ー個(gè)目的節(jié)點(diǎn)都維護(hù)ー個(gè)信宿序列號(hào); D :跳計(jì)數(shù)的初始值設(shè)置為0 ;2)對(duì)RREQ的處理接收到RREQ的節(jié)點(diǎn)會(huì)作出如下處理I.創(chuàng)建ー個(gè)路由表項(xiàng),先暫時(shí)不分配有效的序列號(hào),只用來記錄反向的路徑;2.如果在“路由發(fā)現(xiàn)定吋”內(nèi)已收到一個(gè)擁有相同標(biāo)識(shí)的RREQ分組,就拋棄該分組;否則,就更新這個(gè)反向路由表項(xiàng)A :信宿序列號(hào)=RREQ分組的信宿序列號(hào);B :下ー跳節(jié)點(diǎn)=廣播該RREQ的鄰居(從哪個(gè)鄰居接受到的此RREQ分組);C :跳數(shù)=RREQ分組的“跳計(jì)數(shù)”字段值;D :設(shè)置表項(xiàng)的“過時(shí)定時(shí)器”;3.如果該節(jié)點(diǎn)就是信宿,或者節(jié)點(diǎn)路由表中含有到信宿的活動(dòng)的表項(xiàng),且表項(xiàng)序列號(hào)大于RREQ信宿序列號(hào),那么節(jié)點(diǎn)就產(chǎn)生RREP發(fā)送到信源;如果不滿足以上兩點(diǎn),轉(zhuǎn)入到4中進(jìn)行處理;4.更新RREQ分組然后進(jìn)行廣播A :信宿序列號(hào)=本節(jié)點(diǎn)收到的該信宿相關(guān)的最大序列號(hào);B :跳計(jì)數(shù)加I ;如圖I所示,S節(jié)點(diǎn)有向D節(jié)點(diǎn)發(fā)送數(shù)據(jù)的需求,發(fā)起路由發(fā)現(xiàn)過程,過程如下步驟ー S節(jié)點(diǎn)首先產(chǎn)生RREQ消息并將其以廣播方式泛洪發(fā)送,鄰居節(jié)點(diǎn)a、C、e都收到RREQ消息,更新各自的路由表,記錄發(fā)送該消息的上游節(jié)點(diǎn)S、跳計(jì)數(shù)、目的節(jié)點(diǎn)序列號(hào)。相當(dāng)于建立了各節(jié)點(diǎn)到源節(jié)點(diǎn)的反向路徑。節(jié)點(diǎn)a、c、e繼續(xù)以廣播方式發(fā)送RREQ消息。步驟ニ 節(jié)點(diǎn)b、e、f收到該消息,其中e節(jié)點(diǎn)在定時(shí)器時(shí)間內(nèi)收到同樣的RREQ消息,丟棄該消息,f節(jié)點(diǎn)在定時(shí)器時(shí)間內(nèi)分別收到e節(jié)點(diǎn)和a節(jié)點(diǎn)發(fā)送的RREQ消息,由于其先收到e節(jié)點(diǎn)的RREQ消息于是將記錄發(fā)送該消息的上游節(jié)點(diǎn)e、跳計(jì)數(shù)、目的節(jié)點(diǎn)序列號(hào),并丟棄再次收到的a節(jié)點(diǎn)發(fā)送的RREQ消息。同樣b節(jié)點(diǎn)也更新路由表記錄上游節(jié)點(diǎn)a、跳計(jì)數(shù)、目的節(jié)點(diǎn)序列號(hào)。步驟三節(jié)點(diǎn)b、f繼續(xù)以廣播方式發(fā)送RREQ消息。b節(jié)點(diǎn)沒有通向D節(jié)點(diǎn)的鏈路,最終RREQ消息會(huì)因?yàn)槌^TTL(Time To Live)值被丟棄。D節(jié)點(diǎn)收到f節(jié)點(diǎn)的RREQ消息,將產(chǎn)生RREP消息回復(fù)。3) RREP 的傳播產(chǎn)生RREP的條件如上所述,RREP中的內(nèi)容包括跳計(jì)數(shù)、信宿序列號(hào)、信宿地址、生存時(shí)間、信源地址等。節(jié)點(diǎn)通過前面建立起來的反向路由反饋給源節(jié)點(diǎn),并且是以單播方式發(fā)送,目的節(jié)點(diǎn)產(chǎn)生的RREP消息跳計(jì)數(shù)為0 ;中間節(jié)點(diǎn)產(chǎn)生的RREP消息跳計(jì)數(shù)為本結(jié)點(diǎn)到信宿的跳數(shù)(查相應(yīng)路由表項(xiàng)可得到)。4)對(duì)RREP的處理節(jié)點(diǎn)對(duì)接收到的RREP分組作如下處理I.如果沒有與RREP分組中的信源相匹配的表項(xiàng),則先創(chuàng)建ー個(gè)“前向路由表”空表項(xiàng);2.否則,滿足如下條件下對(duì)已有表項(xiàng)進(jìn)行更新A :現(xiàn)有表項(xiàng)的信宿序列號(hào)小于RREP分組中的信宿序列號(hào);B :現(xiàn)有的表項(xiàng)沒有激活; C :信宿序列號(hào)雖然相同,但RREP分組的“跳計(jì)數(shù)“值小于表項(xiàng)中對(duì)應(yīng)的值,或者更新或者創(chuàng)建,產(chǎn)生ー個(gè)新的前向路徑;路由表項(xiàng)更新下一跳=廣播RREP的鄰居節(jié)點(diǎn);信宿序列號(hào)=RREP中的信宿序列號(hào); 3.將RREP中的跳計(jì)數(shù)加I,通過反向路徑傳播。如圖2所示,D節(jié)點(diǎn)滿足條件產(chǎn)生RREP消息,中間節(jié)點(diǎn)f首先轉(zhuǎn)發(fā)RREP,它更新路由表,并記錄轉(zhuǎn)發(fā)該消息的下游節(jié)點(diǎn)D、跳計(jì)數(shù)、生存時(shí)間、目的節(jié)點(diǎn)序列號(hào),并根據(jù)前面記錄的反向路由信息將RREP報(bào)文轉(zhuǎn)發(fā)給上游節(jié)點(diǎn)e,直至源節(jié)點(diǎn)S ;源節(jié)點(diǎn)S收到RREP后,就獲得了到目的節(jié)點(diǎn)D的路由,接下來,源節(jié)點(diǎn)就可以用該路由進(jìn)行數(shù)據(jù)報(bào)文的發(fā)送了。 路由維護(hù)過程I)與活動(dòng)路由無關(guān)的結(jié)點(diǎn)移動(dòng),并不影響信源到信宿的尋徑;2)如果信源結(jié)點(diǎn)移動(dòng)導(dǎo)致路由不可用,則由信源重新發(fā)起路由發(fā)現(xiàn)的過程;3)當(dāng)信宿結(jié)點(diǎn)或活動(dòng)路由的中間結(jié)點(diǎn)移動(dòng),導(dǎo)致鏈路中斷;或者通過鄰居節(jié)點(diǎn)定期發(fā)送的HELLO消息發(fā)現(xiàn)鏈路中斷吋,則鏈路的“上游結(jié)點(diǎn)”主動(dòng)發(fā)送ー個(gè)RERR,該RERR的信宿序列號(hào)大于其所獲取的信宿序列號(hào),跳計(jì)數(shù)的值設(shè)為⑴,并傳播到所有的活動(dòng)鄰居。該過程重復(fù),直至所有的相關(guān)信源結(jié)點(diǎn)被通告到,如果需要,信源結(jié)點(diǎn)從新發(fā)起路由發(fā)現(xiàn)過程。AODV路由協(xié)議在認(rèn)知無線Ad Hoc網(wǎng)絡(luò)中主要面臨以下幾個(gè)問題I)頻譜動(dòng)態(tài)性當(dāng)前檢測到的可用頻譜資源在經(jīng)過一段時(shí)間后或許不能再使用,這導(dǎo)致了間隙性連接(Intermittent connectivity)的問題,它使得依靠之前檢測到的可用頻譜所建立的路由很快失效,這樣會(huì)降低該路由的端到端性能,并且會(huì)增加路由維護(hù)以及重尋的開銷。2)頻譜多祥性在一段時(shí)間內(nèi)CR節(jié)點(diǎn)可能檢測到較多的可以用來通信的無線頻譜資源,這樣ー個(gè)含有豐富頻譜的集合為CR節(jié)點(diǎn)的通信帶來了新的特點(diǎn),AODV協(xié)議只適用于單頻點(diǎn)Ad Hoc網(wǎng)絡(luò)。3)頻譜差異性認(rèn)知無線Ad Hoc網(wǎng)絡(luò)中的節(jié)點(diǎn)之間所使用的頻譜資源是有差異的,每個(gè)節(jié)點(diǎn)不能夠總是知道其它節(jié)點(diǎn)所能夠用來通信的無線頻段集合,因此限制了路由協(xié)議的設(shè)計(jì)。AODV中所有節(jié)點(diǎn)使用相同的頻譜資源。4)公共控制信道的缺少傳統(tǒng)的多跳網(wǎng)絡(luò)中需要公共控制信道傳輸本地或全局的廣播信息,如鄰居發(fā)現(xiàn),路由發(fā)現(xiàn)等消息。認(rèn)知網(wǎng)絡(luò)中不存在這樣ー個(gè)公共控制信道,也給路由協(xié)議的設(shè)計(jì)造成了困難。5)數(shù)據(jù)轉(zhuǎn)發(fā)的問題認(rèn)知Ad hoc網(wǎng)絡(luò)是多頻段的網(wǎng)絡(luò),一個(gè)節(jié)點(diǎn)可能有多個(gè)信道可以用來傳輸數(shù)據(jù);同時(shí),一個(gè)節(jié)點(diǎn)可能是多條路徑的中間節(jié)點(diǎn),要轉(zhuǎn)發(fā)多個(gè)業(yè)務(wù)數(shù)據(jù)流。這樣就產(chǎn)生了節(jié)點(diǎn)的多業(yè)務(wù)數(shù)據(jù)多頻段調(diào)度問題。AODV沒有考慮到這方面的特點(diǎn)。
發(fā)明內(nèi)容
本發(fā)明的目的在于避免以上現(xiàn)有技術(shù)的不足提出認(rèn)知無線Ad Hoc網(wǎng)絡(luò)中的按需路由實(shí)現(xiàn)方法。以解決由于認(rèn)知無線Ad Hoc網(wǎng)絡(luò)的網(wǎng)絡(luò)特性所帯來的信道的間隙性,異構(gòu)性,多祥性及引起的路徑選擇和數(shù)據(jù)轉(zhuǎn)發(fā)方面的問題。
本發(fā)明的目的通過以下技術(shù)方案來實(shí)現(xiàn)認(rèn)知無線Ad Hoc網(wǎng)絡(luò)中的按需路由實(shí)現(xiàn)方法,該方法包括路由發(fā)現(xiàn)過程,路由維護(hù)過程,數(shù)據(jù)轉(zhuǎn)發(fā)過程,所述的路由發(fā)現(xiàn)過程包括如下步驟I)源節(jié)點(diǎn)向目的節(jié)點(diǎn)傳輸數(shù)據(jù)吋,沒有發(fā)現(xiàn)到目的節(jié)點(diǎn)的有效路徑,源節(jié)點(diǎn)向中間節(jié)點(diǎn)傳輸RREQ報(bào)文來發(fā)起路由發(fā)現(xiàn)過程,同時(shí)源節(jié)點(diǎn)在其SOP信道上分別廣播RREQ報(bào)文;2)中間節(jié)點(diǎn)對(duì)收到RREQ進(jìn)行處理,并判斷本節(jié)點(diǎn)是否為目的節(jié)點(diǎn);若該節(jié)點(diǎn)是目的節(jié)點(diǎn)或者知道通往目的節(jié)點(diǎn)的路徑,則本節(jié)點(diǎn)產(chǎn)生RREP報(bào)文并沿反向路徑傳播;若該節(jié)點(diǎn)既不是目的節(jié)點(diǎn)也不知道通往目的節(jié)點(diǎn)的路徑,則更新RREQ報(bào)文和反向路由表項(xiàng),廣播RREQ報(bào)文直至發(fā)現(xiàn)目的節(jié)點(diǎn);3)收到RREP報(bào)文的中間節(jié)點(diǎn)建立前向路由表,并判斷本節(jié)點(diǎn)是否為源節(jié)點(diǎn),若本節(jié)點(diǎn)是源節(jié)點(diǎn),則路由發(fā)現(xiàn)過程完成;若不是,則更新RREP報(bào)文并沿反向路徑轉(zhuǎn)發(fā);所述路由維護(hù)過程為當(dāng)目的節(jié)點(diǎn)或活動(dòng)路由的中間結(jié)點(diǎn)移動(dòng),導(dǎo)致鏈路中斷;則鏈路的“上游結(jié)點(diǎn)”主動(dòng)發(fā)送ー個(gè)RERR,該RERR的信宿序列號(hào)大于其所獲取的信宿序列號(hào),跳計(jì)數(shù)的值設(shè)為無窮大,并通過該節(jié)點(diǎn)的所有SOP信道傳播到所有的活動(dòng)鄰居;所述數(shù)據(jù)轉(zhuǎn)發(fā)過程為假設(shè)節(jié)點(diǎn)有I : 2…N個(gè)可用信道,數(shù)據(jù)流在每個(gè)信道上期望發(fā)送個(gè)數(shù)為Ml M2 :…MN,那么將節(jié)點(diǎn)緩存區(qū)分為N個(gè),緩存區(qū)的長度比例為Ml M2 :…麗。進(jìn)ー步,所述的步驟I中的RREQ報(bào)文為信源地址、信源序列號(hào)、廣播ID、信宿地址、信宿序列號(hào)、跳計(jì)數(shù)、路徑SOP因子PSI。進(jìn)ー步,所述步驟2)中間節(jié)點(diǎn)對(duì)收到RREQ進(jìn)行處理具體為201)創(chuàng)建ー個(gè)路由表項(xiàng),先暫時(shí)不分配有效的序列號(hào),只用來記錄反向的路徑;將RREQ中的SOP信息和本節(jié)點(diǎn)的SOP信息取交集獲得相同頻譜的個(gè)數(shù),該數(shù)值如果小于RREQ消息中PSI值,則用該數(shù)值替換原來的PSI值,若大于則PSI值不變;202)在“路由等待定時(shí)內(nèi)”,收到擁有相同標(biāo)識(shí)的,但是來自不同上游節(jié)點(diǎn)的RREQ分組,先將該RREQ中的SOP信息和本節(jié)點(diǎn)的SOP信息取交集獲得相同頻譜的個(gè)數(shù),該數(shù)值如果小于該RREQ消息中PSI值,則用該數(shù)值替換原來的PSI值,若數(shù)值如果大于該RREQ消息中PSI值,則PSI值不變;203)判斷本節(jié)點(diǎn)是否為目的節(jié)點(diǎn),如果該節(jié)點(diǎn)就是目的節(jié)點(diǎn),或者節(jié)點(diǎn)路由表中含有到目的節(jié)點(diǎn)的活動(dòng)的表項(xiàng),且表項(xiàng)序列號(hào)大于RREQ信宿序列號(hào),那么本節(jié)點(diǎn)就產(chǎn)生RREP發(fā)送到信源;如果不滿足以上兩點(diǎn),轉(zhuǎn)入到204進(jìn)行處理;204)中間節(jié)點(diǎn)更新RREQ分組然后進(jìn)行廣播。
進(jìn)ー步,所述步驟3)中間節(jié)點(diǎn)判斷本節(jié)點(diǎn)是否為源節(jié)點(diǎn),并進(jìn)行RREP傳播具體為301)節(jié)點(diǎn)通過前面建立起來的反向路由反饋給源節(jié)點(diǎn),并且是以單播方式發(fā)送,目的節(jié)點(diǎn)產(chǎn)生的RREP消息跳計(jì)數(shù)為0 ;中間節(jié)點(diǎn)產(chǎn)生的RREP消息跳計(jì)數(shù)為本結(jié)點(diǎn)到信宿的跳數(shù),RREP消息在本節(jié)點(diǎn)選出的首選信道或者備用信道上傳輸;302)節(jié)點(diǎn)對(duì)接收到的RREP分組作如下處理I.如果路由表中沒有與RREP分組中的信源相匹配的表項(xiàng),則先創(chuàng)建ー個(gè)“前向路
由表”空表項(xiàng);2.否則,滿足如下條件下對(duì)已有表項(xiàng)進(jìn)行更新A :現(xiàn)有表項(xiàng)的信宿序列號(hào)小于RREP分組中的信宿序列號(hào);B :現(xiàn)有的表項(xiàng)沒有激活;C :信宿序列號(hào)雖然相同,但RREP分組的“跳計(jì)數(shù)“值小于表項(xiàng)中對(duì)應(yīng)的值,或者更新或者創(chuàng)建,產(chǎn)生ー個(gè)新的前向路徑。本發(fā)明的優(yōu)點(diǎn)在于I)提出了ー種適應(yīng)認(rèn)知無線Ad Hoc網(wǎng)絡(luò)的CAODV路由,該路由修改了 RREQ報(bào)文格式用來傳輸節(jié)點(diǎn)的SOP信息,充分利用了認(rèn)知無線Ad Hoc中節(jié)點(diǎn)的頻譜多祥性的特點(diǎn),選擇一條頻譜較為豐富的路徑,這樣路由協(xié)議的應(yīng)用場景與實(shí)際的情況更加接近。2)修改路由表和RREP報(bào)文格式用來記錄兩個(gè)信道的信息,通過將信道容量和信噪比相結(jié)合定義了新的路由度量,計(jì)算節(jié)點(diǎn)可用信道的路由度量,選出首選信道和備用信道,這樣如果主用戶重新使用首選信道導(dǎo)致鏈路中斷時(shí),節(jié)點(diǎn)可以應(yīng)用備用信道傳輸數(shù)據(jù),不需要進(jìn)行路由重尋過程,降低了重新選路的開銷。3)本發(fā)明中RREQ報(bào)文和RRER報(bào)文在節(jié)點(diǎn)的SOP信道上發(fā)送,RREP報(bào)文在選出的首選信道或者備用信道上傳輸,幾類報(bào)文的傳輸不需要公共控制信道,這也符合認(rèn)知無線電技術(shù)的初衷。4)提出了ー種比例公平的信道調(diào)度方法,該方法的應(yīng)用場景是節(jié)點(diǎn)在某一時(shí)刻只能通過ー個(gè)信道來發(fā)送數(shù)據(jù),該方法保證了信道使用和數(shù)據(jù)傳輸?shù)墓叫浴?)CA0DV路由協(xié)議在選則節(jié)點(diǎn)的同時(shí)選擇用來傳輸數(shù)據(jù)的頻譜,端到端的路徑和信道被同時(shí)建立。
圖1:RREQ路由發(fā)現(xiàn);圖2 =RREP 的傳播;圖3 :主用戶信道使用模型;圖4 : CAODV 中 RREQ 傳播過程一;
圖5 CAODV 中 RREQ 傳播過程ニ ;圖6 : CAODV中RREQ傳播過程三;圖7 : CAODV中RREQ傳播過程四;圖8 :CAODV中RREP傳播過程。
具體實(shí)施例方式本發(fā)明基于以下假設(shè)I)在認(rèn)知無線Ad Hoc網(wǎng)絡(luò)中,姆個(gè)節(jié)點(diǎn)通過媒體訪問控制層(Medium AccessControI,MAC)對(duì)主用戶頻段的感知已經(jīng)獲得本節(jié)點(diǎn)的SOP信息。每ー個(gè)節(jié)點(diǎn)有兩根天線,一根用于掃描本節(jié)點(diǎn)所有可用SOP上的信號(hào),包括兩種信號(hào)一是在該頻段上感知到主用戶的信號(hào);ニ是通過該頻段接收到鄰居認(rèn)知節(jié)點(diǎn)的信號(hào)。節(jié)點(diǎn)可以對(duì)這兩種信號(hào)進(jìn)行區(qū)分 并辨認(rèn)。另ー根天線用于認(rèn)知節(jié)點(diǎn)分組的傳輸工作,包括數(shù)據(jù)分組和協(xié)議分組,節(jié)點(diǎn)的工作模式為半雙エ工作模式,即節(jié)點(diǎn)在某一時(shí)刻只能應(yīng)用ー個(gè)信道來傳輸數(shù)據(jù)或者接收數(shù)據(jù)。2)在認(rèn)知無線Ad Hoc網(wǎng)絡(luò)中,在授權(quán)頻段上進(jìn)行通信,SU以ー種機(jī)會(huì)式接入的方式使用授權(quán)用戶的頻段,即某段時(shí)間內(nèi),SU可以使用主用戶不使用的頻段。網(wǎng)絡(luò)中的SU通過多跳的方式進(jìn)行通信,每個(gè)SU都具有頻譜檢測能力,可以檢測出主用戶在某段時(shí)間內(nèi)不使用的所有頻段,以供自己選擇接入。假設(shè)主用戶各個(gè)信道之間相互獨(dú)立,且為0N/0FF隨機(jī)過程,如圖所示在主用戶信道使用模型圖3中,當(dāng)信道處于關(guān)狀態(tài)時(shí),SU可以使用該信道。對(duì)頻段i,{Nn,n彡1}表示處于開狀態(tài)(ON-State)的隨機(jī)變量序列,{Fn,n彡1}表示處于關(guān)狀態(tài)(OFF-State)的隨機(jī)變量序列,則這兩個(gè)隨機(jī)變量序列是兩個(gè)計(jì)數(shù)過程。假設(shè)這兩個(gè)隨機(jī)變量序列獨(dú)立且分別服從強(qiáng)度為n (t) i和f (t) i的泊松過程,非齊次的泊松過程(參數(shù)與時(shí)間有夫)可以轉(zhuǎn)化為齊次泊松過程進(jìn)行分析,因此在一段時(shí)間(0,t]內(nèi),這兩個(gè)隨機(jī)變量服從Iii和も的齊次泊松分布。每段ON狀態(tài)和OFF狀態(tài)持續(xù)的時(shí)間分別為In和し,分別服從參數(shù)為ん和Ui的指數(shù)分布。那么在一段時(shí)間(0,t]中,對(duì)信道i,次用戶可以通過這些先驗(yàn)信息獲得信道的利用率Ui Ui = SU使用該信道的平均時(shí)間/ (SU使用該信道的平均時(shí)間+PU使用該信道的平均時(shí)間)信道為主用戶的信道,次用戶可以通過先驗(yàn)信息獲得信道的平均呑吐量Ri,由于PU和SU共享該信道,所以從SU角度而言,信道吞吐量/ /"為Rfu=RiX Ui3)節(jié)點(diǎn)MAC層采用載波偵聽/沖突避免機(jī)制(Carrier Sense Multiple Accesswith Collision Avoidance, CSMA/CA),由于網(wǎng)絡(luò)中不需要公共控制信道,載波監(jiān)聽和握手機(jī)制都是在節(jié)點(diǎn)發(fā)送分組的信道上進(jìn)行。本發(fā)明的具體實(shí)現(xiàn)過程為CAODV 有三種基本的報(bào)文表 4RREQ (Route REQuest)報(bào)文,表 5RREP (RouteREPly)報(bào)文和表6RRER(Route RERor)報(bào)文。同時(shí)我們修改節(jié)點(diǎn)維護(hù)的路由表表項(xiàng),如表7所示,分別用來記錄首選信道和備用信道。表4. CAODV的RREQ報(bào)文格式
分組類型 JRGDUPSI跳計(jì)數(shù)
RREQID
信宿IP地址 宿序列號(hào) 信源IP地址 信源序列號(hào) 節(jié)點(diǎn)SOP信息表5. CAODV的RREP報(bào)文格式
分組類型 JRj PC SC prefix Sz 跳計(jì)數(shù)
信宿IP地址 宿序列號(hào) 信源IP地址 生存時(shí)間表6. CAODV的RRER報(bào)文格式
分組類型 N預(yù)留位跳計(jì)數(shù)
不可達(dá)信宿IP地址(I)
不可達(dá)信宿序列號(hào)(1)
不可達(dá)信宿IP地址(如果需要)
不可達(dá)信宿序列號(hào)(如果需要)表7. CAODV的路由表部分表項(xiàng) 路由發(fā)現(xiàn)過程I) RREQ 分組節(jié)點(diǎn)在有需要時(shí)(路徑不存在或者無效),在其SOP信道上先后分別廣播RREQ來進(jìn)行路由發(fā)現(xiàn)。RREQ分組包括信源地址、信源序列號(hào)、廣播ID、信宿地址、信宿序列號(hào)、跳計(jì)數(shù)、PSI。其中A <信源地址,廣播ID>是RREQ分組的唯一標(biāo)識(shí);B :信源節(jié)點(diǎn)維護(hù)ー個(gè)信源序列號(hào),表示的是“到信源的反向路由的新舊”;C :信宿序列號(hào)則表示的是“到信宿的前向路由的新舊”,是過去所有接收到的與信宿有關(guān)的消息中的最大值。要求節(jié)點(diǎn)為每ー個(gè)目的節(jié)點(diǎn)都維護(hù)ー個(gè)信宿序列號(hào);D :跳計(jì)數(shù)的初始值設(shè)置為0 ;E =PSI初始值為信源節(jié)點(diǎn)的SOP個(gè)數(shù);2)對(duì)RREQ的處理節(jié)點(diǎn)掃描自己的SOP信道來接收RREQ信息,接收到RREQ的節(jié)點(diǎn)會(huì)作出如 下處理I.創(chuàng)建ー個(gè)路由表項(xiàng),先暫時(shí)不分配有效的序列號(hào),只用來記錄反向的路徑;將RREQ中的SOP信息和本節(jié)點(diǎn)的SOP信息取交集獲得相同頻譜的個(gè)數(shù),該數(shù)值如果小于RREQ消息中PSI值,則用該數(shù)值替換原來的PSI值,若大于則PSI值不變。2.節(jié)點(diǎn)設(shè)置兩個(gè)定時(shí)器,ー個(gè)為“路由等待定吋”,另ー個(gè)為“路由發(fā)現(xiàn)定吋”。路路由等待定時(shí)的作用有兩個(gè)一是因?yàn)樯嫌喂?jié)點(diǎn)是在自己的SOP信道上依次發(fā)送RREQ信息,鄰居節(jié)點(diǎn)與上游幾點(diǎn)也許有幾個(gè)相同信道可以用來通信,鄰居節(jié)點(diǎn)為了獲得所有相同信道的信道質(zhì)量,從開始在第一個(gè)信道上收到RREQ消息時(shí),要等待一些時(shí)間才能獲得所有本節(jié)點(diǎn)和上游節(jié)點(diǎn)相同的信道質(zhì)量;第二是為了獲得可用頻譜更加豐富的鄰居節(jié)點(diǎn),傳統(tǒng)AODV再次收到擁有相同標(biāo)識(shí)的RREQ分組后會(huì)丟棄該分組,在認(rèn)知網(wǎng)絡(luò)中,也許再次收到的RREQ信息的發(fā)送節(jié)點(diǎn)會(huì)和本節(jié)點(diǎn)有更多可以用來通信的頻段,這樣定義充分考慮了認(rèn)知節(jié)點(diǎn)的頻譜多祥性。路由發(fā)現(xiàn)定時(shí)是為了表征RREQ消息的新舊,顯然路由發(fā)現(xiàn)定時(shí)要大于路由等待定時(shí)。3.情況I :在“路由等待定時(shí)內(nèi)”,收到擁有相同標(biāo)識(shí)的,但是來自不同上游節(jié)點(diǎn)的RREQ分組,先將該RREQ中的SOP信息和本節(jié)點(diǎn)的SOP信息取交集獲得相同頻譜的個(gè)數(shù),該數(shù)值如果小于該RREQ消息中PSI值,則用該數(shù)值替換原來的PSI值,若大于則PSI值不變。經(jīng)過這個(gè)步驟處理的RREQ稱為更新后的RREQ分組。更新后分組的跳計(jì)數(shù)> 已經(jīng)收到的RREQ分組跳計(jì)數(shù)+1 ;或者,更新后分組的跳計(jì)數(shù)< =已經(jīng)收到的RREQ分組跳計(jì)數(shù)+1且更新后分組中的PSI值< =已收到RREQ分組的PSI值;情況2 :在大于“路由等待定時(shí)”且小于“路由發(fā)現(xiàn)定時(shí)”時(shí)間內(nèi)收到一個(gè)擁有相同標(biāo)識(shí)的RREQ分組,就拋棄該分組;否則,或者創(chuàng)建或者更新這個(gè)反向路由表項(xiàng)A :信宿序列號(hào)=RREQ分組的信宿序列號(hào);B :下ー跳節(jié)點(diǎn)=廣播該RREQ的鄰居(從哪個(gè)鄰居接受到的此RREQ分組);C :跳數(shù)=RREQ分組的“跳計(jì)數(shù)”字段值;D :計(jì)算本節(jié)點(diǎn)從所有信道上收到的該鄰居發(fā)送的RREQ的信噪比(Signal NoiseRate,SNR),結(jié)合信道容量定義信道的信道度量(Channel Metric, CM)CM,= (Rfu)a [SNR1) 0其中a和P均為權(quán)重因子,且有0彡a ^ 1,0 ^ ^ ^ Io將信道按照CM值大小排序,取出CM值最大的信道ID寫入PC路由表項(xiàng),將第二個(gè)CM值對(duì)應(yīng)的信道ID寫入SC
路由表項(xiàng)。
E :設(shè)置表項(xiàng)的“過時(shí)定時(shí)器”;3.如果該節(jié)點(diǎn)就是信宿,或者節(jié)點(diǎn)路由表中含有到信宿的活動(dòng)的表項(xiàng),且表項(xiàng)序列號(hào)大于RREQ信宿序列號(hào),那么節(jié)點(diǎn)就產(chǎn)生RREP發(fā)送到信源;如果不滿足以上兩點(diǎn),轉(zhuǎn)入到4進(jìn)行處理;4.更新RREQ分組然后進(jìn)行廣播A :信宿序列號(hào)=本節(jié)點(diǎn)收到的該信宿相關(guān)的最大序列號(hào);B :跳計(jì)數(shù)加I ;C =RREQ的節(jié)點(diǎn)SOP信息替換成本節(jié)點(diǎn)的SOP信息。D :RREQ中的PSI值為路由表中下一跳節(jié)點(diǎn)所傳播的RREQ到達(dá)本節(jié)點(diǎn)更新后的PSI 值。 3) RREP 的傳播產(chǎn)生RREP的條件如上所述,RREP中的內(nèi)容包括跳計(jì)數(shù)、信宿序列號(hào)、信宿地址、生存時(shí)間、信源地址、PC、SC等。節(jié)點(diǎn)通過前面建立起來的反向路由反饋給源節(jié)點(diǎn),并且是以單播方式發(fā)送,目的節(jié)點(diǎn)產(chǎn)生的RREP消息跳計(jì)數(shù)為0 ;中間節(jié)點(diǎn)產(chǎn)生的RREP消息跳計(jì)數(shù)為本結(jié)點(diǎn)到信宿的跳數(shù)(查相應(yīng)路由表項(xiàng)可得到)。RREP消息在本節(jié)點(diǎn)選出的首選信道或者備用信道上傳輸。4)對(duì)RREP的處理節(jié)點(diǎn)對(duì)接收到的RREP分組作如下處理I.如果沒有與RREP分組中的信源相匹配的表項(xiàng),則先創(chuàng)建ー個(gè)“前向路由表”空表項(xiàng);2.否則,滿足如下條件下對(duì)已有表項(xiàng)進(jìn)行更新A :現(xiàn)有表項(xiàng)的信宿序列號(hào)小于RREP分組中的信宿序列號(hào);B :現(xiàn)有的表項(xiàng)沒有激活;C :信宿序列號(hào)雖然相同,但RREP分組的“跳計(jì)數(shù)“值小于表項(xiàng)中對(duì)應(yīng)的值,或者更新或者創(chuàng)建,產(chǎn)生ー個(gè)新的前向路徑下一跳=廣播RREP的鄰居節(jié)點(diǎn);信宿序列號(hào)=RREP中的信宿序列號(hào);將RREP中PC和SC的值寫入節(jié)點(diǎn)前向路由表項(xiàng)中PC和SC項(xiàng)。3.將RREP跳計(jì)數(shù)加I ;用節(jié)點(diǎn)反向路由表項(xiàng)中的PC和SC值替換RREP中PC和SC的值,然后將RREP沿著反向路徑傳播。 路由維護(hù)過程I)與活動(dòng)路由無關(guān)的結(jié)點(diǎn)移動(dòng),并不影響信源到信宿的尋徑;2)如果信源結(jié)點(diǎn)移動(dòng)導(dǎo)致路由不可用,則由信源重新發(fā)起路由發(fā)現(xiàn)的過程;3)當(dāng)信宿結(jié)點(diǎn)或活動(dòng)路由的中間結(jié)點(diǎn)移動(dòng),導(dǎo)致鏈路中斷;則鏈路的“上游結(jié)點(diǎn)”主動(dòng)發(fā)送ー個(gè)RERR,該RERR的信宿序列號(hào)大于其所獲取的信宿序列號(hào),跳計(jì)數(shù)的值設(shè)為無窮大(⑴),并通過該節(jié)點(diǎn)的所有SOP信道傳播到所有的活動(dòng)鄰居。當(dāng)由于主用戶的出現(xiàn)導(dǎo)致PC信道不可用從而鏈路中斷時(shí),節(jié)點(diǎn)應(yīng)立即將數(shù)據(jù)在SC信道上傳輸,傳統(tǒng)AODV協(xié)議沒有采用該機(jī)制,出現(xiàn)上述情況時(shí)只能等待或者重新發(fā)起尋路過程,采用備用信道機(jī)制,降低了由于主用戶的出現(xiàn)導(dǎo)致鏈路不可用的路由重尋開銷。
數(shù)據(jù)轉(zhuǎn)發(fā)過程每ー個(gè)中間節(jié)點(diǎn)可能為多個(gè)端到端的連接承擔(dān)數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù),維持多個(gè)路由表。每ー個(gè)一個(gè)端到端的連接對(duì)應(yīng)ー個(gè)數(shù)據(jù)流,這些數(shù)據(jù)流由于業(yè)務(wù)種類的不同對(duì)于信道的要求也是不相同的,節(jié)點(diǎn)面臨著多數(shù)據(jù)流多信道的調(diào)度問題。在某ー時(shí)刻,針對(duì)節(jié)點(diǎn)究竟調(diào)度明HS言道來傳輸數(shù)據(jù),本發(fā)明提出了ー種比例公平的調(diào)度方法。假設(shè)節(jié)點(diǎn)有I : 2-: N個(gè)可用信道,數(shù)據(jù)流在每個(gè)信道上期望發(fā)送個(gè)數(shù)為Ml M2 :…MN,那么將節(jié)點(diǎn)緩存區(qū)分為N個(gè),緩存區(qū)的長度比例為Ml M2 …MN。本實(shí)施例中假設(shè)節(jié)點(diǎn)有三個(gè)可用信道,有四個(gè)數(shù)據(jù)流需要轉(zhuǎn)發(fā),其中兩個(gè)數(shù)據(jù)流都期望在2信道上發(fā)送數(shù)據(jù),其余兩個(gè)數(shù)據(jù)流分別在I信道和3信道上發(fā)送,我們將節(jié)點(diǎn)緩存區(qū)按照信道個(gè)數(shù)分為I,2,3三個(gè)緩存區(qū),緩存區(qū)的長度為1:2: 1,將4個(gè)數(shù)據(jù)流的數(shù)據(jù)包按照期望傳輸?shù)男诺婪謩e存入相應(yīng)的緩存區(qū),對(duì)于某一時(shí)刻節(jié)點(diǎn)調(diào)度哪個(gè)信道來傳輸數(shù)據(jù),本發(fā)明提出了ー種比例公平的調(diào)度算法,計(jì)算每個(gè)信道的公平因子(Fair Factor, FF)
FFi =信道i所對(duì)應(yīng)的緩存區(qū)數(shù)據(jù)包的比特?cái)?shù)/在一段時(shí)間內(nèi)在該信道上傳輸?shù)目偙忍財(cái)?shù),分別計(jì)算節(jié)點(diǎn)所有信道的FF值,節(jié)點(diǎn)調(diào)度FF值最大的信道傳輸數(shù)據(jù)。為更加清楚的體現(xiàn)CAODV路由發(fā)現(xiàn)過程,現(xiàn)舉例說明如圖4所示,各節(jié)點(diǎn)的網(wǎng)絡(luò)拓?fù)鋱D如下,假設(shè)S節(jié)點(diǎn)的SOP信息為I,2,3,其他節(jié)點(diǎn)的SOP信息均在圖4上標(biāo)明。CAODV路由協(xié)議中,RREQ報(bào)文格式已經(jīng)在前面給出,由于其中〈節(jié)點(diǎn)的SOP信息,PSI>這兩項(xiàng)是本發(fā)明定義,RREP報(bào)文中<PC,SC>這兩項(xiàng)是本發(fā)明定義,我們主要關(guān)注這些內(nèi)容的更新,RREQ和RREP報(bào)文其他項(xiàng)的更新與傳統(tǒng)AODV路由協(xié)議中ー樣,這里我們不再贅述。步驟ー如圖4所示,源節(jié)點(diǎn)S需要向目的節(jié)點(diǎn)D發(fā)送數(shù)據(jù),S發(fā)現(xiàn)沒有到達(dá)D的路由,于是發(fā)起路由發(fā)現(xiàn)過程,S分別在信道1,2,3上依次發(fā)送RREQ消息,其中的〈節(jié)點(diǎn)的SOP信息,PSI>賦值為〈1,2,3,3>。節(jié)點(diǎn)a有兩根天線,一根天線用于對(duì)其可用信道的掃描,首先在信道I上收到RREQ報(bào)文,創(chuàng)建路由表項(xiàng),檢查本節(jié)點(diǎn)與S節(jié)點(diǎn)的相同SOP數(shù)目,發(fā)現(xiàn)有兩個(gè)相同,將RREQく節(jié)點(diǎn)的SOP信息,PSI>賦值為〈I,2,3,2>,等待一定時(shí)間,在信道2上再次收到S節(jié)點(diǎn)的RREQ信息,應(yīng)用以上定義的路由度量選出PC和SC,假設(shè)I為PC,2為SC,創(chuàng)建相應(yīng)路由表項(xiàng),S為下ー跳節(jié)點(diǎn),相當(dāng)于建立了一條a節(jié)點(diǎn)到s節(jié)點(diǎn)的反向路徑,更新并廣播RREQ消息,a節(jié)點(diǎn)發(fā)送的RREQ消息中〈節(jié)點(diǎn)的SOP信息,PSI>為〈1,2,6,2>。在上述過程中發(fā)生的同吋,同理可以得到c節(jié)點(diǎn)的路由表項(xiàng)如圖4所示,c節(jié)點(diǎn)廣播的RREQ消息中〈節(jié)點(diǎn)的SOP信息,PSI>賦值為〈2,3,4,2>。步驟ニ 如圖5所示,a節(jié)點(diǎn)分別在信道I,2,6上依次發(fā)送RREQ消息,同時(shí)c節(jié)點(diǎn)分別在信道2,3,4上依次發(fā)送RREQ消息。如圖所示e節(jié)點(diǎn)先在信道3上收到c節(jié)點(diǎn)發(fā)送的RREQ消息,創(chuàng)建路由表項(xiàng),檢查本節(jié)點(diǎn)與RREQ消息中相同的SOP數(shù)目,發(fā)現(xiàn)有兩個(gè)相同,RREQ中的〈節(jié)點(diǎn)的SOP信息,PSI>保持不變,為〈2,3,4,2>。等待一定時(shí)間,在信道4上再次收到c節(jié)點(diǎn)的RREQ信息,應(yīng)用以上定義的路由度量選出PC和SC,假設(shè)4為PC,3為SC,創(chuàng)建相應(yīng)路由表項(xiàng),c為下ー跳節(jié)點(diǎn),相當(dāng)于建立了一條e節(jié)點(diǎn)到c節(jié)點(diǎn)的反向路徑。由于e節(jié)點(diǎn)在路由等待定時(shí)內(nèi)沒有收到來自其他上游節(jié)點(diǎn)的RREQ消息,于是更新并廣播RREQ消息,e節(jié)點(diǎn)發(fā)送的RREQ消息中〈節(jié)點(diǎn)的SOP信息,PSI>為〈3,4,5,2>。在上述過程發(fā)生的同時(shí),b節(jié)點(diǎn)在信道6上收到RREQ信息所示,檢查本節(jié)點(diǎn)與a節(jié)點(diǎn)的相同SOP數(shù)目,發(fā)現(xiàn)有I個(gè)相同,將RREQ く節(jié)點(diǎn)的SOP信息,PSI>的〈I,2,6,2>變化為為〈I,2,6,1>,將RREQ緩存起來,等待一定時(shí)間。步驟三如圖6所示,e節(jié)點(diǎn)分別在信道3,4,5上依次發(fā)送RREQ消息,該消息中〈節(jié)點(diǎn)的SOP信息,PSI>為〈3,4,5,2>,b節(jié)點(diǎn)處于路由等待時(shí)間,在信道4和5上分別收到e節(jié)點(diǎn)發(fā)來的RREQ消息,發(fā)現(xiàn)RREQ中的節(jié)點(diǎn)SOP信息和本節(jié)點(diǎn)有兩個(gè)相同的頻譜,與該RREQ消息中的PSI值相等,該RREQ消息中的〈節(jié)點(diǎn)的SOP信息,PSI>保持不變,為〈3,4,5,2>,檢查滿足跳數(shù)要求,將更新后的RREQ消息中的PSI值與緩存的RREQ的PSI值作比較,發(fā)現(xiàn)2大于1,于是更新路由表,將下ー跳節(jié)點(diǎn)由a變成e,應(yīng)用以上定義的路由度量選出PC和SC,假設(shè)4為PC,5為SC,寫入相應(yīng)路由表項(xiàng),相當(dāng)于將原有路由更新為b節(jié)點(diǎn)到e節(jié)點(diǎn)的反向路徑,更新并廣播RREQ消息,b節(jié)點(diǎn)發(fā)送的RREQ消息中〈節(jié)點(diǎn)的SOP信息,PSI>為〈4,5,6,2〉。
在上述過程發(fā)生的同吋,D節(jié)點(diǎn)首先在信道3上收到來自e節(jié)點(diǎn)的RREQ信息,記錄下ー跳節(jié)點(diǎn)e的信息,檢查本節(jié)點(diǎn)與e節(jié)點(diǎn)的相同SOP數(shù)目,發(fā)現(xiàn)有3個(gè)相同,大于RREQ中的PSI值,所以RREQ〈節(jié)點(diǎn)的SOP信息,PSI>保持不變,為〈3,4,5,2>,等待一定時(shí)間。步驟四如圖7所示,b節(jié)點(diǎn)分別在信道4,5,6上依次發(fā)送RREQ消息,該消息中〈節(jié)點(diǎn)的SOP信息,PSI>為<4,5,6,2>,D節(jié)點(diǎn)處于路由等待時(shí)間,收到b節(jié)點(diǎn)發(fā)來的RREQ消息,發(fā)現(xiàn)RREQ中的節(jié)點(diǎn)SOP信息和本節(jié)點(diǎn)有三個(gè)相同的頻譜,大于該RREQ中的PSI值,RREQ消息中〈節(jié)點(diǎn)的SOP信息,PSI>為〈4,5,6,2>保持不變,將更新后的RREQ消息中的PSI值與緩存的RREQ的PSI值作比較,發(fā)現(xiàn)兩值相等,丟棄該分組。原來維護(hù)的反向路由表不變,由于D節(jié)點(diǎn)是在3,4,5三個(gè)信道上分別收到來自e節(jié)點(diǎn)的RREQ報(bào)文,應(yīng)用以上定義的路由度量選出PC和SC,假設(shè)5為PC,4為SC,寫入相應(yīng)路由表項(xiàng),建立D節(jié)點(diǎn)到e節(jié)點(diǎn)的反向路徑。在上述過程發(fā)生的同吋,e節(jié)點(diǎn)也收到來自b節(jié)點(diǎn)的RREQ分組,由于該分組到達(dá)時(shí)間超過了 e節(jié)點(diǎn)的路由等待時(shí)間,分組被丟棄。步驟五如圖8所示,目的節(jié)點(diǎn)D收到RREQ消息后,按照路由表以單播的方式發(fā)送RREP報(bào)文,RREP報(bào)文中的〈PC,SC〉被賦值為〈5,4>。e節(jié)點(diǎn)收到RREP消息后,創(chuàng)建正向路由表記錄目的節(jié)點(diǎn)D和下一跳節(jié)點(diǎn)D,同時(shí)將RREP中的〈5,4>值寫入正向路由表的pc和sc項(xiàng),e將反向路由表的pc和sc值寫入RREP的<PC,SC>兩項(xiàng),值為〈4,3>,并將其發(fā)送給c節(jié)點(diǎn)。c節(jié)點(diǎn)收到RREP消息后,創(chuàng)建正向路由表記錄目的節(jié)點(diǎn)D和下一跳節(jié)點(diǎn)e,同時(shí)將RREP中的〈4,3>值寫入正向路由表的pc和sc值,c將反向路由表的pc和sc值寫入RREP的〈PC,SC〉兩項(xiàng),值為〈2,3>,并將其發(fā)送給S節(jié)點(diǎn)。S節(jié)點(diǎn)收到RREP消息后,知道自己是該信息的終點(diǎn),創(chuàng)建正向路由表記錄目的節(jié)點(diǎn)D和下一跳節(jié)點(diǎn)C,同時(shí)將RREP中的〈2,3>值寫入正向路由表的pc和sc項(xiàng),這樣從S節(jié)點(diǎn)到D節(jié)點(diǎn)的一條正向路徑和節(jié)點(diǎn)的通信信道就建立好了。節(jié)點(diǎn)首先選擇PC信道傳輸數(shù)據(jù),如果在該信道上檢測到主用戶出現(xiàn),就選擇SC信道傳輸數(shù)據(jù)。本發(fā)明提出的認(rèn)知無線Ad Hoc網(wǎng)絡(luò)的認(rèn)知按需路由實(shí)現(xiàn)方法,該方法充分考慮了認(rèn)知無線Ad Hoc網(wǎng)絡(luò)的特點(diǎn),選出了一條高效可靠的路徑以實(shí)現(xiàn)用戶通信的連續(xù)性,保證了通信質(zhì)量。應(yīng)當(dāng)理解,以上借助優(yōu)選實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行的詳細(xì)說明是示意性的而非限制性的。本領(lǐng)域的普通技術(shù)人員在閱讀本發(fā)明說明書 的基礎(chǔ)上可以對(duì)各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
權(quán)利要求
1.認(rèn)知無線AdHoc網(wǎng)絡(luò)中的按需路由實(shí)現(xiàn)方法,其特征在于,該方法包括路由發(fā)現(xiàn)過程,路由維護(hù)過程,數(shù)據(jù)轉(zhuǎn)發(fā)過程, 所述的路由發(fā)現(xiàn)過程包括如下步驟 .1)源節(jié)點(diǎn)向目的節(jié)點(diǎn)傳輸數(shù)據(jù)時(shí),沒有發(fā)現(xiàn)到目的節(jié)點(diǎn)的有效路徑,源節(jié)點(diǎn)向中間節(jié)點(diǎn)傳輸RREQ報(bào)文來發(fā)起路由發(fā)現(xiàn)過程,同時(shí)源節(jié)點(diǎn)在其SOP信道上分別廣播RREQ報(bào)文; .2)中間節(jié)點(diǎn)對(duì)收到RREQ進(jìn)行處理,并判斷本節(jié)點(diǎn)是否為目的節(jié)點(diǎn);若該節(jié)點(diǎn)是目的節(jié)點(diǎn)或者知道通往目的節(jié)點(diǎn)的路徑,則本節(jié)點(diǎn)產(chǎn)生RREP報(bào)文并沿反向路徑傳播;若該節(jié)點(diǎn)既不是目的節(jié)點(diǎn)也不知道通往目的節(jié)點(diǎn)的路徑,則更新RREQ報(bào)文和反向路由表項(xiàng),廣播RREQ報(bào)文直至發(fā)現(xiàn)目的節(jié)點(diǎn); .3)收到RREP報(bào)文的中間節(jié)點(diǎn)建立前向路由表,并判斷本節(jié)點(diǎn)是否為源節(jié)點(diǎn),若本節(jié)點(diǎn)是源節(jié)點(diǎn),則路由發(fā)現(xiàn)過程完成;若不是,則更新RREP報(bào)文并沿反向路徑轉(zhuǎn)發(fā); 所述路由維護(hù)過程為 當(dāng)目的節(jié)點(diǎn)或活動(dòng)路由的中間結(jié)點(diǎn)移動(dòng),導(dǎo)致鏈路中斷;則鏈路的“上游結(jié)點(diǎn)”主動(dòng)發(fā)送一個(gè)RERR,該RERR的信宿序列號(hào)大于其所獲取的信宿序列號(hào),跳計(jì)數(shù)的值設(shè)為無窮大,并通過該節(jié)點(diǎn)的所有SOP信道傳播到所有的活動(dòng)鄰居; 所述數(shù)據(jù)轉(zhuǎn)發(fā)過程為 假設(shè)節(jié)點(diǎn)有I : 2…N個(gè)可用信道,數(shù)據(jù)流在每個(gè)信道上期望發(fā)送個(gè)數(shù)為Ml M2 :…MN,那么將節(jié)點(diǎn)緩存區(qū)分為N個(gè),緩存區(qū)的長度比例為Ml M2 :…Mn。
2.根據(jù)權(quán)利要求1所述的認(rèn)知無線AdHoc網(wǎng)絡(luò)中的按需路由實(shí)現(xiàn)方法,其特征在于,所述的步驟I中的RREQ報(bào)文為 信源地址、信源序列號(hào)、廣播ID、信宿地址、信宿序列號(hào)、跳計(jì)數(shù)、路徑SOP因子PSI。
3.根據(jù)權(quán)利要求1所述的認(rèn)知無線AdHoc網(wǎng)絡(luò)中的按需路由實(shí)現(xiàn)方法,其特征在于,所述步驟2)中間節(jié)點(diǎn)對(duì)收到RREQ進(jìn)行處理具體為 .201)創(chuàng)建一個(gè)路由表項(xiàng),先暫時(shí)不分配有效的序列號(hào),只用來記錄反向的路徑;將RREQ中的SOP信息和本節(jié)點(diǎn)的SOP信息取交集獲得相同頻譜的個(gè)數(shù),該數(shù)值如果小于RREQ消息中PSI值,則用該數(shù)值替換原來的PSI值,若大于則PSI值不變; .202)在“路由等待定時(shí)內(nèi)”,收到擁有相同標(biāo)識(shí)的,但是來自不同上游節(jié)點(diǎn)的RREQ分組,先將該RREQ中的SOP信息和本節(jié)點(diǎn)的SOP信息取交集獲得相同頻譜的個(gè)數(shù),該數(shù)值如果小于該RREQ消息中PSI值,則用該數(shù)值替換原來的PSI值,若數(shù)值如果大于該RREQ消息中PSI值,則PSI值不變; .203)判斷本節(jié)點(diǎn)是否為目的節(jié)點(diǎn),如果該節(jié)點(diǎn)就是目的節(jié)點(diǎn),或者節(jié)點(diǎn)路由表中含有到目的節(jié)點(diǎn)的活動(dòng)的表項(xiàng),且表項(xiàng)序列號(hào)大于RREQ信宿序列號(hào),那么本節(jié)點(diǎn)就產(chǎn)生RREP發(fā)送到信源;如果不滿足以上兩點(diǎn),轉(zhuǎn)入到204進(jìn)行處理; .204)中間節(jié)點(diǎn)更新RREQ分組然后進(jìn)行廣播。
4.根據(jù)權(quán)利要求I所述的認(rèn)知無線AdHoc網(wǎng)絡(luò)中的按需路由實(shí)現(xiàn)方法,其特征在于,所述步驟3)中間節(jié)點(diǎn)判斷本節(jié)點(diǎn)是否為源節(jié)點(diǎn),并進(jìn)行RREP傳播具體為 .301)節(jié)點(diǎn)通過前面建立起來的反向路由反饋給源節(jié)點(diǎn),并且是以單播方式發(fā)送,目的節(jié)點(diǎn)產(chǎn)生的RREP消息跳計(jì)數(shù)為O ;中間節(jié)點(diǎn)產(chǎn)生的RREP消息跳計(jì)數(shù)為本結(jié)點(diǎn)到信宿的跳數(shù),RREP消息在本節(jié)點(diǎn)選出的首選信道或者備用信道上傳輸;.302)節(jié)點(diǎn)對(duì)接收到的RREP分組作如下處理 .1.如果路由表中沒有與RREP分組中的信源相匹配的表項(xiàng),則先創(chuàng)建一個(gè)“前向路由表”空表項(xiàng); .2.否則,滿足如下條件下對(duì)已有表項(xiàng)進(jìn)行更新 A :現(xiàn)有表項(xiàng)的信宿序列號(hào)小于RREP分組中的信宿序列號(hào); B :現(xiàn)有的表項(xiàng)沒有激活; C :信宿序列號(hào)雖然相同,但RREP分組的“跳計(jì)數(shù)“值小于表項(xiàng)中對(duì)應(yīng)的值,或者更新或者創(chuàng)建,產(chǎn)生一個(gè)新的前向路徑。
全文摘要
本發(fā)明涉及認(rèn)知無線Ad Hoc網(wǎng)絡(luò)中的按需路由實(shí)現(xiàn)方法,該方法包括路由發(fā)現(xiàn)過程,路由維護(hù)過程,數(shù)據(jù)轉(zhuǎn)發(fā)過程。該方法充分考慮了認(rèn)知無線Ad Hoc網(wǎng)絡(luò)的特點(diǎn),選出了一條高效可靠的路徑以實(shí)現(xiàn)用戶通信的連續(xù)性,保證了通信質(zhì)量。
文檔編號(hào)H04W40/02GK102857988SQ20121007691
公開日2013年1月2日 申請日期2012年3月21日 優(yōu)先權(quán)日2012年3月21日
發(fā)明者趙超, 徐少毅, 黃清, 談?wù)褫x 申請人:北京交通大學(xué)