談 寅, 宋英雄, 周書佳, 張 劍, 郭曉川
(上海大學通信與信息工程學院,上海200072)
隨著通信技術、嵌入式計算技術和傳感器技術的快速發展和日益成熟,眾多有通信、計算能力的傳感器通過無線方式連接,相互協作,與物理世界進行交互,共同完成特定的應用任務.這些微型傳感器構成的無線傳感器網絡(wireless sensor networks,WSNs)綜合了傳感器技術、嵌入式計算技術、分布信息處理技術和通信技術,使其能夠相互協作,實時監測、感知和采集網絡分布區域內的各種對象信息,并通過計算和處理,傳送給用戶系統.然而,隨著監測環境的日趨復雜多變,由這些傳統傳感器網絡所獲取的簡單數據已經不能滿足人們對環境監測的全面需求.因此,一種在傳統WSNs基礎上引入了音頻、視頻、圖像等多媒體信息感知功能的新型傳感器網絡——無線多媒體傳感器網絡(wireless multimedia sensor networks,WMSNs)應運而生.
視頻、圖像等多媒體信息的引入對網絡傳輸的實時性、吞吐量以及服務質量(quality of service,QoS)提出了更高的要求.路由協議作為建立和維護通信兩點間的傳輸路徑,直接對網絡性能有著重要的影響.一種優良的路由協議,可以產生降低網絡開銷、縮短時延的效果,保證數據傳輸的實時性和正確性,因此,對路由技術的研究有著重要的意義.
目前,對WMSNs路由協議的研究主要是將應用于ad hoc網絡的路由協議進行修改,使其符合WMSNs的要求.在中小型ad hoc網絡中,動態源路(dynamic source routing,DSR)路由協議最為常用.DSR采用源路由機制,由于轉發數據的路由已經封裝在數據包頭中,因此,在數據轉發過程中,中間節點不需要尋找下一跳路徑的信息.此外,DSR路由協議不使用周期性的路由通告,節約了帶寬,并減少了功率的消耗.但是DSR協議只支持盡力而為業務,不具有QoS保證.為了滿足WMSNs對帶寬的需求,本研究基于DSR協議設計了一個支持QoS的路由協議——Q-DSR.
DSR使用了源路由機制,每一個要發送的分組的分組頭中都包含有到達目的節點的整條路由信息,中間節點只需按照分組頭中的路由信息轉發分組即可,不需要維持當前的路由信息.DSR路由協議主要由路由發現和路由維護兩部分組成,其中路由發現過程主要用于幫助源節點獲得到達目的節點的路徑,路由維護主要用來檢測當前路由的可用狀況[1-2].
當源節點要發送分組時,首先在自己的路由緩存中查找是否存在到達目的節點的路由.如果發現存在多條路徑,則選擇其中跳數最少的那條路徑;如果沒有發現相應路由,就啟動路由發現機制,向鄰居節點廣播路由請求(route request,RREQ)分組,每個RREQ都有唯一標識.當中間節點收到RREQ之后,首先檢查是否已收到過此RREQ.如果是,則丟棄該RREQ;反之,則查看該RREQ中是否已經攜帶了該節點的信息;如果有,則丟棄該RREQ;如果沒有,則查看自己的路由緩存中是否存在到達目的節點的路由;如果有,則向源節點發送路由回復(route reply,RREP)分組,RREP中攜帶著到達目的節點的全部路徑;如果沒有,則將自己節點的信息加入到RREQ中,并將該 RREQ轉發出去,直到目的節點收到RREQ分組為止[3-4].
當DSR節點在發送或者轉發數據分組時,都先把分組存儲到重傳緩沖區中,然后按照分組頭所攜帶的源路由信息將分組發送到對應的下一跳節點.當下一跳節點收到該分組后,會向其上游節點發送一個ACK(即acknowledge,確認)回復分組.上一跳節點收到該ACK分組后,會將對應的數據分組從重傳緩沖區中刪除.如果在指定時間內,上游節點沒有收到下游節點發回的ACK回復分組,則重傳緩沖區中的對應數據分組會被重傳.若超過一定次數的重傳后,還是沒有收到ACK回復分組,則認為該節點與下一跳節點之間的鏈路斷裂,上游節點會刪除其路由緩存中所包含的該失效鏈路的路由信息,并向數據分組的源節點發送路由錯誤(route error,RRER)分組.所有轉發該RRER分組的中間節點都會檢查自己的路由緩存中是否包含有該失效鏈路的路由,如果有,則刪除該路由信息.當源節點收到該RRER并刪除所有包含該失效鏈路的路由后,它會從其路由緩存中選擇別的路徑繼續發送數據分組,如果在路由緩存中已經沒有到達目的節點的路徑,則源節點會重新啟動路由發現機制[5].
WMSNs是一種實時性要求很高的網絡,由于加入了對視頻、音頻的采集傳輸功能,因此對帶寬有一定的要求.但是現有的DSR協議并沒有考慮到這一需求,極有可能選擇一條帶寬不能滿足要求的路由傳輸路徑,造成傳輸的失敗.為此,本研究提出了在DSR協議選路的基礎上增加帶寬參數的QoS路由方法,通過這種方式找到的路徑就能夠滿足節點的QoS要求.如果同時存在多條路徑滿足QoS要求,則根據路徑的跳數,選擇跳數最少的一條作為最優路徑,這樣也能夠在一定程度上達到縮短時延的目的.此外,本研究在估算節點可用帶寬時,通過跨層設計,利用了介質訪問控制(media access control,MAC)層提供的虛擬載波監聽機制,獲得了信道的忙閑狀態[6-8].
在共享信道中,只有當鄰居節點沒有傳輸和接收數據時,本節點才能成功地利用信道.在Q-DSR協議中,要使節點能夠保證數據流的帶寬要求,協議必須要能夠有效地測量無線信道中節點的可用帶寬[9].在可用帶寬的測量中,本研究利用節點檢測共享信道的忙閑狀態來估計可用帶寬,信道的空閑度與節點的可用帶寬成正比.在這種方式下,節點之間不需要額外發送Hello消息.節點可用帶寬的計算公式為

