辛明遠
(黑河學院 計算機與信息工程學院,黑龍江 黑河 164300)
?
openFlow /SDN控制器路由算法的研究
辛明遠
(黑河學院 計算機與信息工程學院,黑龍江 黑河164300)
摘要:基于openFlow 的SDN是新興的網絡技術,它將控制平面與數據平面分離,降低了網絡管理的難度。首先介紹了SDN的思想及結構設計SDN控制器的架構,對SDN控制器路由算法進行分析,提出性能更好的算法方案,最后表明未來研究的方向。
關鍵詞:軟件定義網絡;openFlow;SDN控制器
一前言
近些年,網絡呈現爆炸式的發展態勢,涉及社會生活的方方面面,但在網絡給人們帶來便利的同時,自身過度的發展也凸顯出網絡的一些弊端。各種功能與協議在網絡上進行疊加,使網絡結構更加復雜,難于管理,從而限制了網絡的發展。SDN(Software Defined Networking)軟件定義網絡,通過軟件的形式重構現有網絡, 將網絡硬件設備的控制和數據進行分離,控制以軟件編程的方式實現。SDN 的可編程性和開放性為網絡應用的創新提供了一個良好平臺。
SDN在改變傳統網絡架構的同時,也在網絡安全方面表現出不同的特點。一是集中控制器在非安全環境中極易受到攻擊,同時開放性和API也使得控制器存在信息泄露的風險。二是SDN提供靈活的安全監控、分析和響應系統,為傳統安全防護的應用提供了新的思路。
二openFlow/SDN控制器的架構
軟件定義安全(SDSec,Software-Defined Security), 是Garnter提出將安全管理與安全數據分離,并通過安全控制器(Security Controller)保護整個SDN安全的一種軟件定義的安全體系,安全控制器是核心。
SDN控制器架構分為三個平面:應用平面、控制平面和基礎設施平面。通過南向接口 OpenFlow協議控制硬件設備的轉發,通過REST北向接口與應用平面進行通信,通過東西向接口擴展成控制器集群。基礎設施平面由SDN交換機組成,負責網絡數據包的轉發,交換機只負責根據控制器下發的流表規則對數據進行匹配,并進行高速的轉發和處理,地址解析、鏈路發現、路由計算等功能交由控制器完成。控制平面就是控制器,通過南向接口的OpenFlow協議管理SDN交換機的轉發動作。控制平面通過REST北向接口向上層業務和應用提供資源的調用。應用平面中根據應用需求,提供多種業務應用。這種架構充分體現了 SDN控制與數據分離的思想,實現了網絡功能的可編程化, 只需用通用的硬件作為網絡底層設備,簡化了網絡管理的復雜度。
三SDN控制器中路由算法的比較分析
SDN控制器分為基礎模塊和應用模塊。基礎模塊實現網絡信息狀態的獲取、流量的分析、數據轉發路徑的計算、流表的生成與下發等功能。應用模塊是建立在基礎模塊之上實現的,有防火墻、負載均衡、網絡虛擬化等功能。基礎模塊是整個SDN控制器實現的基礎,而鏈路發現模塊和網絡拓撲模塊則是技術的關鍵。
在SDN中,控制器可以通過鏈路發現模塊,得到全網絡交換機鏈接的信息,對全網絡資源進行統一的管理和調度,使網絡資源得到合理的分配和利用。通過鏈路層發現協議來發現交換機之間的連接情況,并將鏈路信息通過特定的數據結構傳遞給其他模塊,同時保存到信息存儲模塊中。
網絡拓撲模塊是SDN控制器的重要模塊,正確的網絡拓撲和轉發路徑是控制器正確指導底層數據轉發的重要前提。網絡拓撲模塊的主要功能是根據鏈路發現模塊傳送來的鏈路信息,生成底層設備的網絡拓撲,然后通過路由算法計算全局的路由信息,發送到信息存儲模塊進行存儲,并及時進行更新。
SDN控制器在得到網絡拓撲信息之后,需要通過鏈路信息計算最優轉發路徑。在網絡拓撲模塊中包含路由算法,用戶可以根據自己的需求和網絡情況來選擇合適的路由算法。控制器計算路由與傳統網絡不同,它已經具有全局的網絡拓撲信息,可以提前計算好轉發路徑,來提高控制器的處理效率。本節主要對Dijkstra和Flow-basedrouting兩種算法進行分析,比較出適合于SDN網絡環境的路由算法,并在網絡拓撲模塊中進行實現。
Dijkstra算法用來計算有向圖中源節點到其他所有節點的最短路徑, Dijkstra算法在計算時從源點開始,經過層層擴展,不斷選出每一步的最短估值,最終得到源點到其它所有節點的最短路徑。
基于流量的路由選擇算法就是找出網絡最小延時的路由。基本思想是假定網絡中每對路由器之間平均數據流量是相對穩定的和可預測的,對某一給定的通信鏈路,如果已知平均流量和載荷量,那么就可以由排隊論原理計算出該鏈路上的平均分組延時。再由所有鏈路的平均延時,可直接計算出流量加權平均值,進而得到整個網絡的平均分組延時。。
本文選擇了常見的網狀網和數據中心常見的胖二叉樹網絡對算法進行實驗和分析。為找到更加適合SDN控制器的算法,具有實際指導意義,本文使用一合PC機對兩種算法進行仿真測試,其配置為:酷睿雙核i5處理器、8G內存、64位Windows 7操作系統。使用兩種網絡拓撲結構分別對算法進行實驗,其過程和結果如下。
1.網狀拓撲網絡。
本文使用具有非負權值的鄰接矩陣來模擬網狀拓撲,通過權值來模擬網絡的開銷大小和擁塞程度。設定權值為1-30之間的隨機數,當數字為30時,則將該數被替換為無窮大,表示這兩點之間沒有鏈路。使用此方法模擬網狀網絡,并用Dijkstra和Flow-basedrouting兩個算法分別調用同一個網絡拓撲的鄰接矩陣,計算全網絡每對節點之間的路由選擇路徑,計算所用時間。得到的結果曲線如下圖1所示。
當節點個數少于350時, Flow-basedrouting算法比Dijkstra算法用時少,但差距不大;而當節點個數多于350時, Dijkstra算法比Flow-basedrouting算法用時少,差距也逐漸增大。實驗結果說明在計算大規模網絡的時候, Dijkstra算法性能更好。

