面向P4编程语言的SDN数据平面软件一致性测试系统及方法技术方案

技术编号:23084851 阅读:69 留言:0更新日期:2020-01-11 01:04
本发明专利技术提出了一种面向P4编程语言的SDN数据平面软件一致性测试系统,包括:配置模块,测试用例生成模块,通信模块和测试结果处理模块。本发明专利技术设计了面向P4编程语言的SDN数据平面软件一致性测试系统,特点在于设计了面向P4编程语言的SDN数据平面软件一致性测试过程一体化,设计了批量生成测试用例的方法,基于gRPC框架实现测试用例发送、测试服务调用、测试用例结果接收过程。本发明专利技术通过比对测试结果与预期输出结果,分析得出被测网络设备具体实现与P4程序描述一致程度,保证了面向P4编程语言的SDN数据平面软件在错综复杂的网络环境中与用户需求表现一致性,其目的在于保障控制器与P4网络设备之间的互操作性。

Conformance test system and method of SDN data plane software for P4 programming language

【技术实现步骤摘要】
面向P4编程语言的SDN数据平面软件一致性测试系统及方法
本专利技术涉及SDN(Software-DefinedNetworking)以及计算机网络
,尤其实现一种面向P4编程语言的SDN数据平面软件一致性测试系统及方法。
技术介绍
近年来软件定义网络(SoftwareDefinedNetworking,简称SDN)的发展如火如荼,SDN发展的目的在于解决架构复杂且分散的传统网络出现的问题,使网络具有更强的灵活性。OpenFlow协议作为SDN的南向协议,一时间成为流行的标准用于网络控制平面和数据平面的交互,然而OpenFlow只是为我们提供了一种填充一组众所周知的表的方法,因此OpenFlow协议的可扩展性、可编程性较差。针对此问题,斯坦福大学的Nick教授及其团队研究出P4高级编程语言。P4编程语言是一种具有协议独立性、可重新配置性以及可移植性的语言。传统网络功能呈“自下而上”构建,而面向P4编程语言的可编程网络则呈现“自上而下”的网络功能。P4和OpenFlow协议的主要区别在于OpenFlow协议功能固定,协议更新时间长,本文档来自技高网...

【技术保护点】
1.一种面向P4编程语言的SDN数据平面软件一致性测试系统,其特征在于,包括:配置模块,测试用例生成模块,通信模块和测试结果处理模块;其中,/n所述配置模块用于与目标网络设备建立连接,设置gRPC服务监听端口信息、用户权限信息;/n所述测试用例生成模块包括:/nP4程序编译单元,用于接收导入系统的P4程序,将用户输入到系统的P4程序编译成解析单元所需要的P4信息文件和通信模块所需要的P4数据平面描述文件;所述P4数据平面描述文件包括JSON格式的网络设备配置文件和运行时的API;/n解析单元,用于获取目标网络设备控制命令集,依据每条控制命令格式从所述P4程序编译单元生成的P4信息文件中解析出表...

【技术特征摘要】
1.一种面向P4编程语言的SDN数据平面软件一致性测试系统,其特征在于,包括:配置模块,测试用例生成模块,通信模块和测试结果处理模块;其中,
所述配置模块用于与目标网络设备建立连接,设置gRPC服务监听端口信息、用户权限信息;
所述测试用例生成模块包括:
P4程序编译单元,用于接收导入系统的P4程序,将用户输入到系统的P4程序编译成解析单元所需要的P4信息文件和通信模块所需要的P4数据平面描述文件;所述P4数据平面描述文件包括JSON格式的网络设备配置文件和运行时的API;
解析单元,用于获取目标网络设备控制命令集,依据每条控制命令格式从所述P4程序编译单元生成的P4信息文件中解析出表名、匹配字段、动作、动作参数信息;
测试用例生成单元,用于划分测试用例类型,将所述解析单元解析的命令字段信息依据每种测试用例类型构造测试用例,生成P4一致性测试用例集,与测试用例格式、预设条件、预期结果一并写入测试文档;
所述通信模块包括:
发送单元,用于先将编译单元生成的JSON格式的网络设备配置文件和P4运行时的API序列化编码成ProtocolBuffer协议文件,gRPC基于HTTP/2.0协议将ProtocolBuffer协议文件封装成IP/MAC数据包并发送至目标网络设备;再封装测试用例为IP/MAC数据包,gRPC基于Streaming模式服务调用向目标网络设备发送测试用例IP/MAC数据包请求报文;
接收单元,用于接收目标网络设备传回的基于ProtocolBuffer协议的服务应答响应报文,gRPC反序列化解码服务调用返回的参数、测试结果信息,记录测试结果日志;
所述测试结果处理模块,用于提取所述接收单元测试结果信息,将测试结果与预期结果对比,若反馈信息为空或反馈信息不一致,则判断测试结果为FAILED,若反馈数据包正确,则判断测试结果为PASS。


2.根据权利要求1所述的面向P4编程语言的SDN数据平面软件一致性测试系统,其特征在于,所述发送单元监测用户是否输入测试用例,若用户有编辑输入测试用例,选择用户输入测试用例进行预处理操作,否则,选择S2_测试用例生成模块批量生成的测试用例进行预处理操作,封装测试用例为IP/MAC数据包,采用gRPC框架向目标网络设备发送测试用例IP/MAC数据包请求报文并基于Streaming模式进行服务调用。


3.根据权利要求1所述的面向P4编程语言的SDN数据平面软件一致性测试系统,其特征在于,所述系统面向P4中间节点编程语言,自动化生成P4一致性测试用例,采用gRPC框架进行通讯,基于Streaming模式进行服务调用。


4.一种面向P4编程语言的SDN数据平面软件一致性测试方法,其特征在于,采用...

【专利技术属性】
技术研发人员:章玥张雯雯蒲戈光
申请(专利权)人:华东师范大学上海工业控制安全创新科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1