基于多级流表的Openflow报文转发方法及系统技术方案

技术编号:8388959 阅读:920 留言:0更新日期:2013-03-07 20:47
本发明专利技术提供一种基于多级流表的Openflow报文转发方法及系统,其方法包括:至少构建依次串行设置的第一、第二、第三级流表,其中,第一、第二级流表以TCAM表的形式构建,第三级流表以哈希表的形式构建,所述第一、第二、第三级流表可单独使用、或组合使用,并基于此三级流表进行报文的转发动作的查找,之后根据转发动作进行报文转发,本发明专利技术由于第一级流表到第三级流表是由粗到细粒度的控制,故第三级流表采用哈希表的形式,可使得第三级流表获取更多的流条目,与此同时,系统成本也得以控制。

【技术实现步骤摘要】

本专利技术涉及网络通信领域技术,尤其涉及一种基于多级流表的Openflow报文转发方法及系统
技术介绍
Openflow是目前在SDN(Software Defined Networking)网络中最主要的一种方案。为了获得更多的流条目数,Openflow交换机系统中根据Openflow的规范要求往往支持多级流表,多级流表是指一个进入Openflow交换机的报文可以根据不同的字段在不同的流表中进行查找,并且前一级流表的结果可以影响后一级流表的查表过程。现有技术中,为了提高系统的灵活性,往往通过TCAM(ternary content addressable memory)表的形式构建多级流表,但是在ASIC(Application Specific Integrated Circuit)设计过程中,若为了获得更多的流表条目,势必需要增加TCAM表的数目,而由于TCAM的成本较高,给整个系统的成本带来了负担,显然,这是不切实际的。
技术实现思路
本专利技术所需解决的技术问题在于提供一种基于多级流表的Openflow报文转发方法,以较低成本实现Openflow多级流表的报文转发机制。相应地,本专利技术还提供一种基于多级流表的Openflow报文转发系统。为解决上述技术问题,本专利技术所采取的技术方案为:一种基于多级流表的Openflow报文转发方法,包括如下步骤:S1、至少构建依次串行设置的第一、第二、第三级流表,其中,第一、第二级流表以TCAM表的形式构建,第三级流表以哈希表的形式构建,所述第一、第二、第三级流表可单独使用、或组合使用;S2、接收报文并确定该报文所需查找的流表;若该报文只需查找一级流表,则根据报文内容在对应的第一、或第二、或第三级流表中查找并获得相应的报文转发动作;若该报文需要查找多级流表,则按照所述各级流表的先后次序分别进行查找,并且在前一级流表中获取可作为后一级流表输入的一中间参数,直至根据报文内容查找得到该报文相应的报文转发动作;S3、根据所述报文转发动作转发相应的报文。作为本专利技术的进一步改进,所述第三级流表应用Openflow的通用转发处理流程,其可作为独立的通用转发处理单元使用。作为本专利技术的进一步改进,所述步骤S2中的“多级流表的查找”包括第一、第二级流表的查找、或者第二、第三级流表的查找、或者第一、第三级流表的查找、或者第一、第二、第三级流表的查找,上述查找必须按照流表的先后次序进行。作为本专利技术的进一步改进,所述中间参数包括用于后一级流表查找的串比特位,在需要进入第三级流表时,所述中间参数还包括指定的转发表类型、报文的查找内容。作为本专利技术的进一步改进,所述转发表类型包括二层转发表、或三层转发表、或其他类型转发表,所述第三级流表中设置默认转发动作。相应地,本专利技术提供的一种基于多级流表的Openflow报文转发系统,其包括:流表构建单元、用于至少构建依次串行设置的第一、第二、第三级流表,其中,第一、第二级流表以TCAM表的形式构建,第三级流表以哈希表的形式构建,所述第一、第二、第三级流表可单独使用、或组合使用;动作查找单元、用于接收报文并确定该报文所需查找的流表;若该报文只需查找一级流表,则根据报文内容在对应的第一、或第二、或第三级流表中查找并获得相应的报文转发动作;若该报文需要查找多级流表,则按照所述各级流表的先后次序分别进行查找,并且在前一级流表中获取可作为后一级流表输入的一中间参数,直至根据报文内容查找得到该报文相应的报文转发动作;报文转发单元、用于根据所述报文转发动作转发相应的报文。作为本专利技术的进一步改进,所述第三级流表应用Openflow的通用转发处理流程,其可作为独立的通用转发处理单元使用。作为本专利技术的进一步改进,所述动作查找单元中的“多级流表的查找”包括第一、第二级流表的查找、或者第二、第三级流表的查找、或者第一、第三级流表的查找、或者第一、第二、第三级流表的查找,上述查找必须按照流表的先后次序进行。作为本专利技术的进一步改进,所述中间参数包括用于后一级流表查找的串比特位,在需要进入第三级流表时,所述中间参数还包括指定的转发表类型、报文的查找内容。作为本专利技术的进一步改进,所述转发表类型包括二层转发表、或三层转发表、或其他类型转发表,所述第三级流表中设置默认转发动作。根据以上技术方案可以看出,本专利技术通过构建包括两级TCAM表、一级哈希表的多级流表,并基于此三级流表进行报文的转发,由于第一级流表到第三级流表是由粗到细粒度的控制,采用哈希表的形式,可使得第三级流表获取更多的流条目,与此同时,系统成本也得以控制。附图说明为了更清楚地说明本专利技术具体实施例或现有技术的技术方案,下面将对本专利技术具体实施例或现有描述中所需要使用的附图作简单地介绍,显而易见地,下述附图仅为本专利技术的一部分附图,对于本领域普通技术人员而言,在不作出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术具体实施方式中基于多级流表的Openflow报文转发方法的流程图;图2是本专利技术具体实施方式中多级流表的示意图;图3是本专利技术具体实施方式中基于多级流表的Openflow报文转发系统的单元示意图。具体实施方式以下将结合附图所示的具体实施方式对本专利技术进行详细描述。但这些实施方式并不限制本专利技术,基于本专利技术的各实施例,本领域的普通技术人员在未作出创造性劳动的前提下所获得的所有其他实施例,均应包含在本专利技术的保护范围内。参图1所示,在本专利技术一具体实施方式中,一种基于多级流表的Openflow报文转发方法,其包括如下步骤:S1、至少构建依次串行设置的第一、第二、第三级流表,其中,第一、第二流表以三态内容寻址存储器(ternary content addressable memory,TCAM)的形式构建,以提供高的灵活性;第三级流表以哈希表(HASH)的形式构建,以提供较大的流表条目数。在实际应用中,多级流表往往实现对流的一个逐步细分处理。上一级流表中的一个条目往往对应了下一级流表中的多个条目,从控制的粒度上来说是从粗到细的一个过程。本专利技术中,前两级流表其主要作用是对流进行一个粗粒度的控制,要求有高的灵活性,但是对流表大小的要求并不是非常高,因此,本专利技术方案中前两级流表通过TCAM实现。第三级流表由于是最细粒度的控制,相对来说这一级流表查找所使用的关键字段比较固定,但是对流表的大小却有比较高的要求,基于这个特点,本专利技术的第三级流表通过哈希表实现。S2、接收报文并确定该报文所需查找的流表;若该报文只需查找一级流表,则根据报文内容在对应的第一、或第二、或第三级流表中查找并获得相应的报文转发动作;若该报文需要查找多级流表,则按照所述各级流表的先后次序分别进行查找,并且在前一级流表中获取可作为后一级流表输入的一中间参数(metadata),直至根据报文内容查找得到该报文相应的报文转发动作;在本专利技术的实施例中,上述各级流表在进行报文的转发本文档来自技高网...

