《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于SDN的虛擬網絡映射技術的研究與實現
基于SDN的虛擬網絡映射技術的研究與實現
2015年微型機與應用第13期
桂燕興,沈蘇彬,毛燕琴
南京郵電大學 計算機學院,江蘇 南京 210003
摘要: 基于SDN技術的虛擬租戶網絡(VTN)能夠使得數據中心網絡向多個租戶提供互相隔離的虛擬網絡。VTN提供了VLAN映射、端口映射用于將虛擬網絡節點與物理網絡節點進行映射。其中VLAN映射需要對每個主機配置VLAN id,增加了映射的復雜性;端口映射時一旦出現交換機端口故障便不能成功映射。為解決上述問題,本文提出了基于MAC地址映射方法,即通過主機的MAC地址直接與虛擬節點進行映射。通過搭建OpenDaylight實驗平臺驗證了該方法的可行性。結果表明,該方法能夠解決以上映射中的不足,簡化了VTN網絡與底層網絡映射配置,提高了VTN的性能。
Abstract:
Key words :

  摘  要: 基于SDN技術的虛擬租戶網絡(VTN)能夠使得數據中心網絡向多個租戶提供互相隔離的虛擬網絡。VTN提供了VLAN映射端口映射用于將虛擬網絡節點與物理網絡節點進行映射。其中VLAN映射需要對每個主機配置VLAN id,增加了映射的復雜性;端口映射時一旦出現交換機端口故障便不能成功映射。為解決上述問題,本文提出了基于MAC地址映射方法,即通過主機的MAC地址直接與虛擬節點進行映射。通過搭建OpenDaylight實驗平臺驗證了該方法的可行性。結果表明,該方法能夠解決以上映射中的不足,簡化了VTN網絡與底層網絡映射配置,提高了VTN的性能。

  關鍵詞: SDN;VTN;VLAN映射;端口映射;MAC地址

0 引言

  隨著云服務規模的擴大,云計算服務提供商需要向大量租戶提供相互隔離的、具有質量保證的虛擬網絡,即實現網絡即服務(NaaS)模式[1]。傳統構建虛擬網絡具有一定的局限性。其中VLAN具有個數限制以及配置VLAN的交換機需要處理大量的虛擬機使得轉發表變得非常巨大[2]。IP覆蓋方法如VXLAN[3]、GRE方法[4],這些方法在新增虛擬機時,虛擬交換機就要更新,缺少糾錯工具使得覆蓋網絡管理復雜。

  基于SDN技術的虛擬租戶網絡(Virtual Tenant Network,VTN)能夠很好地使得數據中心向多個租戶提供互相隔離的虛擬網絡,借助于SDN控制器掌握全網網絡拓撲便于進行集中化控制[5]。解決虛擬網絡與物理網絡的映射問題是實現VTN的核心環節,也是本文的研究重點。

  目前對VTN提供的端口映射、VLAN映射的研究相對成熟。參考文獻[5]提出的端口映射是指通過物理交換機的端口與虛擬網絡的虛擬交換機接口進行映射,但網絡易受到物理交換機端口故障或主機入網位置變動的影響。參考文獻[6]提出的VLAN映射是指根據數據流的VLAN id與虛擬交換機進行映射,但需要對每個主機配置VLAN id且VLAN存在個數限制。

  本文在現有映射技術的基礎上,針對基于SDN技術的虛擬租戶網絡技術,提出了基于主機MAC地址進行虛擬網絡的映射,并對基于主機MAC地址的映射方案進行設計以及實現。實驗結果表明,基于MAC地址的映射機制具有一定的可行性,解決了物理交換機故障對網絡的影響,簡化了VTN網絡與底層網絡映射的配置,提高了VTN的性能。

