劉 磊,張運福,陳宏波,王富強,何 鵬
隨著微電子技術、半導體技術和無線電通信技術的不斷向前發展,接連出現了不同的新的短距離無線通信技術。根據無線網絡通信距離的不同,目前應用的無線通信網絡主要可以分為衛星通信網、無線廣域網、無線局域網和無線個人局域網。
無線網絡路由協議作為無線網絡的重要組成部分,其設計的合理性直接影響整個無線網絡的整體性能。因此,在設計無線網絡路由時,不僅需要考慮網絡節點傳輸之間的延遲,而且需要考慮無線鏈路的穩定性,以避免產生通信擁塞、均衡網絡流量而提高網絡節點的利用率。
隨著無線網絡在軍事、快速移動、應急通信等領域的廣泛應用,無線信道變化的不規則性以及節點的移動、加入、退出等,都會引起網絡拓撲結構的動態變化[1]。傳統三層數據的轉發已經不能滿足動態拓撲的無線網絡。
IEEE802.11s草案明確提出了二層轉發的概念[2],指出二層轉發相對于三層轉發有一些明顯優點。首先,由于數據包通過二層來轉發,所以協議棧對它的拆分和封裝次數減少,數據包在協議棧內停留的時間也相應減少,帶來了更短的轉發延時,從而滿足了一些對時延敏感業務(如話音業務)的QoS要求[3]。其次,與二層網橋類似,二層轉發功能對上層來說是透明的,可以避免由于下層協議變化而造成對上層協議的影響,從而增強了系統的穩定性[4]。
針對無線網絡二層交換路由的特點,為能夠正確轉發無線數據并提高無線資源利用率,需要考慮以下幾點:(a)無線傳播的路由表盡可能短;(b)每個無線節點需保存全網路由;(c)重復集檢測;(d)路由超時。
根據上述原則,本文研究并實現了一種適合于無線信道的二層交換路由。
節點本地路由表:本地路由表存儲的關鍵信息如表1所示。

表1 本地路由表

表2 無線傳輸路由表
本文設計的二層按需路由主要包括的路由信令有以下三種:主機請求(host_request)、主機應答(host_response)和重定向(redirect)信令,具體消息格式依次如表3、表4和表5所示。

表3 host_request消息格式

表4 host_response消息格式

表5 redirect消息格式
本文設計二層轉發路由表的維護主要靠按需路由流程維護,具體如下:
(1)當節點從以太網口上收到一個arp請求時,節點需要將該arp請求通過主機請求的方式在其他節點上泛洪,最終由主機應答該arp請求。
(2)當節點收到數據而本地無該數據的目的mac地址信息,則緩存數據,發送主機代理請求,待收到應答后,將緩存的數據發送到最終目的地。
以上兩種請求都需要在節點之間無線上廣播路由信令。為了避免無線上的廣播風暴,使用主機請求重復集,在一定超時時間內不處理源節點號相同和序號相同(或更小)的廣播信息。
(1)主機請求(host_request)
發送:接收到arp請求時,發起按需方式進行網絡內的主機查找。此時,添加一個路由頭,在host_request報文里添加發起節點號、請求類型、序號,arp原封不動地在無線上傳輸。
接收:通過host_request信令承載的arp幀有可能是免費arp,如主機請求、主機代理請求、mac代理請求。收到該信令后首先進行重復集檢測,然后再處理。
(2)主機應答(host_response)
當節點從以太網口上收到arp應答時,節點需要向arp請求的源節點回復該arp應答。此時,需要主機請求重復集中的記錄來獲取該arp過程是主機請求還是主機代理請求,以獲取該arp請求的源節點,然后向該源節點單播該類請求對應的應答消息。
當源節點收到主機代理應答時(說明找路成功),節點網絡中已經形成了到該目的地的路徑。當源節點收到主機代理請求的應答時(說明找路成功),節點網絡中已經形成了到該目的地的路徑,然后該節點的路由模塊立即通知數據轉發模塊,將之前緩存的數據發送出去。
發送:接收到arp回復時,發起按需方式進行網絡內的主機回復。此時,添加一個路由頭,在host_response報文里添加發起節點號、請求類型、序號,arp原封不動地在無線上傳輸。
接收:通過host_response信令承載的arp幀有可能是主機請求回復、主機代理請求回復、mac代理請求回復。不管是哪種類型的回復,都需要進行二層表學習。
(3)重定向(redirect)
當無線口收到數據,目的節點是自己,但自己不是以太網代理時(說明來源節點的二層表有錯誤),向來源節點發送一條重定向消息。來源節點收到該消息后修改二層表(該數據應該發送給以太網代理節點)。
發送:節點向數據路由頭中的源節點單播redirect信令。redirect信令包括目的mac地址、目的ip地址、目的節點號和序號。
接收:節點收到redirect信令后,查找本機二層表中所有目的mac地址匹配的記錄,只要不是本機自身的二層表記錄,即修改為出接口為無線口,而該記錄所在節點為redirect信令中的目的節點號。
無線網絡二層業務轉發主要指業務數據在節點各個端口之間的業務轉發。整個轉發是一個更新二層路由表、按照路由表進行業務轉發的流程。本文設計中,業務二層轉發機制如圖1所示。

圖1 業務二層轉發流程
在二層轉發過程中,如果發現查找二層路由表失敗,則將該數據緩存起來,然后發送主機請求報文,等待生成二層路由表后再進行轉發。
本文研究與設計的二層路由轉發協議,已經應用到多種架構的無線網絡設備中。經大量實驗數據對比,不同網絡規模下路由建立時間的對比情況如圖2所示。

圖2 路由建立時間
如圖2所示,本文設計的二層路由轉發協議在不同網絡規模下,整個網絡的路由收斂時間明顯低于三層路由。由此可見,二層路由轉發協議對于動態變化的無線拓撲更有優勢。
本文分析了在無線網絡環境中二層路由轉發協議的優勢,為了解決在無線信道中三層路由轉發無法滿足網絡拓撲結構的動態變化問題,研究了一種適合無線信道拓撲動態變化的二層路由轉發協議,并詳細介紹了二層路由轉發協議的設計。通過實驗對比分析可以看出,本文設計的二層路由轉發協議縮短了動態拓撲的路由建立時間,在軍事、快速移動、應急通信等領域能夠更加及時、有效地保障無線網絡的通信。
[1] 洪錫軍,車克南,張激.無線自組網路由協議研究[J].計算機工程,2005,31(08):105-107.HONG Xi-jun,CHE Ke-nan,ZHANG Ji.Research on Route Protocol of Ad hoc[J].Computer Engineeri ng,2015,31(08):105-107.
[2] IEEE 802.11 Working Group of the LAN/MAN Committee.IEEE P802.1ls/D2.0 Part 11:Wireless LAN Medium Access Control(MAC) and Physical Layer(PHY) Specifications.Amendment 10:Mesh Networking[R].2008.
[3] 方旭明,馬忠建.無線Mesh網絡的跨層設計理論與關鍵技術[J].西南交通大學學報,2005,40(06):711-719.FANG Xu-ming,MA Zhong-jian.Theory and Key Technologies of Cross-Layer Design in Wireless Mesh Networks[J].Journal of Southwest Jiaotong University,2005,40(06):711-719.
[4] lan F.Akyildiz,Xudong W,Weilin W.Wireless Mesh Networks:A Survey[J].Computer Networks,2005,47(04):445-487.