黃萬偉 李 松 張超欽 王蘇南 張校輝
①(鄭州輕工業大學軟件學院 鄭州 450002)
②(鄭州輕工業大學計算機與通信工程學院 鄭州 450001)
③(深圳職業技術學院電子與通信工程學院 深圳 518005)
④(河南信安通信技術股份有限公司 鄭州 450000)
5G網絡旨在為用戶提供高速率、低延遲的多樣化網絡功能定制服務,這些網絡功能服務通常以服務功能鏈[1](Service Function Chain, SFC)的形式提供給用戶。傳統網絡功能服務中網絡功能(如防火墻、深度數據包檢測、入侵檢測等)都部署在專用硬件設備上,網絡功能與專用硬件存在較強的耦合性,使SFC存在更新難、成本高和維護性差等問題。網絡功能虛擬化[2](Network Function Virtualization, NFV)和軟件定義網絡[3](Software Defined Networking, SDN)技術將網絡功能虛擬化,擺脫專用硬件設備的限制,以虛擬網絡功能[4](Virtualization Network Function, VNF)的形式運行在通用硬件設備平臺上,通過SDN控制器對服務功能鏈請求(SFC Request, SFCR)進行統一管理,利用流量管控能力引導流量按序通過VNFs,從而生成SFC路徑。
網絡功能種類繁多,每類網絡功能有多個虛擬網絡功能實例[5](VNF Instance, VNFI)。隨著服務功能鏈長度的增加,符合SFCR的可選路徑數目呈超指數級增長。考慮到實際網絡服務請求中用戶對網絡功能的需求具有多樣性與可變性,針對原需求的路徑生成方案不能較好地適用于新需求路徑生成,造成路徑時延大、負載能力小,不具有泛化性。基于以上分析,如何在眾多SFC路徑中選擇一條時延與負載能力綜合評價較優的服務功能路徑是當前SFC路徑選擇問題的研究重點。Liu等人[6]通過優化中間件放置位置,以端到端延遲作為評價標準,可以有效降低路徑時延,但是在給定網絡信息和策略規范的情況下,不能適用于節點變化的情況;Bremler-Barr等人[7]通過將來自不同服務請求中相同的虛擬網絡功能進行合并,實現虛擬網絡功率實例復用,減少功能實例個數以提高路徑選擇效率,但沒考慮節點的負載能力,造成節點負載率過大。
隨著人工智能技術的興起,智能化SFC路徑選擇成為當前研究熱點。Gu等人[8]設計了一個用模型輔助的深度強化學習框架實現SFC的業務調度,但模型訓練消耗時間過長,且不能適用于動態變化的SFCR;Subramanya等人[9]采用神經網絡的方法預測所需的虛擬網絡功能實例數量來實現自動縮放,利用整數線性規劃進行SFC路徑選擇從而達到了最小時延,但未考慮節點負載能力,造成路徑負載過大,業務處理效率降低,影響服務質量(Quality of Service,QoS)。綜上所述,目前傳統的SFC路徑選擇算法和基于機器學習的智能路徑選擇主要存在兩個問題:(1)泛化性弱,針對的是單一SFCR下的路徑生成,不能很好地適應實時多變的SFCR。(2)評價機制不完備,大多數路徑選擇都只以路徑時延作為評價標準,未考慮節點負載能力,易造成路徑擁堵。
針對上述問題,本文基于圖注意力網絡(Graph ATtention network, GAT)[10]中注意力機制(attention mechanism)針對節點特征對邊進行聚合的能力,提出一種服務功能鏈路徑注意力模型(SFC-GAT)。將SFC路徑圖重構為帶權有向圖結構,功能節點與邏輯鏈路的屬性進行向量化表示;以相鄰的兩列節點構成的全連接網絡作為一個訓練層,采用attention機制,得到節點之間注意力權重,對其進行加權求和后得到預測路徑,通過與真實標簽對比對SFC-GAT進行更新,使模型精度逐漸提高;在存在多條服務路徑或SFCR變更的情況下,經過訓練的SFC-GAT能優選時延與負載能力綜合評價指數較好的服務功能路徑生成方案。
本文主要貢獻概括如下:
(1)分析傳統SFC路徑生成與智能化SFC路徑生成策略中普遍存在泛化能力弱、評價機制不完備問題,基于圖注意力網絡的注意力機制能針對節點特征對邊進行聚合的能力,提出了一種服務功能鏈路徑注意力模型(Service Function Chain-Graph ATtention network, SFC-GAT)。
(2)建立SFC路徑選擇圖重構規則,增強對不同SFCR情況下網絡拓撲的泛化能力;使用圖注意力網絡對SFC重構后路徑選擇圖進行優化訓練,得到路徑時延和節點負載能力對選擇路徑評價質量的重要指數,從而提高路徑對鏈路時延和負載能力的綜合評價指數。
服務功能鏈是指根據用戶需求將VNF按網絡流量通過的順序所構成的一條順序邏輯鏈[11],在SDNNFV環境下,一個網絡功能節點可以部署多種不同的網絡功能實例。圖1為SDNNFV環境下服務功能鏈路拓撲結構圖,在SDNNFV環境下,服務功能鏈拓撲結構圖是一個無向圖,網絡流量轉發業務全部通過SDN控制器進行轉發。SFC路徑選擇問題在結構上與傳統網絡路由選擇問題類似,大量研究都是將端到端時延作為服務功能鏈路徑選擇質量的主要評價指標,忽視了其他指標對路徑質量的影響。Gu等人[12]提出了基于分層圖的SFC編排方案,以延遲作為分層圖中鏈路權值,并基于模擬退火的批量處理算法尋找最短服務路徑,但未考慮網絡節點負載情況,鏈路資源利用率低。Clayman等人[13]提出了服務功能鏈路徑選擇問題的動態優化部署模型,分別設計了針對負載均衡、降低路徑花銷和保障QoS 3個目標的優化算法,但缺乏對多種類型參數的聯合優化。

