天天看點

帶你讀《軟體定義網絡之旅:建構更智能、更快速、更靈活的未來網絡》第三章網絡功能虛拟化3.3(二)

基本分組轉發充分利用網絡輸入 /輸出(I/O,Input/Output)和記憶體讀 /寫操作。将分組移至基于伺服器的體系結構時,伺服器的I/O功能可能是轉發吞吐量的限制因素。如果我們繼續将路由器開發為需要支援所有這些功能的單片功能,那麼将這些工作負載轉移到基于伺服器的架構可能會面臨挑戰。許多網絡工作負載将需要高資料吞吐量,而在管理程式(其中,網絡功能無法直接通路網絡接口)覆寫網絡上很難實作。疊加路由或交換可能會阻礙虛拟功能(VF)通過虛拟平台産生的吞吐量,這可以通過采用諸如單根輸入 /輸出虛拟化(SR-IOV,Single-RootInput/OutputVirtualization)(Intel)之類的技術來繞過這些覆寫網絡,并直接将資料傳遞到網絡接口卡(NIC,NetworkInterfaceCard)。

SR-IOV是一種網絡接口,支援不同虛拟機共享單一實體外設部件互連(PCI,PeripheralComponentInterconnect)快速硬體接口。将虛拟功能配置設定給虛拟機執行個體支援網絡流量繞過管理程式并直接在虛拟功能和虛拟機(VM)之間流動。這允許接近線速性能而無須為每台虛拟機提供單一專用實體網絡接口卡。缺點是目前需要将這種 VNF綁定到特定伺服器,因而使在伺服器之間轉移該功能的能力變得更具挑戰性。随着時間的推移,當疊加路由器和交換機利用可提供更高資料平面吞吐量的新型 API時,可通過它們來實作更高吞吐量。一個執行個體是資料平面開發工具包(DPDK,DataPlaneDevelopmentKit)1,它提供了一組用于快速資料分組處理的庫和驅動程式。

2. 控制平面

控制平面是由邏輯來表征的,它通常涉及網絡功能之間的通信處理,且與端到端使用者通信不直接相關, 包括信令協定處理、會話管理或授權、認證和計費(AAA,AuthenticationAuthorizationAccounting)功能以及路由協定。預計這些功能具有較低的事務處理速率,且每項事務所需的處理複雜性相應增加,因而通常預期網絡 I/O不會像資料平面工作負載那樣得到廣泛使用。相反,CPU資源和 /或記憶體資源更容易成為瓶頸。

最常見的控制平面工作負載是諸如開放式最短路徑優先(OSPF,OpenShortestPathFirst)、邊界網關協定(BGP,BorderGatewayProtocol)、标簽分發協定(LDP,LabelDistributionProtocol)等路由協定。路由協定能夠為資料平面提供服務。IP網絡中的路由通常使用分布式控制平面,其中每台本地路由器負責基于從其他路由器或從諸如路由反射器(RR)等集中控制平面功能接收的控制平面資料來建立自己的轉發表。AT&T的核心網絡基于 MPLS技術,在更高層次上,MPLS網絡使用多協定 BGP和标簽交換的組合來區分和隔離虛拟專用網(VPN)之間的路由資訊和流量。RR用于将路由配置設定給邊緣。存在着附加控制平面元素,即域名服務(DNS)、動态主機控制協定(DHCP)和針對 IP語音(VoIP,VoiceoverInternetProtocol)的信令等。

當我們将控制平面功能遷移到雲時,諸如 RR和 DNS伺服器等現有獨立控制平面元素是理想的首選方案,因為這些元素已被分解并負責執行獨特的核心功能。用于 VPN服務的提供商邊緣(PE)路由器更複雜,因為其主要功能是資料分組處理,但PE路由器支援許多控制平面協定和工作負載。

目前,路由和轉發引擎可以在不同核心上進行分解。但是,像 BGP這樣的控制平面協定仍然內建在 PE執行個體中。它将随着時間的推移而發展,以便控制平面和資料平面可以進行完全分解。

3.  管理平面

