含義
顧名思義,Open vSwitch即開放虛擬交換標準!具體點說,Open vSwitch是在開源的Apache2.0許可下的產品級質量的多層虛擬交換標準!它旨在通過編程擴展,使龐大的網路自動化(配置、管理、維護),同時還支持標準的管理接口和協定(如NetFlow, sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag)。總的來說,它被設計為支持分布在多個物理伺服器,例如VMware的vNetwork分散式vSwitch或思科的Nexus1000V。
那么什麼是虛擬交換?虛擬交換就是利用虛擬平台,通過軟體的方式形成交換機部件。跟傳統的物理交換機相比,虛擬交換機同樣具備眾多優點,一是配置更加靈活。一台普通的伺服器可以配置出數十台甚至上百台虛擬交換機,且連線埠數目可以靈活選擇。例如,VMware的ESX一台伺服器可以仿真出248台虛擬交換機,且每台交換機預設虛擬連線埠即可達56個;二是成本更加低廉,通過虛擬交換往往可以獲得昂貴的普通交換機才能達到的性能,例如微軟的Hyper-V平台,虛擬機與虛擬交換機之間的在線上速度輕易可達10Gbps。
優點
Open vSwitch可以作為一個在管理程式上運行的軟開關,也可以作為開關控制堆疊。它已經被移植到多種虛擬化平台和交換晶片。它是XenServer的“波士頓”計畫Xen雲平台的>默認交換機並且還支持的Xen,KVM,Proxmox VE和VirtualBox。它也被許多虛擬管理系統包括openQRM,OpenNebula使用。
由於大部分的代碼是使用平台獨立的C寫成,所以可移植性非常好。
特性
Open vSwitch是一種開源軟體,專門管理多租賃公共雲計算環境,為網路管理員提供虛擬VM之間和之內的流量可見性和控制。
Open vSwitch項目由網路控制軟體創業公司Nicira Networks支持,旨在用虛擬化解決網路問題,與控制器軟體一起實現分散式虛擬交換技術。這意味著,交換機和控制器軟體能夠在多個伺服器之間創建集群網路配置,從而不需要在每一個VM和物理主機上單獨配置網路。這個交換機還支持VLAN中繼,通過NetFlow、sFlow和RSPAN實現可見性,通過OpenFlow協定進行管理。它還有其他一些特性:嚴格流量控制,它由OpenFlow交換協定實現;遠程管理功能,它能通過網路策略實現更多控制。
運行原理
核心模組實現了多個“數據路徑”(類似於網橋),每個都可以有多個“vports”(類似於橋內的連線埠)。每個數據路徑也通過關聯一下流表(flow table)來設定操作,而這些>流表中的流都是用戶空間在報文頭和元數據的基礎上映射的關鍵信息!一般的操作都是將數據包轉發到另一個vport!
當一個數據包到達一個vport,核心模組所做的處理是提取其流的關鍵信息並在流表中查找這些關鍵信息。當有一個匹配的流時它執行對應的操作。如果沒有匹配,它會將數據包送到用戶空間的處理佇列中(作為處理的一部分,用戶空間可能會設定一個流用於以後碰到相同類型的數據包可以在核心中執行操作)。
Open vSwitch實現的嚴密流量控制很大部分上是通過OpenFlow交換協定實現的。OpenFlow使網路控制器軟體能夠通過網路訪問一個交換機或路由器的數據路徑。網路管理員可以使用這個技術在一台PC上遠程控制數據管理,這樣他們就能夠進行精細的路由和交換控制,並實現複雜的網路策略。
有了Open vSwitch中的這些遠程管理功能,多租賃雲計算的集成商和供應商就能夠向客戶提供在一台PC上持續管理各自虛擬網路、套用和策略的功能。
搭建步驟
Linux系統上工作的Open vSwitch
Open vSwitch是一個開源的虛擬交換機,已經成為大多數基於Linux虛擬機的默認選項,如Xen和KVM. 因為Open vSwitch是KVM和Xen的默認虛擬交換機,所以你會發現其幾乎都是使用OpenStack安裝。Open vSwitch還用於VMware NSX環境中,但是在該環境中由於沒有特殊的功能,所以並沒有開源發布版本。
搭建Open vSwitch測試網路的第一步
你可以找到幾乎所有支持KVM, Xen和VirtualBox等虛擬管理程式的linux發行版Open vSwitch包。如果你想要在 VMware vSphere上運行本地Open vSwitch,你需要讓VMware銷售人員部署一個NSX POC(proof of concept, 驗證性測試)。然而,VMware和其它企業軟體供應商一樣,把POCs作為銷售周期的一部分。這通常需要客戶有一定級別的承擔能力,包括技術和財政資源保證。而且,還可能包括支付專業服務的能力以及提供一個非生產平台來運行POC.如果你還沒有準備好購買POC這個周期,那么你可能需要通過一個Linux發布版本或VMware免費版本來使用虛擬交換機。
新版本
2013年Open vSwitch 2.0正式推出,它為日益流行的開源虛擬交換機增加了多執行緒功能。這個新版本將為OpenFlow部署和基於Open vSwitch的網路覆蓋增加可擴展性。
很多Open vSwitch部署一直在努力提高創建實例的速度—即你創建新環境的速度。只有對於最大的部署,這才是一個問題,但這個問題讓人們對該技術有所抗拒,Open vSwitch的部署都受到單個執行緒的限制,單個執行緒需要處理所有新功能的啟用。
Open vSwitch 2.0改進的可擴展性將會影響很多SDN供應商,這些供應商使用它作為交換機上的OpenFlow代理或者覆蓋技術中的端點。
特點
目前Open vSwitch的官方版本為2.9.0
主要特性包括:
•虛擬機間互聯的可視性;
•支持trunking的標準802.1Q VLAN模組;
•細粒度的QoS;
•每虛擬機連線埠的流量策略;
•負載均衡支持OpenFlow (參考openflow–打造彈性化的可控網際網路)
•遠程配置兼容Linux 橋接模組代碼