徐 雷 張云勇 熊 微
在移動互聯網時代,運營商面臨內外夾擊的困局。就自身而言,傳統的流量增長—網絡擴容—收入增長的商業模型正在逐漸失效,龐大、僵化的電信基礎網絡已不能很好地滿足用戶日益豐富和變化的需求;就競爭對手而言,互聯網企業的業務快速迭代,能夠很好地契合用戶不斷變化的需求,同時,OTT服務商不斷推陳出新的各類移動互聯網業務也強烈沖擊著運營商傳統業務市場,使得運營商相關服務收入停滯甚至下降,并且在網絡中越來越趨向于管道工的角色[1]。目前,全球運營商普遍面臨增收放緩、利潤下降的困境。電信行業資訊公司OVUM在其發布的行業報告中指出,預計到2016年OTT社交通信應用將使電信運營商短信收入減少540億美元;預計到2018年,OTT網絡電話將使全球電信行業的收入減少630億美元。面對如此困局,運營商正在積極探索解決之道,一方面希望能夠打破專有硬件設備的壟斷,構建基于標準硬件的通用平臺;另一方面希望能夠快速靈活地進行業務迭代,滿足用戶差異化需求,提升與互聯網企業開展有效競爭的能力。
隨著云計算概念的普及和X86服務器性能的提高,網絡功能虛擬化技術(Network Function Virtualization,NFV)順應電信IT化的趨勢,作為一項新的網絡技術進入了大眾視野。將NFV技術應用到電信網絡中,能夠大幅提升網絡的靈活性,有利于新業務的開發和部署,實現業務的靈活配置,提升網絡的管理和維護效率[2]。對運營商而言,NFV是一次改變困局、實現跨越發展的難得機遇,在降低CAPEX和OPEX成本及整體TCO的同時,還能加速新產品推出和業務創新。
NFV和SDN作為下一代網絡的革新技術已成為業界共識,從2012年NFV概念提出至今,NFV在標準化、部署應用和行業影響力上快速發展。標準組織積極地開展相關標準的制定,國內外運營商也紛紛試水NFV,推動并促進廠商進行NFV設備和SDN網絡的廣泛部署,使其市場規模不斷擴大,全新的生態環境和產業鏈正逐漸形成。隨著NFV進入快速發展期,運營商的管理研發體系及其與設備商的關系也將發生改變,CT和IT融合將更加深入。
在當前網絡部署的各種設備中,各類網元被封裝在獨立的盒子內且網元間的硬件資源無法互用。為了適應新的業務需求,增加網絡服務能力,通常采用增加硬件的方式為設備擴容,而縮容后硬件資源閑置,這種方式不僅耗時長、彈性差并且成本較高;在NFV技術體系下,通過硬件最小化來減少依賴硬件,其實質是將網絡功能從專用硬件設備中剝離出來,實現軟件和硬件解耦后的各自獨立。各種網元被虛擬化成獨立的功能應用,可以被靈活部署在基于標準的服務器、存儲和交換機構建的平臺上,使得軟硬件解耦,各類網元功能應用可通過快速增加/減少虛擬資源實現快速擴容/縮容的目的,從而有效提升網絡的彈性和靈活性。
NFV的技術基礎主要是云計算和虛擬化[3],虛擬化技術能將通用的計算、存儲、網絡等硬件設備分解為多種虛擬資源,實現應用與硬件解耦,根據需要實現網絡功能及動態靈活部署;云計算技術可以實現應用的彈性伸縮及資源和業務負荷的匹配,不但提高了資源利用率,而且保證了系統響應速度。
NFV的提出在給產業界網絡架構帶來新變化的同時,也提出了新的設計需求[4]。主要包括以下三個方面。
1)基礎硬件平臺的可編程性。為實現與業務無關的資源池化能力,計算、存儲及轉發設備應當在保證性能的前提下,提供可編程的邏輯內核和易于調用的應用接口。可編程硬件將逐步替代傳統專用硬件,實施過程則依賴于網元結點的功能屬性、性能要求、成本等多種因素的綜合影響。
2)基礎硬件之上將加載虛擬化和云計算平臺軟件。云平臺軟件既對計算、存儲和網絡設備等資源進行調度和管理,又為上層業務顯現提供一個開放的運行環境;因此,這就要求云平臺軟件必須具備高度的開放性,不僅能支持多種硬件共存的異構網絡環境而且可提供健康的生態系統。OpenStack作為當前得到廣泛應用的開源云平臺,圍繞可靠、安全、性能、應用體驗等方面的需求提供相應的功能,確保NFV架構的開放、穩定和高效。
3)NFV架構將硬件、中間件與軟件實現解耦,因此,各類上層業務和功能作為軟件模塊能夠進行靈活的集成與部署。
在傳統標準化工作開展的同時,開源組織也對NFV進行積極推動。2014年9月30日,由AT&T、中國移動、戴爾、惠普等運營商和設備商與Linux基金會合作聯合發起成立了NFV開放平臺項目(OPNFV)的開源組織,旨在通過開源組織的力量開發符合NFV需求和架構的虛擬資源層軟件,構建一個完整的NFV實現標準,并于2015年6月發布了首個版本Arno。
ETSI NFV參考架構中,MANO主要由VIM、VNFO和VNFM等組件組成。在標準研發的基礎上,NFV的落地實現和一批相關開源組織緊密相聯,如OPNFV、OpenStack、KVM、OpenvSwitch、ONOS、OpenDaylight等,這些都為NFV的落地提供了技術參考。以OPNFV為代表的NFV開放平臺項目,旨在集中服務提供商、云計算基礎設施廠商、開發者和用戶,為行業定義一種運營商級的集成開源參考平臺,把現有開源構件與新組件及測試整合在一起,確保多種開源組件間的一致性、性能和互通性,從而加快NFV的開發和部署。
目前,國內外越來越多的組織或企業通過開源的方式開放相關組件的功能,從而更加快速地推動NFV在功能及性能上的發展。
開源OPNFV項目于2015年6月正式公布第一版NFV開源框架Arno,該版本聚焦ETSI NFV參考架構中的NFV基礎設施(NFVI)和虛擬架構管理(VIM),為NFV上層VNF和業務編排系統提供了一個運營商級的、集成的、開源的底層能力平臺。Arno不只是第一個針對NFV推出的開放源碼平臺,還為開發者提供更方便開發和部署NFV的環境。
在可用性方面,Arno能夠持續集成、自動化部署和測試上行項目的組件,如:Ceph、KVM、OpenDaylight、OpenStack和Open vSwitch。Arno允許開發者和用戶自動安裝,并在平臺進行探索。在部署測試方面,Arno允許終端用戶和開發者在其上部署自己的或者第三方的VNF,在多種場景和案例下進行VNF的功能和性能測試。在測試架構方面,Arno提供了一個基于社區測試的實驗基礎架構(Community Test Labs Infrastructure),這個架構能夠讓開發人員可以在不同的NFV場景和硬件條件下測試實驗平臺,確保多種開源組件能同時滿足供應商和終端用戶的需求。
西班牙電信公司Telefónica于2 0 1 5年初將自身研發的OpenMANO代碼開源通過GitHub門戶向開源社區正式發布。OpenMANO包含openvimd、opennanod和openmano-gui三部分及兩個命令行客戶端(openvim和openmano)。該平臺雖然實現了符合ETSI NFV參考架構中的NFVO功能框架,但并沒有實現同底層VIM的接口。
N F V網絡功能的軟硬件解耦及功能抽象的本質,降低了企業進入到通信領域的門檻。伴隨著NFV相關技術的不斷發展,目前,已經出現了開源的VNF,如OpenEPC(http://www.openepc.com)、OpenIMS(http://www.projectclearwater.org/)等。它們以純軟件的方式,對原有電信網元功能進行了實現,更適合云平臺的承載。

圖1 NFV標準架構與開源軟件對照
NFV涉及諸多領域,包括底層基礎設施資源(包括計算、存儲、網絡)、虛擬網絡功能(各類電信服務)、綜合管理(資源管理、VNF管理)、業務編排和網管等,而且不同模塊可有多種不同實現技術手段,各模塊對開源技術的選擇可能會直接影響到所搭建的NFV平臺的性能,因此,搭建一套完整的NFV平臺是一個較為復雜的系統工程。目前,對NFV不同模塊開源實現的研究較多,但是缺少從整體視角出發利用這些分散的開源技術搭建整套NFV實驗平臺方面的研究。本文參考ETSI NFV整體架構,根據在NFV開源平臺搭建及開源軟件使用方面的實踐經驗,提出一個利用開源平臺搭建NFV實驗平臺的通用架構及其技術選擇方案,為今后開展相關NFV驗證及測試提供支撐。
本文所提出的NFV平臺通用架構是建立在ETSI NFV參考架構框架之上,它將開源軟件/平臺對應到NFV標準框架的各個模塊中去,從而快速搭建NFV試驗平臺,實現網絡服務的編排、部署、可靠性以及彈性擴展等端到端的業務驗證及性能測試,具體如圖1所示。
NFV基礎設施硬件部分主要為底層云平臺提供計算服務器、存儲服務器以及相關的網絡設備。服務器的選型方面,建議采用支持硬件輔助虛擬化的同一類型的服務器,計算服務器對CPU及內存要求較高,存儲服務器對磁盤IO要求較高,同時,為提高虛擬服務器的存儲性能,無論是使用本地存儲還是共享存儲,建議增加SSD硬盤,從硬件上提供虛擬存儲的性能;在網絡設備選型方面,為使網絡設備的轉發能力不影響虛擬網絡服務的正常運行,建議配置萬兆交換機,同時可以選擇SR-IOV網卡來提高虛擬機的網絡轉發性能。基于以上原則,在NFV基礎設施硬件選擇方面提供以下建議。
1)計算服務器。建議采用支持虛擬化功能的多核CPU,大內存,2個千兆網絡、2個萬兆網卡的X86服務器。
2)存儲服務器。建議采用至少2個千兆網絡、2個萬兆網卡的X86服務器。
3)網絡設備。建議采用萬兆交換機。
NFV基礎設施軟件部分主要是云平臺在虛擬計算、虛擬網絡和虛擬存儲方面使用相關的軟件來提升虛擬基礎設施的性能,從而滿足虛擬網絡服務的業務需求。在虛擬計算加速方面,增強支持在NUMA類型宿主機上的分配、支持虛擬CPU到物理CPU的綁定以及支持在虛擬機中的大頁面分配等;在虛擬存儲加速方面,增強共享存儲支持SSD和支持多vm共享內存訪問等;在虛擬網絡方面,增強基于DPDK的OVS和增強支持SR-IOV等。基于以上原則,在NFV基礎設施軟件選擇方面提供以下建議。
1)虛擬計算。建議采用KVM;如果進行虛擬計算性能測試,可以通過DPDK技術實現虛擬計算能力的增強。
2)虛擬存儲。建議采用CephGiant版本;如果進行虛擬存儲性能測試,可以通過SSD硬件實現虛擬存儲性能的增強。
3)虛擬網絡。建議采用Openvswitch2.3.0以上;如果進行虛擬網絡性能測試,可以通過DPDK或SR-IOV等技術實現虛擬網絡性能的增強。

