穆琙博 中國信息通信研究院通信標準研究所工程師
郭晨 中國信息通信研究院電信設備認證中心助理工程師
馬軍鋒 中國信息通信研究院通信標準研究所高級工程師
基于OpenFlow的SDN測試技術的研究
穆琙博 中國信息通信研究院通信標準研究所工程師
郭晨 中國信息通信研究院電信設備認證中心助理工程師
馬軍鋒 中國信息通信研究院通信標準研究所高級工程師
當前,SDN產業蓬勃發展,特別是支持OpenFlow協議的SDN交換設備得到了業界主流設備制造商的大力支持。然而,隨著商用化應用的不斷深入,SDN產業遇到了一些問題,如市場競爭紊亂、設備良莠不齊等。要推動SDN產業進一步向規范化和標準化的方向發展,就必須從測試工作入手,借鑒傳統設備的測試經驗,對SDN設備的測試方法和測試工具進行全面研究,找出符合SDN設備特點的測試技術。
SDN OpenFlow ONF OF-Test
SDN(Software Defined Networking,軟件定義網絡)是一種新型的網絡架構技術,其最大特點在于控制與轉發分離,網絡控制集中以及網絡能力向上層應用開放。SDN這種全新的網絡架構和靈活的軟件編程能力,為應對現有網絡基礎構架在投資成本、運維復雜性和可管理性方面存在的缺陷提供了可靠的解決方案。OpenFlow作為一種實現SDN體系內控制器和轉發設備之間的標準通信協議,得到了業界的廣泛關注。自ONF(Open Networking Foundation,開放網絡基金會)2009年12月發布OpenFlow協議1.0版本以來,到2014年12月先后推出了多個版本,最新版本是1.5。如今,OpenFlow協議開始走向市場。在當前的SDN產業中,支持OpenFlow協議的SDN設備得到了世界各大廠商的大力推崇,這使得OpenFlow協議逐步成為業界認可的主流南向協議標準之一。
隨著OpenFlow協議商用化應用的不斷深入,SDN產業需要進一步向規范化和標準化的方向發展。特別是對于支持SDN南向接口的交換設備,當前的市場競爭日益激烈,設備產品卻良莠不齊,這已經成為阻撓產業繼續前進的瓶頸問題。從傳統設備的發展歷程來看,公認有效的測試技術將成為解決這一問題的唯一方法。

圖1 ONF提出的SDN構架
從ONF提出的SDN典型架構來看(見圖1),SDN的測試應該由控制器和交換設備測試兩部分構成。然而,與南向接口已形成OpenFlow等國際標準不同,北向接口方面目前還缺乏業界公認的標準。因此,當前SDN的測試工作主要圍繞支持OpenFlow協議的交換設備展開。
對于一種新的網絡協議,尤其是OpenFlow這種仍然處于發展中,定義詮釋和協議范圍在不斷升級變化的通信協議,要進行相關測試,就應當遵從易于擴展,逐步深入的原則逐一展開工作。按照這一指導思想,對基于OpenFlow的SDN測試方法可以按照如下順序依次展開研究:
●功能測試。
●協議一致性測試。
●互通性測試和性能。
●可擴展性。
●穩定性測試。
2.1 功能測試
功能測試主要用于對交換設備的功能進行測試和驗證。在開始進行SDN交換設備的測試工作時,通常應當首先進行功能測試。這一方面是因為OpenFlow協議標準不僅定義了交換設備必須支持的必選功能,還定義了許多可選功能,而目前主要設備制造商對此的支持力度不盡相同;另一方面,考慮到當前的SDN網絡已經廣泛應用于云數據中心、寬帶傳輸網絡、移動網絡等多種場景之中,廠商在不同場景下實現Open-Flow協議時,往往會根據場景需要增減一些功能,因此率先明確被測設備支持的功能情況,將成為設計其他測試案例的先決條件。
目前的功能測試,按測試范圍可以分為回歸和新功能測試兩種。二者的區別在于,回歸測試要求測試時,確保新增加的功能與之前功能的兼容性,即測試每個新增的測試點時,都必須對當前所有的功能進行統一測試;而新功能測試可以只關注新增加測試點的實際情況。功能測試常用的拓撲結構參見圖2。
2.2 協議一致性測試
協議一致性測試主要是圍繞交換設備對OpenFlow協議的符合情況進行測試和驗證。與功能測試相比,一致性測試更為正式,通常需要根據被測設備的實際情況,對協議規范的每個子部分情況以及相關子部分組成的組合情況進行遍歷測試,以保障交換設備能夠正常執行Open-Flow協議。一致性測試是進行交換設備認證的基礎,也是設備之間進行規范性比較的起點,為后續的互通性測試奠定了基礎。
當前OpenFlow的協議一致性測試主要由ONF的測試和互通性工作組負責指導,ONF還在北美、歐洲和亞洲地區與世界知名的研究機構和實驗室進行合作,設立了六大測試認證中心,負責開展OpenFlow的協議一致性測試活動。截止到目前,ONF發布了面向OpenFlow1.0版本的一致性測試規范,針對1.3版本的一致性測試規范正在推進當中。
一致性測試的測試內容主要包括正向和反向測試兩部分。其中,正向測試指規范提到的功能和選項都必須得到正確的結果,而反向測試則關注被測設備在輸入不正確的前提下如何運行。一致性測試常用的拓撲結構參見圖3。
2.3 互通性測試

