彈性光網絡實驗四、彈性光網絡中的網絡虛擬化仿真環境

(>>>>在豆豆諮詢公衆號中輸入彩蛋號,即可獲取仿真環境及C++源碼)

 

彈性光網絡環境下的網絡虛擬化中的虛擬光網絡映射成爲近年來的研究熱點,在文獻[Y. Wang, Z. McNulty, and H. Nguyen. Network Virtualization in Spectrum Sliced Elastic Optical Path Networks. J. Lightw. Technol., vol. 35, no. 10, pp. 1962–1970, May. 2017.]中,提出了基於路徑和基於路徑-通道模型的算法(分別爲P-OVNE和PC-OVNE),以下將介紹性能比較所採用的仿真環境,並提供仿真實驗所需要的虛擬網絡和物理網絡下載。

一、性能比較算法及指標

文章比較了三種算法,如下所示:

1)P-OVNE: path-based model.

2)PC-OVNE: path-channel-based model.

3)M-OVNE: based on the concept of maximum continuous slot-block [L. Gong and Z. Zhu, “Virtual optical network embedding (VONE) over elastic optical networks,” J. Lightw. Technol., vol. 32, no. 3, pp. 450–460, Feb. 2014.].

  1. 虛擬網絡和物理網絡

虛擬網絡:隨機產生[2,10]的節點數量n;節點之間的連接概率爲0.5,即意味着n*(n-1)/4條鏈路;每個虛擬節點請求隨機產生(0,10]的CPU計算能力;每條虛擬鏈路的帶寬請求在[12.5,125]Gb/s範圍隨機產生;到達的虛擬網絡請求符合泊松分佈,每100個時間單元內平均到達4個虛擬網絡請求;每個虛擬網絡請求的生存時間符合指數分佈,平均1000個時間單元。

Erlang=到達率*生存時間[2012. Xiang Zhou, Wei Lu, Long Gong, Zuqing Zhu. Dynamic RMSA in Elastic Optical Networks with an Adaptive Genetic Algorithm. Globecom 2012. DOI: 10.1109/GLOCOM.2012.6503559],或者Erlang=lanbuda*mu,lanbuda表示虛擬光網絡的動態請求到達服從泊松過程,平均每秒或者每個事件窗將產生lanbuda個請求,每個請求的生存時間服從指數分佈,平均值爲mu秒或者mu個時間窗。依據該公式,Erlang=4*10=40。

定義Erlang:

1)在文獻[2018 Virtual Network Embedding with Adaptive Modulation in Flex-grid Networks. Journal of Lightwave Technology. DOI:10.1109/JLT.2017.2764940]中定義了Erlang:The algorithms are evaluated in dynamic traffic scenarios, where VN request arrivals are assumed to follow a Poisson process with rate λ and their holding times are assumed to have a negative exponential distribution with a mean 1/μ . The traffic load of network is calculated as λ/μ (Erlang), and for simplicity, we set μ  equal to 1 then the network load is λ  (Erlang).

在該篇文章中,流量負載(Traffic Load)分別評估了Erlang等於0.8、0.9、1.0、1.1、1.2、1.3和1.4下的算法性能,對應的是Erlang=λ.μ ,則Erlang同樣等於0.8、0.9、1.0、1.1、1.2、1.3和1.4。

2)在文獻[2012. Xiang Zhou, Wei Lu, Long Gong, Zuqing Zhu. Dynamic RMSA in Elastic Optical Networks with an Adaptive Genetic Algorithm. Globecom 2012. DOI: 10.1109/GLOCOM.2012.6503559] The requests are generated according to a Poisson process with a rate of λ requests per service provision period, and the duration of a request follows an exponential distribution with an average value of μ service provision periods. Hence, the traffic load can be quantified with λ · μ in Erlangs.

在該篇文章中,評估了Erlang分別爲300、400、500、600、700、800、900、1000下的算法性能。

物理網絡:隨機產生[5,20]的節點數量,節點之間的連接概率爲0.5,CPU計算能力符合(0,50]均勻分佈。在大部分實驗中,單根光纖的頻譜槽數量設爲20。

假設BPSK、QPSK、8QAM和16QAM信號傳輸距離能夠達到375、750、1500和3000km,則虛擬請求d在路徑p上的傳輸所需要的頻譜槽數量爲NSd,p計算公式:

NSd,p=BWd/(12.5*mp)

其中mp=1,2,3,4 分別對應的是BPSK、QPSK、8QAM和16QAM。

在其中一組計算時間分析實驗中,每條光纖的頻譜槽數量爲20,評估消耗的頻譜資源數量。

在其中一組目標最優化分析實驗中,在輔助圖在15個節點、k最短路徑的數量爲3,頻譜槽的數量分別爲10、20、30、40。

  1. 性能比較指標

