NFV介绍_NFV技术
轉(zhuǎn)發(fā)自:https://zhuanlan.zhihu.com/p/26259440
NFV全稱是Network Function Virtualization。這又是一個與網(wǎng)絡(luò)相關(guān)的故事。先來看看NFV的前世今生吧。在NFV之前,NF(NetworkFunction)是一直存在的,網(wǎng)絡(luò)中,NF可以看成一個個獨立的網(wǎng)元,實現(xiàn)著各自的功能。NF以固定的方式連接起來,統(tǒng)一提供的網(wǎng)絡(luò)功能和服務(wù)。隨便在網(wǎng)上找了張圖,大概示意一下。
V(Virtualization)是虛擬化。NFV字面上理解就是網(wǎng)絡(luò)功能虛擬化。凡是提到虛擬化,讓人想到的是用軟件的方式實現(xiàn)傳統(tǒng)的功能。又是網(wǎng)絡(luò)又是軟件的,那NFV和SDN有什么區(qū)別聯(lián)系?
首先,NFV和SDN彼此之間沒有必然聯(lián)系。NFV即使脫離SDN,也能實現(xiàn),在傳統(tǒng)的網(wǎng)絡(luò)架構(gòu)中,將PNF(Physical Network Function)替換成虛擬化的NF,再輔以傳統(tǒng)的NF連接方式,也能實現(xiàn)NFV。而SDN更是可以脫離NFV實現(xiàn)。
但是,另一方面,NFV和SDN如果相互結(jié)合,又可以是互補的存在。借助SDN,不僅傳統(tǒng)的NF連接方式都能支持,SDN還能提供更高效的NFV實現(xiàn)方式。畢竟SDN提供的管理層和轉(zhuǎn)發(fā)層的分離,使得網(wǎng)絡(luò)變得極其靈活。反過來,NFV也能夠提供SDN的運行環(huán)境,幫助SDN的實現(xiàn)。舉個例子,某公有云基于SDN提供了IaaS服務(wù),某客戶希望在該公有云上搭建自己的Web Server,這個時候,客戶可以借助第三方的鏡像來部署Firewall和Load Balancer實例。在這個場景下,第三方提供的鏡像作為NFV的一部分,完善了SDN的功能。SDN和NFV的關(guān)系可以描述為下圖,圖中提到開放是為了技術(shù)更好的發(fā)展,與技術(shù)本身無關(guān)。
既然NF在之前就已經(jīng)存在,那為什么要提出NFV?那肯定是原有的NF架構(gòu)有這樣那樣的問題,這里就不展開了。簡單說就是傳統(tǒng)的NF架構(gòu)成本高,運維困難,機會成本大(硬件設(shè)備更新?lián)Q代之后,原有設(shè)備作廢),為了更好的收益,才提出的NFV。除了內(nèi)因,外界的技術(shù)發(fā)展也促使NFV的發(fā)展,這包括了:
- 云計算(Cloud computing)的發(fā)展:云計算為NFV的虛擬化提供了支持。通常NFV中的單元是一個個虛機,而云計算能提供靈活的虛擬管理。尤其是云計算帶出的標準API如OpenFlow,OpenStack,OpenNaaS,和OGF的NSI,為NFV和云計算的結(jié)合提供了幫助,進而推動了NFV的發(fā)展。
- 標準服務(wù)器的發(fā)展:標準x86服務(wù)器的性能不斷提升,成本不斷降低,使得基于軟件實現(xiàn)NF的成本大大優(yōu)于基于專有設(shè)備實現(xiàn)NF。
當然NFV本身也存在一些挑戰(zhàn):
- 不同廠商之間的兼容問題,傳統(tǒng)的NF本身各個廠商都是私有接口了,而NFV如果能統(tǒng)一接口,將使得應(yīng)用變得更加廣闊。
- 性能的下降:
軟件實現(xiàn)的東西通常都比專有設(shè)備實現(xiàn)的功能性能要差。因此,在一些對性能特別敏感的地方,仍然需要使用專有設(shè)備。 - 傳統(tǒng)NF的遷移和共存問題。
- 統(tǒng)一的管理和編排(Management and Orchestration)
- 安全性和彈性等等。
總之,NFV于內(nèi)于外都有其催生的因素,而其本身又具有一些挑戰(zhàn),這個時候就需要某個組織跳出來制定一個統(tǒng)一的標準,于是我們有了ETSI(European Telecommunications Standards Institute)提出的NFV參考架構(gòu)。
High-Level NFV Framework
從大的顆粒看,NFV的架構(gòu)可以分為三個部分,如下圖所示:
VNF(Virtualized Network Function)
VNF運行在NFVI之上。從概念上,VNF是NF的虛擬化實現(xiàn),V是Virtualized的意思。除了這點之外,還可以從三個角度來理解VNF:
- 從虛擬化的角度來說,VNF可以是一個VM(VirtualMachine),當然容器作為新生力量,它也可能存在,這里就不多說了。
- 從設(shè)備提供商(vendor)的角度來說,VNF是一個或者多個內(nèi)部相連的VM和描述它們的模板。
- 從操作人員(operator)的角度來說,VNF是一個vendor提供的軟件包。
前面提到了NF連接起來統(tǒng)一提供Network Service,描述NF連接關(guān)系的模板稱為NF-FG (Forwarding Graph)這個就是之前介紹過的SFC。在NFV框架下,又稱之為VNF-FG。VNF-FG提供VNF之間的邏輯連接,對應(yīng)于傳統(tǒng)網(wǎng)絡(luò)架構(gòu)中的用線纜連接NF。在一個黑盒子里,VNF-FG和VNF與NF-FG和NF提供的接口和服務(wù)是一樣的。下圖顯示了在兩個物理網(wǎng)元(PNF)之間通過VNF-FG建立的E2E(End to End)網(wǎng)絡(luò)服務(wù)。
VNF的解構(gòu)和聚合
VNF解構(gòu):將一個highlevel的VNF拆分成一些low level的VNF,這樣能夠提供更靈活的應(yīng)用,更快的響應(yīng),并支持更大的規(guī)模。
VNF聚合:將一些lowlevel的VNF組合成一個整體的high level的VNF。這樣能減少管理的難度,并適當降低VNF-FG的復(fù)雜性。
由于通過虛擬化和軟件實現(xiàn)了NF,VNF的組合連接方式可以非常靈活,具體要取決于VNF provider的實現(xiàn)和Network Service Provider的描述。
NFVI(NFV Infrastructure)
NFVI包含各種物理資源和虛擬化技術(shù)。NFVI支持VNF的運行。前面說過,從虛擬化的角度來看,VNF可以是VM。NFVI支持VNF的運行,其一部分工作就是提供VNF所需的VM。既然這樣,那NFVI和Cloud有什么區(qū)別聯(lián)系?
首先,Cloud和NFV都依賴物理的計算網(wǎng)絡(luò)存儲資源,它們都把這些資源作為一個資源池來使用。
其次,Cloud的服務(wù)提供形式通常有IaaS,PaaS,SaaS。而NFVI需要提供IaaS的運行時環(huán)境,這樣才具備提供VM的能力。
第三,在Cloud提供的形式中,還有一個NaaS(Network as a
Service),它提供了一個動態(tài)的,按需的網(wǎng)絡(luò)連接服務(wù)。NFVI需要提供NaaS的動態(tài)網(wǎng)絡(luò)連接能力,以管理VNF之間的連接。因此Cloud中的IaaS和NaaS可以看成是NFVI所需要提供部分服務(wù)內(nèi)容。
NFVI可以理解成一個定制化的Cloud,將物理資源(計算存儲網(wǎng)絡(luò))抽象和虛擬化,以提供上層運行的VNF使用。NFVI的物理資源在NFVI-PoPs(NFVI Point ofPresence)。在一個NFV架構(gòu)中,NFVI-PoPs不局限于一個位置。例如,ServiceProvider2可以在ServiceProvider1提供的NFVI之上運行自己的VNF(SP1和SP2之間進行相應(yīng)的協(xié)商),如下圖所示:
NFV MANO(Management and Orchestration)
將NF從硬件資源抽象解耦成軟件實現(xiàn)的VNF,必然會帶來管理上的挑戰(zhàn)。這包擴了,邏輯上E2E的網(wǎng)絡(luò)服務(wù)在NFVnetwork中的映射;將VNF部署在合適的位置以實現(xiàn)期望的網(wǎng)絡(luò)服務(wù);為VNF分配和擴展硬件資源;檢查VNF狀態(tài),并恢復(fù)VNF的錯誤。其實在傳統(tǒng)網(wǎng)絡(luò)架構(gòu)中,這些都是operator管理PNF的工作,現(xiàn)在可以通過軟件來實現(xiàn),也可以說是增加了通用性,降低了維護成本。NFV MANO管理前面描述的VNF和NFVI的系統(tǒng),這包括:
- NFVI中支持虛擬化的硬件和軟件
- VNF的編排和聲明周期管理
NFV MANO由幾個部分組成,每個部分完成特定的功能。另一方面,NFV MANO必須與現(xiàn)有的管理系統(tǒng),例如OSS/BSS,硬件資源管理系統(tǒng),和作為VIM的CMS等工作在一起,以幫助它們管理虛擬化的資源。這塊在下個部分再說明。
NFV Reference Architectural Framework
在前面的基礎(chǔ)上,再進一步詳細描述ETSI給出的NFV架構(gòu)。
先看組成部分:
- ***VNF:前面已經(jīng)描述過了,這里就不再敘述。
- ***EM(Element Management):對一個多著多個VNF進行管理。注意NFVI只是提供VNF的運行環(huán)境,對VNF的管理還需要EM參與。
- ***VNF Manager(s):作為NFV MANO的一部分,負責VNF的生命周期管理。VNF Manager可以存在多個。
- ***NFVI:前面已經(jīng)描述過。
- ***VIM(Virtualized Infrastructure Manager): 作為NFV MANO的一部分,管理支持虛擬化的硬件軟件資源。包括權(quán)限管理,增加/回收VNF的資源,分析NFVI的故障,收集NFVI的信息等。VIM可以存在多個。
- ***NFV Orchestrator: 作為NFV MANO的一部分,管理和編排NFVI和軟件資源,在NFVI上實現(xiàn)NetworkService。
- ***OSS/BSS(Operation Support Systems andBusiness Support Systems): Operator原有的管理系統(tǒng)。
- ***Service,VNF and Infrastructure Description:為NFV MANO提供數(shù)據(jù)存儲管理的功能,數(shù)據(jù)包括VNFdeployment template,VNF-FG,service-relatedinformation和NFVI數(shù)據(jù)模型。
再來看看各個組成部分的連接關(guān)系。
- ***Virtualization Layer – Hardware Resources (Vi-Ha): 連接 virtualization 層和硬件資源。為VNF創(chuàng)造一個不依賴于硬件資源的運行環(huán)境。
- ***VNF – NFV Infrastructure (Vn-Nf) : 指的是由NFVI提供的供VNF運行的環(huán)境。
- ***NFV Orchestrator – VNF Manager (Or-Vnfm) :將配置信息發(fā)給VNF manager,進一步由VNF manager控制VNF,使得VNF在VNF-FG中工作。同時收集VNF的信息,以供Network Service聲明周期管理。
- ***VirtualizedInfrastructure Manager – VNF Manager (Vi-Vnfm) :由于VNFManager肩負著VNF的聲明周期管理,這個連接是VNF Manager控制VNF資源的接口。同時也收集虛擬化資源配置和狀態(tài)信息,供VNF使用。
- ***NFV Orchestrator -Virtualised Infrastructure Manager (Or-Vi) :NFVMANO不是簡單的分層的關(guān)系,Orchestrator可以直接連接到VIM。這個連接也是資源的分配和保留,收集虛擬化資源的配置和狀態(tài)信息。
- ***NFVI – VirtualisedInfrastructure Manager (Nf-Vi) :具體的虛擬資源分配,同時收集NFVI的虛擬化資源的配置和狀態(tài)信息。
- ***OSS/BSS – NFVManagement and Orchestration (Os-Ma) : OSS/BSS的接入點。
- ***VNF/EM – VNFManager (Ve-Vnfm) : VNF Manager 管理VNF的接口,包括了VNF的生命周期管理,配置管理,收集VNF的狀態(tài)信息,以供NetworkService生命周期管理使用。
最后
最后再來看什么是NFV?NFV是一個技術(shù)方向,是將虛擬化技術(shù)應(yīng)用到傳統(tǒng)網(wǎng)絡(luò),是對傳統(tǒng)網(wǎng)絡(luò)的革新。它的應(yīng)用主要是電信領(lǐng)域。ETSI NFV ISG與2014年9月成立了OPNFV(Open Platform ofNetwork Function Visualization)開源社區(qū)。OPNFV是一個Linux基金會托管項目,提供了一個集成的開源參考平臺。OPNFV的出現(xiàn)為NFV產(chǎn)業(yè)提供了一個公共的平臺,聚集了NFV領(lǐng)域的主要參與方,包括運營商,CT廠商,IT廠商等,基于OpenStack、OpenDaylight、ONOS、KVM 等開源組件進行集成。
總結(jié)
以上是生活随笔為你收集整理的NFV介绍_NFV技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安装MySQL之后,在cmd中MySQL
- 下一篇: 地理空间数据免费获取(一)