一种可编程SDN交换机系统技术方案

技术编号:21576991 阅读:27 留言:0更新日期:2019-07-10 16:55
本发明专利技术公开了一种可编程SDN交换机系统。本发明专利技术系统包括:包头解析模块、匹配‑动作模块和队列调度模块。本发明专利技术的系统,使交换机可以根据控制器制定的解析策略进行包头解析、信息提取和数据操作,使交换机解析模块、匹配‑动作模块都具有了软件化可编程的能力,无需更改硬件就可以实现交换机功能的更新。

A Programmable SDN Switch System

【技术实现步骤摘要】
一种可编程SDN交换机系统
本专利技术涉及网络
,更具体的说是涉及一种可编程SDN交换机系统。
技术介绍
随着SDN技术的发展,传统SDN的协议,如OpenFlow在逐渐的完善演化过程中,匹配元组和动作类型不断的增加。交换机在支持OpenFlow协议的版本更新上,面临着和传统交换设备厂商同样的困境——OpenFlow并不支持弹性地更改匹配元组和动作类型。随着网络中新的协议不断出现,OpenFlow协议也必将变得越来越臃肿,匹配-动作表的扩展变得越来越困难。因此,让数据转发平面也具有可编程能力,让数据包的解析和转发流程也能通过编程控制,打破了硬件设备对数据转发平面的限制,成为新一代SDN技术发展的趋势。以支持P4语言为代表的可编程交换机为用户提供了这种能力,此类交换机采用匹配-动作模型,通过可编程的解析器和匹配-动作表,使交换机能够通过软件化的方式的进行功能的更新。但是,目前控制层对可编程交换机的控制主要是通过南向接口调用P4语言编译生成的API进行。由于已经编译完成的交换机功能和接口已经确定,实际上对于控制层而言,交换机的功能仍是固定的,因此并没有最大程度的实现全软件化的控制优势。本专利技术通过对交换机包头解析器的改进,使控制器能够通过配置的方式完全的实现对交换机的功能控制,可以最大限度的发挥交换机软件定义的优势,使数据层真正可以实现完全的软件化。
技术实现思路
为解决上述技术问题,本专利技术提出一种可编程的SDN交换机系统,通过对解析模块、匹配动作-模块的可配置的软件化设计,使交换机可以根据控制器制定的解析策略进行包头解析、信息提取和数据操作,使交换机具有了软件化可编程的能力,无需更改硬件就可以实现交换机功能的更新。本专利技术采用如下技术方案:一种可编程SDN交换机系统,包括:包头解析模块,用于对可编程SDN交换机接收到的数据包头进行解析,提取数据包头的匹配元组信息,并将所述匹配元组信息发送到匹配-动作模块;匹配-动作模块,用于将提取的匹配元组信息与匹配-动作表中的匹配元组内容进行匹配,如果有匹配的表项,则按照所述匹配表项中的动作进行处理;队列调度模块,用于对缓存在各队列中的发送数据进行调度后从交换机发出。所述包头解析模块,包括:包头解析配置接口,用于接收控制器发送来的解析配置信息,并将所述解析配置信息存储到解析表中;解析表,用于存储包头解析表项,每条表项对应一种包头解析和信息提取策略,包头解析表项包括,解析ID和解析元组;解析执行单元,用于读取数据包的解析ID,根据数据包的解析ID在解析表中查找匹配的表项,按照匹配表项中的解析元组对数据包进行解析和信息提取,将提取到的包头信息作为匹配元组信息,发送给匹配-动作模块。所述解析配置信息包括包头解析表项。所述解析表,包括:解析ID,用于区分数据流的包头解析和信息提取策略;解析元组,用于指示包头解析和信息提取的内容;解析元组由一个或多个解析元素组成,每个解析元素表示包头中的一项信息;每个解析元素通过TLV(Type,length,Value)格式表达,Type表示解析元组名称,Length表示解析元组长度,Value表示解析元组在包头的位置。所述匹配-动作模块,包括:匹配-动作配置接口,用于接收控制器发送来的匹配-动作配置信息,并存储到匹配-动作表中;匹配-动作表,用于存储匹配-动作表项,每条表项包括:匹配元组和动作;匹配-动作执行单元,用于根据包头解析模块发送来的所述匹配元组信息,在匹配-动作表中查找匹配的表项,按照匹配表项中的动作内容对数据包进行处理,发送至队列调度模块。所述匹配-动作配置信息包括存储匹配-动作表项。所述匹配-动作表包括:匹配元组,包括与解析元组中解析元素对应的元素;动作,用于对数据包的操作。所述队列调度模块,包括:队列配置接口,用于接收控制器发送来的队列配置信息,并配置到缓存队列及队列调度单元;缓存队列,用于缓存端口各个队列的数据包;调度单元,用于对所述缓存队列中的数据包按照队列配置信息配置的队列调度方式进行发送顺序的排列;发送单元,用于缓存调度完成后等待发送的数据,并按依次发送出交换机。所述队列配置信息包括端口名称、队列名称、队列数量、队列调度方式。一种可编程SDN交换机的解析方法,包括以下步骤:包头解析模块,对可编程SDN交换机接收到的数据包头进行解析,提取数据包头的匹配元组信息,并将所述匹配元组信息发送到匹配-动作模块;匹配-动作模块,将提取的匹配元组信息与匹配-动作表中的匹配元组内容进行匹配,如果有匹配的表项,则按照所述匹配表项中的动作进行处理;否则,丢弃或者发送给控制器;队列调度模块,对缓存在各队列中的发送数据进行调度后从交换机发出。本专利技术有益效果和优点如下:1.本专利技术的系统,使交换机可以根据控制器制定的解析策略进行包头解析、信息提取和数据操作,使交换机解析模块、匹配-动作模块都具有了软件化可编程的能力,无需更改硬件就可以实现交换机功能的更新。2.通过本专利技术系统,交换机包头解析和匹配-动作可以根据传输数据进行定制化的处理,可以提高数据处理转发的效率。附图说明图1为本专利技术一种可编程SDN交换机及所属SDN网络系统的一个实施例的示意图;图2为本专利技术一种可编程SDN交换机系统的一个实施例的结构示意图。图3a为本专利技术解析表的示意图;图3b为本专利技术一种可编程SDN交换机系统的一个实施例的示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1,示出了本专利技术一种可编程SDN交换机及所属SDN网络系统的一个实施例的示意图,SDN整体网络系统分为两个层面,控制层和数据层。控制层由一个或多个分布式的控制器组成,根据终端设备的传输需求,制定数据流的传输策略,将传输策略转换成控制域内的边缘设备的配置(如解析ID的分配)和数据层设备的配置(如解析配置信息的制定、匹配-动作配置信息的制定);数据层由多个可编程SDN交换机和终端设备组成,其中,可编程SDN交换机接收管理器的解析配置信息和匹配-动作配置信息,根据解析配置信息对数据包进行解析和包头信息提取,根据匹配-动作配置信息对数据包进行操作处理。边缘设备负责数据流转换,用于在相应数据流的包头中添加或删除管理器分配的解析ID标签。终端设备是网络数据的产生和接收终端,用于将传输需求发送到控制器,和交换机数据的发送和接收。参见图2,示出了本专利技术一种可编程SDN交换机系统的一个实施例的结构示意图,该系统包括:包头解析模块210、匹配-动作模块220、队列调度模块230。包头解析模块210,用于对可编程SDN交换机接收到的数据包头进行解析,提取数据包头的匹配元组信息,并将所述匹配元组信息发送到匹配-动作模块。具体包括:解析表,用于存储包头解析表项,每条表项对应一种包头解析和信息提取策略(该策略由控制器根据数据流传输需求制定),参数包括,解析ID和解析元组;包头解析表项状态信息可以包括包头解析表项的有效时间、创建时间等;解析表状态信息可以包括解析表名称、解析表最大表项容量,解析表中表项本文档来自技高网...

