潘志偉
(北京郵電大學網絡技術研究院,北京 100876)
基于SDN的網絡切片中資源動態調整的方法
潘志偉
(北京郵電大學網絡技術研究院,北京 100876)
5G網絡支持具有不同性能要求的多個垂直業務,網絡切片是解決這個問題的最佳方案。通信業務量隨著時間變化具有多變性,導致網絡切片的資源利用情況是頻繁變化的。網絡切片中資源靜態分配會存在資源利用不足或者資源過載的情況,因此,很有必要動態地調整網絡切片的資源量,以便優化網絡資源的利用率。5G網絡提出需要更加靈活的傳輸網絡,從而支持由接入網不斷增加網絡帶寬而產生的需求。基于以上分析及需求,本文提出了一種在5G本地傳輸網上基于SDN的網絡切片中資源動態調整的方案,以便提高網絡資源的利用率。提出了一種新穎的功能架構,功能模塊內置在 SDN控制器并且通過內存數據庫交互數據實現控制器間的數據通信。該架構解決了網路切片資源動態調整的整個過程:決策是否進行動態調整;通過模型決策需要調整的資源量。最后通過實驗驗證了該方案的可行性,并通過實驗數據進行了相關分析。
網絡切片;資源調整;軟件定義網
5G引入了很多對性能要求及其苛刻的新用例。5G網絡必須比前幾代更靈活,以實現全連接的低延遲,大容量和高可靠性要求。ETSI網絡功能虛擬化(NFV)組與軟件定義網絡(SDN)一起預計將成為支持按需流量需求的關鍵技術[1],SDN的控制與轉發分離和集中控制的優勢[2],加上NFV的軟件與硬件解耦的優勢,將極大地增加5G的靈活性。
通過網絡切片技術,單個物理網絡可以劃分為多個虛擬網絡,從而允許運營商為不同類型的客戶群提供不同類型服務的最佳支持[3]。網絡切片技術的主要優點在于,它使運營商能夠以服務為基礎提供網絡,從而提高運營效率,同時縮短新服務的上市時間。運營商可以根據自己的需要遞歸切分自己的網絡切片,并為每個切片分配適當的資源[4]。網絡切片資源的調整分為兩種方式:一種是網絡切片之間的資源調度;一種是網絡切片內的資源調整。網絡切片內有多個不同的租戶,租戶之間要求邏輯隔離,從而需要劃分不同的租戶網絡,為了實現網絡切片在利益最大化,靈活地為租戶網絡按需分配網絡資源。本文主要關注后者的資源調整。
移動網絡的流量具有較強的波動性,如在互聯網工作負載的情況下,移動網絡流量表現出長期變化,例如隨著時間或季節性變化影響,以及由意外事件引起的短期波動[5]。5G需要重新設計傳輸網絡,這種新的傳輸網絡應該允許不同租戶通過網絡切片同時使用,體現出較強的靈活性[6]。通過適當地使用CPU、內存、帶寬等網絡資源,可以在網絡切片中靈活提供多個租戶網絡切片。由于租戶網絡中流量動態變化,因此按照實際使用量改變每個網絡切片的網絡資源量是必不可少的。
當某個租戶切片的實際流量增加并導致擁塞時,我們需要增加該租戶切片的資源,以滿足租戶的業務體驗;當實際流量遠小于分配給該租戶切片的資源時,需要減少該租戶切片的資源,從而避免資源浪費。在本文中,我們只考慮帶寬調整。我們提出了一種通過本地傳輸網絡通過 SDN動態調整帶寬資源的方法。通過SDN,收集租戶網絡切片的當前流量,獲取分配的帶寬,判斷是否調整帶寬,并決定要調整的帶寬。
近幾年來,網絡切片的研究成為了學界以及工業屆的熱點,網絡切片利用虛擬化技術將一張物理網絡邏輯劃分為多個子網,從而支撐不同場景業務。然而,大多數研究集中在網絡切片的構造上,對構造完成之后的運維鮮有研究。基于SDN的資源調整方面的研究大部分集中在互聯網場景中。
Lerma A M L D等人[7]提出使用Transport API和OpenStack API級聯虛擬網絡和虛擬機實例來支持租戶切片。使用Transport API,多域SDN協調器向租戶表示每個虛擬傳輸網的抽象拓撲,并且能夠控制分配給每個虛擬傳輸網的資源;使用OpenStack API,多站點云管理器可以跨多站點云配置虛擬租戶數據中心,并管理每個租戶的 DC內網絡連接。但是本文重點介紹了兩個 API,并沒有提到如何控制具體分配網絡資源。
Davy S等人[8]介紹了邊緣服務(EaaS)的概念,這是利用虛擬網絡功能和虛擬資源靈活性的手段,使網絡運營商能夠突破與基礎設施緊密結合的關系,并實現更有效的創收方式。作者提出了一種虛擬化服務訪問接口(VASI),可用于以編程方式以彈性方式更改服務提供商可用的接入網絡功能和資源。但是,本文僅僅從高層次提出了EaaS和VASI的概念,沒有網絡資源分配的方案。
Gomes R L等人[9]指出,接入網絡是運營商網絡中最昂貴的部分,提供混合基礎設施非常昂貴并且低效率。作者通過解決網絡事件(如流量過載,故障等),為用戶提供 QoS保證,提高網絡資源在動態場景中的利用率,提出了在互聯網邊緣網絡資源的軟件定義管理。但本文著重于互聯網邊緣,并且沒有提供如何分配網絡資源的模型。
Chen J L等人[10]提出了一種EnterpriseVisor引擎動態資源管理方案。EnterpriseVisor引擎將企業網絡劃分為多個虛擬子網,監控每個子網的資源利用率,使用線性規劃方法動態調整網絡資源,使整體網絡資源的利用率達到最高。然而,本文著重于企業網絡,并強調將EnterpriseVisor與Flowvisor進行比較。
Fukuhara S等人[11]提出了一種網絡切片間資源交易模型,作者定義了網絡關鍵性來評估網絡魯棒性,基于網絡資源和服務質量的交易成本執行最優資源交易。但本文僅給出了網絡切片之間的交易資源模型。
大多數文章沒有提出具體的資源動態調整的方案,僅僅提供概念、提出API需求設計和提出不完善的方法。結合 5G網絡切片的場景,本文提出了5G網絡切片中資源動態調整的完整方案。
5G支持端到端的網絡切片,從接入網到傳輸網再到核心網。網絡切片在 5G中扮演著重要角色,有但不局限于以下場景用例:增強移動寬帶、海量機器通信、關鍵機器類通信與遠程操作通信。
“租戶”是擁有和運營網絡切片的邏輯實體,可以是MVNO,OTT和垂直行業。租戶可以進一步部署自己的網絡切片,或允許多個第三方租戶在切片之上實例化其網絡切片[6]。
面對接入網絡帶寬不斷的增加,5G需要更靈活的傳輸網絡,以便支持不同租戶的動態需求,從而提高資源利用率。將傳輸網絡進行切片是一個有力的解決方案。本文提出了一種在本地傳輸網絡中基于SDN的資源動態調整的方案(DRANS)。如圖1所示,在網絡切片中劃分出了三個租戶網絡切片,分別由黃、灰、藍三種不同顏色表示。DRANS由Hypervisor,SDN控制器和內存數據庫組成。Hypervisor虛擬化本地傳輸網絡,SDN控制器根據網絡切片的使用情況管理分配給虛擬網絡的帶寬。