圖1 SDNNFV環境下服務功能鏈拓撲結構圖

(1)將服務功能鏈路拓撲結構圖進行重構為有向圖G=(u,V,E),u表示SFCR,是選擇SFC路徑的約束條件。V表示網絡功能實例節點的集合,E表示虛擬鏈路的集合。
(2)基于SFCR對虛擬網絡功能順序的約束,相鄰的兩個功能節點在物理鏈路中并不一定是相鄰關系,故在構建過程忽略物理鏈路中節點的位置關系,只考慮節點之間邏輯鏈路關系,采用虛線指向性箭頭表示節點間的鏈接關系,以表示節點在物理鏈路中不確定的相鄰關系。虛線權值代表該鏈路時延(傳輸時延+響應時延)。
(3)在SDNNFV環境中,VNF往往是多實例進行部署,故將同一類型的VNF排在一列。節點的權值代表當前節點的負載能力,從而形成N層的圖結構。


圖2 圖注意力層操作圖
相關性得分表示該列節點相對重要性,滿足

SFC-GAT是結合SFC路徑選擇圖與圖注意力網絡而構建的模型,旨在通過圖注意力網絡所具有的靈活、結構化的輸入輸出特點和根據節點特征對邊進行聚合的能力,從而對SFC路徑選擇做出精準預測。SFC-GAT模型由圖構建、信息傳遞和整合預測3部分組成,如圖4所示。

圖4 SFC-GAT模型
(1)圖構建:將服務功能鏈路拓撲結構圖重構為帶權有向圖結構,將每個虛擬網絡功能實例作為一個節點,按SFCR對節點進行排列,同一列為具有相同網絡功能的虛擬網絡功能節點,后一列是前一列網絡流或業務的流向方向。若SFCR長度為N,生成圖則對應一個N×N的矩陣。


圖3 重構后服務功能鏈路徑選擇圖




在消息傳遞過程中通過更新節點表示,根據每
1.1 試驗材料 “新超越”黃瓜種子由蘇州市種子管理站提供。“苗壯素”由蘇州農業職業技術學院、蘇州科技大學合作研制,其主要成分為6類微生物(表1)與黃腐殖酸配制而成的特殊生物制劑。其組成成分中微生物成分占10%,微生物營養占8%(4%的有機酸和4%的海草灰),其他成分占82%(基于葡萄糖的培養基),具有微生物菌群多、營養互補、功能強等特點。