【技术保护点】
1.一种可编程SDN交换机系统,其特征在于,包括:包头解析模块,用于对可编程SDN交换机接收到的数据包头进行解析,提取数据包头的匹配元组信息,并将所述匹配元组信息发送到匹配‑动作模块;匹配‑动作模块,用于将提取的匹配元组信息与匹配‑动作表中的匹配元组内容进行匹配,如果有匹配的表项,则按照所述匹配表项中的动作进行处理;队列调度模块,用于对缓存在各队列中的发送数据进行调度后从交换机发出。

【技术特征摘要】
1.一种可编程SDN交换机系统,其特征在于,包括:包头解析模块,用于对可编程SDN交换机接收到的数据包头进行解析,提取数据包头的匹配元组信息,并将所述匹配元组信息发送到匹配-动作模块;匹配-动作模块,用于将提取的匹配元组信息与匹配-动作表中的匹配元组内容进行匹配,如果有匹配的表项,则按照所述匹配表项中的动作进行处理;队列调度模块,用于对缓存在各队列中的发送数据进行调度后从交换机发出。2.根据权利要求1所述的一种可编程SDN交换机系统,其特征在于,所述包头解析模块,包括:包头解析配置接口,用于接收控制器发送来的解析配置信息,并将所述解析配置信息存储到解析表中;解析表,用于存储包头解析表项,每条表项对应一种包头解析和信息提取策略,包头解析表项包括,解析ID和解析元组;解析执行单元,用于读取数据包的解析ID,根据数据包的解析ID在解析表中查找匹配的表项,按照匹配表项中的解析元组对数据包进行解析和信息提取,将提取到的包头信息作为匹配元组信息,发送给匹配-动作模块。3.根据权利要求2所述的一种可编程SDN交换机系统,其特征在于,所述解析配置信息包括包头解析表项。4.根据权利要求2所述的一种可编程SDN交换机系统,其特征在于,所述解析表,包括:解析ID,用于区分数据流的包头解析和信息提取策略;解析元组,用于指示包头解析和信息提取的内容;解析元组由一个或多个解析元素组成,每个解析元素表示包头中的一项信息;每个解析元素通过TLV(Type,length,Value)格式表达,Type表示解析元组名称,Length表示解析元组长度,Value表示解析元组在包头的位置。5.根据权利要求1所述的一种可编程SDN交换机系统,其特征在于,所述匹配-动作模块,包括:匹配-动作配置接...

【专利技术属性】
技术研发人员:俞雪婷李栋李志博曾鹏于海斌
申请(专利权)人:中国科学院沈阳自动化研究所
类型:发明
国别省市:辽宁,21

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

1