?

基于SRv6技術的云網安全服務鏈自動編排方法

2024-03-05 08:19王宏杰徐勝超毛明揚蔣金陵
計算機與現代化 2024年1期
關鍵詞:云網鏈路自動

王宏杰,徐勝超,楊 波,毛明揚,蔣金陵

(廣州華商學院數據科學學院,廣東 廣州 511300)

0 引 言

近年來云計算模式逐步向云網融合(簡稱“云網”)方向發展,云網最典型的應用是5G網絡技術,云網可以提供多樣化的云服務,使得越來越多的用戶與企業使用云網存儲和處理數據。這些數據包括隱私和其他重要信息,如果數據發生泄露或遭到攻擊,會對用戶造成損失。為此,將多個云計算環境中的安全服務進行組合,形成一個安全服務鏈路,可提供全面的云網安全保護。在此基礎上,為了控制整個安全服務流程的執行順序,需進行服務鏈編排,確保服務鏈按照正確的順序和條件被調用,從而實現預期的業務邏輯。

云網在后臺的實現最重要的是使用基于SRv6的服務鏈技術。SRv6 是一種基于IPv6 的段路由技術,可以根據源路由的狀態實時編程報文轉發路徑,提高云網的性能。服務鏈自動編排是通過自動化組合與編排多個服務鏈來滿足不同場景中的業務需求,動態調整服務鏈的安全策略,實現對網絡安全服務的自動編排的。利用服務鏈自動編排可以提升云網安全等級,所以云網融合中提高服務鏈自動編排能力至關重要,值得深入研究。

文獻[1]提出一種零接觸網絡編排法,在端平臺基礎上,通過對網絡數據的監控和合理配置實現服務鏈的自主編排;文獻[2]研究一種實時無縫編排法,利用服務端之間的保護機制,實現網絡服務平臺的異構,在網絡管理的基礎上,實現服務鏈的自動更新,添加一定的資源配置條件,實現服務鏈的編排。上述2種方法對服務鏈的可編程性不高,因此產生的消耗也較大。文獻[3]利用網絡功能虛擬化(Network Functions Virtualization,NFV)架構,提出一種服務功能鏈動態編排算法。通過廣度優先搜索算法尋找最短路徑,利用蟻群優化算法生成最優解,實現服務功能鏈編排。文獻[4]將區塊鏈技術與軟件定義網絡(Software Defined Network,SDN)結合,構建基于聯盟鏈的異構物聯網網絡資源管理模型,部署輕節點和全節點;利用身份識別的思想,實現身份識別和資源信息的分離,構建鏈上身份識別和鏈下信息的模型,通過深度強化學習進行服務功能鏈編排,設計基于異步優勢的服務功能鏈編排算法,優化編排,取得了較好的云網性能。

在上述研究的基礎之上,本文提出一種基于SRv6 技術的云網安全服務鏈自動編排方法,采用SRv6 技術設計數據傳輸過程,提高服務鏈的可編程性,實現云網安全服務鏈自動編排的雙向支持。針對云網安全服務鏈自動編排過程中的帶寬消耗高的問題,本文設置約束條件獲取最優解,不僅有效提高請求成功率,同時減小帶寬消耗,提高有效傳輸的能力?;跊Q策節點和流調節點配置策略,本文通過控制器生成指令并下達至交換機,完成云網安全服務鏈自動編排。

1 基于SRv6技術的云網可編程性設置

SRv6 屬于源路由技術[5],可以實現對節點和路徑的自由選擇,具備輔助和引導網絡數據包沿著指定路徑通過云網的功能,報文轉發過程中依托于SRv6的目的地址信息[6],指導報文的具體轉發路徑,通過在目的地址中指定服務鏈標識,報文根據指定服務鏈順序依次經過不同的安全服務鏈,完成服務節點的安全防護,從而實現靈活的網絡路徑選擇以及網絡服務鏈編排,優化網絡流量。

SRv6 技術可以應用在多種設備上完成技術支持,在服務器、客戶端和網絡節點均支持SRv6技術的情況下,服務器可作為SRv6 源節點的分類器[7]。服務節點負責定義本地行為,利用網絡節點處理SRv6報文,根據服務ID 實現具體的調用服務,通過客戶端實現計算優先云網中的數據傳輸,可以免除對服務節點的依賴,減少算力路由的消耗。數據源地址實際對應的是客戶端IP,報文傳送目的地址對應的是服務IP,將計算優先云網節點開始時數據傳輸的第一跳作為服務節點IP,第二跳作為服務ID。當服務節點收到云網傳輸數據包時,左側分端減1,節點根據安全狀態查詢對應綁定服務器,實時反饋調用結果[8],通過動態調度和實時反饋結果,能夠有效降低故障率,提高請求成功率。