圖2 基于Openstack和Opendaylight的VIM融合方案
VIM作為底層虛擬基礎設施的管理平臺,不僅要完成對虛擬網絡、虛擬計算、虛擬存儲的統一管理,同時對上層的網絡功能編排及管理系統提供底層虛擬基礎設施的能力抽象。采用云計算和SDN技術來實現VIM的搭建是目前較為公認的方法,而使用開源項目Openstack和OpenDaylight的融合構建方案已然成功業界首推的技術方案。Openstack完成底層虛擬資源的統一管理與調度,而OpenDaylight控制器以插件的方式集成到Openstack中完成對虛擬網絡的靈活管理。基于以上原則,在VIM選擇方面建議采用OpenStackJuno+OpenDaylightHelium版本。
圖2描述的就是基于Openstack和Opendaylight的VIM融合方案的整體架構。
Openstack Neutron包含ML2機制驅動,該機制驅動(ODL)作為REST代理能夠調用所有的Neutron API。ODL包含北向REST服務(Neutron API服務),能夠調用這些代理API緩存數據并可用于ODL的其他服務。
OpenDaylight與Neutron進行通信是采用Neutron網絡節點上的ML2插件,并使用經由北向通信的REST API。例如OpenStack用戶執行任何網絡相關操作(創建/更新/刪除/讀取網絡網絡、子網和端口等資源),典型流程將如下所示。
1)OpenStack儀表板(Horizon)上的用戶操作將被轉換成相應的網絡API,并發送到Neutron服務器;
2)Neutron服務器收到請求后,將同一請求傳遞給已配置的插件(假設ML2已配置好了ODL機制驅動和VXLAN類型驅動);
3)Neutron服務器/插件會對數據庫做適應的變動;
4)插件會調用與SDN控制器對應的REST API;
5)當收到請求,ODL會使用任何南向插件/協議,比如OpenFlow、OVSDB或OF-Config,對網絡元素做必要的變化。
需要注意的是,SDN控制器和OpenStack方面存在不同的集成選項。比如說,可以完全消除Neutron服務器與計算節點上的代理之間的RPC通信,SDN控制器作為管理網絡的唯一實體;或者SDN控制器只由物理交換機管理,虛擬交換機可以從Neutron服務器直接管理。

