1. 程式人生 > >SDN網路虛擬化中有效協調的對映演算法

SDN網路虛擬化中有效協調的對映演算法

來自論文An efficient and coordinated mapping algorithm in virtualized SDN networks

1.Introduction

  這篇文章關注於虛擬SDN網路中的對映技術。不同於先前的工作,這篇文章是第一個考慮了控制器放置和VN對映作為結合的vSDN對映問題,並用公式表達它為多目標整形線性規劃問題(integer linear programming ILP)來優化控制器到交換機時延和對映的花費。設計了一個新奇的線上vSDN對映演算法‘CO-vSDNE’來解決它。這個演算法由兩步組成(1)節點對映,解決控制器放置及節點對映;(2)連線對映。

這篇論文主要貢獻:

  1.第一次嘗試線上vSDN對映問題

  2.制定了這個問題為多目標ILP並設計啟發式演算法稱作CO-vSDNE來最小化控制器到交換機時延和對映花費

  3.進行了廣泛時延來評估這個演算法,從時延,花費和收入,生產力等方面。

2.Related work

VN對映由兩個部分組成。虛擬節點對映,對映到底層節點並滿足虛擬節點的資源需求;虛擬連線對映,對映到無迴路底層路徑並滿足虛擬連線資源需求。

先前工作大部分對於傳統網路。也存在一些針對SDN網路。但既沒有考慮控制器放置問題,也沒考慮在節點對映時流表項資源分配問題。(Heller採用交換機和控制器間平均和最大時延作為效能度量,並評估上百種已存在網路拓撲,通過廣泛模擬來找到SDN網路中控制器最佳位置)。

在這個研究中將控制器放置問題和VN對映結合,來對映線上vSDN請求到物理SDN網路中。特別地,引進了控制器放置、虛擬節點對映、和連線對映間的協調。

3.System model

先介紹SDN虛擬化結構,再提供網路模型

3.1 SDN virtualization architecture

FlowVisor結構介紹

3.2Network model

將底層物理SDN基礎設施作為SN,並通過帶權無向網路圖Gs=(Ns,Ls)來模型化它,Ns指的是底層物理節點集合,|Ns|表示總數,Ls表示連線集合。

這篇研究中將CPU能力和可利用TCAM作為節點屬性,將可利用頻寬和時延作為連線屬性。交換機CPU用來處理資訊交流,TCAM用來處理流表。Ps表示無迴路底層路徑在SN中。

一個vSDN請求指定一個租戶的需求,包括VN的拓撲,虛擬節點資源,虛擬連線資源等。類似地模型化一個vSDN請求的VN,Gv=(Nv,Lv)

標註nc為一個vSDN的控制器,虛擬控制連線為集合Lc。對於每個虛擬控制連線lcv∈Lc,我們還考慮到它需要一定量的頻寬在lcv對映的底層路徑中,來避免流量擁塞。

4.Multi-objective optimization for joint VN embedding and the controller placement problem

  解釋各個變數和限制,用來進行效能評估(可跳過)

4.1.1虛擬節點對映

  CPU(ns)、TCAM(ns):底層節點ns的能力;

  CPU(nv)、TCAM(nv):虛擬節點ns的需求量;

  :表示是否虛擬節點ni對映到底層節點nj

  

  同一個VN中,每個虛擬節點對映到不同物理及節點:

    

  3中保證每個節點都對映;4保證不同

4.1.2虛擬連線對映

  Bw(lij):物理連線可以用頻寬,lij∈Ls

  Bw(luv):所需虛擬頻寬

   fijuv表示哪條虛擬路徑luv經過物理lij

  因此有:

  

  連線限制:保證底層連線可連為一條路徑來維護一條虛擬路徑:

  

(當j固定的時候,就會出現前面1後面0)

4.1.3目標

  考慮幾個目標:長期平均回報、長期平均花費、長期回報花費比(R/C)來作為VN的對映目標。

  一個VN對映在t時刻的收益為:(需要的資源綜合)

   

  花費:(分配給VN的資源總和)

    

  因此長期平均收入為:

    

  長期平均花費:

  

  長期R/C比率:

  

  R/C指SN資源利用率

 

 4.2控制器位置

   :控制器nc是否放在底層節點nj

      

  :是否虛擬控制連線lcv穿過底層連線lij

    

  D(lij)表示時延

  D:控制器到交換機平均時延,對於一個vSDN請求:

  

 

 

 

 

 

5.Heuristic algorithm design

