周偉林 楊 芫 徐明偉
1(北京郵電大學(xué)網(wǎng)絡(luò)技術(shù)研究院 北京 100876) 2(清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系 北京 100084) 3 (北京信息科學(xué)與技術(shù)國(guó)家研究中心 北京 100084) (zhou_weilin@bupt.edu.cn)
當(dāng)前全球互聯(lián)網(wǎng)的發(fā)展持續(xù)加速,一方面表現(xiàn)在用戶數(shù)量急劇增長(zhǎng)和接入數(shù)據(jù)速率越來(lái)越快,另一方面也呈現(xiàn)出應(yīng)用多樣化的趨勢(shì):機(jī)器對(duì)機(jī)器連接數(shù)量增加,視頻、直播服務(wù)的流行,虛擬現(xiàn)實(shí)、增強(qiáng)現(xiàn)實(shí)的推廣,移動(dòng)智能可穿戴技術(shù)、物聯(lián)網(wǎng)技術(shù)蓬勃發(fā)展等.為了滿足用戶對(duì)網(wǎng)絡(luò)的多樣化需求,在網(wǎng)絡(luò)中通常以專用設(shè)備來(lái)實(shí)現(xiàn)各式各樣的網(wǎng)絡(luò)功能,這些設(shè)備被稱為中間盒(middlebox),有時(shí)也被稱為網(wǎng)絡(luò)電器(network appliance)或網(wǎng)絡(luò)功能(network function).根據(jù)RFC3234[1],Middlebox是執(zhí)行任何網(wǎng)絡(luò)功能的中間設(shè)備,這里的網(wǎng)絡(luò)功能不包括IP路由器對(duì)從源主機(jī)到目的主機(jī)間的數(shù)據(jù)報(bào)文執(zhí)行正常、標(biāo)準(zhǔn)的功能.典型的Middlebox包括提升網(wǎng)絡(luò)安全性的設(shè)備,如防火墻、入侵檢測(cè)系統(tǒng)、入侵防御系統(tǒng)、深度包檢測(cè)等,也包括提升網(wǎng)絡(luò)性能的設(shè)備,如Web代理、緩存、廣域網(wǎng)加速器、協(xié)議加速器、負(fù)載均衡器等.
Middlebox大量應(yīng)用于數(shù)據(jù)中心網(wǎng)絡(luò),在電信網(wǎng)絡(luò)、企業(yè)網(wǎng)、互聯(lián)網(wǎng)中也起著十分重要的作用.在典型的企業(yè)網(wǎng)中,Middlebox的數(shù)量甚至與路由器的數(shù)量基本相當(dāng)[2].然而,由于Middlebox多采用專用設(shè)備,其提供的網(wǎng)絡(luò)服務(wù)與硬件具有很強(qiáng)的耦合性,因此導(dǎo)致了很多問(wèn)題:1)網(wǎng)絡(luò)升級(jí)換代需要巨大的開(kāi)銷(xiāo),尤其是在移動(dòng)互聯(lián)網(wǎng)等技術(shù)更新較快的場(chǎng)景下,從2.5 G到3 G,再到4 G,5 G,每過(guò)幾年都需要運(yùn)營(yíng)商投入巨額資金來(lái)更換新設(shè)備.2)當(dāng)前Middlebox的可管理性較差,隨著Middlebox種類和數(shù)量越來(lái)越多,為了在機(jī)房布置整個(gè)網(wǎng)絡(luò)拓?fù)?,接線越來(lái)越復(fù)雜,網(wǎng)絡(luò)管理員進(jìn)行網(wǎng)絡(luò)配置和排錯(cuò)也越來(lái)越困難.3)當(dāng)前Middlebox體系結(jié)構(gòu)缺乏可擴(kuò)展性,每臺(tái)設(shè)備固定容量,不能按需分配資源,不同設(shè)備間更不能實(shí)現(xiàn)資源共享.4)新服務(wù)上線周期較長(zhǎng),為了增加一個(gè)新的網(wǎng)絡(luò)服務(wù),不僅要重新開(kāi)發(fā)軟件,還得專門(mén)設(shè)計(jì)新硬件、新設(shè)備,定制化的服務(wù)難以實(shí)現(xiàn).綜合以上4點(diǎn)可以看出,當(dāng)前這種軟硬件強(qiáng)耦合的Middlebox架構(gòu)難以滿足現(xiàn)有需求,已經(jīng)成為互聯(lián)網(wǎng)發(fā)展的瓶頸之一,技術(shù)變革勢(shì)在必行.
為了解決當(dāng)前Middlebox所面臨的開(kāi)放性和通用性低、靈活性不強(qiáng)、缺乏高效統(tǒng)一的管理、運(yùn)營(yíng)成本高、利用率低等問(wèn)題,全球幾大電信運(yùn)營(yíng)商在2012年的SDN和OpenFlow大會(huì)上首次提出了網(wǎng)絡(luò)功能虛擬化(network function virtualization, NFV)的概念.NFV的基本思想是改變將網(wǎng)絡(luò)功能實(shí)現(xiàn)在專用平臺(tái)上的現(xiàn)狀,而將網(wǎng)絡(luò)功能實(shí)現(xiàn)到通用的x86平臺(tái)上,從而幫助運(yùn)營(yíng)商和數(shù)據(jù)中心更加靈活地為客戶創(chuàng)建和部署網(wǎng)絡(luò)特性,降低設(shè)備投資和運(yùn)營(yíng)費(fèi)用.如圖1所示,對(duì)計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源進(jìn)行分離,通用服務(wù)器負(fù)責(zé)提供計(jì)算資源,商用交換機(jī)負(fù)責(zé)流量在網(wǎng)絡(luò)環(huán)境路由,存儲(chǔ)器負(fù)責(zé)高速緩存.NFV允許獨(dú)立的軟件開(kāi)發(fā)商基于大容量的標(biāo)準(zhǔn)服務(wù)器、存儲(chǔ)器和交換機(jī)等商用現(xiàn)成(commercial off-the-shelf, COTS)設(shè)備進(jìn)行網(wǎng)絡(luò)功能的實(shí)現(xiàn)和部署,利用云數(shù)據(jù)中心的規(guī)模經(jīng)濟(jì)效應(yīng)[3],大大降低生產(chǎn)開(kāi)銷(xiāo)、提高產(chǎn)能.同時(shí)使得網(wǎng)絡(luò)功能軟件支持協(xié)同、自動(dòng)、遠(yuǎn)程安裝,有利于打造一個(gè)有競(jìng)爭(zhēng)力、創(chuàng)新開(kāi)放的網(wǎng)絡(luò)功能生態(tài)系統(tǒng)[4].
Fig. 1 NFV vision圖1 NFV愿景
自NFV首次提出之后,涌現(xiàn)了很多相關(guān)的研究工作,推動(dòng)了技術(shù)的發(fā)展.然而,由于NFV涉及標(biāo)準(zhǔn)化服務(wù)器、虛擬化、軟件定義網(wǎng)絡(luò)等諸多方面,這對(duì)認(rèn)識(shí)和理解各項(xiàng)研究工作之間的關(guān)聯(lián)性以及認(rèn)清未來(lái)的研究方向帶來(lái)了挑戰(zhàn),尤其是這些已有研究既包括對(duì)已有技術(shù)的應(yīng)用擴(kuò)展或性能優(yōu)化,如NFV云平臺(tái)管理等,也包括新的技術(shù)挑戰(zhàn),如網(wǎng)絡(luò)功能動(dòng)態(tài)遷移等.另一方面,NFV的標(biāo)準(zhǔn)化工作主要是由電信運(yùn)營(yíng)商而非設(shè)備制造商主導(dǎo)的,這使得NFV技術(shù)研究的進(jìn)展與NFV體系結(jié)構(gòu)的標(biāo)準(zhǔn)化進(jìn)程難以完全匹配,其中出現(xiàn)的不一致會(huì)導(dǎo)致不同的研究者在理解和認(rèn)識(shí)上出現(xiàn)偏差.本文將對(duì)NFV技術(shù)的研究現(xiàn)狀進(jìn)行綜述.在總結(jié)了歐洲電信標(biāo)準(zhǔn)化協(xié)會(huì)((European Telecommunications Standards Institute, ETSI)和國(guó)際互聯(lián)網(wǎng)工程任務(wù)組(The Internet Engineering Task Force, IETF)等標(biāo)準(zhǔn)化組織所提出的NFV體系結(jié)構(gòu)和相關(guān)技術(shù)的基礎(chǔ)上,本文創(chuàng)造性地提出了一種四象限的方法對(duì)已有的NFV研究進(jìn)行分類,對(duì)每一類研究的代表性方案做了分析、比較和總結(jié),并提出了尚未解決的技術(shù)挑戰(zhàn)和未來(lái)的研究方向.
開(kāi)展NFV標(biāo)準(zhǔn)化工作的主要組織是ETSI所領(lǐng)導(dǎo)的NFV行業(yè)規(guī)范組(industry specification group, ISG).NFV ISG包括多個(gè)工作組:負(fù)責(zé)基礎(chǔ)設(shè)施的NFV INF(infrastructure)、負(fù)責(zé)管理與編排的NFV MAN(management and orchestration)、負(fù)責(zé)軟件體系結(jié)構(gòu)的NFV SWA(software architecture)、負(fù)責(zé)性能優(yōu)化的NFV PER(performance)、負(fù)責(zé)可靠性的NFV REL(reliability),以及負(fù)責(zé)安全的NFV SEC(security).它們的主要成果包括白皮書(shū)、相應(yīng)的標(biāo)準(zhǔn)文檔以及概念驗(yàn)證(proof of concept)系統(tǒng).
ETSI NFV ISG并未涵蓋NFV技術(shù)研究的所有方面,一部分與互聯(lián)網(wǎng)關(guān)系較為密切的標(biāo)準(zhǔn)化工作是由IETF完成的.其中,服務(wù)功能鏈(service function chaining, SFC)工作組[5]成立于2013年,主要任務(wù)是設(shè)計(jì)方案來(lái)解決如何在虛擬網(wǎng)絡(luò)中將虛擬化的服務(wù)功能連接起來(lái)的問(wèn)題,同時(shí)通過(guò)在NFV域中傳遞元數(shù)據(jù)來(lái)對(duì)靈活的網(wǎng)絡(luò)功能提供支持.源分組路由(source packet routing in networking, SPRING)工作組[6]與SFC工作組合作,設(shè)計(jì)完全基于網(wǎng)絡(luò)層的服務(wù)功能鏈實(shí)現(xiàn)方案.此外,IETF中還成立了名為VNFPool的討論群(birds of a feather, BoF),不過(guò)由于其任務(wù)與其他工作組存在重復(fù),最終沒(méi)有成為工作組.
ETSI NFV ISG所提出的NFV體系結(jié)構(gòu)[7]如圖2所示,它包括了以下4個(gè)組成部分.
Fig. 2 NFV architecture圖2 NFV體系結(jié)構(gòu)
1) 運(yùn)營(yíng)和業(yè)務(wù)支持系統(tǒng)(operations support systembusiness support system, OSSBSS)是負(fù)責(zé)支撐端到端的電信服務(wù)的主要管理系統(tǒng),服務(wù)包括訂單、賬單、續(xù)約、排錯(cuò)等.同時(shí),需要與NFV編排器(NFV orchestration, NFVO)協(xié)同交互完成網(wǎng)絡(luò)服務(wù)描述、網(wǎng)絡(luò)服務(wù)生命周期管理、虛擬資源故障、性能信息交互以及策略管理等功能.該模塊設(shè)計(jì)可基于已有云管理系統(tǒng),同時(shí)需要支持與現(xiàn)有OSSBSS進(jìn)行交互,以保證兼容性,與現(xiàn)有系統(tǒng)協(xié)同工作.
2) 網(wǎng)元管理(element management system, EMS)與虛擬網(wǎng)絡(luò)功能(virtual network function, VNF)共同構(gòu)成了NFV域,其中EMS對(duì)VNF進(jìn)行管理,包括VNF的安裝、監(jiān)控、錯(cuò)誤日志記錄、配置、記賬、性能和安全等.VNF運(yùn)行于NFV基礎(chǔ)設(shè)施(NFV infrastructure, NFVI)之上,以軟件形式實(shí)現(xiàn)各種特定的網(wǎng)絡(luò)功能.
3) NFV基礎(chǔ)設(shè)施(NFV infrastructure, NFVI)為VNF提供虛擬的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源,以及VNF部署、管理和執(zhí)行的環(huán)境.NFVI可以利用已有的云計(jì)算技術(shù)來(lái)構(gòu)建,如基礎(chǔ)設(shè)施即服務(wù)(infrastructure as a service, IaaS)以及網(wǎng)絡(luò)即服務(wù)(network as a service, NaaS).NFVI自下而上包括硬件資源層、虛擬層和虛擬資源層,其中虛擬層是連接上下2層的紐帶,典型的技術(shù)包括hypervisor方案和container方案.使用hypervisor的方案基于虛擬機(jī)技術(shù),其優(yōu)點(diǎn)在于系統(tǒng)之間隔離性強(qiáng)、靈活可變、配置方便、兼容性好、技術(shù)較為成熟;不足之處在于消耗的資源較多,且系統(tǒng)啟動(dòng)速度和性能都有一定的損失.基于container的方案是最近提出的一項(xiàng)新興技術(shù),它通過(guò)共享內(nèi)存等資源來(lái)減小虛擬化的開(kāi)銷(xiāo),提供更高的啟動(dòng)速度和性能.不過(guò)container方案在安全隔離、靈活性、兼容性等方面還需要進(jìn)一步的研究.
4) NFV管理與編排(management and orches-tration, MANO)包括NFV編排器(NFVO)、VNF管理器(VNFM)、虛擬化基礎(chǔ)設(shè)施管理器(VIM)三部分.其中NFVO負(fù)責(zé)網(wǎng)絡(luò)服務(wù)的生命周期管理以及相應(yīng)策略,并提供跨數(shù)據(jù)中心、跨廠家協(xié)同管理能力.VNFM負(fù)責(zé)對(duì)虛擬化資源的創(chuàng)建和生命周期方面進(jìn)行管理,包括VNF實(shí)例化、縮放、更新、終止.VIM負(fù)責(zé)對(duì)NFVI資源的管理和監(jiān)控,包括對(duì)硬件資源、虛擬機(jī)的管理和監(jiān)控、故障排查、狀態(tài)上報(bào)、向上層提供部署接口等.
正如引言所述,NFV的標(biāo)準(zhǔn)化工作是由用戶(運(yùn)營(yíng)商)而非設(shè)備制造商來(lái)主導(dǎo)的,ETSI所提出的NFV體系結(jié)構(gòu)在很大程度上參考了一些比較成熟的開(kāi)源技術(shù)如OpenStack.然而,隨著大量開(kāi)源項(xiàng)目的出現(xiàn)和技術(shù)的進(jìn)步,真實(shí)的系統(tǒng)可能會(huì)與上述體系結(jié)構(gòu)出現(xiàn)不一致的情況,未來(lái)NFV體系結(jié)構(gòu)標(biāo)準(zhǔn)也可能會(huì)隨著實(shí)際情況進(jìn)行修改.
1) 站在網(wǎng)絡(luò)功能使用者的角度看.NFV可以提供良好的可擴(kuò)展性(或伸縮性)和彈性服務(wù).隨著用戶需求的增加,網(wǎng)絡(luò)功能不僅可以擴(kuò)展到同一數(shù)據(jù)中心的其他服務(wù)器,還可以擴(kuò)展到網(wǎng)絡(luò)中的其他數(shù)據(jù)中心中,以滿足變化的服務(wù)請(qǐng)求.通過(guò)優(yōu)化的軟件設(shè)計(jì)方案,可以保證伸縮過(guò)程中服務(wù)的連續(xù)性,并盡力減少伸縮所花的時(shí)間和網(wǎng)絡(luò)帶寬.類似地,NFV還可以通過(guò)自動(dòng)重建或預(yù)留備份的方式來(lái)支持故障下的服務(wù)保障.
2) 站在運(yùn)營(yíng)商的角度看.NFV可以節(jié)約大量的采購(gòu)支出和運(yùn)營(yíng)開(kāi)銷(xiāo),可以實(shí)現(xiàn)方便靈活的管理與配置,更快地升級(jí)和更新軟件,并有效提高資源利用率.通過(guò)網(wǎng)絡(luò)功能在多廠商環(huán)境中加載、執(zhí)行和遷移,NFV可以實(shí)現(xiàn)資源的實(shí)時(shí)整合,從而應(yīng)對(duì)可用資源不足、服務(wù)質(zhì)量下降等問(wèn)題.
3) 站在設(shè)備提供商和軟件市場(chǎng)的角度看.NFV雖然會(huì)對(duì)傳統(tǒng)的專用設(shè)備制造帶來(lái)巨大的沖擊,但其帶來(lái)的好處也是顯而易見(jiàn)的.更加通用、高效的商用服務(wù)器將受到青睞,避免了大量專用、低效設(shè)備的研發(fā)帶來(lái)的資源浪費(fèi),為設(shè)備提供商提供了從出售設(shè)備轉(zhuǎn)型為出售服務(wù)的契機(jī):能提供靈活配置、智能管理等一系列優(yōu)化功能的管理軟件和平臺(tái)將受到運(yùn)營(yíng)商的追捧.尤其是不同廠商的VNF、虛擬軟件、通用硬件設(shè)備可能會(huì)存在兼容性和互操作性的問(wèn)題,且存在虛擬網(wǎng)絡(luò)功能與原有的專用Middlebox共存的時(shí)期,這無(wú)疑為設(shè)備提供商開(kāi)發(fā)高效的解決方案提供了商機(jī).同時(shí),NFV還降低了網(wǎng)絡(luò)功能開(kāi)發(fā)的門(mén)檻,加快了新興網(wǎng)絡(luò)功能投入應(yīng)用的時(shí)間,使網(wǎng)絡(luò)功能軟件生態(tài)更加活躍.
1) 在性能方面.在通用硬件上實(shí)現(xiàn)專用設(shè)備級(jí)的性能是一大挑戰(zhàn).NFV環(huán)境中考慮的性能可以從鏈路利用率、流量處理延遲、系統(tǒng)吞吐率等方面來(lái)衡量.在虛擬環(huán)境中,處理器架構(gòu)、虛擬機(jī)架構(gòu)、硬軟件數(shù)據(jù)傳輸方式等都會(huì)對(duì)VNF性能產(chǎn)生很大影響.
2) 在管理編排方面.如何高效地將各網(wǎng)絡(luò)功能組織成服務(wù)功能鏈?zhǔn)且淮筇魬?zhàn),此外,由于不同用戶之間可能共享網(wǎng)絡(luò)功能,因此,傳統(tǒng)云計(jì)算場(chǎng)景中的差錯(cuò)、配置和計(jì)費(fèi)管理也會(huì)面臨新的問(wèn)題.
3) 在可靠性和可用性方面.為了提供與原有網(wǎng)絡(luò)功能同等的故障恢復(fù)能力,需要考慮網(wǎng)絡(luò)功能和流量遷移所帶來(lái)的影響,這一點(diǎn)與已有的云平臺(tái)技術(shù)也有本質(zhì)的不同.
4) 在安全性方面.除了傳統(tǒng)的云計(jì)算和虛擬網(wǎng)絡(luò)中已經(jīng)存在的拓?fù)潋?yàn)證、虛擬化實(shí)體間的隔離等問(wèn)題之外,NFV還面臨網(wǎng)絡(luò)動(dòng)態(tài)遷移中針對(duì)狀態(tài)一致性的安全攻擊等問(wèn)題.
5) 在可編程性方面.需要設(shè)計(jì)出一套方便開(kāi)發(fā)新興網(wǎng)絡(luò)功能的編程接口,能靈活地適應(yīng)各種可能出現(xiàn)的應(yīng)用需求,并能高效地對(duì)底層的硬件資源進(jìn)行操作.
NFV是在一定的技術(shù)背景下提出的,可以說(shuō)沒(méi)有當(dāng)前服務(wù)器、云計(jì)算、軟件定義網(wǎng)絡(luò)等技術(shù)的發(fā)展就不會(huì)誕生NFV.因此,在分析NFV領(lǐng)域的研究工作之前,有必要對(duì)相關(guān)的技術(shù)進(jìn)行必要的闡述,以明確它們與NFV的聯(lián)系,從而有助于更深入地把握NFV的具體細(xì)節(jié)和各組件的功能.
COTS服務(wù)器由標(biāo)準(zhǔn)IT組件構(gòu)成,服務(wù)器內(nèi)組件可替換.由于規(guī)模經(jīng)濟(jì)效用,COTS標(biāo)準(zhǔn)化服務(wù)器生產(chǎn)成本大大降低,服務(wù)器內(nèi)部組件可替換的性質(zhì),非常有助于其形成一個(gè)有充分競(jìng)爭(zhēng)的硬件供應(yīng)市場(chǎng).價(jià)格低功耗低的特性,使COTS服務(wù)器非常適合大規(guī)模部署,這些特性為NFV的商用推廣奠定了堅(jiān)實(shí)的基礎(chǔ).
隨著x86架構(gòu)、高級(jí)精簡(jiǎn)指令集機(jī)器(advanced RISC machine, ARM)架構(gòu)的快速發(fā)展,多核、多線程技術(shù)日益成熟,SR-IOV網(wǎng)卡廣泛應(yīng)用,業(yè)務(wù)加速芯片(加密、壓縮等)技術(shù)支持性發(fā)展,通用芯片的計(jì)算能力正變得越來(lái)越高,通用網(wǎng)卡的轉(zhuǎn)發(fā)能力越來(lái)越強(qiáng).Intel的DPDK[8](data plane development kit)專為Intel處理器提供的一套多核CPU數(shù)據(jù)平面開(kāi)發(fā)套件,用于快速包處理,支持最新網(wǎng)卡的硬件虛擬化技術(shù),而且開(kāi)放源碼,利用DPDK技術(shù)可顯著提升網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)能力,類似的軟件技術(shù)還包括NAPI[9].
Fig. 3 Four quadrant classification圖3 “四象限”分類
1959年,克里斯托弗發(fā)表題為《大型高速計(jì)算機(jī)中的時(shí)間共享》的學(xué)術(shù)報(bào)告.1965年,IBM公司發(fā)布IBM7044以及System360 Model 67和TST分時(shí)共享系統(tǒng),第1次在商業(yè)系統(tǒng)中實(shí)現(xiàn)虛擬化.隨著x86處理器性能提升和應(yīng)用普及,1999年VMware公司推出商用虛擬化軟件VMware Workstation,虛擬化技術(shù)來(lái)到PC世界.隨后,虛擬化技術(shù)持續(xù)發(fā)展,Xen,Hyper-V,KVM,Docker技術(shù)相繼出現(xiàn).
虛擬化技術(shù)是把計(jì)算、網(wǎng)絡(luò)、內(nèi)存、存儲(chǔ)等實(shí)體資源抽象出來(lái)的一種資源管理技術(shù),打破了實(shí)體之間的不可切割障礙,用戶可以不受資源實(shí)現(xiàn)、地理位置、物理包裝以及底層物理設(shè)備的限制.Hypervisor也叫虛擬機(jī)監(jiān)視器(virtual machine monitor),是運(yùn)行在物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,允許多個(gè)操作系統(tǒng)和應(yīng)用共享硬件.NFV利用虛擬化技術(shù),實(shí)現(xiàn)軟硬件解耦,從而做到把用軟件實(shí)現(xiàn)的網(wǎng)絡(luò)功能運(yùn)行在標(biāo)準(zhǔn)化的物理服務(wù)器上.
基于虛擬化技術(shù)的云計(jì)算,具有快速部署資源、獲取服務(wù)的能力,可實(shí)現(xiàn)動(dòng)態(tài)、按需提供資源、按使用量計(jì)費(fèi)、通過(guò)互聯(lián)網(wǎng)提供海量信息、用戶方便交互、降低用戶使用門(mén)檻的特點(diǎn).這些特點(diǎn)與NFV要實(shí)現(xiàn)的目標(biāo)一致.
軟件定義網(wǎng)絡(luò)(software defined networking, SDN)最早出現(xiàn)于園區(qū)網(wǎng)絡(luò)[10],目的是提供可編程的網(wǎng)絡(luò)應(yīng)用,實(shí)現(xiàn)更加靈活的流量控制能力.SDN的基本特點(diǎn)包括分離控制和轉(zhuǎn)發(fā)的功能、控制集中化(或集中化的控制平面)、使用廣泛定義的(軟件)接口使得網(wǎng)絡(luò)可以執(zhí)行程序化行為.SDN提出之后在云數(shù)據(jù)中心取得了巨大的成功[11].數(shù)據(jù)中心的范圍和規(guī)模的擴(kuò)展使得虛擬機(jī)呈爆炸式增長(zhǎng),更好地連接和控制這些虛擬機(jī)成為數(shù)據(jù)中心的明確需求.而SDN的集中式控制思想,大大增強(qiáng)了對(duì)數(shù)據(jù)中心的控制能力.
在實(shí)現(xiàn)網(wǎng)絡(luò)應(yīng)用或網(wǎng)絡(luò)功能可編程方面,SDN與NFV十分類似,然而二者的對(duì)象有所不同.SDN的設(shè)計(jì)目標(biāo)在于使傳統(tǒng)的交換機(jī)更加靈活,其涉及的協(xié)議主要位于互聯(lián)網(wǎng)體系結(jié)構(gòu)的第2,3,4層;而NFV的目標(biāo)在于使專用的Middlebox變得通用、靈活,雖然這些Middlebox本身處理的協(xié)議可以位于互聯(lián)網(wǎng)體系結(jié)構(gòu)的第2~5層,但NFV的實(shí)現(xiàn)需要用到很多應(yīng)用層的技術(shù),如網(wǎng)絡(luò)管理和配置等.SDN和NFV代表了未來(lái)可編程網(wǎng)絡(luò)的2個(gè)方面.另一方面,SDN提供的靈活的轉(zhuǎn)發(fā)能力為NFV服務(wù)功能鏈的實(shí)現(xiàn)提供了一種可行的方法.
NFV技術(shù)近5年來(lái)發(fā)展迅速,對(duì)NFV存在的一系列問(wèn)題,學(xué)術(shù)界已提出諸多解決方案.虛擬技術(shù)包括虛擬機(jī)技術(shù)和容器技術(shù),本文統(tǒng)一使用虛擬中間盒(virtual middlebox, VMB)來(lái)表示硬件虛擬化后運(yùn)行VNF的宿主環(huán)境.
圖3對(duì)NFV技術(shù)實(shí)現(xiàn)進(jìn)行了“四象限”分類,左右分別為數(shù)據(jù)平面和控制平面,上下分別為邏輯實(shí)現(xiàn)和物理實(shí)現(xiàn).借鑒SDN技術(shù)的“數(shù)據(jù)平面與控制平面分離”的思想,數(shù)據(jù)平面負(fù)責(zé)數(shù)據(jù)處理、轉(zhuǎn)發(fā)和狀態(tài)收集,控制平面負(fù)責(zé)網(wǎng)絡(luò)的配置和管理、基礎(chǔ)資源的分配.邏輯實(shí)現(xiàn)指抽象出來(lái)的VNF、VNF-FG、SFC、管理和編排算法,是NFV的上層設(shè)計(jì).物理實(shí)現(xiàn)指通用的商用服務(wù)器、存儲(chǔ)器和交換機(jī)經(jīng)過(guò)虛擬化后,提供的NFV基礎(chǔ)環(huán)境NFVI,物理實(shí)現(xiàn)具有高效的資源管理能力.為使行文簡(jiǎn)潔,下文使用第1,2,3,4象限來(lái)描述這4個(gè)象限.
4個(gè)象限與ETSI的NFV體系結(jié)構(gòu)[7]相對(duì)應(yīng).第1象限是邏輯實(shí)現(xiàn)與管理層的交匯,對(duì)應(yīng)體系結(jié)構(gòu)中的NFVO和VNFM,負(fù)責(zé)對(duì)VNF連接方式、生命周期,以及模型求解運(yùn)算和下發(fā)送指令等;第2象限是邏輯實(shí)現(xiàn)與數(shù)據(jù)平面的交匯,對(duì)應(yīng)NFV體系結(jié)構(gòu)中的BSSOSS,EMS,VNFs,屬于NFV的功能邏輯和業(yè)務(wù)輸入部分;第3象限為數(shù)據(jù)平面與物理實(shí)現(xiàn)的交匯,對(duì)應(yīng)體系結(jié)構(gòu)張的NFVI,負(fù)責(zé)資源虛擬化和流量處理;第4象限為管理層與物理實(shí)現(xiàn)的交匯,對(duì)應(yīng)體系結(jié)構(gòu)中的VIM,負(fù)責(zé)系統(tǒng)資源的管理和分配.
基于“四象限”分類,解決方案歸納為4類:
1) 邏輯實(shí)現(xiàn)向物理實(shí)現(xiàn)的映射
該類解決方案研究的邏輯實(shí)現(xiàn)主體SFC屬于第2象限,物理實(shí)現(xiàn)主體NFVI屬于第3象限,資源分配策略屬于第4象限,管理和編排算法屬于第1象限.故該類解決方案對(duì)應(yīng)4個(gè)象限.
用戶流量具有SFC和SLA兩大需求.SFC要求流量經(jīng)過(guò)的VNF順序可以保證,SLA要求流量具有足夠高的帶寬和吞吐量、足夠低的時(shí)延等.要達(dá)到用戶流量被及時(shí)和高效地處理這一目標(biāo),邏輯實(shí)現(xiàn)向物理實(shí)現(xiàn)的映射要解決的關(guān)鍵性問(wèn)題包括:①確定每個(gè)服務(wù)節(jié)點(diǎn)申請(qǐng)的處理、存儲(chǔ)和網(wǎng)絡(luò)資源量;②確定服務(wù)節(jié)點(diǎn)實(shí)例化VNF的種類、數(shù)量;③用戶流量在服務(wù)節(jié)點(diǎn)之間路由;④服務(wù)的可用性.
2) SFC管理與性能提升
該類解決方案著眼于邏輯實(shí)現(xiàn)方面的管理與優(yōu)化.SFC管理性提升對(duì)應(yīng)第1象限;SFC性能提升對(duì)應(yīng)第2象限;而不涉及物理實(shí)現(xiàn)方面的考慮.故該類解決方案對(duì)應(yīng)第1和第2象限.
服務(wù)功能鏈的長(zhǎng)度與執(zhí)行方式會(huì)影響用戶流量被處理的效率.SFC管理與性能提升要解決的關(guān)鍵性問(wèn)題包括:①根據(jù)服務(wù)鏈的特點(diǎn),對(duì)SFC本身進(jìn)行優(yōu)化;②使SFC具備動(dòng)態(tài)調(diào)整和管理VNF生命周期的能力.
3) NFV硬件平臺(tái)管理
該類解決方案重點(diǎn)考慮硬件平臺(tái)的數(shù)據(jù)處理、存儲(chǔ)和路由能力.計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源的虛擬化,VNF內(nèi)部物理實(shí)現(xiàn)的模塊化和流水化對(duì)應(yīng)第3象限;計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源的分配與回收,對(duì)應(yīng)第4象限.故該類解決方案對(duì)應(yīng)第3和第4象限.
NFV硬件平臺(tái)為上層提供高效的處理能力和資源管理能力.NFV硬件平臺(tái)管理要考慮的方面包括:①高效的包處理機(jī)制;②高效的資源分配算法;③對(duì)網(wǎng)絡(luò)狀態(tài)的感知能力,以及利用這些網(wǎng)絡(luò)信息輔助決策;④向用戶提供可編程性;⑤系統(tǒng)故障容忍能力,可靠性和可用性足夠高.
4) VMB的分裂、合并及節(jié)點(diǎn)間遷移
該類解決方案考慮NFV的可擴(kuò)展性.VMB是VNF的宿主環(huán)境,需要對(duì)其實(shí)現(xiàn)分裂、合并和遷移操作,對(duì)應(yīng)第3象限;對(duì)其分裂、合并和遷移過(guò)程中的狀態(tài)管理和資源重分配對(duì)應(yīng)第4象限.故該類解決方案對(duì)應(yīng)第3和第4象限.
VMB的分裂、合并與遷移需要保證操作前后的一致性,需要考慮的關(guān)鍵性因素包括:①流狀態(tài)轉(zhuǎn)移的一致性;②對(duì)數(shù)據(jù)的處理粒度選擇,包括流粒度、數(shù)據(jù)包粒度等;③處理VMB內(nèi)部的流處理狀態(tài)與剩余流路由的競(jìng)態(tài)條件問(wèn)題;④遷移的效率;⑤遷移過(guò)程中的安全性.
SFC管理與性能提升立足于對(duì)邏輯實(shí)現(xiàn)方面進(jìn)行優(yōu)化,提高NFV的性能、管理和編排能力;NFV硬件平臺(tái)管理立足物理實(shí)現(xiàn)方面的資源管理與平臺(tái)整合,提高NFV性能、可靠性和可用性、可編程性;VMB分裂、合并與遷移立足于物理實(shí)現(xiàn)方面的3類動(dòng)態(tài)操作,提高NFV的可擴(kuò)展性;邏輯實(shí)現(xiàn)向物理實(shí)現(xiàn)的映射是邏輯實(shí)現(xiàn)與物理實(shí)現(xiàn)相聯(lián)系的紐帶,提高NFV的性能、管理和編排能力.4類方案各司其職,相輔相成.
邏輯實(shí)現(xiàn)與物理實(shí)現(xiàn)映射包含2個(gè)映射場(chǎng)景.邏輯實(shí)現(xiàn)的虛擬機(jī)向物理硬件的映射,稱為VM放置;邏輯實(shí)現(xiàn)的VNF向物理硬件的映射,稱為VNF放置.
除了被映射的對(duì)象不同,二者考慮的側(cè)重點(diǎn)也不同:VM放置需要結(jié)合用戶流量,從滿足用戶SLA方面考慮;VNF放置需要考慮SFC特點(diǎn),如VNF本身特點(diǎn)、先后順序.需要說(shuō)明的是,若限定一臺(tái)VM內(nèi)部運(yùn)行且只運(yùn)行一個(gè)或同一類VNF,VM放置等價(jià)于VNF放置.
映射模型中,物理硬件通常被抽象為拓?fù)涔?jié)點(diǎn),一個(gè)節(jié)點(diǎn)可以對(duì)應(yīng)一個(gè)數(shù)據(jù)中心內(nèi)的通用硬件設(shè)備,也可以對(duì)應(yīng)一個(gè)數(shù)據(jù)中心.節(jié)點(diǎn)對(duì)應(yīng)的內(nèi)容需要看模型是否跨數(shù)據(jù)中心.
3.2.1 VM放置
VM放置關(guān)鍵要解決虛擬機(jī)分配硬件資源和流量在VM之間路由2個(gè)子問(wèn)題.路由協(xié)議選擇方面,目前文獻(xiàn)中大多使用Openflow協(xié)議控制VMVNF之間進(jìn)行網(wǎng)絡(luò)流量路由.由IETF Spring工作組規(guī)范的分段路由(segment routing, SR)[12]技術(shù),也具有控制VMVNF間網(wǎng)絡(luò)流量路由的能力.
VNF聚合能提高處理器效率.文獻(xiàn)[2]對(duì)CoMb架構(gòu)進(jìn)行了網(wǎng)絡(luò)全局優(yōu)化.該文考慮了把VM放置到硬件上的方案,創(chuàng)新地提出了HyperApp的概念.HyperApp把不同種類的VNF聚合,集中放置到同一個(gè)CPU核心上運(yùn)行,以達(dá)到減少CPU上下文切換開(kāi)銷(xiāo)的目的.
一種VM放置策略是,通過(guò)建立和求解線性規(guī)劃模型來(lái)實(shí)現(xiàn)VM間流量負(fù)載均衡.文獻(xiàn)[2]考慮了流量路徑固定場(chǎng)景下,網(wǎng)絡(luò)流量分配到CoMb Box節(jié)點(diǎn)的映射問(wèn)題.建立線性規(guī)劃模型,優(yōu)化目標(biāo)為負(fù)載均衡.利用最小化最大節(jié)點(diǎn)負(fù)載的數(shù)學(xué)描述節(jié)點(diǎn)間的負(fù)載均衡.控制器使用CPLEX工具[13],求解出流量分配到CoMb Box的結(jié)果.
VM放置還常常聯(lián)合考慮流量在VM間的路由.文獻(xiàn)[14]考慮了一個(gè)數(shù)據(jù)中心內(nèi)部,虛擬機(jī)映射到服務(wù)節(jié)點(diǎn)以及放置后的網(wǎng)絡(luò)流量路由的聯(lián)合優(yōu)化問(wèn)題,優(yōu)化目標(biāo)是使各服務(wù)節(jié)點(diǎn)的總開(kāi)銷(xiāo)最小.該文使用了馬爾可夫近似方法來(lái)求解該問(wèn)題.實(shí)驗(yàn)結(jié)果表明,無(wú)論是低負(fù)載還是高負(fù)載,該方法的流完成時(shí)間比順序和隨機(jī)選擇虛擬機(jī)都快好幾倍.
3.2.2 VNF放置
VNF放置也可稱為SFC映射,需要考慮如下因素.一是VNF自身特點(diǎn),如按照資源消耗情況可分為:①計(jì)算密集型VNF、IO密集型VNF;②流量經(jīng)過(guò)VNF的先后順序;③不同SFC之間共享VNF、SFC長(zhǎng)度、路徑負(fù)載均衡等.另外,SFC映射的一大重要挑戰(zhàn)是用戶流量的SLA到硬件資源規(guī)模的需求對(duì)應(yīng)關(guān)系,SLA會(huì)對(duì)流量帶寬、吞吐量、時(shí)延、丟包率等有一定要求,NFV系統(tǒng)需要合理為VNF分配CPU、內(nèi)存、帶寬等硬件資源.
圖4描述了VNF放置.圖4的上半部分是邏輯實(shí)現(xiàn)的5個(gè)VNF和兩條流;圖4的下半部分是6個(gè)服務(wù)節(jié)點(diǎn),每個(gè)服務(wù)節(jié)點(diǎn)是一個(gè)具有計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源的通用硬件設(shè)備集合.一批用戶流量需要按照SFC順序處理并滿足SLA需求,VNF放置即確定服務(wù)節(jié)點(diǎn)實(shí)例化的VNF種類和數(shù)量.
Fig. 4 VNF placement圖4 VNF放置
VNF放置的關(guān)鍵性問(wèn)題在于綜合考慮以上因素.建立高效的映射模型,構(gòu)建啟發(fā)式算法計(jì)算出資源分配結(jié)果是一個(gè)通用的解決方法.SLA到資源規(guī)模的映射是模型中要考慮的關(guān)鍵性問(wèn)題,通常體現(xiàn)在模型的啟發(fā)式算法中.
部分VNF放置模型的目標(biāo)是VNF數(shù)量最少.文獻(xiàn)[15]設(shè)定,一條流允許被分割為多條子流,被后續(xù)依次流徑的同類型的VNF處理,這一設(shè)定使得原解向量的每一維度由0和1擴(kuò)展為0~1.該文還進(jìn)行了如下設(shè)定:節(jié)點(diǎn)位置不可變,數(shù)據(jù)流要依次經(jīng)過(guò)的節(jié)點(diǎn)和鏈路固定,只存在一種類型的VNF,一個(gè)VNF消耗固定數(shù)量的計(jì)算和存儲(chǔ)資源.該模型設(shè)定與實(shí)際場(chǎng)景偏離較大.該文建立模型后,把映射問(wèn)題轉(zhuǎn)化為了“類集合覆蓋問(wèn)題”,它利用了2步貪心算法求解得到近似最優(yōu)的VNF放置策略.
一些VNF放置模型的目標(biāo)是開(kāi)啟硬件設(shè)備數(shù)量最少.文獻(xiàn)[16]設(shè)定,節(jié)點(diǎn)位置固定;每個(gè)節(jié)點(diǎn)的NFVI資源存在上限;用戶的流量和每條流的SFC固定.該文指出,對(duì)于小規(guī)模VNF問(wèn)題,可利用其建立的整數(shù)線性規(guī)劃模型求得最優(yōu)解,通過(guò)CPLEX工具求解;而對(duì)于更大規(guī)模場(chǎng)景,該文給出了啟發(fā)式算法,相比最優(yōu)解,性能在1.3倍以內(nèi).仿真實(shí)驗(yàn)表明,能降低4倍以上的設(shè)備開(kāi)銷(xiāo).文獻(xiàn)[17]考慮了無(wú)線接入網(wǎng)場(chǎng)景下的VNF編排問(wèn)題.該場(chǎng)景下,每個(gè)虛擬無(wú)線節(jié)點(diǎn)需要3種基本NFVI資源來(lái)支持轉(zhuǎn)發(fā)、包處理和無(wú)線接入三大功能.該文建立了優(yōu)化模型,并提出解決方案:小規(guī)模網(wǎng)絡(luò)采用整數(shù)線性規(guī)劃,大規(guī)模部署情況則采用啟發(fā)式解法.
一些VNF放置模型目標(biāo)是使放置后消耗的系統(tǒng)資源最少.而服務(wù)可用性是另一個(gè)需要保證的目標(biāo),以降低服務(wù)故障引起的用戶體驗(yàn)下降.文獻(xiàn)[18]考慮了服務(wù)可用性,它系統(tǒng)地探索了VNF冗余策略,選擇一條SFC中最需要冗余的VNF.它提出了一種在線SFC映射算法,保障可用性的同時(shí),最小化系統(tǒng)資源分配.
用戶流量按照一定的VNF順序被依次處理,我們把該VNF序列稱為SFC.該解決方案針對(duì)SFC優(yōu)化,一方面為了提高SFC性能,包括降低流量處理時(shí)延和鏈路負(fù)載;另一方面為了提高SFC可管理性,包括SFC的動(dòng)態(tài)調(diào)整能力以及解決動(dòng)態(tài)包修改問(wèn)題.
3.3.1 性能提升
1) 降低時(shí)延
流量時(shí)延包括VNF的處理時(shí)延和流量通過(guò)鏈路的時(shí)延,縮短服務(wù)鏈的長(zhǎng)度是降低流量時(shí)延的有效方法之一.
一種常見(jiàn)的處理方法是并行化.具體方法是并行化部分VNF序列,復(fù)制多份流量經(jīng)過(guò)不同的分支,遇到SFC分支合并時(shí)同時(shí)合并流量.文獻(xiàn)[19]和文獻(xiàn)[20]使用了并行化VNF的方法.文獻(xiàn)[19]使用異或的方法合并流量,并通過(guò)仿真實(shí)驗(yàn)證明并行化能有效降低流量時(shí)延.文獻(xiàn)[20]系統(tǒng)地探索了不同VNF之間的依賴關(guān)系,建立了VNF的依賴模型,得出了多種VNF的依賴表格.實(shí)驗(yàn)發(fā)現(xiàn),并行化能降低30%以上的時(shí)延,而僅需增加8.8%的額外負(fù)載和一些復(fù)制與合并的處理能力.
另一種縮短SFC長(zhǎng)度的方法是VNF聚合.VNF運(yùn)行在應(yīng)用層,如果把多個(gè)VNF聚合到同一個(gè)VMB內(nèi)部,能有效減少數(shù)據(jù)流量通過(guò)協(xié)議棧的開(kāi)銷(xiāo),從而降低時(shí)延.文獻(xiàn)[21]在模型優(yōu)化的第一階段部分提出整合的服務(wù)鏈(consolidated service chain, CSC)的概念,通過(guò)計(jì)算流最壞情況執(zhí)行時(shí)間,建模求解出功能鄰近的VNF,把功能臨近的幾個(gè)VNF整合為一個(gè)VNF,以此來(lái)降低流量處理時(shí)延.
2) 降低鏈路負(fù)載
一種方法是調(diào)整VNF的順序.把縮小流量的VNF放在靠前的位置、放大流量的VNF放在靠后的位置能減小鏈路負(fù)載.例如,假設(shè)一條速率為tbps的流進(jìn)入一條SFC〈A,B,C〉,A會(huì)放大流為原來(lái)3倍,B會(huì)縮小流為原來(lái)的一半,C不會(huì)改變流大小,則經(jīng)過(guò)3個(gè)VNF——A,B,C后的3條鏈路該流的速率分別為(3t,1.5t,1.5t)bps.若調(diào)整SFC順序?yàn)椤碆,C,A〉的鏈路速率為(0.5t,0.5t,1.5t)bps,能較大程度降低鏈路開(kāi)銷(xiāo).
VNF重排序法是目前最常用的降低鏈路負(fù)載的方法.文獻(xiàn)[22]提出了近似最優(yōu)的VNF位置部署算法,使鏈路負(fù)載最小,但對(duì)VNF之間的依賴性考慮不充分.文獻(xiàn)[23]則在調(diào)整VNF順序過(guò)程中,考慮VNF之間的依賴性.該文把依賴性分成了3類,建立了NF先后順序的依賴模型,證明了問(wèn)題是NP難的,把問(wèn)題等價(jià)為“最大團(tuán)問(wèn)題”的變種之一,利用啟發(fā)式方法把問(wèn)題等價(jià)為完全確定服務(wù)順序的SFC順序優(yōu)化問(wèn)題.
3.3.2 管理性增強(qiáng)
1) SFC動(dòng)態(tài)調(diào)整能力
考慮以下場(chǎng)景:隨著數(shù)據(jù)流量被處理完畢或新的流量到來(lái),SFC經(jīng)常會(huì)出現(xiàn)空閑或滿載狀態(tài);租戶需求發(fā)生變化,需要修改SFC或SLA;硬件設(shè)備發(fā)生故障或其他原因,需要切換部分VNF到新的服務(wù)器.為了應(yīng)對(duì)上述突發(fā)情況,SFC需要具備動(dòng)態(tài)調(diào)整能力.提高SFC的動(dòng)態(tài)管理能力包括SFC動(dòng)態(tài)修改和VNF生命周期管理.
一種解決方法是設(shè)計(jì)協(xié)議來(lái)實(shí)現(xiàn)整套流程的管理.文獻(xiàn)[24]實(shí)現(xiàn)了一個(gè)會(huì)話級(jí)協(xié)議,實(shí)現(xiàn)了SFC的生命周期管理、SFC的動(dòng)態(tài)調(diào)整能力.SFC的動(dòng)態(tài)調(diào)整,包括增加、撤銷(xiāo)、替換VNF,并重新調(diào)度錨節(jié)點(diǎn)之間的流量完成工作切換.其技術(shù)細(xì)節(jié)包括:對(duì)VNF增加Dysco agent守護(hù)進(jìn)程;增加全局的控制器進(jìn)行全局管理.協(xié)議支持主機(jī)移動(dòng)性和多租戶流量隔離的特點(diǎn),但協(xié)議本身會(huì)增加一些協(xié)議棧處理時(shí)延開(kāi)銷(xiāo).
2) 解決動(dòng)態(tài)包修改問(wèn)題
許多VNF會(huì)修改流量包頭或包內(nèi)容,例如,NAT對(duì)內(nèi)外網(wǎng)IP映射時(shí),會(huì)修改數(shù)據(jù)包的源IP地址;廣域網(wǎng)優(yōu)化器會(huì)發(fā)起新連接等.而防火墻或入侵檢測(cè)等VNF可能需要根據(jù)源地址執(zhí)行相應(yīng)策略,導(dǎo)致防火墻處理被NAT后的流量產(chǎn)生錯(cuò)誤結(jié)果.
一種解決方法是標(biāo)簽法.文獻(xiàn)[25]和文獻(xiàn)[24]通過(guò)標(biāo)簽對(duì)被修改的流量標(biāo)記,后續(xù)VNF則根據(jù)標(biāo)簽來(lái)確定要執(zhí)行的策略.打標(biāo)簽會(huì)占用數(shù)據(jù)包內(nèi)字段,且需要進(jìn)行標(biāo)簽管理.
另一種解決方法是載荷相似度匹配.文獻(xiàn)[26]采用了該方法,匹配修改前后的流量,并對(duì)流量溯源.該方法會(huì)消耗較多計(jì)算資源,準(zhǔn)確率大約為95%.
NFV平臺(tái)硬件方面由通用服務(wù)器、交換機(jī)、存儲(chǔ)器組成,軟件方面由虛擬化系統(tǒng)、資源管理系統(tǒng)組成.高效的包處理和系統(tǒng)資源管理是NFV的實(shí)現(xiàn)基礎(chǔ);網(wǎng)絡(luò)感知能幫助NFV平臺(tái)決策資源分配與回收;系統(tǒng)可編程性向用戶提供統(tǒng)一的編程接口,實(shí)現(xiàn)VNF生態(tài)化;系統(tǒng)可靠性和可用性保障用戶體驗(yàn).NFV硬件平臺(tái)與系統(tǒng)聯(lián)系緊密,這方面研究更偏向架構(gòu)創(chuàng)新和工程實(shí)現(xiàn).
3.4.1 提高包處理效率
數(shù)據(jù)包處理是VNF的基本能力,高效的包處理方式能提高系統(tǒng)吞吐量.
數(shù)據(jù)包的批處理機(jī)制是數(shù)據(jù)包的處理方法之一.文獻(xiàn)[27]是基于可編程路由器[28]編寫(xiě)的軟件虛擬平臺(tái),通過(guò)減少系統(tǒng)調(diào)用的次數(shù)、引入批處理、減少不必要的軟件層代碼和數(shù)據(jù)經(jīng)過(guò)路徑等手段能有效提高包處理效率.
并行處理是一種加快包處理的方法.文獻(xiàn)[28]探索了并行和串行的處理方式,并提出整合網(wǎng)絡(luò)功能模塊、利用OpenFlow分離不同大小的流、轉(zhuǎn)發(fā)到VNF模塊處理的方法.
模塊化VNF內(nèi)部處理流程是一種更為創(chuàng)新的方法.文獻(xiàn)[29]提出,傳統(tǒng)不同種類的Middlebox之間存在一些通用模塊,如VPN、Web服務(wù)器、郵件服務(wù)器、IDS、代理服務(wù)器對(duì)進(jìn)入的流量都需要先經(jīng)過(guò)協(xié)議解析器,而幾乎所有Middlebox都有一個(gè)會(huì)話管理器進(jìn)行流量會(huì)話的生命周期管理,并行化和組合這些模塊有助于提高包處理效率.文獻(xiàn)[30]系統(tǒng)地研究了防火墻、負(fù)載均衡器和入侵防御系統(tǒng)3類VNF的模塊化處理流程,利用模塊間的并行性和復(fù)用,降低了流量要經(jīng)過(guò)的路徑長(zhǎng)度,從而降低了數(shù)據(jù)時(shí)延,提高了系統(tǒng)吞吐量.另外,還利用了SDN技術(shù)進(jìn)行VNF的中心化管理.
3.4.2 提高系統(tǒng)資源利用率
系統(tǒng)資源管理包括資源分配和回收2方面.高效的系統(tǒng)資源管理能為企業(yè)節(jié)省設(shè)備采購(gòu)開(kāi)銷(xiāo)和運(yùn)營(yíng)開(kāi)銷(xiāo).文獻(xiàn)[2]統(tǒng)計(jì)一家公司的機(jī)房?jī)?nèi)流量后發(fā)現(xiàn),一天內(nèi)的不同時(shí)間段,該企業(yè)網(wǎng)對(duì)不同NF數(shù)量和負(fù)載的需求量有很大差異.設(shè)想這樣一個(gè)場(chǎng)景,在時(shí)間段X內(nèi),一家企業(yè)需要N1臺(tái)支持NFa的設(shè)備滿載,N2臺(tái)支持NFb的設(shè)備滿載;而在時(shí)間段Y內(nèi),需要N3臺(tái)NFa設(shè)備滿載,N4臺(tái)NFb設(shè)備滿載.則要滿足2個(gè)時(shí)段網(wǎng)絡(luò)負(fù)載,該公司需要Max(N1,N3)臺(tái)設(shè)備來(lái)支持NFa,Max(N2,N4)臺(tái)設(shè)備來(lái)支持NFb.即至少需要Max(N1+N2,N3+N4)臺(tái)NF設(shè)備才能滿足X,Y兩個(gè)時(shí)間段的網(wǎng)絡(luò)需求.在實(shí)際環(huán)境中,總是出現(xiàn)N1>N2,N3 目前的解決方案通常在資源管理算法上創(chuàng)新.文獻(xiàn)[2]把自己設(shè)計(jì)的Middlebox平臺(tái)稱為CoMb,把運(yùn)行統(tǒng)一的通用硬件設(shè)備稱為CoMb box.該文設(shè)計(jì)了一個(gè)集中式的NFV設(shè)備管理體系結(jié)構(gòu),由控制器集中式管理CoMb box,在CoMb box內(nèi)部構(gòu)建了資源的整數(shù)線性規(guī)劃模型對(duì)計(jì)算和內(nèi)存資源管理,以最大設(shè)備負(fù)載最小化為優(yōu)化目標(biāo),減少總CoMb box數(shù)量為目標(biāo),以提高整個(gè)系統(tǒng)的資源利用率.文獻(xiàn)[21]構(gòu)建了在線階段的資源模型和分配算法,根據(jù)當(dāng)前網(wǎng)絡(luò)狀態(tài)和用戶請(qǐng)求的流數(shù)據(jù),把固定流量分配到硬件設(shè)備. 3.4.3 增加網(wǎng)絡(luò)感知能力 網(wǎng)絡(luò)感知能力是NFV硬件平臺(tái)獲取網(wǎng)絡(luò)狀態(tài)的能力,這些感知到的數(shù)據(jù)可以幫助提前預(yù)知未來(lái)網(wǎng)絡(luò)狀態(tài)變化,輔助NFV平臺(tái)進(jìn)行資源分配和回收決策. 一種方法是建立一套完整的系統(tǒng)反饋機(jī)制.文獻(xiàn)[31]提出的Stratos系統(tǒng),是一種方便用戶部署、管理和配置網(wǎng)絡(luò)功能設(shè)備的框架,并且具備網(wǎng)絡(luò)監(jiān)測(cè)和反饋功能,能自主地檢測(cè)到網(wǎng)絡(luò)瓶頸鏈路進(jìn)行反饋,調(diào)整負(fù)載均衡.然而,由于整個(gè)反饋過(guò)程的滯后性,具有不夠?qū)崟r(shí)、不具有預(yù)防性能瓶頸的能力等缺點(diǎn). 另一方面,網(wǎng)絡(luò)感知能力不僅與模型、算法與調(diào)節(jié)系統(tǒng)相關(guān),更靈敏的傳感器、更細(xì)粒度和有效及時(shí)的測(cè)量方法同樣有助于提升系統(tǒng)的網(wǎng)絡(luò)感知能力. 3.4.4 提高網(wǎng)絡(luò)功能的可編程性 實(shí)現(xiàn)NFV的可編程性需要從軟件和硬件2方面著手.軟件方面,需要向用戶開(kāi)放標(biāo)準(zhǔn)統(tǒng)一的編程接口,以方便個(gè)人用戶和其他VNF廠商自定義網(wǎng)絡(luò)功能.硬件方面,Intel DPDK、Linux NAPI、向量報(bào)文處理(vector packet processing, VPP)[32]等開(kāi)源技術(shù),以及通用的x86架構(gòu)處理器有助于從更底層支持可編程性. 目前的學(xué)術(shù)研究主要從軟件方面,提供一定的可編程性.文獻(xiàn)[30]實(shí)現(xiàn)了開(kāi)放的NFV系統(tǒng)平臺(tái),定義了標(biāo)準(zhǔn)的南北向接口,是一個(gè)開(kāi)放、易部署的軟件定義框架.文獻(xiàn)[33]在使用C++實(shí)現(xiàn)xOMB平臺(tái)的10個(gè)標(biāo)準(zhǔn)網(wǎng)絡(luò)處理模塊代碼. 系統(tǒng)標(biāo)準(zhǔn)化地實(shí)現(xiàn)網(wǎng)絡(luò)功能的可編程性,是一項(xiàng)繁雜的工作.目前的研究中,只是簡(jiǎn)單地實(shí)現(xiàn)了少數(shù)一些API.要實(shí)現(xiàn)NFV的可編程性,還需要標(biāo)準(zhǔn)化組織制定詳細(xì)清晰的標(biāo)準(zhǔn). 3.4.5 提高系統(tǒng)的可用性 提高NFV系統(tǒng)平臺(tái)的可用性可以通過(guò)提高系統(tǒng)平均故障間隔時(shí)間或減少系統(tǒng)平均故障恢復(fù)時(shí)間2種手段實(shí)現(xiàn)[18,34].增加冗余、實(shí)現(xiàn)故障發(fā)生時(shí)快速切換技術(shù)、提高系統(tǒng)平臺(tái)本身的穩(wěn)定性等方式能有效提高系統(tǒng)的可用性. 一種常用的方法是冗余備份.文獻(xiàn)[33]部署控制器時(shí),使用了保持狀態(tài)機(jī)副本技術(shù)等技術(shù),確保控制器發(fā)生故障時(shí),擁有備份狀態(tài)用于快速恢復(fù),降低故障恢復(fù)時(shí)間. 另一種常用的方法是部署過(guò)程,對(duì)流量進(jìn)行分布式放置,以具備故障預(yù)防能力.文獻(xiàn)[31]采用把流量跨機(jī)架放置的策略,降低單點(diǎn)故障對(duì)租戶流量的影響面積,提高服務(wù)的可用性. NFV具有可移植性和可擴(kuò)展性.可移植性體現(xiàn)在VMB可以在節(jié)點(diǎn)間遷移,這里的節(jié)點(diǎn)指通用的硬件服務(wù)器;可擴(kuò)展性體現(xiàn)在VMB可分裂、合并,以滿足流量大小變化時(shí)硬件資源的分配和回收. 3.5.1 VMB在網(wǎng)絡(luò)節(jié)點(diǎn)間遷移 與3.3.2節(jié)中提到的VNF遷移不同,其遷移對(duì)象是VNF而不遷移其宿主環(huán)境,它的主要工作是遷移流狀態(tài)和路由剩余流量.而VMB遷移的對(duì)象是VNF宿主環(huán)境,主要工作是拷貝VMB內(nèi)存數(shù)據(jù)和處理器狀態(tài). VMB在網(wǎng)絡(luò)節(jié)點(diǎn)間遷移通常發(fā)生在下述場(chǎng)景:1)某節(jié)點(diǎn)的硬件故障或操作系統(tǒng)故障導(dǎo)致系統(tǒng)宕機(jī);2)更換某節(jié)點(diǎn)舊設(shè)備為新設(shè)備.VMB在節(jié)點(diǎn)間遷移需要考慮遷移效率和安全性等方面. 1) 提高遷移效率 VMB遷移過(guò)程涉及多次內(nèi)存拷貝、流狀態(tài)轉(zhuǎn)移、系統(tǒng)狀態(tài)轉(zhuǎn)移,整個(gè)過(guò)程中消耗的帶寬資源比較大,整個(gè)過(guò)程耗時(shí)也較長(zhǎng),提高遷移效率能大大提高用戶體驗(yàn). 一種方法是使用壓縮算法.文獻(xiàn)[35]考慮虛擬機(jī)的實(shí)時(shí)遷移,遷移過(guò)程使用壓縮算法.實(shí)質(zhì)上是消耗計(jì)算資源來(lái)節(jié)省帶寬資源,壓縮率會(huì)根據(jù)實(shí)際帶寬情況動(dòng)態(tài)調(diào)整,實(shí)現(xiàn)了一個(gè)更具網(wǎng)絡(luò)帶寬情況,動(dòng)態(tài)變換壓縮率,提高VMB遷移效率的算法.該文獻(xiàn)并未考慮遷移過(guò)程的流狀態(tài)轉(zhuǎn)移. 2) 增加遷移過(guò)程的安全性 由于VMB在節(jié)點(diǎn)間遷移過(guò)程對(duì)網(wǎng)絡(luò)資源消耗較大,若遷移期間遭受網(wǎng)絡(luò)黑客的DDoS攻擊,將大大增加網(wǎng)絡(luò)收斂時(shí)間. 隱藏遷移的流量特征是增加遷移安全性的一種預(yù)防性方案,一種方法是加入冗余流量.文獻(xiàn)[36]提出隱性遷移VMB,使用了該方法.使黑客無(wú)法通過(guò)監(jiān)測(cè)流量模式確定網(wǎng)絡(luò)是否在進(jìn)行VMB遷移,即使遷移過(guò)程透明化. Fig. 5 VMB scale in圖5 VMB收縮 3.5.2 VMB的分裂與合并 圖5反映了2種VMB需要收縮的情況,圖5中VMB的灰色部分表示其工作負(fù)載,一般情況下,VMB處理的流量越多,其工作負(fù)載越大.圖5(a)表示2臺(tái)負(fù)載不均衡的VMB;圖5(b)表示3臺(tái)負(fù)載較輕的VMB;這2種情況都需要進(jìn)行VMB的收縮,收縮方式如圖5(c),收縮后將減少VMB的數(shù)量,節(jié)省電能.另外,當(dāng)一臺(tái)VMB開(kāi)銷(xiāo)過(guò)大,一旦新的流量到來(lái)使該VMB負(fù)載繼續(xù)增加,而負(fù)載過(guò)高會(huì)導(dǎo)致流量處理時(shí)間過(guò)長(zhǎng)甚至系統(tǒng)崩潰,為防止以上情況發(fā)生,VMB需要及時(shí)分裂,以保持VMB具有少數(shù)空閑容量.把VMB的這種分裂與合并能力稱為橫向可擴(kuò)展性. VMB的分裂與合并前,如果原VMB已經(jīng)處理了一部分流量且未處理完,此時(shí)需要對(duì)VMB內(nèi)部狀態(tài)和流狀態(tài)進(jìn)行遷移,二者存在競(jìng)態(tài)條件問(wèn)題. 一種常見(jiàn)的策略是“鴕鳥(niǎo)策略”,即先轉(zhuǎn)移VMB內(nèi)部狀態(tài),再路由之后到來(lái)的流量,而對(duì)轉(zhuǎn)移過(guò)程中丟失的流量則不采用應(yīng)對(duì)機(jī)制.文獻(xiàn)[37]針對(duì)NFV的橫向可擴(kuò)展性,提出了系統(tǒng)性的解決方案——SplitMerge,考慮了分裂合并過(guò)程中的流狀態(tài)轉(zhuǎn)移.在VMB轉(zhuǎn)移后,利用SDN交換機(jī)OpenFlow協(xié)議,進(jìn)行分裂后的流量的細(xì)粒度調(diào)度.采用的是先轉(zhuǎn)移VMB內(nèi)部流狀態(tài),再轉(zhuǎn)移流的順序,而并未考慮二者的競(jìng)態(tài)條件問(wèn)題. 一種創(chuàng)新性的解決競(jìng)態(tài)條件問(wèn)題的方法是利用控制器緩存.文獻(xiàn)[38]則考慮了競(jìng)態(tài)條件問(wèn)題,它認(rèn)為文獻(xiàn)[37]的方法轉(zhuǎn)移的流量狀態(tài)并不完整,會(huì)導(dǎo)致部分VNF計(jì)算出錯(cuò)誤結(jié)果.因?yàn)椴糠諺NF要求處理完整流量(如:IDS檢測(cè)惡意軟件,需要計(jì)算整條流的Hash值),于是,該文重點(diǎn)考慮了流的完整性轉(zhuǎn)移.它利用了以下解決方法:1)流分類,并定義get,put,delete這3類處理流的API;2)遷移過(guò)程中的流量緩存到控制器中,避免包丟失問(wèn)題;3)加鎖機(jī)制避免緩存包與包亂序;4)該文通過(guò)將正在遷移時(shí)間段到達(dá)的流量緩存到SDN控制器內(nèi)的方法,保證了VNF流量的完整性. 表1對(duì)4種方案進(jìn)行了總結(jié). Table 1 NFV Solutions表1 NFV解決方案 邏輯實(shí)現(xiàn)向物理實(shí)現(xiàn)的映射,分為VM放置和VNF放置.通常思路是建立模型和尋找啟發(fā)式求解算法.模型需要考慮多樣性的拓?fù)洹⒂脩袅髁看笮?、SLA、鏈路可用帶寬和負(fù)載等多種因素.模型的目標(biāo)函數(shù)和約束條件可選范圍很廣,包括負(fù)載均衡、開(kāi)啟設(shè)備數(shù)量最少、流完成時(shí)間最短、虛擬資源消耗最低、鏈路負(fù)載最小、服務(wù)可用性最高等,需要根據(jù)實(shí)際需求設(shè)定.該類解決方案中,啟發(fā)式算法對(duì)計(jì)算資源消耗較多. SFC的管理性與性能提升.性能提升方面,并行化、VNF聚合有助于降低時(shí)延,但需要消耗網(wǎng)絡(luò)和存儲(chǔ)資源;VNF重排序有助于降低鏈路負(fù)載,重排序算法需要消耗部分計(jì)算資源.管理性方面,設(shè)計(jì)協(xié)議進(jìn)行VNF生命周期管理,以及定義SFC動(dòng)態(tài)修改的操作工作流有助于提高SFC的可自主性和管理性,需要一些處理開(kāi)銷(xiāo);打標(biāo)簽和載荷相似度匹配是解決SFC“動(dòng)態(tài)包修改”的2種方法,前者需要進(jìn)行標(biāo)簽管理并需要占用包內(nèi)字段,后者準(zhǔn)確率不足. NFV硬件平臺(tái)管理.軟件包處理能力方面,并行化和模塊化是2種常用方法,需要更底層的支持;系統(tǒng)資源利用率的提高需要靠良好的資源管理模型來(lái)決策虛擬計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源的分配和回收;網(wǎng)絡(luò)感知數(shù)據(jù)則可作為資源分配和回收的決策數(shù)據(jù)之一,提高系統(tǒng)的自我調(diào)節(jié)能力;系統(tǒng)可編程方面,軟件方面需要提供標(biāo)準(zhǔn)的可編程接口支持,同時(shí)需要底層硬件與驅(qū)動(dòng)技術(shù)的支持;系統(tǒng)可用性方面,分配流量時(shí),把同一租戶的流量盡量分散,以防止單點(diǎn)故障,運(yùn)行過(guò)程中加入模塊冗余技術(shù),以便于快速恢復(fù). VMB在節(jié)點(diǎn)間遷移是實(shí)現(xiàn)NFV靈活性的基礎(chǔ).提高遷移效率方面,引入壓縮算法是一種有效做法.遷移的安全性方面,加入冗余流量隱藏VM遷移過(guò)程的流量特征是一種有效的預(yù)防措施.VMB的分裂與合并是NFV的可擴(kuò)展性基礎(chǔ),需要處理好VMB內(nèi)部處理狀態(tài)的遷移和剩余流量的路由,利用控制器對(duì)狀態(tài)轉(zhuǎn)移過(guò)程中的少量流量緩存是解決競(jìng)態(tài)條件問(wèn)題的方法之一,但需要消耗控制器的存儲(chǔ)資源. 盡管NFV技術(shù)領(lǐng)域已經(jīng)取得許多科研成果,但要實(shí)現(xiàn)商業(yè)化,仍面臨諸多挑戰(zhàn).我認(rèn)為,NFV需要進(jìn)一步研究的方向包括3方面: 1) SFC映射和放置策略 理想的管理和編排方案下,VNF與用戶流量完美匹配,利用最少的開(kāi)銷(xiāo)達(dá)到最及時(shí)無(wú)延遲的流量處理.結(jié)合邊緣計(jì)算和CDN的思路,把使用頻率高、功能單一的、與數(shù)據(jù)中心相關(guān)性低的VNF放置到距離用戶比較近的網(wǎng)絡(luò)邊緣或許對(duì)降低流量時(shí)延有積極作用. 目前已有許多放置模型,通過(guò)VNF順序、SFC長(zhǎng)度、用戶流量的SLA、路徑負(fù)載等多個(gè)輸入?yún)?shù)來(lái)確定硬件資源分配這一輸出參數(shù),或許能利用當(dāng)前熱門(mén)的機(jī)器學(xué)習(xí)來(lái)獲取更優(yōu)解,但產(chǎn)生訓(xùn)練數(shù)據(jù)集是一個(gè)難點(diǎn). 2) NFV硬件平臺(tái)性能提升 硬件加速技術(shù),有助于從底層提升NFV平臺(tái)性能.但同時(shí)也要注意保持底層x86硬件與VNF的低耦合性,以符合NFV的靈活性和通用化硬件的目標(biāo).多核心信息共享,非統(tǒng)一內(nèi)存訪問(wèn)(non-uniform memory access, NUMA)[39]技術(shù),Cisco捐贈(zèng)的已商用的VPP庫(kù),有助于從驅(qū)動(dòng)、系統(tǒng)、網(wǎng)絡(luò)處理層面提升平臺(tái)性能. 3) NFV安全性提升 NFV技術(shù)要實(shí)現(xiàn)商用,必然面臨安全性問(wèn)題.拓?fù)潋?yàn)證、網(wǎng)絡(luò)性能隔離、NFV系統(tǒng)的準(zhǔn)入、域內(nèi)多管理員隔離等安全方面研究目前還較少,并且需要結(jié)合NFV的特性進(jìn)行安全性加強(qiáng),如遷移過(guò)程中的狀態(tài)一致性等方面. 本文對(duì)NFV技術(shù)的發(fā)展現(xiàn)狀和已有研究成果進(jìn)行了綜述.結(jié)合NFV體系架構(gòu),提出“四象限”分類方法,并歸納出了4個(gè)研究方向.詳細(xì)分析和比較了典型的解決方案,總結(jié)了各方案的優(yōu)勢(shì)和開(kāi)銷(xiāo).最后從3個(gè)方面討論了進(jìn)一步需要研究的問(wèn)題. [1]Carpenter B, Brim S. RFC3234: Middleboxes: Taxonomy and issues[EBOL]. [2018-02-04]. https:tools.ietf.orghtmlrf c3234 [2]Sekar V, Egi N, Ratnasamy S, et al. Design and implementation of a consolidated middlebox architecture[C]Proc of USENIX NSDI’12. Berkeley,CA: USENIX Association, 2012: 24-24 [3]Greenberg A, Hamilton J, Maltz D A, et al. The cost of a cloud: Research problems in data center networks[J]. ACM SIGCOMM Computer Communication Review, 2008, 39(1): 68-73 [4]Han Bo, Gopalakrishnan V, Ji Lusheng, et al. Network function virtualization: Challenges and opportunities for innovations[J]. IEEE Communications Magazine, 2015, 53(2): 90-97 [5]IETF SFC. Service function chaining[EBOL]. [2018-02-04]. https:datatracker.ietf.orgwgsfcdocuments [6]IETF SPRING. Source packet routing in networking[EBOL]. [2018-02-04]. https:datatracker.ietf.orgwgspringdocuments [7]ETSI GS NFV. Network Function Virtualization(NFV) Architectural Framework[EBOL]. [2018-02-04]. http:www.etsi.orgdeliveretsi_gsnfv001_09900201.01.01_60gs_nfv002v010101p.pdf [8]DPDK Project. Intel DPDK: Data plane development kit project[EBOL]. [2018-02-04]. http:www.dpdk.orgdoc [9]Linux Foundation. Linux Foundation Wiki: NAPI[EBOL]. [2018-02-04]. https:wiki.linuxfoundation.orgnetworkingn api [10]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 [11]Jain S, Kumar A, Mandal S, et al. B4: Experience with a globally-deployed software defined WAN[J]. ACM SIGCOMM Computer Communication Review, 2013, 43(4): 3-14 [12]Filsfils C, Nainar N K, Pignataro C, et al. The segment routing architecture[C]Proc of IEEE GLOBECOM’15. Piscataway, NJ: IEEE, 2015: 1-6 [13]IBM. User’s Manual for CPLEX[EBOL]. [2018-02-04]. https:www.ibm.comsupportknowledgecenterenSSSA5P_12.6.0ilog.odms.cplex.helpCPLEXhomepagesusrmancplex.html [14]Jiang Joe Wenjie, Lan Tian, Ha Sangtae, et al. Joint VM placement and routing for data center traffic engineering[C]Proc of IEEE CNSM’12. Piscataway, NJ: IEEE, 2012: 2876-2880 [15]Sang Yu, Ji Bo, Gupta G R, et al. Provably efficient algorithms for joint placement and allocation of virtual network functions[C]Proc of IEEE INFOCOM’17. Piscataway, NJ: IEEE, 2017: 829-837 [16]Bari M F, Chowdhury S R, Ahmed R, et al. On orchestrating virtual network functions[C]Proc of IEEE CNSM’15. Piscataway, NJ: IEEE, 2015: 50-56 [17]Riggio R, Bradai A, Rasheed T, et al. Virtual network functions orchestration in wireless networks[C]Proc of IEEE CNSM’15. Piscataway, NJ: IEEE, 2015: 108-116 [18]Fan Jingyuan, Guan Chaowen, Zhao Yangming, et al. Availability-aware mapping of service function chains[C]Proc of IEEE CNSM’17. Piscataway, NJ: IEEE, 2017: 1-9 [19]Zhang Yang, Anwer B, Gopalakrishnan V, et al. ParaBox: Exploiting parallelism for virtual network functions in service chaining[C]Proc of ACM SOSR’17. New York: ACM, 2017: 143-149 [20]Sun Chen, Bi Jun, Zheng Zhilong, et al. NFP: Enabling network function parallelism in NFV[C]Proc of ACM SIGCOMM’17. New York: ACM, 2017: 43-56 [21]Li Yang, Phan L T X, Loo B T. Network functions virtualization with soft real-time guarantees[C]Proc of IEEE INFOCOM’16. Piscataway, NJ: IEEE, 2016: 1-9 [22]Ma Wenrui, Sandoval O, Beltran J, et al. Traffic aware placement of interdependent NFV middleboxes[C]Proc of IEEE INFOCOM’17. Piscataway, NJ: IEEE, 2017: 1-9 [23]Cohen R, Lewin-Eytan L, Naor J S, et al. Near optimal placement of virtual network functions[C]Proc of IEEE INFOCOM’15. Piscataway, NJ: IEEE, 2015: 1346-1354 [24]Zave P, Ferreira R A, Zou X K, et al. Dynamic service chaining with dysco[C]Proc of ACM SIGCOMM’17. New York: ACM, 2017: 57-70 [25]Fayazbakhsh S K, Sekar V, Yu M, et al. Flowtags: Enforcing network-wide policies in the presence of dynamic middlebox actions[C]Proc of ACM HotSDN’13. New York: ACM, 2013: 19-24 [26]Qazi Z A, Tu C C, Chiang L, et al. SIMPLE-fying middlebox policy enforcement using SDN[J]. ACM SIGCOMM Computer Communication Review, 2013, 43(4): 27-38 [27]Martins J, Ahmed M, Raiciu C, et al. ClickOS and the art of network function virtualization[C]Proc of USENIX NSDI’14. Berkeley,CA: USENIX Association, 2014: 459-473 [28]Kohler E, Morris R, Chen B, et al. The click modular router[J]. ACM Trans on Computer Systems, 2000, 18(3): 263-297 [29]Greenhalgh A, Huici F, Hoerdt M, et al. Flow processing and the rise of commodity network hardware[J]. ACM SIGCOMM Computer Communication Review, 2009, 39(2): 20-26 [30]Bremler-Barr A, Harchol Y, Hay D. OpenBox: A software-defined framework for developing, deploying, and managing network functions[C]Proc of ACM SIGCOMM’16. New York: ACM, 2016: 511-524 [31]Gember A, Krishnamurthy A, John S S, et al. Stratos: A network-aware orchestration layer for middleboxes in the cloud[R]. Ithaca, NY: Cornell University Library, 2013 [32]Linux Foundation. Vector Packet Processing (VPP)[EBOL]. [2018-02-04]. https:fd.iotechnology [33]Anderson J W, Braud R, Kapoor R, et al. xOMB: Extensible open middleboxes with commodity servers[C]Proc of ACMIEEE ANCS’12. Piscataway, NJ: IEEE, 2012: 49-60 [34]Yang Xu, Xiao Ziyu, Shao Yongping, et al. Discussion on the reliability of NFV[J]. Telecommunications Science, 2017, 33(7): 136-143 (in Chinese)(楊旭, 肖子玉, 邵永平, 等. NFV可靠性探討[J]. 電信科學(xué), 2017, 33(7): 136-143) [35]Li Chunguang, Feng Dan, Hua Yu, et al. BAC: Bandwidth-aware compression for efficient live migration of virtual machines[C]Proc of IEEE INFOCOM’17. Piscataway, NJ: IEEE, 2017: 1-9 [36]Achleitner S, La Porta T, McDaniel P, et al. Stealth migration: Hiding virtual machines on the network[C]Proc of IEEE INFOCOM’17. Piscataway, NJ: IEEE, 2017: 1-9 [37]Rajagopalan S, Williams D, Jamjoom H, et al. SplitMerge: System support for elastic execution in virtual middleboxes[C]Proc of USENIX NSDI’13. Berkeley, CA: USENIX Association, 2013: 227-240 [38]Gember-Jacobson A, Viswanathan R, Prakash C, et al. OpenNF: Enabling innovation in network function control[C]Proc of ACM SIGCOMM Computer Communication Review. New York: ACM, 2014, 44(4): 163-174 [39]Lameter C. NUMA (non-uniform memory access): An overview[J]. Queue, 2013, 11(7): 40-52 ZhouWeilin, born in 1995. Master candidate of Beijing University of Posts and Telecommunications. His main research interest is network function virtualization.3.5 VMB分裂、合并及節(jié)點(diǎn)間轉(zhuǎn)移
4 方法總結(jié)
5 進(jìn)一步需要研究的問(wèn)題
6 結(jié)束語(yǔ)