基于OpenFlow的SDN测试方案及方法详解

网络
SDN测试方法 OpenFlow是SDN控制器和交换机之间的通信协议。下面介绍的SDN测试方法都是指基于OpenFlow的SDN测试。常见的SDN测试类型有协议一致性测试、互通性测试、功能测试和性能测试,下面对这几个测试类型的测试方法分别进行介绍。

 SDN测试平台为SDN测试提供了测试工具和网络环境。该测试平台可以进行比较全面的SDN测试,包括但不限于以下类型的测试:SDN协议一致性测试、SDN互通性测试、SDN功能性测试、SDN性能测试、SDN解决方案测试。

SDN测试平台的示意图如下所示:

该测试平台提供了多种测试工具,包含流量生成器、SDN一致性测试仪、SDN功能性测试仪和SDN性能测试仪,可以用于不同类型的SDN测试和认证。同时,SDN测试平台也提供了许多支持SDN的设备,如各种开源/商用的支持OpenFlow协议的交换机和控制器设备以及其它网络设备,这为互通性测试做好了准备。测试平台还包括一些SDN配置管理设备和OF配置节点,可以对SDN网络和设备进行配置和管理,还可以对配置管理协议如of-config协议进行测试。另外,SDN测试平台还可以展示和验证一些SDN应用和SDN解决方案。

SDN测试方法 OpenFlow是SDN控制器和交换机之间的通信协议。下面介绍的SDN测试方法都是指基于OpenFlow的SDN测试。常见的SDN测试类型有协议一致性测试、互通性测试、功能测试和性能测试,下面对这几个测试类型的测试方法分别进行介绍。

1. SDN协议一致性测试

协议一致性测试是对OpenFlow设备(交换机设备)对OpenFlow协议的符合情况进行测试和验证。ONF即开放网络基金会设立OpenFlow一致性测试项目,目前可以开展OpenFLow 1.0标准的一致性测试。OpenFLow 1.0一致性测试的规范是“Conformance Test Specification for OpenFlow Switch Specification 1.0.1”。规范中包含10个测试组,主要对以下10个方面进行测试:

测试组 10: 基本能力检查

测试组 20: 基本OpenFlow协议消息

测试组 30: 生成树

测试组 40: Flow modification消息

测试组 50: 流匹配

测试组 60: 计数器

测试组 70: 行为

测试组 80: 消息

测试组 90: 异步消息

测试组 100: 错误消息

协议一致性测试是对设备支持OpenFlow情况进行全面的检查,包括必要的和可选的功能。有超过200个测试项,OpenFLow交换机需要通过所有必选的测试项才能通过一致性测试认证。

目前测试协议一致性使用OpenFlow协议一致性测试工具。测试拓扑如下图所示:

OpenFlow一致性测试仪与支持OpenFlow的交换机之间建立1个控制平面的连接和4个数据平面的连接。测试仪可以模拟控制器发送OpenFlow协议消息来检测交换机行为,数据平面的连接用于测试和验证交换机能够对网络数据包正确处理,包括转发,修改数据包指定字段等。

2. SDN互通性测试

互通性测试是不同厂商的OpenFlow设备之间互连互通能力的测试。互通性测试是非常必要的,这样可以让网络中的设备不至于被绑定在同一家设备厂商。通过进行多厂商SDN 互通性测试,一方面能够发现设备SDN实现的问题和对协议理解的问题,有助于自身SDN产品的协议实现方面完善和优化,另一方面可以验证SDN 标准的可执行性和完整性,进一步促进OpenFlow协议不断更新和完善,推动SDN产业的发展。

最基本的互通性测试包括:控制通道的建立;流表测试;请求消息测试;流超时等。下面以拓扑发现为例介绍互通性测试。

将不同厂商的控制器和交换机设备按照测试拓扑进行连接,并对所有网络设备进行正确配置,控制器应该能够和所有交换机设备正常建立控制通道,正确发现所有网络设备和它们之间的连接,并以图形界面或在命令行正确显示。

3. 功能性测试

功能测试是对OpenFlow设备的功能进行测试和验证。在SDN发展的初期,各个厂商设备对OpenFlow协议支持的情况都不同,OpenFLow协议有很多可选的功能,厂商不同程度地支持这些功能。另外,许多厂商会自行对OpenFLow协议做一些扩展,添加一些有用的特性,所以除了协议一致性测试和互通性测试,功能性测试也是非常必要的。

功能性测试一般使用功能性测试仪作为测试工具,测试工具模拟控制器发送消息,有需要时能够发送数据流量到交换机端口,同时可以对控制平面和数据平面的数据包进行抓包和分析,从而判断和确定交换机支持的功能。

4. 性能测试

性能测试是对OpenFlow设备性能进行测试。由于目前测试整个网络系统还有很大的挑战,所以这里的性能测试指的是单个网络设备的性能。交换机流表容量测试和控制器***连接交换机数量也属于交换机性能测试的范畴。测试方法如下图所示:

总结

SDN在迅速地发展,现在还处于一个早期的阶段。相关标准仍不够成熟、设备对标准的支持情况也还不够成熟,不同设备厂商对标准理解不同,设备实现也不尽相同,所以测试的重要性是毋庸置疑的。通过测试,可以促进SDN更快被大家接纳,让大家对SDN设备建立信心,也让设备的实现更加规范,可以用于商业部署。

目前,测试还存在很多挑战,测试方法还不够全面,测试工具也不够完善。目前的测试多为对OpenFlow设备的测试和对SDN应用的验证。SDN网络和系统的测试还存在很大的挑战。现阶段,OpenFlow协议一致性测试和互通性测试都在积极开展。随着SDN技术的发展,SDN的测试方法也将越来越完善。

责任编辑:林琳 来源: 传说客
相关推荐

2013-06-07 09:59:27

SDN虚拟化OpenDlow

2013-08-28 09:26:01

2013-08-29 09:13:10

2013-03-19 18:53:45

华为SDN数据中心交换机

2016-12-09 09:41:51

新华三OpenFlow

2015-04-28 13:35:22

SDNOpenFlowOpenStack

2013-10-10 09:29:35

OpenFlowSDN

2012-11-23 11:31:54

SDNOpenFlow

2015-08-04 14:22:43

虚拟化OpenFlowSDN

2018-06-27 07:43:08

2015-08-10 10:20:09

虚拟化OpenFlowSDN

2013-11-27 09:25:04

IBMSDN灾害预防

2012-10-22 11:14:05

SDNOpenFlow网络管理

2011-10-20 11:18:59

OpenFlowSDN

2012-08-03 09:42:47

OpenFlowSDN网络虚拟化

2012-10-24 09:40:00

2013-02-19 09:28:59

SDNOpenFlow交换机

2013-12-10 09:13:19

FreneticPyreticOpenFlow

2011-10-21 14:28:19

BGPSDNIPv6

2015-09-23 10:43:09

P4语言OpenFlowSDN
点赞
收藏

51CTO技术栈公众号