网络虚拟化技术
網絡虛擬化似于服務器虛擬化,可以在一個物理網絡上創建多個虛擬網絡。網絡虛擬化出現的時間并不長,是隨著IaaS的出現而出現。
IaaS中的核心技術是虛擬化,包括服務器虛擬化,存儲虛擬化和網絡虛擬化。其中服務器虛擬化和存儲虛擬化出現的時間遠遠早于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的數量限制。
網絡虛擬技術所解決的問題 一個是虛擬接入: 將虛擬機接入到接入交換機中,并且交換機可以識別虛擬機。目標是交換機能夠像管理物理機一樣管理虛擬機,包括配置網絡策略,監控虛擬機流量等。傳統交換機對物理機的管理,都可以應用到虛擬機上。目前的交換機中是無法實現對虛擬機的管理的。關鍵問題是數據幀不能發往收到改數據幀的端口。這個限制是STP協議的主要規則,而傳統交換機都是采用STP協議工作的。虛擬環境中,一個交換機端口(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)技術),虛擬機直接接入網卡提供的端口。 硬件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包括了標準版和增強版。 標準版 標準版沒有實現虛擬接入技術,交換機無法識別虛擬機。標準版允許接入同一個端口的虛擬機之間通過該端口實現數據交換,不在需要VEB實現數據交換。標準版通過改寫STP協議,允許來自同一個端口的數據被轉發回去,叫做發卡彎。 標準版對現有的數據幀沒有修改,只要升級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
IaaS中的核心技術是虛擬化,包括服務器虛擬化,存儲虛擬化和網絡虛擬化。其中服務器虛擬化和存儲虛擬化出現的時間遠遠早于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的數量限制。
網絡虛擬技術所解決的問題 一個是虛擬接入: 將虛擬機接入到接入交換機中,并且交換機可以識別虛擬機。目標是交換機能夠像管理物理機一樣管理虛擬機,包括配置網絡策略,監控虛擬機流量等。傳統交換機對物理機的管理,都可以應用到虛擬機上。目前的交換機中是無法實現對虛擬機的管理的。關鍵問題是數據幀不能發往收到改數據幀的端口。這個限制是STP協議的主要規則,而傳統交換機都是采用STP協議工作的。虛擬環境中,一個交換機端口(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)技術),虛擬機直接接入網卡提供的端口。 硬件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包括了標準版和增強版。 標準版 標準版沒有實現虛擬接入技術,交換機無法識別虛擬機。標準版允許接入同一個端口的虛擬機之間通過該端口實現數據交換,不在需要VEB實現數據交換。標準版通過改寫STP協議,允許來自同一個端口的數據被轉發回去,叫做發卡彎。 標準版對現有的數據幀沒有修改,只要升級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
總結
- 上一篇: Java 输入两个日期,计算出期间的周
- 下一篇: 深入Unreal蓝图开发:自定义蓝图节点