蔡衛(wèi)紅,郭旭靜,李聰
湖南郵電職業(yè)技術(shù)學院信息通信學院,湖南 長沙 410015
5G 移動系統(tǒng)通過將一個物理網(wǎng)絡分割成多個邏輯虛擬網(wǎng)絡,來滿足各種5G 業(yè)務QoS(Quality of Service,服務質(zhì)量)的需求。歐洲電信標準化協(xié)會(ETSI)定義的NFV(Network Function Virtualization,網(wǎng)絡功能虛擬化)開放網(wǎng)絡架構(gòu)將5G 網(wǎng)絡功能與底層硬件解耦,實現(xiàn)資源管理的靈活彈性、資源靈活共享、新業(yè)務快速開發(fā)和部署,使5G 網(wǎng)絡能以更低成本和更高靈活性滿足各種業(yè)務需求。我們通過仿真支持三種不同類型帶寬要求eMBB(Enhanced Mobile Broadband,增強型移動寬帶)應用場景服務的多切片架構(gòu)、單切片架構(gòu)設計,比較其在吞吐量、響應時間和CPU 利用率方面的差異。
5G 核心網(wǎng)使用開源軟件,將用戶平面和控制平面功能分離,各平面獨立部署和演進,其提供的5G NFs(Network Functions,網(wǎng)絡功能)包括:網(wǎng)絡切片選擇功能、認證服務器功能、網(wǎng)絡存儲庫功能、接入和移動管理功能、統(tǒng)一數(shù)據(jù)管理功能、會話管理功能、策略控制功能、應用功能、網(wǎng)絡開放功能、統(tǒng)一數(shù)據(jù)存儲庫功能、用戶面功能等,從而實現(xiàn)NFV 環(huán)境下網(wǎng)絡功能的靈活高效部署。
NFV 是5G 移動系統(tǒng)實現(xiàn)網(wǎng)絡切片的關鍵技術(shù),消除了對專有硬件的要求,為eMBB、uRLLC(ultra Reliable Low Latency Communication,超可靠低延遲通信)、mMTC(massive Machine Type of Communication,海量機器類通信)三類特定場景的QoS 需求量身定制。借助NFV,可將NFs 作為VNFs(Virtual Network Functions,虛擬網(wǎng)絡功能)部署到云計算基礎架構(gòu)上。
1.2.1 NFV-MANO 體系結(jié)構(gòu)
NFV-MANO(Management and Orchestration,管理編排)負責配置、部署、管理和擴展網(wǎng)絡切片,包括三個主要部分:NFVO(NFV Orchestrator,NFV 編排器)、VNFM(VNF Manager,VNF 管理器)和VIM(Virtualized Infrastructure Manager,虛擬化基礎設施管理器)。另外還有幾個補充組件:NS(Network Service,網(wǎng)絡服務)目錄、VNF(Virtualized Network Function,虛擬網(wǎng)絡功能)目錄、NFVI(NFV Infrastructure,網(wǎng)絡功能虛擬化基礎設施)資源庫和NFV 實例庫[1]。
NFV-MANO 體系各組件功能分別為:(1)NFVO:NS 生命周期管理模塊,負責對NFV資源(含VNFs 和NFVI)的編排和NSs 的管理;(2)VNFM:VNF 管理模塊,負責VNF 實例的生命周期管理、控制和監(jiān)視,一般與VNF 一一對應;(3)VIM:NFVI 管理模塊,負責管理NFVI,包括計算、存儲和網(wǎng)絡資源;(4)NS 目錄:表示網(wǎng)絡服務的存儲庫,支持通過NFVO 公開的接口操作創(chuàng)建和管理NS 部署模板,包括NSD(Network Service Descriptor,網(wǎng)絡服務描述符)、VLD(Visual Link Descriptor,虛擬鏈路描述符)、VNFFGD(VNF Forwarding Graph Descriptor,網(wǎng)絡功能虛擬化轉(zhuǎn)發(fā)圖描述符);(5)VNF 目錄:表示所有已加載VNF 包的存儲庫,支持通過NFVO 公開的接口操作創(chuàng)建和管理VNF 包;(6)NFVI 資源庫:保存了關于可用的、保留的和已分配的NFVI 資源的信息,并被NFVO 用于編排和管理VIM 抽象的資源;(7)NFV 實例庫:保存所有VNF 實例和網(wǎng)絡服務實例信息。
1.2.2 3GPP 網(wǎng)絡切片和NFV 網(wǎng)絡服務
根據(jù)3GPP,網(wǎng)絡切片是一種端到端的網(wǎng)絡架構(gòu),它由多個網(wǎng)絡切片子網(wǎng)組成[2]。每個網(wǎng)絡切片子網(wǎng)包含一個或多個網(wǎng)絡功能,還可包含其他網(wǎng)絡切片子網(wǎng)。每個網(wǎng)絡切片子網(wǎng)可為端到端網(wǎng)絡中的一個組成網(wǎng)段,如接入網(wǎng)、核心網(wǎng)和傳輸網(wǎng)[3-4]。對NSI(Network Slice Instance,網(wǎng)絡切片實例)包含至少一個VNF 的情況,可將NFV NS 視為網(wǎng)絡切片以資源為中心的視圖[5]。根據(jù)3GPP,一個NSSI(Network Slice Subnet Instance,網(wǎng)絡切片子網(wǎng)實例)可被多個NSIs 共享[6]。NFV-MANO 作為網(wǎng)絡切片關鍵使能技術(shù),將每個網(wǎng)絡切片(或網(wǎng)絡切片子網(wǎng))映射到一個NS。因此,要實例化一個網(wǎng)絡切片子網(wǎng),通常需要使用NSD 來描述NFVMANO。
1.2.3 網(wǎng)絡服務描述符
NSD(Network Service Descriptor,網(wǎng)絡服務描述符)是NS 的部署模板,其NS 部署模板還包含所有NS 組件的描述符,如VNFDs(Virtualized Network Function Descriptors,虛擬化網(wǎng)絡功能模塊描述符)、VLDs、VNFFGDs。NFV-MANO 使用這些描述符來實現(xiàn)網(wǎng)絡服務的動態(tài)組合,部署專用網(wǎng)絡服務,并管理網(wǎng)絡切片的服務質(zhì)量[7]。
(1)OpenStack:是云計算管理工具,通過命令或基于Web 可視化控制面板來管理IaaS云 端 的 資 源 池;(2)Tacker:是OpenStack 下的一個內(nèi)孵化模塊,提供VNF 管理功能,管理VNF 生命周期,配置、監(jiān)視、重啟和擴展VNF;(3)Kubernetes:是一個開源管理云平臺中多主機上容器化的應用,通過抽象底層的計算、存儲和網(wǎng)絡基礎設施,使部署容器化的應用變得簡單且高效;(4)CNI:是云原生計算基金會推出的容器插件(模塊化)網(wǎng)絡接口的解決方案,定義了編寫插件在Linux 容器中配置網(wǎng)絡接口的規(guī)范,以實現(xiàn)互操作性。
5G 核心網(wǎng)切片系統(tǒng)設計使用OpenStack 作為VIM,使用Tacker 同時作為NFVO 及VNFM,使用free5GC 提供所需的5GC NFs,以此建立一個支持5G 核心網(wǎng)切片的NFV-MANO 測試平臺。我們設計使用相同環(huán)境支持NFV 的兩種5G 核心網(wǎng)架構(gòu):多切片架構(gòu)、單切片架構(gòu)。
對多切片核心網(wǎng)架構(gòu),設計3 個網(wǎng)絡切片來支持3 種不同帶寬需求的eMBB 業(yè)務;對單切片網(wǎng)絡架構(gòu),設計1 個網(wǎng)絡切片來滿足3 種不同帶寬需求的eMBB 業(yè)務。以上兩種核心網(wǎng)切片架構(gòu),雖然每個切片都實現(xiàn)一個獨立5G 核心網(wǎng)絡功能,但對前者來說,3 個切片分別連到其對應的數(shù)據(jù)服務器,而后者唯一的切片同時連到3 個數(shù)據(jù)服務器。
假設兩種5G 核心網(wǎng)架構(gòu)都用9 個VNF 來部署。其中CP(Control Plane,控制面)有8 個:NRF(Network Repository Function,網(wǎng) 絡 倉 儲 功能)、AMF(Access and Mobility Management Function,接入和移動性管理功能)、SMF(Session Management Function,會 話 管 理 功 能)、UDR(Unified Data Repository,統(tǒng)一數(shù)據(jù)倉庫存儲)、PCF(Policy Control Function,策略控制功能)、UDM(Unified Data Management,統(tǒng)一數(shù)據(jù)管理)、AUSF(Authentication Server Function,認證服務器功能)、MongoDB。UP(User Plane,用戶面)有1個:UPF(User Plane Function,用戶面功能)。多切片架構(gòu)的每個切片都有一個單獨CP 來提供信令交換,每個切片都有一個單獨UP 以實現(xiàn)并行處理數(shù)據(jù)包轉(zhuǎn)發(fā)。
假設每個5G 核心網(wǎng)VNF 都在單獨的OpenStack虛擬機或Kubernetes 容器上運行。兩種架構(gòu)都采用3 種數(shù)據(jù)產(chǎn)生器來模擬5G UE 發(fā)送數(shù)據(jù)包,每個數(shù)據(jù)產(chǎn)生器模擬多個終端運行,并使終端注冊到5G 核心網(wǎng),3 種數(shù)據(jù)產(chǎn)生器分別用于模擬高(900 Mbps)、中(100 Mbps)、低(10 Mbps)3 種eMBB 數(shù)據(jù)傳輸服務。高、中、低3 種數(shù)據(jù)產(chǎn)生器均傳輸兩類數(shù)據(jù)包:不同數(shù)據(jù)速率(如900 Mbps、100 Mbps 和10 Mbps)UDP 數(shù)據(jù)包;每秒一次的ICMP 回復數(shù)據(jù)包。通過UDP 數(shù)據(jù)包速率,可測量5G 核心網(wǎng)切片的吞吐量,通過ICMP 回復數(shù)據(jù)包可測得UE 和DS 數(shù)據(jù)服務器在5G 核心網(wǎng)切片上的響應時間。對多切片網(wǎng)絡架構(gòu),3 種不同數(shù)據(jù)速率數(shù)據(jù)包被定向到帶寬最匹配的網(wǎng)絡切片上。對單切片網(wǎng)絡架構(gòu),3 種不同數(shù)據(jù)速率數(shù)據(jù)包被發(fā)到唯一網(wǎng)絡切片,該切片提供了足夠帶寬來處理所有的數(shù)據(jù)流量。以上兩種核心網(wǎng)切片架構(gòu)都使用3 個數(shù)據(jù)服務器作為5G PDU 會話接收器,接收來自3個數(shù)據(jù)產(chǎn)生器的數(shù)據(jù)包,并測量其切片吞吐量。此外,數(shù)據(jù)服務器還將ICMP 回復消息發(fā)回數(shù)據(jù)產(chǎn)生器,以計算響應時間。
在通過Tacker NFVO 基于VM(Virtual Machine,虛擬機)環(huán)境部署5G 核心網(wǎng)切片前,NSs 和VNFs都需在基于云應用TOSCA 標準用YAML 編寫的NSDs 和VNFDs 中來進行描述。在Tacker 中,VNF的行為和部署信息在VNFD 中定義。VNFD 由以下部分組成:VDU(Virtualization Deployment Unit,虛擬部署單元)、CPD(Connection Point Descriptor,連接點描述符)、VLD、FIP(Floating IP Address,動態(tài)IP地址)。在當前的Tacker 實現(xiàn)中,VNF 包括VDU、CPt(Connection Point,連接點)和VL(Virtual Link,虛擬鏈路)。每個VDU 都需通過CPt 連到VL,每個CPt 都必須與VDU 綁定。VL 為VDUs 間的通信提供連接。當VDU 需訪問公網(wǎng)時,可為其分配動態(tài)IP 地址。一個VNFD 用于部署5G 核心網(wǎng)的一個VNF,且每個VNF 只有一個VDU,故VNF、VDU和一個5G 核心網(wǎng)NF 在邏輯上是等價的,同一個5G 核心網(wǎng)切片的VDUs 通過它們的CPts 連接到同一個VL。
網(wǎng)絡切片使用NSD 部署。根據(jù)ETSI NFVMANO,NSD 包括:VNFD、VNFFGD、VLD 和PNFD(Physical Network Function Descriptor,物理網(wǎng)絡功能描述符)。我們的VL 處于NS 級別,不同于VNF 級別的VL,VNFFGD 通常用于定義VNFs的連接拓撲結(jié)構(gòu),以創(chuàng)建業(yè)務功能鏈。根據(jù)VNFD中的部署信息,5G 核心網(wǎng)的每個組件都將作為VNF 部署,然后使用NSD 導入5G 核心網(wǎng)NFs 的9 個VNFDs,以創(chuàng)建一個5G 核心網(wǎng)切片。
切片系統(tǒng)工作流程如圖1 所示。
圖1 基于OpenStack 的NFV-MANO 體系結(jié)構(gòu)系統(tǒng)切片工作流程
2.3.1 準備
將NS 實例化到一個目標VIM。使用Tacker前先進行VIM 注冊,NFVO 使用身份驗證URL、用戶名、密碼、證書、令牌等賬戶信息,通過存在點(POP)將OpenStack 注冊為VIM。
2.3.2 加載
VIM 注冊成功后,先前設計的VNFDs/NSDs在NS 實例化前提交給NFVO,此過程即“加載”。NFVO 驗證加載的VNFDs 及NSDs 的完整性和安全性,一旦核實,NFVO 將把NSDs 和VNFDs 分別插入NS 目錄和VNF 目錄中。
2.3.3 實例化
提供加載網(wǎng)絡切片ID,通過NFVO 請求實例化5G 網(wǎng)絡切片。NFVO 收到請求后,會請求VIM檢查VNF 實例化和互連所需的網(wǎng)絡資源的可用性,并預留這些資源。一旦VIM 確認資源預留完成,NFVO 將請求VNFM 通過將相應VNFD 轉(zhuǎn)換為用于VIM 執(zhí)行部署操作的Heat 模板來實例化NS 中的每個VNF,完成后,NFVO 將確認網(wǎng)絡切片實例化完成。
2.3.4 QoS 策略設置
通過VIM 設置每個網(wǎng)絡切片的QoS 策略。QoS策略定義了帶寬、時延、可靠性等網(wǎng)絡切片服務要求。設計中所提的多切片架構(gòu)由3 個對帶寬有不同QoS 要求的切片組成。而單切片架構(gòu)僅使用1 個QoS要求切片,該切片支持3 個子切片提供的帶寬總和。
2.3.5 測試
多切片/單切片系統(tǒng)就緒后,數(shù)據(jù)產(chǎn)生器開始通過網(wǎng)絡切片發(fā)送UDP 和ICMP 數(shù)據(jù)包到數(shù)據(jù)服務器。數(shù)據(jù)服務器通過接收到的數(shù)據(jù)包來計算出吞吐量,同時通過Linux 信令監(jiān)視服務器。監(jiān)視CPU在收到ICMP 包后,發(fā)確認Echo 應答消息,數(shù)據(jù)產(chǎn)生器收到Echo 應答消息后計算出響應時間。
使用3 個相同服務器來進行仿真,其配置見表1。一種OpenStack 用于測試多切片網(wǎng)絡架構(gòu),另一種OpenStack 用于測試單切片網(wǎng)絡架構(gòu)。兩種架構(gòu)配置如表2 和表3 所示。3 個數(shù)據(jù)產(chǎn)生器和3 個數(shù)據(jù)服務器的配置是1 個vCPU、16 GB RAM 和20 GB 磁盤,每個都配備Ubuntu 18.04。數(shù)據(jù)產(chǎn)生器和數(shù)據(jù)服務器部署為OpenStack VNF,且與5G 核心網(wǎng)環(huán)境分離。
表1 實施環(huán)境配置
表2 單切片網(wǎng)絡架構(gòu)配置
表3 多切片網(wǎng)絡架構(gòu)配置
如表2 所示,單切片架構(gòu)只有1 個切片,其切片虛擬資源相當于多切片架構(gòu)中3 個切片之和。如表3 所示,多切片架構(gòu)的每個切片上設置了9 個5G 核心網(wǎng)NFs 作為VNFs,每個VNF 都運行在OpenStack 虛擬機上。OpenStack 上總共部署有27 個虛擬機,3 個切片配置相同CP NF,但3 個UPF 根據(jù)其QoS 要求配置不同帶寬,以支持5G eMBB 業(yè)務的高、中、低三種服務帶寬,故每個UPF 配置不同大小的RAM 來處理相應流量。
通過仿真來比較多切片、單切片網(wǎng)絡架構(gòu)在吞吐量、響應時間、CPU 利用率三方面性能的差異。結(jié)果表明:多切片網(wǎng)絡架構(gòu)在吞吐量、響應時間方面表現(xiàn)較好,而單切片網(wǎng)絡架構(gòu)在CPU 利用率方面表現(xiàn)較好。多切片網(wǎng)絡架構(gòu)的數(shù)據(jù)產(chǎn)生器分別通過切片1、2、3 向各自數(shù)據(jù)服務器發(fā)送900 Mbps、100 Mbps、10 Mbps 的UDP 報文。單切片網(wǎng)絡架構(gòu)的3 個數(shù)據(jù)產(chǎn)生器將其UDP 報文通過相同切片發(fā)送到對應數(shù)據(jù)服務器。兩種架構(gòu)中的每個數(shù)據(jù)產(chǎn)生器同時向相應數(shù)據(jù)服務器發(fā)送UDP報文和ICMP Echo 請求報文,并接收數(shù)據(jù)服務器返回的ICMP Echo 應答報文,來計算響應時間。數(shù)據(jù)服務器通過接收到的數(shù)據(jù)包統(tǒng)計各切片吞吐量,同時收集整個物理服務器在實驗時的CPU 利用率。仿真持續(xù)10 min,測試取3 個數(shù)據(jù)服務器和3 個數(shù)據(jù)產(chǎn)生器記錄的吞吐量平均值、響應時間平均值和CPU 利用率平均值。
圖2 為兩種架構(gòu)設計平均吞吐量的仿真結(jié)果。多切片網(wǎng)絡架構(gòu)具有較好的數(shù)據(jù)吞吐性能,其平均吞吐量大約比單切片網(wǎng)絡架構(gòu)高100 Mbps。
圖2 平均吞吐量
圖3 為以微秒(μs)為單位的兩種架構(gòu)設計平均響應時間結(jié)果。結(jié)果表明,多切片網(wǎng)絡架構(gòu)具有較好的平均響應性能,其平均響應時間大約為單切片網(wǎng)絡架構(gòu)的1/8。
圖3 平均響應時間
圖4 以百分比(%)顯示了兩種架構(gòu)設計平均CPU 利用率的對比情況。結(jié)果表明,多切片網(wǎng)絡架構(gòu)具有較高CPU 利用率,與單切片網(wǎng)絡架構(gòu)相比,平均CPU 利用率增加了約20 個百分點。
圖4 平均CPU 利用率
仿真結(jié)果表明,在虛擬資源和物理資源配置相同的情況下,我們提出的多切片架構(gòu)需占用更多CPU 資源,但其吞吐量和響應時間優(yōu)于單切片網(wǎng)絡架構(gòu),因為多切片架構(gòu)需同時使用3 個UPF 來并行處理數(shù)據(jù)流量,故有更高的CPU 利用率,但具有更高吞吐量和更短響應時間。
綜上所述,利用NCTU free5GC、Tacker、OpenStack 和Kubernetes,可 研 究NFV 環(huán)境 不同5G 核心網(wǎng)切片架構(gòu)設計對核心網(wǎng)性能的影響,仿真對比多切片架構(gòu)與單切片架構(gòu)在吞吐量、響應時間和CPU 利用率方面的差異。通過實驗仿真,我們驗證了多切片架構(gòu)可提高5G 核心網(wǎng)吞吐量和縮短響應時間,但其比單切片架構(gòu)占用更多CPU 資源。