圖1 DRANS場景架構圖Fig.1 Senior of DRANS
假設本地傳輸網總容量M為1000 Mbps。slice1、slice2和slice3的帶寬最初分配分別是500 Mbps、200 Mbps和300 Mbps。進入網絡切片交換設備的所有流量將由 Hypervisor推送到該切片所屬的控制器,控制器隨之處理流量。某個時間段,切片1上的實際流量迅速下降,切片2和切片3上的流量迅速增加。管理切片的控制器從交換機獲取到網絡切片的實際流量信息,與分配給切片的帶寬相比,控制器知道切片1需要分配較少的帶寬,切片2和3需要分配更多的帶寬并進行調整。調整后,slice1、slice2和slice3的帶寬分配為200 Mbps,350 Mbps和 450 Mbps。
Hypervisor將本地傳輸網切片并且實現帶寬隔離。Flowvisor是一種實現了 OpenFlow協議的Hypervisor,處于SDN控制器和轉發設備之間的代理。SDN控制器在帶寬調整中起著重要作用。本文將SDN控制器分為兩類:一類是主控制器,另一類是輔控制器。DRANS功能架構如圖2所示。
(1)網絡切片監控模塊:監控每個租戶網絡切片中的實際流量。通過Openflow交換機計算實際流量速率。
(2)網絡資源分配模塊:接收租戶網絡切片監控模塊的數據,進行決策是否需要進行帶寬調整;若需要進行帶寬調整,根據網絡切片監控模塊和內存數據庫的數據,網絡資源分配模塊進行決策需要調整的資源量,例如增加或減少多少帶寬。將結果發送到網絡切片更新模塊,并通知數據庫更新分配給每個租戶切片的帶寬。
(3)網絡切片更新模塊。該模塊接受網絡資源分配模塊的結果,并生成切片更新策略。通過Hypervisor的北向接口,將策略發送到Hypervisor。然后,Hypervisor更新切片規則并更新每個切片的帶寬。
(4)內存數據庫模塊。記錄有關租戶網絡切片的信息,如租戶切片識別,租戶切片帶寬等。每個控制器連接到它并共享有關切片的數據。它減少了控制器之間協調的開銷。

