介绍

简要介绍

OVS(Open vSwitch)是一个基于Apache 2.0开源协议的多层软件交换机,致力于提供一个生产级质量的交换平台。OVS支持标准管理接口,并开放前向函数,以实现程序扩展和控制。由于OVS基于多种平台底座存在多种变体,本文以基础版本作为介绍对象。

图1 OVS架构

OVS软件主要的架构由内核态的Datapath和用户态的vswitchd、ovsdb组成。

此外,OVS发布包中还包含了一系列管理工具(ovs-vsctl、ovs-dpctl、ovs-ofctl、ovs-appctl、ovs-docker等),方便用户对OVS进行配置和使用。

OVS在虚拟机和容器等场景中作为虚拟交换机做了很好的适配,除了对外暴露了虚拟网络层的标准控制接口和可视化接口之外,它也提供了跨多物理节点的分布式支持,在多种 虚拟化 和容器技术中均进行了支持。

当前OVS支持以下特性:

其中Linux内核模块支持需要Linux内核版本高于3.10,此外,OVS还可以无需内核模块支持,完全以 用户态 模式运行,例如使用DPDK模式等,该内容在本文中对此内容不做详细介绍。

安装OVS软件需采用源码编译方式进行安装。

建议的版本

建议使用的版本为“2.14.2”。