龔水清,陳靖,黃聰會,朱清超
(1.空軍工程大學(xué) 信息與導(dǎo)航學(xué)院,陜西 西安 710077;2. 解放軍94543部隊(duì),山東 濟(jì)寧 272500)
網(wǎng)絡(luò)虛擬化[1,2]被認(rèn)為是下一代互聯(lián)網(wǎng)的關(guān)鍵技術(shù)。它通過資源抽象、聚合、隔離等機(jī)制允許多個(gè)異構(gòu)的虛擬網(wǎng)絡(luò)同時(shí)運(yùn)行于底層物理網(wǎng)絡(luò)之上,共享底層基礎(chǔ)設(shè)施資源。且每個(gè)虛擬網(wǎng)絡(luò)可部署專用的協(xié)議和應(yīng)用,為用戶提供個(gè)性化的端到端網(wǎng)絡(luò)服務(wù),大大提高了底層網(wǎng)絡(luò)資源利用率,增強(qiáng)了網(wǎng)絡(luò)的靈活性和可控可管性,有效解決了互聯(lián)網(wǎng)發(fā)展過程中遇到的“僵化”問題[3],并為新興的云計(jì)算的發(fā)展提供了技術(shù)保障,推動了云計(jì)算的發(fā)展[4]。目前,下一代互聯(lián)網(wǎng)研究項(xiàng)目如 GENI等[5]已廣泛使用了網(wǎng)絡(luò)虛擬化技術(shù)。然而,由于在網(wǎng)絡(luò)架構(gòu)中引入了額外的虛擬化層,網(wǎng)絡(luò)虛擬化技術(shù)帶來了新的安全問題,如用戶攻擊虛擬網(wǎng)絡(luò),虛擬網(wǎng)絡(luò)之間相互攻擊以及虛擬網(wǎng)絡(luò)與底層網(wǎng)絡(luò)之間的相互攻擊等[6]。這些安全風(fēng)險(xiǎn)會破壞網(wǎng)絡(luò)的機(jī)密性、完整性和隔離性,阻礙網(wǎng)絡(luò)虛擬化的大規(guī)模應(yīng)用和發(fā)展。因此,亟需新的安全機(jī)制和技術(shù)來應(yīng)對網(wǎng)絡(luò)虛擬化環(huán)境中新的安全威脅。
虛擬網(wǎng)絡(luò)映射[7]作為網(wǎng)絡(luò)虛擬化技術(shù)研究的關(guān)鍵問題,是指為虛擬網(wǎng)絡(luò)中帶有約束(如資源約束)的虛擬節(jié)點(diǎn)和鏈路分配底層物理網(wǎng)絡(luò)資源的過程,已引起了學(xué)術(shù)界的廣泛關(guān)注,并進(jìn)行了大量研究。由于虛擬網(wǎng)絡(luò)映射是 NP難問題[8],一般不能在多項(xiàng)式時(shí)間內(nèi)找到問題的最優(yōu)解,目前大部分的研究主要以提高虛擬網(wǎng)絡(luò)映射效率為目標(biāo),如提高物理網(wǎng)絡(luò)收益[9]、降低映射成本[10,11]和能耗[12,13]、保持物理網(wǎng)絡(luò)負(fù)載均衡[14]等,并設(shè)計(jì)啟發(fā)式算法[9,13]或采用元啟發(fā)式算法[10,14]獲得近似最優(yōu)解。這些虛擬網(wǎng)絡(luò)映射算法按照不同標(biāo)準(zhǔn)[15]可分為靜態(tài)[10]和動態(tài)[16,17]、集中式[11~17]和分布式[18,19]、單域[11~17]和跨域[20,21]等類別。
為了使虛擬網(wǎng)絡(luò)免于潛在的網(wǎng)絡(luò)攻擊,確保信息的安全,用戶在虛擬網(wǎng)絡(luò)資源分配過程中往往有特定的安全需求,即需要將虛擬網(wǎng)絡(luò)映射在具有一定安全級別的物理網(wǎng)絡(luò)資源上。例如,虛擬網(wǎng)絡(luò)中的節(jié)點(diǎn)需要映射在具有一定數(shù)據(jù)加密級別和防火墻級別的物理節(jié)點(diǎn)上。然而,上述虛擬網(wǎng)絡(luò)映射算法在映射過程中均假設(shè)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都安全、可信,未考慮實(shí)際應(yīng)用環(huán)境中的安全需求。虛擬節(jié)點(diǎn)可能會被映射至不可信的物理節(jié)點(diǎn)上,且當(dāng)物理節(jié)點(diǎn)受到攻擊時(shí),虛擬節(jié)點(diǎn)也會受到影響,進(jìn)而可能導(dǎo)致虛擬網(wǎng)絡(luò)服務(wù)的中斷。
為此,本文將信任概念和信任度引入到虛擬網(wǎng)絡(luò)資源分配中,在虛擬網(wǎng)絡(luò)映射過程中除了資源約束,還考慮了虛擬節(jié)點(diǎn)與物理節(jié)點(diǎn)之間的信任關(guān)系,將節(jié)點(diǎn)間的信任度作為安全約束,并以此為基礎(chǔ),提出一種基于信任感知的安全虛擬網(wǎng)絡(luò)映射算法(TA-SVNE, trust-aware secure virtual network embedding algorithm),可以快速高效地為有可信需求的虛擬網(wǎng)絡(luò)請求分配物理資源。TA-SVNE算法借鑒社會網(wǎng)絡(luò)分析方法中的度中心性、接近度中心性和節(jié)點(diǎn)自身的資源能力,采用逼近理想排序法[22]TOPSIS(technique for order preference by similarity to an ideal solution),對節(jié)點(diǎn)進(jìn)行多屬性重要度排序,并在映射過程中將較為重要的虛擬節(jié)點(diǎn)映射至較為重要的物理節(jié)點(diǎn)上,同時(shí)采用“k最短路徑法”進(jìn)行鏈路映射,以降低虛擬網(wǎng)絡(luò)映射成本,提高映射效率。TA-SVNE算法通過將虛擬節(jié)點(diǎn)映射至滿足其可信要求的物理節(jié)點(diǎn)上,保證了虛擬網(wǎng)絡(luò)的安全性。
網(wǎng)絡(luò)虛擬化在傳統(tǒng)的網(wǎng)絡(luò)架構(gòu)上引入了虛擬化層,允許在共享的底層物理網(wǎng)絡(luò)之上共存多個(gè)異構(gòu)的虛擬網(wǎng)絡(luò),大大提高了網(wǎng)絡(luò)的靈活性,但同時(shí)也帶來了新的安全風(fēng)險(xiǎn)。具體來說,網(wǎng)絡(luò)虛擬化環(huán)境中的安全問題可以分為以下3種[23]。
1) 物理主機(jī)攻擊虛擬機(jī)。底層網(wǎng)絡(luò)物理主機(jī)節(jié)點(diǎn)負(fù)責(zé)虛擬網(wǎng)絡(luò)虛擬機(jī)節(jié)點(diǎn)的管理,并在服務(wù)等級協(xié)定(SLA, service level agreement)下為其提供資源,虛擬機(jī)上運(yùn)行的服務(wù)和應(yīng)用最終通過物理主機(jī)上的軟硬件實(shí)現(xiàn)。因此,當(dāng)物理主機(jī)遭受攻擊并被惡意用戶控制時(shí),其可以通過虛擬機(jī)管理平臺修改虛擬機(jī)的信息(如網(wǎng)絡(luò)協(xié)議)、發(fā)動嗅探攻擊(sniffing attack)竊聽、攔截虛擬網(wǎng)絡(luò)上的數(shù)據(jù)分組,且虛擬機(jī)因完全由物理主機(jī)管理,無法進(jìn)行防御。
2) 虛擬機(jī)攻擊物理主機(jī)。惡意虛擬機(jī)通過利用物理主機(jī)的漏洞,逃脫虛擬化過程中的約束,進(jìn)而攻擊物理主機(jī)并獲取其控制權(quán)限。此時(shí),虛擬機(jī)可發(fā)動DoS(denial of service)攻擊,以洪泛的方式不斷向物理主機(jī)注入大量的錯(cuò)誤信息和冗余信息,占據(jù)物理主機(jī)上剩余的可用資源,導(dǎo)致物理網(wǎng)絡(luò)因資源匱乏而拒絕其他虛擬網(wǎng)服務(wù)請求。
3) 虛擬機(jī)之間相互攻擊。在網(wǎng)絡(luò)虛擬化環(huán)境中,不同虛擬網(wǎng)絡(luò)之間邏輯上相互隔離,但由于虛擬網(wǎng)絡(luò)上的虛擬機(jī)節(jié)點(diǎn)共享相同的底層硬件資源,惡意虛擬機(jī)可通過發(fā)動跨虛擬機(jī)旁路攻擊(side channel attack)來竊取同一物理主機(jī)上其他虛擬機(jī)的信息。
目前網(wǎng)絡(luò)基礎(chǔ)設(shè)施提供商通過不同層面為虛擬網(wǎng)絡(luò)提供安全保障來解決上述安全問題,如通過認(rèn)證和入侵檢測技術(shù)防止惡意攻擊、通過加密等安全策略防止敏感信息被竊取。但這些技術(shù)措施一方面過于復(fù)雜,安全成本過高;另一方面由于虛擬化環(huán)境中資源具有動態(tài)性、異構(gòu)性、開放性、分布性等特點(diǎn),因此這些疊加式的“被動防御”措施無法確保用戶信息的安全。
信任概念源于社會科學(xué)中的人際關(guān)系網(wǎng)絡(luò),它被引入計(jì)算機(jī)系統(tǒng),用來解決當(dāng)在分布、異構(gòu)、自治的大規(guī)模網(wǎng)絡(luò)環(huán)境下跨組織之間發(fā)生的交互、共享與協(xié)作時(shí),實(shí)體之間信任關(guān)系的建立問題[24]。在網(wǎng)絡(luò)虛擬化環(huán)境中,信任可定義為在某時(shí)刻網(wǎng)絡(luò)資源實(shí)體(虛擬節(jié)點(diǎn)或物理節(jié)點(diǎn))可以可靠、安全、可信賴地提供其所宣稱服務(wù)的一種信念[25],信任度是指網(wǎng)絡(luò)資源實(shí)體之間的信任程度。本文通過把信任度作為虛擬網(wǎng)絡(luò)映射的依據(jù),可以使虛擬網(wǎng)絡(luò)資源的分配和調(diào)度更好地圍繞節(jié)點(diǎn)的信任關(guān)系展開,有利于將虛擬節(jié)點(diǎn)映射到信任度高的底層物理節(jié)點(diǎn)之上,滿足虛擬網(wǎng)絡(luò)請求的可信需求,從而增強(qiáng)網(wǎng)絡(luò)虛擬化環(huán)境的安全性,并在一定程度上減少后續(xù)的安全開銷。因此,針對上述3種安全問題,在虛擬網(wǎng)絡(luò)映射過程中需考慮如下3種約束。
1) 虛擬機(jī)節(jié)點(diǎn)需映射至其信任的物理主機(jī)上。
2) 物理主機(jī)只承載其信任的虛擬機(jī)節(jié)點(diǎn)。
3) 只有相互信任的虛擬機(jī)節(jié)點(diǎn)才能映射在同一物理主機(jī)上。
節(jié)點(diǎn)間的信任具有主觀性、非對稱性和傳遞性等特點(diǎn)。信任度的評估是一個(gè)復(fù)雜的過程,它主要基于節(jié)點(diǎn)的直接信任度、推薦信任度、信任的衰減因素等,通過信任度的估算算法得到。通常,節(jié)點(diǎn)A對節(jié)點(diǎn)B的信任度值在0~1之間。值越大,說明節(jié)點(diǎn)A對節(jié)點(diǎn)B越信任,將虛擬節(jié)點(diǎn)A映射至物理節(jié)點(diǎn)B上的安全性也越高。在虛擬網(wǎng)絡(luò)映射過程中,本文將節(jié)點(diǎn)間的信任關(guān)系抽象為節(jié)點(diǎn)的信任度需求和信任度等級。一個(gè)節(jié)點(diǎn)的信任度等級越高,表示網(wǎng)絡(luò)中其他節(jié)點(diǎn)對其更加信任,其安全性也越高。對于虛擬節(jié)點(diǎn),信任度需求表示其對物理節(jié)點(diǎn)和共存于同一物理節(jié)點(diǎn)上的其他虛擬節(jié)點(diǎn)的可信度要求,信任度需求越高,表示虛擬節(jié)點(diǎn)對周圍環(huán)境的安全性要求越高。對于物理節(jié)點(diǎn),信任度需求表示其對承載的虛擬節(jié)點(diǎn)的可信度要求,信任度需求越高,表示其對承載的虛擬節(jié)點(diǎn)的安全性要求越高。
基于上述討論,得出如下3條在虛擬網(wǎng)絡(luò)映射過程中需滿足的基于信任度的安全約束。
1) 物理節(jié)點(diǎn)的信任度等級不能低于映射在其上的虛擬節(jié)點(diǎn)的信任度需求。
2) 虛擬節(jié)點(diǎn)的信任度等級不能低于其映射物理節(jié)點(diǎn)的信任度需求。
3) 虛擬節(jié)點(diǎn)的信任度需求不能高于映射在同一物理節(jié)點(diǎn)上其他虛擬節(jié)點(diǎn)的信任度等級。
1) 物理網(wǎng)絡(luò)
物理網(wǎng)絡(luò)使用帶權(quán)無向圖Gs=(Ns,Ls)表示,其中Ns和Ls分別表示物理節(jié)點(diǎn)和鏈路的集合。對于物理節(jié)點(diǎn)ns∈Ns,用CPU資源、節(jié)點(diǎn)位置和信任度表示其屬性,cpu(ns)表示節(jié)點(diǎn)的可用 CPU資源,loc(ns)表示節(jié)點(diǎn)的地理位置,用二維坐標(biāo)(xs,ys)表示,trd(ns)和trl(ns)分別表示節(jié)點(diǎn)的信任度需求和信任度等級。對于物理鏈路ls∈Ls,帶寬表示其屬性,b(ls)表示鏈路的可用帶寬資源。記所有物理網(wǎng)絡(luò)的無環(huán)路徑集合為Ps,且對任p∈Ps,其可用帶寬資源b(p)為路徑上各鏈路的最小可用帶寬。
2) 虛擬網(wǎng)絡(luò)請求
定義t時(shí)刻到達(dá)的虛擬網(wǎng)絡(luò)請求為VNR(t)=(Gv,t,td),其中td表示虛擬網(wǎng)絡(luò)在物理網(wǎng)絡(luò)上的生存時(shí)間,帶權(quán)無向圖Gv=(Nv,Lv)表示虛擬網(wǎng)絡(luò)拓?fù)洌琋v和Lv分別表示虛擬節(jié)點(diǎn)和虛擬鏈路的集合。cpu(nv)、trd(nv)和trl(nv)分別表示虛擬節(jié)點(diǎn)nv∈Nv的 CPU資源需求、信任度需求和信任度等級,loc(nv)表示虛擬節(jié)點(diǎn)的地理位置需求,D(nv)表示虛擬節(jié)點(diǎn)可以被映射到距離位置需求的最遠(yuǎn)距離。b(lv)表示虛擬鏈路lv∈Lv的帶寬資源需求。
3) 安全虛擬網(wǎng)絡(luò)映射
安全虛擬網(wǎng)絡(luò)映射問題可以描述為在滿足虛擬網(wǎng)絡(luò)請求的資源需求和安全需求的條件下,從Gv到Gs的子圖Gsubs的映射關(guān)系,其可以進(jìn)一步分為節(jié)點(diǎn)映射和鏈路映射2個(gè)階段。如圖1所示為一個(gè)安全虛擬網(wǎng)絡(luò)映射的示例,(x,y,z)分別代表節(jié)點(diǎn)(物理節(jié)點(diǎn)或虛擬節(jié)點(diǎn))的 CPU資源需求、信任度等級和信任度需求,邊上的數(shù)字代表物理鏈路的可用帶寬資源或虛擬鏈路的帶寬需求。圖1(b)描述了安全虛擬網(wǎng)絡(luò)映射的一個(gè)可行方案,虛擬網(wǎng)絡(luò)請求的節(jié)點(diǎn)映射方案為{a→B,b→A,c→F},鏈路映射方案為{(a,b)→(B,A), (a,c)→(B,F)}。
圖1 虛擬網(wǎng)絡(luò)映射示例
在虛擬網(wǎng)絡(luò)映射過程中,底層物理網(wǎng)絡(luò)需在成本最小的前提下,映射盡量多的虛擬網(wǎng)絡(luò)請求,以提高物理網(wǎng)絡(luò)基礎(chǔ)設(shè)施提供商的資源利用率和收益。因此,本文將物理網(wǎng)絡(luò)映射收益、映射成本和虛擬網(wǎng)絡(luò)請求接受率作為映射目標(biāo)。
1) 物理網(wǎng)絡(luò)映射收益和映射成本
虛擬網(wǎng)絡(luò)請求VNR(t)在某時(shí)刻的映射收益定義為
式(1)表明虛擬網(wǎng)絡(luò)請求的映射收益為其資源需求總和,且虛擬節(jié)點(diǎn)的信任度需求越高,安全收益越大,映射總收益也越大。
VNR(t)在某時(shí)刻的映射成本定義為
其中,xvs∈{0,1}表示虛擬節(jié)點(diǎn)nv與物理節(jié)點(diǎn)ns之間的映射關(guān)系,若虛擬節(jié)點(diǎn)nv映射到物理節(jié)點(diǎn)ns上,則xvs=1,否則xvs=0,f uvij∈{0,1}表示虛擬鏈路luv與物理鏈路lij之間的映射關(guān)系,若虛擬鏈路luv映射到物理鏈路lij上,則f uvij=1,否則f uvij=0。式(2)表明,虛擬網(wǎng)絡(luò)請求的映射成本為物理網(wǎng)絡(luò)分配給虛擬網(wǎng)絡(luò)的資源總和,且物理節(jié)點(diǎn)的信任度等級越高,安全成本越高,映射成本也越大。
2) 虛擬網(wǎng)絡(luò)請求接受率
虛擬網(wǎng)絡(luò)請求接受率定義為在一定時(shí)間內(nèi)成功映射的虛擬網(wǎng)絡(luò)請求數(shù)與總到達(dá)的虛擬網(wǎng)絡(luò)請求數(shù)目之比,如式(3)所示。
其中,VNRsuccess和VNR分別表示從t=0時(shí)刻到t=T時(shí)刻映射成功的虛擬網(wǎng)絡(luò)請求個(gè)數(shù)和總到達(dá)的虛擬網(wǎng)絡(luò)請求的個(gè)數(shù)。式(3)表明,虛擬網(wǎng)絡(luò)請求接受率越高,在一定時(shí)間內(nèi)映射成功的虛擬網(wǎng)絡(luò)請求個(gè)數(shù)越多,總映射收益也越高。
本節(jié)以最小化虛擬網(wǎng)絡(luò)映射成本為目標(biāo),以滿足虛擬網(wǎng)絡(luò)請求的資源和安全需求為約束,將虛擬網(wǎng)絡(luò)映射問題建模為混合整數(shù)線性規(guī)劃模型(MILP, mixed integer linear program),具體過程如下。
目標(biāo)函數(shù)
式(5)為節(jié)點(diǎn)的 CPU資源約束,表示虛擬節(jié)點(diǎn)的CPU資源需求不能大于物理節(jié)點(diǎn)的可用CPU資源,式(6)表示節(jié)點(diǎn)映射的位置約束,dis(loc(ni),loc(nj))表示虛擬節(jié)點(diǎn)ni和底層節(jié)點(diǎn)nj之間的歐式距離,式(7)和式(8)分別為鏈路的帶寬資源約束和連通性約束,式(9)表示基于節(jié)點(diǎn)信任度的3種安全約束,Ω(nj)表示物理節(jié)點(diǎn)nj上已承載的虛擬節(jié)點(diǎn)集合,式(10)確保同一虛擬網(wǎng)絡(luò)內(nèi)的不同節(jié)點(diǎn)不能映射在相同的物理節(jié)點(diǎn)上,式(11)確保一個(gè)虛擬節(jié)點(diǎn)只能映射在一個(gè)物理節(jié)點(diǎn)上,式(12)和式(13)為變量域約束。
目前,大部分虛擬網(wǎng)絡(luò)映射算法的節(jié)點(diǎn)重要性排序方法主要以節(jié)點(diǎn)的資源能力為標(biāo)準(zhǔn),即主要考慮節(jié)點(diǎn)自身的可用 CPU資源需求和其鄰接鏈路可用帶寬資源需求或同時(shí)以這2種因素作為評價(jià)標(biāo)準(zhǔn)[7~9]。這類方法主要存在 2個(gè)問題:一是由于在節(jié)點(diǎn)重要性排序時(shí)未考慮其拓?fù)鋵傩?,可能?dǎo)致邏輯上相鄰的2個(gè)虛擬節(jié)點(diǎn)被映射至相距較遠(yuǎn)的底層物理節(jié)點(diǎn)上,從而使后續(xù)鏈路的映射更加困難,且造成鏈路資源的浪費(fèi);二是這類方法僅以節(jié)點(diǎn)自身資源和鄰接鏈路資源為排序標(biāo)準(zhǔn),只考慮了節(jié)點(diǎn)的局部重要性,而未考慮節(jié)點(diǎn)的全局重要性,不能全面衡量節(jié)點(diǎn)的重要程度。
社會網(wǎng)絡(luò)分析方法的主要思想是“節(jié)點(diǎn)的重要性等價(jià)于顯著性”。在社會網(wǎng)絡(luò)評價(jià)方法中,節(jié)點(diǎn)的重要性一般用其中心性指標(biāo)來衡量,一個(gè)節(jié)點(diǎn)越接近網(wǎng)絡(luò)的中心,其越重要。常用的網(wǎng)絡(luò)中心性指標(biāo)有度、接近度、介數(shù)、特征向量等,這些指標(biāo)從不同角度刻畫了單個(gè)節(jié)點(diǎn)在網(wǎng)絡(luò)中的重要程度[26]。本文借鑒社會網(wǎng)絡(luò)節(jié)點(diǎn)中心度的定義,用來反映節(jié)點(diǎn)在物理網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)中的重要程度。
由于節(jié)點(diǎn)中心性指標(biāo)的定義不同,節(jié)點(diǎn)重要性的評價(jià)結(jié)果也不同,本文針對虛擬網(wǎng)絡(luò)映射問題,對所使用的幾個(gè)節(jié)點(diǎn)中心性指標(biāo)重新定義,并將節(jié)點(diǎn)的資源能力也作為節(jié)點(diǎn)的重要性評價(jià)指標(biāo)。
定義1(度中心性)。與節(jié)點(diǎn)相連的所有鄰接鏈路的帶寬之和,如式(14)所示。
其中,L(ni)表示節(jié)點(diǎn)ni的鄰接鏈路集合,若ni為虛擬節(jié)點(diǎn),則b(l)表示虛擬鏈路l的帶寬需求;若ni為物理節(jié)點(diǎn),則b(l)表示物理鏈路l的可用帶寬。節(jié)點(diǎn)的度中心性反映了其局部重要性,度中心性越大,節(jié)點(diǎn)與其他節(jié)點(diǎn)的直接通信能力越強(qiáng),在網(wǎng)絡(luò)中位置越重要。
定義2(接近度中心性)。節(jié)點(diǎn)ni到網(wǎng)絡(luò)中其他節(jié)點(diǎn)的距離之和的倒數(shù),如式(15)所示。
其中,dij表示節(jié)點(diǎn)ni與nj之間的最短路徑的跳數(shù),且當(dāng)i=j時(shí),dij=0。若ni為虛擬節(jié)點(diǎn),則ψ(n)=Nv。若ni為物理節(jié)點(diǎn),則ψ(n)表示已映射物理節(jié)點(diǎn)的集合,且當(dāng)進(jìn)行初始映射時(shí),由于ψ(n)為空,此時(shí)令ψ(n)=Ns。節(jié)點(diǎn)的接近度中心性反映了其全局重要性。若ni為虛擬節(jié)點(diǎn),則接近度中心性越大,節(jié)點(diǎn)就越接近虛擬網(wǎng)絡(luò)的中心位置,節(jié)點(diǎn)就越重要;若ni為物理節(jié)點(diǎn),則接近度中心性越大,節(jié)點(diǎn)到已映射物理節(jié)點(diǎn)的距離越小,應(yīng)越優(yōu)先被選作映射物理節(jié)點(diǎn),因?yàn)槠涫固摂M節(jié)點(diǎn)映射在相對集中的區(qū)域,縮短后續(xù)鏈路映射的距離,節(jié)省帶寬資源,降低虛擬網(wǎng)絡(luò)映射成本,所以節(jié)點(diǎn)也越重要。
定義3(資源能力)用節(jié)點(diǎn)的CPU資源表示,如式(16)所示。
其中,若ni為虛擬節(jié)點(diǎn),則cpu(ni)表示節(jié)點(diǎn)的CPU資源需求;若ni為物理節(jié)點(diǎn),則cpu(ni)表示節(jié)點(diǎn)的可用 CPU資源。節(jié)點(diǎn)的資源能力是其自身的能力因子。對于虛擬節(jié)點(diǎn)ni,節(jié)點(diǎn)的資源能力值越大,其映射就越困難,很可能因物理節(jié)點(diǎn)資源不足而導(dǎo)致映射失敗,因此這樣的節(jié)點(diǎn)更加重要,需優(yōu)先進(jìn)行映射;對于物理節(jié)點(diǎn)ni,節(jié)點(diǎn)的資源能力值越大,可用資源越多,可提高虛擬網(wǎng)絡(luò)映射成功率,節(jié)點(diǎn)也更加重要。
上述3個(gè)節(jié)點(diǎn)重要性指標(biāo)分別從局部或全局角度分析了節(jié)點(diǎn)在網(wǎng)絡(luò)中的重要程度,但在實(shí)際網(wǎng)絡(luò)中,僅依靠某個(gè)指標(biāo)來判斷節(jié)點(diǎn)在網(wǎng)絡(luò)中的重要度較為片面。為此,本節(jié)綜合這些指標(biāo),提出一種基于TOPSIS的多屬性節(jié)點(diǎn)重要性排序方法(MNRTOP,multi-factor node ranking based on TOPSIS)。
TOPSIS是一種多屬性決策方法,它根據(jù)有限個(gè)評價(jià)對象的多個(gè)屬性與理想目標(biāo)的接近程度進(jìn)行排序。本文將虛擬網(wǎng)絡(luò)或物理網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)作為一個(gè)方案,將節(jié)點(diǎn)重要性的多個(gè)評價(jià)指標(biāo)看作各方案的屬性,那么節(jié)點(diǎn)重要性的評價(jià)就轉(zhuǎn)化為一個(gè)多屬性決策問題[26]。
MNRTOP共分為6個(gè)步驟。
步驟1考慮網(wǎng)絡(luò)中有N個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)有M個(gè)重要性評價(jià)指標(biāo),記第i個(gè)節(jié)點(diǎn)的第j個(gè)評價(jià)指標(biāo)值為xij,則重要性決策矩陣為
由于安全虛擬網(wǎng)絡(luò)映射的 MILP模型是 NP難問題,本節(jié)設(shè)計(jì)了 TA-SVNE啟發(fā)式算法對此問題進(jìn)行求解。TA-SVNE算法分為基于MNRTOP的節(jié)點(diǎn)映射和基于k最短路徑法的鏈路映射2個(gè)階段。
本文選用節(jié)點(diǎn)的度中心性、接近度中心性和資源能力作為其重要性評價(jià)屬性,采用 MNRTOP方法對虛擬網(wǎng)絡(luò)和物理網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行重要度排序,并基于此排序結(jié)果進(jìn)行節(jié)點(diǎn)映射,使較為重要的虛擬節(jié)點(diǎn)能夠映射到物理網(wǎng)絡(luò)中較為重要的物理節(jié)點(diǎn)上。節(jié)點(diǎn)映射算法的主流程如算法1所示。
算法1TA-SVNE的節(jié)點(diǎn)映射
輸入:Gs,VNR(t)
輸出NodeMappingList
由式(2)可知,若物理節(jié)點(diǎn)的信任度等級越高,則映射成本越高。因此,在節(jié)點(diǎn)映射過程中,在滿足資源需求和安全需求的前提下,虛擬節(jié)點(diǎn)應(yīng)映射至信任度等級較低的物理節(jié)點(diǎn)上,以降低安全成本。為此,對物理節(jié)點(diǎn)的資源能力做如下改進(jìn)。
對于nv∈Nv,首先按照CPU資源約束式(5)、節(jié)點(diǎn)位置約束式(6)和安全約束式(9)選出其候選物理映射節(jié)點(diǎn)集合Θ(nv)。對于ns∈Θ(nv),其資源能力定義如下
式(25)表明,若虛擬節(jié)點(diǎn)的信任度需求與候選物理映射節(jié)點(diǎn)的信任度等級差距越小,則該候選物理節(jié)點(diǎn)的資源能力越強(qiáng),若將虛擬節(jié)點(diǎn)映射至此節(jié)點(diǎn)上,可降低映射安全成本。因此,該節(jié)點(diǎn)更加重要,應(yīng)優(yōu)先被選為映射物理節(jié)點(diǎn)。
鏈路映射是指在滿足帶寬資源約束的條件下,將虛擬鏈路映射到物理網(wǎng)絡(luò)中的無環(huán)路徑上。由于不同虛擬鏈路映射至物理網(wǎng)絡(luò)中的不同路徑之間可能存在相同鏈路,這些路徑會同時(shí)競爭物理鏈路有限的帶寬資源,使帶寬資源需求高的虛擬鏈路映射更加困難,很可能由于物理網(wǎng)絡(luò)鏈路帶寬資源不足而導(dǎo)致映射失敗。因此,在鏈路映射階段,應(yīng)優(yōu)先選擇帶寬資源需求高的虛擬鏈路進(jìn)行映射。在此基礎(chǔ)上,采用k最短路徑方法[27],在物理網(wǎng)絡(luò)中尋找滿足帶寬需求的2個(gè)被映射虛擬節(jié)點(diǎn)之間的第k短路徑,并將虛擬鏈路映射至此路徑上。算法2為鏈路映射算法的主流程。
算法2TA-SVNE的鏈路映射
輸入:Gs,VNR(t),NodeMappingList
輸出:LinkMappingList
為了驗(yàn)證算法的有效性,本節(jié)對TA-SVNE算法和之前研究中提出的算法進(jìn)行對比仿真實(shí)驗(yàn),并從虛擬網(wǎng)絡(luò)請求接受率、物理網(wǎng)絡(luò)映射收益、映射成本、收益成本比和運(yùn)行時(shí)間等方面討論TA-SVNE算法的性能。
實(shí)驗(yàn)中物理網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)請求均使用GT-ITM拓?fù)渖善鳟a(chǎn)生。物理網(wǎng)絡(luò)包含100個(gè)節(jié)點(diǎn),節(jié)點(diǎn)間的鏈路連接概率為 0.5,相當(dāng)于一個(gè)中等ISP的規(guī)模。物理節(jié)點(diǎn)的CPU資源和物理鏈路的帶寬資源均服從[50,100]的均勻分布,其位置x與y坐標(biāo)均服從[0,100]的均勻分布。虛擬網(wǎng)絡(luò)請求隨機(jī)生成,其到達(dá)過程服從時(shí)間單元為 100,到達(dá)個(gè)數(shù)期望為5的泊松分布。每個(gè)虛擬網(wǎng)絡(luò)請求的生存時(shí)間服從期望為1 000個(gè)時(shí)間單元的指數(shù)分布,虛擬節(jié)點(diǎn)的數(shù)目服從[2,10]的均勻分布,節(jié)點(diǎn)間的連接概率為0.5。每個(gè)虛擬節(jié)點(diǎn)的CPU資源需求和鏈路帶寬資源需求均服從[0,50]的均勻分布,其位置x與y坐標(biāo)均服從[0,50]的均勻分布,且假設(shè)所有虛擬節(jié)點(diǎn)的位置距離約束量D取常量50。此外,虛擬節(jié)點(diǎn)和物理節(jié)點(diǎn)的信任度需求和信任度等級均服從[0,1]的均勻分布,k最短路徑算法中的k設(shè)置為5,式(19)中3種節(jié)點(diǎn)重要性評價(jià)指標(biāo)的權(quán)重均設(shè)置為整個(gè)仿真運(yùn)行時(shí)間設(shè)定為50 000個(gè)時(shí)間單位,總共包含2 500個(gè)虛擬網(wǎng)絡(luò)請求,這樣能使實(shí)驗(yàn)的運(yùn)行進(jìn)入比較穩(wěn)定的狀態(tài)。由于虛擬網(wǎng)絡(luò)請求隨機(jī)生成,為避免隨機(jī)因素對實(shí)驗(yàn)結(jié)果產(chǎn)生擾動,仿真實(shí)驗(yàn)共進(jìn)行 10次,并取實(shí)驗(yàn)結(jié)果的平均值作為最終仿真結(jié)果。
本文進(jìn)行了 4種算法的比較。TA-SVNE算法和 NTA-SVNE算法為本文提出的算法。TA-SVNE算法的物理節(jié)點(diǎn)資源能力重要度評價(jià)屬性采用式(25)計(jì)算。NTA-SVNE算法采用式(16)計(jì)算物理節(jié)點(diǎn)資源能力重要度評價(jià)屬性,節(jié)點(diǎn)映射過程中未考慮安全成本因素,以此測試TA-SVNE算法能否有效降低映射成本。BL1算法是基于D-ViNE映射算法[11],并在節(jié)點(diǎn)映射過程中加入了安全約束式(9),映射收益和成本依據(jù)式(1)和式(2)進(jìn)行了相應(yīng)修改。BL2[8]算法在節(jié)點(diǎn)映射階段采用貪婪策略,在節(jié)點(diǎn)排序時(shí)僅考慮自身 CPU資源和其鄰接鏈路帶寬資源,鏈路映射采用k最短路徑法。同時(shí)為便于比較,在節(jié)點(diǎn)映射時(shí)新增了安全約束。
本節(jié)以虛擬網(wǎng)絡(luò)請求接受率、物理網(wǎng)絡(luò)映射收益、映射成本、收益成本比和運(yùn)行時(shí)間作為算法的性能評價(jià)指標(biāo),對TA-SVNE、NTA-SVNE、BL1和BL2算法進(jìn)行性能分析。圖2~圖6和表1分別表示4種算法在上述5個(gè)性能評價(jià)指標(biāo)下的實(shí)驗(yàn)結(jié)果。
圖2 虛擬網(wǎng)絡(luò)請求接受率
圖3 物理網(wǎng)絡(luò)映射收益
圖4 物理網(wǎng)絡(luò)映射成本
圖5 物理網(wǎng)絡(luò)映射收益成本比
圖6 虛擬網(wǎng)絡(luò)請求接受率隨信任度需求和等級增大的變化
1) 虛擬網(wǎng)絡(luò)請求接受率
圖2為4種算法的虛擬網(wǎng)絡(luò)請求接受率隨時(shí)間的變化情況。從圖2中可以看出,由于初始時(shí)段物理網(wǎng)絡(luò)可用資源較為豐富,4種算法的虛擬網(wǎng)絡(luò)請求接受率都較高。隨著資源的逐步消耗,接受率逐漸下降,在7 500個(gè)時(shí)間單位后,接受率趨于穩(wěn)定。TA-SVNE和NTA-SVNE算法的虛擬網(wǎng)絡(luò)請求接受率比較接近,分別穩(wěn)定在83%和81%左右,比BL1算法(約70%)和BL2(約65%)提高了11%~18%。主要原因在于TA-SVNE和NTA-SVNE算法在節(jié)點(diǎn)映射過程中考慮了節(jié)點(diǎn)的局部和全局重要性,將虛擬節(jié)點(diǎn)集中映射到 CPU資源和鄰接鏈路帶寬資源較為豐富的底層物理節(jié)點(diǎn)上,使后續(xù)鏈路映射更容易成功,并縮短了鏈路映射距離,降低了映射成本,使物理網(wǎng)絡(luò)有更多的資源接受新的虛網(wǎng)請求,從而提高了虛網(wǎng)請求接受率。而在 BL1和BL2算法映射過程中未考慮節(jié)點(diǎn)拓?fù)鋵傩?,使?jié)點(diǎn)映射和鏈路映射的協(xié)調(diào)性較差,降低了虛擬網(wǎng)絡(luò)映射的成功率。
2) 物理網(wǎng)絡(luò)映射收益、成本和收益成本比
圖3為4種算法的物理網(wǎng)絡(luò)映射收益隨時(shí)間的變化情況,由圖3可知TA-SVNE和NTA-SVNE算法的映射收益比較接近,比算法BL1和BL2高出約19%~41%。圖4為4種算法的物理網(wǎng)絡(luò)映射成本隨時(shí)間的變化情況,由圖4可知NTA-SVNE算法的映射成本最高,TA-SVNE算法明顯降低了映射成本(約9%),BL2算法最低。圖5為4種算法的物理網(wǎng)絡(luò)映射收益成本比隨時(shí)間的變化情況,由圖5可知TA-SVNE算法的收益成本比最高(約85%),比算法 NTA-SVNE(約 75%)、BL1(約 73%)和BL2(約69%)高出10%~16%,可見TA-SVNE算法的映射效率最高。主要原因是在TA-SVNE算法的節(jié)點(diǎn)映射過程中,在滿足安全約束的前提下將虛擬節(jié)點(diǎn)優(yōu)先映射在信任度等級較低的物理節(jié)點(diǎn)上,從而降低了映射安全成本,同時(shí)考慮了節(jié)點(diǎn)的全局拓?fù)鋵傩?,使?jié)點(diǎn)映射的區(qū)域較為集中,降低了后續(xù)鏈路映射的成本,提高了虛網(wǎng)請求接受率,使在相同時(shí)間內(nèi)映射成功的虛擬網(wǎng)絡(luò)請求比其他 2種算法多,進(jìn)而映射收益較高。而NTA-SVNE算法在節(jié)點(diǎn)映射過程中未考慮安全成本因素,使整體映射成本較高。BL1和BL2算法的虛擬網(wǎng)絡(luò)請求接受率較低,因而映射收益和成本較其他2個(gè)算法低,但由于這2種算法在節(jié)點(diǎn)映射過程中未考慮安全成本因素,且節(jié)點(diǎn)映射和鏈路映射的協(xié)調(diào)性較差,使鏈路映射成本較高,因此其映射收益成本比較低。
3) 運(yùn)行時(shí)間
表1為4種算法虛擬網(wǎng)絡(luò)請求的平均映射求解時(shí)間。從表1可看出,與BL1相比,TA-SVNE、NTA-SVNE和 BL2的虛擬網(wǎng)絡(luò)映射所需時(shí)間降低了約40%~48%。主要原因是TA-SVNE、NTA-SVNE和 BL2采用啟發(fā)式算法求解,時(shí)間復(fù)雜度小,而BL1算法采用松弛技術(shù)求解虛擬網(wǎng)絡(luò)映射的MILP模型,時(shí)間復(fù)雜度高,且隨問題規(guī)模的增長而呈指數(shù)增加。
表1 算法運(yùn)行時(shí)間
4) 不同類型虛擬網(wǎng)對虛擬網(wǎng)絡(luò)請求接受率的影響
上述研究側(cè)重在橫向上比較不同算法之間的性能指標(biāo),而未考慮不同類型的虛擬網(wǎng)請求對算法性能的影響。在實(shí)際中,不同類型虛擬網(wǎng)絡(luò)請求的安全需求存在很大的不同。有的網(wǎng)絡(luò)對安全性要求很高,如軍事網(wǎng)絡(luò)、電子商務(wù)、網(wǎng)上銀行等,而有的網(wǎng)絡(luò)對安全性要求較低。因此,本文研究了在不同信任度需求的虛擬網(wǎng)絡(luò)請求下4種算法的映射成功率的變化,以考察算法的執(zhí)行效率。在實(shí)驗(yàn)中,將虛擬網(wǎng)絡(luò)中節(jié)點(diǎn)的信任度需求和信任度等級均設(shè)置在[x,1]的均勻分布,x為虛擬節(jié)點(diǎn)的信任度需求和等級分布區(qū)間的下界,即圖6中的x坐標(biāo)變量。隨著x的增大,虛擬網(wǎng)絡(luò)請求的安全需求逐漸增大。實(shí)驗(yàn)中其他仿真環(huán)境參數(shù)保持不變。由圖6可知,隨著虛擬網(wǎng)絡(luò)節(jié)點(diǎn)的信任度需求和信任度等級逐漸增大,4種算法的虛擬網(wǎng)絡(luò)請求接受率都逐漸降低,且當(dāng)x≥0.3時(shí),接受率的下降速度明顯加快,但 TA-SVNE算法的映射接受率下降速度最慢,NTA-SVNE次之,BL1和BL2算法下降速度最快。這說明 TA-SVNE算法的執(zhí)行效率較高,且當(dāng)0.3≤x≤0.6時(shí),TA-SVNE算法的優(yōu)勢更為明顯。
網(wǎng)絡(luò)虛擬網(wǎng)技術(shù)由于在網(wǎng)絡(luò)架構(gòu)中引入了虛擬化層,帶來了新的安全威脅。本文針對這一問題,將信任概念和信任度引入到虛擬網(wǎng)絡(luò)映射中,量化分析了虛擬網(wǎng)絡(luò)的安全問題,并以此為基礎(chǔ),構(gòu)建了安全虛擬網(wǎng)絡(luò)映射的 MILP模型,提出了TA-SVNE映射算法。為了提高映射效率,TA-SVNE算法在節(jié)點(diǎn)映射過程中借鑒社會網(wǎng)絡(luò)中心度理論,以度中心性、接近度中心性以及資源能力作為節(jié)點(diǎn)的重要度屬性,采用TOPSIS方法對節(jié)點(diǎn)進(jìn)行多屬性重要度排序,并在映射過程中將重要的虛擬節(jié)點(diǎn)映射在較為重要的物理節(jié)點(diǎn)上,同時(shí)采用k最短路徑法進(jìn)行鏈路映射。仿真結(jié)果表明,TA-SVNE算法在虛擬網(wǎng)絡(luò)請求接受率、映射收益和運(yùn)行時(shí)間等方面具有一定優(yōu)勢,并具備較高的映射效率。但該算法只考慮了節(jié)點(diǎn)間的信任關(guān)系,不足以應(yīng)對網(wǎng)絡(luò)虛擬化環(huán)境中的多種安全威脅。下一步需在細(xì)粒度研究網(wǎng)絡(luò)虛擬化環(huán)境中安全問題的基礎(chǔ)上,擴(kuò)展算法以考慮虛擬網(wǎng)絡(luò)映射過程中更多的安全約束條件。
[1] KHAN A, ZUGENMAIER A, JURCA D,et al. Network virtualization:a hypervisor for the Internet?[J]. IEEE Communications Magazine,2012, 50(1): 136-143.
[2] WANG A, IYER M, DUTTA R,et al. Network virtualization: technologies, perspectives, and frontiers[J]. Journal of Lightwave Technology, 2013, 31(4): 523-537.
[3] ANDERSON T, PETERSON L, SHENKER S,et al. Overcoming the Internet impasse through virtualization[J]. Computer, 2005, 38(4):34-41.
[4] BARI M, BOUTABA R, ESTEVES R,et al. Data center network virtualization: a survey [J]. IEEE Communications Surveys and Tutorials, 2013, 15(2): 909-928.
[5] BERMAN M, CHASE J S, LANDWEBER L,et al. GENI: a federated testbed for innovative network experiments[J]. Computer Networks,2014, 61: 5-23.
[6] NATARAJAN S, WOLF T. Security issues in network virtualization for the future Internet[A]. Proceedings of the IEEE ICNC[C]. Maui,HI, 2012: 537-543.
[7] FISCHER A, BOTERO J F, BECK M T,et al. Virtual network embedding: a survey[J]. IEEE Communications Surveys & Tutorials, 2013,15(4): 1888-1906.
[8] YU M L, YI Y, REXFORD J,et al. Rethinking virtual network embedding: substrate support for path splitting and migration[J]. ACM SIGCOMM Computer Communication Review, 2008, 38(2): 17-29.
[9] HSU W H, SHIEH Y P. Virtual network mapping algorithm in the cloud infrastructure[J]. Journal of Network and Computer Applications,2013, 36(6): 1724-1734.
[10] FAJJARI I, AITSAADI N, PIóRO M,et al. A new virtual network static embedding strategy within the Cloud’s private backbone network[J]. Computer Networks, 2014, 62: 69-88.
[11] CHOWDHURY N M M K, RAHMAN M R, BOUTABA R. Virtual network embedding with coordinated node and link mapping[A]. Proceedings of the IEEE INFOCOM[C]. Rio de Janeiro, 2009. 783-791.
[12] SU S, ZHANG Z, LIU A X,et al. Energy-aware virtual network embedding[J]. IEEE/ACM Transactions on Networking, 2014, 22(5):1607-1620.
[13] BOTERO J F, HESSELBACH X. Greener networking in a network virtualization environment[J]. Computer Networks, 2013, 57(9):2021-2039.
[14] 黃彬彬, 林榮恒, 彭凱, 等. 基于粒子群優(yōu)化的負(fù)載均衡的虛擬網(wǎng)絡(luò)映射[J]. 電子與信息學(xué)報(bào), 2013, 35(7): 1753-1759.HUANG B B, LIN R H, PENG K,et al. Load-balancing based on particle swarm optimization in virtual network mapping[J]. Journal of Electronics & Information Technology, 2013, 35(7): 1753-1759.
[15] 程祥, 張忠寶, 蘇森, 等. 虛擬網(wǎng)絡(luò)映射問題研究綜述[J]. 通信學(xué)報(bào), 2011, 32(10): 143-151.CHENG X, ZHANG Z B, SU S,et al. Survey of virtual network embedding problem[J]. Journal on Communications, 2011, 32(10):143-151.
[16] 羅娟, 徐岳陽, 李仁發(fā). 網(wǎng)絡(luò)虛擬化中動態(tài)資源分配算法研究[J].通信學(xué)報(bào), 2011, 32(7): 64-70.LUO J, XU Y Y, LI R F. Dynamical resource allocation algorithm research in network virtualization[J]. Journal on Communications, 2011,32(7): 64-70.
[17] SUN G, YU H, ANAND V,et al. A cost efficient framework and algorithm for embedding dynamic virtual network requests[J]. Future Generation Computer Systems, 2013, 29(5): 1265-1277.
[18] HOUIDI I, LOUATI W, ZEGHLACHE D,et al. Adaptive virtual network provisioning[A]. Proceedings of the second ACM SIGCOMM workshop on Virtualized infrastructure systems and architectures[C].New York, 2010. 41-48.
[19] 江逸茗, 蘭巨龍, 程東年, 等. 分布式環(huán)境中基于協(xié)商的虛擬網(wǎng)映射算法[J]. 通信學(xué)報(bào), 2014, 35(12): 62-69.JIANG Y M, LAN J L, CHENG D N,et al. Virtual network embedding algorithm based on negotiation in distributed environment[J].Journal on Communications, 2014, 35(12): 62-69.
[20] HOUIDI I, LOUATI W, AMEUR W B,et al. Virtual network provisioning across multiple substrate networks[J]. Computer Networks,2011, 55(4): 1011-1023.
[21] SHEN M, XU K, YANG K,et al. Towards efficient virtual network embedding across multiple network domains[A]. Proceedings of the IEEE IWQoS[C]. Hong Kong, 2014. 61-70.
[22] LAI Y J, LIU T Y, HWANG C L. Topsis for MODM[J]. European Journal of Operational Research, 1994, 76(3): 486-500.
[23] FISCHER A, MEER H D. Position paper: secure virtual network embedding[J]. Praxis der Information sverarbeitung und Kommunikation, 2011, 34(4): 190-193.
[24] 王勇, 代桂平, 侯亞榮. 信任感知的組合服務(wù)動態(tài)選擇方法[J]. 計(jì)算機(jī)學(xué)報(bào), 2009, 32(8): 1668-1675.WANG Y, DAI G P, HOU Y R. Dynamic methods of trust-aware composite service selection[J]. Chinese Journal of Computer, 32(8): 1668-1675.
[25] 曹潔, 曾國蓀, 姜火文, 等. 云環(huán)境下服務(wù)信任感知的可信動態(tài)級調(diào)度方法[J]. 通信學(xué)報(bào), 2014, 35(11): 39-49.CAO J, ZENG G S, JIANG H W,et al. Trust-aware dynamic level scheduling algorithm in cloud environment[J]. Journal on Communications, 2014, 35(11): 39-49.