式中,Bavailable(i)為節點i的可用帶寬,B(i)為節點i的最大傳輸帶寬,Tinterval為節點觀察信道的時間間隔,Tidle為在Tinterval時間內信道空閑的時間.
從式(1)可以看出,計算Bavailable(i)的困難在于如何獲得Tidle值.IEEE 802.11協議具有載波監聽機制,能夠判斷信道是否空閑,可以利用這一功能來判斷信道忙閑狀態的變化.載波監聽分為物理和虛擬兩種方式,物理層提供了物理載波監聽機制,而MAC層則提供了虛擬載波監聽機制(該機制利用了網絡分配矢量).無論何種方式判定信道忙,則該信道就被認為處于忙的狀態.在單位時間內,從信道處于忙的狀態開始計時,一直到信道空閑為止,這段時間就是Tbusy.據此,Tidle可表示為

將式(2)代入式(1),就可求出節點的可用帶寬Bavailable(i).
Q-DSR協議主要針對DSR協議的路由發現部分進行了改進.當源節點S要向目的節點D發送數據流J時,J的帶寬需求為bandwidth_requirement.節點S首先在自己的路由緩存中查找是否存在到達目的節點的路徑,并且該路徑符合J的帶寬需求.如果有多條路徑同時滿足要求,則選擇跳數最少的一條;如果沒有找到符合要求的路徑,則節點S發起路由請求 RREQ分組,在 RREQ中加入帶寬需求(bandwidth_requirement)和可用帶寬(available_ bandwidth)兩個字段,并初始化這兩個字段值:將J的帶寬需求值填入bandwidth_requirement字段;將源節點的最大傳輸帶寬值填入available_bandwidth字段[10].
中間節點根據以下順序處理RREQ包:① 該RREQ是否已經被接收過,如果是,則丟棄該分組,如果不是,則跳到②;②判斷該RREQ的TTL(time to live)值是否大于0,若否,則丟棄,反之,跳到③;③計算本節點的可用帶寬值,如果大于RREQ中bandwidth_ requirement的值,則跳到④,反之,則丟棄該分組;④判斷本節點的可用帶寬值是否小于 RREQ中available_bandwidth的值,若是,則更新 available_ bandwidth字段值,若否,則保持不變;⑤將本節點的ID信息加入到RREQ中,并轉發該RREQ包.
從上述處理流程可以看出,中間節點在處理RREQ時,并沒有從自己的路由緩存中查找是否存在到達目的節點的路由信息,這是因為即使找到了相關路徑,也不能夠保證該路徑滿足數據流J的帶寬需求.因此,只有目的節點才能發起RREP包.
當目的節點D收到RREQ包時,將RREQ包中所攜帶的路徑信息以及帶寬信息移植到RREP包中,并沿著反向路徑發送該RREP包.
Q-DSR設計的目的是改進DSR協議,使之支持QoS,并能夠適應多媒體實時業務.在相同的網絡環境下,分別運行DSR和Q-DSR協議,通過不同的性能指標來衡量Q-DSR的性能.仿真所使用的實驗環境為NS2模擬器,模擬參數如表1所示,其中CBR (constant bit rate)為固定比特率.

