软件定义网络测试方法研究
2016-03-25郑派
郑派
摘要:SDN技术是近年来出现的一种新型网络技术,而我国自主知识产权的SDN测试标准尚处于研究阶段,缺乏完整的协议文档或者成熟的研究成果,所以相关测试评估技术上也尚属空白。文章介绍了SDN测试评估技术的概念和方法研究,对软件定义网络测试技术当前的研究情况进行了综述,并对进一步需要研究的问题进行了讨论。
关键词:软件定义网络;测试评估:方法研究
软件定义网络(Software Defined Network,SDN)技术是近年来出现的一种新型网络技术,它通过将网络设备控制面与数据面分离,可以实现网络的灵活控制,为核心网络及应用的创新提供了良好的支撑。目前SDN技术还在蓬勃演进和发展之中,业界提出并发展的Open Flow标准,即是SDN设计理念的一种实现。通过SDN技术,可以分离网络设备的控制与数据面,将网络的能力抽象为应用程序接口(ApplicationProgramming Interface,API)提供给应用层调用,从而构建了开放可编程的网络环境。在对底层各种网络资源虚拟化的基础上,实现对网络的集中控制和管理。与采用嵌入式控制系统的传统网络设备相比,SDN将网络设备控制能力,特别是数据流的转发规则,集中至中央控制节点通过网络操作系统以软件驱动的方式实现灵活、高度自动化的网络控制和业务配置。
1 SDN测试技术研究意义
SDN技术的出现打破了传统网络设备制造商独立而封闭的控制面结构体系,改变了网络设备形态和运营模式,对网络的应用和发展产生了直接影响。但是,随着各种SDN设备与系统的大量涌现,相应的测试评估技术也必须同时进行研究与发展。以SDN为基础的军用数据链可以为未来军事科技提供灵活、统一的视图:为战争资源的统一配置、管理和优化提供了很好的技术支持。而SDN测试评估能够为SDN技术的具体实施提供保障。特别是为各种设备间、新旧协议间、不同战区和兵种网络间的相互间的一致性、安全性提供保障。科学、完备的SDN测试评估体系和方法将成为未来军用网络设备研发和部署的必备技术基础。
目前,我国自主知识产权的SDN标准尚处于研究阶段,缺乏完整的协议文档或者成熟的研究成果,所以相关测试评估技术上也尚属空白。而一旦具有自主知识产权的SDN具体化标准诞生,进一步推广乃至产业化就必须依赖强有力的测试评估技术,以保证自主协议标准的科学性和一致性。所以,对我国具有自主知识产权的SDN技术的测试研究显得尤为迫切。总之,SDN相关研究对我国网络强国强军战略意义重大,提出科学完备的SDN测试体系和方法将构成这一研究中的重要一环。
2 总体研究思路
首先,本文调研已有测试技术和SDN的发展现状。在此基础上,拟从协议一致性、互操作性、安全性和性能测试4个方面,提炼和整理测试评估参数,以建立测试评估体系。然后,设计获取这些参数实测值的具体测试方法以及结果判决方法。最后,设计和研制测试原型系统以验证建立的体系和方法。
3 测试评估体系研究
如前所述,SDN存在3个逻辑层面:基础设施层、控制层和应用层。SDN被测对象(例如交换机、控制中心等)即是工作在某个或者某几个层面上的设备或者系统。建立众多的SDN设备或系统的测试评估体系,可以概括为对其包含的逻辑层面的测试评估体系。从协议一致性、互操作性、性能测试和安全性4个方面,对特定的SDN逻辑层面进行测试评估,即从协议一致性、互操作性、性能测试和安全性测试方面来研究SDN各逻辑层面测试的总体拟测参数体系。而每个逻辑层面的每种测试参数又可以包含若干细化的拟测参数集。
以SDN交换机为例(通常假设它只负责数据转发,即工作在基础设施层),如图1所示,测试评估在协议一致性、互操作性、性能测试和安全性4个大的方面进行。由于基础设施层的协议接口只有南向接口,而其主要功能是数据转发,所以其南向接口协议一致性、互操作性和数据接口性能测试是其测试评估体系的重点。进一步来看,以南向接口互操作性为例,又可以细化为控制通道建立、拓扑管理等测试。同样,数据接口性能测试也可以细化为吞吐量和丢包率等测试。
不同逻辑层面考察的侧重面即主要的拟测参数集可能各不相同。但总的来说,各个层面的被测对象都可以建立类似的体系结构。图1只是整个测试评估体系的部分例子,更完整、科学的测试评估谱系需要进一步细化和研究。
4 测试评估方法研究
测试评估体系拟从协议一致性、互操作性、安全性和性能测试4个方面对SDN设备或系统进行评估。这4个方面涵盖了SDN设备或系统最主要的测试指标和参数,构成了完备的SDN测试评估体系。下面分别给出这4个方面的测试方法。
4.1 协议一致性测试
协议一致性测试是检验开放系统互连设备或系统的协议实现与协议标准一致性程度的测试。协议一致性测试是一种黑盒测试,测试依据协议标准来控制、观察被测试协议实现的外部行为,而后对被测协议实现进行测试。协议一致性测试实质上是在一定的网络环境下,利用一组测试序列,对被测协议实现(Implementation Under Test,IUT)进行测试,通过比较IUT的实际输出与预期输出的异同,判定待测协议在多大程度上与标准描述相一致。
4.2 互操作性测试
互操作性测试是对2个或2个以上的协议实现能否互连互通互操作进行的测试,所以它至少涉及2个或2个以上的协议实现。在互操作性测试中,通常把其中公认的已经通过权威的互操作性测试的协议实现称为认可设备(QualifiedEquipment,QE)。互操作性测试和协议一致性测试的最大不同,是在测试拓扑中认可设备替代了测试仪表。认可设备就是与被测设备连接互通、由其他设备提供商提供且已经被认为是合格的设备。同时,把另外一个协议实现称为被测设备(Implementation Under Test,IUT),被测设备在互操作性测试中作为被测试对象。由测试方和被测方所组成的整体称为被测系统(System Under Test,SUT)。
4.3 安全性测试
传统的网络安全问题,如洪泛攻击、访问权限突破、溢出或注入攻击、数据信息泄漏等安全问题在SDN环境下同样存在。而SDN提供对网络设备的集中式、自动化管理、统一的策略执行,又有其独特的安全特性,需要重点提炼和测试。特别是SDN中的控制层,对下操作硬件行为,对上提供API接口,可能成为安全问题的焦点。
4.4 性能测试
性能测试用于表征设备或系统的物理属性和能力,是设备或系统本身特性的体现。它由一系列的性能参数来度量和描述。性能测试采用一定的软件和硬件工具,遵照一定的方法和技术,测试或验证表征设备或系统的性能指标,对设备或系统设计具有重要意义,测试结果可用于改善设备或系统设计、配置、操作和维护。为了反映SDN设备或系统的实际状况,性能测试参数的选取拟遵循以下准则:首先,参数必须是具体而明确的;其次,参数能够且比较足够用于反映SDN设备或系统的基本性能特征;再次,参数的定义不依赖于具体的SDN实现标准,并用于具体SDN实现标准无关的术语进行描述;最后,参数应具有可重复测试性,即在相同条件下测试多次应得到近似的测试结果,以避免人为因素和随机因素的影响。
5 测试系统设计
目前,Open Flow南向接口己相对成熟,具有具体可实现的协议标准,所以设计的测试原型系统以此为基础,用于测试运行于基础设施层的SDN交换机。如图2所示,原型系统依据测试评估体系中的4个方面:协议一致性、互操作性、安全性和性能测试,分为4个物理平面。其中,协议一致性测试平面底层实现南向接口,通过一定的测试规范模块(包含测试用例、测试判定、报告生成等内容和功能),测试设备控制层和基础设施层之间的南向接口协议与标准协议的一致性;安全性测试平面和性能测试平面底层同样实现南向接口,通过一定的测试规范模块,测试设备南向接口的安全性和物理性能;互操作性测试平面不需要直接与南向接口打交道,但作为外部监控,通过一定的监控接口和测试规范模块,对多个设备的互操作性进行测试和评估。
测试原型系统拟采用的物理硬件以集成众核处理器的高速网络板卡为基础,以提高测试效率。软件上实现南向接口协议和测试规范模块,以实现接口和测试要求。测试原型系统的4个测试平面在初期阶段,拟设计为物理上分离的4个独立测试套件,以方便开发和实验。后期拟将都基于南向接口的协议一致性测试、安全性测试和性能测试整合到同一块高速网络板卡之中,并和互操作性测试一起整合到一个综合测试平台之上,以满足SDN多层面综合性的测试场景和测试需求。
6 结语
本文介绍了SDN的概念以及对软件定义网络测试技术的当前研究情况,对测试评估技术的概念和方法研究进行了综述,并对SDN测试原型系统的设计作了介绍。总的来说,SDN测试相关研究正在蓬勃开展之中,但以Open Flow为代表的相关标准仍不够成熟,设备对标准的支持情况也还不够成熟,不同设备厂商对标准理解不同,设备实现也不尽相同,所以一致性、互操作性等测试显得尤为重要。通过测试,可以促进SDN理念和相关技术更快被接纳,让设备的实现更加规范,加快商业部署的步伐。目前,测试工作还存在很多挑战,测试方法还不够全面,测试工具也不够完善,相关文献文档非常匮乏甚至空白。现有的测试评估方案多为对以OpenFlow为标准的设备的测试,SDN网络和系统的测试评估方案还存在很大的挑战。随着SDN技术的发展,特别是随着我国自主知识产权的SDN技术的发展,SDN测试评估体系和方法还需要进一步研究和完善。