网络虚拟化技术
網絡虛擬化似于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 withHarware功能,這個就是指硬件VEB。硬件VEB通常在網卡上實現(SR-IOV(Single Root I/O Virtualization)技術),虛擬機直接接入網卡提供的port。
<img alt="" src="http://img.blog.csdn.net/20140602155312968?
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhlbmdsZWlndW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">
硬件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 Extensionhttp://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之間的交鋒。
參考書
云計算和大數據時代網絡技術揭秘 徐立冰著,文中的圖片均來自此書。
補充資源,大家能夠看看這篇文章
http://download.csdn.net/detail/zhengleiguo/7436241
http://download.csdn.net/detail/zhengleiguo/7436301
總結
- 上一篇: 键盘失灵也可进入BIOS的方法键盘失灵怎
- 下一篇: python3.7安装numpy库_py