吳京京,王敢甫,王德強,胡明明
(中南民族大學計算機科學學院,湖北 武漢 430074)
SDN網絡的路徑規劃監視機制
吳京京,王敢甫,王德強,胡明明
(中南民族大學計算機科學學院,湖北 武漢430074)
為了能夠實現基于用戶需求的路徑規劃,并實時對網絡路徑流量進行監控,向網絡管理員提供路徑調整依據。文章利用軟件定義網絡(Software-Defined Networking,SDN)控制與轉發分離的特性,設計SDN網絡下的路徑規劃監視機制。通過基于預設路徑來生成和下發流表項,實現對網絡路徑的規劃;并依據OpenFlow交換機流表項的匹配次數,動態衡量網絡路徑流量,實現對路徑流量進行實時監控。在基于Mininet與OpenDayLight的實驗平臺上驗證了路徑規劃的正確性以及路徑流量監控的有效性。
軟件定義網絡;路徑規劃;流量監控
本文著錄格式:吳京京,王敢甫,王德強,等. SDN網絡的路徑規劃監視機制[J]. 軟件,2016,37(8):81-86
隨著云計算和云服務的快速發展,網絡環境變得越來越復雜,使得網絡服務極易出現安全問題,從而影響網絡安全和性能[1-3]。合理的網絡管理,能夠為用戶提供更優質的服務。網絡流量是網絡管理的重要指標,能直觀的反映網絡性能的優劣[4],并能夠及時發現網絡中存在的異常流量。因此,對網絡流量進行實時監控,通過收集流量信息來檢測網絡異常現象和違反安全策略的行為,是分析網絡性能和狀態的有效措施,保證網絡的運行暢通[5]。
一種新型的網絡架構-軟件定義網絡(Software-Defined Networking, SDN)的誕生為網絡管理提供了新的思路[6]。它能夠實現對網絡流量的靈活控制,被學術界和工業界視為解決網絡僵化問題的新途徑[6-8]。SDN控制器基于OpenFlow[9]協議與SDN交換機進行通信,可以通過下發流表的方式對網絡的數據流進行精細化的控制。由于SDN具有可編程、控制與轉發分離獨特之處,使得在SDN網絡中的流量監控與傳統網絡下的流量監控大不相同[10]。
目前,NOX、Floodlight等SDN控制器[11],均提供基于最短路徑算法的流量自動路徑規劃模塊。然而,這樣的自動路徑規劃容易導致將數據流集中到同一條路徑進行轉發,從而導致網絡擁塞[12]。并且SDN網絡中的OpenFlow交換機采用的是二層技術,無法提供三層的路由功能[13]。為了能夠實現基于用戶需求的路徑規劃,并對路徑流量進行實時監控。本文提出SDN網絡下的路徑規劃監視機制,能
路徑規劃監視機制在SDN架構的應用層上開發,利用SDN控制器提供的北向接口Rest API與控制器進行通信。該機制主要分為路徑規劃和流量監控兩部分。前者基于預設路徑,通過生成和下發流表項,對數據包進行重定向操作,實現路徑規劃。后者通過監控交換機流表項的包匹配次數,動態衡量網絡路徑流量,對網絡流量進行實時監控。當流量的流經路徑與預設路徑不一致時,則向網絡管理員發起流量異常通告。路徑規劃和流量監視這兩部分的設計流程分別見圖1和圖2。

圖1 路徑規劃流程圖Fig.1 Flowchart of path planing

