1. Open vSwitch简介
Open vSwitch(简称OVS)是在开源的Apache2.0许可下的产品级质量的多层虚拟交换标准。它旨在通过编程扩展,使庞大的网络自动化(配置、管理、维护),同时还支持标准的管理接口和协议。总的来说,它被设计为支持分布在多个物理服务器。OVS适用于VM环境中提供虚拟交换的功能。作为一个虚拟交换机,支持Xen/XenServer, KVM,和VirtualBox等多种虚拟化技术。虚拟交换就是利用虚拟平台,通过软件的方式形成交换机部件。跟传统的物理交换机相比,虚拟交换机同样具备众多优点,一是配置更加灵活。一台普通的服务器可以配置出数十台甚至上百台虚拟交换机,且端口数目可以灵活选择。例如,VMware的ESX一台服务器可以仿真出248台虚拟交换机,且每台交换机预设虚拟端口即可达56个;二是成本更加低廉,通过虚拟交换往往可以获得昂贵的普通交换机才能达到的性能,例如微软的Hyper-V平台,虚拟机与虚拟交换机之间的联机速度轻易可达10Gbps。(摘自百度百科)
OVS大部分的代码是使用平台独立的C写成,可移植性非常好。OVS支持功能如下:
* 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
* Geneve, 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
1.1 主要组件
* ovs-vswitchd:通过使用基于流交换的内核模块来实现switch的守护进程。
* ovsdb-server:轻量级数据服务,提供从ovs-vswithd获取的配置信息。
* ovs-dpctl: 配置switch内核模块工具。
* ovs-vsctl:查询和更新ovs-vswitchd的配置信息。
* ovs-appctl:发送命令来运行相关Open vSwitch守护进程。
Open vSwitch还提供一些工具:
* ovs-ofctl:查询和控制OpenFlow switches和controllers。 * ovs-pki:为OpenFlow swithes创建和管理公钥框架。
* tcpdump的补丁,可以让tcpdump解析OpenFlow的消息。
* ovs-controller:一个简单的OpenFlow控制器。
* openvswitch.ko:Open vSwitch switching datapath
图 rajdeep , Director, Devel