1)計算時間分析:每條光纖的頻譜槽數量爲20,每個場景映射200個虛擬網絡,輔助圖的大小分別爲10、15和20,路徑條數k分別爲2、3和4。由於輔助圖節點爲虛擬節點數量+物理節點數量,其設定爲10、15和20,難以確定具體的測試環境,例如輔助圖節點爲10,虛擬節點的數量如果在[2,10]範圍隨機分佈,那麼物理網絡的節點數量該如何確定,才能保證輔助節點數量在10呢?或者在固定物理網絡和虛擬網絡節點數量的情況下,統計了計算時間。

2)目標最優化分析:在物理網絡節點數量爲20,虛擬網絡節點數量爲2、4、6、8、10,以及k爲1、2、3、4、5最短路徑,每條光纖的頻譜槽數量爲10、20、30、40下,由於不同算法下消耗的頻譜槽數量基本一致,因此只取了OVNE代表這三種算法的實驗結果,只與經典的VNE進行了比較。這是非常重要的一組數據,很可惜沒有看到具體與現有的OVNE算法進行比較。

3)阻塞率分析:應該在物理網絡節點數量在[20](在仿真環境中說明了物理網絡節點分佈在[5,20]),虛擬網絡節點數量分佈在[2,10],評估了不同算法下,虛擬網絡阻塞率幾乎相同,因此只取了OVNE代表這三種算法的實驗結果;評估了k爲3、4、5最短路徑下的阻塞率;並與經典的VNE進行了比較。這是最重要的一組數據,很可惜沒有看到具體與現有的OVNE算法進行比較,且沒有說明單纖下的頻譜槽具體數量,猜測是20。

二、仿真環境下載

  1. 虛擬網絡及物理網絡集合下載

我們將提供構造的程序、虛擬網絡集合和物理網絡集合,以供自己保存及網友提供下載。

1)物理網絡

命令爲./sub 5:表示創建節點爲5個的物理網絡,文件名的表示如下所示:

  1. Sub-x-y-b-c:x表示節點數量,y表示cpu符合(0,y]均勻分佈,b代表帶寬(0,b]均勻分佈,c代表着類型。隨機產生[5,20]的節點數量,節點之間的連接概率爲0.5,CPU計算能力符合(0,50]均勻分佈。

備註:

a. 在命令中除了直接輸入./sub 5之外,在define.h中定義了網絡的類型、cpu和bw的分佈,如下所示:

1CPU和BW配置

#define MAX_CPU 100

#define MAX_BW 1000

2物理網絡類型配置

#define TOPO_GENERAL 0

#define TOPO_STAR 1

#define TOPO_TREE 2

#define TOPO_HUBS 3

b. 根據創建的物理網絡,可以根據CPU和BW,靈活配置創建更加靈活的物理網絡,例如已經存在sub-20-100-1000的物理網絡,則可以根據這個物理網絡創建CPU爲(0,50]的物理網絡,方法是在sub-20-100-1000中CPU/2即可實現。同理,可以設置BW爲路徑長度。

C.在大部分實驗中,單根光纖的頻譜槽數量設爲20。

2)虛擬網絡

命令:./mkreq 5000 1 100 1 req-erl-50 50 1000

5000:生成的虛擬網絡數量;

1:允許的路徑分裂率,目前沒有用到;

100:表示帶寬範圍在(0,1000);

1:拓撲結構,目前沒有用到;

req-erl-50:目錄結構;

50:頻譜槽數量,目前沒有用到;

1000:表示一個VN生成時間爲10個時間窗;

目錄結構:reqs-erl40-4-10-50-100-5000-0:erl40表示Erlang=40,4表示每個時間窗平均有4個虛擬網絡請求,10表示一個時間窗平均有10個虛擬網絡請求到來,50表示(0,50]CPU,100表示(0,100]的帶寬,5000表示虛擬網絡數量,0表示第一組;

創建的虛擬網絡與以下兩個宏有關:

#define TOTAL_TIME 125000:表示有125000個時間單元,1250個時間窗;

#define POISSON_MEAN 4:表示每個時間窗平均有4個虛擬網絡請求;

則,虛擬網絡數量:1250*4=5000個。

 

argv[1]  n:100,表示100個VN;

argv[2]splittable_rate:1,表示分裂率;

argv[3]link_rate:100,表示0-100之間的帶寬;

argv[4]topo_general_rate:1,表示拓撲結構;

argv[5]reqfilename:reqs-erl-100,表示erlang=100虛擬光網絡目錄;

argv[6]slotSpeed:100,表示0-100之間的slot槽數量;

argv[7]dura:1000,表示一個VN生成時間爲10個時間窗;

 

(3)物理網絡和虛擬網絡下載

壓縮文檔包括如下目錄:

物理網絡:

  1. Sub-x-y-b-c:x表示節點數量,y表示cpu符合(0,y]均勻分佈,b代表帶寬(0,b]均勻分佈,c代表着類型。隨機產生[5,20]的節點數量,節點之間的連接概率爲0.5,CPU計算能力符合(0,50]均勻分佈。

