韓穎錚,王萌,陸以勤
(華南理工大學,廣東 廣州 510641)
軟件定義網絡(software-defined networking,SDN)是一種為解決傳統網絡面臨的問題和限制而提出的新的網絡架構。SDN架構具有控制平面和數據平面完全解耦、邏輯上集中化、網絡可編程的特點[1,2]。整個 SDN架構由數據層、控制層和應用層組成。數據層的抽象化和控制層集中化使得部署新的應用和服務變得更為簡單和快捷。應用程序無需了解網絡底層的結構,只需通過調用控制層提供的 API(應用程序編程接口)即可獲得網絡資源以滿足應用需求。
控制層與數據層之間的接口稱為南向接口,定義了控制層與數據層之間的信息交換過程。南向接口可以是設備廠商自定義的API(如ARISTA公司的EAPI、思科公司的OnePK等),或是開放 SDN 協 議 ( 如 OpenFlow、OpFlex、Netconf/YANG)訪問接口,也可以是設備命令行接口(CLI)或標準路由協議(如BGP、IGP)會話等。OpenFlow是目前最為主流、發展最快的一個南向接口協議[3]。OpenFlow 強調控制與數據分離,在轉發設備上維護流表(flow table),按流表進行數據轉發,流表的建立、維護及下發均由控制器來完成[4]。OpenFlow的流表結構將網絡處理層次扁平化,使得網絡數據的處理滿足細粒度的處理要求。BGP[5]是大型網絡設備上最成熟的協議之一,Internet骨干網所有路由器均支持該協議。控制器根據全網拓撲和狀態,計算路徑并通過BGP下發至路由交換機,不需要對現網設備的硬/軟件進行升級即可進行 SDN部署,大大降低了SDN的部署難度和成本。
以SDN創新應用為主要內容,提升網絡虛擬空間技術層次,適應網絡信息新技術人才培養的要求和特點,引領網絡技術及相關專業的教育教學改革,提高廣大高校的網絡技術與業界新技術、新協議的契合度,是一個非常值得研究和實踐的課題,國內已有相關的大型創新應用大賽的舉辦[6],實驗平臺是SDN教學及學生實踐的一個關鍵要素。當前大部分高校和研究機構以模擬軟件完成教學實驗,如參考文獻[7]提出了基于 Mininet的計算機網絡實驗教學方案,參考文獻[8]則采用 EstiNet構建仿真平臺。參考文獻[9]在利用SDN技術的基礎上引入了NFV、網絡服務編排等創新技術,自主設計開發了基于 SDN/NFV的未來網絡實驗平臺,該平臺為實驗者提供了良好的實驗體驗,但該平臺還是基于模擬仿真環境,并且搭建類似平臺需要深度的技術支撐團隊。模擬仿真環境下進行SDN實驗與實際環境是存在多方面的差異的,存在無法真實地反饋測試結果的情況。為解決這個問題,本文結合了虛擬化和云計算技術,提出并搭建了一種基于真實硬件環境和云計算的開放、創新實驗平臺,作為基于SDN的創新應用教學實驗和學科競賽平臺使用。
實驗平臺設計目標是構建整合多種實驗基礎設備、支持多用戶操作的開放式SDN實驗平臺。多種實驗基礎設備是指兼容各種SDN控制協議、兼容虛擬網絡和各種廠商實體設備。為實現這些目標,提出以下設計原則。
· 整合多種虛擬網絡實驗和實體網絡實驗:即提供多種實驗對象,在控制器方面有如Floodlight[10]、Pox[11]等開源控制器,也有VCF控制器、Agile控制器等廠商研制的控制器;在底層基礎網絡方面有如Mininet、OpenvSwitch等虛擬網絡,也有用廠商研制的實體設備搭建的實體網絡。
· 支持多用戶的遠程實驗、多次反復實驗:用戶通過互聯網進行遠程實驗,系統保留每個用戶的實驗環境文件,使用戶在實驗中斷后還可以再次繼續實驗,而不用在繼續實驗時又從頭開始,并且不同用戶的實驗不會互相干擾。
· 根據用戶預約進行實驗時間編排:因計算、存儲和實體設備資源均是有限的,為合理安排共享實驗,用戶預約實驗資源,平臺根據預約進行實驗時間編排。
基于以上原則,本文設計SDN創新實驗平臺由3個關鍵部分構成,即云平臺、控制器和底層基礎網絡。云計算平臺提供快速、按需、彈性的資源構建模式,能按照用戶的需求快速地構建計算資源和開發環境。云平臺、控制器、底層基礎網絡設備通過網絡互聯,控制器與底層基礎網絡設備之間互聯構成控制網絡。通過使用云平臺以及實驗各要素之間網絡互聯實現實驗平臺資源的優化構建和高效用比,并且實現不同控制器與底層基礎網絡之間的交替實驗,如圖1所示。