圖2 路徑流量監控流程Fig.2 Process of path traffic monitoring
路徑規劃的設計思路如下:
1)管理員根據路徑規劃需求,輸入路徑具體信息。
2)根據所輸入的預設路徑,獲得源主機IP、目的主機IP,以及路徑指定的各交換機。
3)根據北向接口得到的拓撲信息,獲得源主機IP和目的主機IP所對應的MAC地址,并獲取用戶所指定路徑上各交換機間的轉發端口信息。
4)針對每一臺交換機,將源主機和目的主機的MAC地址對應到OpenFlow流表項的匹配域字段,將交換機轉發端口對應到OpenFlow流表項的行動字段,形成完整流表項,并將其下發到交換機中。
路徑流量監視的設計思路如下:
1)獲取管理員所輸入的源主機IP地址,和目的主機IP地址。
2)根據北向接口得到的拓撲信息,獲得源主機IP和目的主機IP所對應的MAC地址。
3)根據北向接口得到網絡中各個交換機的流表項信息,獲取流表項匹配與所輸入的源/目的MAC地址相一致的流表項,以及流表項中的包計數信息。
4)通過判斷流量流經路徑上各個交換機之間流表項匹配包的統計信息是否一致。若不一致,則向管理員提示流量異常通知。
5)判斷流量的流經路徑與預設路徑是否一致。若一致,則輸出具體路徑與路徑流量信息。否則,向管理員提示流量異常通知。
2.1實驗環境部署
本實驗中,OpenDayLight控制器用來集中控制網絡資源;用python編寫拓撲腳本;并在Ubantu系統中運行Mininet網絡仿真軟件,模擬SDN網絡環境,其中包括支持OpenFlow1.3協議的Open-VSwitvh[17]交換機和主機。基于SDN的路徑流量監控機制被部署在SDN網絡架構的應用層,通過控制器的北向接口與控制器進行通信,在Windows7系統中運行。具體環境部署見圖3。

圖3 環境部署圖Fig.3 Environmental deployment
2.2實驗平臺主界面
實驗平臺主界面由“路徑控制”、“實驗拓撲”、以及“實驗簡單圖形拓撲”顯示三部分組成(見圖4)。其中“路徑控制” 界面是系統的主體部分,可實現對預設路徑的路徑規劃和路徑流量實時監控功能;“實驗拓撲”界面用于顯示網絡拓撲中各節點信息以及鏈路信息。

圖4 主界面Fig.4 Main interface
2.3路徑規劃正確性驗證
分別對h1和h2主機進行不同的路由路徑規劃設置,使得h1主機訪問h3主機和h1主機訪問h0主機的路由路徑不同,使得h2主機訪問h3和h0主機的路由路徑也不同。
1)輸入路徑
在“路徑控制”界面,對路徑進行設置。具體路由設置如下:使h1訪問h3的報文通過s1→s2→s4路線;使h1訪問h0的報文通過s1→s3→s4路線;使h2訪問h3的報文通過s1→s3→s4路徑;使h2訪問h0的報文通過s1→s2→s4路徑。例如使h1訪問h3的報文通過s1→s2→s4路線,則在“路徑控制”界面的指定路徑文本框中輸入“h1,s1,s2,s4,h3”,并點擊“確定”,此時系統會對所輸入的路徑正確響應,見圖5。

圖5 路徑控制Fig.5 Route control
由圖5可見,在正確輸入路徑后,系統分別向s1、s2和s4交換機添加了路徑。
2)驗證路徑規劃
在路徑設置完成后,通過查看交換機中的流表項,來驗證該機制是否成功基于預設路徑規劃來生成和下發流表項,具體流表項信息見圖6至圖9。
由圖6可見,s1交換機中成功添加了4條指定輸出端口的流表項。

圖6 s1交換機的流表項Fig.6 Flowentry of switch s1
由圖7可見,s2交換機中成功添加了2條指定輸出端口的流表項。

圖7 s2交換機的流表項Fig.7 Flowentry of switch s2
由圖8可見,s3交換機中成功添加了2條指定輸出端口的流表項。

圖8 s3交換機的流表項Fig.8 Flowentry of switch s3
由圖9可見,s4交換機中成功添加了4條指定輸出端口的流表項。

