一种开放可编程的报文转发方法和系统技术方案

技术编号:22104925 阅读:31 留言:0更新日期:2019-09-14 04:24
本申请公开了一种开放可编程的报文转发方法和系统,包括:入口OpenFlow流水线对报文进行匹配;入口OpenFlow流水线根据匹配结果,将需要发送至中间流水线的报文发送至中间流水线;在中间流水线中查找接收到的报文中的目的地址;判断所述目的地址在中间流水线的二三层表项中对应的地址是否有配置,若有配置则将所述接收到的报文发送至出口OpenFlow流水线;出口OpenFlow流水线按照OpenFlow流表的配置对接收到的报文进行匹配。通过增加出口OpenFlow流水线,使用出口OpenFlow流水线的流表对报文进行匹配和转发,能够提高控制器对报文转发控制的灵活性,丰富数据的转发规则,提高流表对报文的处理效率,适用于可编程交换芯片,适用范围广,并且可以被使用于数据中心网络出向流量智能选路等领域。

An Open Programmable Message Forwarding Method and System

【技术实现步骤摘要】
一种开放可编程的报文转发方法和系统
本申请涉及软件定义网络
,尤其涉及一种开放可编程的报文转发方法和系统。
技术介绍
现代网络架构一般分为控制平面和数据平面,控制平面跟数据转发面之间,通过标准的南向接口进行通信,而OpenFlow是南向接口中的一种,也是应用最为广泛的一种。OpenFlow被控制器(Controller)用来控制网络设备,被网络设备用来反馈信息给控制器,并且OpenFlow还规定了网络设备对报文的转发方式。目前业界OpenFlow交换机所支持的报文转发方式有两种,一种是纯OpenFlow的报文转发方式,如图1所示,报文进入OpenFlow流水线后,OpenFlow流水线根据报文与OpenFlow流表匹配后得到的结果,将报文发送至所用芯片的流水线下一级处理逻辑进行处理(例如:转发、丢弃和修改)。另一种是既支持OpenFlow,也支持传统二三层转发的混合模式。混合模式的实现有两种架构,一种架构是通过入接口或Vlan对处理流程进行区分,即不同入接口或Vlan进入的报文,根据入接口或Vlan的属性(属于OpenFlow域还是属于传统二三层域),走不同的处理流程,这种架构下,OpenFlow流水线和传统二三层转发互不影响,是一种流水线并行的架构,如图2所示,根据入接口或Vlan的属性,将报文发至OpenFlow流水线或二三层流水线。进入OpenFlow流水线的报文,OpenFlow流水线根据报文与OpenFlow流表匹配后得到的结果,将报文发送至所用芯片的流水线下一级处理逻辑进行处理,进入二三层流水线的报文,二三层流水线根据报文与二三层表项匹配后得到的结果,将报文发送至所用芯片的流水线下一级处理逻辑进行处理;另一种架构是在报文经过OpenFlow流水线处理后,通过OpenFlow协议中保留的NORMAL或FLOOD出接口,将报文送到传统二三层转发的流水线进行处理,这种架构下,报文先经过OpenFlow流水线进行处理,OpenFlow流水线根据报文与OpenFlow流表匹配后得到的结果,将报文发送至所用芯片的流水线下一级处理逻辑进行处理。OpenFlow流水线将匹配到动作是output:NORMAL或FLOOD出接口的报文转发到传统二三层流水线进行处理,二三层流水线根据报文与二三层表项匹配后得到的结果,将报文发送至所用芯片的流水线下一级处理逻辑进行处理;这是一种流水线串行的融合架构,如图3所示。但是在现有的流水线串行的融合架构中,只能实现对入口流量(报文)的OpenFlow处理,而在报文转交到传统二三层流水线之后,不能再进行OpenFlow的流表匹配,导致控制器对流量转发控制的灵活性低,数据转发规则少,流表的处理效率低。综上所述,需要提供一种对报文转发控制的灵活性高,数据的转发规则丰富,提高流表对报文的处理效率的报文转发方法和系统。
技术实现思路
为解决以上问题,本申请提出了一种开放可编程的报文转发方法和系统。一方面,本申请提出一种开放可编程的报文转发方法,包括:入口OpenFlow流水线对报文进行匹配;入口OpenFlow流水线根据匹配结果,将需要发送至中间流水线的报文发送至中间流水线;在中间流水线中查找接收到的报文中的目的地址;判断所述目的地址在中间流水线的二三层表项中对应的地址是否有配置,若有配置则将所述接收到的报文发送至出口OpenFlow流水线;出口OpenFlow流水线按照OpenFlow流表的配置对接收到的报文进行匹配。优选地,所述入口OpenFlow流水线对报文进行匹配,还包括:若无匹配表项,则根据入口OpenFlow流水线的流表所定义的表项匹配失败动作处理报文。优选地,所述表项匹配失败动作包括:丢弃报文、发送报文至下级流表进行匹配或发送报文至中间流水线。优选地,在所述在中间流水线中查找接收到的报文中的目的地址之前,还包括:在二三层表项里对地址进行设置。优选地,所述入口OpenFlow流水线包括:一级流表或多级流表。优选地,所述出口OpenFlow流水线包括:一级流表或多级流表。优选地,在所述入口OpenFlow流水线对报文进行匹配之后,还包括:入口OpenFlow流水线将不需要发送至中间流水线的报文发送至所用芯片的流水线下一级处理逻辑。优选地,还包括:出口OpenFlow流水线根据匹配结果处理报文。优选地,所述匹配结果包括:发送报文至中间流水线、丢弃报文、发送报文至匹配到的出接口或发送报文至下级流表进行匹配。第二方面,本申请提出一种开放可编程的报文转发系统,包括:入口OpenFlow流水线模块,用于对报文进行匹配,根据匹配结果,将需要发送至中间流水线的报文发送至中间流水线;中间流水线模块,用于在中间流水线模块中查找接收到的报文中的目的地址,判断所述目的地址在中间流水线的二三层表项中对应的地址是否有配置,若有配置则将所述接收到的报文发送至出口OpenFlow流水线模块;出口OpenFlow流水线模块,用于按照OpenFlow流表的配置对接收到的报文进行匹配。本申请的优点在于:通过增加出口OpenFlow流水线,使用出口OpenFlow流水线的流表对报文进行匹配和转发,能够提高控制器对报文转发控制的灵活性,丰富数据的转发规则,提高流表对报文的处理效率。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选事实方案的目的,而并不认为是对本申请的限制。而且在整个附图中,用同样的参考符号表示相同的部件。在附图中:图1是现有的纯OpenFlow的报文转发方式的示意图;图2是现有的混合模式并行构架的报文转发方式示意图;图3是现有的混合模式融合(串行)构架的报文转发方式示意图;图4是本申请提供的一种开放可编程的报文转发方法的步骤示意图;图5是本申请提供的一种开放可编程的报文转发方法的示意图;图6是现有的交换芯片Xpliant的流水线处理架构的示意图;图7是现有的混合模式的融合架构的报文转发方式在交换芯片Xpliant上的示意图的示意图;图8是一种本申请提供的方法在交换芯片Xpliant上实现的示意图;图9是另一种本申请提供的方法在交换芯片Xpliant上实现的示意图;图10是第三种本申请提供的方法在交换芯片Xpliant上实现的示意图;图11是本申请提供的一种开放可编程的报文转发系统的示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。根据本申请的实施方式,提出一种开放可编程的报文转发方法,如图4所示,包括:S101,入口OpenFlow流水线对报文进行匹配;S102,入口OpenFlow流水线根据匹配结果,将需要发送至中间流水线的报文发送至中间流水线;S103,在中间流水线中查找接收到的报文中的目的地址;S104,判断所述目的地址在中间流水线的二三层表项中对应的地址是否有配置,若有配置则将所述接收到的报文发送至出口OpenFlow流水线;S105,出口OpenFlow流水线按照Ope本文档来自技高网
...