管理平面涉及諸如編排、配置管理、故障和事件報告以及監視等功能。這些工作負載要求   彈性高且往往是集中式的。通常,它們支援網絡中的營運、管理和維護(OA&M,OperationsAdministrationandMaintenance)功能。過去,管理平面工作負載的配置、故障和性能管理一直是供應商專有的,甚至簡單網絡管理協定(SNMP,SimpleNetworkManagementProtocol)(國際)也是一種開放标準,無法實作供應商之間的互操作。SNMP是一種用于采叢集組織受管 IP裝置相關資訊的網際網路标準協定。

展望未來,管理平面的目标是擺脫專有管理協定,轉而采用開放式 API   的資料模型驅動架構。這将極大地改變在許多不同 VF上完成服務傳遞和服務保證的方式。一個重大轉變是遠離指令行界面(CLI,CommandLineInterface)代碼以支援網絡中網絡功能(如路由器)的配置。利用YANG(IETF)模組化語言,業界正在尋求諸如以太網等關鍵服務的通用資料模型。

YANG是一種用于定義服務結構的标準化模組化語言。例如,以太網可以由端口和VLAN進行定義。端口可由接口類型、速度、标記與否等來表征。VLAN包括速率、VLAN标記、QoS參數等,并将該标準模型推送給轉發裝置來實作。圖 3.6說明了如何在目錄中設計和存儲 YANG模型。(AT&T建立了一種 YANG模型設計平台,以幫助服務設計人員為其服務建構YANG模型)然後,可以通過名為 NETCONF(IETF)的協定将模型推送給 VF。NETCONF可定義為通過遠端過程調用(RPC,RemoteProcedureCall)安裝、操作和删除網絡裝置的配置。

帶你讀《軟體定義網絡之旅:建構更智能、更快速、更靈活的未來網絡》第三章網絡功能虛拟化3.3(二)

圖3.6YANG和NETCONF

YANG模型可擴充到許多軟體模型,以獲得網絡功能的更多抽象層。如圖 3.7所示,我們可以使用 YANG來定義裝置層(如單轉發裝置)、網絡層 [ 如跨城域網(MAN,MetropolitanAreaNetwork)或廣域網(WAN)的 VLAN]、服務層(諸如以太網 WAN的端到端服務定義)和 API層服務的資料模型。YANG定義了可以公開的軟體接口,以便為客戶請求端到端服務。

帶你讀《軟體定義網絡之旅:建構更智能、更快速、更靈活的未來網絡》第三章網絡功能虛拟化3.3(二)

圖3.7    YANG抽象層

在 VNF實作方案中,可以發現如下兩種額外工作負載類型,但程度較低:

(1)信号處理工作負載:定義為與數字信号處理相關的工作負載[ 如雲無線接入網(C-RAN,CloudRadioAccessNetwork)基帶單元(BBU,BaseBandUnit)(JunWu)中的快速傅立葉變換(FFT,FastFourierTransform)解碼 /編碼 ]。這些負載通常具有 CPU密集型和高時延敏感性。在先前的讨論中,我們傾向于将媒體轉碼表征為信号處理工作負載,盡管本規範給出了相關定義,轉碼似乎與涉及加密的資料平面工作負載存在着更多共同之處。與其他資料平面工作負載相比,預計 CPU使用率會大大提高,但不會比通用分組轉發更具時延敏感性。

(2) 存儲工作負載:定義為涉及磁盤存儲的工作負載,在規範中細分為密集型和非密集型兩種。

VNF的分解過程非常複雜,對所有工程問題和可能折中的詳細讨論已經超出本章範圍。從高層次來看,這一過程涉及以下方面。

(1) 按工作負載來識别和劃分外部接口和協定。

(2) 圍繞這些接口和協定來分離VNF的功能。

(3) 識别和隔離作為分解備選方案的任何存儲或管理功能。

(4)由于分離工作負載以外的原因而識别用于分解的備選功能(如将前端處理與資料存儲分離,以便更好地進行故障處理、部件重用、降低單一 VNF的複雜性等)。

(5) 确定備選分解功能之間的适當接口。

(6)考慮諸如效率權衡、故障域和故障處理、管理和編排複雜性等因素來評估分解每項功能的優勢是否會超過潛在成本。

繼續閱讀