劉福剛
(淮南聯合大學,安徽淮南 232001)
SDN(軟件定義網絡),即借助可編程理念完成對數據轉發分離的有效控制,可以保證集中控制邏輯[1]。在高層路由、流量工程等狀態下,運用SDN可以滿足網絡系統的整體便捷高效性,而并非大量修改整個網絡的硬件基礎設施[2]。目前OpenFlow安全控制器是主流的解決SDN方法,此種解決方案所實施的整體控制有效地使網絡路由轉發,增強了整體的高效性。但是絕大多數的控制器設備都處于自身最初設計研發階段,并未重視網絡傳輸性能是否高效,忽視了網絡傳輸的整體安全因素[3]。一旦在SDN網絡中發生一個控制器的失效問題,必然就會導致整個網絡的癱瘓。除此之外還暴露SDN網絡的巨大單點脆弱性,使攻擊者實施對控制器的惡意控制。傳統入侵檢測措施不能有效地檢測故障問題所在,本文對動態異構冗余擬態安全控制器模型進行仿真分析。
通過基于動態異構冗余理念,將SDN網絡中單點脆弱性問題最大化降低,安全控制器的整體結構設計包含如下設計特點[4]:(1)異構性。OpenFlow交換機在運行中,其主要的系統控制是經由多個控制器集合完成的。借助一個控制器集權完成動態化的系統控制,此種控制是分布式的控制,屬于同一種控制器集群中的整體控制器件異構度。此種異構由操作系統、硬軟件以及編程語言等多方面集成。基于宏觀異構度來講,對于網絡攻擊行為的出現,攻擊成功的難度會隨著異構度的增高而加大,也就是異構度越高就越能有效地保護系統。(2)動態性。在該控制器結構中,通過綜合考慮存在的集群節點變化,以及SDN網絡中存在的動態化網絡結構,借助對應安全調度機制,能夠有效調控控制器的根本集群元素。同時完成被動式動態化調度,由此提升整體的系統不確定性。除此之外,還可以依照SDN網絡的整體安全性需求,實現控制器的集群規模調整,以此加強SDN網絡結構整體的可拓展性。(3)容錯力。該設計的特點主要是借助容錯計算法,實現對錯誤節點的一致性整體檢測。(4)調度機制。調度機制作為能夠實現控制器、防御模塊的動態化功能關鍵模塊之一,借助對應調度實施相應策略,完成對整體控制器的動態化調度。進而提升控制器結構執行集群多樣性、動態性以及整體結構的安全性能。
安全控制器結構模型設計,其主要控制器架構包含了多個模型結構組成[5]。在由A個OpenFlow安全交換機、B個OpenFlow安全控制器所集合形成的多控制器結構中,每個交換機Si所連接的B個OpenFlow安全控制器,形成了執行化控制集群Qi,同時還包括調度控制器集群Si。在Qi中控制器的形成主要為對等化,而Qi以及Si則有效地完成了控制器整體動態化調度。除此之外控制器集群及實現交換機設備的控制,還可以通過充分發揮服務代理具備的通信銜接作用,真正達成控制器及交換機兩者共同的數據信息共享和發布,從而完成了兩者之間的連接(圖1)。

圖1 控制器結構示例圖
OpenFlow1.2協議提出了針對OpenFlow安全控制器的運行和相應的控制處理模式[6]。基于上述控制器模型結構,實現OpenFlow安全控制器組件的兼容,整體的模型結構信息處理流程如圖2所示。在網絡中一旦產生了流規則更新事件,OpenFlow交換機就會主動生成Packet-In的編程需求。服務代理在完成Copy指令之后,將發出的請求分享發送至控制器的所有集群控制器,有效處理有關數據編程指令。之后借助處理結構Packet-Out及Flow-Mod,針對信息完成返回任務需求,最終將其發送至客戶端。在該過程中服務器代理具備透明化傳輸特點,通過構建數據處理FIFO隊列,真正保證信息化數據傳輸順序。在對其處理之后返還最終處理結果,客戶可以完成f+1個一致化接收處理,將其視為正確化處理結果。集群借助分布式計算方法完成信息處理。該方法具備動態化信息一致性,能夠檢測錯誤信息節點。