選擇服務節點對應端口或回送IP 作為服務ID,服務節點在調用ID 時,需要通過選擇出來的端口或者回送IP,倘若服務節點正好位于云網入口位置[9],此時服務ID 與云網內的服務器IP 相照應,等待節點的實時調用。云網內客戶端在請求服務過程中產生的數據傳輸如圖1所示。

圖1 SRv6技術下的數據流示意圖

將計算優化云網節點作為SRv6 的源節點池,利用節點定義本地行為并處理SRv6 報文,解除對SRv6數據的封裝,在代理節點的輔助下,能有效地轉換報文協調傳輸程度,實現對云網安全服務鏈自動編排的雙向支持,在此基礎上可實現對后續自動編排的部署[10]。

2 云網安全服務鏈自動編排的約束條件

通過云網可編程性設置,可完成云網安全服務鏈自動編排的雙向支持。然而在自動編排過程中需要考慮多種約束條件,安全服務鏈上的請求量須小于等于對應物理節點所能提供的資源量,同時帶寬請求量也需要小于等于云網安全鏈路上的帶寬提供量,虛擬鏈路與實際物理路徑之間只能有一段映射,為此描述各類約束條件[11]。

為了減少云網安全服務鏈自動編排過程中的帶寬消耗[12],本文將最小化總帶寬設定為自動編排目標minu(li),L表示云網中的物理鏈路集合,li表示鏈路集合中包含的某段鏈路,u(li)表示該段鏈路上對應的實際帶寬消耗量[13-14]。

節點約束是虛擬網絡功能放置中的約束條件之一,目的是保證云網安全服務鏈上需要的虛擬內存等,并滿足其不超過放置物理節點的提供量,具體的約束過程如下:

其中,N表示云網拓撲結構中所有物理節點的集合,ni表示云網安全服務鏈路中的某一物理節點,Mni為ni上已存放的虛擬機實例集合,Vni表示放置在ni上的所有云網虛擬網絡功能集合,表示云網安全服務鏈對應的業務組合,mj表示ni上已存放的信息實例集合中一個單元因子,R表示虛擬網絡功能中請求的資源類型種類集合,r表示其中的某一類資源,表示單元因子相對于r類資源的數據請求數量,表示物理節點ni對于r類資源所能提供的數據量。

在云網安全服務鏈路中放置虛擬網絡功能,主要分為服務鏈路上架構出的虛擬鏈路和云網拓撲結構中實際包含的物理鏈路。鏈路約束[15]也是保證服務鏈自動編排實現的約束條件之一,它能保證帶寬的提供量在可控范圍內:

其中,S(li)表示在鏈路li所能提供出的帶寬總量,針對隨機物理鏈路而言,u(li)不能超過S(li),C表示映射在云網服務鏈路上的所有請求,P表示云網服務功能鏈上接受到的請求,pj表示云網安全服務請求中對應的虛擬業務鏈路,w(pj)表示虛擬業務鏈路pj實際對應的物理鏈路集合表示虛擬業務鏈路pj中接收到的帶寬資源請求量[16]。

映射約束主要保證虛擬網絡功能以及物理節點之間實現資源配置平衡:

其中,v表示節點對應資源狀態,φ為空集符號,表示物理節點的資源約束條件。

根據以上約束關系式可以更好地實現云網安全服務鏈在虛擬功能網絡中的自動編排,達到多個條件在同一時間內獲取到最優解[17]。

3 云網安全服務鏈自動編排過程

在獲取云網安全服務鏈自動編排的約束條件后,針對云網安全防護方案,需建立自動編排部署框架。根據上層用戶的安全業務需求和自動架構服務鏈策略,實現虛擬安全設備保護功能,將正在傳輸的數據流安全調度到虛擬安全設備中,達到傳輸序列的安全防護。本文主要用到粒子群算法實現自動編排過程,具體如下:

步驟1初始化粒子群,隨機生成一組粒子,每個粒子代表一個可能的策略組合,也稱為編排解。

步驟2根據預定的評估函數,對每個粒子進行適應度評估。

步驟3記錄粒子群中適應度最好的粒子的位置,即全局最優解。

步驟4通過考慮個體歷史最優位置和全局最優位置更新每個粒子的速度和位置。

步驟5重復執行步驟2~步驟4,直到滿足終止條件,獲取適應度最好的粒子的位置,該位置即為最優解,對應于最佳的安全服務鏈策略組合。

步驟6根據最優解所代表的最佳策略組合,使用自動化編排工具或其他相關工具,實施和部署安全服務鏈,不斷優化和調整,完成自動編排過程。