圖1 網狀網Dijkstra和Flow-basedrouting耗時曲線圖
2.胖二叉樹網絡拓撲。
胖二叉樹結構分三層,其交換機分別為邊緣交換機、匯聚交換機和核心交換機,其中每個交換機都連接兩個或以上的上層交換機,每層交換機之間還有鏈路相連。模擬構建不同規模的數據中心網絡拓撲,節點數目分別為28、42、56、70、84、98、112,使用Dijkstra算法和Flow-basedrouting算法分別調用相同的網絡拓撲, 計算所用時間。得到的結果曲線如下圖2所示。

圖2 胖樹網Dijkstra和Flow-basedrouting耗時曲線圖
由以上分析可知,在胖樹結構中,在同樣計算全網絡最短路徑的情況下,Dijkstra算法耗時比Flow-basedrouting算法用吋長,而且Dijkstra算法所用時間隨著節點個數的增加呈上升趨勢,而Flow-basedrouting算法則上升比較緩慢。實驗結果說明Flow-basedrouting算法比Dijkstra算法更適合用來計算胖樹結構網絡的最短路徑, Flow-basedrouting算法比較穩定。綜上所述,在計算網狀網結構時,Dijkstra算法和Flow-basedrouting算法差距不大,隨著網絡規模增大,Dijkstra算法比較好一些;而在計算數據中心典型網絡結構胖樹結構吋, Flow-basedrouting算法比較穩定,表現出了較好的性能。
四結論
SDN被譽為是新一代網絡技術而備受關注,其控制與轉發分離、開放的編程接口和集中控制的特性是網絡的演進和發展方向。涌現出各具特色的SDN控制器,但在網絡的安全性、可靠性、高效性和可擴展性方面存在缺陷。本文根據規模龐大、協議復雜、數據海量的特點設計了一款SDN控制器,分析了控制器路由算法的性能,并設計實驗驗證了Flow-basedrouting路由算法性能更加穩定。考慮對算法進行優化,用更高效的算法進行路由選擇,提高控制器的性能。并對策略制定模塊進行研究,在策略制定時考慮全網流量信息和網絡狀態,制定網絡轉發策略,提高控制器對網絡控制的準確性。
參考文獻
[1]Markoff J. Open networking foundation pursues new standards[J]. The New York Times,2011.
[2]Garnter. The Impact of Software-Defined Data Centers on Information Security. [EB/OL]https://www.gartner.com/doc/2200415/impact-softwaredefined-data-centers-information, 2012.
[3]Kloti R. OpenFlow: A security analysis[J]. Proc. Wkshp on Secure Network Protocols(NPSec). IEEE, 2013.
[4]Cai Z,Cox A L,Maestro TS EN. A system for scalable OpenFlow control [R]. TechnicalReport TR10-08. Rice University,2010.
[5]Koponen T, Casado M, Gude N,et al_ Onix: A Distributed Control Platform for Large-scale Production Networks[C]//OSDI. 2010,10:1-6.
Class No.:TP301.4Document Mark:A
(責任編輯:蔡雪嵐)
Routing Algorithm of SDN /OpenFlow Controller
Xin Mingyuan
(Computer and Information Engineering Department, Heihe University, Heihe, Heilongjiang 164300,China)
Abstract:SDN based on Open Flow is an emerging network technology, which can be used to reduce the difficultyof the network management through controlling the plane and data plane separation. The paper introduces the idea of SDN, the architecture of the controller, and the structure design of SDN controller routing algorithm and predicates the future trend of research.
Key words:software-defined networking; open flow; SDN controller
作者簡介:辛明遠,碩士,講師,黑河學院。
基金項目:黑河學院2015年度院級課題(KJY201503),青年科研拔尖人才。
文章編號:1672-6758(2016)07-0027-3
中圖分類號:TP301.4
文獻標識碼:A