简介
搭建SDN环境少不了SDN交换机,SDN交换机跟普通交换机最大的区别就是将普通交换机的数据平面和控制平面相分离,SDN交换机只负责数据的转发,而控制指令则由更上一级的控制器下发。
Open vSwitch(下面简称OVS)是一个高质量的、多层虚拟交换机。OVS遵循开源Apache2.0许可,通过可编程扩展,OVS可以实现大规模网络的自动化(配置、管理、维护),同时支持现有标准管理接口和协议(比如NetFlow、sFlow、SPAN、RSPAN、CLI、LACP、802.1ag等)。此外OVS支持多种linux 虚拟化技术,包括Xen/XenServer,KVM,和VirtualBox等。
本文通过Ubuntu平台安装部署OVS,并介绍OVS上的一些常用操作,让读者进一步了解OpenFLow交换机。
实验环境
1.本文基于下列环境安装:
虚拟机Vmware Workstation10.0.3;
Ubuntu13.10(内核版本3.11);
OVS选择截稿前最新的Open vSwitch2.3.0版本(2014年8月14日发布)。
2.OVS2.
3.0版本最新特性及改进如下:
OpenFlow1.1,1.2,和1.3协议现在在OVS vswitchd中默认启用。
Linux内核数据面现在提供一个优化的流匹配过程的精确匹配缓存。
数据面流现在有部分通配符tranport端口匹配字段。这减少了用户空间的向上调用,但会增加数据面中不同的掩模数。
提供megaflows在Linux内核下数据平面的操作。
添加IPFIX支持SCTP流和模板ICMPv4/V6流。
Linux内核支持到3.14。
添加dpdk实验支持。
3.OVS各版本支持的Linux内核如下,可以根据下表选择适合的Linux系统安装。
表1.OVS与Linux内核版本对应关系
4.OVS各模块简要介绍如下:
ovs-vswitchd:主要模块,实现switch的daemon,包括一个支持流交换的Linux内核模块;ubuntu网络配置
ovsdb-server:轻量级数据库服务器,提供ovs-vswitchd获取配置信息;ovs-dpctl:用来配置switch内核模块;
一些Scripts and specs辅助OVS安装在Citrix XenServer上,作为默认switch;
ovs-vsctl:查询和更新ovs-vswitchd的配置;
ovs-appctl:发送命令消息,运行相关daemon。
此外,OVS也提供了支持OpenFlow的特性实现,包括:
ovs-ofctl:查询和控制OpenFlow交换机和控制器;
ovs-pki:OpenFlow交换机创建和管理公钥框架;
ovs-tcpundump:tcpdump的补丁,解析OpenFlow的消息。
准备工作
在正式下载安装OVS之前我们需要安装一些系统组件及库文件以作为OVS正确运行的环境依赖。请切换至root用户进行操作。
注:正常运行使用OVS只需要安装上述依赖即可,如果需要进一步开发OVS 可能需要其他环境依赖,可以自行度娘。
部署Open vSwitch2.3.0
1.下载OVS
2.
3.0安装包。
2.解压OVS2.
3.0安装包。
3.构建基于Linux内核的交换机。
4.编译并安装OVS2.3.0。
5.如果需要OVS支持VLAN功能,还需要加载openvswitch.ko模块,如果不需要,此步可以忽略。
6.我们需要安装并加载构建的内核模块
7.使用ovsdb工具初始化配置数据库。
至此,如果没有报错的话OVS的部署已经成功完成。如果中间步骤出现问题,请仔细检查是否按步骤进行或有无单词拼写错误。
启动Open vSwitch2.3.0
1.在启动OVS之前,我们需要先启动ovsdb-server配置数据库。注意后面的命令大部分是由两个短“-”组成的。
2.首次用ovsdb-tool创建数据库时需用ovs-vsctl命令初始化下数据库。
3.启动OVS主进程
4.查看OVS进程是否启动。
5.我们可以通过如下命令查看所安装OVS的版本号。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论