本文摘要:摘要:移動自組網在傳統的分布式組網方式下難以滿足復雜的業務需求對網絡QoS及安全性的高要求,基于SDN的移動自組網架構(SD-MANET)的提出為解決該問題提供了有效的解決思路。在SD-MANET中,拓撲發現是控制器進行流量調度與安全性控制的前提。 本文提出一種面
摘要:移動自組網在傳統的分布式組網方式下難以滿足復雜的業務需求對網絡QoS及安全性的高要求,基于SDN的移動自組網架構(SD-MANET)的提出為解決該問題提供了有效的解決思路。在SD-MANET中,拓撲發現是控制器進行流量調度與安全性控制的前提。
本文提出一種面向SD-MANET的拓撲發現方法,其主要思想是:利用連通支配集算法生成骨干網絡,由骨干節點將局部拓撲信息通過上行通路上報給SDN控制器,控制器根據收集到的鄰接信息計算出全網拓撲。本文方法通過限制向控制器上報局部拓撲信息的節點數量來降低拓撲信息收集過程中產生的額外開銷。仿真結果表明,該方法能夠準確地生成并維護網絡拓撲,且具有較小的控制開銷。
關鍵詞:移動自組網,軟件定義網絡,拓撲發現,骨干網
0引言
移動自組網(MobileAdHocNetworks,MANET)因其獨立性、靈活性和適應性被廣泛應用于戰術通信、傳感網、社交網絡以及災難恢復等場景[1]。近年來,越來越復雜的業務需求對MANET的安全性及QoS保證提出了更高的要求[2]。傳統MANET采用分布式組網方式,難以在源節點和目的節點之間根據網絡資源信息(端到端延遲、帶寬、丟包率)選擇最佳路由[3],在提高安全性及QoS保證上遇到了瓶頸。軟件定義網絡技術(SoftwareDefinedNetwork,SDN)將網絡的控制平面和轉發平面解耦合,采用集中式控制替代原有的分布式控制[4]。
基于SDN的移動自組網網絡架構SD-MANET[5]為上述問題提供了新的解決思路?刂破魍ㄟ^南向接口協議與網絡設備進行通信,OpenFlow是目前主流的南向接口協議。區別于傳統MANET的分布式組網方式,一般來說,SD-MANET中由控制器負責收集拓撲信息并進行全網拓撲學習,進而基于學習到的全網拓撲實現網絡流量調度和安全性控制[6]。拓撲發現是控制器管理整個SD-MANET的基礎。
從技術角度而言,將LLDP(LinkLayerDiscoveryProtocol)、OSPF(OpenShortestPathFirst)或者IS-IS應用到OpenFlow中都可以用來進行網絡拓撲檢測[7],但是它們并不適于SD-MANET,主要原因有:1)一般應用在SDN交換機較少的有線網絡中,其協議報文及響應機制對于無線窄帶網絡環境來說,帶寬開銷過大[8]。2)SD-MANET中因節點移動、信道干擾、電量消耗等因素導致的拓撲變化與有線網絡拓撲變化相比頻繁且復雜得多,現有技術沒有針對性的解決方案[9]。
目前,在SD-MANET領域,不同的網絡架構采用的拓撲發現方法也不盡相同。文獻[10]提出了一種基于SDN的戰術移動自組網網絡架構,由多個控制器分級對網絡進行協同管理,控制器可以部署在指揮中心、便攜無線基礎設施或者移動設備上,通過應用層協議將節點本地拓撲信息發送至控制器。例如,網絡節點通過運行分布式組網協議OLSR可以得到全網拓撲[11]。
理論上來說,控制節點可以利用SNMP等應用層協議進行拓撲信息的收集和更新。但是,該過程依賴于轉發層面的中繼廣播,控制開銷較大,且獲取相關的設備信息及資源信息還需要進行復雜的跨層協議設計和報文擴展,開發成本很高。文獻[12]提出了一種適用于無線傳感器網絡的開源軟件定義網絡解決方案SDN-WISE,實現了基于狀態的OpenFlow流表處理機制,能夠降低傳感節點與控制器之間的信息傳遞代價。
文獻[13]基于SDN-WISE提出了拓撲發現協議FTDP,協議基于模糊理論綜合考慮節點的鄰居數、剩余能量以及工作負載對拓撲發現及路由決策模塊進行了優化,但計算量大,對拓撲變化的適應性較差。文獻[14]提出一種將異構戰術網與SDN相結合的架構SDBN,通過異構子網內固定的網關節點向控制器上報子網拓撲。
在文獻[15]提出的網絡模型SD-TAODV中,控制器周期性地向鄰居節點廣播拓撲請求報文,報文在節點間逐層向外擴散,報文每到達一個節點,就將當前節點加入到所攜帶的拓撲列表中,并將報文返回給控制器。該方法通用性較強,但報文處理復雜,控制開銷很大。本文提出一種新的拓撲發現方法。該方法基于連通支配集的思想減少網絡中直接與控制器交互鄰接信息的節點數量,從而減少拓撲發現過程中的帶寬開銷,且在理論上具備一定的通用性。實驗表明,本文方法具有較小的控制開銷,且能夠及時感知拓撲變化。
1拓撲發現方法的基本思想
在SD-MANET中,選擇網絡中某個節點來部署控制器,這個節點作為網絡中的控制節點(CN)與其他轉發節點一樣具有移動性。拓撲發現需要考慮以下2個問題:1)不同于有線網絡中有專門的轉發設備(交換機或路由器)來協調各終端設備間的通信,SD-MANET中的每個節點既是終端節點,又是轉發節點。如果網絡中的每個轉發節點都向CN上報本地的局部拓撲,產生的控制信息必然會帶來大量的帶寬開銷,CN會收到大量的冗余信息。因此,應該選取盡可能少的節點負責上報局部拓撲信息。2)節點移動性將導致CN與轉發節點間的通信是不穩定的,故節點需要及時更新并維護到CN的上行通路,以減少局部拓撲信息上報過程中的報文丟失。
針對上述2個問題,本文提出:從所有節點中選取一部分通信能力強、穩定性高的節點集合構成一個骨干網,骨干節點通過到CN的上行通路向CN上報本地的局部拓撲信息。整個拓撲發現過程主要包括2個階段:骨干網的構造和拓撲信息的收集與維護。拓撲發現過程如下:1)在SD-MANET中構造一個骨干網。2)各骨干節點獲取并維護到CN的上行通路。3)各骨干節點將本地鄰居信息上報給CN。4)CN分析并處理收集到的拓撲信息,生成全網拓撲。
2骨干網的構造
上文提到需要選取一部分節點集合來構造骨干網。這部分節點集合應當具備以下特性:特性1集合中各節點的通信范圍能夠覆蓋到網絡中的所有節點。特性2集合中的節點個數應當盡可能地小。特性3集合中的節點應當具有較高的通信帶寬,以保證較高的數據處理能力。為了得到滿足條件的節點集合,本文將SD-MANET抽象為一個無向圖模型,節點、各節點間的通信鏈路分別被抽象為圖中的點和邊。
2.1連通支配集算法
求任意圖的最小連通支配集是NP-難問題[16],因此,目前在實際應用中,通常用近似解來代替最優解。(n表示節點數量;Δ表示最大鄰居數)。文獻[17]提出的基于多點中繼(MultipointRelays,MPR)計算連通支配集的算法MPR-CDS允許節點根據其被選為MPR的次數和選擇其作為MPR的節點(MPRSelector)個數或者其他業務條件約束來調節自身意愿度(willingness)。與其他算法相比,該算法能夠保證選出的骨干節點與普通節點之間的鏈路雙向對稱。
本文使用該算法來生成骨干網絡,網絡運行過程中可通過調節某目標節點的willingness對骨干網進行管理。該算法的核心思想是采用貪心算法為每個節點v根據其二跳鄰居信息N2(v)從一跳鄰居信息N1(v)中選擇一組中繼節點MPR,網絡中所有的MPR節點可以構成一個連通支配集,然后執行CDS強化規則減小這個基于局部信息計算出的CDS規模[18]。2條規則如下,對于節點v,若滿足以下規則中的任意一條,便將其加入CDS。
3拓撲信息的收集與維護
3.1上行通路的計算策略
骨干網構造完成之后,所有的骨干節點需要及時建立并維護到CN的上行通路。已知對于任一個普通節點,它至少是一個骨干節點的一跳鄰居,故本文旨在構造一棵以CN為根節點的生成樹,這棵樹上,所有骨干節點均為CN的子孫,每個骨干節點到其父節點的鏈路即為到CN的上行通路。每個節點維護一張DV表(Distance-VectorTable),用于存儲節點到CN的可達信息。表項
節點周期性地發送控制鏈路消息CL_MSG,該消息類似于HELLO消息,即只在一跳范圍內廣播,不能被轉發,報文字段主要有該節點到CN的鏈路代價cost和序列號SN。節點之間通過交互CL_MSG消息來更新并維護DV表。每個節點在到達下一個CL_MSG廣播周期或者DV表發生變化時執行DV表更新過程DV_Updating,該過程的具體描述如下:Step1節點生成一條CL_MSG,并廣播。
Step2收到CL_MSG的鄰居Ni判斷自身是否為骨干節點。Step2.1若是,執行Step3。Step2.2否則,丟棄該消息。Step3判斷CL_MSG→SN是否大于本地當前DV表中已經存在的最大SN。Step3.1若大于,執行Step4。Step3.2若等于,但cost(Ni,CL_MSG→Src)+CL_MSG→cost的值比對應表項中的cost更小,執行Step4。Step3.3否則,丟棄該消息。Step4新建或更新DV表中到CN的表項
上文中Cost(i,j)表示i和j這一對直連鄰居之間的鏈路代價,通過查找節點i的鄰居表即可得到。初始情況下,CN的DV表中僅存在一個條目
值得注意的是,CL_MSG消息從CN自頂向下傳播的是SN為偶數的鏈路信息,當骨干節點檢測到鏈路故障時,將SN加1置為奇數沿著上行通路自下而上進行傳播,以通告鏈路故障。DV表中的每一條可達信息都包含一個SN,如果收到了來自不同節點的CL_MSG消息,選擇SN較大的那條對DV表進行更新。這一消息處理機制能夠保證DV表中的可達信息都是最新的。
4性能仿真與分析
本文主要使用OPNET18.6.1仿真軟件和OpenDayLight控制器對本文方法進行可行性驗證與性能分析。
4.1仿真實驗環境
仿真平臺由實物環境和OPNET仿真環境2個部分構成。其中,OPNET通過SITL接口與OpenDayLight通信,OpenDayLight通過OpenFlow協議與OPNET中的SDN交換機通信。各節點以packet-in和packet-out消息的形式向控制器傳送拓撲信息。在OpenDayLight中添加Topology-Generator模塊,負責根據收集得到的局部拓撲信息生成并更新全網拓撲。
由于目前OPNET中的SDN交換機模型僅支持有線鏈路通信,為了使其適應無線環境,本文對SDN有線交換機模型做了修改。物理層使用無線收發信機代替有線收發信機,使之支持無線收發;MAC層采用TDMA技術實現信道復用;通過OPNET將SDN交換節點的屬性由固定節點修改為移動節點,使之具備移動性,并在其節點模型中新增MPR-CDS模塊,用于構造骨干網。
對OPNET18.6.1的通用仿真參數進行設定:信道傳輸速率設定為11Mbps,傳輸層使用UDP協議,MAC層使用IEEE802.11b協議,仿真場景中的節點隨機分布于20km×20km的矩形區域中,每組仿真實驗的結果取20次運行的均值。
4.2實驗結果分析
4.2.1MPR-CDS算法性能
通過修改節點傳輸半徑來調節節點平均鄰居數。分別對節點平均鄰居數N為5、10、15、20時的場景執行節點編址規則優化后的MPR-CDS算法,并統計不同網絡規模下選出的骨干節點個數占比。該算法可以有效減少網絡中上報局部拓撲信息的節點數量,仿真結果與原算法基本一致。相同網絡規模下,隨著節點傳輸半徑的增加,算法計算得出的連通支配集節點個數隨之減少;當節點傳輸半徑保持不變時,連通支配集的節點個數隨著網絡節點數的增大而增大。
5結束語
本文分析了在SD-MANET中進行拓撲發現需要解決的問題,提出了一種適用于SD-MANET的拓撲發現方法。通過分析常用的最小連通支配集近似算法及影響骨干網通信能力的主要因素,對于MPR-CDS算法的節點編址規則進行了優化,在一定程度上提高了生成的骨干網絡的通信能力;并提出了在骨干網與控制節點之間建立有效的上行通路的策略。
本文使用OpenDayLight控制器以及OPNET仿真軟件進行了仿真測試。實驗結果表明,本文方法具有較小的控制開銷,且能夠及時響應拓撲變化并更新全網拓撲。但本文方法還存在一定的局限性,如:骨干節點選擇冗余、較大網絡規模(大于100節點)的動態場景下對網絡變化的適應周期過長等,故仍然需要對CDS算法及報文設計進行優化,并采用適當的故障上報機制來解決拓撲響應時間長的問題。筆者將在后續工作中進一步對當前方法進行改進。
計算機技術論文投稿刊物:《計算機仿真雜志》(ComputerSimulation)雜志創刊于1984年,由中國航天科工集團公司主管,由航天科工集團十七所主辦。本刊組織的欄目有:仿真技術綜述、軍事領域仿真、人工智能與系統分析、航空、航天領域仿真、化工領域仿真、汽車仿真、分布交互式實時仿真、仿真應用與研究、過程的建模與驗證、仿真培訓系統、虛擬仿真、仿真方法與算法等20多個欄目。
轉載請注明來自發表學術論文網:http://www.cnzjbx.cn/dzlw/20825.html