例如sub-20-50-1000:20表示物理節點有20個節點,50表示CPU滿足(0,50],1000表示帶寬符合(0,100],c代表類型#define TOPO_GENERAL 0。壓縮包文檔的sub如下所示。

虛擬網絡:

(1)Erlang=40

  1. 10組虛擬網絡(reqs-erl40-4-10-50-125-5000-0到reqs-erl40-4-10-50-100-5000-9):Erlang=40,4表示每個時間窗4個虛擬網絡請求,10表示每個虛擬網絡生存時間平均有10個時間窗,50表示(0,50)CPU,125表示(0,125)帶寬,5000表示5000個虛擬網絡,總的時間窗爲1250,即時間單元爲125000,由於每個時間窗有4個虛擬網絡請求,那麼總共有1250*4=5000個虛擬網絡請求,拓撲結構爲TOPO_GENERAL,每個虛擬網絡的節點數量[2,10)。

這10組虛擬網絡的文件夾是reqs-erl40-50-125。

創建的命令:./mkreq 5000 1 12.5 1 ../reqs/reqs-erl40-4-10-50-125-5000-0 50 1000

  1. 10組虛擬網絡(reqs-erl40-4-10-10-125-5000-2-0到reqs-erl40-4-10-10-125-5000-2-9):Erlang=40,4表示每個時間窗4個虛擬網絡請求,10表示每個虛擬網絡生存時間平均有10個時間窗,10表示(0,10)CPU,125表示(0,125)帶寬,5000表示5000個虛擬網絡,總的時間窗爲1250,即時間單元爲125000,由於每個時間窗有4個虛擬網絡請求,那麼總共有1250*4=5000個虛擬網絡請求,拓撲結構爲TOPO_GENERAL,每個虛擬網絡的節點數量[2,10)。

這10組虛擬網絡的文件夾是reqs-erl40-10-125。

創建的命令:./mkreq 5000 1 12.5 1 ../reqs/reqs-erl40-4-10-10-125-5000-0 50 1000

(2) Erlang=100

10組虛擬網絡(reqs-erl100-10-10-50-125-5000-0到reqs-erl100-10-10-50-100-5000-9):Erlang=100,10表示每個時間窗10個虛擬網絡請求,10表示每個虛擬網絡生存時間平均有10個時間窗,50表示(0,50)CPU,125表示(0,125)帶寬,5000表示5000個虛擬網絡,總的時間窗爲500,即時間單元爲50000,拓撲結構爲TOPO_GENERAL,每個虛擬網絡的節點數量[2,10)。

這10組虛擬網絡的文件夾是reqs-erl100-50-125。

創建的命令:./mkreq 5000 1 12.5 1 ../reqs/reqs-erl40-4-10-50-125-5000-0 50 1000

(3) Erlang=200、300、400、500

文件夾的內容如下所示,每個文件夾包含了10組數據,每組數據包含5000個虛擬請求。

  1. 創建物理網絡及虛擬網絡請求的C++

運行環境在redhat,創建物理網絡的命令:./mksub,創建虛擬網絡的命令:./mkreq,修改了命令之後,需要重新make編譯一下,文件夾內容如下:

  1. 實際的網絡拓撲結構

用於評估網絡的拓撲結構通常有以下幾種:

[2017. Michal Aibin, Krzysztof Walkowiak, Arunabha Sen. Software-defined adaptive survivability for elastic optical networks. Optical Switching and Networking, 2017, 23:85-96] US26 network (26 nodes, 84 unidirectional links and 7 DCs) and Euro28 network (28 nodes, 82 unidirectional links and 7 DCs). In all these scenarios, the entire band of 2 THz spec- trum divided into 6.25 GHz frequency slices has been made available, resulting into 320 slices. The networks have three interconnection points to the other networks that are used to carry international traffic. The data provided by determines the location of DCs and interconnection points (e.g., locations for submarine cable landing stations). We take into consideration the physical impairment of links (fiber attenuation, component in sertion loss) and use regenerators to amplify the signal in the links that require higher MFs. The location of the regenerators is set on the initiation of the simulation; 100 regenerators are assigned to each node.

  • 源代碼及仿真環境下載

1、在“豆豆諮詢”公衆號裏,輸入彩蛋號即可獲得下載地址:

源代碼及仿真環境下載的彩蛋號:2002;

2、如果有疑問或者需要幫助,請加入QQ羣(羣名稱:豆豆諮詢,羣號:625686304);或者公衆號douAsk,公衆號名稱爲“豆豆諮詢”。掃描以下二維碼,關注“豆豆諮詢”

技術QQ羣名稱:豆豆諮詢,羣號:625686304

微信公衆號名稱:豆豆諮詢,微信公衆號:douAsk

 

如果覺得有用,請動動手指,分享該文章!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章