天天看點

網絡虛拟化技術

網絡虛拟化似于server虛拟化,能夠在一個實體網絡上建立多個虛拟網絡。網絡虛拟化出現的時間并不長,是随着IaaS的出現而出現。

IaaS中的核心技術是虛拟化,包含server虛拟化,存儲虛拟化和網絡虛拟化。當中server虛拟化和存儲虛拟化出現的時間遠遠早于IaaS的概念,能夠說非常成熟,有非常多産品。成熟的關鍵辨別就是行業巨頭(們)的出現。行業巨頭通常會占領絕大多數的市場佔有率。有一個結論是,在IT行業。行業的前兩名會占領80%以上的市場佔有率。

網絡虛拟化出現的時間并不長。市場沒有出現行業巨頭。另外眼下網絡虛拟化的市場應該還處在開發階段。應該還沒有非常多使用者開始在自己的IT基礎設定中施行網絡虛拟化。隻是随着IaaS的逐漸推廣,網絡虛拟化也會随之普及。

目前的網絡虛拟化處于一個群雄并起的階段,終于誰能赢得戰争猶未可知。

眼下的網絡虛拟化技術主要有這麼幾種:

VEB技術,代表産品是OpenvSwitch,背後是VMware

VEPA技術,背後是HP,Juniper,brocade等

vn-tag技術。背後是Cisco

二層(L2)網絡拓撲結構

本文讨論的網絡指二層網絡,L2網絡拓撲主要有flat和vlan兩種:

flat:

平坦結構。全部接入網絡的節點(node)都處于單一的位址空間中。網絡節點之間能夠互相通信。一個節點能夠和網絡中的随意節點通信。

vlan:

網絡被劃分為若幹個位址空間,每一個位址空間形成一個vlan。

vlan形成了一個二維位址空間。(vlan id, mac address)。僅僅有出于一個vlan中的節點才幹互相通信,vlan實作了一定程度的網絡隔離。

vlan的上限是4094個,對于私有雲來說是足夠的,但對于公有雲則不足。業界又有了vxlan,gre等技術來克服vlan的數量限制。

網絡虛拟技術所解決的問題

一個是虛拟接入:

将虛拟機接入到接入交換機中。而且交換機能夠識别虛拟機。

目标是交換機能夠像管理實體機一樣管理虛拟機,包含配置網絡政策,監控虛拟機流量等。傳統交換機對實體機的管理,都能夠應用到虛拟機上。眼下的交換機中是無法實作對虛拟機的管理的。

關鍵問題是資料幀不能發往收到改資料幀的port。這個限制是STP協定的主要規則,而傳統交換機都是採用STP協定工作的。

虛拟環境中,一個交換機port(port)上能夠接入多個虛拟機(傳統方式中,一個port僅僅能接入一台實體機,port和實體機一一相應),當這些虛拟機之間須要通信的話,導緻該port接受的資料幀被發往該port,違背了STP原則。後面會介紹眼下的 技術方案怎樣解決問題。

虛拟通道

解決怎樣讓虛拟機連到實體接入交換機上。

虛拟機無法直接連接配接到接入交換機。眼下的多種虛拟化結束中,都 採用一種叫做虛拟交換機(VEB。virtual ethernet bridging)的方式來實作虛拟機到接入交換機的連接配接。

VEB能夠通過軟體或硬體方式來實作。

軟體VEB

軟體VEB能夠直接實如今Hypervisor中,也能夠獨立于Hypervisor獨立實作。

前者如Vmware exsi, MS hypervisor等,後者如linux bridge。open vswitch等。

系統上的全部虛拟機接入虛拟交換機,虛拟交換機通過本機網卡接入交換機。一個系統中能夠存在多個虛拟交換機,虛拟機也能夠接入不同的虛拟交換機來實作不同的網絡拓撲結構和網絡隔離。

網絡虛拟化技術

硬體VEB

有些虛拟軟體中支援bypass with Harware 功能,這個就是指硬體VEB。硬體VEB通常在網卡上實作(SR-IOV(Single Root I/O Virtualization)技術),虛拟機直接接入網卡提供的port。

網絡虛拟化技術

硬體VEB比軟體VEB有更好的轉發效率和轉發延遲,同一時候有更低的CPU占用率。

以下談談主流的網絡虛拟化技術:

VEB技術:

