
本發明涉及通信網絡
技術領域:
,尤其是通信網絡中的一種路由協議。
背景技術:
:分布式adhoc網絡中,源節點和目的節點往往需要通過多跳的方式傳輸數據。源節點需要選擇一條或多條路徑向目的節點傳輸數據,這個過程稱作路由。一般地,將任意時刻無線環境中傳輸的數據量稱為網絡負載。無線網絡和通信具有廣播特性與波動特性。其中,廣播特性是指在收、發雙方進行數據傳輸的同時均會對其周邊一定范圍內的節點造成干擾,從而對網絡負載造成影響。波動特性是指隨著時間的推移,信道質量和網絡負載處于不斷變化中,因此網絡負載的實時變化狀況影響到傳輸鏈路的質量以及端到端路由的質量。綜上所述,對網絡負載的識別和感知有利于路由協議的優化與設計。技術實現要素:為了克服現有技術的不足,本發明提供一種基于分布式網絡負載感知的路由方法,通過節點間分布式協作來感知網絡負載數值,并選擇網絡負載低的路徑來轉發數據包,從而保障端到端傳輸的質量。本發明解決其技術問題所采用的技術方案包括以下步驟:步驟1,每一個網絡節點通過偵聽周邊節點發送數據包以及自身發送數據包歷史信息不斷更新自身的歸一化網絡負載,步驟如下:設當前時刻為t0,每個節點統計時間窗[t0-T,t0]內自身共發送的實際負載量P1,其中T為時間窗口大小;每個節點統計時間窗[t0-T,t0]內偵聽到的其他節點的實際負載量P2;每個節點計算統計時間窗[t0-T,t0]內的總負載P=(P1+P2)/T;每一個節點計算歸一化網絡負載其中f(·)表示從P到的單一映射,且要求步驟2,源節點S有數據需要向目的節點D發送,計算備選路徑的路徑歸一化網絡負載,步驟如下:源節點根據按需路由方式或者表驅動路由方式獲取多條備選路徑信息L1,L2,L3...;計算每條路徑的歸一化網絡負載感知結果,l路徑的歸一化負載感知結果或其中μli表示l路徑上第li段鏈路發送節點的歸一化負載感知結果,L是該路徑上包含的總的節點個數;步驟3,源節點S執行路徑選擇,步驟如下:如果是單路徑路由,選擇最大的歸一化負載感知結果的路徑做為路由選擇的結果,最大的歸一化負載感知結果的路徑就是負載最低的路徑;如果是多條路徑路由,按照比例關系實現業務量的分流,其中Lsrc,dest代表源節點到目的節點的所有路徑的集合,Nl1代表某條路徑的路由的業務量所占的源節點需要發送的總的業務量的比例因子,(hopl1*ηl1)代表某條路徑的歸一化負載感知結果與其包含的鏈路段個數的乘積。本發明的有益效果是:基于網絡負載感知的結果實現路由決策,有利于網絡路由的可靠性以及負載均衡。附圖說明圖1是中間節點收到包的處理流程圖;圖2是目的節點收到包的處理流程圖。具體實施方式下面結合附圖和實施例對本發明進一步說明,本發明包括但不僅限于下述實施例。本發明解決其技術問題所采用的技術方案包括以下步驟:步驟1:每一個網絡節點通過偵聽周邊節點發送數據包以及自身發送數據包歷史信息不斷更新自身的歸一化網絡負載。步驟1.1設當前時刻為t0,每個節點統計時間窗[t0-T,t0]內自身共發送的實際負載量P1,單位為bit。其中T為時間窗口大小,由支持本發明的無線自組織網協議和標準確定。步驟1.2設當前時刻為t0,每個節點統計時間窗[t0-T,t0]內偵聽到的其他節點的實際負載量P2,單位為bit。其中T為時間窗口大小,由支持本發明的無線自組織網協議和標準確定。步驟1.3設當前時刻為t0,每個節點計算統計時間窗[t0-T,t0]內的總負載,計算方法為P=(P1+P2)/T。其中T為時間窗口大小,由支持本發明的無線自組織網協議和標準確定。步驟1.4設當前時刻為t0,每一個節點計算歸一化網絡負載計算方法為其中f(·)表示從P到的單一映射,且要求越大表示負載越低,越小表示負載越高。一種可能的計算方法為(P/最大允許網絡負載)。最大允許網絡負載與丟包率有關,由支持本發明的無線自組織網協議和標準確定,本專利不特指。步驟2:源節點S有數據需要向目的節點D發送,計算備選路徑的路徑歸一化網絡負載。步驟2.1源節點根據按需路由方式或者表驅動路由方式獲取多條備選路徑信息,記為L1,L2,L3…。其中按需路由方式或者表驅動路由方式為無線自組織網路由領域內的經典方式,為本領域研究人員所熟知。步驟2.2根據步驟1中的網絡負載感知數值依據公式計算每條路徑的歸一化網絡負載感知結果。用下面的公式來說明。或其中μli表示某個l路徑上第li段鏈路發送節點的歸一化負載感知結果。μl某個l路徑的歸一化負載感知結果,其中L是該路徑上包含的總的節點個數。之后轉入步驟3;步驟3:源節點S執行路徑選擇。步驟3.1:如果是單路徑路由,選擇最大的歸一化負載感知結果的路徑做為路由選擇的結果,最大的歸一化負載感知結果的路徑就是負載最低的路徑,即max{某個i路徑的歸一化負載感知結果×跳數},i取完所有可能的路徑。步驟3.2:如果是多條路徑路由,可按照下述比例關系實現業務量的分流。具體地用下面的公式來說明。其中Lsrc,dest代表源節點到目的節點的所有路徑的集合,Nl1代表某條路徑的路由的業務量所占的源節點需要發送的總的業務量的比例因子。(hopl1*ηl1)代表某條路徑的歸一化負載感知結果與其包含的鏈路段個數的乘積。例1、基于按需路由的分布式網絡負載感知方法,步驟如下:步驟1:每一個網絡節點通過偵聽周邊節點發送數據包以及自身發送數據包歷史信息不斷更新自身的歸一化網絡負載值。步驟1.1設當前時刻為t0,每個節點統計時間窗[t0-T,t0]內自身共發送的實際負載量P1,單位為bit。其中T為時間窗口大小,由支持本發明的無線自組織網協議和標準確定。步驟1.2設當前時刻為t0,每個節點統計時間窗[t0-T,t0]內偵聽到的其他節點的實際負載量P2,單位為bit。其中T為時間窗口大小,由支持本發明的無線自組織網協議和標準確定。步驟1.3設當前時刻為t0,每個節點計算統計時間窗[t0-T,t0]內的總負載,計算方法為P=(P1+P2)/T。其中T為時間窗口大小,由支持本發明的無線自組織網協議和標準確定。步驟1.4設當前時刻為t0,每一個節點計算歸一化網絡負載計算方法為其中f(·)表示從P到的單一映射,且要求越大表示負載越低,越小表示負載越高。一種可能的計算方法為(P/最大允許網絡負載)。最大允許網絡負載與丟包率有關,由支持本發明的無線自組織網協議和標準確定,本專利不特指。步驟2:源節點發起路由查找過程。步驟2.1源節點以廣播形式發送路由查找包,查找包中包含源節點、目的節點、可允許的最大跳數等信息。步驟2.2中間節點收到路由查找報包后:如果已經達到可允許的最大跳數,則丟棄;否則,將自己填入中間節點列表,并將其廣播出去。圖1為中間節點收到包的處理流程。步驟2.3目的節點收到路由查找包后:采用單播形式按照中間節點列表反向發送路由查找應答包,應答包中包含源節點、目的節點、詳細路徑、目的節點最新的歸一化的負載感知結果。圖2為目的節點收到包的處理流程。步驟3:路由查找應答過程:若某節點收到路由查找應答包,首先判斷其媒體接入控制(MediaAccessControl,MAC包)頭的目的地址。若目的地址不是自身,則丟棄;反之將其歸一化網絡負載感知結果填入路由查找應答包中的相關域中。圖1為中間節點收到包的處理流程。步驟3.1中間節點接收到路由查找應答包,判斷其媒體接入控制(MediaAccessControl,MAC包)頭的目的地址,若不是,執行步驟3.2;否則,執行步驟3.3.步驟3.2丟棄該包。步驟3.3將其歸一化網絡負載感知結果填入路由查找應答包中的相關域中,并根據包中的詳細路徑將該包轉至下一跳。步驟4:源節點收到一個或多個路徑回來的路由查找應答包,從其中提取出來對應路徑每一個節點的歸一化網絡負載感知結果μ1,μ2,…μL,其中L是該路徑上包含的總的節點個數。步驟5:源節點計算出每一條路徑的歸一化網絡負載感知結果。用下面的公式來說明。或其中μli表示某個l路徑上第li段鏈路發送節點的歸一化負載感知結果。μl某個l路徑的歸一化負載感知結果,其中L是該路徑上包含的總的節點個數。步驟6:基于負載感知的路徑選擇過程。步驟6.1:如果是單路徑路由,選擇最大的歸一化負載感知結果的路徑做為路由選擇的結果,最大的歸一化負載感知結果的路徑就是負載最低的路徑,即max{某個i路徑的歸一化負載感知結果×跳數},i取完所有可能的路徑。步驟6.2:如果是多路徑路由,可按照下述比例關系實現業務量的分流。用下面的公式來說明。其中Lsrc,dest代表源節點到目的節點的所有路徑的集合,Nl1代表某條路徑的路由的業務量所占的源節點需要發送的總的業務量的比例因子。(hopl1*ηl1)代表某條路徑的歸一化負載感知結果與其包含的鏈路段個數的乘積。步驟7:根據選定路徑發送數據包。例2、基于表驅動的分布式網絡負載感知方法,步驟如下。步驟1:每一個網絡節點通過偵聽周邊節點發送數據包以及自身發送數據包歷史信息不斷更新自身的歸一化網絡負載。步驟1.1設當前時刻為t0,每個節點統計時間窗[t0-T,t0]內自身共發送的實際負載量P1,單位為bit。其中T為時間窗口大小,由支持本發明的無線自組織網協議和標準確定。步驟1.2設當前時刻為t0,每個節點統計時間窗[t0-T,t0]內偵聽到的其他節點的實際負載量P2,單位為bit。其中T為時間窗口大小,由支持本發明的無線自組織網協議和標準確定。步驟1.3設當前時刻為t0,每個節點計算統計時間窗[t0-T,t0]內的總負載,計算方法為P=(P1+P2)/T。其中T為時間窗口大小,由支持本發明的無線自組織網協議和標準確定。步驟1.4設當前時刻為t0,每一個節點計算歸一化網絡負載計算方法為其中f(·)表示從P到的單一映射,且要求越大表示負載越低,越小表示負載越高。一種可能的計算方法為(P/最大允許網絡負載)。最大允許網絡負載與丟包率有關,由支持本發明的無線自組織網協議和標準確定,本專利不特指。步驟2:每一個網絡節點以T為周期廣播網絡負載感知表,網絡負載感知表如下表1所示,T由支持本發明的協議標準設定。表1網絡負載感知表節點號歸一化負載感知值本節點號0.320.830.250.790.25100.12110.52230.49300.16步驟3:收到其他節點的網絡負載感知表之后,更新自身的網絡負載感知表。步驟3.1:若收到的其他節點的網絡負載感知表中出現了新的節點的感知結果,則將其新增到網絡負載感知表中;步驟3.2:若網絡負載感知表中的某個節點的感知結果與自身表中記錄值不一致,則以新收到的該網絡負載感知表為準;步驟3.3:若網絡負載感知表中的某個節點的感知結果在T2時間內都沒有變化則將其從網絡負載感知表中刪除,T2由支持本發明的協議標準設定;步驟5:某源節點需要向目的節點發送數據包,執行路徑選擇過程。步驟5.1根據adhoc自組織網絡經典表驅動路由算法選擇K(K≥1)條源節點到目的節點的路徑,其中經典路徑選擇算法為本領域熟知的經典算法。步驟5.2:如果是單路徑路由,選擇最大的歸一化負載感知結果的路徑做為路由選擇的結果,最大的歸一化負載感知結果的路徑就是負載最低的路徑,即max{某個i路徑的歸一化負載感知結果×跳數},i取完所有可能的路徑。步驟5.3:如果是多路徑路由,可按照下述比例關系實現業務量的分流。用下面的公式來說明。其中Lsrc,dest代表源節點到目的節點的所有路徑的集合,Nl1代表某條路徑的路由的業務量所占的源節點需要發送的總的業務量的比例因子。(hopl1*ηl1)代表某條路徑的歸一化負載感知結果與其包含的鏈路段個數的乘積。步驟6:根據選定路徑發送數據包。當前第1頁1 2 3