本發(fā)明屬于移動通信領(lǐng)域,具體涉及5g移動網(wǎng)絡中服務功能鏈的優(yōu)化部署。
背景技術(shù):
隨著無線流量和服務的大幅增長,因第四代(4g)將不能滿足未來的網(wǎng)絡需求,從而推動第五代(5g)移動無線網(wǎng)絡的研究,以應對未來多樣化差異化服務的巨大挑戰(zhàn)。
隨著移動無線流量的爆炸式增長,移動運營商正在考慮使用云計算來擴展其服務,并應對移動數(shù)據(jù)流量的巨大增長。在傳統(tǒng)的電信網(wǎng)絡中,網(wǎng)絡功能或中間盒子(如分組數(shù)據(jù)網(wǎng)網(wǎng)關(guān)、服務網(wǎng)關(guān)、防火墻、內(nèi)容過濾器、代理服務器、廣域網(wǎng)優(yōu)化器、入侵檢測系統(tǒng)和入侵防御系統(tǒng))被一些專門的物理設備和設施實現(xiàn)。然而,隨著用戶對更多不同服務和新服務的需求的不斷增加,服務供應商必須相應地購買、存儲和運作新物理設備,以滿足用戶的要求。然而,新物理設備的采購將產(chǎn)生較高的資本支出和運營支出。并且這些物理設備需要進行過專門訓練的人員進行部署和維護。
為解決上述難題,研究人員已經(jīng)提出了網(wǎng)絡功能虛擬化(nfv),旨在將數(shù)據(jù)包的處理從硬件中間盒子映射到運行在商業(yè)硬件上的軟件中間盒子上。運行在軟件中間盒子上的網(wǎng)絡功能稱為虛擬網(wǎng)絡功能(vnf)。在網(wǎng)絡功能虛擬化中,多個虛擬網(wǎng)絡功能通常按照一個特定的順序連接構(gòu)成服務功能鏈,來提供不同的網(wǎng)絡服務。例如,在移動網(wǎng)絡中,移動網(wǎng)絡用戶和服務終端之間的通信需要通過服務功能鏈:用戶→服務網(wǎng)關(guān)→分組數(shù)據(jù)網(wǎng)網(wǎng)關(guān)→防火墻→入侵檢測系統(tǒng)→代理→終端,這個服務功能鏈一般部署在用戶和服務終端之間執(zhí)行流量過濾的安全策略。通常,服務功能鏈中的各個虛擬網(wǎng)絡功能的類型和順序是根據(jù)業(yè)務分類、服務水平協(xié)議和運營商的供應政策等確定的。
事實上,核心網(wǎng)絡虛擬化和網(wǎng)絡功能虛擬化表述了未來5g架構(gòu)的兩個關(guān)鍵愿景。作為5g的一個關(guān)鍵技術(shù),網(wǎng)絡功能虛擬化已經(jīng)成為無線網(wǎng)絡架構(gòu)演進的一個重要方向。作為一種新興技術(shù),網(wǎng)絡功能虛擬化已受到工業(yè)界、學術(shù)界和標準化機構(gòu)的廣泛關(guān)注。對于服務提供商,有效的部署/映射服務功能鏈到5g移動網(wǎng)絡是至關(guān)重要的。目前,虛擬網(wǎng)絡功能的放置也已成為一個研究熱點,并且已經(jīng)存在一些關(guān)于虛擬網(wǎng)絡功能放置問題的研究。
當前已提出有關(guān)于虛擬網(wǎng)絡功能或服務功能鏈(sfc)請求的放置/部署方案,但是因為處理的對象是虛擬網(wǎng)絡或聯(lián)合云,因此,已提出的大部分部署方式不適合5g移動網(wǎng)絡。例如thecapacitatednfvlocation算法,其主要思想是當放置網(wǎng)絡功能時,盡量減少整體網(wǎng)絡成本,同時滿足網(wǎng)絡節(jié)點的大小約束。雖然該方式能夠?qū)崿F(xiàn)虛擬網(wǎng)絡功能的放置,但是它是為虛擬網(wǎng)絡或聯(lián)合云提出的,沒有考慮5g網(wǎng)絡的特性和相關(guān)約束,因此該方式不適合5g移動網(wǎng)絡。而對于那些適合5g移動網(wǎng)絡的虛擬網(wǎng)絡功能或服務功能鏈的放置/部署方案,卻只考慮到無線接入網(wǎng)絡的虛擬網(wǎng)絡功能(如,分組數(shù)據(jù)網(wǎng)網(wǎng)關(guān)和服務網(wǎng)關(guān))的部署問題,并沒有考慮到核心網(wǎng)絡和數(shù)據(jù)中心網(wǎng)絡的虛擬網(wǎng)絡功能(如防火墻、內(nèi)容過濾器、代理服務器、廣域網(wǎng)優(yōu)化器、入侵檢測系統(tǒng)和入侵防御系統(tǒng))的部署問題。例如通過競價納什理論來折中需要重放置的服務網(wǎng)關(guān)數(shù)量和路徑大長度,雖然能夠?qū)崿F(xiàn)虛擬網(wǎng)絡功能在5g移動網(wǎng)絡中的放置,但是只考慮到無線接入網(wǎng)絡的虛擬網(wǎng)絡功能的部署問題,然而,他們沒有考慮的核心網(wǎng)絡和數(shù)據(jù)中心網(wǎng)絡的虛擬網(wǎng)絡功能的部署問題。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是,提出一種已知5g移動網(wǎng)絡(底層網(wǎng)絡)和在線的服務功能鏈請求、移動網(wǎng)絡用戶的位置和服務終端的位置前提條件下,找出一種在考慮每個服務功能鏈請求中每個虛擬網(wǎng)絡功能和鏈路連接情況和滿足相關(guān)約束條件下以消耗最少的服務器資源,帶寬資源和減小服務功能鏈請求的阻塞率為目標,將服務功能鏈請求進行放置的部署方法。本發(fā)明的部署方案綜合考慮了服務功能鏈請求的特殊性,除了對常見的帶寬資源需求和服務器資源需求做出了優(yōu)化的配置外,還針對服務功能鏈請求在通信時延方面的嚴格要求提出了相應的解決策略。
本發(fā)明在服務功能鏈請求的映射過程,為了有效的映射/部署服務功能鏈請求到5g移動網(wǎng)絡,引入三種有效的策略來減少計算資源和鏈接資源的成本,從而提高服務功能鏈請求接收率。
(1)虛擬機重用策略。
在本發(fā)明中,為了提高服務器的資源利用率,引入虛擬機重用策略,即,當映射一個虛擬網(wǎng)絡功能(vnf)時,可以重用實現(xiàn)相同的vnf的存在/已有虛擬機。虛擬機重用策略不僅可以提高服務器的資源利用率,而且當服務器資源受限的時候,還可以提高服務功能鏈請求的接收率。為了提高服務器的資源利用率和降低成本的計算資源,當映射一個vnf到服務器時,若考慮虛擬機重用,則首先判斷放置當前vnf的服務器是否存在可重用的虛擬機,若存在,則將當前vnf托管到這個服務器上的可重用的虛擬機上;否則,就將當前vnf托管到這個服務器上的新虛擬機上。其中可重用的虛擬機為:帶有重用標識符(表示當前虛擬機允許被重用)的已托管了至少一個與vnfi相同類型的vnf的虛擬機,且已托管的vnf與vnfi不屬于同一服務功能鏈請求。
當vnf被托管在可重用的虛擬機上時,在該虛擬機的原始服務時間內(nèi),本發(fā)明不考慮計算資源成本,即計算資源的成本為零,但當vnf的服務時間超過該虛擬機的原始服務時間,則需要計算額外時間的計算資源成本。當vnf使用一個新的虛擬機,本發(fā)明需要計算vnf的整個服務時間的計算資源成本。因此,對一個服務功能鏈請求的任意vnf的計算資源成本的計算過程如下:
cost(vnfi→nk)=p(nk)×ε(vnfi)×tip
其中,cost(vnfi→nk)表示第i個vnf(vnfi)被映射到服務器nk的計算資源成本,p(nk)表示服務器nk的資源單位成本,即本發(fā)明中用符號p(·)表示括號中對象的單位成本,ε(vnfi)表示vnfi對服務器的資源約束,如cpu、存儲器和存儲容量等。nv={vnf1,vnf2,…,vnfn}表示服務功能鏈請求中的虛擬網(wǎng)絡功能集合,下標n表示一個服務功能鏈請求所包括的vnf的數(shù)目,tip表示vnfi需要付費的時間,ti表示vnfi的服務時間,to表示被重用虛擬機的原始服務時間,πi表示托管在虛擬機上的vnf的數(shù)量,πi=1表示當前虛擬機沒有被重用,πi>1表示被多個vnf重用。重用存在的虛擬機會影響其他vnf的性能,因此,定義δ作為托管在存在虛擬機上的vnf的最大數(shù)量,即:
(2)vnf合并策略。
在本發(fā)明中,當映射vnfi時,如果托管vnfi-1的服務器有足夠的可用資源,則可以考慮映射vnfi到托管vnfi-1的服務器上,本發(fā)明稱這個策略為vnf合并策略。在本發(fā)明中,并不在映射這個服務功能鏈請求之前合并某些vnf,而是在映射的過程中,映射第i個vnf到托管第i-1個vnf的服務器上,如果這個服務器有足夠的可用資源。在vnf合并策略中,第i個vnf只能被映射到托管第i-1個vnf的服務器上,但是不能被映射到托管這個服務功能鏈請求的其他vnf的服務器上,以此避免乒乓路由問題。例如,當服務功能鏈請求的vnf1被映射到了物理節(jié)點b、vnf2被映射到了物理節(jié)點f后,在映射vnf3時,其能被映射到物理節(jié)點f,如果物理節(jié)點f有足夠的可用資源,即允許將vnf2和vnf3合并在一起,這樣vnf2和vnf3通信就不需要消耗帶寬資源,因為vnf2和vnf3在物理節(jié)點f內(nèi)部進行通信。但是,不允許映射vnf3到物理節(jié)點b,因為這樣會導致乒乓路由,這是不希望發(fā)生的。
(3)臨時鏈路映射策略。
在本發(fā)明中,當映射第i個vnf時,同時需要映射連接第i個vnf和第i-1個vnf的第i條鏈路ei,(虛擬鏈路)來保證在第i個vnf獲得近似最優(yōu)的映射方案。傳統(tǒng)的方法是致力于找到第i個vnf的局部最優(yōu)映射解決方案,但這不能保證整個服務功能鏈的近似最優(yōu)的路徑。為了保證近似最優(yōu)的路徑,提高整個服務功能鏈請求的接受率,本發(fā)明在計算虛擬鏈路ei的鏈路資源成本時,生成一條連接第i個vnf和服務終端的臨時鏈路tei(虛擬鏈路),這條臨時鏈路的帶寬需求等于第i+1條鏈路的帶寬需求,并且映射這條臨時鏈路tei到底層網(wǎng)絡,得到映射路徑。當映射第i個vnf和虛擬鏈路ei時,通過使用臨時鏈路映射策略,以此找到第i個vnf的一個近似最優(yōu)映射方案。在臨時鏈路映射策略中,臨時鏈路不需要消耗實際鏈路資源,它只是用來約束第i個vnf不偏離服務終端太遠,以保證托管第i個vnf的物理服務器的鄰接鏈路有足夠的鏈路資源來映射下一條虛擬鏈路,從而提高服務功能鏈接受率。第i條虛擬鏈路的鏈路資源成本的計算方式如下:
其中,
(1)vnf映射:
vnf映射過程可以表示為:
其中ns1表示分配給當前服務功能鏈請求的底層網(wǎng)絡的服務器和路由器的集合,cn1表示分配給當前服務功能鏈請求的服務器資源,mn={m(vnf1),m(vnf2),...,m(vnfn)}表示當前服務功能鏈請求的每個vnf的映射記錄。m(vnfi)表示托管vnfi的服務器,r(m(vnfi))表示服務器m(vnfi)的可用資源。cn={ε(vnf1),ε(vnf2),...,ε(vnfn)}表示所有虛擬網(wǎng)絡功能的資源約束集合,vmi表示托管vnfi的虛擬機(存在的)ε(vmi)表示這個存在的虛擬機的計算資源,y∈{0,1,2,...,y}表示網(wǎng)絡區(qū)域的編號,l(m(vnfi))表示服務器m(vnfi)所在的網(wǎng)絡區(qū)域的編號,并且一個服務器只能屬于一個網(wǎng)絡區(qū)域,
(2)服務功能鏈的鏈路映射:
服務功能鏈的鏈路映射描述如下:
其中,me={m(e1),m(e2),...,m(e|ev|)}表示當前服務功能鏈請求的每條虛擬鏈路的映射記錄,
因此,每個服務功能鏈請求在5g移動網(wǎng)絡中的部署問題,i)鏈路資源成本最小化;ii)計算資源的成本最小化,可以根據(jù)下面的線性規(guī)劃(1)描述:
s.t.
第一個目標的目的是盡可能地降低計算資源的成本。這將增加服務功能鏈有一個更長的路徑的概率。第二個目標的目的是最大限度地減少鏈路資源的成本,即,盡可能多的縮短整個服務功能鏈的路徑。同時,在線性規(guī)劃(1)中的約束條件被用于確保以下約束:
約束1用于確保托管在虛擬機上的vnf的數(shù)量不超過服務供應商所給定的數(shù)量δ。
約束2給出了vnf需要付費的時間。
約束3和4確保被使用的服務器滿足vnf的計算資源需求。
約束5和6保證所使用的物理鏈路滿足虛擬鏈路的約束。
約束7、8和9確保被使用的服務器滿足vnf的位置約束。
因線性規(guī)劃(1)為多目標問題,無法直接求解,因此,在本發(fā)明提出了三個解決方案,來解決多目標問題(1)。提出的第一個解決方案是:最大限度地減少計算資源的成本;第二個解決方案是:縮短整個服務功能鏈的路徑;第三解決方案是:通過利用性別大戰(zhàn)博弈(bos)模型為vnf分配資源和路由,以此為計算資源成本和鏈路資源成本找到一個公平的解決方案。上述三個解決方案具體描述如下:
(1)最小化計算資源的成本(簡稱mc方案)。
在該解決方案中,定義
s.t.
即在將底層網(wǎng)絡的服務器資源和寬帶資源分配給動態(tài)到來的每個服務功能鏈請求時,通過下列步驟得到當前服務功能鏈請求的最優(yōu)部署方案:
步驟1:從待映射的服務功能鏈請求的虛擬網(wǎng)絡功能集合nv={vnf1,vnf2,...,vnfn}的第一個vnf開始,依次為當前服務功能鏈請求的每個vnfi(i=1,…,n)確定備選映射方案集:
(1)確定當前待映射的vnfi的備選服務器集:
從底層網(wǎng)絡的可用服務器集us中,將滿足位置約束、計算資源需求且未曾被集合
(2)確定vnfi的備選映射方案集:
用m(vnfi)表示放置vnfi的任意備選服務器,并確定服務器m(vnfi)上用于托管vnfi的虛擬機:判斷是否存在可重用的虛擬機,若是,則將vnfi托管在可重用的虛擬機上;否則將vnfi托管在一個新的虛擬機上;
在滿足ei(連接vnfi-1與vnfi的虛擬鏈路)的鏈路資源需求xi和時延需求的前提下,對ei進行底層路徑映射,得到ei的映射路徑
生成一條連接vnfi與用戶終端的臨時鏈路tei,并將ei+1(連接vnfi與vnfi+1的虛擬鏈路)的鏈路資源需求xi+1作為tei的鏈路資源需求;在滿足tei的鏈路資源需求的前提下,對tei進行底層路徑映射,得到tei的映射路徑
其中映射路徑
將滿足條件
將對應當前m(vnfi)的備選映射方案保存到備選映射方案集中,其中備選映射方案包括:m(vnfi)、托管vnfi的虛擬機、ei的最終映射路徑;
由當前服務功能鏈請求的所有vnf的不同備選映射方案的組合,可以得到不同的映射集合mn;
最后,根據(jù)公式
(2)最短化服務功能鏈的路徑長度(簡稱sl方案)。
在該解決方案中,定義
s.t.
即在將底層網(wǎng)絡的服務器資源和寬帶資源分配給動態(tài)到來的每個服務功能鏈請求時,通過下列步驟得到當前服務功能鏈請求的最優(yōu)部署方案:
步驟1:從待映射的服務功能鏈請求的虛擬網(wǎng)絡功能集合nv={vnf1,vnf2,...,vnfn}的第一個vnf開始,依次為當前服務功能鏈請求的每個vnfi(i=1,…,n)確定備選映射方案集:
101:從底層網(wǎng)絡的可用服務器集中,將滿足位置約束、計算資源需求且未曾被集合
分別確定每個初始備選服務器上用于托管vnfi的虛擬機:判斷是否存在可重用的虛擬機,若是,則將vnfi托管在可重用的虛擬機上;否則將vnfi托管在一個新的虛擬機上;
對每個初始備選服務器nk∈ui′,分別確定其上用于托管vnfi的虛擬機:判斷是否存在可重用的虛擬機,若是,則將vnfi托管在可重用的虛擬機上;否則將vnfi托管在一個新的虛擬機上。并將其計算資源成本cost(vnfi→nk)與
102:確定vnfi的備選映射方案集:
對每個備選服務器nm∈ui,在滿足ei的鏈路資源需求xi和時延需求的前提下,從服務器nm到vnfi-1的備選服務器的底層路徑中,查找一條最短路徑作為ei的映射路徑
生成一條連接vnfi與用戶終端的臨時鏈路tei,并將ei+1的鏈路資源需求xi+1作為tei的鏈路資源需求;在滿足tei的鏈路資源需求的前提下,從服務器nm到用戶終端的底層路徑中,查找一條最短路徑作為tei的映射路徑
將對應當前nm的備選映射方案保存到vnfi的備選映射方案集中,其中備選映射方案包括:nm、托管vnfi的虛擬機、映射路徑
步驟2:由當前服務功能鏈請求的所有vnf的不同備選映射方案的組合,得到不同的映射集合;
根據(jù)公式
(3)使用性別大戰(zhàn)博弈論模型公平優(yōu)化計算資源成本和鏈路資源成本(簡稱focl方案)。
性別大戰(zhàn)博弈論模型描述了這樣一個博弈場景:在博弈中,兩個選手有一些共同利益,但共同利益有不同的結(jié)果,并有相互沖突的偏好。例如,這對夫婦寧愿看同一個電視節(jié)目,但不想單獨看到他們各自的電視節(jié)目,而這對夫婦也更喜歡看他們最喜歡的節(jié)目。
因此在本發(fā)明中,將計算資源成本和鏈路資源成本作為性別大戰(zhàn)博弈論模型中的兩個選手,其基于兩個策略:i)當映射vnf時重用存在的虛擬機,ii)當映射vnf時使用一個新的虛擬機。一個存在的虛擬機被用來映射vnf,它可以減少計算資源的成本,但它可能導致服務功能鏈有一個更長的路徑。一個新的虛擬機被用來映射vnf,它更容易找到服務功能鏈的一條接近最優(yōu)的路徑,但它可能會導致更高的計算資源的成本。所以每個vnf的映射過程是一個博弈的過程,計算資源成本和鏈路資源成本這兩個選手進行博弈來決定是否使用一個已存在的虛擬機。在本發(fā)明中,將重用一個存在的虛擬機作為第一個策略(即1-s),將使用一個新的虛擬機作為第二個策略(即,2-s),即將計算資源成本作為第一個選手(即1-p),將鏈路資源成本作為第二個選手(即2-p)。這個博弈策略如表1所表示。
表1博弈策略
表1中所涉及的表達式及參數(shù)的注釋如下:
cost(me(vnfi)):當使用一個存在的虛擬機映射vnfi時的計算資源成本;
cost(pe(ei)):當使用一個存在的虛擬機映射vnfi時的鏈路資源成本;
me(vnfi):當使用一個存在的虛擬機映射vnfi時vnfi的映射方案;
pe(ei):當使用一個存在的虛擬機映射vnfi時虛擬鏈路ei的映射路徑;
cost(mn(vnfi)):當使用一個新虛擬機映射vnfi時的計算資源成本;
cost(pn(ei)):當使用一個新虛擬機映射vnfi時的鏈路資源成本;
mn(vnfi):當使用一個新虛擬機映射vnfi時vnfi的映射方案;
pn(ei):當使用一個新虛擬機映射vnfi時虛擬鏈路ei的映射路徑;
其中cost(me(vnfi)),cost(mn(vnfi)),cost(pe(ei))和cost(pn(ei))按照如下的公式計算:
cost(mλ(vnfi))=p(mλ(vnfi))×ε(vnfi)×tip,
其中,上標λ∈{e,n},pe(tei)、pn(tei)分別表示當使用一個存在的虛擬機、新虛擬機映射vnfi時所對應臨時鏈路tei的映射路徑。
在該模型中,有兩個純策略納什均衡點,即
s.t.
λ={e,n}(4)
其中,
步驟1:從待映射的服務功能鏈請求的虛擬網(wǎng)絡功能集合nv={vnf1,vnf2,...,vnfn}的第一個vnf開始,依次為當前服務功能鏈請求的每個vnfi(i=1,…,n)確定的最終映射方案:
101:確定當前待映射的vnfi的備選服務器集
從底層網(wǎng)絡的可用服務器集中,將滿足位置約束、計算資源需求且未曾被集合
102:對備選服務器集
在滿足ei的鏈路資源需求xi和時延需求的前提下,從放置vnfi-1的服務器(即m(vnfi-1))到服務器nk的底層路徑中,查找一條最短路徑作為ei的映射路徑
生成一條連接vnfi與用戶終端的臨時鏈路tei,并將ei+1的鏈路資源需求xi+1作為tei的鏈路資源需求;在滿足tei的鏈路資源需求的前提下,從服務器nk到用戶終端的的底層路徑中,查找一條最短路徑作為tei的映射路徑
由對應服務器nk的計算資源成本costvnfn(vnfi→nk)、鏈路資源成本
103:對備選服務器集
其中服務器nj的總映射成本計算方式為:
判斷服務器nj上是否存在可重用的虛擬機,若否,則將服務器nj的總映射成本設置為無窮大;
若是,則將vnfi托管在可重用的虛擬機上,并在滿足連接vnfi-1與vnfi的虛擬鏈路ei的鏈路資源需求xi和時延需求的前提下,從放置vnfi-1的服務器到服務器nk的底層路徑中,查找一條最短路徑作為ei的映射路徑
104:將
因
步驟2:由當前服務功能鏈請求的所有vnf的最終映射方案得到當前服務功能鏈請求的優(yōu)化部署方案。
綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:
(1)適用范圍廣。傳統(tǒng)的虛擬網(wǎng)絡功能或服務功能鏈映射算法大多是針對虛擬網(wǎng)絡和數(shù)據(jù)中心網(wǎng)絡提出的,或者沒有考慮完整的5g網(wǎng)絡中的完整服務功能鏈。本發(fā)明所提方法能適用于5g網(wǎng)絡中的完整服務功能鏈請求,因此與傳統(tǒng)的映射算法相比,本發(fā)明的適用范圍更廣。
(2)映射成本低。由于本發(fā)明提出用于線性規(guī)劃(1)的多目標問題的三種方案,在結(jié)合vnf合并策略、虛擬機重用策略和臨時鏈路映射策略基礎上來獲取對服務功能鏈請求的低映射成本的部署方案,尤其是第三種方案,綜合考慮計算資源與鏈路資源成本的方式,其映射方案的成本更低。
(3)資源利用率高。由于本發(fā)明在進行映射處理時,所使用的虛擬機重用策略、vnf合并策略和臨時鏈路映射策略能減少資源的消耗,所以,能提高資源的利用率。
(4)映射阻塞率小。由于本發(fā)明在進行映射處理時,所使用的虛擬機重用策略,vnf合并策略和臨時鏈路映射策略能減少資源的消耗,所以,映射成功的可能性也就越大,阻塞率也就越小。
附圖說明
圖1是一個服務功能鏈請求的示意圖,其中,虛擬網(wǎng)絡功能上方的矩形框中的數(shù)字表示服務器資源需求,虛擬鏈路上方的數(shù)字表示虛擬鏈路資源需求、延遲;
圖2是一個臨時鏈路映射策略的示意圖及對比圖,其中圖2-a為不考慮臨時鏈路映射策略的映射方案,圖2-b、2-c為考慮臨時鏈路映射策略的映射方案,圖中的a~g表示不同的物理節(jié)點(即服務器),虛短線表示虛擬鏈路的映射路徑,虛點線表示臨時鏈路的映射路徑。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合實施方式和附圖,對本發(fā)明作進一步地詳細描述。
以基于sdn的5g網(wǎng)絡作為實施對象,網(wǎng)絡運營商可以將本發(fā)明所提出的優(yōu)化部署方案(映射服務功能鏈的方法)部署在sdn的控制路由器中的控制層上,sdn控制路由器可以調(diào)度自身帶有的控制管理功能收集全網(wǎng)信息,獲取網(wǎng)絡中所有節(jié)點資源情況,以及鏈路的資源,時延等信息。通過這種集中式的控制方式該路由器就可以獲取全網(wǎng)的拓撲以及相應的資源信息。當有服務功能鏈請求到來時,sdn控制路由器可以根據(jù)自己所掌握的全網(wǎng)信息,調(diào)度部署在其控制層上的基于服務功能鏈的映射方法,計算出映射成本、拒絕率等關(guān)鍵參數(shù),并反饋給運營商。
部署了本發(fā)明的focl方案的sdn控制路由器對多個服務功能鏈請求的在線映射處理時,首先定義離去的服務功能鏈請求集合為expiredsfc,定義服務功能鏈請求的到達隊列為arrivedsfc。在隊列arrivedsfc中,每個服務功能鏈請求一個接著一個被映射。定義由于底層網(wǎng)絡資源不足而被阻塞的服務功能鏈請求集合為sfcblo(簡稱被阻塞的映射請求集合sfcblo)。則對多個服務功能鏈請求的在線處理過程為:
輸入:
1、底層網(wǎng)絡資源,包括底層網(wǎng)絡gs=(ns,es)、底層網(wǎng)絡的資源約束sc=(ce,cn,ln)、所有端到端的底層路徑集合p。其中ns表示底層網(wǎng)絡的服務器集合、路由器集合,es表示底層網(wǎng)絡的物理鏈路集合,ce表示物理鏈路的屬性,如帶寬、時延、單位成本等,cn表示底層網(wǎng)絡的服務器和路由器的屬性,其中服務器的屬性包括服務器資源的單位成本、服務器資源(如cpu、存儲器和儲存容量)等,路由器的屬性主要指路由器的處理能力,ln表示底層網(wǎng)絡服務器、路由器的位置;
2、一個達到的服務功能鏈請求隊列arrivedsfc,其中每個服務功能鏈請求包括其虛擬網(wǎng)絡(虛擬網(wǎng)絡功能集合nv、虛擬鏈路集合ev)以及放置約束(各vnf的資源約束集合cn、虛擬鏈路資源約束集合ce、虛擬鏈路的最大時延約束集合cd、vnf的放置位置約束集合ln、用戶的位置lu、服務終端的位置lt)。
輸出:映射代價
步驟1:初始
步驟2:如果
步驟3:如果
步驟4:從arrivedvdc中取出隊首的服務功能鏈請求sfck,其中下標k為服務功能鏈請求的標識符。
步驟5:調(diào)用sfcm算法映射sfck。
步驟6:如果找到sfck的一個映射方案
步驟7:令
步驟8:更新sfcblo=sfcblo∪{sfck}。
步驟9:更新arrivedsfc=arrivedsfc-sfck,然后轉(zhuǎn)步驟2。
步驟10:返回
上述步驟5中所涉及的sfcm算法被用于為一個服務功能鏈請求中的每個vnf找到一個映射方案,同時找到服務功能鏈請求的映射路徑,并分配資源給每個vnf和每條虛擬鏈路。sfcm算法找到每個vnf使用一個存在虛擬機和一個新虛擬機的映射方案,然后通過性別大戰(zhàn)博弈模型決定最終的映射方案。sfcm算法找出映射成本最小的映射方案作為最終的映射方案
輸入:
1、底層網(wǎng)絡gs=(ns,es)、底層網(wǎng)絡的資源約束sc=(ce,cn,ln)、所有端到端的底層路徑集合p。
2、一個服務功能鏈請求gv=(nv,ev)和放置約束pc=(cn,ce,cd,ln,lu,lt),如圖1所示。
輸出:映射方案
步驟501:將所有可用的服務器儲存在us中。
步驟502:從第一個vnf開始,依次遍歷nv中的每一個vnfi,執(zhí)行下一步,如果nv中的每一個vnf已經(jīng)遍歷完,就轉(zhuǎn)步驟512;
步驟503:遍歷底層網(wǎng)絡中的每個服務器nk∈us,執(zhí)行下一步,如果底層網(wǎng)絡中的服務器已經(jīng)遍歷完,就轉(zhuǎn)步驟507;
步驟504:如果
步驟505:將當前vnfi映射到服務器nk上的一個新虛擬機上,并計算和記錄costvnfn(vnfi→nk)根據(jù)公式(5);
步驟506:基于當前vnfi被放置的服務器nk,生成一條從nk到用戶終端所在服務器(由服務終端的位置lt得知)的臨時鏈路tei,該臨時鏈路tei的虛擬鏈路資源約束為xi+1;
再采用dijkstra算法(最短路徑算法),基于底層路徑集合p,在滿足帶寬和時延約束的條件下找到鏈路ei(連接vnfi與vnfi-1的虛擬鏈路)和臨時鏈路tei的最短的底層路徑
步驟507:遍歷底層網(wǎng)絡中的每個服務器nj∈us,執(zhí)行步驟508,如果底層網(wǎng)絡中的服務器已經(jīng)遍歷完,就轉(zhuǎn)步驟511;
步驟508:如果
步驟509:判斷服務器nj上是否存在可重用的虛擬機,若否,則將服務器nj的總映射成本設置為無窮大,并轉(zhuǎn)至步驟507;若是,則執(zhí)行步驟510;
步驟510:將vnfi托管在可重用的虛擬機上,并計算和記錄costvnfe(vnfi→nj)根據(jù)公式(7);
同時,基于當前vnfi被放置的服務器nj,生成一條從nj到用戶終端所在服務器(由服務終端的位置lt得知)的臨時鏈路tei,該臨時鏈路tei的虛擬鏈路資源約束為xi+1;
再使用dijkstra算法找到鏈路ei和臨時鏈路tei的最短底層路徑
步驟511:在所有使用新虛擬機映射vnfi的映射方案中找到一個總映射成本tcostvnfn(vnfi→nk)最小的映射方案;在所有使用存在的虛擬機映射vnfi的映射方案中找到一個總映射成本tcostvnfe(vnfi→nj)最小的映射方案;根據(jù)公式(11)從這兩個方案中找到映射成本最小的方案作為vnfi的最終映射方案m*(vnfi),并且更新當前服務功能鏈請求的映射方案
步驟512:返回
當使用服務器nk上的一個新虛擬機映射vnfi時,vnfi的映射成本能根據(jù)公式(5)計算,虛擬鏈路ei的映射成本可以根據(jù)公式(6)計算:
costvnfn(vnfi→nk)=p(nk)ε(vnfi)ti(5)
當使用服務器nj上的一個存在的虛擬機映射vnfi時,vnfi的映射成本能根據(jù)公式(7)計算,虛擬鏈路ei的映射成本可以根據(jù)公式(8)計算:
costvnfe(vnfi→nj)=p(nj)ε(vnfi)max{ti-to,0}(7)
當使用服務器nk上的一個新虛擬機映射vnfi時,最小的總映射成本能根據(jù)公式(9)計算:
當使用服務器nj上的一個存在的虛擬機映射vnfi時,最小的總映射成本能根據(jù)公式(10)計算:
vnfi的最小總映射成本能根據(jù)公式(11)計算:
tcostvnf(vnfi→nm)=min{tcostvnfn(vnfi→nk),tcostvnfe(vnfi→nj)}(11)
其中nm為nk或nj,若tcostvnfn(vnfi→nk)、tcostvnfe(vnfi→nj)計算結(jié)果相同,則任取其一。
參考如圖2,在包括2個vnf的服務功能鏈請求中,用戶(user)被放置在物理節(jié)點a上,服務終端(terminal)被放置在物理節(jié)點g上,當放置vnf1時,假設可選的物理節(jié)點有b、d,若只考慮局部最優(yōu)映射,則兩個備選皆滿足,而當選擇物理節(jié)點b時(圖2-a),則會導致vnf1遠離服務終端,因此本發(fā)明通過臨時鏈路tei來約束vnf1不偏離服務終端太遠,在計算vnf1與用戶之間的鏈路資源成本時,將臨時鏈路tei的映射路徑也考慮進去,對e1的鏈路資源成本來說,其為:t1×((物理路徑a→d的單位成本)×x1+(物理路徑d→g的單位成本)×x2)。從而使得在相同單位成本的情況下,選擇物理節(jié)點d(圖2-b)的鏈路資源成本更小。然后再結(jié)合vnf合并策略、虛擬重用策略來考慮總映射成本最小的規(guī)則確定vnf2的物理節(jié)點,從而得到該服務功能鏈請求的映射方案,如圖2-c所示,其對應的底層路徑為:a→d→e→g。若不通過臨時鏈路tei,則可能會得到如圖2-a的底層路徑,即a→b→c→f→i→h→g,將明顯增加其鏈路資源成本。
因此,本發(fā)明在將底層網(wǎng)絡的服務器資源和帶寬資源分配給動態(tài)到來的每個服務功能鏈請求時,通過在部署時考慮vnf合并策略、虛擬重用策略以及臨時鏈路策略的部署方式,達到在提高服務功能鏈請求的映射成功率、底層網(wǎng)絡的資源利用率的同時,盡可能使得總的映射花銷最小。
以上所述,僅為本發(fā)明的具體實施方式,本說明書中所公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換;所公開的所有特征、或所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以任何方式組合。