圖2 DRANS功能架構圖Fig.2 Functionalties of DRANS
在網絡切片中,只需有一個主SDN控制器,具有所有的功能;其他是輔助控制器,只有網絡切片監控模塊。輔助控制器監控切片的實際流量并將其寫入內存數據庫。主控制器從內存數據庫獲取數據,并對帶寬進行調整決策。
資源動態調整決策機制,對帶寬資源調整觸發條件和資源的調整量進行了決策。帶寬資源調整觸發條件,即確定資源調整的觸發因素;帶寬分配機制資源,即確定資源的調整量,調整后的資源分配情況。以下分別對這兩部分進行介紹。
3.2.1 帶寬資源調整觸發條件
每個租戶網絡切片上的流量隨時間變化而動態變化,因此需要動態改變每個租戶網絡切片分配的網絡資源。然而,因為流量的少量增加或少量減少就去調整網絡切片的帶寬是低效的。因此,應該確定帶寬調整的觸發條件。
假設以下變量:G是租戶網絡切片保障的最低帶寬;A是分配給租戶網絡切片的帶寬;C是租戶網絡切片上的當前流量速率:αL,αH是當前分配帶寬的百分比,當C小于AαL時,存在資源浪費,當C大于AαL時,會存在網絡擁塞;L是C保持的時間。如圖3所示,可以得到以下狀態:
(a)擁塞:當 C >=AαH;
(b)可行:當 AαL=<C<=AαH;
(c)浪費:當C<=AαL
租戶網絡切片帶寬是否需要進行調整是根據 C的值。若C處于AαL和AαH之間時, 不需要進行帶寬調整;若 C小于AαL, 意味著存在資源浪費,需要進行帶寬調整,將租戶網絡切片分配的資源量調小;若C大于AαH,意味著租戶網絡切片可能存在擁塞,需要將租戶網絡切片分配的資源量調大,從而不影響租戶體驗。

圖3 資源狀態圖Fig.3 Status of bandwidth resource
3.2.2 帶寬資源分配機制
我們假設第 i個租戶網絡切片分配的總帶寬為iA,從網絡基礎設施商的單元帶寬租用價格為Pi,單元帶寬的收益為ig。
考慮情況1:當租戶網絡切片i的用戶量突然增多,產生的實際流量逐漸逼近分配的資源量時,租戶網絡切片i的實際收益如公式(1)所示。

其中iU為租戶網絡切片i的實際流量,iA為租戶網絡切片i分配的帶寬值,σ為租戶網絡切片i的資源利用率。并且滿足:

為了不造成網絡擁塞和影響用戶體驗,需要提高租戶網絡切片 i分配的帶寬值。提高分配的帶寬值后的收益:


調整后與調整前的收益差為:

由公式(3)可以分析出:ρ小于σ,所以ΔK小于0。可以得出結論:利用率越高,收益越高。
考慮情況2:當租戶網絡切片i的用戶量突然減少,產生的實際流量遠小于分配的資源量時,需要對租戶網絡切片 i的分配資源調小,同樣得出公式(3),但ρ大于σ,所以ΔK大于0。同樣得出結論:利用率越高,收益越高。
因此,租戶網絡切片收益與網絡資源利用率成正比關系。
假設一共有m個租戶網絡切片,整個網絡切片總量為Aall,iμ為租戶網絡切片i的資源利用率,可以得出:

其中 aj為租戶網絡切片i的上第j個用戶的實際流量,一共有n個用戶。為租戶網絡切片i調整后分配的資源。
目標函數1即為所有租戶網絡切片調整后的資源利用率達到最大:

然而,調整網絡資源是有開銷的,比如更新租戶網絡切片所帶來的延遲。假設 是租戶網絡切片i單元帶寬調整的開銷。可以得出第二個目標函數,即使得帶寬調整開銷最小化:

以上有兩個目標函數,一個是使得資源利用率最大化,一個是使得資源調整開銷最小化,可以將目標歸一化,最終目標是求解各個租戶網絡切片的重新分配值,使得歸一化函數result值最大:

我們使用遺傳算法來解決上述問題。一個個體編碼為長度為 m位的二進制序列,該序列由m個長度為 l子序列組成。個體編碼結構如圖4所示。初代數量隨機產生,我們假設為k。上述目標函數(7)作為適應度函數。流程如下:
選擇操作:計算每個個體if各自的適應度和所有個體適應度總和sumf ,之后計算出每個個體與所有個體適應度總和的比值選擇相對適應度值更高的個體來產生下一代。
交叉操作:在個體二進制序列之間交換部分序列。首先隨機地選擇兩個個體作為交換者,然后選擇交換序列的起始位置和結束位置,最后整體交換這兩部分序列。
變異操作:隨機選擇個體序列中的部分序列,對其進行取反操作。
經過以上步驟,一個具有更高適應度的新生代群體產生。經過不斷的迭代,設置迭代終結條件為群體的適應度提高小于千分之一,得到最終結果。

圖4 個體編碼Fig.4 Individual encoding
本文使用Mininet、Flowvisor和Ryu來仿真以上方案。仿真拓撲如圖 5所示,包含了 OpenFlow交換機、Flowvisor虛擬化管理器和SDN控制器。

圖5 仿真拓撲Fig.5 Simulation topology
Flowvisor通過北向接口連接到Ryu控制器,通過南向接口連接到 Mininet。Mininet網絡中產生的流量被Flowvisor攔截并且根據Flowvisor定義的切片規則,發送到對應租戶網絡切片中的控制器,控制器對流進行相關處理。
Flowvisor將底層網絡切分為3個虛擬子網。h1,h2和h3分別為劃分到租戶網絡切片1,租戶網絡切片2和租戶網絡切片3上的終端。h4為這3個終端的服務器。本實驗采用 Iperf服務器作為 h4,h1、h2和h3分別為Iperf客戶端。開啟Iperf服務器,可以使用 Iperf客戶端隨機產生一定帶寬大小的流量,模擬租戶網絡切片中流量的變化。
我們通過使用OpenFlow協議來檢測網絡流量,用交換機端口的流量來代替鏈路上的流量。控制器通過發送端口統計請求信息給交換機。交換機回復控制器,回復信息包含端口上接收和發送的數據包數量、字節數和統計時間,計算出一段時間內的字節數差,即可得到當前流量速率。
我們通過使用openflow協議來檢測網絡流量,用交換機端口的流量來代替鏈路上的流量。初始分配給切片1、切片2、切片3的帶寬分別為50 M,分別使用Qos隊列1、隊列2、隊列3,進行限速即初始時每個切片最大帶寬為50 M,物理帶寬總共為150 M。方案中的參數αL,αH,,ci,L以根據用戶策略設置,實驗使用初始化值如表1所示。
實驗中預先配置若干個隊列模板,以便切片帶寬改變后進行匹配限速。使用Iperf客戶端模擬流量變化,監測模塊計算流量帶寬,資源分配模塊進行決策并計算出最優分配值,最后調用切片更新腳本進行切片策略更新,改變切片中的帶寬分配值。

表1 初始化參數Tab.1 Initialize parameters
這里我們模擬從h1、h2和h3中產生的流量分別為60 Mbps、15 Mbps和40 Mbps,以切片2為例進行實驗過程展示:
a. 首先建立好實驗拓撲,啟動 Mininet,對 S1進行預先配置帶寬隊列,h4開啟 Iperf服務功能,此時h2先模擬產生15 Mbps的流量,帶寬值、控制器、流表分別如圖6~8所示。

圖6 產生15 Mbps的流量分配的帶寬Fig. 6 Bandwidth allocation before adjustment

圖7 Ryu控制器處理Fig.7 Ryu controller response
b. 改變h2產生的流量,改為40 Mpbs,得到相應結果如圖9~11所示。
從實驗結果可以看出,改變了終端h2產生的流量后,Ryu控制器監控到流量的變化,更新了流表以及切片策略,分配的帶寬隨著發生了相應變化。
我們取αL=0.2,αH=0.8,c1=1,c2=2,c3=3和L=1minutes進行實驗,三個切片實際流量變化如圖12所示,帶寬利用率數據如圖13所示,與圖14對比可以得出結論:DRANS方案可以使得帶寬資源利用率維持在20%和80%之間并且使得所有切片利用率最高;非 DRANS方案中,一些切片帶寬資源利用率超過80%,接近100%,容易造成網絡阻塞。因此可以證明DRANS可以提高整個網絡資源利用率。

圖8 交換機S1上流表Fig.8 Flow in S1