圖2 系統工作流程示例圖
針對控制器結構模型相關研究,控制器形成對等模式,形成分布式節點模型[7]。控制器結構模型本身集群節點的動態化移出,實現了網絡結構的動態化轉變,拓展兩者之間的動態化性能[8]。除此之外,本研究旨在檢測該結構模型中所受到攻擊的任何節點以及出現異常的相關數據。借助Gossip算法實現分布化一致性計算,主要由其分布式及一致性,完成信息的有效傳播及檢測。依照彼此通信消息之間所形成的不同傳遞方式,本文提出基于Gossip的容錯性一致算法CFDA編程設計。
將通過由控制器集群實現的通信網絡體描述為較為典型化的圖模型,即G(V,E)。在該集群模型網絡中的B個控制器節點數集用V表示,V×V之間的節點通信鏈路用E表示。每一個節點之間所形成的直接性通信(i,j)∈E。同時,為了能夠有效地實現整個集群網絡的通信更加安全可靠,通過設置兩個或超出兩個的控制器,完成對每一個控制器節點的連接,形成了控制器節點網絡模型,確保該模型具備較高的節點連通性。圖模型G實現了整體的節點連接,即K(G)≥2。
時間模型主要作為可以對不同模型類別實現同步及異步處理的主要模型[9]。諸多分布式特點網絡環境基于時間模型,能夠獨立存在于網絡化模型中,始終服從參數μ泊松過程。將節點時鐘具體滴答次數作為指數分布,并且整體的節點相對較為獨立,該過程就會成為由節點時鐘的每一次滴答次數形成的Bμ泊松過程時鐘模型。基于所論述的圖模型及時間模型,考慮SDN多控制器集群網絡所具備的一定特殊性,將本次研究所使用的CFDA算法主要功能展開如下分析。
2.2.1 節點通信模式
節點模式具備localview視圖,在不同成員中形成相鄰節點的拓撲性通信,高達兩個或超出兩個的通信個數。每一個網絡通信節點在控制節點信息通信過程中,需要借助localview有關數據信息。在一個控制器集群中,相應的數據信息網絡節點數據一般較少。本研究的控制器模型的通信模式,其具體通信復雜度、信息交互頻次均相對較低,適用于不同狀態的同一控制。
2.2.2 信息數據結構
控制器通信節點在完成信息傳遞以及檢測錯誤信息過程中,一般需要協商有限次數信息,需采用協商算法對通信節點的復雜度及負載加以計算,再加上信息本身大小及傳遞次數的因素,會很大程度地受到影響[10]。采用數據二元組(ver,Vdi)作為傳遞節點信息的關鍵傳輸單元及數據結構,該二元組涵蓋了諸多全新控制器節點的數據向量以及圖模型等諸多狀態化信息。數據向量作為在實現信息傳遞過程中所特有的數據節點結構,其模型中的節點數量以數據向量空間長度來表示,對具體節點數據信息以向量成員數據進行維持。譬如數據向量Vdi以及Vdj通過邏輯或(or)方式更新有關數據。此算法能夠及時對不同節點中的錯誤數據信息加以確定,進而與當前版本協商,主要借助系統加密信息認證碼MAC,完成對數據的有效認證。
本次仿真分析主要基于CFDA算法展開,以輕量級網絡原模型Mininer工具集為主要仿真運行環境,借助Windows10系統及Java編程語言。構建由40個主機、25個控制器節點組構形成的仿真網絡結構,分布控制在5個OpenFlow vSwith交換機的控制器集群之中。借助離散事件模型,對實驗中模型安全性能進行驗證,得到設置的控制器執行冗余度是5,調度的異構度是0.5,所間隔的相應時間周期就是執行體集群隨機調度。

圖3 通信輪次與節點數關系示例圖
根據所構建的仿真實驗模型可以看出,圖模型之間所形成的主要差異會很大程度地影響網絡節點的通信一致性(圖3)。控制器本身集群網路模型存在的關鍵節點數量相對較少。應用典型的BFT計算方法,完成計算過程需要三次通信過程。由此,需要加以改進,減少一次通信過程,實現兩次通信過程,有效地減少整體通信復雜度。
綜上所述,本文對動態異構冗余擬態安全控制器模型進行仿真研究,并分析CFDA計算方法。仿真實驗結果表明,控制器結構能夠有效地增加系統的分布安全性,降低冗余度的相應問題難度。運用CFDA計算方法完成系列性的完全數據處理及檢測,提升了控制器在使用中的穩定性,實現了集群的可拓展性、動態性。冗余控制器執行體很大程度地增強了系統整體使用的安全性和可靠性。