云網安全服務鏈自動編排部署框架能夠自動實現服務鏈策略的編排和虛擬安全設備的自動部署,將數據流安全調度到相應的虛擬安全設備中進行安全防護,提高安全防護可靠性,并降低管理工作量。在這一過程中需要完成2 個關鍵性的問題:1)解決在云網安全服務鏈自動編排中的策略沖突問題[18];2)解決網絡流調度優化條件。為解決這2 個問題,本文設計自動編排部署框架,如圖2所示。

圖2 云網安全服務鏈自動編排部署框架

在自動編排決策發生沖突的情況下,云網安全的決策節點首先通過開放北向接口[19],自動為云網用戶提供網絡安全防護服務。在構建安全入侵檢測防護的同時,應增加對云網用戶流量清洗,將2 種防護有機結合成安全服務鏈策略,把用戶的訪問數據流引入策略序列中,實現對安全訪問和數據流屬性的細粒度控制[20]。但受到前后策略不同的影響,很可能導致執行動作之間存在一定的沖突,這時使用自動化編排工具Ansible 編寫編排邏輯,可以自動協調和管理各個服務之間的關系,使得決策節點根據網絡服務鏈的優先級來正確編排網絡流傳輸,消除云網中的沖突,減少網絡擁塞,從而減輕CPU 負載,降低CPU 利用率,同時將決策結果傳輸至對應的流調節點[21]。

云網安全服務鏈中的流調度節點負責分析和管理安全資源池內的信息實例,有效實現對負載信息的自動化監控,根據防護策略輸出相應的安全流調配置,解析安全設備類型[22],從服務鏈實時的狀態信息中評估出調度路由的最佳方案,通過消息隊列,將實際配置的安全流調信息策略自動傳輸給云網的控制器,實現數據流量的定向處理[23]。因為消息隊列采用異步通信的方式,發送方將消息發送到隊列中,不需要等待接收方的響應,所以可提高安全服務鏈的響應速度。

云網中控制器主要負責對資源實行相對集中的控制管理,具備全局統籌能力。在此基礎上對網絡的拓撲結構進行監控[24-25],當某個組件或服務器出現故障時,自動化編排服務根據預設的容錯策略,自動切換到備用的組件或服務器上,以自動恢復故障,提高服務鏈的可用性。另外,它能夠實時檢測并響應系統的變化和需求。在必要時給予數據流相應的指令,接收到路由調度結果后,控制器首先需要分析并生成指令,并將指令下達到交換機,可以實時完成對云網安全服務鏈中數據流量的定向牽引和安全防護,在這一步結束后才算完成整個安全服務鏈的框架部署。至此實現云網安全服務鏈自動編排,為組織提供可靠的安全保障,確保其關鍵信息和業務在云網中的安全運行。

基于上述內容可知,通過研究云網安全需求,明確上層用戶的安全業務需求,根據需求設計服務鏈策略,確定數據流調度順序,建立安全資源池,解析安全設備,配置決策節點和流調度節點,實現安全流調度配置和信息實時監控,利用控制器生成指令并下達至交換機。根據上述配置,將框架部署到云網環境中,即可完成SRv6的服務鏈編排,最后進行測試和驗證,確保安全服務鏈的可靠運行[26-27]。

4 實驗與性能分析

4.1 實驗參數的設置

為了驗證本文的自動編排方法的有效性,本文通過方法性能實驗對比來進行驗證。在實驗過程中,本文隨機生成較大規模的云網物理拓撲結構,建立一定數量的云網服務功能鏈路及用戶請求,分別使用零接觸網絡編排法(文獻[1]方法)、實時無縫編排法(文獻[2]方法)和本文方法來處理生成的云網服務功能鏈映射請求,評估分析不同自動編排方法下的各項指標,并進行對比,同時實驗中還考慮安全服務鏈上虛擬功能網絡的數量對不同編排方法代數的影響情況。

首先完成參數設定。云網的物理拓撲結構中包含一個主要的核心層交換機,另外的交換機在聚合層和邊緣層的數量分別為5 個和40 個。實驗參數的具體設定情況如表1 所示。利用阿里云配置API 網關請求總數。打開API 網關控制臺,進入目標API 分組的管理頁面。在左側導航欄中的“流控策略”選擇“請求總數”作為流控策略類型,將安全服務功能鏈路的請求總數設定在500 次。為保證實驗結果的真實性,在相同參數下共進行20 次測試,根據實驗次數依次將安全服務鏈上的虛擬網絡功能數量從1增加到20,每次的請求數設置為20。

表1 實驗參數設定

實驗使用Matlab 軟件,操作系統為Windows 10,內存為16 GB,利用Matlab 軟件中的Service Orchestrator 工具包導入實驗所需參數,并使用不同方法分別在Matlab中進行實驗。