為了對SFC-GAT模型選擇服務功能鏈路徑的性能進行驗證,該實驗運行在i5-10600KF-CPU,16 GB-DDR4內存和兩塊GTX-1080 8GB顯卡的設備上,基于Python3.5,tensorflow1.6-gpu進行仿真實驗。使用Networkx按照Waxman-Salam模型隨機生成網絡拓撲,網絡節點個數為10,每個網絡節點能提供的負載能力為10 Mb/s,網絡中可提供10種不同種類的網絡功能,每類網絡功能可選擇實例數為1~3個。在該網絡拓撲結構中各功能實例隨機分布在所有節點中,任意相鄰節點間的鏈路總時延在1~10 ms。
圖5為Networkx所生成網絡拓撲示意圖,圖中節點屬性包括網絡功能節點名稱、所部署功能實例以及當前節點所剩負載大小,邊的屬性為鏈路時延。服務請求中的源節點和目標節點在網絡中隨機選擇,服務功能鏈請求由2~10個互不相同的網絡功能隨機組成,每次服務請求中占網絡節點負載為1 Mb/s,考慮到隨著實驗進行,網絡節點會被重復利用,節點的負載能力會逐漸下降,因此規定一個服務請求在經過3次請求后會釋放該次請求所占的網絡節點的負載。為了提高算法評估的精確性,采用蒙特卡洛方法,在每個實驗場景下都進行了100組仿真測試,取100組仿真測試的平均值作為測試結果。

圖5 Networkx生成網絡拓撲示意圖

表1 GAT-SFC路徑優化算法
本文從SFC平均路徑時延、平均路徑負載能力和路徑綜合評價指數3方面對SFC路徑選擇優化效果進行對比,對比方法選擇了約束最短路徑算法(Constrained Shortest Path, CSP)和最小過載算法[15](Least Busy Path, LBP)。其中,CSP是通過路徑矩陣來計算每組實例節點的累計時延,使用回溯搜索符合SFCR的最短時延路徑;LBP將每個功能可選的功能實例節點的剩余負載進行排序,并選擇剩余負載最大的節點。為了驗證本模型對SFC路徑生成具有良好的泛化能力,分別設計了在兩種情景下對生成路徑的優化效果進行評估。其中:(1)SFCR不變時,網絡中網絡功能實例個數變化對SFC路徑時延和節點負載能力的影響;(2)SFCR變化時,服務功能鏈長度對SFC路徑時延和節點負載能力的影響。
5.2.1 訓練優化
為了避免模型在與對比算法開始對比時誤差過大,需先對模型進行前期訓練以提高模型的對優選路徑的準確率。圖6給出了在SFCR長度為5時以時延和負載能力為特征,SFC-GAT模型損失值和準確率優化訓練過程,總訓練次數為500次。從圖6(a)可以看出,隨著訓練次數的增加,損失值呈逐漸降低的趨勢;圖6(b)可以看出,隨著訓練次數的增加,優選路徑的準確率呈現逐漸增高的趨勢,并在訓練約470次之后模型預測準確率達到85%。

圖6 SFC-GAT模型損失值和準確率優化訓練過程
5.2.2 SFCR不變時路徑選擇優化
本次實驗旨在發現在給定SFCR情況下,SFCGAT模型能否在給定的網絡拓撲下尋找到較低時延且具有較高負載能力的SFC路徑。圖7(a)給出了在SFCR長度為5的情況下,路徑時延隨網絡功能實例個數變化的仿真結果,仿真結果取100次隨機實驗的平均值。從圖7(a)可以看出,由于CSP算法是根據滿足SFCR下的最短時延路徑,因此路徑時延最低;經過訓練后的SFC-GAT模型是將路徑時延作為綜合路徑優化目標的一部分,生成路徑的時延略高于CSP;而LBP是根據節點剩余負載選擇,對路徑時延并無要求,因此選擇路徑時延遠大于其他兩種。
圖7(b)給出了與在SFCR長度為5的情況下,路徑負載能力隨網絡功能實例個數變化的仿真結果,仿真結果取100次隨機實驗的平均值。從圖7(b)可以看出,LBP是針對節點負載能力性能選擇SFC,因此它對SFC節點負載能力優化效果最好;SFCGAT將負載能力作為一個優化目標,得到的SFC負載優化效果與LBP算法接近;而CSP在選擇服務路徑時沒有考慮節點負載能力,因此路徑負載能力最差。在實驗過程中,每經過3次請求,節點會釋放1次請求所占負載,因此隨著功能實例個數的增加,節點負載釋放的比例會增加,導致負載能力呈上升趨勢,總體實驗結果符合預測趨勢。

