虛擬化技術系列--openvswitch介紹

來源:互聯網
上載者:User

【本想按部就班介紹虛擬化技術的,但最近的工作在分析open vswitch技術,想趁著記憶新鮮把對openvswitch的認知詳細總結下來】

本文根據openvswitch官網openvswitch.org提供的文檔,以及其他相關資料進行匯總。

open vswitch整體概述:

> Apache 2.0協議。

> 純軟體多層虛擬化交換器。

>支援openflow協議

>支援多種Hypervisor(XEN、KVM等主流Hypervisor)

>支援以下特性

    * Standard 802.1Q VLAN model with trunk and access ports    * NIC bonding with or without LACP on upstream switch    * NetFlow, sFlow(R), and mirroring for increased visibility    * QoS (Quality of Service) configuration, plus policing    * GRE, GRE over IPSEC, VXLAN, and LISP tunneling    * 802.1ag connectivity fault management    * OpenFlow 1.0 plus numerous extensions    * Transactional configuration database with C and Python bindings    * High-performance forwarding using a Linux kernel module
這麼介紹,可能看了沒什麼概念,接下來從虛擬計算環境下的網路結構從頭開始介紹。這樣對理解open vswitch比較有用一點。

在計算虛擬化技術推廣之前,網卡是host串連到交換器的出口,串連到物理交換器後,由物理交換器根據報文轉寄規則進行相應的處理。在Host主機部署虛擬化技術之後,允許多個虛擬機器同時運行,但網卡只有一個(或數量少於虛擬機器),因此會引入網卡虛擬化。早在90年代末,Linux已引入了bridge技術來實現虛擬網卡。

Linux中,TAP + bridge在網卡虛擬化中應用得比較普遍。結構如果所示:


該方案實現比較簡單,但問題也很明顯:bridge本身缺乏流控和網路管理的能力。一個很明顯的問題是,同一host內虛擬機器間通訊,直接通過記憶體交換即可完成,可不經過網路。對網路管理者來說,這部分流量就變得不可見了。隨著資料中心內單機部署虛擬機器數量的增加,這一問題變得更加明顯。

新型的虛擬交換器解決了內部流量的可視化問題,同時強化了流控、網路功能、QOS等方面的特性。比較有代表性的虛擬交換器技術有:VMware vswitch、Cisco nexus 1000v和open vswtch。同時,這類交換器還支援中心化管理。中心化管理,使得在眾多host上部署的虛擬交換器可以分布式得進行管控。另外,一些得到強化的NIC卡,還支援對open vswitch進行加速,如TCP分區處理加速、checksum,甚至一些網卡將L2交換器整合在網卡內,極大得加快Open vswitch的報文轉寄速率。

open vswitch的結構 如下圖所示:


上圖是open vswitch在XEN上的部署結構,雖然跟KVM上略有差異,但基本是一致的。XEN上最大的差別在於將ovs-mod模組部署於Dom0,而KVM則不屬在HOST os的核心態而已。上圖中,Hypervisor給每個虛擬機器分配一個虛擬網卡VIF,VIF串連到Dom0的快速轉寄模組ovs-mod。此外在Dom0的使用者態部署了一系列的管理程式,其中最核心的是ovs-vswitchd。ovs-vswitchd可接受遠端控制命令,如openflow控制器的命令等。

經過上述的介紹,詳細應該對open vswitch已經有基本的瞭解了,總結如下:

1. 針對虛擬網路,部署在hypervisor內的軟體虛擬機器

2. 解決了傳統虛擬橋接器所缺失的流量可視性問題,增強了網路管理的能力以及流控能力。

3.支援分布式部署架構

4.支援遠端管理

5.支援多種Hypervisor

6.可相容硬體網卡的加速

下面在詳細剖析下open vswitch的重要組件及軟體結構,整體結構如下圖所示:


【該如引用自網友部落格:http://chenpiaoping.blog.51cto.com/5631143/1143097】

上圖是對OVS軟體結構介紹較好的一張圖,先來看看部署在使用者態的組件:

1)使用者態部署了一系列的守護進程,其中最重要的就是ovs-vswitchd和ovsdb-server。

2)ovs-vswitchd是open vswtich實現最複雜的一部分,也是核心組件,又被稱為慢速路徑。該組件負責同遠端管理器進行通訊,如通過openflow協議跟openflow控制器通訊,用sFlow協議同sFlowTrend通訊。遠端控制器下發流量控制規則、流表項等。另外,該組件負責同部署在核心態的ovs快速路徑通訊,下發具體的規則和動作到ovs datapath,兩者之間通過netlink協議通訊。

3)ovsdb-server儲存配置資料,ovs-vswitchd通過socket同ovsdb-server通訊,讀取或寫入配置資料。

4)在上述核心模組之外,還有一系列的管理工具,都是圍繞上述核心功能提供一些增強服務的。不在贅述。


OVS的核心態相對比較簡單,只部署了具體的datapath,負責實際的報文轉寄處理。

值得注意的是,為了提高虛擬網卡效能,業界出現了很多虛擬機器直通網卡,比較典型的就是SRIOV網卡。這類網卡由於虛擬機器可直接存取硬體,因此在資料路徑中OVS是不會介入的,OVS在這類網卡上的作用,更接近於網路管理工具。


目前業界也出現了一些針對OVS加速的解決方案,如intel DPDK ovs等,netmap EVAL、6windGate等,下次打算就OVS加速技術進行展開。

今天就醬。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.