圖1 實驗平臺模型
本文采用云平臺搭建共享SDN資源和實驗環境,詳細部署如圖2所示。
實驗平臺采用了5臺通用服務器,相關的參數見表1。服務器之間通過高性能IP交換機交換數據。服務器1和服務器2為云主機,兩臺云主機通過多網卡一端連接實驗內網,一端連接校園網絡。通過iSCSI協議[12,13]將服務器1、服務器2和服務器3、服務器4和服務器5組成存儲資源池,其中服務器1和服務器2作為iSCSI的主機系統,服務器3~服務器5作為存儲設備。在服務器5部署了一個自主開發的預約系統ASVM。用戶訪問預約系統Web頁面,登錄個人賬號后查找空閑的實驗時間段進行預約。預約成功后用戶遠程控制虛擬機進行SDN實驗。實驗編排模塊是預約系統的后臺支撐,根據用戶預約安排用戶占用的實驗資源和時間,為用戶生成遠程實驗訪問的IP地址和端口號。

表1 云平臺服務器參數
用戶登錄云主機后以模板創建定制的虛擬機充當測試服務器節點,通過云主機多網卡橋接模式連接至底層的SDN節點,構建由獨立的服務器節點、控制器和底層網絡組成的真實SDN實驗環境;另外,為豐富用戶的多種控制器的選擇,在云主機上也部署了開源控制器,包括Floodlight[10]、Pox[11]等。

圖2 實驗平臺詳細部署
實驗平臺部署了兩套商用SDN及相應的廠商控制器,分別為OpenFlow網絡和BGP網絡。如圖2所示,控制器安裝在通用硬件服務器上,通過不同的網卡分別連接底層網絡和云平臺。實驗平臺的控制器提供了用戶友好的Web界面,用戶可以通過云平臺訪問控制器的Web界面,按需組建控制器功能模塊,采用控制器提供的API開發應用程序并部署到控制器上運行實驗。
根據模型設計完成部署工作后,對實驗平臺進行試運行,測試結果如下所述。
通過網絡登錄預約系統后的頁面如圖3所示。

圖3 實驗預約平臺
預約成功后成功登錄至目標云主機。通過云主機遠程訪問控制器頁面以實現遠程控制,圖 4所示為OpenFlow網絡控制器遠程控制頁面。

圖4 OpenFlow網絡控制器遠程控制頁面
分別對 OpenFlow網絡和 BGP網絡進行了SDN實驗測試。
在 OpenFlow網絡環境下設計一個簡單的連通性測試實驗,如圖5所示。控制器計算出路徑并下發流表。實驗嘗試斷開節點A與其他節點的鏈路,檢查兩臺服務器是否互ping成功,測試結果見表2。

圖5 OpenFlow網絡連通測試

