高震宇 趙靜雅 劉涌



摘要:面對(duì)多場(chǎng)景、差異化的5G業(yè)務(wù),為了需滿足不同應(yīng)用場(chǎng)景在如時(shí)延、網(wǎng)速、安全性及網(wǎng)絡(luò)覆蓋率等方面的不同網(wǎng)絡(luò)性能要求,網(wǎng)絡(luò)切片技術(shù)作為5G中的一項(xiàng)關(guān)鍵技術(shù),能為不同用戶提供多樣化的按需定制服務(wù),針對(duì)這個(gè)問題,本文設(shè)計(jì)在Openstack平臺(tái)上實(shí)現(xiàn)了基于OAf組網(wǎng)的5G網(wǎng)絡(luò)切片的自動(dòng)部署。實(shí)驗(yàn)表明,該方案提高了移動(dòng)通信物理資源及網(wǎng)絡(luò)資源的利用率,使得自動(dòng)部署的實(shí)現(xiàn)使得切片的管理編排更加靈活方便。
關(guān)鍵詞:5G系統(tǒng);Openstack;SDN;NFV;網(wǎng)絡(luò)切片;自動(dòng)部署
中圖分類號(hào):TN392 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)30-0253-04
1概述
隨著網(wǎng)絡(luò)技術(shù)和移動(dòng)互聯(lián)網(wǎng)的不斷發(fā)展,全球移動(dòng)通信即將步入5G時(shí)代。相較于4G系統(tǒng),5G通信系統(tǒng)旨在創(chuàng)造全方位的以用戶或服務(wù)為中心的互聯(lián),并突破空間與時(shí)間的限制,服務(wù)于不同應(yīng)用場(chǎng)景。不同的應(yīng)用場(chǎng)景在系統(tǒng)性能、網(wǎng)絡(luò)功能、用戶體驗(yàn)及安全等各方面的需求都各有不同,作為5G網(wǎng)絡(luò)中的一項(xiàng)關(guān)鍵技術(shù),網(wǎng)絡(luò)切片技術(shù)能夠?yàn)楦鞣N不同的應(yīng)用場(chǎng)景提供與其需求相符的網(wǎng)絡(luò)資源,并保持相互隔離,保障服務(wù)質(zhì)量。虛擬化技術(shù)是通過軟硬件結(jié)合的方式,重組底層計(jì)算資源,集中計(jì)算,動(dòng)態(tài)分配,適應(yīng)不同應(yīng)用環(huán)境,提高資源利用率。虛擬化技術(shù)為實(shí)現(xiàn)網(wǎng)絡(luò)切片提供了基礎(chǔ)架構(gòu)和技術(shù)支撐。云計(jì)算也在虛擬化技術(shù)基礎(chǔ)上發(fā)展而來,通過網(wǎng)絡(luò)以自助、按需的方式為客戶提供計(jì)算或存儲(chǔ)等IT服務(wù)。配置簡(jiǎn)單、按需使用、可拓展性動(dòng)態(tài)且?guī)缀鯚o限是云計(jì)算的主要特征。Openstack是云計(jì)算技術(shù)的應(yīng)用成果之一,它提供了一個(gè)部署云的平臺(tái),并為進(jìn)行虛擬計(jì)算或存儲(chǔ)服務(wù)的公有或私有云,提供靈活且可擴(kuò)展的云計(jì)算,是業(yè)界公認(rèn)的最成功的開源項(xiàng)目之一。本文采用Openstack作為試驗(yàn)核心平臺(tái),實(shí)現(xiàn)網(wǎng)絡(luò)架構(gòu)的虛擬化。
2opensatck的架構(gòu)介紹
Opensatck是一個(gè)開源云計(jì)算系統(tǒng),由六個(gè)主要組件組成:
1)Openstack Compute(Nova)計(jì)算服務(wù)。處理和支撐Open-stack云實(shí)例生命期所需的各種動(dòng)作,作為管理平臺(tái),負(fù)責(zé)管理整個(gè)云的計(jì)算資源、測(cè)度、授權(quán)及網(wǎng)絡(luò)。并使用libvirt API與虛擬機(jī)主機(jī)交互以提供基于Web的API功能。
2)0penstack Object Storage(Swift)存儲(chǔ)服務(wù)。提供分布式,持久的虛擬對(duì)象存儲(chǔ)。能夠擴(kuò)展的對(duì)象存儲(chǔ)系統(tǒng),并用來創(chuàng)建基于云的彈性存儲(chǔ)。
3)Image Service(Glance)鏡像服務(wù)。負(fù)責(zé)虛擬機(jī)鏡像的存儲(chǔ),檢索和查詢系統(tǒng)。鏡像存儲(chǔ)默認(rèn)存儲(chǔ)在本地文件系統(tǒng)中。s3對(duì)象存儲(chǔ)(作為s3訪問的中間通道)或HTrP(只讀)存儲(chǔ)。
4)openstack Identity(Keystonel認(rèn)證服務(wù)。它為運(yùn)Open-stack Compute上的openstack云提供了認(rèn)證和管理用戶、帳號(hào)及賬號(hào)信息的服務(wù),同時(shí)為Openstack object Storage提供授權(quán)服務(wù)。
5)Openstack Dashboard(Horizon)UI服務(wù)。Horizon是一個(gè)用于管理和控制Openstack服務(wù)的Web控制面板。除此之外,用戶可通過Openstack Web管理控制臺(tái)以Web界面直接訪問操作管理網(wǎng)絡(luò)和虛擬機(jī)實(shí)例等,用戶還可以使用VNC或控制臺(tái)在控制面板中直接訪問。
6)Openstack Networking(Neutron)Neutron支持用戶創(chuàng)建自己的虛擬網(wǎng)絡(luò),且不同用戶創(chuàng)建的細(xì)膩網(wǎng)絡(luò)是隔離的。并可實(shí)現(xiàn)復(fù)拓?fù)鋐Rich Topologies),即每個(gè)用戶可以定義自己網(wǎng)絡(luò)的拓?fù)洹?/p>
35G網(wǎng)絡(luò)切片的搭建
3.1Openstack平臺(tái)搭建
Openstack是由社區(qū)維護(hù)的開源項(xiàng)目。Object Storage(Swift),Image Service(Glance),Compute(Nova)和Dashboard(Hori-zon)。其中,Keystone提供用戶身份驗(yàn)證和授權(quán)服務(wù),Swift提供數(shù)據(jù)存儲(chǔ)服務(wù),Glance為虛擬機(jī)系統(tǒng)映像提供注冊(cè)和分發(fā)服務(wù)。Nova提供虛擬運(yùn)算服務(wù),而Horizon為用戶提供了一個(gè)基于網(wǎng)頁(yè)的易于操作的模塊化可視化控制臺(tái)。本文實(shí)驗(yàn)使用Openstack開源云計(jì)算平臺(tái),在進(jìn)行具體的操作之前要先搭建Openstack平臺(tái),具體流程如圖1所示。
3.2openstack控制節(jié)點(diǎn)搭建
本文采用使用源代碼的安裝方法,源代碼來源于Open-stack官網(wǎng)與開源共享網(wǎng)站Github。控制節(jié)點(diǎn)使用一臺(tái)物理主機(jī)。
Keystone的搭建
Identity Servicef項(xiàng)目代號(hào)為Keystone)主要負(fù)責(zé)用戶的認(rèn)證和授權(quán)服務(wù)。Keystone是Openstack框架中負(fù)責(zé)用戶身份驗(yàn)證、服務(wù)規(guī)則編輯和服務(wù)令牌的功能,Openstack的Identity API由它實(shí)現(xiàn)。Keystone類似于服務(wù)總線,相當(dāng)于是整個(gè)框架的注冊(cè)表,框架內(nèi)的其他服務(wù)都需要通過Keystone來注冊(cè)其服務(wù)。此外,任何框架內(nèi)服務(wù)之間相互的調(diào)用,也都需要經(jīng)過Keystone的身份驗(yàn)證,從而來獲得目標(biāo)服務(wù)的唯一標(biāo)識(shí),來找到目標(biāo)服務(wù)。
成功獲取該組件源代碼后,開始該組件的安裝。首先安裝各個(gè)必要的第三方組件,其中包括MySQL的Client服務(wù)組件、pip安裝工具等,然后按照各個(gè)服務(wù)所在服務(wù)器的具體信息修改配置文件,并安裝系統(tǒng)服務(wù),在數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)表單,最后同步數(shù)據(jù)表單。
在上述步驟中,Keystone的配置文件關(guān)鍵信息內(nèi)容如圖2所示。
3.3Neutron的搭建
Openstack Networking(Neutronl可以創(chuàng)建和附加由其他Openstack服務(wù)到網(wǎng)絡(luò)。插件可以實(shí)現(xiàn),以適應(yīng)不同的網(wǎng)絡(luò)設(shè)備和軟件,為Openstack架構(gòu)和部署提供靈活性。
Neutron具體包括以下的子類組件:
1)neutron-server:將API請(qǐng)求接受并路由到相應(yīng)的Open-stack Networking插件以進(jìn)行操作。
2)Openstack Networking plug-ins and agents:插拔端口,創(chuàng)建網(wǎng)絡(luò)或子網(wǎng),并提供IP尋址。這些插件和代理因使用的供應(yīng)商和技術(shù)而異特定的云。
3)Messaging queue:大多數(shù)Openstack網(wǎng)絡(luò)安裝用于在信息之間路由信息neutron-server和各種代理商。還充當(dāng)數(shù)據(jù)庫(kù)來存儲(chǔ)特定插件的網(wǎng)絡(luò)狀態(tài)加入OpenstackNetworking主要與Openstack Compute進(jìn)行交互,為其提供網(wǎng)絡(luò)和連接實(shí)例。
成功獲取該組件源代碼后,開始該組件的安裝。以下是其安裝與配置過程。
安裝Neutron,首先需要為Neutron創(chuàng)建數(shù)據(jù)庫(kù),接著創(chuàng)建neutron用戶和服務(wù)實(shí)例、端點(diǎn),然后創(chuàng)建服務(wù)實(shí)例,最后創(chuàng)建服務(wù)端點(diǎn),完成安裝。
3.4Swift的搭建
開放堆棧對(duì)象存儲(chǔ)(swifi項(xiàng)目)存儲(chǔ)項(xiàng)目是一個(gè)智能系統(tǒng),用于大規(guī)模可擴(kuò)展系統(tǒng),通過內(nèi)置的容錯(cuò)機(jī)制和冗余實(shí)現(xiàn)存儲(chǔ)。這些對(duì)象可以通過API對(duì)接存儲(chǔ)API客戶端進(jìn)行恢復(fù)。Swift使用標(biāo)準(zhǔn)化的PB級(jí)容量服務(wù)器來存儲(chǔ)可用數(shù)據(jù)。Swift非常適合存儲(chǔ)一些虛擬機(jī)映像,并且Swift可以用作長(zhǎng)期存儲(chǔ)系統(tǒng),以便獲取調(diào)用并更新一些持久數(shù)據(jù)。另外,Swift具有一些冗余,可擴(kuò)展性和耐用性。
成功獲取該組件源代碼后,開始該組件的安裝。以下是其安裝與配置過程。
首先將Swift安裝到python dist包中。然后為機(jī)器創(chuàng)建一個(gè)Swift用戶,創(chuàng)建一個(gè)Swift配置文件目錄,并在/etc/swifi下創(chuàng)建一個(gè)swift.conf文件。應(yīng)該注意的是,字符串swift_hash_path_suffix用于加密,并且需要由用戶定義。
接著配置Proxy Server。先確定系統(tǒng)是否有openssl,使用openssl version命令查看。Proxy Server需要做以下配置:
1)配置證書。代理服務(wù)器可以通過https協(xié)議提供API,也可以通過http協(xié)議提供API。
2)配置Memcached。代理服務(wù)器需要使用Memcache作為令牌的臨時(shí)存儲(chǔ)介質(zhì)。
3)設(shè)置Proxy Server的配置文件。Proxy Server的配置文件內(nèi)容如官方文檔所述,主要需要修改的字段是auth_port,auth_host,service_host,service_port等信息。
4)配置節(jié)點(diǎn)信息。首先設(shè)置兩個(gè)硬盤分區(qū),然后創(chuàng)建三個(gè)節(jié)點(diǎn)信息配置文件進(jìn)行配置。
5)配置account-server container-server和object-server。分別創(chuàng)建以下文件,并修改相應(yīng)內(nèi)容。
6)啟動(dòng)服務(wù)。最后注冊(cè)Swift服務(wù)到Keystone中。首先要做的是確保Keystone的標(biāo)記和端點(diǎn)已經(jīng)添加到系統(tǒng)環(huán)境變量中。
3.5Horizon的搭建
儀表板(項(xiàng)目代號(hào)為Horizon)是一個(gè)基于頁(yè)面的模塊,用于向租戶提供可視化儀表板。Horizon是一個(gè)基于Django Web框架的一個(gè)Web應(yīng)用。通過Horizon,用戶可以管理Nova中的虛擬機(jī)實(shí)例,并簡(jiǎn)單地操縱Swift存儲(chǔ)的數(shù)據(jù)。
成功獲取該組件源代碼后,開始該組件的安裝。以下是其安裝與配置過程。
本文采用Apahe方式進(jìn)行Horizon的部署。首先安裝Apache組件,然后修改配置文件,以便Apache根目錄指向Hori-zon所在的文件夾并向其添加WSGI服務(wù)。
45G網(wǎng)絡(luò)切片的實(shí)現(xiàn)
4.15G網(wǎng)絡(luò)切片的手動(dòng)部署
搭建好Openstack平臺(tái)后,在控制節(jié)點(diǎn)上進(jìn)行操作,首先輸入命令行:admin-openrc并回車,登陸Openstack系統(tǒng)。再輸人命令行:Openstack network agent list并回車,檢查網(wǎng)絡(luò)連接情況。
登錄系統(tǒng)后,可以登錄Openstack的圖形化界面進(jìn)行操作。
此處使用到的是儀表盤組件的功能。Dashboard(horizonl提供一個(gè)web接口,使得云平臺(tái)管理員及用戶可以通過此接口管理不同的Openstack資源及服務(wù)。
Horizon提供了基于web的、模塊化的圖形化界面服務(wù)門戶。
用戶可以使用Web GUI通過瀏覽器訪問和控制計(jì)算,存儲(chǔ)和網(wǎng)絡(luò)資源,例如創(chuàng)建實(shí)例和分配IP地址。
在網(wǎng)址欄輸入:10.0.1.12/horizon,進(jìn)入登陸界面,如圖3所示。
登錄web界面后,開始5G網(wǎng)絡(luò)切片的搭建,步驟如下:
①創(chuàng)建核心網(wǎng)。
創(chuàng)建核心網(wǎng)時(shí)必須要?jiǎng)?chuàng)建一個(gè)與外部網(wǎng)絡(luò)相連接的網(wǎng)絡(luò),可以讓外部網(wǎng)絡(luò)可通過此網(wǎng)絡(luò)訪問Openstack的內(nèi)部網(wǎng)絡(luò),由于外部網(wǎng)絡(luò)是與物理網(wǎng)絡(luò)具有直接映射關(guān)系的虛擬網(wǎng)絡(luò),因此外部網(wǎng)絡(luò)必須由管理員創(chuàng)建。可以在網(wǎng)絡(luò)中設(shè)置一個(gè)或多個(gè)內(nèi)部網(wǎng)絡(luò)以直接連接到虛擬機(jī)。外部網(wǎng)絡(luò)要訪問vm需在網(wǎng)絡(luò)之間創(chuàng)建路由。
本文中,創(chuàng)建了名為provider的外部網(wǎng)絡(luò)連接網(wǎng)絡(luò)。創(chuàng)建此網(wǎng)絡(luò)后,接著創(chuàng)建一個(gè)內(nèi)部網(wǎng)絡(luò)及其子網(wǎng)。本文中,給網(wǎng)絡(luò)命名為“5G net”,并選擇創(chuàng)建子網(wǎng)。
創(chuàng)建關(guān)聯(lián)到此網(wǎng)絡(luò)的子網(wǎng),為子網(wǎng)命名為“5Gnet”,并為此子網(wǎng)分配網(wǎng)絡(luò)地址“10.0.5.0/24”,選擇IPv4的IP版本,網(wǎng)關(guān)IP定為“10.0.5.1”。
指定子網(wǎng)的擴(kuò)展屬性,將地址池從10.0.5.1分配到10.0.5.5,并將DNS服務(wù)器設(shè)置為8.8.8.8。
創(chuàng)建好內(nèi)部網(wǎng)絡(luò)后,需創(chuàng)建路由,使內(nèi)部網(wǎng)絡(luò)與能與外部網(wǎng)絡(luò)連接的provider網(wǎng)絡(luò)相連接。并設(shè)置路由接口,使其連接provider網(wǎng)絡(luò)和內(nèi)部網(wǎng)絡(luò)“5G net”。
②網(wǎng)元的創(chuàng)建
核心網(wǎng)的網(wǎng)絡(luò)部分搭建完成,下一步是創(chuàng)建5G網(wǎng)絡(luò)中的網(wǎng)元。傳統(tǒng)的網(wǎng)元由具體的物理主機(jī)擔(dān)任,當(dāng)用戶業(yè)務(wù)發(fā)生變更時(shí),對(duì)如CPU,硬盤大小,核數(shù)等資源的要求也可能隨之改變,傳統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)中,針對(duì)業(yè)務(wù)變更的配置調(diào)整非常復(fù)雜且煩瑣,但在本實(shí)驗(yàn)的5G網(wǎng)絡(luò)中,由于物理資源已被整合,因此可針對(duì)業(yè)務(wù)要求簡(jiǎn)易地創(chuàng)建符合要求的虛擬機(jī)。
在Openstack平臺(tái)上,可以創(chuàng)建任意網(wǎng)元鏡像和云主機(jī)類型,以便于創(chuàng)建虛擬機(jī)。
接下來部署云主機(jī),為云主機(jī)命名,并選擇創(chuàng)建主機(jī)類型,為云主機(jī)選擇所需鏡像,三臺(tái)云主機(jī)分別選擇mme_new,sp-gw_new,hss_new鏡像。
選擇合適的云主機(jī)類型為qw,并將三臺(tái)云主機(jī)都部署在本次實(shí)驗(yàn)創(chuàng)建的內(nèi)部網(wǎng)絡(luò)5G net上,部署好的三臺(tái)云主機(jī)名稱分別為:ly_testl,ly_test2,ly_test3。
在Openstack平臺(tái)上還可以查看網(wǎng)絡(luò)拓?fù)鋱D,如圖4所示,拓?fù)鋱D形象地展示出了部署的核心網(wǎng)結(jié)構(gòu):
③接人網(wǎng)的部署
在充當(dāng)基站的物理主機(jī)上安裝基于OAI的軟件包,在配置文件中配置好參數(shù),與usrp相連接。
Usrp接上天線,可收發(fā)無線信號(hào)。
至此,實(shí)驗(yàn)已手動(dòng)部署了一個(gè)端到端的5G網(wǎng)絡(luò)切片。
55G網(wǎng)絡(luò)切片的自動(dòng)部署
自動(dòng)化管理是云計(jì)算必不可少的部分。Heat為Openstack提供了一個(gè)框架,使應(yīng)用程序能夠部署和運(yùn)行的。未來5G網(wǎng)絡(luò)多樣化的應(yīng)用場(chǎng)景需要大量按需定制的網(wǎng)絡(luò)切片,如果不能實(shí)現(xiàn)網(wǎng)絡(luò)切片的自動(dòng)部署,將大大增加重復(fù)工作率,降低網(wǎng)絡(luò)工作效率,增加運(yùn)營(yíng)成本。本次實(shí)驗(yàn)將利用Heat服務(wù)實(shí)現(xiàn)5G網(wǎng)絡(luò)切片的自動(dòng)化管理與編排。
用yaml格式將自動(dòng)部署5G網(wǎng)絡(luò)切片的Heattemplate保存在版本管理器中,命名為ereateslices.yaml,輸入:
Openstack stack create-t createslices.yaml~ack5
即可創(chuàng)建新棧stack5,并自動(dòng)按順序創(chuàng)建資源。
當(dāng)業(yè)務(wù)發(fā)生變更,網(wǎng)絡(luò)切片配置需要調(diào)整或刪除,只需修改模版內(nèi)容即可完成。
本文中的代碼實(shí)現(xiàn)為圖5。
代碼創(chuàng)建了內(nèi)網(wǎng)testnet及其子網(wǎng),并創(chuàng)建路由器與能與外部網(wǎng)絡(luò)聯(lián)通的provider網(wǎng)絡(luò)相連接,然后創(chuàng)建了分別安裝hss,mme及spgw鏡像的三臺(tái)虛擬機(jī),且均部署在所創(chuàng)建的test net內(nèi)網(wǎng)中。
6結(jié)束語
本文在openstack平臺(tái)上實(shí)現(xiàn)了基于OAI組網(wǎng)的5G網(wǎng)絡(luò)切片的自動(dòng)部署。基于云計(jì)算平臺(tái)的5G網(wǎng)絡(luò)切片采取虛擬化技術(shù),改進(jìn)了4G網(wǎng)絡(luò)中網(wǎng)絡(luò)管理效率低,物理基礎(chǔ)設(shè)施要求高的不足,以靈活自適的方式滿足用戶的多樣化的QoS需求,提高了移動(dòng)通信物理資源及網(wǎng)絡(luò)資源的利用率。自動(dòng)部署的實(shí)現(xiàn)使得切片的管理編排更加靈活方便。