OpenFlow协议一致性测试方法与设备的制造方法

文档序号:9754358阅读:919来源:国知局
OpenFlow协议一致性测试方法与设备的制造方法
【技术领域】
[0001]本发明涉及测试技术领域,尤其涉及一种OpenFlow协议一致性测试方法与设备。
【背景技术】
[0002]SDN(Software-defined networking,软件定义网络)是由Emulex提出的一种网络虚拟化(Network virtualizat1n)技术,主要利用OpenFlow协议把路由器的控制平面(control plane)从数据平面(data plane)中分离出来。控制平面和数据平面之间通过OpenFlow协议通讯。网络管理员基于该设备可以不更动硬件装置,以中央控制方式,用程序重新规划网络,为控制网络流量提供了新的方法。
[0003]OpenFlow协议是由0NF(0pen Networking Foundat1n,开放网络基金会)开发并推动的一种SDN控制平面南向协议。它规定了控制平面与数据平面通讯的方式及内容,是目前应用最广泛的SDN南向协议,得到了产业届,特别是交换设备(即数据平面设备)厂商的支持。目前该协议的OpenFlow 1.3版本是其长期维护,并得到最广泛应用和部署的版本。
[0004]作为SDN实现的主流方式,目前OpenFlow1.3协议还存在设备实现的一致性问题。因为该协议本身由自然语言撰写,所以在理解与实现方面不可避免地会存在一些不完善或存疑的地方。各设备厂商开发的设备在实现OpenFlow 1.3协议的某些细节方面无法做到完全一致,不同厂商间设备无法互通。在这种情况下,如果进行网络部署,则会由于协议不一致的问题导致网络瘫痪无法使用。

【发明内容】

[0005]针对OpenFlow协议一致性测试工具缺失的问题,本发明实施例提供一种OpenFlow协议一致性的测试方法与设备,通过自动化的测试过程验证厂商设备是否满足OpenFlow协议中的所有必须要求,确保设备针对该协议的一致性,消除不同厂商设备之间的互联互通问题,确保OpenFlow协议本身不会因厂商的实现而出现变动。
[0006]本发明实施例提供一种OpenFlow协议一致性测试设备,可以包括:
[0007]测试过程控制模块,用于测试例确定之后,控制针对该测试例的整个测试过程;
[0008]控制平面测试模块,用于在测试过程控制模块的控制下,完成所述测试例;包括与被测设备建立控制通道;与被测设备建立连接后,提供针对所述测试例的控制平面报文模板并生成符合OpenFlow协议的控制平面报文;将控制平面报文发送至被测设备,接收被测设备返回的第一应答报文;对第一应答报文进行解析;
[0009]测试结果判定模块,用于根据报文解析结果判定被测设备是否符合OpenFlow协议规范。
[0010]优选的,控制平面测试模块包括:
[0011]连接建立模块,用于在控制模块的控制下与被测设备建立控制通道;
[0012]OpenFlow协议报文库,用于连接建立模块与被测设备建立通信连接后,根据测试过程控制模块的指令提供针对所述测试例的控制平面报文模板并生成控制平面报文;
[0013]OpenFlow协议报文转发模块,用于将控制平面报文发送至被测设备,接收被测设备返回的第一应答报文;
[0014]OpenFlow协议解析模块,用于解析第一应答报文。
[0015]优选的,所述连接建立模块包括:
[0016]监听子模块,用于监听OpenFlow协议TCP端口 ;
[0017]接收子模块,用于接收被测设备通过所述TCP端口发送的连接请求;
[0018]连接子模块,用于应答被测设备发送的所述连接请求,与被测设备建立控制通道。
[0019]优选的,所述连接建立模块还用于,在与被测设备建立控制通道失败时,将指示建立控制通道失败的信息反馈至测试结果判定模块。
[0020]优选的,当所述测试例涉及数据平面通信时,则所述设备还包括:
[0021 ]数据平面报文库,用于根据测试过程控制模块的指令提供对应于所述测试例的数据平面报文模板并生成数据平面报文;
[0022]数据报文转发模块,用于将数据平面报文发送至被测设备,接收被测设备返回的第二应答报文;
[0023 ]数据报文解析模块,用于解析第二应答报文。
[0024]优选的,所述设备还包括:
[0025]测试过程记录模块,用于执行测试过程控制模块的指令,记录所述测试例的整个测试过程产生的测试数据。
[0026]优选的,所述测试数据包括:
[0027]测试过程的网络流量记录文件,以及测试设备与被测设备通信交互形成的日志文件。
[0028]本发明实施例还提供一种OpenFlow协议一致性测试方法,所述方法包括:
[0029]测试例确定之后,控制并执行针对该测试例的整个测试过程;
[0030]包括:与被测设备建立控制通道;
[0031 ]与被测设备建立连接后,提供针对所述测试例的报文模板并生成控制平面报文;
[0032]将控制平面报文发送至被测设备,接收被测设备返回的第一应答报文;
[0033]对第一应答报文进行解析;
[0034]根据报文解析结果判定被测设备是否符合OpenFlow协议规范。
[0035]优选的,所述方法还包括:
[0036]当所述测试例涉及数据平面通信时,提供对应于所述测试例的数据平面报文模板并生成数据平面报文;
[0037]将数据平面报文发送至被测设备;
[0038]接收被测设备返回的第二应答报文;
[0039]解析第二应答报文以便于进行一致性判定。
[0040]优选的,所述方法还包括:
[0041 ]记录所述测试例的整个测试过程产生的测试数据。
[0042]与现有技术相比,本发明实施例提供的技术方案具有以下优点:
[0043]本发明提供的技术方案,针对待测的功能点(被测设备具备的功能,比如发送功能),首先需要根据功能点设计测试例,测试过程即是完成实施测试例的过程。本方案中,测试过程控制模块统一控制测试例的实施过程,控制平面测试模块具体执行测试过程,由于OpenFlow协议下的报文具有特定的结构和字段组成,因此控制平面测试模块在解析被测设备返回的应答报文后,测试结果判定模块即可根据应答报文的解析结果确定被测设备发送的报文是否符合OpenFlow协议的要求,进而就可以确定被测设备是否具有OpenFlow协议一致性。
【附图说明】
[0044]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0045]图1为本发明提供的OpenFlow协议一致性测试设备实施例1的结构示意图;
[0046]图2为本发明提供的OpenFlow协议一致性测试设备实施例2的结构示意图;
[0047]图3为本发明提供的OpenFlow协议一致性测试设备实施例3的结构示意图;
[0048]图4为本发明提供的OpenFlow协议一致性测试设备实施例4的结构示意图;
[0049]图5为本发明提供的OpenFlow协议一致性测试方法实施例1的流程图。
【具体实施方式】
[0050]本发明实施例提供了一种OpenFlow协议一致性测试方法与设备,测试之前按照所需测试的OpenFlow协议功能点设计测试例,由测试过程控制模块实现测试例,即可完成针对该功能点的测试。实现对不同厂商设备是否具备OpenFlow协议一致性的测试。
[0051]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1