[发明专利]面向P4编程语言的SDN数据平面软件一致性测试系统及方法有效
申请号: | 201910758596.4 | 申请日: | 2019-08-16 |
公开(公告)号: | CN110674027B | 公开(公告)日: | 2021-07-27 |
发明(设计)人: | 章玥;张雯雯;蒲戈光 | 申请(专利权)人: | 华东师范大学;上海工业控制安全创新科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海麦其知识产权代理事务所(普通合伙) 31257 | 代理人: | 董红曼 |
地址: | 200062 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 p4 编程 语言 sdn 数据 平面 软件 一致性 测试 系统 方法 | ||
本发明提出了一种面向P4编程语言的SDN数据平面软件一致性测试系统,包括:配置模块,测试用例生成模块,通信模块和测试结果处理模块。本发明设计了面向P4编程语言的SDN数据平面软件一致性测试系统,特点在于设计了面向P4编程语言的SDN数据平面软件一致性测试过程一体化,设计了批量生成测试用例的方法,基于gRPC框架实现测试用例发送、测试服务调用、测试用例结果接收过程。本发明通过比对测试结果与预期输出结果,分析得出被测网络设备具体实现与P4程序描述一致程度,保证了面向P4编程语言的SDN数据平面软件在错综复杂的网络环境中与用户需求表现一致性,其目的在于保障控制器与P4网络设备之间的互操作性。
技术领域
本发明涉及SDN(Software-Defined Networking)以及计算机网络技术领域,尤其实现一种面向P4编程语言的SDN数据平面软件一致性测试系统及方法。
背景技术
近年来软件定义网络(Software Defined Networking,简称SDN)的发展如火如荼,SDN发展的目的在于解决架构复杂且分散的传统网络出现的问题,使网络具有更强的灵活性。OpenFlow协议作为SDN的南向协议,一时间成为流行的标准用于网络控制平面和数据平面的交互,然而OpenFlow只是为我们提供了一种填充一组众所周知的表的方法,因此OpenFlow协议的可扩展性、可编程性较差。
针对此问题,斯坦福大学的Nick教授及其团队研究出P4高级编程语言。P4编程语言是一种具有协议独立性、可重新配置性以及可移植性的语言。传统网络功能呈“自下而上”构建,而面向P4编程语言的可编程网络则呈现“自上而下”的网络功能。P4和OpenFlow协议的主要区别在于OpenFlow协议功能固定,协议更新时间长,而P4程序以一种更灵活且可编程的方式告诉交换机如何识别、如何处理数据包。
P4程序有五个重要组成部分,分别是首部(Headers)、解析器(Parsers)、动作(Tables)、表(Actions)、控制程序(ControlProgram)。首部定义了成员字段的顺序和结构,指定了成员字段域宽和域值约束;解析器是把数据包中的头和元数据解析出来,解析器是以有限状态机的形式实现;表是匹配动作表(Match-Action Tables)的简称,匹配动作表是执行数据包处理的机制。P4程序定义了表的匹配字段(Key)、匹配方式以及匹配成功后执行的对应动作;控制程序用来规定应用于数据包的匹配动作表的执行顺序。
装载了P4程序的网络设备基本的工作机制为:接收数据包;解析器以有限状态机的形式解析数据包包头,从初始状态开始,每一种状态解析一种协议,从低层协议解析匹配首部定义的协议进而转移到高层协议字段,最终转移至目标状态;依据定义好的首部(Headers)类型确定偏移量,解析数据包数据,形成首部(Headers)实例;控制程序(ControlProgram)依次对流水线(Pipeline)中表的匹配字段和数据包头的目的地址进行匹配,当按照给定的匹配方式类型匹配成功时,就会执行对应的动作,如果匹配不成功则会执行默认动作(DefaultAction);逆解析器将Header实例转成数据包。
匹配动作表(Match-Action Tables)是面向P4编程语言的SDN实现的关键载体,也是体现P4编程语言特性的重要部分。用户可以直接把自己对处理数据包的需求编写成P4程序来部署网络设备,因而网络架构师、程序员可以通过控制网络设备,指定转发行为,填充定义表来实现SDN,而确定装载P4程序的网络设备是否真正实现用户需求则需要对目标网络设备进行一致性测试。
协议一致性测试本质上是在将测试用例发送给协议实现单元,通过比较实际输出和预期输出的一致程度,分析得出网络设备协议实现与标准描述一致程度,进而保证了协议在错综复杂的网络环境中的表现一致性。协议一致性测试已经不仅仅是SDN发展的重要支撑,还是协议落地的重要保障。面向P4编程语言的SDN数据平面软件一致性测试目的在于保障控制器与网络设备之间的互操作性。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学;上海工业控制安全创新科技有限公司,未经华东师范大学;上海工业控制安全创新科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910758596.4/2.html,转载请声明来源钻瓜专利网。