圖2 功能測試拓撲圖
互通性測試是指不同廠商交換設備之間進行互聯互通能力的測試。互通性測試是成功部署OpenFlow產品所必須的第一步工作。通過對多廠商設備進行互通性測試,SDN網絡設備可以避免局限于特定產品,進而促進了市場的有益競爭,推動了產業的發展。
基于OpenFlow的互通性測試工作當前還處于初級階段。ONF早在2012年4月就發布了互通性測試的技術白皮書,到2013年6月,ONF開始組織基于Open-Flow互通互聯的Plugfest測試。盡管這些活動推進了產業的發展,但也暴露出OpenFlow協議在互通性方面的一些問題。

圖3 一致性測試圖
(1)鏈路發現問題
支持OpenFlow的交換設備依賴LLDP(鏈路發現層協議)來提供路徑信息,而LLDP是一種獨立于OpenFlow協議的鏈路發現協議,其向上API在與OpenFlow協議的配合方面存在不協調的問題。
(2)指令集復雜問題
對比傳統交換設備,OpenFlow協議支持的基本指令集相對復雜。因而,在設計互聯互通測試案例時,案例復雜度也應當相應有所提高。然而,從目前的測試情況來看,互通性測試仍然局限在簡單的鏈路拓撲發現,進一步如何開展指令協同的測試工作仍然處于討論階段。
2.4 性能、可擴展性和穩定性測試
性能測試是指對交換設備的性能進行測試。由于SDN交換設備的發展目標是替代傳統的交換設備,因此性能測試將是具有決定性意義的測試指標,同時考慮到OpenFlow設備的商用可行性,可擴展性和穩定性也將成為重要的測試指標。借鑒傳統交換設備的測試點和測試方法,本文給出對SDN交換設備進行性能、可擴展性和穩定性測試的相關指標:
(1)性能測試
●吞吐量:以Mbit/s為單位,考察SDN交換設備每秒成功轉發的數據量,包括單端口和整機設備兩種吞吐量。
●延時:以ns為單位,考察SDN交換設備在不同幀長格式下的數據包延遲情況。
●連接速度:以每秒連接數為單位,考察SDN交換設備與控制器之間建立連接的速率。
(2)可擴展性測試
●表容量:考察SDN交換設備上流表、Meter表和組表的容量。
●端口數:考察SDN交換設備上邏輯、物理和預留端口的數量。
(3)穩定性測試
●鏈路切換時間:考察SDN交換設備在進行不同路徑切換時的延時數值。
隨著SDN測試工作的不斷成熟,在ONF方面,一套命名為OF-Test的開源測試軟件被指定為標準測試工具;隨后,兩大傳統測試設備廠商Ixia和Spirent紛紛主動出擊。較早加入ONF,并在測試與互通性小組承擔領導工作的Ixia,在OpenFlow1.0測試規范的基礎上,推出了一套一致性測試套件IxAnvl;同時,Spirent則與InCNTRE實驗室合作,以OF-Test為基礎,開發出ITest測試套件;其他各個學術機構和公司組織也紛紛推出自己的測試工具套件。綜合考慮之后,包括兩大主要設備廠商在內的大多數測試工具套件,大多數都是基于OF-Test集成開發而成。因此,分析清楚OF-Test軟件的工作原理和組件構架,對于進行SDN測試工具的研究工作意義重大。
OF-Test是一套使用Python語言開發的開源測試軟件,其涵蓋內容包括基于OpenFlow交換機標準規范的測試框架和相應的測試例集合。OF-Test遵循Python標準庫的Unittest構架,擴展實現了相應的測試功能。
(1)工作原理
如圖4所示,OF-Test通過控制和數據平面兩部分發揮作用。控制平面模擬了SDN網絡的控制器部分和OpenFlow協議的控制信道;數據平面則模擬了測試交換設備所必須的流量信道和分析組件。被測設備同時與OF-Test的控制平面和數據平面相連通,協調兩個平面完成測試工作。

圖4 OF-Test工作原理圖
(2)模塊功能
如圖5所示,OF-Test軟件主要由初始化、核心、協議實現和測試例模塊構成。

