端嘉盈
(中國鐵道科學研究院集團有限公司電子計算技術研究所,北京 100081)
路由選擇算法是網絡層設計的一個主要任務,負責將數據從源節點通過網絡轉發到目的節點,它的主要功能是尋找源節點和目的節點間的優化路徑并將數據沿著優化路徑正確轉發[1-2]。
無線傳感器網絡與傳統的無線網絡協議不同使其受到能量消耗的制約,并且只能獲取到局部拓撲信息,因此,無線傳感器的路由協議需考慮節點能量消耗以及網絡能耗均衡的問題。無線傳感器網絡為了節省通信能量,通常采用多跳的通信模式,因此節點如何在只能獲取到局部拓撲信息和資源有限的情況下實現簡單高效的路由機制,是無線傳感器網絡研究的一個基本問題[3-5]。
隨著無線傳感器網絡的廣泛使用,以線性拓撲網絡為基礎的無線傳感器網絡越來越多的使用在河流、道路、管道、高壓電線等線性對象的監測中。無線傳感器網絡節點的能量有限,因此針對線性拓撲的無線傳感器網絡能量消耗的研究很有意義,傳統的路由協議可以在一定程度上解決能耗均衡的問題,但是,傳感器具有很強的應用相關性,不同應用中的路由協議差別很大,沒有通用的路由協議,需要針對每一個具體應用的需求,設計與之適應的特定路由機制[6-8]。王偉研究了長距離帶狀拓撲結構的無線傳感器網絡,設計了一種長距離帶狀網絡環境下的分簇路由協議[9]。Abraham O提出了一種基于基站控制的簇頭輪換的QoS路由協議(QBCDCP)[10]。PEAS算法是一種通過維持必要的工作節點,關閉冗余節點的方法維持網絡具有長生命周期的節能的WSN路由算法[11,12]。潘必平提出了采用粒子群算法優化的分簇路由算法,用于解決線性無線傳感器網絡中路由路徑較為單一,熱區明顯等問題[13]。王楠針對監測點位置事先確定的線性路由問題,提出一種等距離分組多跳路由協議[14]。
鐵路沿線監測區域呈狹長帶狀特點,為了對其環境情況進行實時監測,需將傳感器線性部署在鐵路沿線,因此,鐵路沿線無線傳感器網絡是典型的線性無線傳感器網絡,若套用現有的路由協議存在一個普遍的問題就是缺乏對監測區域環境條件的適應性。針對鐵路沿線的線性無線傳感器網絡的具體應用場景,設計出一種適應于鐵路沿線線性拓撲無線傳感器網絡的基于信息分級的能耗均衡路由協議。
隨著無線傳感器網絡技術的發展成熟,為鐵路沿線的基礎設施、設備和自然環境全天候的實時監測提供了技術保障。鐵路沿線需要監測的對象種類繁多,傳感器的安裝位置由監測對象的特點決定,大體成線性分布在鐵路沿線。為了將這些傳感器采集的信息匯總到路局中心,根據實際情況可知,在鐵路沿線每隔固定距離設置有GSM-R機房,機房內有鐵路有線專網,只需采用無線傳感器網絡將傳感器采集的信息匯聚到機房便可發送至路局中心。由于傳感器節點布置分散,有的傳感器距離機房較遠,若所有傳感器都與機房之間各自布置中繼節點直接通信,會造成節點布置繁多、成本高和通信信道互相干擾的問題。因此,本文設計的無線傳感器網絡由傳感器節點、軌邊匯聚節點、基站匯聚節點以及中繼節點組成,如圖1所示。各類傳感器節點將采集的信息通過無線方式發送至軌邊匯聚節點,再由軌邊匯聚節點通過中繼節點多跳傳輸至機房匯聚節點,最后由機房匯聚節點通過鐵路專網將這些信息發送至路局中心。路局中心下達的查詢命令通過同樣的方式反向發送給傳感器節點[15]。