表1 仿真環境參數設置Table 1 Simulation parameters
3.2.1 平均分組投遞率
平均分組投遞率(packet delivery fraction,PDF)是指目的節點接收到的數據包個數與源節點發送的數據包個數的比值.該指標表明了路由協議的有效性和適應網絡變化的能力,反映了協議的完整性和正確性.
首先,考察網絡拓撲變化對PDF的影響.令節點個數與數據流數目不變,設定節點個數為30,數據流數目為10條.網絡拓撲變化由節點移動情況衡量,移動越頻繁,說明拓撲變化劇烈.設定網絡中節點的平均停留時間分別為0,40,80,150,200 s.PDF隨停留時間的變化曲線如圖1所示.可以看出,Q-DSR協議在節點移動較頻繁時,投遞率明顯高于DSR協議;而當節點停留時間較長時,由于節點趨于靜止,DSR協議的性能已經很好,所以改進空間不大.

圖1 網絡拓撲變化對投遞率的影響Fig.1 Different topology vs.PDF
其次,考察網絡負載對投遞率的影響.令節點個數與節點的停留時間不變,設定節點個數為30,停留時間為10 s.網絡負載由CBR的連接數量衡量,連接條數越多,則說明網絡負載越重.本研究使用CBRgen工具分別生成4,10,15,20條CBR數據流.PDF隨數據流的變化曲線如圖2所示.可以看出,當網絡負載較輕時,DSR的投遞率非常高,性能很好,Q-DSR與DSR表現相當;當負載越來越重時,網絡中能夠滿足帶寬要求的路徑越來越少,而DSR協議的選路是以跳數為原則,并沒有考慮到帶寬因素,因此,大部分所選路徑都為失效路徑,導致投遞率低于Q-DSR協議;而Q-DSR協議采用的是以帶寬為前提的選路機制,因此,能夠獲得滿足要求的路徑.
3.2.2 歸一化的路由開銷
歸一化的路由開銷是指所有的控制報文與接收到的所有數據報文的比值.路由開銷是比較不同協議性能差別的重要指標,可用于衡量協議的效率、可擴展性以及在低帶寬或擁塞情況下的性能和能耗效率.

圖2 網絡負載對投遞率的影響Fig.2 Different network load vs.PDF
首先,考察網絡拓撲對歸一化路由開銷的影響.網絡拓撲變化頻繁,需要更多的控制分組來尋路.本實驗選取30個無線節點,設定20條數據流,網絡拓撲變化由節點移動情況衡量.設定網絡中的節點平均停留時間分別為0,40,80,150,200 s.路由開銷隨停留時間的變化曲線如圖3所示.其次,考察網絡負載對路由開銷的影響.設定節點個數為30,停留時間為0 s,CBR數據流數目分別為4,10,15,20條,實驗結果如圖4所示.

圖3 網絡拓撲變化對路由開銷的影響Fig.3 Different topology vs.routing load
從圖3和圖4可以看出,拓撲變化越頻繁,網絡負載越大,兩種路由協議的開銷也越大.從兩種協議的變化曲線可以看出,Q-DSR協議的變化比較平緩,因此具有較好的網絡擴展性.
3.2.3 平均分組時延

