陳康先 ,陸以勤,羅旭光,楊 峰
(1.華南理工大學電子與信息學院,廣州510640;2.廣州杰賽科技股份有限公司,廣州510310)
無線Mesh 網(wǎng)絡(Wireless Mesh Network,WMN)是一種WLAN 的擴展形式[1-2],通過無線多跳方式構建無線網(wǎng)狀骨干網(wǎng),為用戶提供便捷的寬帶無線接入服務. 該協(xié)議物理層基于IEEE802.11 系列標準,結合MIMO 技術,具有較高的網(wǎng)絡帶寬、更廣的無線網(wǎng)絡覆蓋范圍、靈活的自組網(wǎng)、擴展方便等特點.用戶可以在移動無線網(wǎng)絡環(huán)境下通過不同的Mesh 接入點(MAP)便捷接入無線網(wǎng)絡,但由于用戶的移動性或網(wǎng)絡拓撲及其無線信號強度的動態(tài)變化導致接入MAP 的不斷變化,因此迫切需要一種高效的無線Mesh 網(wǎng)絡切換機制以提高用戶在漫游過程中的持續(xù)通信能力.
目前,主流的解決方案是iMesh 和MobiMesh 提出的[3],主要通過在共同一個無線網(wǎng)狀網(wǎng)域內(nèi)實現(xiàn)特定主機路由,采用節(jié)點移動來觸發(fā)路由的不斷更新,以確保本域內(nèi)的路由表的實時性和有效性. 但Mesh 無線頻段使用的工業(yè)開放頻道(ISM)受到的無線干擾嚴重,加上頻繁的廣播路由更新消息會給域內(nèi)無線網(wǎng)絡帶來大量路由通訊開銷和二次復雜的干擾,致使無線網(wǎng)絡可靠性、可擴展性變差[4]. 另外,SMesh 通過采用多播組和多個接入點同時為一個終端提供服務,以犧牲帶寬以及固有的通信頻道資源為代價來保證連續(xù)的通信,會使得無線網(wǎng)絡容量變得非常有限[5],網(wǎng)絡的魯棒性和用戶體驗受到嚴重制約.當終端發(fā)生域間或者較為復雜的移動環(huán)境時,采用以上方案將不能保障用戶與通信之間實現(xiàn)端對端的連續(xù)通信[6].
為解決這個問題,本文搭建了一個典型的Mesh網(wǎng)絡域間切換場景,設計出一種新的路由算法,結合構建Mesh 設備的緩存機制,提出了一種新的無線網(wǎng)狀網(wǎng)域間無縫切換機制,實現(xiàn)Mesh 網(wǎng)絡的不同網(wǎng)絡域之間的漫游切換,可以更有效地解決無線網(wǎng)狀網(wǎng)域間切換問題.
無線Mesh 網(wǎng)絡域間切換模型主要在2個Mesh域之間,基于設計新的切換協(xié)議機制. 在原接入Mesh 域與目標域之間實現(xiàn)切換請求與響應,實現(xiàn)STA 從一個Mesh 域移動到另一外域的所有通信消息過程.設計新的路由表(地址映射表),實現(xiàn)Mesh網(wǎng)對一個正在移動中的STA 進行識別與綁定.在每個Mesh 域接入點(MAP)設置數(shù)據(jù)緩沖區(qū),保存正在切換中的STA 已發(fā)起的通信而未接收處理的數(shù)據(jù)信息.當STA 完成從源Mesh 域移動到目標Mesh域時,通過地址映射表識別當前的STA,并將由目標Mesh 域向源Mesh 域請求接收該STA 在切換過程中未處理數(shù)據(jù),并由目標Mesh 域中的MAP 向STA下發(fā)數(shù)據(jù),從而實現(xiàn)無縫切換.
圖1 無線Mesh 網(wǎng)絡域間切換場景Figure 1 Scene for inter-domain handoff in Mesh network
本文使用的無線Mesh 網(wǎng)絡域間切換場景見圖1,WMN 由以下4 類節(jié)點組成:Mesh 網(wǎng)關節(jié)點(MPP),負責連接無線Mesh 網(wǎng)絡中其他節(jié)點與有線網(wǎng)絡的網(wǎng)關,也是單個WMN 的唯一有線接入網(wǎng)關實體;Mesh轉發(fā)節(jié)點(MP),負責WMN 各個無線節(jié)點之間建立無線網(wǎng)絡,實現(xiàn)數(shù)據(jù)傳輸以形成WMN 主干傳輸網(wǎng),主要實現(xiàn)無線網(wǎng)絡節(jié)點間形成自組網(wǎng)功能;Mesh 接入節(jié)點(MAP),它兼容了WLAN 中AP 的功能,同時具備MP 無線路由轉發(fā)的功能;無線用戶終端(STA)主要通過無線網(wǎng)絡接入MAP 接入WMN 取得服務.通常將由一個MPP 及多個MP 和多個MAP構成的Mesh 網(wǎng)絡稱為一個域,圖1 為包含2個域的WMN 場景,分別處于MPP1 和MPP2 的覆蓋中.
當STA 接入無線Mesh 網(wǎng)絡時,獲得由WMN 域分配的一個動態(tài)IP 地址.通過接入的WMN,STA 不斷地與接入的WMN 取得通信與服務. STA 在域內(nèi)移動時,IP 地址可以保持不變. 當STA 移動到另一個域(目標域)時,則需要由目標WMN 域重新分配一個該無線局域網(wǎng)內(nèi)的IP 地址.原WMN 域及目標WMN 域需要通過MAC 和IP 地址的映射實現(xiàn)對應關系,通過緩存、路由等手段實現(xiàn)數(shù)據(jù)的不間斷通信.當STA 從一個WMN 域移動到另一個WMN 域時,能夠迅速知道切換前后的IP 以及其映射關系,并將原緩存數(shù)據(jù)通過映射的路由,將數(shù)據(jù)發(fā)送到新的WMN 域,實現(xiàn)快速無縫切換.
在WMN 域之間,WMN 需要以MAC 地址作為STA 的唯一標識,減少有的方案提到的多重邏輯結構關系[7].MAP 建立與維護STA 的MAC 與IP 的對應列表,MAC 地址綁定源IP 與目標IP,實現(xiàn)源Mesh域至目標Mesh 域的數(shù)據(jù)包的轉發(fā)路由. 對應列表含有STA 的MAC 地址和被分配的IP 地址信息.地址對應映射表存儲有STA 的MAC 地址、STA 的IP地址、MAP 的IP 和MAP 的MAC 地址信息,形成了各個節(jié)點的地址對應關系以及各STA 的MAC 地址與接入MAP 的MAC 地址的綁定關系,MPP 維護的地址映射表如圖2 所示.
圖2 MPP 維護的地址映射表Figure 2 Address mapping table in MPP
用戶終端STA 通過2 種方式確認是否接入到新的MAP,以切換到新的WMN 域.一種是根據(jù)接收到的MAP 信號強度(RSS),當前的MAP 信號強度低于設定值時,STA 將不斷掃描附近的無線信號及其強度,從接收到的MAP 中選擇信號強度最好的MAP 作為接入目標MAP[3,8]. 另一種方式是根據(jù)實際場景需求,主動選擇下一個接入點MAP,實現(xiàn)主動切換.
接入的目標MAP 與原MAP 根據(jù)接入網(wǎng)絡拓撲有2 種情況:在同一個WMN 域內(nèi)或在不同的WMN域內(nèi).通常將前者稱之為域內(nèi)切換,后者稱之為域間切換.域內(nèi)切換,從一個MAP 到另一個MAP,STA的IP 地址保持不變,切換與數(shù)據(jù)通信均可通過在2層(鏈路2 層)實現(xiàn). 在域間切換情況下,接入的MAP 不存在同一個域,需要變動IP 地址,這樣就會發(fā)生3 層(網(wǎng)絡層)切換[9].Mesh 節(jié)點協(xié)議棧見圖3.
圖3 Mesh 節(jié)點協(xié)議棧Figure 3 Mesh protocol stack
以下主要聚焦于無線Mesh 網(wǎng)絡的域間切換問題,基于終端的MAC 地址,構建相應的地址映射表,能夠提高STA 從一個WMN 域切換到另一個WMN域的效率.在切換過程中,通過增加源MAP 節(jié)點的數(shù)據(jù)包緩存,以解決切換過程中數(shù)據(jù)包的丟包問題.
當STA 從一個MPP 的覆蓋范圍移動到另一個MPP 的覆蓋范圍時,即MPP 發(fā)生了改變,這時需要向新MPP 進行代理更新,STA 同時和新舊網(wǎng)絡進行協(xié)議交互.結合圖1 中的實體編號,切換過程中2個網(wǎng)絡的信令交互過程(圖4):
階段一:準備階段.Step1:在確定切換目標MAP為MAP2 之后,STA 首先向MAP1 發(fā)送切換請求消息,該切換請求消息包含MPP2 的IP 地址和STA 的原IP 地址;Step2:MAP1 收到切換請求消息后轉發(fā)給MPP1 節(jié)點;Step3:MPP1 節(jié)點通過有線網(wǎng)絡發(fā)送該切換請求消息給MPP2 節(jié)點;Step4:MPP2 節(jié)點為STA 分配一個新的IP 地址;Step5:MPP2 節(jié)點將切換準備消息發(fā)給MAP2 節(jié)點,該消息中包含有分配給STA 的MAC 地址和新的IP 地址;Step6:MAP2 節(jié)點預留相應資源,并返回切換準備完成消息給MPP2 節(jié)點;Step7:MPP2 節(jié)點返回切換響應消息給MPP1 節(jié)點;Step8:MPP1 節(jié)點轉發(fā)該切換響應消息給MAP1 節(jié)點;Step9:MAP1 節(jié)點轉發(fā)切換響應消息給STA,同時緩存發(fā)給STA 原IP 地址的數(shù)據(jù)包;
階段二:切換過程. Step10:STA 更新自己的IP地址,并向MAP2 節(jié)點發(fā)起接入請求消息;Step11:MAP2 節(jié)點發(fā)送接入完成通告消息給MPP2 節(jié)點;Step12:MPP2 節(jié)點向MPP1 節(jié)點發(fā)送切換完成通告消息;Step13:MPP1 節(jié)點更新自己的STA 列表,通知通信對端STA 新的IP 地址以及STA 切換后對應的MPP2 和MAP2 的IP 地址,并返回一個切換完成響應消息;Step14:MPP2 節(jié)點更新自己的STA 列表,并返回接入響應消息給MAP2 節(jié)點;Step15:MAP2 節(jié)點轉發(fā)該接入響應消息給STA,并轉發(fā)其通信對端發(fā)送來的數(shù)據(jù)包;
階段三:資源釋放. Step16:STA 收到切換響應消息后,向MAP1 節(jié)點發(fā)送斷開連接請求消息;Step17:MAP1 節(jié)點檢查自己的緩存中是否還有需要發(fā)送給STA 原IP 地址的數(shù)據(jù)包;Step18:如果沒有,則釋放資源.如果有則更新這些數(shù)據(jù)的目的地址為STA 的新IP 地址,并轉發(fā)數(shù)據(jù)到MPP1 節(jié)點;Step19:MPP1 節(jié)點轉發(fā)該數(shù)據(jù)到MPP2 節(jié)點;Step20:MPP2 節(jié)點轉發(fā)該數(shù)據(jù)到MAP2 節(jié)點;Step21:MAP2 節(jié)點轉發(fā)這些數(shù)據(jù)包到STA 節(jié)點;Step22:當數(shù)據(jù)包發(fā)送完畢,MAP1 節(jié)點釋放資源.
在STA 與MPP2 域內(nèi)的MAP2 建立連接過程中,原MPP1 域中的MAP1 保存STA 在通信后續(xù)的網(wǎng)絡通信數(shù)據(jù);STA 完成從MPP1 域切換到MPP2域后,MAP2 將之前緩存的屬于STA 的通信數(shù)據(jù)通過MPP1 轉到MPP2,MPP2 將通過地址映射表,找到STA 的接入目標MAP2,并將數(shù)據(jù)包發(fā)送到STA 當前連接的MAP2 上,再由MAP2 將該數(shù)據(jù)包發(fā)送給STA.由此一方面可以解決數(shù)據(jù)包丟失的問題,另外也可進一步提高無線Mesh 網(wǎng)絡的切換與接入效率.
圖4 無線Mesh 網(wǎng)絡域間切換時序圖Figure 4 Sequence diagram of inter-domain handoff in wireless Mesh network
綜上所述,在STA 將要從MPP1 切換到MPP2之前,MPP2 已經(jīng)為STA 分配了一個IP 地址,以及為STA 指定了MPP2 域內(nèi)的供STA 接入的MAP2;當STA 進入到MPP2 域中時,STA 既可以選擇接入MPP2 指定的MAP2,能夠保證STA 可靠地完成從一個MPP 域到另一個MPP 域的無縫切換,且適用于類WLAN 的網(wǎng)絡環(huán)境.
為驗證上面的切換機制,以Mesh 路由器設備MSR2000 為基礎,修改其數(shù)據(jù)包的處理機制,組建以下網(wǎng)絡實驗環(huán)境來驗證終端的實際切換效果. 主要基于Layer3(3 層)的切換為基礎,網(wǎng)絡拓撲圖如圖5 所示.
MAP1、MAP2 處于不同Mesh 子網(wǎng)中,構建2個不同的Mesh 子網(wǎng):Mesh1 域和Mesh2 域,2個子網(wǎng)設置不同的頻道.測試切換過程如下:
圖5 網(wǎng)絡實驗拓撲圖Figure 5 Experimental topology for inter-domain handoff in Mesh
(1)設置MPP1 的IP 分別為172.0.0.10、10.0.10.1,網(wǎng)口與交換機相連,無線與MAP1 相連;MAP1 的IP 分別設置為10.0.10.10、192.168.30.1,10.0.10.10 的IP 連接MPP1,保證網(wǎng)絡相連,192.168.30.1 的IP 即為無線網(wǎng)絡方面,保證STA可以成功關聯(lián)到Mesh 網(wǎng)絡上.
(2)MAP1 建立緩存,同時建立與維護STA 的MAC 與IP 的對應列表,MPP1 加入切換原語與路由.
(3)同Mesh1 域相同,設置MPP2 的IP 分別為172.0.0.20、10.0.20.1,網(wǎng)口與交換機相連,無線與MAP2 相連;MAP2 的IP 分別設置為10.0.20.20、192.168.50.1,10.0.20.20 的IP 連接MPP2,保證網(wǎng)絡相連,192.168.50.1 的IP 即為無線網(wǎng)絡方面,保證STA 可以成功關聯(lián)到Mesh 網(wǎng)絡上.
(4)2個Mesh 網(wǎng)用一堵室內(nèi)(磚墻)40 m 隔開,并依據(jù)場強(RSSI)進行切換,使STA 靠近MAP1 通過MAP1 接入無線網(wǎng)絡.
(5)從STA ping 交換機100個報文,同時向MAP2 方向以步行的速度移動STA,使STA 通過MAP2 接入無線網(wǎng)絡.
(6)記錄下發(fā)生切換時的丟包率.
(7)重復第5 步驟,來回驗證測試10 次.
基于UDP 協(xié)議的PING 包本身也存在丟包的情況,但本方案忽略該協(xié)議執(zhí)行情況,以實測數(shù)據(jù)為準,結果見表1.
表1 實際測試數(shù)據(jù)結果Table 1 Results of real data test
來回10 次的實驗結果顯示,數(shù)據(jù)的丟包率在0.7%以內(nèi),而WLAN 的AP 切換(漫游)平均丟包率通常在3%左右,這一數(shù)據(jù)遠遠低于該標準.
終端STA 在從MAP1 切換到MAP2 過程中,通過緩存機制,將正在切換中的數(shù)據(jù)保存在源MAP,切換完成后,根據(jù)新的IP 地址,結合地址映射表,將數(shù)據(jù)重新發(fā)送到目標MAP,通過MAP 將數(shù)據(jù)轉發(fā)到STA,不存在數(shù)據(jù)包丟包現(xiàn)象,而且網(wǎng)絡連接穩(wěn)定,基本可以做到STA 的無縫切換.
本文提出的無線Mesh 網(wǎng)絡域間切換方法實現(xiàn)無線寬帶的不同WMN 網(wǎng)絡域之間的無縫快速切換.通過建立終端MAC 地址與IP 地址的映射,取得源域與目標域的關聯(lián)關系,提高了終端在不同WMN域間切換的效率;通過增加源MAP 的數(shù)據(jù)包緩存,有效減少了切換過程的丟包率.另外,該思想也可應用在WLAN 的無線快速無縫切換領域,解決WLAN的快速切換問題.
[1]LAN/MAN Standards Committee IEEE P802.11s D5.0-2010,IEEE draft standard for information technology-telecommunications and information exchange between systems-local and metropolitan area networks-specific requirements-part11:Wireless LAN medium access control(MAC)and physical layer(PHY)specifications amendment 10:mesh networking[S].
[2]Navda V,Kashyap A,Das S. Design and evaluation of iMesh:An infrastructure-mode wireless mesh network[C]∥Proceeding of the 6th IEEE international symposium on a world of wireless mobile and multimedia networks. Taormina,Italy,2005:164-170.
[3]謝麗華,楊壽保,胡云,等. 異構無線Mesh 網(wǎng)絡層次化平滑切換方案[J]. 計算機工程,2010,36(4):82-84.Xie L H,Yang S B,Hu Y,et al. Hierarchical smooth handoff scheme for heterogeneous wireless mesh network[J]. Computer Engineering,2010,36(4):82-84.
[4]Capone A,Cesana M,Napoli S,et al.MobiMESH:A complete solution for wireless mesh networking[C]∥Proceeding of IEEE international conference on Mobile Ad hoc and sensor systems. Pisa,Italy,2007:1-3.
[5]Amir Y,Danilov C,Hilsdale M,et al. Fast handoff for seamless wireless mesh networks[C]∥Proceeding of the 4th international conference on Mobile systems,applications and services. Uppsala,Sweden,2006:83-95.
[6]陳康先,楊峰.基于IPv6 的無線Mesh 網(wǎng)絡切換技術研究[J].移動通信,2014,38(2):37-42.Chen K X,Yang F.Research on the switching technology of IPv6 wireless mesh network[J]. Mobile Communications,2014,38(2):37-42.
[7]袁琦凱,張奇支,基于瞬間綁定的PMIPv6 協(xié)議的域間切換方案[J].華南師范大學學報:自然科學版,2012,44(2):58-62.Yuan Q K,Zhang Q Z.An inter-domain handover scheme based on transient binding for proxy mobile IPv6[J].Journal of South China Normal University:Natural Science Edition,2012,44(2):58-62.
[8]方旭明,戚彩霞,向征. IEEE802 系列無線網(wǎng)絡網(wǎng)狀組網(wǎng)與移動切換技術綜述[J]. 計算機應用,2006,26(8):1756-1761.Fang X M,Qi C X,Xiang Z. Overview on wirelessmesh networking and mobile transition techniques in IEEE 802 series[J]. Journal of Computer Applications,2006,26(8):1756-1761.
[9]CBWIPS/Z 006-2012,無線局域網(wǎng)網(wǎng)狀網(wǎng)技術規(guī)范[S].