本发明涉及一种网络操作系统对接控制器接口的测试方法及系统,特别涉及一种网络操作系统对接控制器接口测试方法及系统,应用于sdn领域。
背景技术:
1、sdn是一种基于软件控制的新型网络架构及技术,它的主要特点是解耦控制平面和数据平面,将原本固化在转发设备中的控制功能,提取出来,形成一个支持集中的网络状态控制的控制平面,以实现底层网络基础设施对上层应用的透明,由于其支持控制与转发分离和开放的编程接口,极大地提高了网络控制和业务部署的灵活性,有效地解决了当前网络系统所面临的灵活性差、新业务部署困难的缺点。控制器又被称为网络操作系统,是sdn的核心组成,负责在网络设备与控制模块之间提供桥梁作用。它向上提供编程接口使得网络控制模块能够操作底层网络设备;向下则与网络设备交互,掌握全局网络视图。同时屏蔽底层网络设备,网络状态等维护任务。
2、面对sdn良好的发展和应用前景,越来越多的用户投入到sdn的研究当中,如何设计更加合理、具有良好扩展性的控制器接口也成了探索和研究的重点方向。当前关于网络操作系统对接控制器接口的技术还不成熟,且没有相应的测试方法,工作人员在进行相关的研究时还需要专门制定测试方法,浪费时间和精力,限制了sdn的发展。
技术实现思路
1、针对上述提到的现有技术中的当前关于网络操作系统对接控制器接口没有相应的测试方法,限制了sdn的发展的问题,本发明提供一种网络操作系统对接控制器接口的测试方法及系统,其通过构建基本的实验拓扑并对其仿真,再根据控制器的api文档设计测试例,使用restclient插件执行相应的测试例,通过上层应用发出请求对底层资源进行调用,得出测试例的执行结果,通过实验拓扑的仿真结果对比测试例的执行结果是否符合预期,验证控制器的api是否能够提供相应的服务,restclient插件的响应体完成测试返回相应的结果,结合测试例,对最终测试结果进行判定后得出结果。使用本发明的工作人员在进行相关的研究时不需要专门制定测试方法,节省了时间和精力,有利于sdn的发展。
2、本发明解决其技术问题采用的技术方案是:一种网络操作系统对接控制器接口的测试方法,所述的测试方法包括以下步骤:
3、s1、构建基本实验拓扑,通过所述实验拓扑获知基本参数;
4、s2、利用仿真软件对所构建的实验拓扑进行仿真,得出仿真结果;
5、s3、根据控制器的api文档设计测试例,并利用restclient插件执行相应的测试例,通过上层应用发出请求对底层资源进行调用,得出测试例的执行结果;
6、s4、通过实验拓扑的仿真结果对比测试例的执行结果是否符合预期,验证控制器的api是否能够提供相应的服务,restclient插件的响应部分完成测试返回相应的结果,结合测试例,对最终测试结果进行判定;当restclient插件的响应部分返回的信息与预期信息一致时,则测试例执行正确;当restclient插件的响应部分返回的信息与预期信息不一致或返回错误信息,则测试例执行错误,如果测试结果与预期结果相同则判定为通过,如果测试结果与预期结果不同则判定为失败。
7、进一步,所述的步骤s3中,上层应用发出请求对底层资源进行调用的过程包括:
8、s31、上层应用程序发出请求;
9、s32、请求通过其自身的api调用接口的restapis,请求通过接口的restapis找到请求所对应的服务模块;
10、s33、请求通过服务模块被送到服务抽象层,服务抽象层中的服务管理模块将请求注册到相应的路由表中;
11、s34、请求通过服务管理模块之后调用服务抽象层的插件管理模块,插件调用相应的jar包从而完成对底层资源的调用。
12、进一步,所述的步骤s1中,基本实验拓扑获知的信息包括参数拓扑和子网信息。
13、进一步,所述的步骤s32中,restapis包括参数部分、响应体部分和状态编码部分。
14、进一步,所述的步骤s33中,服务抽象层包括yang模型,所述yang模型用于表示网络设备和应用之间的数据交换和适配机制。
15、一种网络操作系统对接控制器接口的系统,所述系统包括:
16、实验拓扑模块,用于构建基本实验拓扑,通过所述实验拓扑获知基本参数;
17、仿真模块,用于利用仿真软件对所构建的实验拓扑进行仿真,得出仿真结果;
18、执行模块,用于根据控制器的api文档设计测试例,并利用restclient插件执行相应的测试例,通过上层应用发出请求对底层资源进行调用,得出测试例的执行结果;
19、判定模块,用于通过实验拓扑的仿真结果对比测试例的执行结果是否符合预期,验证控制器的api是否能够提供相应的服务,restclient插件的响应部分完成测试返回相应的结果,结合测试例,对最终测试结果进行判定;当restclient插件的响应部分返回的信息与预期信息一致时,则测试例执行正确;当restclient插件的响应部分返回的信息与预期信息不一致或返回错误信息,则测试例执行错误,如果测试结果与预期结果相同则判定为通过,如果测试结果与预期结果不同则判定为失败。
20、进一步,所述执行模块包括:
21、上层应用单元,用于通过上层应用程序发出请求;
22、服务单元,用于使请求通过其自身的api调用接口的restapis,请求通过接口的restapis找到请求所对应的服务模块;
23、注册单元,用于使请求通过服务模块被送到服务抽象层,服务抽象层中的服务管理模块将请求注册到相应的路由表中;
24、调用单元,用于使请求通过服务管理模块之后调用服务抽象层的插件管理模块,插件调用相应的jar包从而完成对底层资源的调用。
25、进一步,所述实验拓扑模块获知的信息包括参数拓扑和子网信息。
26、进一步,所述的服务单元中,restapis包括参数部分、响应体部分和状态编码部分。
27、进一步,所述注册单元中,服务抽象层包括yang模型,所述yang模型用于表示网络设备和应用之间的数据交换和适配机制。
28、本发明的有益效果:本发明提供一种网络操作系统对接控制器接口的测试方法及系统,其通过构建基本的实验拓扑并对其仿真,再根据控制器的api文档设计测试例,使用restclient插件执行相应的测试例,通过上层应用发出请求对底层资源进行调用,得出测试例的执行结果,并通过实验拓扑的仿真结果对比测试例的执行结果是否符合预期,验证控制器的api是否能够提供相应的服务,restclient插件的响应体完成测试返回相应的结果,结合测试例,对最终测试结果进行判定后得出结果。使用本发明的工作人员在进行相关的研究时不需要专门制定测试方法,节省了时间和精力,有利于sdn的发展。
1.一种网络操作系统对接控制器接口的测试方法,其特征在于:所述的测试方法包括以下步骤:
2.根据权利要求1所述网络操作系统对接控制器接口测试方法,其特征在于,所述的步骤s3中,上层应用发出请求对底层资源进行调用的过程包括:
3.根据权利要求1所述网络操作系统对接控制器接口测试方法,其特征在于:所述的步骤s1中,基本实验拓扑获知的信息包括参数拓扑和子网信息。
4.根据权利要求2所述网络操作系统对接控制器接口测试方法,其特征在于:所述的步骤s32中,restapis包括参数部分、响应体部分和状态编码部分。
5.根据权利要求2所述网络操作系统对接控制器接口测试方法,其特征在于:所述的步骤s33中,服务抽象层包括yang模型,所述yang模型用于表示网络设备和应用之间的数据交换和适配机制。
6.一种网络操作系统对接控制器接口的系统,其特征在于:所述系统包括:
7.根据权利要求6所述网络操作系统对接控制器接口的系统,其特征在于:所述执行模块包括:
8.根据权利要求6所述网络操作系统对接控制器接口的系统,其特征在于:所述实验拓扑模块获知的信息包括参数拓扑和子网信息。
9.根据权利要求7所述网络操作系统对接控制器接口的系统,其特征在于:所述的服务单元中,restapis包括参数部分、响应体部分和状态编码部分。
10.根据权利要求7所述网络操作系统对接控制器接口的系统,其特征在于:所述注册单元中,服务抽象层包括yang模型,所述yang模型用于表示网络设备和应用之间的数据交换和适配机制。