【技术保护点】
1.一种开放可编程的报文转发方法,其特征在于,包括:入口OpenFlow流水线对报文进行匹配;入口OpenFlow流水线根据匹配结果,将需要发送至中间流水线的报文发送至中间流水线;在中间流水线中查找接收到的报文中的目的地址;判断所述目的地址在中间流水线的二三层表项中对应的地址是否有配置,若有配置则将所述接收到的报文发送至出口OpenFlow流水线;出口OpenFlow流水线按照OpenFlow流表的配置对接收到的报文进行匹配。

【技术特征摘要】
1.一种开放可编程的报文转发方法,其特征在于,包括:入口OpenFlow流水线对报文进行匹配;入口OpenFlow流水线根据匹配结果,将需要发送至中间流水线的报文发送至中间流水线;在中间流水线中查找接收到的报文中的目的地址;判断所述目的地址在中间流水线的二三层表项中对应的地址是否有配置,若有配置则将所述接收到的报文发送至出口OpenFlow流水线;出口OpenFlow流水线按照OpenFlow流表的配置对接收到的报文进行匹配。2.如权利要求1所述的一种开放可编程的报文转发方法,其特征在于,所述入口OpenFlow流水线对报文进行匹配,还包括:若无匹配表项,则根据入口OpenFlow流水线的流表所定义的表项匹配失败动作处理报文。3.如权利要求2所述的一种开放可编程的报文转发方法,其特征在于,所述表项匹配失败动作包括:丢弃报文、发送报文至下级流表进行匹配或发送报文至中间流水线。4.如权利要求1所述的一种开放可编程的报文转发方法,其特征在于,在所述在中间流水线中查找接收到的报文中的目的地址之前,还包括:在二三层表项里对地址进行设置。5.如权利要求1所述的一种开放可编程的报文转发方法,其特征在于,所述入口OpenFlow流水线包括:一级流表或多级流表。6.如权利...

【专利技术属性】
技术研发人员:常洵传张博陈鹏
申请(专利权)人:星融元数据技术苏州有限公司
类型:发明
国别省市:江苏,32

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

1