5.1.1Controller node mapping

  controller location selection factor(控制器位置選擇因素 CLSF)

  將控制器節點附在底層節點上考慮CLSF。

  底層節點ni的CLSF定義為:

 

  bw(ni,nj)是沿著從ni到nj最短路徑上可利用的頻寬,表示這條路徑上最小頻寬;

  delay(ni,ji)指從ni到ji的流量時延,由ni到nj最短路徑總時延得出。

  (時延越低應該越好,所以放在分母,分子表示資源,越大越好)

  由於虛擬節點對映還沒進行,我們需要將控制器放在底層節點,使其到別的各節點的平均時延最低,這樣才能使平均控制器到交換機時延最小。

 CLSF考慮了從一個節點到其他所有節點的平均時延,同時還考慮了節點可利用資源以及連線頻寬,這使虛擬節點對映和連線對映更加容易。

5.1.2Virtual node mapping

  這階段目標:找到底層節點來維持每個虛擬節點,同時最小化到控制器的時延,並滿足CPU、TCAM需求。

  需預先考慮連線對映。

  首先將虛擬節點更具資源需求的降序排序,一個虛擬節點的需求資源定義為:

   

  L(nv):直接連線到節點nv的相鄰連線;

  節點nv的H越大,表示其需求資源越多,因此越難對映。

  構造一個虛擬節點對映樹(virtual node mapping tree VNMT),能有效減少虛擬連線所對映底層路徑的跳數。

  VNMT是一顆對映樹根據H和VN的拓撲構建。

  具體如下:對於給定的VN。先選最大的H值得節點作為根節點。然後與根節點由虛擬連線直接相連的虛擬節點作為其孩子節點根據H值降序從左到右連線。其他虛擬節點相似的遞迴構造。

在勾走好VNMT之後,CO-vSDNE採用廣度優先來對映。對於VNMT根節點,CO-vSDNE用最大H來對映到底層節點,H代表底層節點可利用資源。對於其它虛擬節點CO-vSDNE用最大NR來對映,NR是一個在虛擬節點對映階段選擇底層節點的度量(在公式31中)。當對映nv時,先建立候選底層節點集Ω(nv),由沒在相同vSDN中被對映的底層節點,並且可利用資源滿足nv需要的節點組成。如:

 

  然後將節點nv對映到候選底層節點ns根據最大NR值:

 

  H(ns)代表底層節點ns的可利用資源,由公式29得出。

  MN(nc)表示控制器nc所在的底層節點,

  delay(MN(nc), ns)表示從MN(nc)到ns的控制資訊時延,

  f(nv)表示在VNMT樹種nv的父節點,

  MN(f(nv))表示f(nv)所對映的底層節點

  hops(MN(f(nv)), ns)表示在SN中從f(nv)到ns的最短路徑跳數

(這公式意思是可利用的資源越多,到前一個節點和到控制器時延越小,就優先選擇)

選擇的原因:

 (1)底層節點由高H,表示底層節點資源豐富,選擇高的H有助於平和底層節點的壓力

 (2)低的delay(MN(nc), ns)可減少控制器到交換機時延

 (3)如果hops(MN(f(nv)), ns)太大,nv和f(nv)間虛擬連線花費就會太大,根據公式8,這就會導致SN的低資源利用率。

  因此根據VNMT和NR虛擬連線節點對映演算法可以保持對映的底層節點連線互相靠近,這有利於接下來的虛擬連線對映

5.2LInk mapping

  與先前工作相似,CO-vSDNE採用k最短路徑演算法來對映。虛擬連線所對映的不同底層路徑可能使用相同的底層連線,導致有限頻寬資源的競爭,這就使根據大的頻寬需求來對映變得很困難。

因此大的頻寬需求的連線應優先對映。具體說來,為了對映虛擬控制連線lcv∈LC,連線對映演算法搜尋k最短路徑通過增加k,如果找到一個路徑集合有相同的跳數並滿足頻寬需求就停止搜尋。

然後將lcv對映到這集合中最小時延的底層路徑。虛擬連線對映也是如此。

        

 

5.3 CO-vSDNE algorithm

現實場景,多個vSDN請求可能同時到達。因此設計演算法每個固定時間間隔執行一次。這時間間隔取決於即將到來的vSDN請求的允許等待時間和對映處理時間。

根據收益降序排序vSDN請求

對於所有未對映vSDN請求迴圈操作

(1)選收益最大

(2)節點對映

(3)連線對映

成功修改狀態,失敗標記失敗繼續迴圈