專利名稱::基于負載均衡的自組網并發多徑路由方法
技術領域:
:本發明屬于使用無線自組網技術的領域,如無線自組網絡、傳感器網絡、無線局域網、無線接入等,特別涉及采用負載均衡路由技術的網絡。
背景技術:
:自組網是一種移動通信和計算機網絡相結合的網絡,網絡中的終端節點在網絡中可任意移動、自由加入和退出網絡,網絡拓撲結構變化頻繁。便攜式移動節點通常依靠電池提供能量,發射功率有限,有時需要多跳轉發實現通信,每個用戶節點都兼有路由器和終端兩種功能。節點需要運行各種面向用戶的應用程序和相應的路由協議,并根據路由策略和路由表完成數據分組的轉發和路由維護工作,故要求節點采用合適的路由協議。自組網絡路由協議的目標是快速、準確和高效,要求在盡可能短的時間內找到準確可用的路由信息,并能適應網絡拓撲的快速動態變化,同時減小引入的額外時延和維護路由的控制信息,降低路由協議的開銷,以滿足移動終端計算能力、儲存空間以及電源等方面的限制。現有大多數自組網路由協議運行的結果都是只產生一條單一的路徑,由此產生的眾多單一路徑往往都要經過一部分處于網絡中心位置的節點,大量數據通過少量節點傳輸必然導致網絡出現擁塞和瓶頸,使分組傳輸時延增加。同時,被過度使用的那部分節點的電池能量消耗過快,縮短了網絡的總體生存時間。因此,有必要在路由的生成和選擇過程中考慮網絡中各節點的負載和擁塞情況,對網絡進行負載均衡。負載均衡在本質上就是利用分組傳輸可能存在的多條路徑構建分組路由,通過有足夠剩余容量的節點轉發分組,以減輕現存的和潛在的局部擁塞,在網絡中對動態變化的負載進行成功傳輸,盡可能減少分組丟失和提高網絡吞吐率,為業務提供更好的QoS保證。現有的自組網負載均衡路由方法有1、單徑負載均衡路由方法,主要有ABR(Associativity-BasedRouting,基于聯合穩定度的路由,參見文獻TohCK.Associativity-BasedRoutingforAd-hocMobileNetworks.WirelessPersonalCommunicationsJournal,March1997,vol.4,no.2103-139.)和ARA(ant-colonybasedroutingalgorithm,基于螞蟻群體的路由算法,參見文獻GunesM,SorgesU,BouaziziI.ARA-theant-colonybasedroutingalgorithmforMANETs.InternationalConferenceonParallelProcessingWorkshops.18-21Aug.200279-85.)等。這類方法將網絡負載作為路由選擇的依據之一,尋找一條具有負載均衡功能的最優化路徑,數據分組在這條路徑上進行傳輸。這種方法只用一條路徑進行數據傳輸,可靠性不強,負載均衡的效果有限。2、多徑負載均衡路由方法,主要有MSR(MultipathSourceRouting,多徑源路由,參見文獻YantaiShu,MiaoDong,LianfangZhang,YangOWW,LeiWang.Adaptivemultipathsourceroutinginadhocnetworks.ICC2001,IEEEInternationalConferenceonCommunications,11-14June2001,vol.3867-871.)和NTBMR(Neighbor-Table-BasedMultipathRouting,基于鄰居表的多徑路由,參見文獻ZhongbangYao,JunfengJiang,PingyiFan,ZhigangCao,LiVOK.Aneighbor-table-basedmultipathroutinginadhocnetworks.VehicularTechnologyConference,VTC2003,Spring2003,The57thIEEESemiannualVolume3,22-25April20031739-1743.)等。這類方法將網絡負載作為路由選擇的依據之一,尋找多條具有負載均衡功能的最優化路徑,數據分組同時在多條路徑上進行傳輸。多條路徑上的并行傳輸提高了數據傳送成功率、吞吐率等網絡性能,減輕了網絡擁塞。但這類方法中多路徑的產生都是基于源啟動按需路由機制,會對網絡帶寬帶來額外的開銷;而且路由建立需要時間,會增加數據傳輸的端到端時延。現有的自組網負載均衡路由方法存在如下缺點負載均衡方案主要采用源啟動按需路由機制,為實現負載均衡而進行的通信過程增加了網絡帶寬的額外負擔;路由建立過程所消耗的時間增大了數據傳輸的端到端時延;采用單路徑的負載均衡方法在可靠性和吞吐率等方面受到單一路徑的限制,負載均衡的效果有限。為此,我們將提出一種基于負載均衡的自組網并行多路徑路由方法,以解決現有算法的上述缺陷。
發明內容本發明的目的在于減少現有自組網多路徑負載均衡路由方法中對網絡帶寬帶來的額外開銷,降低分組的端到端傳輸時延,提高分組傳送成功率和網絡吞吐率,增加算法對應用環境的適應性和健壯性。本發明中路徑選擇和業務流調度的原理需要發送業務分組的移動節點在節點內部按照最小跳數原則計算出兩條以上(如果存在的話)通往目的地的不相交路徑p1=<s,u11,...,u1m,d>、p2=<s,u21,...,u2n,d>、……,其中s代表源節點,d代表目的節點,u代表不同路徑上的中繼節點,m≤n;將各條路徑上各中繼節點的網絡層內等待發送的分組數分別相加,得到表征路徑負載的量Lp1=Σk=u11u1mwk,]]>Lp2=Σk=u21u2nwk,]]>……,比較Lp1和Lp2,……,如果Lp1小于其他路徑負載量,則將業務分組放到第一條路徑上傳送,該路徑上的各中繼節點在轉發業務分組時獨立選取最小跳數的路徑,逐跳轉發;如果Lp1大于其他路徑的路徑負載量,則將業務分組放到其他路徑中路徑負載量最小的一條路徑上,源節點事先將所有中繼節點<u1,...,un>寫入業務分組頭部,用源路由方式轉發。這樣,既能夠根據不同路徑的負載情況進行動態負載均衡,又可以保證各條路徑不會交叉或者重合,有利于避免路由耦合。基于負載均衡的自組網并發多徑路由方法,其特征是,它由路由信息交換、路由生成和數據轉發三個步驟構成。一、路由信息交換路由信息交換為全網范圍內的路由信息交換,由網絡中的每個節點周期性地向鄰居節點廣播自己的鄰居信息,并在全網范圍內廣播自己所知道的網絡拓撲信息和自己網絡層的負載情況(等待發送的分組數)來完成。其分步驟如下1、在一跳的范圍內,節點周期性地廣播HELLO消息,其中包含自己知道的所有1跳鄰居節點的地址和狀態、本節點網絡層數據緩沖區等待發送的分組數;2、在全網范圍內,節點周期性地廣播TC(TopologyControl,拓撲控制)消息,其中包含本節點網絡層數據緩沖區等待發送的分組數,以及把自己作為MPR(MultipointRelay,多點中繼)的節點的地址。MPR節點按照以下方法產生一個節點的MPR節點是它的1跳鄰居節點的一個子集,節點要和它的所有兩跳鄰居節點通信,必須依靠該子集中的節點來中繼。3、節點收到HELLO消息和TC消息后,根據這兩種消息所攜帶的節點連接信息來構建自己的網絡拓撲表。從HELLO消息攜帶的鏈路狀態信息中,節點能夠得知自己是否是鄰居節點的MPR節點,如果是,則收到鄰居節點發來的TC消息時,需要對該TC消息進行轉發。本發明在路由信息交換階段的具有如下特征1、通過HELLO消息周期性地向鄰居廣播自己知道的所有1跳鄰居節點的信息,有利于鄰居節點獲得最新的本地網絡拓撲信息,有利于了解掌握局部網絡拓撲。2、通過TC消息周期性地向全網廣播選自己作MPR的節點的信息,把本地的局部拓撲信息散布到全網,有利于網絡中的每一個節點都得到最新的、一致的全網拓撲信息。3、周期性地向全網廣播本節點網絡層數據緩沖區等待發送的分組數,有利于是全網節點了解當前的網絡負載狀況,從而進行相應的負載均衡操作。4、只有MPR節點才轉發TC消息,而一般節點不作處理,這樣對泛洪信息的轉發節點進行了限制,節省了廣播開銷。5、TC消息中只包含節點的部分兩跳鄰居節點,精簡了內容,減少了廣播開銷。本發明在路由信息交換階段的創新之處在于現有的自組網先應式路由算法在路由信息交換時,主要向鄰居和全網節點廣播本地的局部網絡拓撲信息,節點通過該信息可以尋找到去往目的地的路由,但卻無法了解各條路由上的負載輕重情況。因此,本發明將節點網絡層緩沖區的待發送分組數附加到局部網絡拓撲信息上一起廣播到全網,使網絡中的節點通過內部計算為分組找路時,不僅可以找到所需的路由,還能了解到該路由的負載狀況,有利于選擇一條負載較輕的路由,為實現負載均衡創造了條件。本發明在路由信息交換階段的實質是路由信息交換階段增加了負載信息的全網發布過程,為節點的選路提供網絡負載方面的參考,實現路由的分布式負載優化選擇,為在全網范圍內實現負載均衡提供幫助。二、路由生成網絡中各節點通過路由信息交換步驟獲得網絡拓撲信息和負載信息后,在節點內部運用多重Dijkstra算法計算從源節點到目的節點的多條路徑,同時計算各條路徑的路徑負載,以便于進行業務流調度時作為選擇路徑的參考。路由生成的具體步驟為1、網絡中各節點通過路由信息交換步驟獲得網絡拓撲信息和負載信息后,在節點內部運用多重Dijkstra算法計算從源節點到目的節點的可能存在的多條路徑;2、計算各條路徑的路徑負載,以便于進行業務流調度時作為選擇路徑的參考。多重Dijkstra算法是在經典的Dijkstra算法基礎上改進而成的,它能夠計算出更多的從源節點通往目的節點的路徑。其計算步驟如下1、節點獲得網絡拓撲信息之后,首先運用經典的Dijkstra算法,計算出一條通往某個目的節點的、具有最小跳數的路徑;2、如果使用經典的Dijkstra算法無法計算出到目的節點的路徑,說明當前該目的節點不可達,則停止計算;3、計算出到某個目的節點的最小跳數路徑之后,在網絡拓撲圖的節點集合中將該路徑中包含的所有中間節點剔除,生成一個新的網絡拓撲圖,如果存在通往目的節點的更多路徑,這些路徑必存在于此新的網絡拓撲圖中;4、在新的網絡拓撲圖中使用經典的Dijkstra算法,尋找一條通往目的節點的最小跳數路徑;如果能夠得到,則說明多路徑存在;否則說明不存在通往目的節點的多路徑,停止計算。5、可以根據需要重復步驟1)~步驟4),尋找更多通往目的節點的路徑。本發明在路由生成階段具有如下特征1、只要路徑存在,在經典的Dijkstra算法基礎上改進的多重Dijkstra算法便能夠計算出多條的通往目的節點的最小跳數路徑,而且這些路徑互相分離,減少了相互之間的干擾;2、生成多條路由的同時,本階段還將路由上的節點的負載相加,得到了各條路由的負載,為下一階段業務流的調度提供了均衡負載的可靠依據。本發明在路由生成階段的創新之處在于常用的經典的Dijkstra算法,只能夠計算出一條最小跳數路徑,本發明將其擴展,提出了多重Dijkstra算法,該算法不僅可以計算出最小跳數路徑,還可以方便地計算出更多的分離路徑;而且,本發明在生成多條路徑的過程中,全在節點內部通過計算得到,沒有為網絡帶寬增加任何的額外負擔,這點對于網絡帶寬非常緊張的無線自組網尤其重要。此外,本階段還通過計算得到了各條路徑的負載信息,為業務流的在多條路徑之間的合理調度提供了可靠的依據,為均衡負載創造了有利條件。本發明在路由生成階段的實質是用節點的計算資源換取網絡的帶寬資源,以可以承受的最小代價得到多條相互分離的路徑及其負載信息,在努力獲取所求性能的同時盡量減少開銷。三、數據轉發數據轉發階段主要包括路徑選擇、業務流調度、分組在并行路徑上的同時傳輸等。路徑選擇和業務流調度直接決定了各條路徑上的負載輕重,對于負載均衡的效果至關重要;分組在并行路徑上的同時傳輸能夠體現多路徑傳輸的優點,但路徑之間的相互干擾是個需要注意的問題。為了減輕路徑之間的相互干擾,本發明在第一條路徑,即最小跳數路徑上采用傳統的表驅動路由協議所使用的轉發方法,由中間節點自主確定下一跳節點,逐跳轉發;而在其他路徑上采用源路由方式,由源節點確定所有的中間節點,并將整條路徑的信息裝入數據分組頭部,中間節點根據該頭部信息來確定是否轉發以及如何轉發。數據轉發階段的具體步驟為1、在路由生成階段得到了各條路徑的路徑負載之后,節點對來自上層的分組按照到達時間的先后依次處理;2、如果存在通往目的節點的多條路徑,則節點比較各條路徑的路徑負載,選一條負載較輕的,將數據分組發送出去;3、如果數據分組在第一條路徑,即最小跳數路徑上傳送,則采用傳統的表驅動路由協議所使用的轉發方法,由中間節點自主確定下一跳節點,逐跳轉發;4、如果數據分組在其他路徑上轉發,則采用源路由方式,由源節點確定所有的中間節點,并將整條路徑的信息裝入數據分組頭部,中間節點根據該頭部信息來確定是否轉發以及如何轉發;5、源節點發送分組時按照數據分組到達的先后進行,目的節點收到數據分組后,由其上層進行分組順序的調整工作。本發明在數據轉發階段的創新之處在于數據分組選路時根據兩條路徑的負載動態選擇;數據轉發時同時使用兩條分離路徑并行傳送;最小跳數路徑和其他路徑上數據分組的轉發機制有所不同,一種是表驅動機制,另一種是源路由機制,這種方式能夠有效避免兩條路徑使用同樣的中間節點,從而減輕了路由耦合帶來的負面影響,降低了路徑之間的相互干擾。本發明在數據轉發階段的實質是根據路徑負載的不同為數據分組動態選路以實現負載均衡;綜合使用表驅動和源路由兩種機制轉發數據分組以實現在分離路徑上的并行數據傳輸,減少路徑之間的干擾。在具體應用的過程中,可以按照上述三個階段所確定的規律和方法,通過編程來實現本發明提出的負載均衡多徑路由方法。本發明與其他自組網負載均衡多徑路由方法相比,具有以下優點1、能夠實時收集網絡中各節點的負載信息,從而獲得準確的路徑負載情況;2、多路徑的生成使用多重Dijkstra算法,僅通過節點內部計算就能完成,不需要其它的額外開銷,尤其是節省了寶貴的網絡帶寬資源;3、為數據分組在多條路徑之間進行選路時,使用路徑負載作為依據,有利于實現負載均衡,提高多方面的網絡性能;4、綜合使用表驅動和源路由等轉發機制,在不同的路徑上使用不同的轉發方式,有利于減輕路由耦合帶來的負面影響,降低了路徑之間的相互干擾。5、同時使用兩條路徑并行傳輸數據,有利于提高網絡吞吐量,減少分組傳送時延。圖1為MPR示意圖采用MPR機制后,只有被選為MPR的節點才轉發包含路由信息的控制分組,這樣,就能夠在廣播路由信息時進行選擇性的泛洪,減少了參與轉發控制消息的節點數和整個網絡范圍內的路由控制消息數量,避免形成廣播風暴,同時也節省了開銷。隨著網絡規模的擴大,節點數量和節點密度的增加,采用MPR機制的優勢會更加明顯。圖2為多重Dijkstra算法示意圖多重Dijkstra算法的主要步驟是在不同的網絡拓撲圖上分步、依次運行經典的Dijkstra算法,分別得到最小跳數路徑和其他路徑,各條路徑互相分離,沒有共同的中間節點。圖3為源路由機制示意圖源路由的特點是采用主機智能,在傳送數據分組之前,源節點已經把整條路徑上的所有中間節點以及它們的順序確定好了,并把這個信息裝入了數據分組的頭部,因此中間節點不需要為數據分組找路,只需按照頭部的設置進行轉發即可。采用這種機制能夠事先確定好路徑,減少了路徑的變動,降低了路由的隨意性,因此有利于實現路徑的分離和克服路徑之間的相互干擾。圖4為雙路徑并行傳輸示意圖同時使用兩條路徑并行傳輸數據,有利于提高網絡吞吐量,減少分組傳送時延。路徑1到目的節點的跳數最少,它采用表驅動機制,各中間節點獨立地為數據分組確定去往目的節點的下一跳節點;路徑2采用源路由機制,數據分組包含有完整的路徑信息,各中間節點根據分組頭部的信息確定下一跳節點并轉發。圖5為基于負載均衡的自組網并發多徑路由方法的步驟示意圖。圖6為基于負載均衡的自組網并發多徑路由方法中路由信息交換的步驟示意圖。圖7為基于負載均衡的自組網并發多徑路由方法中路由生成的步驟示意圖。圖8為基于負載均衡的自組網并發多徑路由方法中數據轉發的步驟示意圖。權利要求1.基于負載均衡的自組網并發多徑路由方法,其特征是,它由路由信息交換、路由生成和數據轉發三個步驟構成;所述路由信息交換為全網范圍內的路由信息交換,由網絡中的每個節點周期性地向鄰居節點廣播自己的鄰居信息,并在全網范圍內廣播自己所知道的網絡拓撲信息和自己網絡層的負載情況來完成;所述路由生成由網絡中各節點通過路由信息交換步驟獲得網絡拓撲信息和負載信息后,在節點內部運用多重Dijkstra算法計算從源節點到目的節點的多條路徑,同時計算各條路徑的路徑負載,以便于進行業務流調度時作為選擇路徑的參考;所述數據轉發主要包括路徑選擇、業務流調度、分組在并行路徑上的同時傳輸等。2.根據權利要求1所述的基于負載均衡的自組網并發多徑路由方法,其特征是,所述路由信息交換具體步驟為1)、在一跳的范圍內,節點周期性地廣播HELLO消息,其中包含自己知道的所有1跳鄰居節點的地址和狀態、本節點網絡層數據緩沖區等待發送的分組數;2)、在全網范圍內,節點周期性地廣播TC消息,其中包含本節點網絡層數據緩沖區等待發送的分組數,以及把自己作為MPR的節點的地址;3)、節點收到HELLO消息和TC消息后,根據這兩種消息所攜帶的節點連接信息來構建自己的網絡拓撲表。3.根據權利要求1所述的基于負載均衡的自組網并發多徑路由方法,其特征是,所述路由生成具體步驟為1)、網絡中各節點通過路由信息交換步驟獲得網絡拓撲信息和負載信息后,在節點內部運用多重Dijkstra算法計算從源節點到目的節點的可能存在的多條路徑;2)、計算各條路徑的路徑負載,以便于進行業務流調度時作為選擇路徑的參考。4.根據權利要求1所述的基于負載均衡的自組網并發多徑路由方法,其特征是,所述數據轉發具體步驟為1)、在路由生成階段得到了各條路徑的路徑負載之后,節點對來自上層的分組按照到達時間的先后依次處理;2)、如果存在通往目的節點的多條路徑,則節點比較各條路徑的路徑負載,選一條負載較輕的,將數據分組發送出去;3)、如果數據分組在第一條路徑,即最小跳數路徑上傳送,則采用傳統的表驅動路由協議所使用的轉發方法,由中間節點自主確定下一跳節點,逐跳轉發;4)、如果數據分組在其他路徑上轉發,則采用源路由方式,由源節點確定所有的中間節點,并將整條路徑的信息裝入數據分組頭部,中間節點根據該頭部信息來確定是否轉發以及如何轉發;5)、源節點發送分組時按照數據分組到達的先后進行,目的節點收到數據分組后,由其上層進行分組順序的調整工作。5.根據權利要求3所述的基于負載均衡的自組網并發多徑路由方法,其特征是,所述多重Dijkstra算法的具體步驟為1)、節點獲得網絡拓撲信息之后,首先運用經典的Dijkstra算法,計算出一條通往某個目的節點的、具有最小跳數的路徑;2)、如果使用經典的Dijkstra算法無法計算出到目的節點的路徑,說明當前該目的節點不可達,則停止計算;3)、計算出到某個目的節點的最小跳數路徑之后,在網絡拓撲圖的節點集合中將該路徑中包含的所有中間節點剔除,生成一個新的網絡拓撲圖,如果存在通往目的節點的更多路徑,這些路徑必存在于此新的網絡拓撲圖中;4)、在新的網絡拓撲圖中使用經典的Dijkstra算法,尋找一條通往目的節點的最小跳數路徑;如果能夠得到,則說明多路徑存在;否則說明不存在通往目的節點的多路徑,停止計算。5)、可以根據需要重復步驟1)~步驟4),尋找更多通往目的節點的路徑。全文摘要基于負載均衡的自組網并發多徑路由方法,屬于無線自組網
技術領域:
,它由路由信息交換、路由生成和數據轉發三個步驟構成。路由信息交換為全網范圍內的路由信息交換;路由生成由網絡中各節點在節點內部運用多重Dijkstra算法計算多條路徑,同時計算各條路徑的路徑負載;數據轉發包括路徑選擇、業務流調度、分組在并行路徑上的同時傳輸等。本發明能夠實時收集并掌握準確的路徑負載信息;不需要其它的額外開銷,能夠節省網絡帶寬資源;有利于實現負載均衡;有利于減輕路由耦合帶來的負面影響,降低路徑之間的相互干擾;有利于提高網絡吞吐量,減少分組傳送時延。本發明可以應用于無線自組網絡、傳感器網絡、無線局域網、無線接入等采用負載均衡路由技術的網絡。文檔編號H04L12/56GK1738291SQ20051002153公開日2006年2月22日申請日期2005年8月26日優先權日2005年8月26日發明者任智,郭偉申請人:電子科技大學