1 基于SDN的VTN技術

  1.1 VTN簡介

  虛擬租戶網絡(VTN)所解決的場景就是現在數據中心網絡的場景。不同租戶需要不同的網絡配置,運行不同的應用程序。而這些需求將在同一個物理網絡中實現,達到資源的共用。如果不建立虛擬網絡,那么在同一物理網絡中分別針對不同租戶進行配置和管理,情況將變得十分復雜[7]。

  本節主要介紹了VTN的網絡架構。租戶將通過VTN應用程序建立所需的虛擬網絡,該虛擬網絡能夠自動與物理網絡進行映射。其中與物理網絡映射是VTN的核心問題,也是本文研究的重點。

  如1圖所示,VTN由兩個關鍵部分組成:VTN Coordinator和VTN manager。其中VTN manager向VTN Coordinator提供了建立虛擬網絡的APIs。該虛擬網絡由虛擬節點、虛擬鏈路、虛擬接口組成,如表1所示。

Image 001.png

  VTN協調組件向VTN應用程序提供REST API,供用戶建立虛擬網絡,當虛擬網絡跨越多個SDN控制器網絡時,支持多個控制器之間的合作配置,支持動態添加控制器和刪除控制器。

  1.2 VTN網絡與物理網絡映射

  一旦租戶通過調用VTN接口建立虛擬網絡,該虛擬網絡就能夠與物理網絡進行映射,VTN通過這些映射關系調用SDN控制器routing功能接口計算節點間的轉發路徑,然后告訴SDN控制器的forwarding rules轉發規則功能模塊添加什么樣的流表,并通過SDN控制協議向各個交換機下發轉發規則。

  VTN映射分為兩個方面:虛擬節點映射以及虛擬鏈路映射。VTN的鏈路映射問題由SDN控制器決定,SDN控制器掌握全網網絡拓撲以及資源信息,根據自身的路徑計算功能,指定節點之間的路徑。因此本文只討論VTN的節點映射問題。目前VTN節點映射方法包括以下兩種:

  (1)VLAN映射:利用網包的VLAN id與vBridge進行映射。

  (2)端口映射:利用網包到達的物理交換機號、端口號、網包的VLAN號(如果沒有劃分VLAN,則VLAN id默認為0)與虛擬網絡中的虛擬節點vBridge的接口進行映射。

  這些映射配置完成后,VTN manager存儲這些映射關系,判斷數據流所屬的虛擬網絡,并按照相應的虛擬網絡轉發規則進行轉發。

  圖2所示為虛擬交換機通過VLAN映射、端口映射與底層物理網絡的交換機進行映射。

Image 002.png

  通過VLAN映射與端口映射都能夠使物理交換機與虛擬交換機相對應,但都具有一定的缺點。VLAN映射的缺點是每個主機都要進行VLAN的配置,且VLAN有個數限制,使得網絡容量受限,不易擴展。端口映射的缺點是當虛擬網絡的數量和規模增大時,端口映射表巨大,而且該種映射配置屬于靜態配置,一旦與物理交換機相連的主機位置改變或者物理交換機發生故障都會相應地影響虛擬網絡的可靠性和安全性。

  為了改善以上映射的不足,本文提出基于MAC地址的映射。

2 設計與實現

  2.1 MAC地址映射模塊設計目標

  MAC地址映射,就是根據主機的MAC地址與虛擬交換機vBridge進行映射。MAC地址映射過程如下:

  (1)與主機直接接入的物理交換機第一次收到來自主機的數據流時,會將其封裝在packet-in中發給控制器。

  (2)控制器根據VTN manager中存儲的映射關系,判斷該數據流屬于哪個虛擬網絡,根據該虛擬網絡的路徑規則以流表的形式下發到物理交換機上。

  其中虛擬網絡的路徑是由VTN manager根據映射關系調用SDN控制器提供的路徑計算routing功能來計算,并把計算結果通過API調用SDN控制器提供的forwarding rules模塊,添加相應的流表信息,然后forwarding rules模塊把要求發給相對應的協議插件(protocol plugin),由協議插件打包信息發給底層交換機。

  (3)當交換機收到轉發規則后,對該主機的數據流進行轉發。具體流程如圖3所示。