【技术保护点】
一种基于多级流表的Openflow报文转发方法,其特征在于,包括如下步骤:S1、至少构建依次串行设置的第一、第二、第三级流表,其中,第一、第二级流表以TCAM表的形式构建,第三级流表以哈希表的形式构建,所述第一、第二、第三级流表可单独使用、或组合使用;S2、接收报文并确定该报文所需查找的流表;若该报文只需查找一级流表,则根据报文内容在对应的第一、或第二、或第三级流表中查找并获得相应的报文转发动作;若该报文需要查找多级流表,则按照所述各级流表的先后次序分别进行查找,并且在前一级流表中获取可作为后一级流表输入的一中间参数,直至根据报文内容查找得到该报文相应的报文转发动作;S3、根据所述报文转发动作转发相应的报文。

【技术特征摘要】
1.一种基于多级流表的Openflow报文转发方法,其特征在于,包括如下步骤:
S1、至少构建依次串行设置的第一、第二、第三级流表,其中,第一、第二级流表以TCAM表的形式构建,第三级流表以哈希表的形式构建,所述第一、第二、第三级流表可单独使用、或组合使用;
S2、接收报文并确定该报文所需查找的流表;若该报文只需查找一级流表,则根据报文内容在对应的第一、或第二、或第三级流表中查找并获得相应的报文转发动作;若该报文需要查找多级流表,则按照所述各级流表的先后次序分别进行查找,并且在前一级流表中获取可作为后一级流表输入的一中间参数,直至根据报文内容查找得到该报文相应的报文转发动作;
S3、根据所述报文转发动作转发相应的报文。
2.根据权利要求1所述的方法,其特征在于,所述第三级流表应用Openflow的通用转发处理流程,其可作为独立的通用转发处理单元使用。
3.根据权利要求1所述的方法,其特征在于,所述步骤S2中的“多级流表的查找”包括第一、第二级流表的查找、或者第二、第三级流表的查找、或者第一、第三级流表的查找、或者第一、第二、第三级流表的查找,上述查找必须按照流表的先后次序进行。
4.根据权利要求1或2或3所述的方法,其特征在于,所述中间参数包括用于后一级流表查找的串比特位,在需要进入第三级流表时,所述中间参数还包括指定的转发表类型、报文的查找内容。
5.根据权利要求1所述的方法,其特征在于,所述转发表类型包括二层转发表、或三层转发表、或其他类型转发表,所述第三级流表中设置默认转发动作。
6.一种基于多级流...

【专利技术属性】
技术研发人员:方沛昱廖继平张卫峰
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:

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

1