劉世芳,孫艷秋,張柯欣
(遼寧中醫(yī)藥大學信息工程學院,遼寧 沈陽 110847)
虛擬化網(wǎng)絡(luò)能夠滿足新興網(wǎng)絡(luò)服務(wù)需求,用戶在虛擬化網(wǎng)絡(luò)中,能夠部署特定的網(wǎng)絡(luò)服務(wù),如互聯(lián)網(wǎng)接入服務(wù)、移動語音服務(wù)等[1]。而一個服務(wù)包含多個網(wǎng)絡(luò)功能,這些功能需要按照既定的邏輯順序,使承載服務(wù)的網(wǎng)絡(luò)流有序通過,因此,對虛擬化網(wǎng)絡(luò)的功能鏈進行編排,將功能按照要求整合到序列中,為用戶提供穩(wěn)定的網(wǎng)絡(luò)服務(wù),具有重要意義[2]。
國外虛擬化網(wǎng)絡(luò)功能編排研究較為成熟,讓多個虛擬化網(wǎng)絡(luò),使用不同的網(wǎng)絡(luò)技術(shù)與架構(gòu),隔離網(wǎng)絡(luò)的數(shù)據(jù)平面和控制平面。在控制平面中,結(jié)合SDN技術(shù)對數(shù)據(jù)層業(yè)務(wù)流進行靈活配置,將底層網(wǎng)絡(luò)抽象為多個邏輯隔離的虛擬網(wǎng)絡(luò),從網(wǎng)絡(luò)帶寬、設(shè)備CPU、拓撲、流表項等維度出發(fā),劃分并部署虛擬網(wǎng)絡(luò)資源。國內(nèi)虛擬化網(wǎng)絡(luò)功能的編排同樣取得了較大的進展,使用OpenFlow協(xié)議和一種抽象機制對物理網(wǎng)絡(luò)進行抽象處理,為互聯(lián)網(wǎng)用戶提供網(wǎng)絡(luò)拓撲,在網(wǎng)絡(luò)中透明地遷移虛擬節(jié)點,為不同虛擬化網(wǎng)絡(luò)功能提供相應(yīng)的虛擬地址空間,在虛擬網(wǎng)絡(luò)和物理網(wǎng)絡(luò)之間,地址映射服務(wù)功能鏈,拼接不同基礎(chǔ)設(shè)施的虛擬資源,并使用額外的數(shù)據(jù)庫存儲功能地址映射的結(jié)果[3]。
雖然上述研究能夠在一定程度上滿足網(wǎng)絡(luò)服務(wù)需求,但是存在帶寬資源開銷較大、節(jié)點資源利用率較低、網(wǎng)絡(luò)服務(wù)響應(yīng)時間較長以及網(wǎng)絡(luò)服務(wù)接收率較低的問題,為此提出基于人工智能的虛擬化網(wǎng)絡(luò)功能動態(tài)編排算法,部署網(wǎng)絡(luò)虛擬化環(huán)境,使功能編排由人工化向智能化轉(zhuǎn)變,實現(xiàn)高效穩(wěn)定的業(yè)務(wù)部署。
從網(wǎng)絡(luò)服務(wù)質(zhì)量出發(fā),設(shè)計虛擬化網(wǎng)絡(luò)功能動態(tài)編排約束條件。將底層物理網(wǎng)絡(luò)看作一個有權(quán)無向的網(wǎng)絡(luò)拓撲圖,得到物理節(jié)點的集合和鏈路集合,忽略節(jié)點內(nèi)存與存儲等資源,將計算資源作為節(jié)點資源,將鏈路集合作為多帶寬資源[4]。明確虛擬化網(wǎng)絡(luò)功能鏈的動態(tài)需求,引入需求向量概念,表示功能鏈的需求特征,定義公式為
(1)
(2)
其中,Cf為第f個網(wǎng)絡(luò)功能的資源容量;F為網(wǎng)絡(luò)功能類型集合。G的值越大,說明該功能類型對服務(wù)功能鏈越重要,應(yīng)優(yōu)先得到滿足[7]。按照式(2)的比例關(guān)系,確定不同功能類型的重要程度,進而排序網(wǎng)絡(luò)功能的分配優(yōu)先級。按照順序?qū)W(wǎng)絡(luò)功能進行分配,計算功能分配的第一個決策變量,當功能分配到節(jié)點上,定義決策變量為1,未分配到節(jié)點上,則定義為0。當功能鏈s分配第f個網(wǎng)絡(luò)功能時,第一個決策變量公式表示為
(3)
(4)
其中,bs為服務(wù)功能鏈s端到端的帶寬資源。通過式(4),確定分配第f個網(wǎng)絡(luò)功能時,給功能鏈s安排資源大小[9]。定義第三個決策變量,使第f個網(wǎng)絡(luò)功能與下一個網(wǎng)絡(luò)功能產(chǎn)生通信,確定通信時需要經(jīng)過的物理鏈路。三個決策變量編排完畢后,從節(jié)點和鏈路兩部分出發(fā),計算物理網(wǎng)絡(luò)的資源容量約束條件,公式為
(5)
其中,S為服務(wù)功能鏈請求集合;B第f個網(wǎng)絡(luò)功能在節(jié)點v上的資源容量;Qf,f+1為第三個決策變量,當?shù)趂個和第f+1個網(wǎng)絡(luò)功能,兩者通信經(jīng)過物理鏈路時,取值為1,否則取值為0;E為通信經(jīng)過鏈路的帶寬資源容量[10]。當相鄰網(wǎng)絡(luò)功能分配到同一節(jié)點時,使兩者直接在節(jié)點內(nèi)完成通信,計算功能鏈端到端時延的約束條件,公式為
(6)
其中,l為服務(wù)功能鏈s的長度;J為決策變量Qf,f+1經(jīng)過鏈路時的通信時延;qs為s能接受的最大端到端通信時延[11]。通過式(6)保證功能編排時延的合理性,至此完成虛擬化網(wǎng)絡(luò)功能動態(tài)編排約束條件的設(shè)置。
將網(wǎng)絡(luò)功能放置到物理節(jié)點上后,針對有序的網(wǎng)絡(luò)功能建立虛擬化鏈路與物理鏈路之間的映射關(guān)系,形成特定的路由實現(xiàn)數(shù)據(jù)通路。從時延感知和資源分配兩方面出發(fā),計算數(shù)據(jù)通路的目標函數(shù)。在資源分配方面,計算瓶頸資源G的最小瓶頸資源比例值,公式為
(7)
其中,I為分配第f個網(wǎng)絡(luò)功能時優(yōu)化安排資源的直接相關(guān)系數(shù)[12]。在時延感知方面,計算網(wǎng)絡(luò)功能在物理節(jié)點的處理時延H,公式為
(8)
其中,vf為節(jié)點v分配的第f個網(wǎng)絡(luò)功能;Kf為該網(wǎng)絡(luò)功能在節(jié)點v上的處理時延。數(shù)據(jù)流量在物理鏈路的傳播時延L計算公式為
(9)
其中,R為第f個和第f+1個網(wǎng)絡(luò)功能的數(shù)據(jù)流量在該物理鏈路上的傳播時延。最大化瓶頸資源的最小瓶頸資源比例值,同時最小化服務(wù)功能鏈請求的端到端時延,將其作為功能編排的目標函數(shù)T,計算公式為
(10)
至此完成虛擬化網(wǎng)絡(luò)功能動態(tài)編排目標函數(shù)的計算。
通過人工智能技術(shù)訓練出目標函數(shù)最優(yōu)解,得到最優(yōu)路由實現(xiàn)數(shù)據(jù)通路。選取人工智能技術(shù)中的遺傳算法,將功能編排轉(zhuǎn)換為最優(yōu)染色體求解過程,輸入功能編排目標函數(shù),使染色體的種群索引值與服務(wù)功能鏈節(jié)點相對應(yīng)。通過種群中的一個染色體表示物理節(jié)點與網(wǎng)絡(luò)功能序列的部署關(guān)系,即服務(wù)功能鏈中編排網(wǎng)絡(luò)功能的放置步驟,使其能夠表示服務(wù)功能鏈的編排方案。功能鏈s對應(yīng)染色體的遺傳算子適應(yīng)度Us
(11)
利用最優(yōu)染色體的選擇算子提高適應(yīng)度U的染色體選中概率,避免遺傳算法過早收斂。將染色體適應(yīng)度除以總適應(yīng)度,計算每個染色體被選擇的概率V
(12)
通過式(12)計算單個染色體的累積選擇概率。統(tǒng)計染色體在[0,1]區(qū)間內(nèi)產(chǎn)生的隨機數(shù),當隨機數(shù)小于或等于累積概率,將該染色體遺傳到子代種群。針對子代種群,在保證基因數(shù)量與服務(wù)功能鏈長度一致的基礎(chǔ)上,隨機選擇兩個染色體的基因節(jié)點,采取次序交叉法交換染色體的基因節(jié)點,同時在染色體內(nèi)部對基因進行插入和倒位等變異,產(chǎn)生新的子代。當目標函數(shù)滿足約束條件時,停止迭代更新,輸出最優(yōu)解的染色體,得到服務(wù)功能鏈的最佳編排方案。其中最小瓶頸資源比例值的約束條件為式(5),服務(wù)功能鏈請求時延的約束條件為式(6),至此完成基于人工智能的虛擬化網(wǎng)絡(luò)功能動態(tài)編排算法設(shè)計。
為了驗證所提算法的有效性進行實驗驗證,將此次設(shè)計算法記為實驗A組,基于SDN技術(shù)的虛擬化網(wǎng)絡(luò)功能動態(tài)編排算法記為實驗B組,基于OpenFlow協(xié)議的虛擬化網(wǎng)絡(luò)功能動態(tài)編排算法記為實驗C組。運用三種算法對虛擬化網(wǎng)絡(luò)功能進行動態(tài)編排,比較不同算法下的網(wǎng)絡(luò)服務(wù)質(zhì)量。
實驗環(huán)境搭建在Core-i7物理主機上,啟動兩臺虛擬交換機連接到主機控制器,主機服務(wù)器配備了267GB內(nèi)存、2 × 4 Intel Xeon 3.00 GHz 處理器,服務(wù)器運行內(nèi)核為Linux4.4.0-31,將Web應(yīng)用防火墻、流量生成設(shè)備Tester、流量清洗設(shè)備ADS等功能設(shè)備,均部署在物理網(wǎng)絡(luò)中,通過流量生成器生成數(shù)據(jù)流,模擬訪問者和被訪問者,主機和設(shè)備之間通過直接的物理鏈路相連。通過拓撲生成器GT-ITM在100×100的二維坐標系中,生成胖樹結(jié)構(gòu)數(shù)據(jù)中心物理網(wǎng)絡(luò)拓撲,如圖1所示。
圖1 物理網(wǎng)絡(luò)拓撲結(jié)構(gòu)
虛擬化網(wǎng)路在上圖1所示的物理網(wǎng)絡(luò)中運行,包含12個可部署的物理節(jié)點,各鏈路傳輸能力不同,每個節(jié)點虛擬化出四個節(jié)點資源為100的虛擬機,每個虛擬機僅能部署一個功能,以此承載虛擬化網(wǎng)絡(luò)功能,節(jié)點鏈路帶寬由SNDlib 給出,節(jié)點度數(shù)呈power law分布。
使用Python語言編排虛擬化網(wǎng)絡(luò)功能,使業(yè)務(wù)請求的到達速率滿足泊松分布,當網(wǎng)絡(luò)滿足服務(wù)請求時,持續(xù)處理服務(wù)業(yè)務(wù)數(shù)據(jù)包,直至用戶請求撤銷。在該物理網(wǎng)絡(luò)中,網(wǎng)絡(luò)功能初始化時,固定資源開銷服從[10,30],處理時延服從[10,30],映射時的帶寬資源開銷服從[10,20],網(wǎng)絡(luò)功能的計算能力服從[1,4],在每條物理鏈路的傳播時延服從[1,5],物理節(jié)點的計算資源負載閾值在區(qū)間[0.4,0.9]隨機選擇。
3.2.1 帶寬資源開銷實驗結(jié)果
三種算法分別對虛擬化網(wǎng)絡(luò)功能進行編排,每個服務(wù)請求用一條虛擬化網(wǎng)絡(luò)功能服務(wù)鏈表示,統(tǒng)計不同服務(wù)請求下帶寬資源開銷的變化情況,增加服務(wù)功能鏈請求數(shù)量,比較帶寬在功能編排中造成的開銷大小,實驗對比結(jié)果如圖2所示。
圖2 帶寬資源開銷對比結(jié)果
由圖2可知,實驗A組的帶寬資源開銷始終低于130bps,而實驗B組的帶寬資源開銷最大值達到了160bps以上,實驗C組的帶寬資源開銷更高,最大值達到了200bps。相比實驗B組和C組,A組帶寬資源開銷具有明顯的優(yōu)勢性。
帶寬資源開銷比較完畢后,統(tǒng)計三種算法的虛擬化網(wǎng)絡(luò)功能成本開銷,實驗對比結(jié)果如圖3所示。
圖3 網(wǎng)絡(luò)功能成本開銷對比結(jié)果
由上圖3可知,實驗A組虛擬化網(wǎng)絡(luò)功能成本開銷始終低于實驗B組和實驗C組的開銷。虛擬化網(wǎng)絡(luò)資源的總體編排開銷為網(wǎng)絡(luò)功能成本開銷與帶寬開銷之和,由此可知,實驗A組總體編排開銷低于實驗B組和C組的總體編排開銷,說明所提算法具有更高的實際應(yīng)用價值。
3.2.2 節(jié)點資源利用率實驗結(jié)果
比較不同算法網(wǎng)絡(luò)功能動態(tài)編排時的節(jié)點資源利用率,實驗對比結(jié)果如圖4所示。
圖4 節(jié)點資源利用率對比結(jié)果
由上圖4可知,實驗A組節(jié)點資源的利用率始終高于實驗B組和實驗C組的利用率。實驗A組節(jié)點資源利用率最高值為52%,而實驗B組和實驗C組的節(jié)點資源利用率最高值分別為45%和40%,實驗A組的優(yōu)勢明顯,這是由于該算法在設(shè)置資源容量、功能鏈時延的約束條件和目標函數(shù)的基礎(chǔ)上,通過人工智能技術(shù)得出了目標函數(shù)的最優(yōu)解,從而得到了網(wǎng)絡(luò)功能在物理鏈路的最優(yōu)編排方案。
3.2.3 網(wǎng)絡(luò)服務(wù)響應(yīng)時間實驗結(jié)果
將500個網(wǎng)絡(luò)服務(wù)導(dǎo)入三種算法的編排環(huán)境中,服務(wù)包含網(wǎng)絡(luò)功能數(shù)量不同,每種服務(wù)各生成100個。從服務(wù)接收率和響應(yīng)時間兩方面出發(fā),比較網(wǎng)絡(luò)功能編排服務(wù)質(zhì)量,網(wǎng)絡(luò)服務(wù)響應(yīng)時間對比結(jié)果如圖5所示。
圖5 網(wǎng)絡(luò)服務(wù)響應(yīng)時間對比結(jié)果
由上圖5可知,實驗A組的平均響應(yīng)時間低于實驗B組和C組的平均響應(yīng)時間。網(wǎng)絡(luò)服務(wù)接收率對比結(jié)果如圖6所示。
圖6 網(wǎng)絡(luò)服務(wù)接收率對比結(jié)果
由上圖6可知,實驗A組的網(wǎng)絡(luò)服務(wù)接收率雖然在網(wǎng)絡(luò)功能數(shù)量為5個時,與實驗B組和C組的接收率相同,但是除此之外,實驗A組的網(wǎng)絡(luò)服務(wù)接收率均具有一定的優(yōu)勢。
綜上所述,此次設(shè)計算法降低了網(wǎng)絡(luò)功能編排的總體開銷,增加了節(jié)點資源利用率,能夠充分保證網(wǎng)絡(luò)負載的均衡性,同時縮短了服務(wù)響應(yīng)時間,提高了網(wǎng)絡(luò)服務(wù)接收率,其網(wǎng)絡(luò)服務(wù)的處理能力和服務(wù)質(zhì)量明顯優(yōu)于傳統(tǒng)編排算法。
為了解決傳統(tǒng)算法存在的網(wǎng)絡(luò)服務(wù)質(zhì)量不高的問題,提出了基于人工智能的虛擬化網(wǎng)絡(luò)功能動態(tài)編排算法。此次設(shè)計算法結(jié)合人工智能技術(shù)對虛擬化網(wǎng)絡(luò)功能進行編排,降低了編排過程的資源開銷,提高了網(wǎng)絡(luò)服務(wù)質(zhì)量。但此次研究仍存在一定不足,在今后的研究中,會對服務(wù)功能鏈的備份機制進行深入分析,有效解決服務(wù)功能鏈自身的故障問題。