圖9 s4交換機的流表項Fig.9 Flowentry of switch s4
2.4路徑流量監視有效性驗證
在系統的“路徑控制”界面,輸入需要驗證路徑的源IP與目的IP。例如,在界面文本框中輸入源主機h2的IP地址“10.0.0.2”,目的主機h0的IP地址“10.0.0.4”,進行路徑流量監控,如果網絡中路徑流量無異常,則能成功輸出與預設路徑相一致的路徑和流量信息(見圖10)。
為了更全面的對路徑流量監控模塊進行有效性驗證,實驗設計了三組不同的訪問方式:“相同源IP訪問不同目的IP”、“不同源IP訪問相同目的IP”、“不同源IP訪問不同目的IP”。
1)相同源IP地址訪問不同目的IP地址
由表1可見,當主機h1同時訪問h0和h3時,訪問h0的數據包量是0.2萬個,訪問h3的數據包量是0.1萬個。流量監控反饋的結果可知,交換機s1、s3和s4中對應流表項的包匹配數目均為0.2萬個,與預設路徑一致;交換機s1、s2和s4中對應流表項的包匹配數目均為0.1萬個,與預設路徑一致。
2)不同源IP地址訪問相同IP地址
由表2可見,當主機h1和h2同時訪問目的主機h3時,h1訪問h3的數據包量是0.2萬個,h2訪問h3的數據包量是0.3萬個。流量監控反饋的結果可知,交換機s1、s2和s4中對應流表項的包匹配數目均為0.2萬個,與預設路徑一致。交換機s1、s3和s4中對應流表項的包匹配數目均為0.3萬個,與預設路徑一致。
3)驗證不同源IP地址訪問不同目的IP地址
由表3可見,當主機h1訪問h3,主機h2訪問h0時,h1 訪問h3的數據包量是0.5萬個,h2 訪問h0的數據包量是0.4萬個。流量監控反饋的結果可知,交換機s1、s2和s4中對應流表項的包匹配數目均為0.5萬個,與預設路徑一致。交換機s1、s2和s4中對應流表項的包匹配數目均為0.4萬個,與預設路徑一致。
通過上述三組實驗,成功驗證了通過交換機流表項的匹配數目,動態衡量網絡路徑流量,對路徑流量進行實時監控的有效性。

圖10 路徑流量監控Fig.10 Route traffic monitoring

表1 主機h1同時訪問h0和h3Tab.1 Host h1 simultaneous access to the host h0 and h3

表2 主機h1和主機h2同時訪問h3Tab.2 Host h1 and h2 simultaneous access to the host h3