圖5 OF-Test模塊組件圖
●初始化模塊
全局環境的初始化配置模塊。作為OF-Test軟件的入口部分,初始化模塊實現對各運行參數進行預指定的功能。
●核心模塊
OF-Test軟件運行的核心類,由控制平面核心類和數據平面核心類構成,主要實現控制器、控制信道和數據通道的核心功能。
●協議實現模塊
OpenFlow協議的實現模塊。通過API接口的方式,協議實現模塊向核心模塊和測試例模塊提供對OpenFlow協議的支持。
●測試例模塊
OF-Test軟件進行測試時運行的各個測試腳本。通過運行符合ONF測試規范的測試例,OF-Test可以判斷被測設備對OpenFlow協議的實際支持情況。
OF-Test軟件的正常運行,還需要得到標準函數模塊和運行平臺模塊的支持。
●標準函數模塊
OF-Test依賴的Python標準函數模塊主要包括線程、時鐘、標準輸入輸出和日志模塊。這些模塊為OF-Test軟件構架提供了繼承的基礎,因此也是OF-Test軟件的基礎。
●運行平臺模塊
Python用于測試的標準工具包Unittest是Oftest測試例模塊的主要運行平臺,因此OF-Test測試例的設計必須符合Unittest的結構要求。
SDN測試工作隨著SDN產業的不斷成熟而漸進發展,并逐步形成了規模。到目前為止,盡管得到了眾多學術機構和企業組織的支持,圍繞SDN技術的測試工作還是面臨一些困難。
(1)測試范圍的局限性
分析業界已經開展的測試活動,大都僅圍繞交換設備部分展開,而對于控制器部分及整體解決方案的測試工作,目前尚處于研究和探討階段。一方面,控制器北向接口的標準化工作進展緩慢;另一方面,從SDN網絡技術的設計初衷出發,控制器部分是否需要進行嚴格標準化,業界還未形成結論。
(2)測試規范嚴重滯后
從2009年12月開始截止到目前,OpenFlow協議已經發布了6個大的標準版本,十幾個階段性的標準版本。然而,ONF正式發布的測試規范仍然停留在最基本的1.0.1版本。測試規范不僅遠遠落后于Open-
華為在4月14日德國柏林舉辦的策略控制論壇(Policy ControlForum)上,榮獲2015年度“最佳流量管理解決方案獎”。該獎項充分肯定了華為在策略控制(PCC)行業的領先地位以及在流量經營領域所取得的成就和貢獻。
華為核心網產品線融合數據總裁王松濤發表獲獎感言時提到:“在MBB時代,運營商所面臨的最核心的問題就是如何在提供高價值服務以及用戶體驗的同時,將迅速增長的流量轉化為收入。華為流量經營解決方案能夠通過對網絡、業務的實時洞察,然后通過大數據分析對策略進行實時的動態調整和優化,最大程度提升網絡效率和用戶的體驗。”
華為在2015英特爾信息技術峰會上展示了其先進的COTS(通用硬件)服務器解決方案FusionEngine。該方案融合了華為深厚的通信積累和先進的IT技術,可以在電信網絡虛擬化場景下,保證電信業務所需要的高帶寬、低時延、高可靠等要求,為運營商多樣化的移動寬帶業務提供強大的支持。
作為一款電信級COTS服務器,FusionEngine為華為CloudEdge解決方案提供最佳的硬件平臺,構建面向未來的下一代MBB網絡架構。截止目前,FusionEngine已經在歐洲、中國等地運營商網絡中進行了預商用部署,為移動互聯網接入、手機游戲加速、位置服務等業務提供了強大的硬件支持,在中國某運營商網絡中,該方案的使用使手機游戲時延從350ms縮短到50ms。 Flow標準協議,也落后于SDN市場發展的需要。從CAICT(中國信息通信研究院)的ONF一致性認證實驗室的實際工作來看,目前市場上主流的SDN交換設備大多數已經支持OpenFlow1.3版本,然而ONF對于OpenFlow1.3版本的測試規范仍然處于討論階段。
(3)測試工具不成熟
OF-Test作為ONF唯一指定的標準測試套件,目前的開發進展與測試規范保持同步,面臨著嚴重的滯后問題。此外,OF-Test軟件運行時的界面友好性和測試結果展示時的界面友好性也值得進一步的升級。
(4)交換設備良莠不齊
當前主流的交換設備生產商紛紛推出了支持OpenFlow標準的交換設備,但從實際的測試工作來看,各廠家設備對于OpenFlow標準的真實支持情況參差不齊。這樣紊亂的市場現狀,阻撓了SDN產業的進一步發展,成為了繼續前進的瓶頸問題。
當今,SDN技術在ONF等國際組織的推動下,取得了長足的發展,其中最為突出的OpenFlow標準協議已經進入到了設備商用化階段。然而,到目前為止,要進一步推動SDN產業發展,應對當前市場競爭的紊亂現狀,業界必須由SDN相關的測試工作入手,根據SDN網絡的架構特點,從測試方法論到測試工具全面升級,只有這樣才能推動SDN產業更快、更好的向前發展。
1 劉露,陳清金,張云勇.對SDN技術的研究和思考.互聯網天地.2012
2 全球SDN技術標準進展.http∶//www.c114.net/news/212/ a771039.html.2013,6
StudyonSDNTestingTechnology BasedonOpenFlow
Nowadays, SDN industry embraces a booming development. SDN devices with OpenFlow protocol have gained the industry’s strongly support. However, as deeper growth of commercial use, SDN industry encounters serveral problems,such as chaos of market competition and mixed bag for devices. For further normalization and standardization development of SDN industry, it’s necessary to do testing work well first. Drawing lessons from traditional device testing work, a fully research on testing methodology and tools will be helpful to figure out the testing techology forSDNdevices.
SDN,OpenFlow,ONF,OF-Test
2015-03-30)