网络通信 频道

OpenFlow/SDN测试方案

  SDN测试平台介绍 (2013年由天地互连举办的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的测试方法也将越来越完善。

  另外得知,2014年在中国将举行PlugFest的,大家可以留意这块信息。

1
相关文章