表2 OpenFlow網絡環境下連通性測試
在BGP網絡環境下設計一個簡單的根據鏈路帶寬進行路由計算的測試實驗,如圖6所示,在控制器上運行路由算法,計算節點1和節點8之間的最優路徑,將路由表通過BGP下發至網絡節點中。圖6中加粗實線標記了控制器計算出的最優路徑:1→3→5→8。在這個實驗基礎上,加入當前帶寬占用情況等因素,就可以實現根據當前鏈路空閑帶寬進行路徑的動態調整實驗。
本文設計并部署了一個SDN實驗平臺,為開放、創新的SDN應用研究和開發提供了一個真實的實驗環境,整合了多種實體和虛擬網絡實驗環境,通過使用云平臺實現資源的優化構建和高效用比等特點。本文構建的SDN實驗平臺作為教育部科技發展中心舉辦的第一屆(2014年)、第二屆(2015年)和第三屆(2016年)全國高校SDN應用創新開發大賽的官方比賽平臺,經過實踐驗證了其實用性和價值性,現已開放給作者所在高校的學生和研究人員開展實驗。
參考文獻:
[1]ON Foundation.Software-defined networking (SDN) definition [EB].2017.
[2]RISDIANTO A C, MULYANA E.Implementation and analysis of control and forwarding plane for SDN[C]//International Conference on Telecommunication Systems, Services, and Applications, Oct 30-31, 2012, Denpasar-Bali, Indonesia.Piscataway: IEEE Press, 2012: 227-231.
[3]MCKEOWN N, ANDERSON T, BALAKRISHNAN H, et al.OpenFlow: enabling innovation in campus networks[J].ACM Sigcomm Computer Communication Review, 2008, 38(2):69-74.
[4]張朝昆, 崔勇, 唐翯祎, 等.軟件定義網絡的研究進展[J].軟件學報, 2015, 26(1): 62-81.ZHANG C K, CUI R, TANG H Y, et al.State-of-the-art survey on software-defined networking[J].Journal of Software, 2015,26(1): 62-81.
[5]REKHTER Y, LI T.A border gateway protocol 4 (BGP-4)[S].1995.
[6]華南理工大學信息網絡工程研究中心.華南理工大學成功舉辦首屆全國高校SDN大賽[J].中國教育網絡, 2014(9): 9.Network Research Center, South China University of Technology.South China University of Technology successfully held the first national university SDN competition[J].China Education Network, 2014(9): 9.
[7]黃家瑋, 韓瑞, 鐘萍, 等.基于Mininet 的計算機網絡實驗教學方案[J].實驗技術與管理, 2015, 32(10): 139-141.HUANG J W, HAN R, ZHONG P, et al.Plan of computer network experimental teaching based on Mininet[J].Experimental Technology and Management, 2015, 32(10): 139-141.
[8]WANG S Y, CHOU C L, YANG C M.EstiNet OpenFlow network simulator and emulator[J].IEEE Communications Magazine, 2013, 51(9): 110-117.
[9]魏亮, 李蓉, 吳正東, 等.基于SDN/NFV的未來網絡實驗平臺[J].電信科學, 2017, 33(4): 39-47.WEI L, LI R, WU Z D, et al.Future network experiment platform based on SDN/NFV[J].Telecommunications Science,2017, 33(4): 39-47.
[10]ABDULLAH T.Testing of floodlight controller with Mininet in SDN topology[J].Sciencerise, 2014, 2(5): 158.
[11]RAMADONA S, HIDAYATULLOH B A, SISWANTO D F,et al.The simulation of SDN network using POX controller:case in Politeknik Caltex Riau[C]//International Conference on Telecommunication Systems Services and Applications,Nov 25-26, 2015, Bandung, Indonesia.Piscataway: IEEE Press, 2015: 1-6.
[12]XINIDIS D, BILAS A, FLOURIS M D.Performance evaluation of commodity iSCSI-based storage systems[C]//Twenty-second IEEE NASA Goddard Conference on MASS Storage Systems and Technologies, Apr 11-14, 2005, Monterey, California, USA.Piscataway: IEEE Press, 2005: 261-269.
[13]LU Y, DU D H C.Performance study of iSCSI-based storage subsystems[J].IEEE Communications Magazine, 2003, 41(8):76-82.