圖3 vEPC和vIMS部署示例
建議每個VNF以Openstack平臺鏡像的形式提供,每創建一個VNF實例即在Openstack云平臺中創建一個其鏡像對應的虛擬機實例。每一個VNF提供商需要提供與VNF相對應的VNFM,VNFM的南向接口需要同Openstack集成,而北向接口需要符合VNFO的接口規范要求。
不同的運營商可以根據自身的情況定制網絡服務的編排流程,對應VNFO在網絡服務模板以及虛擬網絡功能模板的定義會存在一定的差異,因此,VNFO需根據實際情況定制化開發,但其調用VIM的接口需要符合Openstack接口。
一個網絡服務(NS)的實現需要一個或一組虛擬化網絡功能(VNFs),以及一組相關聯的NFV基礎設施(NFVI)共同組成來實現。針對IMS的服務功能就需要多個VNF(包括ELLIS、HSS、PSCSF、ISSCSF以及XDMS)構成,以及虛擬資源支撐。以本文中涉及到的vEPC和vIMS為例,具體網絡服務如圖3所示。
本文提供了一個NFV平臺通用架構,它主要建立在ETSI NFV參考架構框架之上,利用相關開源平臺快速搭建NFV試驗平臺,從而實現網絡服務的編排、部署、可靠性以及彈性擴展等端到端的業務驗證及性能測試,為運營商開展NFV實踐提供了參考。
參考文獻
[1]許陽,高功應,王磊.移動互聯網時代后向OTT合作業務及移動網絡架構演進[J].郵電設計技術,2015,(8):32-35
[2] 薛淼,符剛,朱斌,等.基于SDN/NFV的核心網演進關鍵技術研究[J].郵電設計技術,2014,(3):16-22
[3]ETSI ISG NFV.Network Function Virtualisation White Paper[S].2013
[4]ETSI ISG NFV.Network Functions Virtualisation(NFV):Architectural Framework[S].2013