Image 003.png

  因此要實現MAC地址映射,VTN manager需要添加如下功能:

  (1)獲取主機信息,即SDN網絡下主機的MAC地址。

  (2)記錄分配給虛擬網絡的主機MAC地址信息以及未分配的主機MAC地址。

  (3)為了防止其中一個已經分配的主機再次分配給新的虛擬網絡,需要對主機進行標記。

  (4)在已有的MapType中添加MacMap,即VTN manager可實現的三種類型的映射。前兩種是端口映射、VLAN映射。

  (5)實現MacMap啟動程序。

  當MacMap機制啟動后,屬于VTN網絡的主機向Openflow交換機發送數據包,VTN管理組件通過控制器向該Openflow交換機下發流表轉發規則,虛擬交換機vBridge具有自學習終端信息的能力,并配置MAC轉發表。最終使得VTN網絡中的主機能夠互相到達。

  2.2 MAC地址模塊實現

  本文在研究Opendaylight開源控制器功能以及VTN manager功能基礎上,實現了基于MAC地址虛擬網絡資源與物理網絡資源的映射。其中Opendaylight控制器提供了拓撲管理、routing路由計算、forwarding rules流表添加模塊、Arphandler模塊等功能[8];VTN manager向用戶提供了構建虛擬網絡的資源,包括虛擬交換機、虛擬鏈路等,存儲用戶的物理資源與虛擬資源的映射信息,根據這些映射信息通過API調用routing功能接口,計算相應的路徑,并通過控制器中的流表添加模塊添加相應的流表,最后打包給底層物理交換機[9]。

  其中,在VTN manager中實現基于MAC地址映射需要實現如下功能:

  (1)獲取SDN網絡下主機信息,該功能通過調用SDN控制器提供的HostTrack功能接口實現。部分實現代碼如下:

  public class host {

  public void GetHost() throws IOException, JSONException{

  JSONObject response=

  client.json(odl.resolve("hosttracker/default/hosts/active")).toObject();//解析控制器中hosttrack的信息

  JSONArray data=response.getJSONArray

  ("hostConfig");

  (2)因為物理交換機處理的是幀,因此獲取主機信息后,需要記錄所有的主機MAC地址。然后對屬于或不屬于VTN網絡的主機進行記錄,創建MacMapConfig類,該類作為MacMap機制的配置信息,指出了已經分配的主機和沒有進行分配的主機。通過列表來實現部分代碼如下:

  Public class MacMapConfig implements Serializable

  {Private final Set<DataLinkHost>allowedHosts=

  New HashSet<DataLinkHost>();//分配的主機

  Private final Set<DataLinkHost>deniedHosts=

  New HashSet<DataLinkHost>();//未分配的主機

  (3)應用MacMapPortBusyLog類來記錄該主機有沒有其他的映射。

  Public final class MacMapPortBusyLog{

  Private final MacVlan host;

  Private final NodeConnector port;

  //與主機相連的交換機端口

  Private final MapReferenceotherMap;

  //判斷該端口有無別的映射

  (4)在VTN manager提供的MapType中添加MacMap。部分代碼如下:

  Enummaptype

  {portmapping,vlanmapping,macmapping}

  (5)實現MacMap啟動程序。當與主機直接接入的物理交換機端口已經映射,且該端口不存在其他映射則可啟動。部分代碼如下:

  Public MacMapActivation(NodeConnectorport,PortMapreleased,boolean activated){...}

  以上功能是MacMap機制的主要功能,除此之外還需要其他一些補充,限于篇幅不再贅述。將MacMap一系列代碼結合VTNmanager功能以及Opendaylight控制器,可實現簡單的MacMap機制,最終以接口的形式供租戶進行調用,即通過調用MacMap機制使得虛擬節點與物理網絡設備進行映射。

3 測試與分析

  3.1 測試環境

  服務器端:物理主機上運行ubuntu12.04系統,配置Java環境,安裝Opendaylight控制器,安裝VTN Manager。數據轉發網絡采用Mininet進行模擬[10]。

  客戶端:物理主機上運行ubuntu12.04系統,配置Java環境,安裝myeclipse。其中myeclipse中導入了必要的控制器jar包、VTN manager.jar包以及MacMap機制下的代碼。

  3.2 測試步驟與結果分析

  (1)在服務器端運行Opendaylight控制器,運行VTN manager并用Mininet創建轉發網絡(包括4臺主機、3臺openflow交換機),關閉Opendaylight控制器默認的網絡轉發應用,使得四臺主機彼此不可達。建立網絡的命令如下:

  Sudomn--controller=remote,ip=<controller-ip>--topotree,2

  (2)配置網絡使得客戶端與服務器端可連接,通過運行myeclipse,打開MacMap機制,使之運行。通過調用控制器HostTrack功能接口得到四臺主機的MAC地址。

  (3)在服務器端的終端輸入命令實現如下流程:

  建立VTN1→在VTN中建立虛擬交換機vBridge1→建立MacMap。

  即調用MacMap接口使得h1的MAC地址、h3的MAC地址與虛擬交換機vBridge進行映射,如圖4所示。命令如下:

  Curl-X PUT http://localhost:8080/controller/nb/v2/vtn/default/vtns/Tenant1/vBridge1/macmap-d′{“host1mac”:{4e:3a:e0:40:2c:5b},“host3mac”:{9e:3b:56:a7:4a:e7}}′

Image 004.png

  然后應用mininet執行h1和h3的ping操作。最終兩臺主機可以ping通,如圖5所示,h1和h3已被劃分在同一個VTN虛擬網絡中。

Image 005.png

  實驗結果表明,VTN虛擬網絡可以通過指定的主機MAC地址使得與主機直接接入的物理交換機與虛擬交換機進行映射,即使租戶的主機接入位置發生改變也不影響VTN網絡,使得租戶可以靈活接入網絡。由于不需要額外對端口進行固定配置,簡化了VTN manager的能力。由于獲取主機信息可直接通過調用控制器提供的功能接口,使得虛擬網絡與物理網絡之間的映射變得簡單。同時網絡的容量也得到一定的提高。

4 結束語

  本文通過研究基于SDN的虛擬租戶網絡VTN技術,分析了虛擬網絡與物理網絡之間的映射,提出了基于主機的MAC地址的映射方法,該方法解決了終端主機的移動性問題,對基于主機MAC地址的映射方案進行了系統的描述,對MAC地址模塊進行了技術實現。實驗結果表明,所提出的基于MAC地址的映射方案具有一定的可行性,提高了VTN網絡的可靠性,簡化了VTN映射機制。目前研究僅限于在單SDN控制器下租戶網絡的建立,未來還需繼續研究在多租戶技術下基于MAC地址映射機制建立VTN虛擬網絡。

參考文獻

  [1] KEMPF J, ZHANG Y, MISHRA R, et al. Zeppelin-a third generation data center network virtualization technology based on SDN and MPLS[C]. Cloud Networking (CloudNet), 2013 IEEE 2nd International Conference on. IEEE, 2013:1-9.

  [2] BARI M F, BOUTABA R, ESTEVES R, et al. Data center network virtualization: a survey[J]. Communications Surveys & Tutorials, IEEE, 2013,15(2):909-928.

  [3] KANG S H, KWAK J Y, LEE B Y, et al. The study on configuration of multi-tenant networks in SDN controller[C].Advanced Communication Technology (ICACT), 2014 16th International Conference on, 2014:1223-1226.

  [4] LARA A, KOLASANI A, RAMAMURTHY B. Network innovation using OpenFlow: a survey[J]. OmmnaonRvy& Oral, 2014, 16(1):493-512.

  [5] 陳琳,吳強.基于SDN技術構建數據中心虛擬網絡[J].互聯網天地,2013(1):40-44.

  [6] DAS S, SHARAFAT A R, PARULKAR G, et al. MPLS with a simple OPEN control plane[J]. Optical Fiber Communication Conference and Exposition(OFC/NFOEC),2011(10):1-3.

  [7] MUDIGONDA J, YALAGANDULA P, MOGUL J, et al. NetLord: a scalable multi-tenant network architecture for virtualized datacenters[J]. ACM SIGCOMM Computer Communication Review, 2011, 41(4): 62-73.

  [8] CASADO M, KOPONEN T, RAMANATHAN R, et al. Virtualizing the network forwarding plane[C]. Proceedings of the Workshop on Programmable Routers for Extensible Services of Tomorrow, ACM, 2010: 8.

  [9]  ELFERKOUSS O, CORREIA S, BEN A R, et al. Opendaylight: towards a model-driven SDN controller architecture[C]. Global Telecommunications Conference(GLOBECOM 2012), IEEE, 2012:1-6.

  [10] CHEN Z, DONG W, LI H, et al. Collaborative network security in multi-tenant data center for cloud computing[J]. Tsinghua Science and Technology, 2014,19(1):82-94.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲黑丝在线| 中国成人亚色综合网站| 欧美承认网站| 久久九九有精品国产23| 午夜久久久久久| 一区二区三区色| 日韩视频永久免费观看| 亚洲国产一区二区精品专区| 亚洲私人影院| 亚洲精品四区| 亚洲国产精品久久久久秋霞蜜臀 | 国产一区视频网站| 国产精品一区二区久久| 国产精品裸体一区二区三区| 欧美日韩岛国| 欧美另类人妖| 欧美国产欧美综合 | 亚洲激情午夜| 久久精品女人的天堂av| 久久成人免费网| 欧美一区午夜精品| 欧美在线观看一区二区| 香蕉久久夜色精品国产使用方法| 亚洲欧美精品一区| 亚洲欧美日本视频在线观看| 亚洲综合欧美日韩| 亚洲欧美中日韩| 亚洲女性裸体视频| 欧美一区二区播放| 欧美在线欧美在线| 久久都是精品| 亚洲国产精品一区| 91久久精品一区二区三区| 亚洲高清资源| 亚洲日韩欧美一区二区在线| 亚洲精品乱码久久久久久黑人 | 欧美在线一区二区| 欧美在线在线| 久久婷婷影院| 欧美成人免费全部| 欧美精品一区在线发布| 欧美日韩亚洲高清一区二区| 国产精品国产三级国产aⅴ9色| 亚洲精品黄色| 国产精品免费电影| 国产欧美一区二区精品性色 | 国产精品高潮久久| 国产麻豆综合| 极品av少妇一区二区| …久久精品99久久香蕉国产| 亚洲精品无人区| 亚洲性xxxx| 久久成人精品一区二区三区| 亚洲精品一品区二品区三品区| 中文久久精品| 欧美在线观看天堂一区二区三区| 久久综合电影一区| 欧美日韩调教| 国产一区二区三区av电影| 亚洲级视频在线观看免费1级| 免费成人av资源网| 亚洲一区区二区| 欧美影院成年免费版| 亚洲人成网站精品片在线观看| 中文国产成人精品| 久久久久久久久久久成人| 欧美激情久久久久| 国产精品私人影院| 1024亚洲| 亚洲伊人久久综合| 亚洲福利精品| 亚洲免费网址| 免费中文字幕日韩欧美| 欧美午夜欧美| 在线观看欧美日本| 亚洲视频一区二区在线观看| 亚洲成人直播| 一区二区三区精品在线| 欧美在线|欧美| 一区二区三区色| 久久久亚洲午夜电影| 欧美日韩国产免费观看| 国产日韩一区二区| 亚洲精品社区| 久久国产加勒比精品无码| 中文av一区二区| 米奇777超碰欧美日韩亚洲| 国产精品激情电影| 亚洲国产成人高清精品| 国产日韩欧美自拍| 在线视频亚洲一区| 亚洲国产精品国自产拍av秋霞| 亚洲欧美日韩国产综合| 欧美国产日本在线| 国产亚洲精品aa午夜观看| 亚洲精品视频在线观看免费| 亚洲大胆av| 欧美伊人久久大香线蕉综合69| 欧美99在线视频观看| 国产精品日韩欧美一区| 99精品国产福利在线观看免费| 亚洲国产乱码最新视频| 午夜亚洲激情| 欧美日本三级| 国产午夜亚洲精品不卡| aa级大片欧美三级| 亚洲区中文字幕| 欧美中文字幕在线| 欧美日韩视频在线观看一区二区三区| 黄色国产精品一区二区三区| 亚洲一级影院| 亚洲另类一区二区| 久久精品一二三区| 国产精品久久一级| 亚洲精品免费在线| 欧美一级日韩一级| 性欧美暴力猛交另类hd| 欧美日韩在线播放一区| 亚洲欧洲一二三| 欧美一区二区日韩| 一区二区三区视频在线观看| 男人的天堂亚洲在线| 好看的av在线不卡观看| 亚洲欧美制服另类日韩| 亚洲欧美日韩精品久久奇米色影视| 欧美精品少妇一区二区三区| 加勒比av一区二区| 久久国产精品网站| 亚洲你懂的在线视频| 欧美理论在线播放| 最新国产拍偷乱拍精品| 亚洲欧洲一区二区三区在线观看| 久久人人97超碰国产公开结果| 国产亚洲精品久| 欧美一级午夜免费电影| 久久精品女人的天堂av| 国产精品你懂的| 一区二区三区不卡视频在线观看| 99视频一区二区| 欧美日韩国产精品 | 国产欧美日韩中文字幕在线| 亚洲天堂网在线观看| 午夜精品免费在线| 国产精品人成在线观看免费 | 久久精品免费| 久久亚洲精品视频| 极品少妇一区二区| 亚洲精选大片| 欧美美女操人视频| 日韩视频不卡| 日韩一区二区久久| 欧美日韩免费观看中文| 亚洲免费观看视频| 亚洲午夜视频在线观看| 国产精品久久久久久久浪潮网站| 夜夜爽99久久国产综合精品女不卡| 亚洲天堂网在线观看| 国产精品久久久久久久久久久久久| 亚洲欧美精品在线| 亚欧成人精品| 国产一区二区三区网站| 亚洲大片在线| 欧美国产日韩a欧美在线观看| 亚洲精品美女久久7777777| 中文在线资源观看视频网站免费不卡| 欧美日韩在线高清| 在线一区欧美| 亚洲欧美在线观看| 国产欧美日韩激情| 欧美一区二区三区视频在线| 美女脱光内衣内裤视频久久影院 | 国产亚洲成年网址在线观看| 亚洲国产婷婷香蕉久久久久久| 欧美成人精品h版在线观看| 激情综合中文娱乐网| 国产精品99久久久久久人| 国产精品一区视频网站| 久久精品国语| 欧美国产视频在线观看| 一区二区三欧美| 久久精品系列| 亚洲激情在线观看| 久久成人在线| 最新中文字幕一区二区三区| 亚洲综合电影| 在线欧美电影| 9i看片成人免费高清| 国产欧美日本| 亚洲精品一区二区三区樱花| 国产精品乱码久久久久久| 亚洲国产另类久久久精品极度| 欧美三级在线播放| 亚洲欧美日韩在线播放| 美日韩丰满少妇在线观看| 亚洲视频你懂的| 久久躁日日躁aaaaxxxx| 国产一区二区三区丝袜| 亚洲欧美久久| 亚洲国产精品一区在线观看不卡 | 亚洲欧洲一区二区天堂久久|