圖1 鐵路沿線WSN節點布置示意
由圖1可知,軌邊匯聚節點將鐵路沿線分為若干個分區,為了避免“能量空洞”問題,延長網絡生命周期,同一分區內的中繼節點均勻布置,不同分區間的中繼節點非均勻布置,距離機房匯聚節點越近的分區內的中繼節點布置越密集[16]。
建立的鐵路沿線無線傳感器網絡滿足以下條件或假設:
①網絡中所有的節點被分配有唯一的ID,所有節點都參加和轉發給定的數據;
②中繼節點的初始能量是固定的,處理能力、存儲空間和節點能量是有限的;
③節點布置之后,節點的地理位置固定;
④節點可以測量需要的參數,比如通信可靠性和當前剩余能量;
⑤通過數據融合后數據包的大小相同;
⑥節點的發射功率只能滿足相鄰節點之間以及相隔一個的節點之間通信,再遠的節點之間無法直接通信;
根據鐵路沿線無線傳感器網絡原型可知,每個軌邊匯聚節點需要匯聚周圍不同的感知節點的信息,這些感知節點監測的對象不同,監測對象所處的狀態不同,包含不同信息的數據包的重要程度會有較大的差異,在進行數據包傳輸的過程中,要使重要的信息能夠快速地、高效地發送至路局中心。因此,有必要針對該問題設計線性無線傳感器網絡路由協議,通過中繼節點將軌邊匯聚節點匯聚的數據包按照信息的重要程度依次傳輸至機房匯聚節點處,同時,由于中繼節點的能量有限,該路由協議必須均衡使用有限的能量,使網絡的生命周期最長。該線性網絡可以簡化如圖2所示。