4.2 平均總帶寬消耗測試

在實驗參數的基礎上,對零接觸網絡編排法、實時無縫編排法和本文方法的平均總帶寬消耗情況進行實驗數據分析。實驗中對云網輸入相同的物理拓撲結構,對3 種方法均投入相同次數的安全服務鏈請求,并對比3 種算法的平均總帶寬消耗。平均總帶寬消耗的計算過程如公式(7)所示:

其中,D表示總數據量,T表示數據傳輸時間。具體情況如圖3所示。

圖3 3種方法下平均總帶寬消耗情況

根據圖3 可知,雖然零接觸網絡編排法的運算過程相對簡單,能大大提高編排算法的效率,但是相對應的平均總帶寬消耗較高,消耗量遠遠大于實時無縫編排法和本文方法。本文方法的變化相較于零接觸網絡編排法和實時無縫編排法更加平穩,在用戶對云網的安全服務鏈請求次數不斷增加的過程中,本文方法的平均總帶寬消耗量能穩定維持在一定的水平區間。這主要是因為本文方法在進行服務鏈自動編排的過程中,將最小化總帶寬設定為自動編排目標,減少了云網安全服務鏈自動編排過程中的總平均帶寬消耗量,保證了平均總帶寬消耗量能穩定維持在一定的水平區間。

4.3 請求成功率測試

接下來針對不同算法條件下的請求成功率進行對應實驗分析。實驗中對云網輸入相同的物理拓撲結構,保證3 種方法的安全服務鏈請求數量相同,對零接觸網絡編排法、實時無縫編排法和本文方法的請求成功率進行實驗分析對比。請求成功率的計算如公式(8)所示:

其中,Nc表示請求成功數,N1表示總請求數。具體的實驗結果如圖4所示。

圖4 不同算法下的請求成功率

根據圖4 可知,零接觸網絡編排法對應的用戶安全服務鏈請求成功率遠遠低于實時無縫編排法和本文方法。對比零接觸網絡編排法和本文方法可以看出,隨著云網用戶對安全服務鏈的請求數量不斷增多,本文方法的請求成功率能保持穩定的狀態,且始終高于零接觸網絡編排法。這表明本文方法在節省帶寬消耗的情況下,能在一定程度上有效地提高云網用戶的請求成功率,實現更好的服務鏈自動編排。分析原因是因為通過SRv6 對服務節點進行動態調度,同時利用實時反饋結果,有效降低了系統的故障率,從而提高了請求成功率。

4.4 邊緣設備的CPU負載率測試

最后為驗證本文的安全服務鏈自動編排方法能夠實現云網的正常運行,對云網內最大邊緣設備的CPU負載率進行實驗數據分析,其主要驗證的是安全服務鏈網絡功能之間是否存在通信開銷這一類不良影響,以及經過自動編排后能否保證云網內邊緣設備的負載均衡。最大邊緣設備CPU 利用率的計算如公式(9)所示:

其中,c表示CPU 空閑時間,z表示CPU 總運行時間。具體的實驗結果如圖5所示。

圖5 不同方法下最大邊緣設備CPU負載率

根據圖5可知,3種算法相比之下,零接觸網絡編排法和實時無縫編排法的邊緣設備CPU 使用率相對較高,而本文方法的CPU 使用率始終沒能超過1.0%,這表明本文方法在完成安全服務鏈自動編排的過程中,云網安全服務鏈的網絡功能之間只存在計算開銷,而零接觸網絡編排法和實時無縫編排法中包含了一部分的通信開銷,這對云網安全服務鏈會造成一定的不良影響。這主要是由于構建了云網安全服務鏈自動編排部署框架,其中的決策節點根據網絡服務鏈的優先級進行編排,消除云網沖突,減少網絡擁塞,從而減輕了CPU負載,降低了CPU利用率。

5 結束語

本文通過SRv6 實時編程報文轉發路徑,可以根據源路由的狀態提高網絡鏈路的可編程性,設計編排部署框架,確定目標函數完成對應的自動編排。實驗表明,本文方法能有效降低云網服務鏈路的平均帶寬總消耗,同時提高用戶對安全服務鏈的請求成功率,大大減小邊緣設備的CPU 使用率,經過編排后能有效保證云網的穩定、快速運行。

猜你喜歡
云網鏈路自動
家紡“全鏈路”升級
下期要目
新型云網融合編排與調度系統架構與分析
天空地一體化網絡多中繼鏈路自適應調度技術
基于ONAP開源架構的云網操作系統研究
自動捕盜機
航天云網科技發展有限責任公司
基于STM32的自動喂養機控制系統
關于自動駕駛
Stefan Greiner:我們為什么需要自動駕駛?
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合