標籤:

NFV 閑聊(基礎技術篇)

NFV全稱是Network Function Virtualization。這又是一個與網路相關的故事。先來看看NFV的前世今生吧。在NFV之前,NF(Network

Function)是一直存在的,網路中,NF可以看成一個個獨立的網元,實現著各自的功能。NF以固定的方式連接起來,統一提供的網路功能和服務。隨便在網上找了張圖,大概示意一下。

V(Virtualization)是虛擬化。NFV字面上理解就是網路功能虛擬化。凡是提到虛擬化,讓人想到的是用軟體的方式實現傳統的功能。又是網路又是軟體的,那NFV和SDN有什麼區別聯繫?

首先,NFV和SDN彼此之間沒有必然聯繫。NFV即使脫離SDN,也能實現,在傳統的網路架構中,將PNF(Physical Network Function)替換成虛擬化的NF,再輔以傳統的NF連接方式,也能實現NFV。而SDN更是可以脫離NFV實現。

但是,另一方面,NFV和SDN如果相互結合,又可以是互補的存在。藉助SDN,不僅傳統的NF連接方式都能支持,SDN還能提供更高效的NFV實現方式。畢竟SDN提供的管理層和轉發層的分離,使得網路變得極其靈活。反過來,NFV也能夠提供SDN的運行環境,幫助SDN的實現。舉個例子,某公有雲基於SDN提供了IaaS服務,某客戶希望在該公有雲上搭建自己的Web Server,這個時候,客戶可以藉助第三方的鏡像來部署Firewall和Load Balancer實例。在這個場景下,第三方提供的鏡像作為NFV的一部分,完善了SDN的功能。SDN和NFV的關係可以描述為下圖,圖中提到開放是為了技術更好的發展,與技術本身無關。

既然NF在之前就已經存在,那為什麼要提出NFV?那肯定是原有的NF架構有這樣那樣的問題,這裡就不展開了。簡單說就是傳統的NF架構成本高,運維困難,機會成本大(硬體設備更新換代之後,原有設備作廢),為了更好的收益,才提出的NFV。除了內因,外界的技術發展也促使NFV的發展,這包括了:

  • 雲計算(Cloud computing)的發展:雲計算為NFV的虛擬化提供了支持。通常NFV中的單元是一個個虛機,而雲計算能提供靈活的虛擬管理。尤其是雲計算帶出的標準API如OpenFlow,OpenStack,OpenNaaS,和OGF的NSI,為NFV和雲計算的結合提供了幫助,進而推動了NFV的發展。

  • 標準伺服器的發展:標準x86伺服器的性能不斷提升,成本不斷降低,使得基於軟體實現NF的成本大大優於基於專有設備實現NF。

當然NFV本身也存在一些挑戰:

  • 不同廠商之間的兼容問題,傳統的NF本身各個廠商都是私有介面了,而NFV如果能統一介面,將使得應用變得更加廣闊。

  • 性能的下降:

    軟體實現的東西通常都比專有設備實現的功能性能要差。因此,在一些對性能特別敏感的地方,仍然需要使用專有設備。

  • 傳統NF的遷移和共存問題。

  • 統一的管理和編排(Management and Orchestration)

  • 安全性和彈性等等。

總之,NFV於內於外都有其催生的因素,而其本身又具有一些挑戰,這個時候就需要某個組織跳出來制定一個統一的標準,於是我們有了ETSI(European Telecommunications Standards Institute)提出的NFV參考架構。

High-Level NFV Framework

從大的顆粒看,NFV的架構可以分為三個部分,如下圖所示:

VNF(Virtualized Network Function)

VNF運行在NFVI之上。從概念上,VNF是NF的虛擬化實現,V是Virtualized的意思。除了這點之外,還可以從三個角度來理解VNF:

  • 從虛擬化的角度來說,VNF可以是一個VM(Virtual

    Machine),當然容器作為新生力量,它也可能存在,這裡就不多說了。

  • 從設備提供商(vendor)的角度來說,VNF是一個或者多個內部相連的VM和描述它們的模板。

  • 從操作人員(operator)的角度來說,VNF是一個vendor提供的軟體包。

前面提到了NF連接起來統一提供Network Service,描述NF連接關係的模板稱為NF-FG (Forwarding Graph)這個就是之前介紹過的SFC。在NFV框架下,又稱之為VNF-FG。VNF-FG提供VNF之間的邏輯連接,對應於傳統網路架構中的用線纜連接NF。在一個黑盒子里,VNF-FG和VNF與NF-FG和NF提供的介面和服務是一樣的。下圖顯示了在兩個物理網元(PNF)之間通過VNF-FG建立的E2E(End to End)網路服務。

VNF的解構和聚合

VNF解構:將一個high

level的VNF拆分成一些low level的VNF,這樣能夠提供更靈活的應用,更快的響應,並支持更大的規模。

VNF聚合:將一些low

level的VNF組合成一個整體的high level的VNF。這樣能減少管理的難度,並適當降低VNF-FG的複雜性。

由於通過虛擬化和軟體實現了NF,VNF的組合連接方式可以非常靈活,具體要取決於VNF provider的實現和Network Service Provider的描述。

NFVI(NFV Infrastructure)

NFVI包含各種物理資源和虛擬化技術。NFVI支持VNF的運行。前面說過,從虛擬化的角度來看,VNF可以是VM。NFVI支持VNF的運行,其一部分工作就是提供VNF所需的VM。既然這樣,那NFVI和Cloud有什麼區別聯繫?

首先,Cloud和NFV都依賴物理的計算網路存儲資源,它們都把這些資源作為一個資源池來使用。