圖4 網絡負載對路由開銷的影響Fig.4 Different network load vs.routing load
平均分組時延是指數據分組遞交的平均端到端時延,包括路由發現階段由于緩存而造成的時延、在接口隊列中排隊等待的時延、電磁波傳播的時間等在內的所有時延.
首先,考察網絡拓撲對時延的影響.在實驗選取了30個無線節點,設定20條數據流,網絡拓撲變化由節點移動情況衡量.設定網絡中的節點平均停留時間分別為0,40,80,150,200 s.分組時延隨停留時間的變化曲線如圖5所示.其次,考察網絡負載對時延的影響.設定節點個數為30,停留時間為0 s,CBR數據流數目分別為4,10,15,20條,實驗結果如圖6所示.

圖5 網絡拓撲變化對時延的影響Fig.5 Different topology vs.delay
從圖5可以看出,當拓撲變化頻繁時,Q-DSR的時延要小于DSR,這是因為DSR所選的跳數路徑不一定能夠滿足業務的要求,從而導致傳輸失敗,進而需要重新選擇新的路徑,最終導致時延的增加.圖6中,不同網絡負載下的Q-DSR的時延均小于DSR,這主要是因為DSR在路由發現的過程中沒有考慮網絡的局部信息,所選路徑可能會經過一些業務量較重的節點,從而帶來較大的排隊時延和多次重傳,產生較大時延.

圖6 網絡負載對時延的影響Fig.6 Different network load vs.delay
針對DSR協議不支持QoS的情況,本研究設計了一種在DSR協議基礎上添加QoS因素的Q-DSR路由協議.改進之處主要體現在3個方面:① 改進了路由發現過程,在路由請求分組中添加了QoS參數;②路由選擇不是以最少跳數為標準,而是首先考慮此路徑是否符合帶寬要求,在帶寬符合要求的前提下,進而選擇跳數,這樣既能夠滿足QoS的要求,又能夠達到縮短時延的目的;③在估算節點的可用帶寬時,通過跨層設計,利用MAC層的虛擬載波監聽機制獲得了信道的忙閑狀態,進而估算出節點的可用帶寬值.
通過對Q-DSR協議和DSR協議的仿真比較可以得出,Q-DSR在平均分組時延和分組投遞率方面都優于DSR協議,因而有效地提高了網絡的利用率,能夠更好地滿足多媒體業務對QoS的需求,路由開銷的變化也比較穩定,具有很好的可擴展性.
[1] 余萍,陳斯,馬樂.一種基于QoS的無線Mesh網絡DSR路由優化算法[J].電子設計工程,2009,17(3):63-65.
[2] 顧曉燕.無線Mesh網絡中DSR路由協議改進方法的研究[J].無線通信技術,2009(1):41-45.
[3] 林群燕.Ad hoc網絡中支持QoS的DSR路由協議研究及NSZ模擬[D].上海:華東師范大學,2007:12.
[4] 季洋洋.無線網絡005路由協議研究與改進[D].南京:南京理工大學,2005:16-18.
[5] 吳曉金.無線ad hoc網絡Q-DSR協議的一些改進[D].天津:天津大學,2007:7.
[6] WALIAM,CHALLAR K.Performance analysis of crosslayer Mac and routing protocols in MANETs[C]∥ The 2nd International Conference on Computer and Network Technology.2010:53.
[7] CHENL,HEINZELMANW.QoS-aware routing based on bandwidth estimation for mobile ad hoc networks[J].Selected Areas in Communications,2005,23(3):561.
[8] DUK M,CHANGY L,LIB.DSR-based cross-layer QoS design in ad hoc networks[C]∥ The 2010 International Conference on Communications and Intelligence Information Security.2010:224-227.
[9] 寇蘭,余敬東,鄭相全.Ad hoc網絡中DSR協議的QoS改進算法[J].電訊技術,2005(3):91-95.
[10] SENJ,UKILA.An adaptable and QoS-aware routing protocol for wireless sensor networks[C]∥ Wireless Communication, Vehicular Technology, Information Theory and Aerospace&Electronic Systems Technology.2009:767.