搜狐首页 科技 小济公2

手机搜狐

SOHU.COM

云端卫士实战录 | OFTest 的安装和使用

《实战录》导语

云端卫士《实战录》栏目定期会向粉丝朋友们分享一些在开发运维中的经验和技巧,2017年我们将一如既往地为朋友们奉献更多优质内容。本期分享人为云端卫士工程师欧文玉美眉,主要介绍OFTest 的安装和使用。

1. OFTest简介

OFTest是基于python的用于测试openflow交换机的框架,现已经可以用来测试Openflow 1.0, 1.2, 1.3, 1.4版本。它在测试环境中相当于一个控制器,可以主动或被动的与交换机连接,从而获取of交换机的信息并测试交换机的基本功能。

OFTest对OpenFlow不同协议的支持是通过分析控制平面和数据平面的数据包来判定的,如果oftest发送给交换机的消息得到了交换机的响应,则确定该交换机支持这项功能,反之则认为该交换机不支持。

OFTest测试框架如图1所示:

2. 安装OFTest

所用环境:一台系统为centos7的虚拟机

2.1安装依赖

首先需要安装python2.7,如果已经安装了,先用version命令确认一下自己的虚机中是不是2.7版本的,如果不是的话最好升级一下,此处就不详细说明了。

其次安装scapy,注意这里是scapy不是scrapy,scapy安装直接使用yum即可,命令如下:

# yum install scapy

其他可选软件:pypcapy,tcpdump(最好要有),doxygen,doxpy,lint(我未安装)。如果没有安装pypcapy可能会导致有关使用VLAN标签的测试失败。

2.2安装OFTest

Oftest代码直接从github下载:

# git clone git://github.com/floodlight/oftest

# cd oftest

运行OFTest

# ./oft

oftest/oft脚本是进入test框架的接入点,所有测试例都从oft脚本开始运行并在test mode list中进行匹配,所以下载完成后便可以直接使用./oft运行所有的测试用例,如需选择性的运行只需加上对应参数。运行oftest框架包括两个部分:

(1)建立支持OF协议的python库,所有测试脚本都用python写;

(2)运行oft 。

2.3配置OFTest

OFTest运行时默认为openflow 1.0,若要测试其他版本只需要将oft中的参数openflow_version改为相应的版本即可。 1.2、1.3、1.4的测试例分别在文件夹tests-1.2 ,tests-1.3,test-1.4中,可见测试例很少,需要根据需要自己添加。添加测试例需要按照相应的版本协议构建数据包。

精选