【概要】SDN功能测试工具通过发送协议数据包并根据被测试对象的反馈来判断其功能的完整性,比较典型的工具是OFTest,它模拟控制器向交换机发送OpenFlow协议从而达到测试OpenFlow交换机的目的。
1 工具简介
OFTest是一个基于Python的测试OpenFlow规范的框架和测试套件,它支持1.0/1.2/1.3版本的OpenFlow协议。在测试环境中OFTest相当于一个控制器, 它可以主动或者被动与交换机连接,获取交换机信息来测试OF交换机基本功能。
OFTest对OpenFlow不同协议的支持是通过分析控制平面和数据平面的数据包来判定的,当OFTest模拟控制器发送消息到交换机,收到交换机的响应时,确定出交换机支持的功能。OFTest测试框架如图1所示:
图1 OFTest测试框架
Oftest/oft脚本是进入test框架的接入点,所有测试例都从oft脚本开始运行并在test mode list中进行匹配。运行oftest框架包括两个部分:
(1)建立支持OF协议的python库,所有测试脚本都用python写;
(2)运行oft 。
2 安装
(1)安装依赖:Python2.4/2.5/2.6/2.7、pypcap、scapy。
其它可选软件:Doxygen、doxypy、lint、tcpdump。如果没有安装pypcap可能会导致有关使用VLAN标签的测试失败。
(2)安装OFTest
OFTest安装好后,其默认配置为一个协议为OpenFlow1.0的交换机一直试图连接OFTest的控制器上,端口是6653,使用虚拟端口veth1, veth3, veth5, and veth7连接到数据平面。
(3)运行OFTest,必须在超级用户下执行。
3 使用方法
表 1. OFTest命令通用参数
<