圖7 SFCR不變情況下時延與負載能力變化
在SFCR不變時,網絡功能實例個數的增加表示符合SFCR的可選路徑數目呈指數級增長。CSP和LBP路徑選擇算法在面對指數級數量的可選路徑時,只針對單一評價進行選擇路徑,造成選擇路徑的時延與負載能力之間存在較大偏差,路徑綜合指數較低。本模型的路徑優化算法以時延與節點負載能力作為預測路徑的綜合評價指標,模型在優化訓練時也是以兩個指標的綜合值為優化方向。根據式(5)可以計算得到SFC-GAT選擇的SFC路徑綜合評價指數相比CSP提高12.43%,比LBP提高7.59%。實驗結果如圖8所示。

圖8 SFCR不變情況SFC路徑綜合評價指數
5.2.3 SFCR變化時路徑選擇優化
真實網絡場景中SFCR往往是動態變化的,因此設計在存在30個功能實例的情況下,SFC鏈路長度變化下各個算法在評價路徑時延與節點負載能力方面的對比,仿真結果取100次隨機實驗的平均值。圖9(a)為在SFCR變化時,SFC鏈路長度增加對路徑時延產生的影響。從圖9(a)可以看出,隨著SFC鏈路長度的增加,CSP以路徑總時延大小為評價標準,選擇的路徑時延最小;LBP以總路徑負載能力為評價指標,未考慮選擇路徑的時延,選擇的路徑時延最大;SFC-GAT路徑優化算法在選擇路徑時以路徑時延與負載能力為綜合評價指標,故選擇路徑的平均時延比LBP算法低,比CSP算法高。
圖9(b)為在SFCR變化時,SFC鏈路長度增加對路徑負載能力影響的仿真結果,仿真結果取100次隨機實驗的平均值。從圖9(b)可以看出,LBP以總路徑剩余負載為評價指標,所選擇SFC路徑平均負載效果最好;CSP單以路徑時延為評價指標,未考慮路徑負載能力對路徑效果的影響,所選擇路徑的平均負載能力效果最差;SFC-GAT路徑優化算法以路徑負載能力與時延為路徑優化的綜合評價,其選擇路徑的平均負載效果在LBP之下,SCP之上;在實驗過程中,每經過3次請求,節點會釋放1次請求所占負載,但SFC鏈路長度的增加會造成SFC通過網絡功能節點數量增加,導致整體負載能力呈上升趨勢,總體實驗結果符合預測趨勢。

圖9 SFCR變化情況下時延與負載能力變化
隨著SFCR請求長度的增加,固定數量的網絡功能實例導致可選擇路徑數目減少,但可選路徑長度增加會導致選擇路徑復雜度上漲。CSP通過計算路徑的累計時延,使用回溯搜索符合SFCR的最短時延路徑,忽略了負載能力對路徑的影響;LBP按SFCR通過的節點順序,將節點按剩余負載大小排列,并選擇剩余負載大的節點構成最大負載能力路徑,缺少對時延的評價;SFC-GAT路徑優化算法以時延和負載作為訓練優化指標,在對路徑綜合評價時,優于單指標評價策略的CSP和LBP。根據式(5)可以計算得到SFC-GAT選擇的SFC路徑綜合評價指數相比CSP提高14.58%,比LBP提高7.69%。實驗結果如圖10所示。

圖10 SFCR變化時SFC路徑綜合評價指數
針對服務功能鏈路徑選擇優化問題,本文提出一種基于GAT的SFC路徑優化模型SFC-GAT,采用圖注意力機制以時延與節點負載能力作為特征,進行優化訓練,在給定網絡拓撲結構下針對SFCR有無變化,對網絡功能實例個數和SFC鏈路長度對SFC路徑選擇優化影響進行仿真實驗,以提高SFC路徑在時延與節點負載能力的綜合評價指數。文中將SFC-GAT模型與CSP, LBP路徑選擇算法進行對比,表明了SFC-GAT模型對比兩種路徑選擇算法CSP, LBP至少能提升SFC路徑綜合性能指數12%和7%,并且SFC-GAT模型通過對網絡拓撲圖進行重構,能夠實現不同網絡拓撲結構的推廣,增強了模型泛化能力。后續工作將進一步考慮優化SFCGAT模型路徑選擇優化算法設計結構,提高模型預測準確率,加入對鏈路抖動、節點失效概率等特征的關注,提高模型綜合評價指數的優化范圍。