圖10 Ryu控制器調整帶寬處理Fig.10 Ryu controller response

圖11 交換機S1上流表更新Fig.11 Flow in S1 update

圖12 切片帶寬時間變化圖Fig.12 Bandwidth variation by Time

圖13 DRANS資源利用率Fig.13 Resource utilization of DRANS

圖14 non-DRANS資源利用率Fig.14 Resource utilization of non-DRANS
本文針對 5G網絡切片中因業務波動而產生資源利用不足且傳輸網不靈活的問題,提出了在 5G本地傳輸網上基于SDN的資源動態調整方案,該方法將功能模塊內置在SDN控制器中,采用主輔控制器方式,為減少控制器間的協同開銷采用內存數據庫進行數據通信,并提出了網絡切片資源動態調整的決策算法,主控制器通過數據分析決策是否進行資源調整以及決策需要調整的資源量,以便保證網絡的資源利用率達到最大。實驗仿真表明,此方案具有可行性并且能夠明顯地提高資源利用率。
[1] Alliance N. 5G white paper[J]. Next generation mobile networks, white paper, 2015.
[2] 李潔. 云平臺SDN關鍵技術的研究與展望[J]. 軟件, 2015(7): 71-74.
[3] Foukas X, Patounas G, Elmokashfi A, et al. Network Slicing in 5G: Survey and Challenges[J]. IEEE Communications Magazine, 2017, 55(5): 94-100.
[4] Ordonez-Lucena J, Ameigeiras P, Lopez D, et al. Network Slicing for 5G with SDN/NFV: Concepts, Architectures, and Challenges[J]. IEEE Communications Magazine, 2017, 55(5):80-87.
[5] Andres-Maldonado P, Ameigeiras P, Prados-Garzon J, et al.Virtualized MME Design for IoT Support in 5G Systems[J].Sensors, 2016, 16(8): 1338.
[6] Li X, Casellas R, Landi G, et al. 5G-Crosshaul Network Slicing: Enabling Multi-Tenancy in Mobile Transport Networks[J]. IEEE Communications Magazine, 2017, 55(8): 128-137.
[7] Lerma A M L D, Vilalta R, Mu?oz R, et al. Cascading of tenant SDN and cloud controllers for 5G network slicing using Transport API and Openstack API[C]// Optical Fiber Communication Conference. 2017: M2H. 3.
[8] Davy S, Famaey J, Serrat-Fernandez J, et al. Challenges to support edge-as-a-service[J]. Communications Magazine IEEE,2014, 52(1): 132-139.
[9] Gomes R L, Bittencourt L F, Madeira E R M, et al. Software-Defined Management of Edge as a Service Networks[J].IEEE Transactions on Network & Service Management, 2016,13(2): 226-239.
[10] Chen J L, Ma Y W, Kuo H Y, et al. Software-Defined Network Virtualization Platform for Enterprise Network Resource Management[J]. IEEE Transactions on Emerging Topics in Computing, 2016, 4(2): 179-186.
[11] Fukuhara S, Tachibana T. Robustness-based resource trading with optimization problem for network slicing[C]//Consumer Electronics-Taiwan (ICCE-TW), 2017 IEEE International Conference on. IEEE, 2017: 337-338.
The Method of Resource Dynamic Adjustment in Network Slice Based on SDN
PAN Zhi-wei
(Beijing University of Posts and Telecommunications, Network Technology Research Institute, Beijing City 100876)
5G is envisioned to be a multi-service network supporting a wide range of verticals with a diverse set of performance and service requirements. Network Slicing has emerged as a key to realizing this vision. As the network slice usage varies frequently, the resources assigned to it if statically sometimes may be over-allocated or less-allocated. Hence it is indispensable to adjust the amount of network resources for network slice for optimizing the utilization of network resources. 5G requires more flexible transport networks in order to feed the increasingly bandwidth hungry radio access networks. Based on the above analysis, this paper proposes a method of dynamic resource adjustment of the network slice (DRANS) based on SDN to improve resource utilization at the local transport network. A novel architecture with several functionalities built in SDN controller and shared memory database is proposed. It decides when and how much the network slice resources should be adjusted by a resource allocation model. Experiments are conducted using Mininet to verify the above theory.
Network slice; Resource adjustment; Software defined networking
TN929.5
A
10.3969/j.issn.1003-6970.2017.12.026
本文著錄格式:潘志偉. 基于SDN的網絡切片中資源動態調整的方法[J]. 軟件,2017,38(12):136-142
潘志偉,男,碩士研究生,主要研究方向為SDN、5G、移動性管理。