VEB技術攻克了前面所說的虛拟通道問題,但沒有解決虛拟接入問題。採用VEB技術,傳統的接入交換機還是無法對虛拟機進行管理,識别虛拟機流量。VEB技術不在使用傳統交換機進行虛拟機管理,而是全然採用虛拟交換機代替傳統交換機的角色,傳統交換機僅僅用來承載流量。這樣的方案採用虛拟交換機解決虛拟接入問題,採用VEB解決虛拟通道問題。

VEB依據資料幀目的位址決定怎樣處理:

該目的位址是該節點上的還有一台虛拟機。直接轉發;

是其它節點上的虛拟機,通過實體網卡轉發L2網絡上,這個虛拟機所在節點的VEB會接受該資料包并轉給虛拟機。

VEB技術的代表是Open vswitch。Open vswitch中全然採用虛拟交換機(open vswtich)對虛拟交換機進行管理和流量控制,傳統的實體交換機僅僅用來連接配接個網絡節點。

實體交換機的角色類似于傳統的集線器(Hub),其上不在進行不論什麼網絡配置(這導緻了VEB無法和已有的L2網絡配置相容)。Open vswitch本身提供了強大的功能來替代傳統的實體交換。支援多種管理界面包含遠端管理等,支援openflow協定。能夠參考Open vswitch官網站點。

VN-Tag技術:

由cisco提出的技術方案。基本思想是在傳統的以太網資料幀中增加一個新的标簽(vn-tag)以便讓實體交換機識别虛拟機并進行管理。這樣的方案中採用vn-tag技術解決虛拟接入問題,採用VEB解決虛拟通道問題。

VEB對虛拟機發出的資料幀加入vn-tag。然後發送到接入交換機。

接入交換機依據vn-tag決定資料轉發目的地。目的地上的VEB依據vn-tag轉發資料到對應的虛拟機上。

這樣的方案中,須要通信的兩台虛拟機即使都在一台實體機上。他們的資料交換也須要經過接入交換機處理。VEB能夠通過軟體或硬體方式實作。在vn-tag方案中。這個VEB被叫做port extender,僅僅提供虛拟通道。不在處理路由尋址。

這項技術主要包含例如以下裝置:

vn-tag網卡,用來實作VEB(port extender)。

vn-tag交換機,管理虛拟機,識别虛拟機流量。

支援vn-tag技術的hypervisor,将虛拟機虛拟網卡接入到vn-tag網卡中。眼下vmware的産品能夠支援vn-tag網卡。

vn-tag對現有的資料幀做出了改變,是以這套技術和眼下的L2網絡無法相容。

眼下的交換機不能識别vn-tag資料幀。cisco已經将這項技術送出成了技術标準802.1BR - Bridge Port Extension http://www.ieee802.org/1/pages/802.1br.html

VEPA技術:

由HP提出的技術方案,全稱是virtual ethernet port aggregator。vepa包含了标準版和增強版。

标準版

标準版沒有實作虛拟接入技術。交換機無法識别虛拟機。标準版同意接入同一個port的虛拟機之間通過該port實作資料交換。不在須要VEB實作資料交換。标準版通過改寫STP協定,同意來自同一個port的資料被轉發回去,叫做發夾彎。

網絡虛拟化技術

标準版對現有的資料幀沒有改動,僅僅要更新VEB和交換機的軟體,就能夠實作。vepa不須要採購新的網絡裝置。僅僅須要更新軟體就可以。

增強版

實作對虛拟機的管理和流量監控。

vepa的思路也是利用在資料幀中添加标簽還識别虛拟機。可是vepa利用了已有的技術标準,而不是引入新的标簽。vepa採用了802.1ad标準在vlan标簽外添加了S-Tag。以實作虛拟機識别。

這個技術能夠實作vn-tag的一切功能。有點還是不須要採購新的網絡設别,僅僅須要更新軟體就可以。

為了使用vepa,也須要對應hypevisro的支援。

linux中的macvtap驅動能夠支援vepa技術。http://virt.kernelnewbies.org/MacVTap

vepa也有對應的技術标準送出,802.1Qbg - Edge Virtual Bridging

http://www.ieee802.org/1/pages/802.1bg.html

除了HP。該陣營還有諸如juniper,brocade的支援。

本文僅僅是簡要介紹了網絡虛拟化技術。如需深入了解,還請查找對應資料。這幾種技術之間的戰争僅僅是剛剛開始,尤其是vepa和vn-tag之間的交鋒。

繼續閱讀