表3 主機h1訪問h3,主機h2訪問h0Tab.3 Host h1 access to the host h3 and host h2 access to the host h0
本文針對SDN網絡提出了一種路徑流量監控機制。該機制實現了對網絡路徑的制定,并通過監控OpenFlow交換機流表項的匹配次數,實現對路徑流量的實時監控。通過搭建Mininet與Open-Daylight的實驗環境,對路徑規劃的正確性以及路徑流量監控的有效性進行了驗證。
[1] 李進文. 基于云計算的網絡異常檢測算法研究[D]. 鄭州:鄭州大學, 2015. LI J W. Network anomaly detection algorithm based on cloud computing[D]. Zhengzhou: Zhengzhou University, 2015.
[2] 李天楓. 大規模網絡異常流量云檢測平臺研究[D]. 天津:天津理工大學, 2015. LI T F. Research of large-scale network traffic anomaly cloud detection platform[D]. Tianjin: Tianjin University of Technology, 2015.
[3] 吳繪萍. 云計算數據安全技術探討[J]. 軟件, 2014, 35(1): 138-139 WU H P. Cloud computing data security technology to explore[J] Software, 2014, 35(1): 138-139
[4] 常莉. 淺析校園網絡流量的監控策略[J]. 信息與電腦: 理論版, 2010(2): 208. CHANG L. Monitoring policy of campus network traffic [J]. Information and Computer: Theory Edition, 2010 (2): 208.
[5] 許堅. 計算機網絡流量監控的設計與實現[D]. 成都: 電子科技大學, 2012. XU J. Design and implementation of computer network traffic monitoring[D]. Chengdu: University of Electronic Science and Technology, 2012.
[6] Xia W F, Wen Y G, Xie H Y, et al. A Survey on Software-Defined Networking[J]. IEEE Communications Surveys & Tutorials, 2015, 17(1): 27-51.
[7] Tomovic S, Pejanovic-Djurisic M, Radusinovic I. SDN based mobile networks: concepts and benefits[J]. Wireless Personal CommunicationsAn International Journal, 2014, 78(3): 1629-1644.
[8] Kreutz D, Ramos F M V, EstevesVerissimo P, et al. Software-defined networking: acomprehensivesurvey[J]. Proceedings of the IEEE, 2015, 103(1): 14-76.
[9] Glover M, Kira A, Smith C. Network Innovation using OpenFlow: A Survey[J]. IEEE Communications Surveys & Tutorials, 1987, 16(1): 493-512.
[10] 劉靜, 郭景元, 賴英旭. 基于OpenFlow的流量監控架構實踐方案[J]. 北京工業大學學報, 2016, 42(05): 713-721. LIU J, GUO J Y, LAI Y X. Open Flow-based traffic monitoring architecture practices[J]. Beijing University of Technology, 2016, 42(05): 713-721.
[11] 陳凡, 劉果, 李劍鋒, 等. 主要軟件定義網絡控制器的對比和分析[J]. 軟件, 2015, 36(6): 97-102 CHEN F, LIU G, LI J F, etc. Comparison and analysis of software-defined network controller[J]. software, 2015, 36(6): 97-102
[12] 柯友運. 面向SDN的路由算法研究[J]. 中國科技信息, 2014(22): 131-134. KE Y Y. Routing Algorithm for SDN[J]. China Science and Technology Information, 2014(22): 131-134.
[13] 徐秋伊. 基于SDN的路由映射算法的設計與實現[D]. 北京: 北京郵電大學, 2015. XU Q Y. Design and implementation of route mapping algorithm based on SDN[D]. Beijing:Beijing University of Posts and Telecommunications, 2015. (in Chinese)
[14] Mininet Team. Mininet[OL]. [2016-8-1]. http://mininet.org/.
[15] 劉果, 陳凡, 李劍鋒, 等. 構建SDN仿真實驗平臺的探討與實踐[J]. 軟件, 2015, 36(6): 103-108 LIU G, CHEN F, LI J F, etc. Research and Practice of SDN simulation platform[J] Software, 2015, 36(6): 103-1082
[16] Wikipedia. OpenDayLight[OL]. (2016-7-26) [2016-8-1]. https:// en.wikipedia.org/wiki/OpenDaylight_Project.
[17] Wikipedia. OpenVSwitch[OL]. (2016-7-6) [2016-8-1]. https:// en.wikipedia.org/wiki/Open_vSwitch.
A Mechanism of Path Planning and Monitoring in SDN Network
WU Jing-jing, WANG Gan-fu, WANG De-qiang, HU Ming-ming
(College of Computer Science, South-Central University for Nationalities, Wuhan430074, China)
In order to realize the path planning based on user demand, and real-time monitoring of network path traffic, providing adjusted basis of the pathto the network administrator. The Paper uses software-defined network (SDN) characteristics that control and forwarding separation, design a mechanism planning path and monitoring in SDN Networks. Based on the preset path to generate and issued flow table entries, to realize the network path planning. And according to the number of matches in flow table entries of OpenFlow switch, dynamic measuring network traffic path, to achieve real-time monitoring of the path traffic. On the experimental platform based on Mininet and OpenDayLight verify correctness of the path planning and effectiveness of the path traffic monitoring.
Software-defined network; Path planning; Traffic monitoring
TP393
A
10.3969/j.issn.1003-6970.2016.08.018
吳京京(1992-),女,研究生,主要研究方向:高級計算機網絡;王敢甫(1989-),男,研究生,主要研究方向:高級計算機網絡;王德強(1990-),男,研究生,主要研究方向:軟件定義網絡;胡明明(1993-),女,研究生,主要研究方向:軟件定義網絡。夠實現對流量路徑的規劃,以及路徑流量監視功能。路徑規劃主要是通過下發具有重定向功能的流表項來實現。路徑流量監視主要是利用控制器自身對數據平面流量的收集,通過分析交換機流表項的匹配次數,來動態衡量網絡路徑流量,達到路徑流量實時監視的目的。最后,通過搭建Mininet[14,15]數據平面仿真與OpenDayLight[16]控制器的實驗環境,驗證SDN網絡中路徑規劃和路徑流量監視的正確性與合理性。