圖2 線性無線傳感器網絡示意
圖2中,節點A表示軌邊匯聚節點,節點B表示機房匯聚節點,節點A與B之間布置了n個中繼節點,由于傳感器節點與軌邊匯聚節點之間的數據傳輸不是本文的研究重點,因此傳感器節點在圖中不體現。
受限于節點的發射功率,節點在發送數據包時,只能滿足相鄰節點之間以及相隔一個的節點之間通信,再遠的節點之間無法直接通信。因此,數據包在線性網絡的傳輸中,僅存在兩種轉發方式,即數據包由第Li個節點轉發到第Li+1個節點的過程,稱之為單跳轉發方式;數據包由第Li個節點轉發到第Li+2個節點的過程,稱之為雙跳轉發方式。
傳感器節點采集的數據包具有不同的重要程度,當這些數據包到達軌邊匯聚節點時,對數據包的優先級進行設定。為了降低優先級高的數據包的傳輸時延,提高優先級高的數據包傳輸的可靠性,文中通過減少優先級高的數據包的轉發次數和減少優先級高的數據包在軌邊匯聚節點的排隊時延兩種方式實現,分別建立數據包轉發模型和數據包排隊模型。
數據包的轉發模型由兩部分組成,一部分是數據包的優先級劃分,以及根據該數據包的優先級計算其在傳輸過程中使用的兩種轉發方式的次數;另一部分是以能耗均衡為前提,以網絡壽命最長為目標,根據中繼節點的初始能量,計算每個中繼節點可以使用的兩種轉發方式的初始次數。
(1)數據包的優先級及轉發方式
優先級最高的數據包應盡可能多地使用雙跳的方式轉發數據包,雖然消耗了較多的能量,但是可以使數據包更快更可靠地發送至機房匯聚節點;優先級低的數據包應采用單跳的方式轉發數據包,以減少網絡的能耗。
線性網絡中共有n個中繼節點,數據包的優先級共分為K+1個優先級,從0級到K級,其中K級為最高優先級,0級為最低優先級。
(1)
在對最高優先級K級的數據包進行傳輸時,采用最多的雙跳方式轉發該數據包,則最高優先級K的數據包的雙跳方式轉發次數為
(2)
最高優先級K的數據包的總轉發次數為
NK=n+1-MK
(3)
優先級k的數據包的雙跳方式轉發次數為
Mk=MK-k+1
(4)
優先級k的數據包的總轉發次數為
Nk=n+1-Mk
(5)
優先級0的數據包的雙跳方式轉發次數為
M0=0
(6)
優先級0的數據包的總轉發次數為
N0=n+1
(7)
因此,優先級的級數和該優先級的數據包所需要的雙跳的跳數在數值上一致。
(2)中繼節點的兩種轉發方式的初始次數
線性無線傳感器網絡的數據傳輸消耗的能量滿足典型的無線傳感器網絡能量耗費模型[17]。
(8)
ERx=l×Eelec
(9)
式(8)表示發射l比特數據損耗能量ETx的計算公式,包括兩部分:發射電路損耗和功率放大損耗。Eelec為發射電路的損耗能量,功率放大損耗則根據發送者和接收者之間的距離不同采用不同的模型:當d 設中繼節點之間的距離為d,第Li個節點發送一個數據包到第Li+1個節點消耗的能量為s,第Li個節點發送一個數據包到第Li+2個節點消耗的能量為S,第Li個節點接收一個數據包消耗的能量為r,中繼節點初始能量為E,網絡全生命周期內傳輸的數據包總數量為Q。pi為第Li個節點可以使用的單跳轉發方式的次數;qi為第Li個節點可以使用的雙跳轉發方式的次數。因此,節點應該滿足能量約束條件,如式(10)所示。 (10) 信息從軌邊匯聚節點傳輸至機房匯聚節點的過程中,每兩個相鄰節點之間流過的數據包的總數,都等于軌邊匯聚節點總共發送的數據包數,也等于機房匯聚節點總共接收的數據包數,將該原則定義為流量守恒原則。根據該原則,可知每個節點轉發的數據包數應滿足流量守恒約束條件如式(11)所示。 (11) (12) 為了使網絡的使用壽命最長,采用網絡在全生命周期內總共發送的數據包數量為網絡壽命的衡量指標,當網絡壽命最長時,網絡傳輸的數據包總數量最多,則模型的目標函數為 (13) 當Q為最大值時,求得 (14) 根據該模型可知,當第Li個節點的兩種轉發方式的次數滿足式(14)時,網絡壽命最長。 數據包從軌邊匯聚節點傳輸至機房匯聚節點的總傳輸時延,包括數據包在軌邊匯聚節點處的排隊時延、處理時延及其在其他節點的轉發時延。 軌邊匯聚節點可以接收來自多個數據源的數據,都通過中繼網絡傳輸至機房匯聚節點。由于很多數據可能同時到達軌邊匯聚節點,因此在軌邊匯聚節點設置一個緩沖隊列,設為NQ0,NQ1,NQ3,…NQK,其中NQK為優先級為k的數據包的隊列,隊列總長度為 (15) 為了減小優先級高的數據包的排隊時延,采用非強占優先權M/M/1排隊系統:假定系統中有兩類顧客,第一類顧客較第二類顧客具有非強占優先權是指,隊列中的第一類顧客優先插隊排在第二類顧客隊伍前面先接受服務,若第一類顧客到達時第二類顧客正在接受服務,第一類顧客只好等待,直到第二類顧客被服務完畢,才可以接受服務員(臺)服務[18]。 采用該策略,軌邊匯聚節點對所有數據包根據優先級排序,將優先級高的數據包排在隊頭,優先級低的數據包排在隊尾,優先級低的數據包只能在優先級高的數據包傳輸完成后進行數據傳輸,優先級低的數據包在傳輸的過程中不會因為優先級高的數據包的到來而停止傳輸。 軌邊匯聚節點非強占優先權M/M/1排隊系統假設如下[19]: ①軌邊匯聚節點接收來自多個數據源的數據包,傳感器網絡采用CSMA/CA協議,不會發生兩個數據包同時到達軌邊匯聚節點的情況; ②數據包分為K+1個等級,第K級享有最高優先權,第K-1級享有次優先權,…,第0級享有最低優先權: ④軌邊匯聚節點為每一級別的數據包服務的時間均服從參數為μ負指數分布,平均服務時間為1/μ,平均服務率為μ; ⑤Tk為第k級數據包所需的服務時間,1≤k≤K; ⑥T為系統的服務時間。 那么 (16) 由于第0級至第K級數據包均是相互獨立的Poisson流,因此,在任何時刻到達軌邊匯聚節點的數據包屬于第k級1≤k≤K的概率為λk/λ。系統的平均服務時間為 (17) (18) 當有優先權級別高的數據包到達軌邊匯聚節點時,發現軌邊匯聚節點正在處理其他數據包,則該數據包不能強占軌邊匯聚節點進行服務,而只能排在比其優先級別低的數據包前排隊等待[20-21]。 第K級數據包的平均排隊等待時間為 (19) 第f級數據包的平均排隊等待時間為 (20) 因此,第K級數據包的總傳輸時延為 (21) τ為其他節點的轉發時延。 第f級數據包的總傳輸時延為 (22) 本文設計的線性無線傳感器網絡路由協議分為路由建立、數據包優先級排序和數據傳輸3個步驟。 在初始路由建立階段,由軌邊匯聚節點根據數據包轉發模型求解所有節點的單跳轉發方式的初始次數(pi)和雙跳轉發方式的初始次數(qi),并通過廣播的方式分發給所有節點。每個節點維護的路由表信息僅包括該節點的兩種轉發方式的可用次數。 當數據包傳輸至軌邊匯聚節點時,軌邊匯聚節點對數據包根據優先級進行排序,根據數據包轉發模型計算數據包在傳輸的過程中需要進行的雙跳方式的轉發次數Mk,并記錄在數據包中。再根據數據包排隊模型在軌邊匯聚節點采用非強制優先權排隊系統依次發送數據包。 在數據包傳輸的過程中,第Li個節點接收到數據包后,若數據包需要進行的雙跳方式的轉發次數Mk>0,且第Li個節點可以使用的雙跳方式的轉發次數qi≥1,則使用雙跳方式轉發數據包,同時數據包需要進行的雙跳方式的轉發次數Mk-1,將該節點的可以使用的雙跳方式的轉發次數qi值也減小1。若數據包需要進行的雙跳方式的轉發次數Mk>0,但節點可以使用的雙跳方式的轉發次數qi值為0,則使用單跳方式轉發數據包,該數據包內需要進行的雙跳方式的轉發次數Mk不變。若數據包需要進行的雙跳方式的轉發次數Mk=0,則使用單跳的方式轉發數據包。數據包傳輸過程流程如圖3所示。這種由節點自主選擇數據包的轉發方式的過程稱之為“智能轉發”。 圖3 數據包傳輸過程流程 選用網絡仿真工具NS2[22]對本文設計的路由協議進行仿真實驗,并對實驗結果進行分析評估。 (23) 仿真實驗參數設置如表1所示。 表1 仿真參數 對具有5個中繼節點的線性無線傳感器網絡進行仿真100次,可以得到網絡中優先級分別為0、1、2、3四種優先級數據包分別發送的數量,如圖4所示。 圖4 不同優先級數據包的發送數量 將文中提出的該路由協議稱為方式Ⅰ,與以下兩種數據傳輸方式進行對比。 方式Ⅱ:軌邊匯聚節點處的排隊方式不采用非強制優先權排隊系統,而采用“先到先服務”排隊系統。 方式Ⅲ:不考慮數據包劃分優先級,也不采用智能轉發的方式,所有的數據包均依次逐跳進行傳輸。 經過100次仿真實驗可知,這3種數據傳輸方式下的線性無線傳感器網絡傳輸的數據包總數量,如圖5所示。其中,方式Ⅰ和方式Ⅱ的傳輸數據包總數量大致相同,則這兩種方式的網絡壽命大致相同,方式Ⅲ傳輸的數據包總數量較少,則該方式下網絡壽命略小。 圖5 數據包傳輸數量對比 針對具有5個中繼節點的網絡進行100次仿真,可以得到方式Ⅰ和方式Ⅱ兩種傳輸方式下,網絡中優先級分別為0、1、2、3四種優先級的數據包的傳輸時延。通過仿真得到兩種傳輸方式的時延對比,如圖6所示。 圖6 傳輸包傳輸時延對比 由圖6可知,通過采用文中非強制優先權排隊系統的方法,雖然優先級較低的數據包的傳輸時延有所增加,但是優先級最高的數據包的傳輸時延得到了有效的降低,提高了優先級別較高的數據包傳輸的及時性。 采用該方式是使數據包的排隊時延分攤在不同優先級別的數據包上,使得WK 本文針對鐵路沿線無線傳感器網絡的特點,設計了一種適應于鐵路沿線線性拓撲無線傳感器網絡的路由協議。協議提出了根據傳感器采集的信息的重要程度對數據包進行優先級排序,對不同優先級的數據包采用不同的轉發方式,使得優先級高的信息可以得到快速、高效的轉發。建立了數據包轉發模型和數據包排隊模型,采用減少優先級高的數據包的轉發次數和減少優先級高的數據包在軌邊匯聚節點的排隊時延兩種方式,減少優先級高的數據包的總傳輸時延。以網絡全生命周期內傳輸的數據包總數量為網絡壽命的衡量指標,均衡使用節點能量,使網絡壽命最長。 仿真實驗表明:采用該路由協議可以均衡使用網絡能量,同時使得優先級高的數據包具有較小的傳輸時延。在以后的研究中,在此路由協議的基礎上,應考慮節點的故障問題,可采用增加備用節點的方式。
3.2 數據包排隊模型


4 路由協議
4.1 路由建立
4.2 數據包優先級排序
4.3 數據包傳輸

5 仿真與分析
5.1 仿真實驗環境


5.2 仿真對比實驗分析



6 結語