一種無線多跳網(wǎng)絡(luò)中帶多QoS約束的多路徑生成方法
【專利摘要】本發(fā)明公開了一種無線多跳網(wǎng)絡(luò)中帶多QoS約束的多路徑生成方法,包括步驟:源節(jié)點(diǎn)廣播RREQ消息、中間節(jié)點(diǎn)處理收到RREQ消息、目的節(jié)點(diǎn)處理收到的RREQ消息、目的節(jié)點(diǎn)回復(fù)RREP消息、中間節(jié)點(diǎn)轉(zhuǎn)發(fā)收到的RREP消息、源節(jié)點(diǎn)處理收到的RREP消息;本多路徑生成方法顯著減少尋路和建路過程中的控制開銷,提高多路徑生成方法及多徑路由的效率。
【專利說明】—種無線多跳網(wǎng)絡(luò)中帶多QoS約束的多路徑生成方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及對(duì)服務(wù)質(zhì)量(Quality of Service, QoS)有要求的無線多跳網(wǎng)絡(luò)(如移動(dòng)Ad Hoc網(wǎng)絡(luò)和無線傳感器網(wǎng)絡(luò)等),尤其適用于一種無線多跳網(wǎng)絡(luò)中帶多QoS約束的多路徑生成方法
【背景技術(shù)】
[0002]多徑路由技術(shù)是一種為網(wǎng)絡(luò)中任意一對(duì)通信節(jié)點(diǎn)同時(shí)提供多條可用路徑、允許源節(jié)點(diǎn)選擇不同的路徑進(jìn)行數(shù)據(jù)傳輸?shù)募夹g(shù)。在多徑路由中,當(dāng)多條路徑中的一條由于某些原因失效時(shí),可以通過其它路徑繼續(xù)進(jìn)行數(shù)據(jù)的傳送,不至于使網(wǎng)絡(luò)通信停止,從而具有較好的可靠性和容錯(cuò)性。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)所需傳送的業(yè)務(wù)類型和數(shù)據(jù)量都呈現(xiàn)顯著增長(zhǎng)的趨勢(shì),從而對(duì)服務(wù)質(zhì)量的要求逐漸提高;而單路徑路由由于在傳輸數(shù)據(jù)時(shí)只依靠單一的路徑,因此在負(fù)載較重時(shí),將面臨網(wǎng)絡(luò)擁塞等問題,導(dǎo)致網(wǎng)絡(luò)吞吐量和數(shù)據(jù)端到端時(shí)延等性能下降;如在視頻數(shù)據(jù)傳輸方面,傳輸延遲增大會(huì)影響視頻傳輸?shù)姆?wù)質(zhì)量;多徑路由則能夠在上述場(chǎng)合體現(xiàn)出相對(duì)于單路徑的優(yōu)勢(shì)。
[0003]目前,隨著無線多媒體業(yè)務(wù)的出現(xiàn),網(wǎng)絡(luò)需要傳輸?shù)臄?shù)據(jù)量越來越大,網(wǎng)絡(luò)應(yīng)用和技術(shù)的發(fā)展對(duì)QoS的要求也越來越高,在許多應(yīng)用場(chǎng)合滿足多QoS約束的多徑路由技術(shù)已成為支持多媒體業(yè)務(wù)的無線多跳網(wǎng)絡(luò)(尤其是無線多媒體傳感器網(wǎng)絡(luò))中具有挑戰(zhàn)性的重要研究領(lǐng)域。而在支持多QoS約束的多徑路由技術(shù)中,多路徑生成方法擔(dān)負(fù)著為源節(jié)點(diǎn)提供滿足多QoS約束的多條可選路徑的任務(wù),具有重要的地位和作用。迄今,人們已經(jīng)提出了多種以支持多媒體業(yè)務(wù)的無線多跳網(wǎng)絡(luò)為背景條件的多路徑生成方法,根據(jù)QoS參數(shù)的數(shù)量,這些方法可以分為基于單QoS約束的方法和基于多QoS約束的方法兩大類?;趩蜵oS約束的方法只提供單方面的服務(wù)質(zhì)量保障,而基于多QoS約束的方法則在網(wǎng)絡(luò)傳輸中考慮了多個(gè)QoS約束條件?;诙郠oS約束的多徑路由方法相對(duì)而言更能滿足不同業(yè)務(wù)的在QoS約束方面的需求,因此近年來隨著支持多媒體業(yè)務(wù)的無線多跳網(wǎng)絡(luò)的逐步推廣引起了廣泛關(guān)注并得到越來越多的研究和應(yīng)用。
[0004]S.Venkatasubramanian等提出的QRMR(QoS based robust mult1-path routing)協(xié)議(參考文獻(xiàn):S.Venkatasubramanian, N.P.Gopalan.A QoS-based robust multipathrouting protocol for mobile ad hoc networks[J],International Journal ofEngineering and Technology, Vol.1, N0.5, 2009:391 - 396)生成多路徑的方法具體如下:源節(jié)點(diǎn)為查找多條路徑先廣播路由請(qǐng)求消息RREQ,RREQ中加入了 QoS約束條件(如鏈路質(zhì)量、信道質(zhì)量和端到端延時(shí)等)和RREQ經(jīng)過的節(jié)點(diǎn)(源節(jié)點(diǎn)的鄰居節(jié)點(diǎn))信息;中間節(jié)點(diǎn)收到該RREQ后,先計(jì)算自己的QoS參數(shù)的值,并將這些值記錄(累加或替換)在RREQ中對(duì)應(yīng)的QoS項(xiàng)中;當(dāng)該RREQ消息到達(dá)目的節(jié)點(diǎn)時(shí),該項(xiàng)中就保存了整條鏈路的路由信息以及累加的QoS值,目的節(jié)點(diǎn)從RREQ消息中取出路由記錄項(xiàng)以及QoS參數(shù)值放入自己生成的回復(fù)消息RREP (Route REPly)中,并沿著路由記錄項(xiàng)中的路徑發(fā)送給源節(jié)點(diǎn);源節(jié)點(diǎn)收到多個(gè)從目的節(jié)點(diǎn)發(fā)回的路徑,并從中選出滿足QoS要求的路徑,于是就獲得了多條帶多QoS約束的路徑;由于該方法在轉(zhuǎn)播RREQ消息時(shí)不做判斷且在RREP消息中攜帶完整的路徑信息和整條路徑上節(jié)點(diǎn)的QoS值,因此導(dǎo)致路徑生成的開銷偏大。
[0005]H.Zafar 等提出的 Q-SMS (QoS-aware Shortest Multipath Source)多徑 QoS路由方案(參考文獻(xiàn):H.Zafar, D.Harle, 1.Andonovic, L.Hasan, A.Khattak.QoS-awareMultipath Routing Scheme for Mobile Ad Hoc Networks[J].1nternational Journalof Communication Networks and Information Security (IJCNIS), Vol.4, N0.1, 2012:1-10)中采用的多路徑生成方法為:每個(gè)節(jié)點(diǎn)都要估算自己的輸出鏈路(outgoing link)的剩余容量(residual capacity);源節(jié)點(diǎn)為查找多條路徑廣播消息含需求容量(requiredcapacity)和最小可得容量(minimum available capacity)參數(shù)的QoS路由請(qǐng)求消息QRREQ (QoS Route REQuest);中間節(jié)點(diǎn)的剩余容量如果小于需求容量,則丟棄該QRREQ消息,否則,按需更新最小可得容量域的值并廣播該QRREQ消息;目的節(jié)點(diǎn)收到QRREQ消息后用QoS路由回復(fù)消息QRREP (QoS Route REPlyt)進(jìn)行回復(fù),而且對(duì)回復(fù)次數(shù)做了限制。估算剩余容量有可能引入不準(zhǔn)確的因素,而且硬性限制目的節(jié)點(diǎn)的回復(fù)次數(shù)有丟失可用的路徑的潛在風(fēng)險(xiǎn)。
[0006]QRPAM(QoS routing protocol for ad hoc networks based on multipath)(參考文獻(xiàn):S.H.Zheng, L.Y.Li, Y.L1.A QoS Routing Protocol for Mobile Ad Hoc NetworksBased on Multipath [J].Journal of Networks, Vol.7,N0.4,2012:691-698)是一種以 DSR(Dynamic Source Routing)協(xié)議為基礎(chǔ)的、考慮時(shí)延和帶寬兩種QoS約束的多徑路由協(xié)議,該協(xié)議生成多路徑的方法如下:源節(jié)點(diǎn)為查找多條路徑先廣播路由請(qǐng)求消息RREQ ;在RREQ中除了包含路由記錄項(xiàng)以外,還增加了帶寬和時(shí)延的約束條件;每當(dāng)中間節(jié)點(diǎn)收到RREQ時(shí),先判斷當(dāng)下的帶寬和時(shí)延是否滿足QoS需求;若滿足則將自己的地址加入到這個(gè)RREQ中并廣播給其鄰居節(jié)點(diǎn)直到該RREQ到達(dá)目的節(jié)點(diǎn),若不滿足,則丟棄此RREQ。到達(dá)目的節(jié)點(diǎn)后,目的節(jié)點(diǎn)的回復(fù)機(jī)制與DSR類似,把RREQ中的路由記錄項(xiàng)提取出來放入RREP消息中并沿路由記錄項(xiàng)中的路徑發(fā)給源節(jié)點(diǎn),這樣源節(jié)點(diǎn)就收到了多個(gè)由目的節(jié)點(diǎn)發(fā)來的RREP,因而找到了多條滿足QoS的路徑;該方法還設(shè)置了一個(gè)路由尋找時(shí)間參數(shù)T,當(dāng)尋找路由的時(shí)間超過T值時(shí)就停止路由的尋找過程。該方法在RREQ和RREP中存在冗余開銷,中間節(jié)點(diǎn)對(duì)RREQ的處理不夠優(yōu)化,而且,僅考慮時(shí)延和帶寬兩種參數(shù)以及設(shè)置一個(gè)固定的時(shí)間參數(shù)T,也會(huì)使生成的多路徑在QoS支持和數(shù)量方面受到不利影響。
[0007]Y1-Ling Hsieh 等人提出的 RMRV (Road-based Multipath Routing protocolfor urban VANETs)(參考文獻(xiàn):Y1-Ling Hsieh, Kuochen Wang.A Road-based QoS-awareMultipath Routing for Urban Vehicular Ad Hoc Networks[C].2012IEEE GlobalCommunications Conference (GL0BEC0M2012),Dec.2012:189-194)是一種用于城市車載網(wǎng)絡(luò)系統(tǒng)的多QoS約束多徑路由協(xié)議,它的多路徑生成方法是:如果源節(jié)點(diǎn)有消息發(fā)往目的節(jié)點(diǎn)而此時(shí)沒有到目的節(jié)點(diǎn)的路徑,則源節(jié)點(diǎn)發(fā)起多路徑發(fā)現(xiàn)過程,產(chǎn)生路由發(fā)現(xiàn)包RD(Route Discovery)并廣播出去,在這個(gè)RD中加入了路段(Road Section)的信息;節(jié)點(diǎn)每收到一個(gè)RD就在該RD中加入本節(jié)點(diǎn)所處的路段信息并廣播RD直到RD到達(dá)目的節(jié)點(diǎn);當(dāng)RD到達(dá)目的節(jié)點(diǎn)時(shí),目的節(jié)點(diǎn)就收到了含有一個(gè)路段信息列表的RD,每一個(gè)路段信息都是一條完整的路徑,對(duì)每一條路徑目的節(jié)點(diǎn)都回復(fù)一個(gè)RREP,這樣,當(dāng)源節(jié)點(diǎn)收到多個(gè)RREP時(shí),多路徑就形成了。[0008]彭革剛等提出了一種基于不同路徑選擇策略的移動(dòng)自組網(wǎng)多路徑QoS路由協(xié)議(參考文獻(xiàn):彭革剛,李新宋鷹,向黎生,沈清,李仁發(fā).面向多路徑的自組網(wǎng)QoS路由協(xié)議研究[J].計(jì)算機(jī)應(yīng)用研究,Vol.30, N0.2,2013:544-546),該協(xié)議的多路徑生成方法為:在尋路過程中源節(jié)點(diǎn)廣播一個(gè)QoS路由探測(cè)消息QRP(QoS route probe),當(dāng)該QRP被中間節(jié)點(diǎn)收到時(shí),中間節(jié)點(diǎn)進(jìn)行一次QoS準(zhǔn)入控制,即判斷此時(shí)的QoS值是否滿足需求,不能通過準(zhǔn)入控制的QRP分組將被該中間節(jié)點(diǎn)丟棄;當(dāng)中間節(jié)點(diǎn)第二次收到QRP分組時(shí),即使?jié)M足QoS需求也直接將其丟棄,這樣雖然減少了廣播的副本數(shù),但卻丟失了一部分滿足QoS要求的路徑,同時(shí)該方法設(shè)定了路由尋路時(shí)間閾值,當(dāng)尋路時(shí)間超過設(shè)定的閾值時(shí)停止尋路過程,這也有可能會(huì)導(dǎo)致性能滿足要求的路徑丟失。
[0009]從上述【背景技術(shù)】可看出,無線多跳網(wǎng)絡(luò)中帶多QoS約束的多徑路由近年來一直受到人們的關(guān)注,因此作為其中重要組成部分的多路徑生成方法也是人們的關(guān)注點(diǎn)之一,在如何可靠地生成多路徑方面已有不少研究成果,但我們通過研究發(fā)現(xiàn)在多路徑生成的操作和通信方面仍然存在冗余和不夠優(yōu)化的地方,在本發(fā)明中將提出一種新的帶多QoS約束的多路徑高效生成方法加以解決。
【發(fā)明內(nèi)容】
[0010]針對(duì)以上現(xiàn)有技術(shù)中的不足,本發(fā)明的目的在于提供一種顯著減少尋路和建路過程中的控制開銷,提高多路徑生成方法及多徑路由的效率的無線多跳網(wǎng)絡(luò)中帶多Q0S約束的多路徑生成方法。本發(fā)明的技術(shù)方案如下:一種無線多跳網(wǎng)絡(luò)中帶多QoS約束的多路徑生成方法,其包括以下步驟:
[0011]101、無線多跳網(wǎng)絡(luò)中源節(jié)點(diǎn)有數(shù)據(jù)要發(fā)往目的節(jié)點(diǎn)而又沒有滿足設(shè)定要求指標(biāo)的路徑時(shí),例如要求路徑帶寬不能小于I兆比特/秒,而已知路徑的帶寬都小于I兆比特/秒;要求路徑端到端時(shí)延不能大于5秒,而已知路徑的端到端時(shí)延都大于5秒;要求路徑的丟包率不能大于0.1,而已知路徑的丟包率都大于0.1 ;要求路徑的最大時(shí)延抖動(dòng)不能大于
0.5秒,而已知路徑的最大時(shí)延抖動(dòng)都大于0.5秒;要求路徑的跳數(shù)不能大于5,而已知路徑的跳數(shù)都大于5。源節(jié)點(diǎn)向鄰居節(jié)點(diǎn)廣播一個(gè)路由請(qǐng)求消息RREQ,其中該路由請(qǐng)求消息RREQ的字段中包括類型、標(biāo)志序列、跳數(shù)、RREQ ID、目的節(jié)點(diǎn)地址、目的節(jié)點(diǎn)序列號(hào)、源節(jié)點(diǎn)地址、源節(jié)點(diǎn)序列號(hào)和QoS參數(shù),所述路由請(qǐng)求消息RREQ的字段中不包括路由記錄項(xiàng);
[0012]102、當(dāng)步驟101中的鄰居節(jié)點(diǎn)收到了源節(jié)點(diǎn)發(fā)來的路由請(qǐng)求消息RREQ時(shí),鄰居節(jié)點(diǎn)首先判斷是否是第一次收到該消息;如果是,則在鄰居節(jié)點(diǎn)存儲(chǔ)的路由表中建立到源節(jié)點(diǎn)的反向路徑,同時(shí)在路由表中記錄下該路由請(qǐng)求消息RREQ的RREQ ID,然后判斷所經(jīng)路徑的QoS狀況(本鄰居節(jié)點(diǎn)能夠獲得并存有本地的QoS參數(shù)值,如與它相連的鏈路的帶寬;從哪條鏈路收到RREQ,則該鏈路就是RREQ所經(jīng)路徑的一部分,RREQ所經(jīng)路徑的QoS狀況可由該鏈路的QoS值導(dǎo)出)是否滿足路由請(qǐng)求消息RREQ中QoS參數(shù)的約束條件(如要求路徑帶寬不能小于I兆比特/秒,數(shù)據(jù)分組的端到端傳輸時(shí)延不能大于I秒。;如果滿足,則該鄰居節(jié)點(diǎn)更新路由請(qǐng)求消息RREQ的QoS參數(shù)字段并把QoS參數(shù)值記入鄰居節(jié)點(diǎn)存儲(chǔ)的路由表,然后繼續(xù)廣播此路由請(qǐng)求消息RREQ,直至路由請(qǐng)求消息RREQ傳播到目的節(jié)點(diǎn),跳轉(zhuǎn)至步驟103 ;如果不滿足路由請(qǐng)求消息RREQ中QoS參數(shù)的約束條件,則直接將此路由請(qǐng)求消息RREQ丟棄,結(jié)束;[0013]103、當(dāng)目的節(jié)點(diǎn)收到步驟102中轉(zhuǎn)發(fā)的路由請(qǐng)求消息RREQ,目的節(jié)點(diǎn)首先判斷是否是第一次收到該路由請(qǐng)求消息RREQ ;如果是,則在路由表中建立到源節(jié)點(diǎn)的反向路徑,然后判斷所經(jīng)路徑的QoS狀況是否滿足RREQ消息中QoS參數(shù)字段的約束條件;如果滿足,則目的節(jié)點(diǎn)更新RREQ消息攜帶的QoS參數(shù)并將其記入目的節(jié)點(diǎn)存儲(chǔ)的路由表,跳轉(zhuǎn)至步驟
104;如果不滿足QoS約束條件,則直接將此路由請(qǐng)求消息RREQ丟棄,結(jié)束;如果目的節(jié)點(diǎn)不是第一次收到該RREQ消息,則先判斷所經(jīng)路徑的QoS狀況是否滿足路由請(qǐng)求消息RREQ中QoS參數(shù)字段的約束條件;如果滿足QoS參數(shù)字段的約束條件,則在路由表中建立另一條到RREQ源節(jié)點(diǎn)的反向路徑,同時(shí)記錄下路由請(qǐng)求消息RREQ ID和更新后的QoS參數(shù)值,跳轉(zhuǎn)至步驟104 ;如果不滿足QoS約束條件,則直接將此RREQ消息丟棄,結(jié)束;
[0014]104、目的節(jié)點(diǎn)生成I個(gè)路由回復(fù)消息RREP,目的節(jié)點(diǎn)向收到的路由請(qǐng)求消息RREQ的上一跳中間節(jié)點(diǎn)單播此路由回復(fù)消息RREP,當(dāng)該中間節(jié)點(diǎn)通往源節(jié)點(diǎn)的反向路徑有一條時(shí),則中間節(jié)點(diǎn)將該中間節(jié)點(diǎn)地址按順序裝入RREP消息的中間節(jié)點(diǎn)列表中,并按照該反向路徑進(jìn)行發(fā)送,跳轉(zhuǎn)至步驟105 ;當(dāng)該中間節(jié)點(diǎn)通往源節(jié)點(diǎn)的反向路徑大于或者等于兩條時(shí),通過運(yùn)算得出新的QoS參數(shù)值,并將該QoS參數(shù)值寫入RREP消息進(jìn)行轉(zhuǎn)發(fā),跳轉(zhuǎn)至步驟
105;
[0015]105、源節(jié)點(diǎn)處理收到的RREP消息,記錄到路由表項(xiàng),記錄下通往目的節(jié)點(diǎn)的路徑,生成多路徑,結(jié)束。
[0016]進(jìn)一步的,步驟104中的路由回復(fù)消息RREP包括源節(jié)點(diǎn)地址、目的節(jié)點(diǎn)地址、目的序列號(hào)、QoS參數(shù)及中間節(jié)點(diǎn)列表,
[0017]進(jìn)一步的,步驟101中的滿足設(shè)定要求路徑的指標(biāo)包括路徑帶寬、路徑的端到端時(shí)延、路徑的丟包率、最大時(shí)延抖動(dòng)及路徑的跳數(shù)。
[0018]本發(fā)明的優(yōu)點(diǎn)及有益效果如下:
[0019]1.本發(fā)明所述帶多QoS約束的多路徑高效生成方法對(duì)重復(fù)收到的RREQ消息不作轉(zhuǎn)發(fā),但要記錄它們到來的路徑以及該路徑對(duì)應(yīng)的QoS參數(shù)值;這樣的優(yōu)化處理,既去除了繼續(xù)轉(zhuǎn)發(fā)RREQ消息的冗余轉(zhuǎn)發(fā)開銷,也對(duì)所有可用路徑進(jìn)行了記錄,不會(huì)丟失可用路徑信息,保障了多路徑高效生成方法的可靠性。
[0020]2.在本發(fā)明所述的帶多QoS約束的多路徑高效生成方法中,路徑信息無需寫入RREQ消息,即RREQ消息不攜帶路徑信息,中間節(jié)點(diǎn)在路由表中記錄收到的每個(gè)RREQ消息經(jīng)過的上一跳節(jié)點(diǎn)及該路徑對(duì)應(yīng)的QoS參數(shù)值。這樣,就在不影響記錄RREQ消息所經(jīng)路徑功能的前提下,縮短了 RREQ消息的長(zhǎng)度,降低了控制開銷。
[0021]3、在本發(fā)明所述的帶多QoS約束的多路徑高效生成方法中,當(dāng)RREP消息經(jīng)過一個(gè)中間節(jié)點(diǎn)時(shí),該節(jié)點(diǎn)才將自己的信息裝入RREP消息,因此,RREP消息中的路徑信息字段是從0字節(jié)逐漸變長(zhǎng)的,直至最后才達(dá)到裝入整條路徑信息的最大長(zhǎng)度(現(xiàn)有多路徑生成方法中RREP消息的路徑字段從一開始(目的節(jié)點(diǎn)轉(zhuǎn)發(fā))就達(dá)到最大長(zhǎng)度)。這樣,就能夠有效減小RREP消息的長(zhǎng)度,從而減少控制開銷。
【專利附圖】
【附圖說明】
[0022]圖1是本發(fā)明優(yōu)選實(shí)施例帶多QoS約束的高效多路徑生成方法包含的3種新機(jī)制及它們所處的兩個(gè)階段;[0023]圖2為中間節(jié)點(diǎn)處理RREQ消息的操作流程圖;
[0024]圖3帶多QoS約束的高效多路徑生成方法使用的RREQ消息的格式;
[0025]圖4為帶多QoS約束的新多路徑生成方法使用的RREP消息的格式;
[0026]圖5為根據(jù)本發(fā)明提出的帶多QoS約束的高效多路徑生成方法,中間節(jié)點(diǎn)轉(zhuǎn)發(fā)收到的RREP消息的操作流程。
【具體實(shí)施方式】
[0027]下面結(jié)合附圖給出一個(gè)非限定性的實(shí)施例對(duì)本發(fā)明作進(jìn)一步的闡述。
[0028]1.參見圖1-圖5所示,附圖1為本發(fā)明提出的帶多QoS約束的高效多路徑生成方法包含的3種新機(jī)制及它們所處的兩個(gè)階段。
[0029]本發(fā)明提出的帶多QoS約束的高效多路徑生成方法包含中間節(jié)點(diǎn)優(yōu)化處理重復(fù)RREQ消息、路徑信息無需寫入RREQ消息、RREP消息無需攜帶完整的路徑信息3種新機(jī)制;其中,中間節(jié)點(diǎn)優(yōu)化處理RREQ消息和路徑信息無需寫入RREQ消息兩種新機(jī)制工作在路由發(fā)現(xiàn)過程的反向路徑建立階段,RREP消息無需攜帶完整路徑信息新機(jī)制工作在路由發(fā)現(xiàn)過程的正向路徑建立階段。
[0030]2.附圖2為中間節(jié)點(diǎn)處理RREQ消息的操作流程圖。
[0031]中間節(jié)點(diǎn)如果第一次收到RREQ消息,則記錄反向路由,并判斷是否需要轉(zhuǎn)發(fā);如果收到重復(fù)的RREQ消息,中間節(jié)點(diǎn)則根據(jù)優(yōu)化處理重復(fù)RREQ消息的新機(jī)制進(jìn)行處理:不轉(zhuǎn)發(fā)重復(fù)的RREQ消息,但要記錄滿足QoS要求的反向路徑的詳細(xì)信息,以備回復(fù)RREP消息時(shí)保障路徑不丟失。
[0032]3.附圖3為本發(fā)明提出的帶多QoS約束的高效多路徑生成方法使用的RREQ消息的格式。
[0033]本發(fā)明提出的帶多QoS約束的高效多路徑生成方法使用的RREQ消息的字段包括類型、標(biāo)志序列、跳數(shù)、RREQ ID、目的節(jié)點(diǎn)地址、目的節(jié)點(diǎn)序列號(hào)、源節(jié)點(diǎn)地址、源節(jié)點(diǎn)序列號(hào)和QoS參數(shù);其中,類型表明是RREQ消息,標(biāo)志序列表明是否可由中間節(jié)點(diǎn)回復(fù)、中間節(jié)點(diǎn)回復(fù)時(shí)是否通知目的節(jié)點(diǎn)、目的節(jié)點(diǎn)序列號(hào)是否已知,跳數(shù)表示RREQ消息經(jīng)過的鏈路數(shù),RREQ ID用于為RREQ消息編號(hào)以唯一確定一個(gè)RREQ消息,序列號(hào)用于更新路徑和避免路由環(huán)路,QoS參數(shù)用于傳遞QoS約束的參數(shù)值。本發(fā)明提出的帶多QoS約束的高效多路徑生成方法去掉了現(xiàn)有相關(guān)多路徑生成方法中RREQ消息的路由記錄項(xiàng),從而縮短了 RREQ消息的長(zhǎng)度,在尋路過程中減少了不必要的控制開銷。
[0034]4.附圖4為本發(fā)明提出的帶多QoS約束的新多路徑生成方法使用的RREP消息的格式。
[0035]本發(fā)明提出的帶多QoS約束的高效多路徑生成方法使用的RREP消息的字段包括類型、跳數(shù)、RREQ ID、目的節(jié)點(diǎn)地址、目的節(jié)點(diǎn)序列號(hào)、源節(jié)點(diǎn)地址、生存時(shí)間、QoS參數(shù)和可變長(zhǎng)的中間節(jié)點(diǎn)列表;其中,類型表明是RREP消息,跳數(shù)表示RREP消息經(jīng)過的鏈路數(shù),目的節(jié)點(diǎn)序列號(hào)用于更新路徑和避免路由環(huán)路,生存時(shí)間用于表示路由表項(xiàng)的有效期,QoS參數(shù)字段用于傳遞QoS約束的參數(shù)值,可變長(zhǎng)(長(zhǎng)度從0開始增加,每經(jīng)過I個(gè)中間節(jié)點(diǎn)增加I次)的中間節(jié)點(diǎn)列表用于裝載中間節(jié)點(diǎn)信息。本發(fā)明提出的帶多QoS約束的高效多路徑生成方法用可變長(zhǎng)的中間節(jié)點(diǎn)列表代替了現(xiàn)有相關(guān)方法使用的定長(zhǎng)(一直保持最大長(zhǎng)度以裝載所有中間節(jié)點(diǎn)信息)的中間節(jié)點(diǎn)列表,從而明顯縮短了 RREP消息的長(zhǎng)度,在正向路徑建立過程中減少了不必要的控制開銷。
[0036]5.附圖5為根據(jù)本發(fā)明提出的帶多QoS約束的高效多路徑生成方法,中間節(jié)點(diǎn)轉(zhuǎn)發(fā)收到的RREP消息的操作流程。
[0037]對(duì)于收到的RREP消息,中間節(jié)點(diǎn)均要進(jìn)行轉(zhuǎn)發(fā);而且,對(duì)于同時(shí)存在的不同的反向路徑,只要滿足QoS要求,中間節(jié)點(diǎn)均要向它們轉(zhuǎn)發(fā)RREP消息。
[0038]本發(fā)明所述方法屬于按需的多路徑生成方法,用于源節(jié)點(diǎn)有數(shù)據(jù)要發(fā)送到目的節(jié)點(diǎn)而無可用路徑時(shí)發(fā)起的路由發(fā)現(xiàn)過程中。路由發(fā)現(xiàn)過程能夠?yàn)樵垂?jié)點(diǎn)生成多條帶多QoS約束的可用路徑,它包括反向路徑建立和正向路徑建立兩個(gè)具有先后順序的階段。本發(fā)明所述方法包含的中間節(jié)點(diǎn)優(yōu)化處理RREQ消息和路徑信息無需寫入RREQ消息兩種新機(jī)制工作在反向路徑建立階段,RREP消息無需攜帶完整路徑信息新機(jī)制工作在正向路徑建立階段。
[0039]本發(fā)明所述新多路徑生成方法的操作步驟具體如下:
[0040]階段一:反向路徑建立
[0041]步驟1.源節(jié)點(diǎn)廣播RREQ消息
[0042]當(dāng)源節(jié)點(diǎn)有數(shù)據(jù)要發(fā)往目的節(jié)點(diǎn)而又沒有滿足要求的路徑時(shí),源節(jié)點(diǎn)啟動(dòng)路由查找機(jī)制,進(jìn)入路由發(fā)現(xiàn)過程,具體操作為:源節(jié)點(diǎn)向鄰居節(jié)點(diǎn)廣播一個(gè)路由請(qǐng)求消息RREQ,RREQ的字段包括類型、標(biāo)志序列、跳數(shù)、RREQ ID、目的節(jié)點(diǎn)地址、目的節(jié)點(diǎn)序列號(hào)、源節(jié)點(diǎn)地址、源節(jié)點(diǎn)序列號(hào)和QoS參數(shù);其中,類型表明是RREQ消息,標(biāo)志序列表明是否可由中間節(jié)點(diǎn)回復(fù)、中間節(jié)點(diǎn)回復(fù)時(shí)是否通知目的節(jié)點(diǎn)、目的節(jié)點(diǎn)序列號(hào)是否已知,跳數(shù)表示RREQ消息經(jīng)過的鏈路數(shù),RREQ ID用于為RREQ消息編號(hào)以唯一確定一個(gè)RREQ消息,序列號(hào)字段用于更新路徑和避免路由環(huán)路,QoS參數(shù)字段用于傳遞QoS約束的參數(shù)值。本發(fā)明的“路徑信息無需寫入RREQ消息”新機(jī)制去掉了現(xiàn)有相關(guān)多路徑生成方法中RREQ消息的路由記錄項(xiàng),從而縮短了 RREQ消息的長(zhǎng)度,在尋路過程中減少了不必要的控制開銷。
[0043]步驟2.中間節(jié)點(diǎn)處理收到RREQ消息
[0044]本發(fā)明中,每個(gè)節(jié)點(diǎn)都維護(hù)有一個(gè)記錄已知路由的路由表。如果一個(gè)中間節(jié)點(diǎn)收到了鄰居節(jié)點(diǎn)發(fā)來的RREQ消息,它首先判斷是否是第一次收到該消息;如果是,則在路由表中建立到RREQ源節(jié)點(diǎn)的反向路徑(此操作保證無論是否滿足QoS約束條件都至少有I條通往源節(jié)點(diǎn)的反向路徑),同時(shí)在路由表中記錄下RREQ ID,然后判斷所經(jīng)路徑的QoS狀況是否滿足RREQ消息中QoS參數(shù)字段的約束條件;如果滿足,則該中間節(jié)點(diǎn)更新RREQ消息的QoS參數(shù)字段并把QoS參數(shù)值記入路由表,然后繼續(xù)廣播此RREQ消息;如果不滿足QoS約束條件,則直接將此RREQ消息丟棄。
[0045]如果中間節(jié)點(diǎn)不是第一次收到該RREQ消息,根據(jù)本發(fā)明的“中間節(jié)點(diǎn)優(yōu)化處理重復(fù)RREQ消息”新機(jī)制,中間節(jié)點(diǎn)先判斷所經(jīng)路徑的QoS狀況是否滿足RREQ消息中QoS參數(shù)字段的約束條件;如果滿足,則在路由表中按順序建立另一條到RREQ源節(jié)點(diǎn)的反向路徑,同時(shí)在路由表中記錄下RREQ ID和更新后的QoS參數(shù)值,然后刪除RREQ消息,不再繼續(xù)廣播它;如果不滿足QoS約束條件,則直接將此RREQ消息丟棄。這樣,在中間節(jié)點(diǎn)的路由表中會(huì)產(chǎn)生到RREQ源節(jié)點(diǎn)的多個(gè)反向路徑表項(xiàng),即形成了多條反向路由,而且在此過程中只轉(zhuǎn)發(fā)了一次RREQ消息,減少了轉(zhuǎn)發(fā)RREQ消息的次數(shù),降低了控制開銷。[0046]步驟3.目的節(jié)點(diǎn)處理收到的RREQ消息
[0047]如果目的節(jié)點(diǎn)收到RREQ消息,它首先判斷是否是第一次收到該消息;如果是,則在路由表中建立到RREQ源節(jié)點(diǎn)的反向路徑(此操作保證無論是否滿足QoS約束條件都至少有I條通往源節(jié)點(diǎn)的反向路徑),同時(shí)在路由表中記錄下RREQID,然后判斷所經(jīng)路徑的QoS狀況是否滿足RREQ消息中QoS參數(shù)字段的約束條件;如果滿足,則目的節(jié)點(diǎn)更新RREQ消息攜帶的QoS參數(shù)并將其記入路由表,然后進(jìn)入正向路徑建立階段;如果不滿足QoS約束條件,則直接將此RREQ消息丟棄。
[0048]如果目的節(jié)點(diǎn)不是第一次收到該RREQ消息,則先判斷所經(jīng)路徑的QoS狀況是否滿足RREQ消息中QoS參數(shù)字段的約束條件;如果滿足,則在路由表中建立另一條到RREQ源節(jié)點(diǎn)的反向路徑,同時(shí)記錄下RREQ ID和更新后的QoS參數(shù)值,然后進(jìn)入正向路徑建立階段;如果不滿足QoS約束條件,則直接將此RREQ消息丟棄。
[0049]階段二:正向路徑建立
[0050]步驟1.目的節(jié)點(diǎn)回復(fù)RREP消息
[0051]在路徑狀況滿足QoS約束的情況下,為答復(fù)I個(gè)收到的RREQ消息,目的節(jié)點(diǎn)生成I個(gè)RREP消息,該消息包括源節(jié)點(diǎn)地址、目的節(jié)點(diǎn)地址、目的序列號(hào)、QoS參數(shù)、中間節(jié)點(diǎn)列表(此時(shí)為空,不占開銷)等字段;然后,目的節(jié)點(diǎn)向RREQ消息的上一跳節(jié)點(diǎn)單播此RREP消息。根據(jù)本發(fā)明的“RREP消息無需攜帶完整路徑信息”新機(jī)制,RREP消息中的中間節(jié)點(diǎn)列表字段的長(zhǎng)度在目的節(jié)點(diǎn)時(shí)為0字節(jié),隨著RREP的轉(zhuǎn)發(fā),它從0字節(jié)逐漸變大,直至最后才達(dá)到裝入整條路徑信息的最大長(zhǎng)度。為避免丟失可用路徑,來自于不同路徑的RREQ消息,目的節(jié)點(diǎn)需要逐一用RREP消息進(jìn)行回復(fù)。
[0052]步驟2.中間節(jié)點(diǎn)轉(zhuǎn)發(fā)收到的RREP消息
[0053]如果中間節(jié)點(diǎn)收到了 I個(gè)RREP消息,它首先在路由表中建立通往目的節(jié)點(diǎn)的正向路由;然后,查看自己的路由表中通往源節(jié)點(diǎn)的反向路徑有幾條。如果只有I條反向路徑,則將自己的地址按順序裝入RREP消息的中間節(jié)點(diǎn)列表中,然后根據(jù)反向路徑,向通往源節(jié)點(diǎn)的下一跳節(jié)點(diǎn)轉(zhuǎn)發(fā)該RREP消息。
[0054]在中間節(jié)點(diǎn)的路由表中,如果記錄有2條以上通往源節(jié)點(diǎn)的反向路徑,則按以下方法處理:
[0055]( I)對(duì)于第I條反向路徑:中間節(jié)點(diǎn)將自己的地址按順序裝入RREP消息的中間節(jié)點(diǎn)列表中,然后根據(jù)第I條反向路徑,向通往源節(jié)點(diǎn)的下一跳節(jié)點(diǎn)轉(zhuǎn)發(fā)該RREP消息。
[0056](2)對(duì)于第n條(n>l)反向路徑:中間節(jié)點(diǎn)將RREP中攜帶的QoS參數(shù)值取出,與路由表中記錄的第n條反向路徑的QoS參數(shù)值進(jìn)行綜合運(yùn)算(如:極值性質(zhì)的參數(shù)(如最小帶寬)通過比較后得出最新的極值;累加性質(zhì)的參數(shù)則先將二者相加,再減去第I條反向路徑的參數(shù)值,從而得到最新的累加值),得到最新的QoS參數(shù)值;然后,將其寫入RREP消息,并沿第n條反向路徑向通往源節(jié)點(diǎn)的下一跳節(jié)點(diǎn)轉(zhuǎn)發(fā)。
[0057]如果中間節(jié)點(diǎn)從不同的路徑收到了多個(gè)RREP消息,則按照上述方法逐一進(jìn)行處理。
[0058]步驟3.源節(jié)點(diǎn)處理收到的RREP消息
[0059]如果源節(jié)點(diǎn)收到了 I個(gè)RREP消息,它首先在路由表中按順序增加I條路由表項(xiàng),并在該路由表項(xiàng)中記錄下通往目的節(jié)點(diǎn)的路由;然后,將RREP消息中攜帶的QoS參數(shù)提出,也記錄到該路由表項(xiàng)中。這樣,源節(jié)點(diǎn)就能夠獲得支持多QoS約束的多條通往目的節(jié)點(diǎn)的路徑,從而實(shí)現(xiàn)了多路徑的生成。相應(yīng)地,路由發(fā)現(xiàn)過程結(jié)束。
[0060]本發(fā)明適用于帶有以下特征的無線多跳網(wǎng)絡(luò)(如移動(dòng)ad hoc網(wǎng)絡(luò)、無線傳感器網(wǎng)絡(luò)、無線mesh網(wǎng)絡(luò)、時(shí)延容忍網(wǎng)絡(luò)/機(jī)會(huì)網(wǎng)絡(luò)等):(I)對(duì)業(yè)務(wù)的服務(wù)質(zhì)量(QoS)有一方面或多方面要求;(2)需要獲得多條滿足QoS要求的路徑,從其中選擇I條或多條路徑進(jìn)行數(shù)據(jù)傳輸。以無線多媒體傳感器網(wǎng)絡(luò)為例,無線多媒體網(wǎng)絡(luò)由于傳輸?shù)臄?shù)據(jù)量較大、數(shù)據(jù)種類偏多、對(duì)服務(wù)質(zhì)量要求較高,因此可以用帶多QoS約束的多路徑生成方法來保障數(shù)據(jù)的正常傳輸。一個(gè)具體實(shí)施的方式為:在節(jié)點(diǎn)數(shù)不小于3的無線多跳網(wǎng)絡(luò)(如無線多媒體傳感器網(wǎng)絡(luò))中,節(jié)點(diǎn)處于靜止或運(yùn)動(dòng)狀態(tài),當(dāng)一個(gè)節(jié)點(diǎn)(源節(jié)點(diǎn))需要向另一個(gè)節(jié)點(diǎn)(目的節(jié)點(diǎn))通過I條或多條滿足多QoS要求(如要求路徑帶寬不能小于I兆比特/秒,數(shù)據(jù)分組的端到端傳輸時(shí)延不能大于I秒,例如要求路徑帶寬不能小于I兆比特/秒,而已知路徑的帶寬都小于I兆比特/秒;要求路徑端到端時(shí)延不能大于5秒,而已知路徑的端到端時(shí)延都大于5秒;要求路徑的丟包率不能大于0.1,而已知路徑的丟包率都大于0.1 ;要求路徑的最大時(shí)延抖動(dòng)不能大于0.5秒,而已知路徑的最大時(shí)延抖動(dòng)都大于0.5秒;要求路徑的跳數(shù)不能大于5,而已知路徑的跳數(shù)都大于5。)的路徑發(fā)送數(shù)據(jù)時(shí),首先需要要找到從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的、滿足多QoS要求的多條路由,此時(shí)可以用本發(fā)明提出的帶多約束QoS的高效多路徑生成方法來找到多條這樣的可用路徑,然后從中選用I條或多條路徑進(jìn)行數(shù)據(jù)傳輸,未被選用的路徑可作為備用路徑以提高數(shù)據(jù)傳輸?shù)目煽啃院统晒β?。通過采用本發(fā)明設(shè)計(jì)的中間節(jié)點(diǎn)優(yōu)化處理重復(fù)RREQ消息、路徑信息無需寫入RREQ消息、RREP消息無需攜帶完整的路徑信息3種新機(jī)制,能夠在生成多條滿足多QoS約束的路徑的同時(shí),減少RREQ消息的轉(zhuǎn)發(fā)次數(shù),縮短RREQ消息和RREP消息的長(zhǎng)度,從而降低控制開銷,節(jié)約網(wǎng)絡(luò)帶寬,提高多路徑生成方法及多徑路由的效率。
[0061]以上這些實(shí)施例應(yīng)理解為僅用于說明本發(fā)明而不用于限制本發(fā)明的保護(hù)范圍。在閱讀了本發(fā)明的記載的內(nèi)容之后,技術(shù)人員可以對(duì)本發(fā)明作各種改動(dòng)或修改,這些等效變化和修飾同樣落入本發(fā)明方法權(quán)利要求所限定的范圍。
【權(quán)利要求】
1.一種無線多跳網(wǎng)絡(luò)中帶多QoS約束的多路徑生成方法,其特征在于,包括以下步驟: 101、無線多跳網(wǎng)絡(luò)中源節(jié)點(diǎn)有數(shù)據(jù)要發(fā)往目的節(jié)點(diǎn)而又沒有滿足設(shè)定要求指標(biāo)的路徑時(shí),源節(jié)點(diǎn)向鄰居節(jié)點(diǎn)廣播一個(gè)路由請(qǐng)求消息RREQ,其中該路由請(qǐng)求消息RREQ的字段中包括類型、標(biāo)志序列、跳數(shù)、RREQ ID、目的節(jié)點(diǎn)地址、目的節(jié)點(diǎn)序列號(hào)、源節(jié)點(diǎn)地址、源節(jié)點(diǎn)序列號(hào)和QoS參數(shù),所述路由請(qǐng)求消息RREQ的字段中不包括路由記錄項(xiàng); 102、當(dāng)步驟101中的鄰居節(jié)點(diǎn)收到了源節(jié)點(diǎn)發(fā)來的路由請(qǐng)求消息RREQ時(shí),鄰居節(jié)點(diǎn)首先判斷是否是第一次收到該消息;如果是,則在鄰居節(jié)點(diǎn)存儲(chǔ)的路由表中建立到源節(jié)點(diǎn)的反向路徑,同時(shí)在路由表中記錄下該路由請(qǐng)求消息RREQ的RREQ ID,然后判斷所經(jīng)路徑的QoS狀況是否滿足路由請(qǐng)求消息RREQ中QoS參數(shù)的約束條件;如果滿足,則該鄰居節(jié)點(diǎn)更新路由請(qǐng)求消息RREQ的QoS參數(shù)字段并把QoS參數(shù)值記入鄰居節(jié)點(diǎn)存儲(chǔ)的路由表,然后繼續(xù)廣播此路由請(qǐng)求消息RREQ,直至路由請(qǐng)求消息RREQ傳播到目的節(jié)點(diǎn),跳轉(zhuǎn)至步驟103 ;如果不滿足路由請(qǐng)求消息RREQ中QoS參數(shù)的約束條件,則直接將此路由請(qǐng)求消息RREQ丟棄,結(jié)束; 103、當(dāng)目的節(jié)點(diǎn)收到步驟102中轉(zhuǎn)發(fā)的路由請(qǐng)求消息RREQ,目的節(jié)點(diǎn)首先判斷是否是第一次收到該路由請(qǐng)求消息RREQ ;如果是,則在路由表中建立到源節(jié)點(diǎn)的反向路徑,然后判斷所經(jīng)路徑的QoS狀況是否滿足RREQ消息中QoS參數(shù)字段的約束條件;如果滿足,則目的節(jié)點(diǎn)更新RREQ消息攜帶的QoS參數(shù)并將其記入目的節(jié)點(diǎn)存儲(chǔ)的路由表,跳轉(zhuǎn)至步驟104 ;如果不滿足QoS約束條件,則直接將此路由請(qǐng)求消息RREQ丟棄,結(jié)束;如果目的節(jié)點(diǎn)不是第一次收到該RREQ消息,則先判斷所經(jīng)路徑的QoS狀況是否滿足路由請(qǐng)求消息RREQ中QoS參數(shù)字段的約束條件;如果滿足QoS參數(shù)字段的約束條件,則在路由表中建立另一條到RREQ源節(jié)點(diǎn)的反向路徑,同時(shí)記錄下路由請(qǐng)求消息RREQ ID和更新后的QoS參數(shù)值,跳轉(zhuǎn)至步驟104;如果不滿足QoS約束條件,則直接將此RREQ消息丟棄,結(jié)束; 104、目的節(jié)點(diǎn)生成I個(gè)路由回復(fù)消息RREP,目的節(jié)點(diǎn)向收到的路由請(qǐng)求消息RREQ的上一跳中間節(jié)點(diǎn)單播此路由回復(fù)消息RREP,當(dāng)該中間節(jié)點(diǎn)通往源節(jié)點(diǎn)的反向路徑有一條時(shí),則中間節(jié)點(diǎn)將該中間節(jié)點(diǎn)地址按順序裝入RREP消息的中間節(jié)點(diǎn)列表中,并按照該反向路徑進(jìn)行發(fā)送,跳轉(zhuǎn)至步驟105 ;當(dāng)該中間節(jié)點(diǎn)通往源節(jié)點(diǎn)的反向路徑大于或者等于兩條時(shí),通過運(yùn)算得出新的QoS參數(shù)值,并將該QoS參數(shù)值寫入RREP消息進(jìn)行轉(zhuǎn)發(fā),跳轉(zhuǎn)至步驟105; 105、源節(jié)點(diǎn)處理收到的RREP消息,記錄到路由表項(xiàng),記錄下通往目的節(jié)點(diǎn)的路徑,生成多路徑,結(jié)束。
2.根據(jù)權(quán)利要求1所述的無線多跳網(wǎng)絡(luò)中帶多QoS約束的多路徑生成方法,其特征在于:步驟104中的路由回復(fù)消息RREP包括源節(jié)點(diǎn)地址、目的節(jié)點(diǎn)地址、目的序列號(hào)、QoS參數(shù)及中間節(jié)點(diǎn)列表。
3.根據(jù)權(quán)利要求1所述的無線多跳網(wǎng)絡(luò)中帶多QoS約束的多路徑生成方法,其特征在于:步驟101中的滿足設(shè)定要求路徑的指標(biāo)包括路徑帶寬、路徑的端到端時(shí)延、路徑的丟包率、最大時(shí)延抖動(dòng)及路徑的跳數(shù)。
【文檔編號(hào)】H04W40/12GK103648144SQ201310685169
【公開日】2014年3月19日 申請(qǐng)日期:2013年12月13日 優(yōu)先權(quán)日:2013年12月13日
【發(fā)明者】任智, 王路路, 彭雙, 索建偉, 李賓, 陳前斌 申請(qǐng)人:重慶郵電大學(xué)