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

圖1 基于OpenStack 的NFV-MANO 體系結構系統切片工作流程
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 實例化
提供加載網絡切片ID,通過NFVO 請求實例化5G 網絡切片。NFVO 收到請求后,會請求VIM檢查VNF 實例化和互連所需的網絡資源的可用性,并預留這些資源。一旦VIM 確認資源預留完成,NFVO 將請求VNFM 通過將相應VNFD 轉換為用于VIM 執行部署操作的Heat 模板來實例化NS 中的每個VNF,完成后,NFVO 將確認網絡切片實例化完成。
2.3.4 QoS 策略設置
通過VIM 設置每個網絡切片的QoS 策略。QoS策略定義了帶寬、時延、可靠性等網絡切片服務要求。設計中所提的多切片架構由3 個對帶寬有不同QoS 要求的切片組成。而單切片架構僅使用1 個QoS要求切片,該切片支持3 個子切片提供的帶寬總和。
2.3.5 測試
多切片/單切片系統就緒后,數據產生器開始通過網絡切片發送UDP 和ICMP 數據包到數據服務器。數據服務器通過接收到的數據包來計算出吞吐量,同時通過Linux 信令監視服務器。監視CPU在收到ICMP 包后,發確認Echo 應答消息,數據產生器收到Echo 應答消息后計算出響應時間。
使用3 個相同服務器來進行仿真,其配置見表1。一種OpenStack 用于測試多切片網絡架構,另一種OpenStack 用于測試單切片網絡架構。兩種架構配置如表2 和表3 所示。3 個數據產生器和3 個數據服務器的配置是1 個vCPU、16 GB RAM 和20 GB 磁盤,每個都配備Ubuntu 18.04。數據產生器和數據服務器部署為OpenStack VNF,且與5G 核心網環境分離。

表1 實施環境配置

表2 單切片網絡架構配置

表3 多切片網絡架構配置
如表2 所示,單切片架構只有1 個切片,其切片虛擬資源相當于多切片架構中3 個切片之和。如表3 所示,多切片架構的每個切片上設置了9 個5G 核心網NFs 作為VNFs,每個VNF 都運行在OpenStack 虛擬機上。OpenStack 上總共部署有27 個虛擬機,3 個切片配置相同CP NF,但3 個UPF 根據其QoS 要求配置不同帶寬,以支持5G eMBB 業務的高、中、低三種服務帶寬,故每個UPF 配置不同大小的RAM 來處理相應流量。
通過仿真來比較多切片、單切片網絡架構在吞吐量、響應時間、CPU 利用率三方面性能的差異。結果表明:多切片網絡架構在吞吐量、響應時間方面表現較好,而單切片網絡架構在CPU 利用率方面表現較好。多切片網絡架構的數據產生器分別通過切片1、2、3 向各自數據服務器發送900 Mbps、100 Mbps、10 Mbps 的UDP 報文。單切片網絡架構的3 個數據產生器將其UDP 報文通過相同切片發送到對應數據服務器。兩種架構中的每個數據產生器同時向相應數據服務器發送UDP報文和ICMP Echo 請求報文,并接收數據服務器返回的ICMP Echo 應答報文,來計算響應時間。數據服務器通過接收到的數據包統計各切片吞吐量,同時收集整個物理服務器在實驗時的CPU 利用率。仿真持續10 min,測試取3 個數據服務器和3 個數據產生器記錄的吞吐量平均值、響應時間平均值和CPU 利用率平均值。
圖2 為兩種架構設計平均吞吐量的仿真結果。多切片網絡架構具有較好的數據吞吐性能,其平均吞吐量大約比單切片網絡架構高100 Mbps。

圖2 平均吞吐量
圖3 為以微秒(μs)為單位的兩種架構設計平均響應時間結果。結果表明,多切片網絡架構具有較好的平均響應性能,其平均響應時間大約為單切片網絡架構的1/8。

圖3 平均響應時間
圖4 以百分比(%)顯示了兩種架構設計平均CPU 利用率的對比情況。結果表明,多切片網絡架構具有較高CPU 利用率,與單切片網絡架構相比,平均CPU 利用率增加了約20 個百分點。

圖4 平均CPU 利用率
仿真結果表明,在虛擬資源和物理資源配置相同的情況下,我們提出的多切片架構需占用更多CPU 資源,但其吞吐量和響應時間優于單切片網絡架構,因為多切片架構需同時使用3 個UPF 來并行處理數據流量,故有更高的CPU 利用率,但具有更高吞吐量和更短響應時間。
綜上所述,利用NCTU free5GC、Tacker、OpenStack 和Kubernetes,可 研 究NFV 環境 不同5G 核心網切片架構設計對核心網性能的影響,仿真對比多切片架構與單切片架構在吞吐量、響應時間和CPU 利用率方面的差異。通過實驗仿真,我們驗證了多切片架構可提高5G 核心網吞吐量和縮短響應時間,但其比單切片架構占用更多CPU 資源。