其次,Cloud的服務提供形式通常有IaaS,PaaS,SaaS。而NFVI需要提供IaaS的運行時環境,這樣才具備提供VM的能力。

第三,在Cloud提供的形式中,還有一個NaaS(Network as a

Service),它提供了一個動態的,按需的網路連接服務。NFVI需要提供NaaS的動態網路連接能力,以管理VNF之間的連接。因此Cloud中的IaaS和NaaS可以看成是NFVI所需要提供部分服務內容。

NFVI可以理解成一個定製化的Cloud,將物理資源(計算存儲網路)抽象和虛擬化,以提供上層運行的VNF使用。NFVI的物理資源在NFVI-PoPs(NFVI Point of

Presence)。在一個NFV架構中,NFVI-PoPs不局限於一個位置。例如,Service

Provider2可以在Service

Provider1提供的NFVI之上運行自己的VNF(SP1和SP2之間進行相應的協商),如下圖所示:

NFV MANO(Management and Orchestration)

將NF從硬體資源抽象解耦成軟體實現的VNF,必然會帶來管理上的挑戰。這包擴了,邏輯上E2E的網路服務在NFV

network中的映射;將VNF部署在合適的位置以實現期望的網路服務;為VNF分配和擴展硬體資源;檢查VNF狀態,並恢復VNF的錯誤。其實在傳統網路架構中,這些都是operator管理PNF的工作,現在可以通過軟體來實現,也可以說是增加了通用性,降低了維護成本。

NFV MANO管理前面描述的VNF和NFVI的系統,這包括:

  • NFVI中支持虛擬化的硬體和軟體

  • VNF的編排和聲明周期管理

NFV MANO由幾個部分組成,每個部分完成特定的功能。另一方面,NFV MANO必須與現有的管理系統,例如OSS/BSS,硬體資源管理系統,和作為VIM的CMS等工作在一起,以幫助它們管理虛擬化的資源。這塊在下個部分再說明。

NFV Reference Architectural Framework

在前面的基礎上,再進一步詳細描述ETSI給出的NFV架構。

先看組成部分:

  • VNF:前面已經描述過了,這裡就不再敘述。

  • EM(Element Management):對一個多著多個VNF進行管理。注意NFVI只是提供VNF的運行環境,對VNF的管理還需要EM參與。

  • VNF Manager(s):作為NFV MANO的一部分,負責VNF的生命周期管理。VNF Manager可以存在多個。

  • NFVI:前面已經描述過。

  • VIM(Virtualized Infrastructure Manager): 作為NFV MANO的一部分,管理支持虛擬化的硬體軟體資源。包括許可權管理,增加/回收VNF的資源,分析NFVI的故障,收集NFVI的信息等。VIM可以存在多個。

  • NFV Orchestrator: 作為NFV MANO的一部分,管理和編排NFVI和軟體資源,在NFVI上實現Network

    Service。

  • OSS/BSS(Operation Support Systems and

    Business Support Systems): Operator原有的管理系統。

  • Service,VNF and Infrastructure Description:

    為NFV MANO提供數據存儲管理的功能,數據包括VNF

    deployment template,VNF-FG,service-related

    information和NFVI數據模型。

再來看看各個組成部分的連接關係。

  • Virtualization Layer - Hardware Resources (Vi-Ha): 連接 virtualization 層和硬體資源。為VNF創造一個不依賴於硬體資源的運行環境。

  • VNF - NFV Infrastructure (Vn-Nf) : 指的是由NFVI提供的供VNF運行的環境。

  • NFV Orchestrator - VNF Manager (Or-Vnfm) :將配置信息發給VNF manager,進一步由VNF manager控制VNF,使得VNF在VNF-FG中工作。同時收集VNF的信息,以供Network Service聲明周期管理。

  • Virtualized

    Infrastructure Manager - VNF Manager (Vi-Vnfm) :由於VNF

    Manager肩負著VNF的聲明周期管理,這個連接是VNF Manager控制VNF資源的介面。同時也收集虛擬化資源配置和狀態信息,供VNF使用。

  • NFV Orchestrator -

    Virtualised Infrastructure Manager (Or-Vi) :NFV

    MANO不是簡單的分層的關係,Orchestrator可以直接連接到VIM。這個連接也是資源的分配和保留,收集虛擬化資源的配置和狀態信息。

  • NFVI - Virtualised

    Infrastructure Manager (Nf-Vi) :具體的虛擬資源分配,同時收集NFVI的虛擬化資源的配置和狀態信息。
  • OSS/BSS - NFV

    Management and Orchestration (Os-Ma) : OSS/BSS的接入點。

  • VNF/EM - VNF

    Manager (Ve-Vnfm) : VNF Manager 管理VNF的介面,包括了VNF的生命周期管理,配置管理,收集VNF的狀態信息,以供Network

    Service生命周期管理使用。

最後

最後再來看什麼是NFV?NFV是一個技術方向,是將虛擬化技術應用到傳統網路,是對傳統網路的革新。它的應用主要是電信領域。ETSI NFV ISG與2014年9月成立了OPNFV(Open Platform of

Network Function Visualization)開源社區。OPNFV是一個Linux基金會託管項目,提供了一個集成的開源參考平台。OPNFV的出現為NFV產業提供了一個公共的平台,聚集了NFV領域的主要參與方,包括運營商,CT廠商,IT廠商等,基於OpenStack、OpenDaylight、ONOS、KVM 等開源組件進行集成。


推薦閱讀:

SDN興起對於我們這些已經多年的CCIE,不知道未來該何去何從?
SDN興起對於我們這些已經多年的CCIE,不知道未來該何去何從11?
VXLAN在數據中心大量VM互聯場景下,能否免去flood-learn學習?
SDN和openstack的關係?

TAG:SDN |