◆李蘭蘭
(南京航空航天大學金城學院 江蘇 211156)
網絡功能虛擬化技術的發展與挑戰
◆李蘭蘭
(南京航空航天大學金城學院 江蘇 211156)
本文首先引入網絡功能虛擬化技術的產生背景及其概念內涵,接著介紹了網絡功能虛擬化技術具有的幾大優勢,最后著重探討了網絡功能虛擬化技術面臨的一些挑戰,包含網絡性能、虛擬機的分配和遷移,虛擬功能網元外包等問題,以及這些問題目前的研究進展。
網絡功能虛擬化;網絡性能;虛擬機分配
隨著互聯網的飛速發展,網絡中的網絡設備種類和功能越來越豐富。傳統網絡中的網絡設備是軟硬件一體化的,意味著當引入一種新的網絡功能時,需完整地重新開發新的專用硬件設備。硬件設備的技術開發難度、空間放置、能耗、管理復雜度等使得網絡開發、運維成本急劇增加,新業務帶來的利潤增長和不斷攀升的投入成本相比越來越微弱。在這個背景下,網絡功能虛擬化(Network Function Virtualization,NFV)概念誕生了。
2012年10月,十幾家全球頂級運營商在德國召開的SDN&OpenFlow世界大會上首次發布NFV白皮書[1]。2012年11月,世界幾大知名運營商在歐洲電信標準協會(ETSI)發起成立了一個新的網絡功能虛擬化標準工作組NFV ISG(Industry Specification Group),該組織致力于促進網絡功能虛擬化技術的快速發展,陸續發布包括用例、需求、架構、術語、POC、白皮書等一系列公開文檔。
全球知名電信運營商是NFV技術誕生的主要推手,NFV在電信行業具有廣泛的發展空間,但這不表示電信運營商網絡是NFV唯一的用武之地,除了電信運營商基礎設施網絡,NFV也可應用于enterprise network或公共云中,如對防火墻、IDS、代理等中間盒虛擬化。
NFV工作組的研究目標是希望通過采用標準化的IT虛擬化技術,把多種網絡專業設備統一到業界標準的大容量的服務器、交換機和存儲平臺上,在這些業界標準平臺上承載各種各樣的網絡軟件功能,實現軟件的靈活加載,實現在數據中心、網絡節點和用戶端等各個位置靈活的部署配置[1]。
NFV技術對傳統的專用設備進行軟硬件解耦,把網元功能從網絡專用硬件中分離出來。NFV網絡分為網絡功能層、虛擬資源層和硬件資源層三層,傳統網絡硬件的軟硬件緊耦合特征會造成硬件資源的大量浪費、新業務部署成本高昂、運營管理成本居高不下。NFV通過虛擬化技術,將網絡功能從傳統網絡硬件中解耦出來,引入虛擬資源層,把功能網元彈性部署在虛擬機上,而下層硬件資源對于上層的功能網元來說是不可見的,運營商則對下層硬件資源進行統一管理和調度。硬件資源的統一管理、資源池化,功能網元部署的靈活性和動態性使得新業務的開發不再依賴特定硬件平臺,降低了新業務開發的成本和難度、縮短了新業務的推出時間,大大節省了電信行業運維管理成本。
相比于傳統網絡設備,NFV將帶來以下三個不同:
(1)軟硬件解耦:軟件和硬件的分離使得軟件和硬件各自獨立發展。
(2)網絡功能的彈性部署:NFV將實現在硬件資源池上自動部署網絡功能,這些網絡功能可由不同的數據中心來承載。
(3)服務提供的動態性:根據當前網絡狀況,實現對NFV性能的動態的可控的擴展。
NFV作為網絡領域里的一項創新技術,將會大大改變電信行業的前景。NFV會降低資本投入和能耗,縮短新業務推入市場的時間,并可根據客戶需求快速提供定制化的服務。機遇總是與挑戰并存,NFV也不例外。在部署虛擬應用過程中,NFV也將面臨一些技術挑戰。
2.1 網絡性能
軟件虛擬化框架(如管理編排)已成為電信行業關注熱點,而虛擬應用環境中的網絡性能卻面臨著挑戰。Wang和Ng對亞馬遜EC2云服務的端到端的網絡性能進行了評測[2]。觀測結果表明TCP/UDP吞吐率非常不穩定,在幾十毫秒的時間間隔內吞吐率竟在0到1Gb/s之間浮動,亞馬遜EC2實例間的延遲方差也是大多傳播時延(<0.2ms)的一百倍,而這些甚至發生在網絡負載并不重的情形下。很明顯,虛擬化導致的不穩定的網絡特性將會大大影響虛擬應用程序的性能和部署。
提升VNF的網絡性能可采用的方式有:Linux的新應用編程接口(New API,NAPI[3])和Intel的數據面開發工具集(Data Plane Development Kit,DPDK[4])。NAPI是對已有的Linux設備驅動中數據包處理框架進行修改,為了提升高速網絡的性能。在網絡負載較重的情形下,NAPI通過禁用部分中斷,轉而采用輪詢設備的方式,以避免頻繁中斷產生的重復消息處理。輪詢方式的另一個優勢是當內核負擔過重時,對設備隊列中不能及時處理的數據包可采用簡單丟棄的處理方式。Intel’s DPDK是另一種提升高速網絡應用程序處理效率的方式,采用的也是用輪詢方式來替代中斷,以避免相應的中斷處理開銷。Hwang等近年來擴展了DPDK庫以獲取虛擬環境下更低的延遲和更高的網絡吞吐率[5]。
2.2 虛擬機分配
理想狀況下,網絡操縱者應該給VNF分配合適的虛擬機,使得VNF的效率最高、成本最低。NFV對網絡功能進行虛擬化,但其中有些網絡功能對時延有著嚴格的要求。以往中間件實現的網絡功能通常依賴于網絡拓撲,而這些中間件也一般放置在直通路徑上。當對這些網絡功能進行虛擬化后,即在數據中心中以軟件方式實現對應的網絡功能,數據流經過的很可能是間接路徑,這將會帶來數據包的延遲。這種狀況下,為VNF分配合適的虛擬機對于業務性能來說就非常關鍵了[6]。
2.3 VNF實例化和遷移
在部署VNF時,網絡基礎設施比以往更具彈性和靈活性。網絡操縱者將會根據實際需求和網絡狀況為VNF分配合適的虛擬機,實現動態有效地對虛擬應用進行實例化和遷移。在Linux或其他商用操作系統的傳統解決方案中,虛擬機將花費一個比較長的的實例化時間(幾秒)和需要一個較大的內存空間。為了解決這個問題,Martins等提出ClickOS[7],一個微小的基于Xen的虛擬機,以實現NFV。ClickOS實例化需要的時間大概是30ms,運行時需要的內存空間大約5MB。然而,對這種輕量級簡化的虛擬機進行性能優化,尤其在大區域范圍內的遷移情形下,這依然是個難題。
2.4 VNF外包
最初的網絡體系結構不會更改正在傳輸的數據包,這一端到端的原則對于當今內含大量不同中間件的網絡來說已不再適用。Sherry等人對57個大大小小的不同企業網(擁有的主機數從不足千臺到多于十萬臺規模不等)進行了調研,發現典型的企業網擁有的中間件數目與主路由器數目旗鼓相當。在過去五年,大型網絡在這些中間件設備的投入上多達百萬美元以上。另外,包含上百中間件的網絡需要雇傭100到500人手,來從事配置、升級、監控、診斷、培訓和與廠商的交互等工作[8]。
NFV使得網絡功能不再局限于本地,這也意味著把網絡中的中間件外包給第三方變得容易,這將使網絡運營商能從繁瑣的操縱和維護工作中擺脫出來。有了VNF提供商的支持,終端用戶或者小型企業也能夠更多地享有以前因為復雜性和高昂成本無法部署的網絡服務。然而,在真正實施以前,運營商網絡基礎設施和外包的VNF間的計費規則和交互方式還需要好好進行研究。與之相關的另一個問題是如何鑒別哪種類型的VNF可以外包給第三方以及如何進行會更有效率。
除了上面提及的方面,NFV還存在其它幾個值得研究的問題。如使用專用硬件應用程序進行故障診斷,將更易確定故障所在,以便對相應組件進行隔離。當以軟件方式部署的網絡功能涉及多個地點,故障排除和錯誤隔離都將變得更難。另外,虛擬機創建比較簡便,隨著VNF數量的遞增,虛擬機的雜亂無序將有可能發生,網絡中有可能充斥著大量實際很少使用的龐雜的VNF。這樣,NFV致力于解決的管理的低效將再次出現。對VNF進行有效的管理和編排,尤其在廣域網環境下,是又一個有價值的研究方向。
網絡功能虛擬化技術是當今網絡領域的研究熱點,它對傳統網絡設備進行軟硬件解耦,以虛擬化的形式實現相應的網絡功能,實現網絡的靈活部署,網絡的擴展性也大大加強。網絡功能虛擬化發展過程中,依然存在很多難題和挑戰,相信經多方的不斷研究探索和實踐驗證,網絡功能虛擬化技術將很快步入成熟的發展階段。
[1]Network Functions Virtualisation – Introductory White Paper.ETSI NFV ISG.2012.
[2]G.Wang and T.S.E.Ng,The Impact of Virtualization on Network Performance of Amazon EC2 Data Center,Proc.INFOCOM ’10,Mar.2010.
[3]A.Gember-Jacobson et al.,OpenNF:Enabling Innovation in Network Function Control,Proc.SIGCOMM 2014,Aug.2014.
[4]A.Greenberg et al.,The Cost of a Cloud:Research Problems in Data Center Networks, ACM SIGCOMM Computer Commun.Review,vol.39,no.1,Jan.2009.
[5]J.Hwang,K.K.Ramakrishnan,and T.Wood,“NetVM:High Performance and Flexible Networking Using Virtualization on Commodity Platforms,Proc. NSDI’14,Apr.2014.
[6]A.Manzalini et al.,Clouds of Virtual Machines in Edge Networks,IEEE Commun.Mag.,vol.51,no.7,July 2013.
[7]J.Martins et al.,ClickOS and the Art of Network Function Virtualization, Proc.NSDI 2014,Apr.2014.
[8]J.Sherry et al.,Making Middleboxes Someone Else’s Problem:Network Processing as a Cloud Service, Proc.SIGCOMM ’12,Aug.2012.