一種基于虛擬網(wǎng)絡連接特性的虛擬網(wǎng)絡映射方法
【技術領域】
[0001] 本發(fā)明設及網(wǎng)絡技術領域,具體設及一種基于虛擬網(wǎng)絡連接特性的虛擬網(wǎng)絡映射 方法。
【背景技術】
[0002] 隨著云計算的發(fā)展,物理網(wǎng)絡基礎設施逐漸集中地由少數(shù)設備提供商 (In化astruc化reProvider,In巧供應,而業(yè)務開發(fā)商只需要向InP發(fā)出虛擬網(wǎng)絡請求,定 制個性化的虛擬拓撲網(wǎng)絡,隨著業(yè)務的變化業(yè)務開發(fā)商也能夠靈活地調(diào)整虛擬網(wǎng)絡結(jié)構, 該樣不僅省去物理網(wǎng)絡基礎設施的自備問題,同時有助于提高業(yè)務開發(fā)效率。InP實時地接 收各個業(yè)務開發(fā)商多樣化的虛擬網(wǎng)絡請求并把它們映射到同一公共物理網(wǎng)絡上,為了提高 資源利用率獲得更高的收益,必須合理地分配底層物理網(wǎng)絡資源,同時也需要考慮網(wǎng)絡虛 擬資源負載均衡問題,W避免少數(shù)節(jié)點或鏈路負載過熱而降低虛擬網(wǎng)絡映射成功率。
[0003] 網(wǎng)絡虛擬化技術是對網(wǎng)絡的一種抽象技術,W解決現(xiàn)有網(wǎng)絡僵化問題,提供靈活 可變的虛擬拓撲網(wǎng)絡。由于虛擬網(wǎng)絡拓撲的多樣化,而且映射時不僅要考慮虛擬節(jié)點W及 鏈路的資源請求問題,同時還需要綜合考慮各種映射效益問題,如最大化資源利用率、盡量 均衡使用公共物理網(wǎng)絡資源W提供更好的服務體驗;同時,虛擬網(wǎng)絡可能還包含其他限制, 如節(jié)點的地理位置、鏈路時延等等,因此,將多個不同的虛擬網(wǎng)絡映射到同一公共物理網(wǎng)絡 是一個NP-hard問題。
[0004] 虛擬網(wǎng)絡映射問題主要包括虛擬節(jié)點映射和虛擬鏈路映射,一般而言,每一個虛 擬節(jié)點被映射到一個不同的物理節(jié)點,而每一條虛擬鏈路映射到一條物理路徑,該路徑至 少包含一條物理鏈路。目前虛擬網(wǎng)絡映射的解決方法根據(jù)節(jié)點映射和鏈路映射是否分階 段進行,分為一步映射和二步映射。二步映射一般先進行虛擬節(jié)點映射,再進行鏈路映射。 由于二步映射中節(jié)點映射和鏈路分階段進行,會造成節(jié)點映射基本沒有考慮虛擬節(jié)點之間 的連接特性,因此會導致較大的映射成本,最終導致較低的資源利用率。在鏈路映射階段, 如果虛擬鏈路可分流,那么一般將鏈路映射問題看作多物網(wǎng)絡流問題(Multi-commodity FlowProblem,MCF);如果不可分時,貝ij采用K最短路徑算法尋找一條可行映射路徑。一步 映射一般有二個解決方向。一個方向是虛擬網(wǎng)絡映射進行混合整數(shù)規(guī)劃(MixedInteger Program,MI巧建模,然后得到最優(yōu)解。由于解法太過復雜,因此該解決方向不可取。如 《Virtualnetworkembeddingwithcoordinatednodeandlinkmapping》(INFOCOM 2009,I邸E.IE邸,2009:783-791) -文將有位置限制的虛擬節(jié)點擴展到原物理網(wǎng)絡某個區(qū) 域,然后進行MIP建模,最后采用松弛技術將原MIP問題簡化為一個指數(shù)時間可解決的線性 規(guī)劃問題(LinearProgram,LP)。另外一個方向是對網(wǎng)絡進行簡化,然后采用捜索回溯的 方法來尋找可行的映射方案。如《Virtualnetworkembeddingt虹0U曲topolog}f-aware noderanking))(ACMSIGCOMMComputerCommunicationReview, 2011, 41 (2) : 38-47) 一文 采用類似網(wǎng)頁排名算法對網(wǎng)絡節(jié)點進行排序,然后將原虛擬網(wǎng)絡簡化成一個W排名最大節(jié) 點為根的寬度優(yōu)先捜索樹,最后采用寬度優(yōu)先捜索算法尋找可映射節(jié)點。此算法只是考慮 了部分虛擬網(wǎng)絡連接特性而且引入固定的捜索寬度限制。
[0005] W往虛擬網(wǎng)絡映射算法的節(jié)點映射要么沒有考慮對鏈路映射的影響,要么平等地 看待所有虛擬鏈路。也就是說映射簡單地采用跳數(shù)化op)來度量對鏈路映射的影響,基本 都認為中間隱藏節(jié)點對物理節(jié)點的資源消耗為0。而現(xiàn)實情況是中間隱藏節(jié)點也會消耗 物理節(jié)點一定的CPU資源;此外,對于優(yōu)先級一樣的不同虛擬請求,不同的是請求到達的時 間,那么一些較優(yōu)資源都會被到達時間較早的虛擬請求"霸占"。目前基本沒有一種有針對 性的重映射策略,要么定期重映射包含負載過重節(jié)點或鏈路的虛擬請求,如《Rethinking virtualnetworkembedding:substratesupportforpathsplittingandmigration》 (ACMSIGCOMMComputerCommunicationReview, 2008, 38 (2) : 17-29);要么簡單地根據(jù)優(yōu) 先級進行遷移,女曰《Topology-awarenessandreoptimizationmechanismforvirtual networkembedding》(SpringerBerlinHeidelberg, 2010)。
[0006] 《Optimalmappingofvirtualnetworkswithhiddenhops》 (TelecommunicationSystems, 2012, 51 (4) :273-282) 一文在虛擬網(wǎng)絡映射考慮中間隱藏 化iddenhops)對物理節(jié)點CPU資源請求,但是該文并沒有解決節(jié)點映射,只是假設所有節(jié) 點已經(jīng)映射完成,然后為每條虛擬鏈路W貪婪的方式選擇一條最短可映射路徑,W此來盡 量減少中間隱藏節(jié)點?!禩opolog}f-awarePartialVirtualClusterMappingAlgorithm onSharedDistributedInfrastructures》(ParallelandDistributedSystems,IEEE Transactionson, 2014, 25(10) :2721-2730) -文認為不同的虛擬節(jié)點或鏈路具有不同重 要性,提出一種部分虛擬集群映射(VirtualClusterMapping,VCM)算法,但是該通過設定 闊值的方式來確定節(jié)點和鏈路的重要與否,而且算法只是映射被認為"重要"的鏈路,不適 合虛擬網(wǎng)絡全映射情景。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明的目的是提供一種基于虛擬網(wǎng)絡連接特性的虛擬網(wǎng)絡映射方法,W克服現(xiàn) 有技術的全部或部分缺陷。
[0008] 為了實現(xiàn)上述目的,利用本發(fā)明的虛擬網(wǎng)絡的映射方法將虛擬網(wǎng)絡請求映射到物 理網(wǎng)絡包括W下步驟:
[0009] (1)根據(jù)虛擬網(wǎng)絡鄰接節(jié)點對的親密度將待映射虛擬網(wǎng)絡劃分成映射等級遞增或 遞減的星型子網(wǎng)和鏈路;
[0010] 似利用物理網(wǎng)絡的所有節(jié)點的剩余資源聚集度,將所述星型子網(wǎng)和鏈路按照映 射等級從高到低的順序映射到物理網(wǎng)絡。
[0011] 進一步地,本發(fā)明所述虛擬網(wǎng)絡為簡單圖,物理網(wǎng)絡為簡單連通圖。
[0012] 進一步地,本發(fā)明所述星型子網(wǎng)的節(jié)點的個數(shù)大于等于1 ;其中,當所述星型子網(wǎng) 的節(jié)點的個數(shù)大于1時,所述星型子網(wǎng)為連通圖且至多只有一個節(jié)點的度值大于1。
[0013] 進一步地,在本發(fā)明的一種實施方式中,所述步驟一按W下方法執(zhí)行:
[0014] 步驟(1);計算虛擬網(wǎng)絡所有鄰接節(jié)點對的親密度,設置映射等級變量 QirrentLevel的初始值為LevelO,LevelO為任意實數(shù);
[0015] 步驟(2);判斷當前虛擬網(wǎng)絡是否包含節(jié)點;如果不包含節(jié)點,則結(jié)束對虛擬網(wǎng)絡 的劃分;否則,執(zhí)行步驟(3);
[0016] 步驟(3);判斷當前虛擬網(wǎng)絡是否屬于所述星型子網(wǎng):如果屬于,則將當前虛擬網(wǎng) 絡的映射等級設置為當前映射等級變量化rrentLevel的值,并結(jié)束對虛擬網(wǎng)絡的劃分;
[0017] 如果當前虛擬網(wǎng)絡不屬于所述星型子網(wǎng),則將當前虛擬網(wǎng)絡中親密度最小的鄰接 節(jié)點對之間的虛擬鏈路的映射等級設置為當前映射等級變量化rrentLevel的值,進而將 當前映射等級變量化rrentLevel的值更新為"化rrentLevel+Al",其中,A1為可變的定 向非零數(shù);然后,從當前虛擬網(wǎng)絡中移除該親密度最小的鄰接節(jié)點對之間的虛擬鏈路;接 著,執(zhí)行步驟(4);
[0018] 步驟(4)):檢測當前虛擬網(wǎng)絡中是否存在星型子網(wǎng);如果檢測到星型子網(wǎng),則從 當前虛擬網(wǎng)絡中移除所有檢測到的星型子網(wǎng)所包含的虛擬節(jié)點和虛擬鏈路;然后執(zhí)行步驟 妨姻果未檢測到星型子網(wǎng),則返回執(zhí)行步驟似;
[0019] 步驟巧);按照星型子網(wǎng)的節(jié)點的個數(shù)從少到多的順序,自當前映射等級變量的 值開始,W逐級加A1的方式相應地設置步驟(4)所檢測到的星型子網(wǎng)的映射等級;然后返 回執(zhí)行步驟(2)。
[0020] 進一步地,在本發(fā)明的另一種實施方式中,所述步驟一按W下方法執(zhí)行:
[0021] 步驟(1);計算虛擬網(wǎng)絡所有鄰接節(jié)點對的親密度,設置映射等級變量 CurrentLevel的初始值為LevelO,LevelO為任意實數(shù);
[002引步驟(2);判斷當前虛擬網(wǎng)絡是否包含節(jié)點;如果不包含節(jié)點,則結(jié)束對虛擬網(wǎng)絡 的劃分;否則,執(zhí)行步驟(3);
[0023] 步驟(3);判斷當前虛擬網(wǎng)絡是否屬于所述星型子網(wǎng):如果屬于,則將當前虛擬網(wǎng) 絡的映射等級設置為當前映射等級變量的值,并結(jié)束對虛擬網(wǎng)絡的劃分;
[0024] 如果當前虛擬網(wǎng)絡不屬于所述星型子網(wǎng),則將當前虛擬網(wǎng)絡中親密度最小的鄰接 節(jié)點對之間的虛擬鏈路的映射等級設置為當前映射等級變量化rrentLevel的值,進而將 當前映射等級變量化rrentLevel的值更新為"化rrentLevel+A1";然后,從當前虛擬網(wǎng)絡 中移除該親密度最小的鄰接節(jié)點對之間的虛擬鏈路,并將星型子網(wǎng)的個數(shù)n的值重置為0 ; 接著,執(zhí)行步驟(4);其中,A1為可變的定向非零數(shù);
[00巧]步驟(4);檢測當前虛擬網(wǎng)絡中是否存在星型子網(wǎng);如果檢測到星型子網(wǎng),則將星 型子網(wǎng)的個數(shù)n更新為檢測到的星型子網(wǎng)的總數(shù)量,并從當前虛擬網(wǎng)絡中移除所有檢測到 的星型子網(wǎng)所包含的虛擬節(jié)點和虛擬鏈路;然后執(zhí)行步驟巧);
[0026] 如果未檢測到星型子網(wǎng),則執(zhí)行步驟巧);
[0027] 步驟巧);判斷當前星型子網(wǎng)的個數(shù)n是否大于0;如果當前星型子網(wǎng)的個數(shù)n大 于0,則按照星型子網(wǎng)的節(jié)點的個數(shù)從少到多的順序,自當前映射等級變量化rrentLevel 的值開始,W逐級加A1的方式相應地設置該n個星型子網(wǎng)的映射等級,進而將當前映射等 級變量的值更新為化rrentLevel+n*A1,并將星型子網(wǎng)的個數(shù)n的值重置為0,然后返回執(zhí) 行步驟(2);
[002引如果當前星型子網(wǎng)的個數(shù)n等于0,則返回執(zhí)行步驟(2)。
[0029] 進一步地,本發(fā)明所述虛擬網(wǎng)絡鄰接節(jié)點對的親密度按W下公式(1)所示的方法 計算:
[0030] (1)
[OOW 其中,K的',嗎表示虛擬網(wǎng)絡中的鄰接節(jié)點對<一";之間的親密度,C,"、c";分 別表示虛擬節(jié)點<、n;請求的CPU資源,的?";)表示虛擬鏈路(皆,<)請求的帶寬資 源,Mar(0表示由物理網(wǎng)絡設備提供商預先設定的虛擬節(jié)點請求的CPU資源的最大值,入 為壓縮常數(shù)。
[0032] 進一步地,本發(fā)明所述壓縮常數(shù)A的取值為4。
[0033] 進一步地,本發(fā)明所述步驟二的方法是按照映射等級從高到低的順序分別對每個 待映射的星型子網(wǎng)和鏈路執(zhí)行W下步驟:
[0034] 如果虛擬網(wǎng)絡請求所要映射的是鏈路,則計算得到可映射的物理路徑;
[0035] 如果虛擬網(wǎng)絡請求所要映射的是星型子網(wǎng),則根據(jù)星型子網(wǎng)的節(jié)點的個數(shù)分別采 取W下映射策略:
[0036] 如果星型子網(wǎng)的節(jié)點的個數(shù)大于1,則在物理網(wǎng)絡中選取剩余資源聚集度最大且 滿足CPU資源請求和鏈路資源請求的物理節(jié)點,然后將該星型子網(wǎng)的中屯、節(jié)點映射到該物 理節(jié)點;按照端節(jié)點與該星型子網(wǎng)的中屯、節(jié)點的親密度從大到小的順序確定該星型子網(wǎng)的 各端節(jié)點的先后映射順序,均W該星型子網(wǎng)的中屯、節(jié)點所映射的物理節(jié)點為起點,采用寬 度優(yōu)先捜索方法為每一個端節(jié)點捜索可映射的物理節(jié)點和物理路徑,將該星型子網(wǎng)的各端 節(jié)點映射到可映射的物理節(jié)點,并將各端節(jié)點與中屯、節(jié)點之間的虛擬鏈路映射到為該端節(jié) 點選取可映射的物理節(jié)點的過程中所確定的寬度