廖竣鍇,程永新
(中國(guó)電子科技集團(tuán)公司第三十研究所,四川 成都 610041)
近年來(lái),隨著云計(jì)算、大數(shù)據(jù)等技術(shù)的不斷發(fā)展,企業(yè)的數(shù)字化轉(zhuǎn)型已成為我們國(guó)家經(jīng)濟(jì)和社會(huì)進(jìn)階和升級(jí)的一個(gè)重要的抓手。在這一背景下,企業(yè)內(nèi)部應(yīng)用在向云遷移,并通過(guò)業(yè)務(wù)數(shù)字化,進(jìn)行大數(shù)據(jù)的分析,提升企業(yè)的運(yùn)營(yíng)效率。IT信息化基礎(chǔ)設(shè)施,包括移動(dòng)互聯(lián)網(wǎng)、廣域網(wǎng)等,在5G、軟件定義廣域網(wǎng)(Software Defined Wide Area Network,SD-WAN)等技術(shù)的推動(dòng)下,不斷滿(mǎn)足用戶(hù)和多樣化業(yè)務(wù)的網(wǎng)絡(luò)需求。在這種場(chǎng)景下,云計(jì)算中心需要強(qiáng)大且靈活的網(wǎng)絡(luò)提供支撐,網(wǎng)絡(luò)能力和資源優(yōu)化同樣需要軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)、網(wǎng)絡(luò)功能虛擬化(Network Functions Virtualization,NFV)等云計(jì)算虛擬化技術(shù)的支撐。云和網(wǎng)不再各自獨(dú)立,而是彼此協(xié)同,逐漸融合。云網(wǎng)融合是下一代信息網(wǎng)絡(luò)基礎(chǔ)設(shè)施的重要特征[1-2],針對(duì)云網(wǎng)融合的安全體系架構(gòu)和關(guān)鍵技術(shù)的研究也是未來(lái)網(wǎng)絡(luò)研究的熱點(diǎn)方向。
云網(wǎng)融合的內(nèi)涵包括云端互聯(lián)和網(wǎng)絡(luò)云化兩點(diǎn)。云端互聯(lián)是指數(shù)據(jù)中心與云之間的連接,以及云與云之間的多云的連接,可按需實(shí)現(xiàn)敏捷、高速的云間互聯(lián)。網(wǎng)絡(luò)云化是指將傳統(tǒng)的傳輸網(wǎng)絡(luò)資源進(jìn)行云化,提高網(wǎng)絡(luò)功能的按需部署和靈活調(diào)整。云網(wǎng)融合后,云和網(wǎng)之間不再有明顯的界限,云內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)無(wú)縫互聯(lián),承載網(wǎng)絡(luò)可根據(jù)云服務(wù)需求按需提供網(wǎng)絡(luò)能力,最終構(gòu)成自服務(wù)、高彈性、智能化的云網(wǎng)一體的網(wǎng)云基礎(chǔ)設(shè)施[3]。
云網(wǎng)融合不僅僅是以SDN、彈性計(jì)算等為代表的技術(shù)方面的變化和提升,同時(shí)也是對(duì)系統(tǒng)架構(gòu)、網(wǎng)絡(luò)架構(gòu)、管理架構(gòu)等方面的重構(gòu)。其中,系統(tǒng)架構(gòu)是以數(shù)據(jù)中心為中心的云化架構(gòu),支持各類(lèi)業(yè)務(wù)的快速上線(xiàn)與彈性伸縮;網(wǎng)絡(luò)架構(gòu)通過(guò)SDN、NFV[4]、SD-WAN[5]等技術(shù)實(shí)現(xiàn)靈活智能的組網(wǎng),自動(dòng)感知網(wǎng)絡(luò)中的業(yè)務(wù)需求,實(shí)現(xiàn)網(wǎng)隨云動(dòng);管理重構(gòu)通過(guò)集中管理、分布部署的方式,實(shí)現(xiàn)按需自動(dòng)化、智能化的管理模式,提升管理效能和用戶(hù)體驗(yàn)。
云網(wǎng)融合帶來(lái)了網(wǎng)絡(luò)與信息系統(tǒng)的巨大變化,從技術(shù)、架構(gòu)、運(yùn)維等方面均與傳統(tǒng)的網(wǎng)絡(luò)存在較大的差異,這對(duì)安全保障也提出了新的挑戰(zhàn)。云網(wǎng)融合對(duì)安全保障的需求主要表現(xiàn)在以下幾個(gè)方面[6]。
1.2.1 碎片化的防護(hù)轉(zhuǎn)變?yōu)轶w系化的防護(hù)
傳統(tǒng)的網(wǎng)絡(luò)和安全策略大多都作用于專(zhuān)用的“硬件盒子”中,這些“硬件盒子”由多個(gè)廠(chǎng)商分別提供,安全功能被固定在特定的硬件平臺(tái)上,功能分散,互相重疊,又難以整合,防護(hù)機(jī)制碎片化且過(guò)于復(fù)雜,不僅帶來(lái)了額外的成本,還會(huì)使得運(yùn)維非常復(fù)雜。隨著SDN、NFV 等技術(shù)的成熟,以通用硬件搭載虛擬化軟件功能的技術(shù)路線(xiàn)代替了專(zhuān)用硬件軟件系統(tǒng)的技術(shù)路線(xiàn)。網(wǎng)絡(luò)安全防護(hù)設(shè)備的功能需要從硬件設(shè)備解耦出來(lái),并且在不同硬件平臺(tái)上共享。安全防護(hù)系統(tǒng)更加開(kāi)放、靈活,體系化防護(hù)能力更加突出。
1.2.2 安全邊界的動(dòng)態(tài)變化,要求彈性的安全保障能力
云網(wǎng)融合中的網(wǎng)元功能和網(wǎng)絡(luò)拓?fù)淇筛鶕?jù)業(yè)務(wù)需求動(dòng)態(tài)變化,相應(yīng)的網(wǎng)絡(luò)安全功能也需要根據(jù)網(wǎng)絡(luò)變化及時(shí)調(diào)整。安全功能和安全策略能夠根據(jù)服務(wù)需求彈性編配,以確保當(dāng)網(wǎng)絡(luò)和業(yè)務(wù)發(fā)生變化時(shí),安全功能的部署和安全策略的下發(fā)能夠隨變化調(diào)整,有效阻止網(wǎng)絡(luò)攻擊。
1.2.3 差異化的業(yè)務(wù)服務(wù),需要端到端的安全編排能力
在云網(wǎng)融合的情況下,尤其是在5G 網(wǎng)絡(luò)的運(yùn)用中,業(yè)務(wù)系統(tǒng)提出了利用不同服務(wù)質(zhì)量的網(wǎng)絡(luò)切片為用戶(hù)提供差異化的服務(wù)。安全防護(hù)要對(duì)不同網(wǎng)絡(luò)環(huán)境提供差異化的安全保障,需要具備端到端的安全編排能力,在業(yè)務(wù)的全生命周期提供安全功能的編排,并且解決網(wǎng)絡(luò)端到端的問(wèn)題,屏蔽不同網(wǎng)絡(luò)段帶來(lái)的影響。同時(shí),安全編排粒度應(yīng)該是原子化的,保證差異化的安全保障能力的實(shí)現(xiàn)。
可以看出,在云網(wǎng)融合網(wǎng)絡(luò)中,安全資源編排技術(shù)是實(shí)現(xiàn)資源按需部署和動(dòng)態(tài)調(diào)整的核心。安全資源編排接收業(yè)務(wù)或用戶(hù)提出的安全服務(wù)請(qǐng)求,根據(jù)預(yù)先定義的流程,分解安全服務(wù),動(dòng)態(tài)調(diào)整安全資源分配,滿(mǎn)足業(yè)務(wù)或用戶(hù)的差異化安全保障需求。
資源編排通過(guò)可視化的編排界面,根據(jù)業(yè)務(wù)場(chǎng)景制定安全服務(wù)需求,隨后轉(zhuǎn)化為對(duì)安全資源的需求,并通過(guò)編排算法從安全資源池中調(diào)用相應(yīng)安全資源,部署在各個(gè)物理網(wǎng)絡(luò)節(jié)點(diǎn),最終形成基于業(yè)務(wù)的動(dòng)態(tài)保障服務(wù)[7-8]。
廣域安全資源編排包括服務(wù)編排、功能編排和功能執(zhí)行3 部分。服務(wù)編排從全局視角出發(fā),通過(guò)約定的服務(wù)定義,提交安全服務(wù)需求描述,明確安全服務(wù)的對(duì)象、性質(zhì)、范圍和能力等,進(jìn)一步對(duì)安全服務(wù)進(jìn)行實(shí)例化,形成子服務(wù)或子功能集合以及相互之間的關(guān)系及交互行為。功能編排則是從功能組合的視角出發(fā),設(shè)計(jì)規(guī)劃安全功能集合內(nèi)部的拓?fù)潢P(guān)系、工作流程,形成安全功能部署及安全策略執(zhí)行方案。功能執(zhí)行則按照部署方案,具體執(zhí)行安全功能部署、網(wǎng)絡(luò)流量調(diào)度和安全策略下發(fā)生效等工作。
本文設(shè)計(jì)的廣域安全資源編排框架由服務(wù)層、資源層、控制層、物理層4 層結(jié)構(gòu)組成,如圖1 所示。每層結(jié)構(gòu)的具體功能如下文所述。
圖1 廣域安全資源編排框架
(1)服務(wù)層:實(shí)現(xiàn)安全服務(wù)注冊(cè)、安全服務(wù)管理、安全服務(wù)編排和安全服務(wù)優(yōu)化等功能。
(2)資源層:對(duì)上通過(guò)安全服務(wù)映射接口,獲取安全功能的需求,根據(jù)不同場(chǎng)景選擇適合的編排算法,對(duì)安全資源進(jìn)行動(dòng)態(tài)編排,構(gòu)建安全功能服務(wù)鏈,并從資源池中調(diào)取相應(yīng)的虛擬安全資源,組合形成虛擬安全資源部署編配方案;對(duì)下通過(guò)資源映射接口,通知控制層執(zhí)行安全資源編排方案;對(duì)于廣域網(wǎng)絡(luò)環(huán)境,資源編排可以分域部署,相互協(xié)同完成廣域的資源編排。
(3)控制層:包括資源管理和資源控制器,其中SDN 控制器對(duì)網(wǎng)絡(luò)資源進(jìn)行控制,NFV 控制器對(duì)虛擬安全資源進(jìn)行控制,網(wǎng)絡(luò)資源與安全資源由資源管理進(jìn)行統(tǒng)一管理,并上報(bào)給資源層。
(4)物理層:是業(yè)務(wù)和網(wǎng)絡(luò)的承載主體,包括接入網(wǎng)、骨干網(wǎng)、數(shù)據(jù)中心等實(shí)體,具體由網(wǎng)絡(luò)設(shè)備、安全設(shè)備、云平臺(tái)等組成。
云網(wǎng)融合的安全服務(wù)編排工作流程分為安全服務(wù)及資源的生產(chǎn)與構(gòu)建、安全服務(wù)提供與消費(fèi)兩大部分,如圖2 所示。
圖2 廣域資源編排工作流程
2.2.1 安全服務(wù)及資源的生產(chǎn)與構(gòu)建
(1)系統(tǒng)管理者或安全服務(wù)提供者在網(wǎng)絡(luò)中部署相應(yīng)的安全設(shè)備與資源,并接受系統(tǒng)管理,形成系統(tǒng)資源池供安全服務(wù)調(diào)度使用。
(2)系統(tǒng)管理者基于部署的安全資源,向系統(tǒng)注冊(cè)安全服務(wù),提供服務(wù)描述、功能性能、服務(wù)約束、服務(wù)位置等信息。
2.2.2 安全服務(wù)提供與消費(fèi)
(1)安全服務(wù)使用者按規(guī)范提交安全服務(wù)需求,系統(tǒng)在安全服務(wù)層進(jìn)行業(yè)務(wù)邏輯的解析,完成服務(wù)到資源的映射,將安全服務(wù)需求轉(zhuǎn)化為安全資源請(qǐng)求。
(2)在資源管理層,系統(tǒng)進(jìn)行安全資源的編排,在資源池中查詢(xún)當(dāng)前安全資源部署使用狀況,通過(guò)編排算法將安全資源安排在合適的位置,將安全資源請(qǐng)求轉(zhuǎn)化為安全資源部署指令。
(3)在系統(tǒng)控制層,系統(tǒng)驅(qū)動(dòng)控制組件,將安全資源部署指令轉(zhuǎn)化為相應(yīng)的設(shè)備管理與安全策略,下發(fā)到對(duì)應(yīng)位置的安全設(shè)備中執(zhí)行。
(4)最終,完成了安全服務(wù)的按需提供和安全資源的動(dòng)態(tài)部署。
通過(guò)廣域安全資源編排工作機(jī)理的分析,可以看到,如何基于上層用戶(hù)的安全服務(wù)需求,自動(dòng)構(gòu)建安全服務(wù)鏈,并根據(jù)網(wǎng)絡(luò)拓?fù)浜同F(xiàn)有資源狀態(tài),動(dòng)態(tài)編排部署虛擬安全資源,實(shí)現(xiàn)網(wǎng)絡(luò)安全防護(hù)目標(biāo)的同時(shí),優(yōu)化系統(tǒng)性能是一個(gè)關(guān)鍵問(wèn)題。因此,需要對(duì)安全資源編排算法開(kāi)展研究。
文獻(xiàn)[9]提出一種虛擬網(wǎng)絡(luò)功能部署方法,利用維特比(Viterbi)算法在網(wǎng)絡(luò)拓?fù)渲羞x擇時(shí)延最短的服務(wù)路徑。文獻(xiàn)[10]將虛擬網(wǎng)絡(luò)功能服務(wù)鏈(virtual Networking Function service Chain,vNFC)的映射問(wèn)題歸結(jié)為整型優(yōu)化問(wèn)題,利用最優(yōu)化算法實(shí)現(xiàn)了基于資源拆分的vNFC 映射策略。文獻(xiàn)[11]將遺傳算法用于安全服務(wù)鏈編排,實(shí)現(xiàn)了云安全服務(wù)與策略的按需加載。文獻(xiàn)[12]提出一種網(wǎng)絡(luò)資源控制機(jī)制,通過(guò)貪婪算法對(duì)網(wǎng)絡(luò)需求排序后再逐一編排,但該方法是針對(duì)單一資源的,對(duì)系統(tǒng)的整體考慮較少。文獻(xiàn)[13]提出了自動(dòng)化虛擬化的網(wǎng)絡(luò)功能布局的編排架構(gòu),但不涉及編排算法的具體描述。文獻(xiàn)[14]提出了虛擬網(wǎng)絡(luò)功能編排的整數(shù)線(xiàn)性規(guī)劃(Integer Linear Programming,ILP)數(shù)學(xué)模型,并利用啟發(fā)式算法進(jìn)行求解,但未考慮廣域網(wǎng)絡(luò)中的編排管理問(wèn)題。文獻(xiàn)[15]提出一種基于整數(shù)線(xiàn)性規(guī)劃模型的算法,可以減少資源部署整體消耗,也能提高服務(wù)鏈請(qǐng)求的成功率,但是節(jié)點(diǎn)規(guī)模較大時(shí)效率不高。
以上研究對(duì)資源編排機(jī)制與算法進(jìn)行了較深入的研究,但在廣域網(wǎng)絡(luò)環(huán)境下的安全資源編排還沒(méi)有太多的涉及。本文將對(duì)安全服務(wù)的統(tǒng)一描述,安全服務(wù)到安全資源的映射機(jī)制,以及廣域網(wǎng)絡(luò)下的資源編排算法優(yōu)化等方面進(jìn)行進(jìn)一步的研究探討。
一個(gè)安全服務(wù)請(qǐng)求對(duì)應(yīng)著一系列安全服務(wù)資源,安全服務(wù)資源以及資源的先后處理順序構(gòu)成了一條安全服務(wù)鏈,不同的服務(wù)功能鏈代表著不同的服務(wù)需求。服務(wù)功能鏈中的每個(gè)虛擬網(wǎng)絡(luò)功能可以被快速的創(chuàng)建、移動(dòng)和刪除,從而實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)的快速部署,降低建設(shè)運(yùn)維成本,滿(mǎn)足不同服務(wù)的定制化、差異化需求。例如,一個(gè)局域網(wǎng)內(nèi)用戶(hù)訪(fǎng)問(wèn)云數(shù)據(jù)中心內(nèi)的服務(wù),根據(jù)不同的安全防護(hù)等級(jí),可生成不同的安全服務(wù)鏈。每條安全服務(wù)鏈由多個(gè)虛擬安全資源組成,通常包括防火墻、入侵檢測(cè)、接入認(rèn)證、流量控制、虛擬專(zhuān)用網(wǎng)絡(luò)(Virtual Private Network,VPN)網(wǎng)關(guān)、應(yīng)用訪(fǎng)問(wèn)控制、數(shù)據(jù)安全監(jiān)控等安全資源,如圖3 所示。
圖3 安全資源在物理網(wǎng)絡(luò)中的部署
一般在安全資源編排中,可根據(jù)不同網(wǎng)絡(luò)拓?fù)?、服?wù)需求設(shè)定不同的資源優(yōu)化目標(biāo)。優(yōu)化的方向一般分為服務(wù)性能和系統(tǒng)開(kāi)銷(xiāo)等方面:考慮服務(wù)性能時(shí),優(yōu)化目標(biāo)通常包括鏈路利用率最大化、網(wǎng)絡(luò)時(shí)延最小化、調(diào)度部署完成時(shí)間最小化等;考慮系統(tǒng)開(kāi)銷(xiāo)時(shí),優(yōu)化目標(biāo)通常包括部署節(jié)點(diǎn)數(shù)最小化、節(jié)點(diǎn)資源占用最小化、總體能耗最小化等。這些安全資源分配在不同的物理節(jié)點(diǎn)和鏈路上,部署位置、規(guī)模、數(shù)量等都是不確定的。少數(shù)節(jié)點(diǎn)組成的網(wǎng)絡(luò)可以通過(guò)人工配置手動(dòng)完成,但對(duì)于大規(guī)模網(wǎng)絡(luò)的廣域環(huán)境,節(jié)點(diǎn)多、鏈路復(fù)雜,如何快速高效地完成資源分配以滿(mǎn)足網(wǎng)絡(luò)服務(wù)需求是安全資源編排面臨的主要挑戰(zhàn)。
安全資源編排問(wèn)題是一個(gè)非確定性多項(xiàng)式難題(Non-deterministic Polynomial hard,NP-hard)問(wèn)題,一般的求解算法包括精確式算法、啟發(fā)式算法兩類(lèi)。精確式算法通過(guò)整數(shù)規(guī)劃方法求最優(yōu)解,分為整數(shù)線(xiàn)性規(guī)劃、非線(xiàn)性規(guī)劃等多種,一般用于節(jié)點(diǎn)數(shù)較少的網(wǎng)絡(luò)。當(dāng)網(wǎng)絡(luò)規(guī)模較大時(shí),精確式算法運(yùn)行時(shí)間較慢,這時(shí)需要引入啟發(fā)式算法,通過(guò)一些限定條件快速計(jì)算出優(yōu)化目標(biāo)的一個(gè)可行解,通常是次優(yōu)解。常見(jiàn)的啟發(fā)式算法包括遺傳算法、模擬退火算法、蟻群算法等。啟發(fā)式算法的執(zhí)行時(shí)間相較于精確式算法明顯縮短,可應(yīng)用于大規(guī)模系統(tǒng)中。
本文中,將討論精確式算法和啟發(fā)式算法。算法設(shè)計(jì)如下文所述。
3.3.1 物理網(wǎng)絡(luò)及拓?fù)涞某橄竺枋?/p>
將物理網(wǎng)絡(luò)表示為無(wú)向圖G=(N,L),其中N表示網(wǎng)絡(luò)節(jié)點(diǎn)的集合,L表示網(wǎng)絡(luò)鏈路的集合。對(duì)于每一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),有n∈N,由于網(wǎng)絡(luò)節(jié)點(diǎn)需要提供安全服務(wù)部署的資源,故N上的資源R可表示為Rn(cn,mn,sn,wn),c表示計(jì)算資源,m表示為內(nèi)存資源,s表示為存儲(chǔ)資源,w表示為物理位置。物理節(jié)點(diǎn)的平臺(tái)屬性可表示為An,包括平臺(tái)類(lèi)型、型號(hào)等,可用于評(píng)估計(jì)算處理性能。對(duì)于每一條鏈路,有l(wèi)∈L,鏈路資源包括鏈路的帶寬和傳輸時(shí)延,用El(dl,el)表示,如圖4 所示。
圖4 物理網(wǎng)絡(luò)及拓?fù)涑橄竺枋?/p>
3.3.2 網(wǎng)絡(luò)安全虛擬功能抽象描述
當(dāng)系統(tǒng)的虛擬安全資源注冊(cè)后,虛擬安全資源將納入到安全資源池中管理。每一個(gè)安全虛擬功能表示系統(tǒng)能夠提供的安全資源類(lèi)型和特性。系統(tǒng)安全資源池是網(wǎng)絡(luò)安全虛擬功能的合集,可用集合P(rp,cp,ep)表示,其中:r表示資源需求,包含部署網(wǎng)絡(luò)安全虛擬功能需要的CPU、內(nèi)存、存儲(chǔ)等資源的大??;c表示該功能的處理性能,表示為網(wǎng)絡(luò)處理帶寬;e表示為處理時(shí)延,表示為該功能對(duì)網(wǎng)絡(luò)報(bào)文進(jìn)行處理的平均時(shí)延。
一般網(wǎng)絡(luò)安全虛擬功能可部署在任意條件滿(mǎn)足的物理節(jié)點(diǎn)上,但考慮到現(xiàn)實(shí)情況下,某些網(wǎng)絡(luò)安全虛擬功能只能部署在特定的物理節(jié)點(diǎn),故存在約束:
式中:n可以為1 個(gè)節(jié)點(diǎn),也可以為多個(gè)節(jié)點(diǎn)的集合。
3.3.3 服務(wù)請(qǐng)求到安全功能服務(wù)鏈的映射
當(dāng)用戶(hù)提交的安全服務(wù)需求時(shí),系統(tǒng)將服務(wù)請(qǐng)求轉(zhuǎn)化為安全功能服務(wù)鏈。安全服務(wù)需求的描述可表示為4 元組SQ={o,sr,sl,xn},其中:o表示服務(wù)對(duì)象,一般由特定的用戶(hù)、終端、局域網(wǎng)組成;sr表示業(yè)務(wù)類(lèi)型,例如web、郵件、視頻等業(yè)務(wù);sl表示防護(hù)等級(jí),一般包括1~5 級(jí),也可以自定義擴(kuò)展;xn表示性能需求,一般需要保障業(yè)務(wù)的網(wǎng)絡(luò)帶寬、最大平均時(shí)延等。
安全功能服務(wù)鏈則是根據(jù)安全服務(wù)需求,基于系統(tǒng)內(nèi)的安全服務(wù)資源,形成的一個(gè)安全服務(wù)序列。安全功能服務(wù)鏈的描述可表示為4 元組FC={st,fp(f,d),xn,ed},其中:st表示源對(duì)象,一般由特定的用戶(hù)、終端、局域網(wǎng)組成;fp表示安全服務(wù)序列,每個(gè)節(jié)點(diǎn)包含服務(wù)位置與服務(wù)類(lèi)型;服務(wù)位置f為某個(gè)物理節(jié)點(diǎn)或某個(gè)域,也可以置為0,表示可部署在任意節(jié)點(diǎn);d表示為服務(wù)類(lèi)型,例如接入認(rèn)證、訪(fǎng)問(wèn)控制、入侵檢測(cè)、病毒檢測(cè)等安全功能;xn表示服務(wù)性能,每一個(gè)安全功能都需要滿(mǎn)足該性能,包括網(wǎng)絡(luò)帶寬處理性能、最大平均時(shí)延等;ed表示目的對(duì)象,一般由特定的服務(wù)、局域網(wǎng)組成。
從服務(wù)請(qǐng)求到安全功能服務(wù)鏈的映射,一般采用如圖5 所示的機(jī)制。
圖5 服務(wù)請(qǐng)求到安全功能服務(wù)鏈的映射機(jī)制
系統(tǒng)接收到安全服務(wù)請(qǐng)求后,首先按照系統(tǒng)可理解的規(guī)范語(yǔ)言對(duì)安全服務(wù)進(jìn)行定性或定量的描述;其次根據(jù)系統(tǒng)預(yù)置的安全服務(wù)映射模板的指標(biāo)體系,基于安全評(píng)估方法,將安全服務(wù)描述內(nèi)容轉(zhuǎn)化為具體的安全功能,并將安全功能按照一定的邏輯關(guān)系串聯(lián)為一個(gè)安全功能服務(wù)序列。其中,安全評(píng)估算法可采用層次分析法(Analytic Hierarchy Process,AHP)等,本文中不再進(jìn)行論述。
3.3.4 安全功能服務(wù)鏈轉(zhuǎn)化為虛擬安全功能需求
安全功能服務(wù)鏈FC中,包括安全服務(wù)序列,以及對(duì)服務(wù)性能的約束。結(jié)合安全資源池中對(duì)虛擬安全功能集合的描述P(rp,cp,ep),能夠獲取安全序列中,每個(gè)安全功能對(duì)應(yīng)的虛擬安全功能的需求,從而得到安全服務(wù)鏈對(duì)應(yīng)的虛擬安全功能需求描述,可用無(wú)環(huán)有向圖表示為Gv=(N v,Lv),其中:N v表示虛擬網(wǎng)絡(luò)節(jié)點(diǎn)的集合;Lv表示虛擬網(wǎng)絡(luò)鏈路的集合。對(duì)于每一個(gè)虛擬網(wǎng)絡(luò)節(jié)點(diǎn),有nv∈N v,由于虛擬網(wǎng)絡(luò)節(jié)點(diǎn)需要提供安全服務(wù)部署的資源,故N v上的虛擬網(wǎng)絡(luò)資源Rv可表示為Rv(cv,mv,sv),其中:cv表示虛擬計(jì)算資源;mv表示為虛擬內(nèi)存資源;sv表示為虛擬存儲(chǔ)資源。對(duì)于每一條虛擬鏈路,有l(wèi) v∈Lv,從虛擬節(jié)點(diǎn)mv到虛擬節(jié)點(diǎn)nv的虛擬鏈路可表示為。虛擬鏈路資源包括虛擬鏈路的帶寬和傳輸時(shí)延,用表示。ωt(),ωd()兩個(gè)函數(shù)分別用于計(jì)算虛擬安全功能部署在物理節(jié)點(diǎn)上的帶寬處理性能和處理時(shí)延。
3.3.5 從虛擬安全功能需求到物理拓?fù)涞挠成?/p>
從虛擬安全功能需求到物理拓?fù)涞挠成?,即是虛擬安全功能在物理網(wǎng)絡(luò)中的編排部署。對(duì)于一項(xiàng)虛擬安全功能需求,根據(jù)物理網(wǎng)絡(luò)資源情況,得出服務(wù)功能的部署位置及網(wǎng)絡(luò)鏈路綁定關(guān)系。
對(duì)于某個(gè)虛擬網(wǎng)絡(luò)安全功能,用Xij表示是否將網(wǎng)絡(luò)安全功能i部署在物理節(jié)點(diǎn)j上,表示為:
對(duì)于某個(gè)虛擬鏈路,用Ymn表示是否將虛擬網(wǎng)絡(luò)鏈路m與物理鏈路n綁定,表示為:
在虛擬安全功能部署時(shí),還需要考慮以下約束條件:
(1)容量限制。對(duì)于任一物理節(jié)點(diǎn),所有部署其上的虛擬安全功能請(qǐng)求的物理資源不能大于節(jié)點(diǎn)可用的物理資源,包括計(jì)算資源、存儲(chǔ)資源和內(nèi)存資源。
(2)帶寬限制。對(duì)于任意的物理鏈路,流經(jīng)該條鏈路的所有虛擬安全功能請(qǐng)求使用的鏈路帶寬資源不能大于物理鏈路上的可用帶寬資源。
(3)節(jié)點(diǎn)限制。為了更好地達(dá)到對(duì)資源的利用和均衡,對(duì)于每條服務(wù)功能鏈請(qǐng)求中的每個(gè)網(wǎng)絡(luò)功能都必須部署在不同的物理節(jié)點(diǎn)上。計(jì)算方式為:
(4)處理性能限制。對(duì)于每個(gè)虛擬服務(wù)功能,部署在不同的物理節(jié)點(diǎn),其處理性能與硬件物理平臺(tái)以及分配的資源相關(guān),其處理性能不能小于性能需求。計(jì)算方式為:
面向安全服務(wù)需求的功能動(dòng)態(tài)部署,可從不同的角度考慮安全服務(wù)的優(yōu)化部署。本文主要從基于時(shí)延和基于開(kāi)銷(xiāo)兩方面進(jìn)行設(shè)計(jì)?;谙到y(tǒng)時(shí)延的優(yōu)化模型是從最大化服務(wù)性能的角度對(duì)安全功能進(jìn)行分配,基于系統(tǒng)開(kāi)銷(xiāo)考慮的優(yōu)化模型是從最大化節(jié)省現(xiàn)有組件整體資源的角度考慮對(duì)安全功能進(jìn)行分配。也可以將兩者結(jié)合,采用一個(gè)較均衡的優(yōu)化模型。以下是對(duì)系統(tǒng)時(shí)延優(yōu)化模型、系統(tǒng)開(kāi)銷(xiāo)優(yōu)化模型,以及基于兩者權(quán)重的優(yōu)化模型的描述。
(1)考慮部署安全功能后的系統(tǒng)時(shí)延,由函數(shù)D表示。計(jì)算方式為:
(2)考慮部署虛擬安全功能的系統(tǒng)開(kāi)銷(xiāo),由函數(shù)K表示。計(jì)算方式為:
式中:Kr為功能i部署在物理節(jié)點(diǎn)j上的資源消耗,Kt為功能i部署在物理節(jié)點(diǎn)j上的時(shí)間消耗,K為所有虛擬功能和虛擬鏈路部署后的總消耗。
(3)考慮系統(tǒng)的部署的優(yōu)化目標(biāo)為min(a×D+b×K),其中,a、b為權(quán)重因子,可根據(jù)實(shí)際情況設(shè)置。如果只考慮系統(tǒng)時(shí)延最優(yōu),則a=1,b=0,如果只考慮系統(tǒng)開(kāi)銷(xiāo)最優(yōu),則a=0,b=1。
從以上算法模型中可以看出求解目標(biāo)是一個(gè)NP-hard 問(wèn)題,本文分別使用了基于線(xiàn)性規(guī)劃的精確求解方法和基于作用域的啟發(fā)式算法。
關(guān)于精確求解方法實(shí)現(xiàn),本文采用最優(yōu)化工具Lingo 實(shí)現(xiàn)虛擬安全功能編排算法模型,首先將物理節(jié)點(diǎn)資源、虛擬安全功能請(qǐng)求資源、決策變量等參數(shù)定義在sets 集中;其次,構(gòu)造目標(biāo)函數(shù),調(diào)整設(shè)置權(quán)重因子,根據(jù)約束條件建立限制條件;最后,調(diào)用執(zhí)行工具,輸出基于線(xiàn)性規(guī)劃的最優(yōu)解。
關(guān)于基于作用域的啟發(fā)式算法實(shí)現(xiàn),由于使用線(xiàn)性規(guī)劃等最優(yōu)化精確求解的方法在大型網(wǎng)絡(luò)中并不適用,因此本文設(shè)計(jì)了一種基于作用域的啟發(fā)式算法。
在廣域網(wǎng)絡(luò)環(huán)境中,安全防護(hù)功能不是完全隨意部署的,而是有一定的原則。例如,接入控制功能一般部署在骨干網(wǎng)絡(luò)邊緣,控制接入網(wǎng)絡(luò)內(nèi)用戶(hù)的接入;對(duì)業(yè)務(wù)的防護(hù)功能一般不會(huì)部署在用戶(hù)側(cè),而是部署在靠近業(yè)務(wù)服務(wù)器的位置;對(duì)5G 等無(wú)線(xiàn)通信系統(tǒng)的防護(hù)功能部署在5G系統(tǒng)內(nèi)部或邊界處,對(duì)于云平臺(tái)的防護(hù)一般部署在云平臺(tái)邊界和內(nèi)部。
因此,本文可以將云網(wǎng)融合的廣域網(wǎng)絡(luò)環(huán)境劃分為多個(gè)邏輯的作用域,一般包括無(wú)線(xiàn)域、接入域、骨干域、服務(wù)域等多個(gè)作用域。在虛擬安全功能部署時(shí),引入作用域的概念,將整個(gè)部署決策過(guò)程分為兩個(gè)階段,在第一個(gè)階段將安全功能分配在多個(gè)域中,在各個(gè)域中進(jìn)行優(yōu)化求解;在第二個(gè)階段將多個(gè)域中的優(yōu)化結(jié)果串聯(lián),得到一個(gè)滿(mǎn)足需求的近似最優(yōu)解。具體流程為:
(1)采用最短路徑算法,生成從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的最短路徑矩陣。
(2)在最短路徑上,將節(jié)點(diǎn)和路徑劃分為不同的作用域。
(3)在連接相鄰兩個(gè)作用域的多個(gè)節(jié)點(diǎn)和路徑中,根據(jù)資源使用狀況和時(shí)延進(jìn)行排序,選擇資源使用最少、時(shí)延最小的節(jié)點(diǎn)作為左側(cè)作用域的目的節(jié)點(diǎn)和右側(cè)作用域的源節(jié)點(diǎn)。
(4)在單獨(dú)的作用域內(nèi),再次使用最短路徑算法,計(jì)算作用域內(nèi)的最短路徑矩陣。
(5)在作用域內(nèi),從源節(jié)點(diǎn)開(kāi)始,利用最短路徑矩陣,依次計(jì)算相鄰節(jié)點(diǎn)和路徑的安全功能部署開(kāi)銷(xiāo)和時(shí)延,選擇一個(gè)最小的節(jié)點(diǎn)部署該虛擬安全功能。從該節(jié)點(diǎn)出發(fā),計(jì)算本節(jié)點(diǎn)與相鄰節(jié)點(diǎn)的安全功能部署開(kāi)銷(xiāo)和時(shí)延,選擇一個(gè)最小的節(jié)點(diǎn)部署下一個(gè)虛擬安全功能,依次循環(huán),直至本域內(nèi)所有虛擬安全功能部署完成。
(6)在所有作用域內(nèi)部署完成后,將整條鏈路串接在一起,形成完整的虛擬安全功能部署。
基于作用域的啟發(fā)式算法偽代碼為:
本文通過(guò)在同一條件下,對(duì)比精確求解方法和基于作用域的啟發(fā)式方法的性能表現(xiàn),對(duì)編排算法性能進(jìn)行驗(yàn)證。
網(wǎng)絡(luò)拓?fù)洌涸囼?yàn)環(huán)境為網(wǎng)狀拓?fù)?,包?0 個(gè)物理節(jié)點(diǎn),45 條物理鏈路。其中,接入域節(jié)點(diǎn)5 個(gè),骨干域節(jié)點(diǎn)10 個(gè),服務(wù)域節(jié)點(diǎn)5 個(gè)。
資源數(shù)據(jù):每個(gè)節(jié)點(diǎn)計(jì)算、內(nèi)存、存儲(chǔ)資源值分別設(shè)為16 核、128 MB、1 024 MB。每條鏈路的帶寬為100 Mb/s 或1 000 Mb/s,鏈路傳輸時(shí)延在1~10 ms 之間,均隨機(jī)分配。
虛擬安全功能:虛擬安全功能對(duì)計(jì)算資源的需求在2~6 核之間,對(duì)內(nèi)存資源的需求在8~32 MB 之間,對(duì)存儲(chǔ)資源的需求在50~100 MB 之間均勻分布。虛擬安全功能的網(wǎng)絡(luò)處理性能在600~900 Mb/s 之間隨機(jī)分布,處理時(shí)延在1~10 ms 之間隨機(jī)分布。
3.5.1 系統(tǒng)時(shí)延性能分析
在試驗(yàn)環(huán)境中部署多個(gè)虛擬安全功能,對(duì)最優(yōu)化算法與基于作用域的啟發(fā)式算法在算法效果上進(jìn)行對(duì)比分析。如圖6 所示,橫坐標(biāo)為安全虛擬功能個(gè)數(shù),分別測(cè)量部署1 個(gè)服務(wù)需求到9 個(gè)服務(wù)需求的部署結(jié)果。縱坐標(biāo)為部署不同數(shù)量虛擬安全功能后的總時(shí)延,單位是毫秒。從圖中可以看出,精確算法的總時(shí)延總是小于基于作用域的啟發(fā)式算法,說(shuō)明從性能最優(yōu)的角度看,精確算法優(yōu)于基于作用域的啟發(fā)式算法。
圖6 時(shí)延性能分析
3.5.2 算法收斂時(shí)間性能分析
對(duì)精確算法與基于作用域的啟發(fā)式算法計(jì)算收斂時(shí)間進(jìn)行對(duì)比分析,評(píng)價(jià)算法的性能。如圖7所示,橫坐標(biāo)表示每次部署的虛擬安全功能數(shù),縱坐標(biāo)表示算法收斂的執(zhí)行時(shí)間。從圖7 中可以看出,當(dāng)部署少量虛擬安全功能時(shí),精確算法和啟發(fā)式算法的執(zhí)行時(shí)間接近,但是隨著部署虛擬安全功能數(shù)量的增加,精確算法的執(zhí)行時(shí)間呈指數(shù)型增長(zhǎng),而啟發(fā)式算法的執(zhí)行時(shí)間雖然也在增長(zhǎng),但增長(zhǎng)幅度比最優(yōu)算法增長(zhǎng)幅度大大下降。因此,可以得出結(jié)論,啟發(fā)式算法收斂更快,執(zhí)行性能更好。
圖7 收斂時(shí)間性能分析
廣域安全資源編排是云網(wǎng)融合網(wǎng)絡(luò)實(shí)現(xiàn)安全資源按需部署和靈活調(diào)整的關(guān)鍵一環(huán),本文提出了一種基于作用域的啟發(fā)式編排算法,試驗(yàn)結(jié)果表明,該方法能夠?qū)崿F(xiàn)廣域網(wǎng)絡(luò)中安全資源動(dòng)態(tài)編排,能夠較好地適應(yīng)大規(guī)模網(wǎng)絡(luò)環(huán)境。