基于OpenFlow的SDN测试技术的研究
2015-04-15穆琙博中国信息通信研究院通信标准研究所工程师
穆琙博 中国信息通信研究院通信标准研究所工程师
郭晨 中国信息通信研究院电信设备认证中心助理工程师
马军锋 中国信息通信研究院通信标准研究所高级工程师
基于OpenFlow的SDN测试技术的研究
穆琙博 中国信息通信研究院通信标准研究所工程师
郭晨 中国信息通信研究院电信设备认证中心助理工程师
马军锋 中国信息通信研究院通信标准研究所高级工程师
当前,SDN产业蓬勃发展,特别是支持OpenFlow协议的SDN交换设备得到了业界主流设备制造商的大力支持。然而,随着商用化应用的不断深入,SDN产业遇到了一些问题,如市场竞争紊乱、设备良莠不齐等。要推动SDN产业进一步向规范化和标准化的方向发展,就必须从测试工作入手,借鉴传统设备的测试经验,对SDN设备的测试方法和测试工具进行全面研究,找出符合SDN设备特点的测试技术。
SDN OpenFlow ONF OF-Test
1 引言
SDN(Software Defined Networking,软件定义网络)是一种新型的网络架构技术,其最大特点在于控制与转发分离,网络控制集中以及网络能力向上层应用开放。SDN这种全新的网络架构和灵活的软件编程能力,为应对现有网络基础构架在投资成本、运维复杂性和可管理性方面存在的缺陷提供了可靠的解决方案。OpenFlow作为一种实现SDN体系内控制器和转发设备之间的标准通信协议,得到了业界的广泛关注。自ONF(Open Networking Foundation,开放网络基金会)2009年12月发布OpenFlow协议1.0版本以来,到2014年12月先后推出了多个版本,最新版本是1.5。如今,OpenFlow协议开始走向市场。在当前的SDN产业中,支持OpenFlow协议的SDN设备得到了世界各大厂商的大力推崇,这使得OpenFlow协议逐步成为业界认可的主流南向协议标准之一。
随着OpenFlow协议商用化应用的不断深入,SDN产业需要进一步向规范化和标准化的方向发展。特别是对于支持SDN南向接口的交换设备,当前的市场竞争日益激烈,设备产品却良莠不齐,这已经成为阻挠产业继续前进的瓶颈问题。从传统设备的发展历程来看,公认有效的测试技术将成为解决这一问题的唯一方法。
2 SDN测试方法的分析
图1 ONF提出的SDN构架
从ONF提出的SDN典型架构来看(见图1),SDN的测试应该由控制器和交换设备测试两部分构成。然而,与南向接口已形成OpenFlow等国际标准不同,北向接口方面目前还缺乏业界公认的标准。因此,当前SDN的测试工作主要围绕支持OpenFlow协议的交换设备展开。
对于一种新的网络协议,尤其是OpenFlow这种仍然处于发展中,定义诠释和协议范围在不断升级变化的通信协议,要进行相关测试,就应当遵从易于扩展,逐步深入的原则逐一展开工作。按照这一指导思想,对基于OpenFlow的SDN测试方法可以按照如下顺序依次展开研究:
●功能测试。
●协议一致性测试。
●互通性测试和性能。
●可扩展性。
●稳定性测试。
2.1 功能测试
功能测试主要用于对交换设备的功能进行测试和验证。在开始进行SDN交换设备的测试工作时,通常应当首先进行功能测试。这一方面是因为OpenFlow协议标准不仅定义了交换设备必须支持的必选功能,还定义了许多可选功能,而目前主要设备制造商对此的支持力度不尽相同;另一方面,考虑到当前的SDN网络已经广泛应用于云数据中心、宽带传输网络、移动网络等多种场景之中,厂商在不同场景下实现Open-Flow协议时,往往会根据场景需要增减一些功能,因此率先明确被测设备支持的功能情况,将成为设计其他测试案例的先决条件。
目前的功能测试,按测试范围可以分为回归和新功能测试两种。二者的区别在于,回归测试要求测试时,确保新增加的功能与之前功能的兼容性,即测试每个新增的测试点时,都必须对当前所有的功能进行统一测试;而新功能测试可以只关注新增加测试点的实际情况。功能测试常用的拓扑结构参见图2。
2.2 协议一致性测试
协议一致性测试主要是围绕交换设备对OpenFlow协议的符合情况进行测试和验证。与功能测试相比,一致性测试更为正式,通常需要根据被测设备的实际情况,对协议规范的每个子部分情况以及相关子部分组成的组合情况进行遍历测试,以保障交换设备能够正常执行Open-Flow协议。一致性测试是进行交换设备认证的基础,也是设备之间进行规范性比较的起点,为后续的互通性测试奠定了基础。
当前OpenFlow的协议一致性测试主要由ONF的测试和互通性工作组负责指导,ONF还在北美、欧洲和亚洲地区与世界知名的研究机构和实验室进行合作,设立了六大测试认证中心,负责开展OpenFlow的协议一致性测试活动。截止到目前,ONF发布了面向OpenFlow1.0版本的一致性测试规范,针对1.3版本的一致性测试规范正在推进当中。
一致性测试的测试内容主要包括正向和反向测试两部分。其中,正向测试指规范提到的功能和选项都必须得到正确的结果,而反向测试则关注被测设备在输入不正确的前提下如何运行。一致性测试常用的拓扑结构参见图3。
2.3 互通性测试
图2 功能测试拓扑图
互通性测试是指不同厂商交换设备之间进行互联互通能力的测试。互通性测试是成功部署OpenFlow产品所必须的第一步工作。通过对多厂商设备进行互通性测试,SDN网络设备可以避免局限于特定产品,进而促进了市场的有益竞争,推动了产业的发展。
基于OpenFlow的互通性测试工作当前还处于初级阶段。ONF早在2012年4月就发布了互通性测试的技术白皮书,到2013年6月,ONF开始组织基于Open-Flow互通互联的Plugfest测试。尽管这些活动推进了产业的发展,但也暴露出OpenFlow协议在互通性方面的一些问题。
图3 一致性测试图
(1)链路发现问题
支持OpenFlow的交换设备依赖LLDP(链路发现层协议)来提供路径信息,而LLDP是一种独立于OpenFlow协议的链路发现协议,其向上API在与OpenFlow协议的配合方面存在不协调的问题。
(2)指令集复杂问题
对比传统交换设备,OpenFlow协议支持的基本指令集相对复杂。因而,在设计互联互通测试案例时,案例复杂度也应当相应有所提高。然而,从目前的测试情况来看,互通性测试仍然局限在简单的链路拓扑发现,进一步如何开展指令协同的测试工作仍然处于讨论阶段。
2.4 性能、可扩展性和稳定性测试
性能测试是指对交换设备的性能进行测试。由于SDN交换设备的发展目标是替代传统的交换设备,因此性能测试将是具有决定性意义的测试指标,同时考虑到OpenFlow设备的商用可行性,可扩展性和稳定性也将成为重要的测试指标。借鉴传统交换设备的测试点和测试方法,本文给出对SDN交换设备进行性能、可扩展性和稳定性测试的相关指标:
(1)性能测试
●吞吐量:以Mbit/s为单位,考察SDN交换设备每秒成功转发的数据量,包括单端口和整机设备两种吞吐量。
●延时:以ns为单位,考察SDN交换设备在不同帧长格式下的数据包延迟情况。
●连接速度:以每秒连接数为单位,考察SDN交换设备与控制器之间建立连接的速率。
(2)可扩展性测试
●表容量:考察SDN交换设备上流表、Meter表和组表的容量。
●端口数:考察SDN交换设备上逻辑、物理和预留端口的数量。
(3)稳定性测试
●链路切换时间:考察SDN交换设备在进行不同路径切换时的延时数值。
3 SDN测试工具的探讨
随着SDN测试工作的不断成熟,在ONF方面,一套命名为OF-Test的开源测试软件被指定为标准测试工具;随后,两大传统测试设备厂商Ixia和Spirent纷纷主动出击。较早加入ONF,并在测试与互通性小组承担领导工作的Ixia,在OpenFlow1.0测试规范的基础上,推出了一套一致性测试套件IxAnvl;同时,Spirent则与InCNTRE实验室合作,以OF-Test为基础,开发出ITest测试套件;其他各个学术机构和公司组织也纷纷推出自己的测试工具套件。综合考虑之后,包括两大主要设备厂商在内的大多数测试工具套件,大多数都是基于OF-Test集成开发而成。因此,分析清楚OF-Test软件的工作原理和组件构架,对于进行SDN测试工具的研究工作意义重大。
OF-Test是一套使用Python语言开发的开源测试软件,其涵盖内容包括基于OpenFlow交换机标准规范的测试框架和相应的测试例集合。OF-Test遵循Python标准库的Unittest构架,扩展实现了相应的测试功能。
(1)工作原理
如图4所示,OF-Test通过控制和数据平面两部分发挥作用。控制平面模拟了SDN网络的控制器部分和OpenFlow协议的控制信道;数据平面则模拟了测试交换设备所必须的流量信道和分析组件。被测设备同时与OF-Test的控制平面和数据平面相连通,协调两个平面完成测试工作。
图4 OF-Test工作原理图
(2)模块功能
如图5所示,OF-Test软件主要由初始化、核心、协议实现和测试例模块构成。
图5 OF-Test模块组件图
●初始化模块
全局环境的初始化配置模块。作为OF-Test软件的入口部分,初始化模块实现对各运行参数进行预指定的功能。
●核心模块
OF-Test软件运行的核心类,由控制平面核心类和数据平面核心类构成,主要实现控制器、控制信道和数据通道的核心功能。
●协议实现模块
OpenFlow协议的实现模块。通过API接口的方式,协议实现模块向核心模块和测试例模块提供对OpenFlow协议的支持。
●测试例模块
OF-Test软件进行测试时运行的各个测试脚本。通过运行符合ONF测试规范的测试例,OF-Test可以判断被测设备对OpenFlow协议的实际支持情况。
OF-Test软件的正常运行,还需要得到标准函数模块和运行平台模块的支持。
●标准函数模块
OF-Test依赖的Python标准函数模块主要包括线程、时钟、标准输入输出和日志模块。这些模块为OF-Test软件构架提供了继承的基础,因此也是OF-Test软件的基础。
●运行平台模块
Python用于测试的标准工具包Unittest是Oftest测试例模块的主要运行平台,因此OF-Test测试例的设计必须符合Unittest的结构要求。
4 测试工作中的问题
SDN测试工作随着SDN产业的不断成熟而渐进发展,并逐步形成了规模。到目前为止,尽管得到了众多学术机构和企业组织的支持,围绕SDN技术的测试工作还是面临一些困难。
(1)测试范围的局限性
分析业界已经开展的测试活动,大都仅围绕交换设备部分展开,而对于控制器部分及整体解决方案的测试工作,目前尚处于研究和探讨阶段。一方面,控制器北向接口的标准化工作进展缓慢;另一方面,从SDN网络技术的设计初衷出发,控制器部分是否需要进行严格标准化,业界还未形成结论。
(2)测试规范严重滞后
从2009年12月开始截止到目前,OpenFlow协议已经发布了6个大的标准版本,十几个阶段性的标准版本。然而,ONF正式发布的测试规范仍然停留在最基本的1.0.1版本。测试规范不仅远远落后于Open-
华为荣获最佳流量管理解决方案奖
华为在4月14日德国柏林举办的策略控制论坛(Policy ControlForum)上,荣获2015年度“最佳流量管理解决方案奖”。该奖项充分肯定了华为在策略控制(PCC)行业的领先地位以及在流量经营领域所取得的成就和贡献。
华为核心网产品线融合数据总裁王松涛发表获奖感言时提到:“在MBB时代,运营商所面临的最核心的问题就是如何在提供高价值服务以及用户体验的同时,将迅速增长的流量转化为收入。华为流量经营解决方案能够通过对网络、业务的实时洞察,然后通过大数据分析对策略进行实时的动态调整和优化,最大程度提升网络效率和用户的体验。”
华为FusionEngine解决方案亮相2015英特尔信息技术峰会
华为在2015英特尔信息技术峰会上展示了其先进的COTS(通用硬件)服务器解决方案FusionEngine。该方案融合了华为深厚的通信积累和先进的IT技术,可以在电信网络虚拟化场景下,保证电信业务所需要的高带宽、低时延、高可靠等要求,为运营商多样化的移动宽带业务提供强大的支持。
作为一款电信级COTS服务器,FusionEngine为华为CloudEdge解决方案提供最佳的硬件平台,构建面向未来的下一代MBB网络架构。截止目前,FusionEngine已经在欧洲、中国等地运营商网络中进行了预商用部署,为移动互联网接入、手机游戏加速、位置服务等业务提供了强大的硬件支持,在中国某运营商网络中,该方案的使用使手机游戏时延从350ms缩短到50ms。 Flow标准协议,也落后于SDN市场发展的需要。从CAICT(中国信息通信研究院)的ONF一致性认证实验室的实际工作来看,目前市场上主流的SDN交换设备大多数已经支持OpenFlow1.3版本,然而ONF对于OpenFlow1.3版本的测试规范仍然处于讨论阶段。
(3)测试工具不成熟
OF-Test作为ONF唯一指定的标准测试套件,目前的开发进展与测试规范保持同步,面临着严重的滞后问题。此外,OF-Test软件运行时的界面友好性和测试结果展示时的界面友好性也值得进一步的升级。
(4)交换设备良莠不齐
当前主流的交换设备生产商纷纷推出了支持OpenFlow标准的交换设备,但从实际的测试工作来看,各厂家设备对于OpenFlow标准的真实支持情况参差不齐。这样紊乱的市场现状,阻挠了SDN产业的进一步发展,成为了继续前进的瓶颈问题。
5 结束语
当今,SDN技术在ONF等国际组织的推动下,取得了长足的发展,其中最为突出的OpenFlow标准协议已经进入到了设备商用化阶段。然而,到目前为止,要进一步推动SDN产业发展,应对当前市场竞争的紊乱现状,业界必须由SDN相关的测试工作入手,根据SDN网络的架构特点,从测试方法论到测试工具全面升级,只有这样才能推动SDN产业更快、更好的向前发展。
1 刘露,陈清金,张云勇.对SDN技术的研究和思考.互联网天地.2012
2 全球SDN技术标准进展.http∶//www.c114.net/news/212/ a771039.html.2013,6
StudyonSDNTestingTechnology BasedonOpenFlow
Nowadays, SDN industry embraces a booming development. SDN devices with OpenFlow protocol have gained the industry’s strongly support. However, as deeper growth of commercial use, SDN industry encounters serveral problems,such as chaos of market competition and mixed bag for devices. For further normalization and standardization development of SDN industry, it’s necessary to do testing work well first. Drawing lessons from traditional device testing work, a fully research on testing methodology and tools will be helpful to figure out the testing techology forSDNdevices.
SDN,OpenFlow,ONF,OF-Test
2015-03-30)