报文处理方法及装置制造方法

文档序号:7770125阅读:136来源:国知局
报文处理方法及装置制造方法
【专利摘要】本发明提供一种报文处理方法及装置。本发明实施例通过根据所获得的待处理的目标报文,查询哈希流表组,以获得与所述目标报文对应的处理操作,所述哈希流表组包括至少两个哈希流表,使得能够根据所述处理操作,对所述目标报文进行处理,由于采用至少两个哈希流表,来实现转发设备本地的流表表项查询,因此,与一个哈希流表相比,本发明采用的每个哈希流表所支持的字段有所减少,从而降低了解决报文处理的冲突所需要的处理资源。
【专利说明】报文处理方法及装置
【技术领域】
[0001]本发明涉及报文转发技术,尤其涉及ー种报文处理方法及装置。
【背景技术】
[0002]随着互联网的发展,分布式系统无法更好的满足网络扩展性和管理上的需求,因此,控制和转发分离的集中式系统应运而生。例如:开放流(OpenFlow)系统就是控制和转发分离的集中式系统的ー种,OpenFlow交换机(OpenFlow Switch)将原来完全由交换机/路由器控制的报文处理过程转化为由OpenFlow交换机和控制服务器(Controller)来共同完成,从而实现了数据转发和路由控制的分离。OpenFlow交換机接收到报文后,首先利用报文中所包含的匹配字段在本地的流表上查询相关的处理操作。现有技术中,可以利用哈希技术,仓Il建OpenFlow交换机本地的一个流表即哈希流表。
[0003]然而,由于ー个哈希流表的表项所支持的字段较多,可能会使得报文处理发生冲突的可能性较大,因此,需要较多的处理资源来解决报文处理的冲突。

【发明内容】

[0004]本发明的多个方面提供ー种报文处理方法及装置,用以降低解决报文处理的冲突所需要的处理资源。
[0005]本发明的一方面,提供ー种报文处理方法,应用于控制和转发分离的集中式系统,所述方法包括:
获得待处理的目标报文;
根据所述目标报文,查询哈希流表组,以获得与所述目标报文对应的处理操作,所述哈希流表组包括至少两个哈希流表;
根据所述处理操作,对所述目标报文进行处理。
[0006]如上所述的方面和任一可能的实现方式,进ー步提供一种实现方式,所述哈希流表组包括第一哈希流表和第二哈希流表;所述根据所述目标报文,查询哈希流表组,以获得与所述目标报文对应的处理操作,包括:
根据所述目标报文,查询第一哈希流表,以获得与所述目标报文对应的第一流表表项,所述第一流表表项包括第一匹配字段和关联数据;
根据所述目标报文和所述关联数据,查询第二哈希流表,以获得与所述目标报文、所述关联数据对应的第二流表表项,所述第二流表表项包括第二匹配字段、所述关联数据和所述处理操作。
[0007]如上所述的方面和任一可能的实现方式,进ー步提供一种实现方式,
所述第一匹配字段包括基于ニ层网络的至少ー个字段;所述第二匹配字段包括基于三层网络的至少ー个字段;或者基于三层网络的至少ー个字段和基于四层网络的至少ー个字段;或者
所述第一匹配字段包括基于三层网络的至少ー个字段;或者基于三层网络的至少ー个字段和基于四层网络的至少ー个字段;所述第二匹配字段包括基于ニ层网络的至少ー个字段。
[0008]如上所述的方面和任一可能的实现方式,进ー步提供一种实现方式,所述第一哈希流表中所包括的流表表项的数目小于所述第二哈希流表中所包括的流表表项的数目。
[0009]如上所述的方面和任一可能的实现方式,进ー步提供一种实现方式,所述控制和转发分尚的集中式系统包括OpenFlow系统。
[0010]本发明的另一方面,提供ー种报文处理装置,应用于控制和转发分离的集中式系统,所述装置包括:
获得单元,用于获得待处理的目标报文;
查询单元,用于根据所述目标报文,查询哈希流表组,以获得与所述目标报文对应的处理操作,所述哈希流表组包括至少两个哈希流表;
处理单元,用于根据所述处理操作,对所述目标报文进行处理。
[0011]如上所述的方面和任一可能的实现方式,进ー步提供一种实现方式,所述哈希流表组包括第一哈希流表和第二哈希流表;所述查询単元,具体用于
根据所述目标报文,查询第一哈希流表,以获得与所述目标报文对应的第一流表表项,所述第一流表表项包括第一匹配字段和关联数据;以及
根据所述目标报文和所述关联数据,查询第二哈希流表,以获得与所述目标报文、所述关联数据对应的第二流表表项,所述第二流表表项包括第二匹配字段、所述关联数据和所述处理操作。
[0012]如上所述的方面和任一可能的实现方式,进ー步提供一种实现方式,
所述第一匹配字段包括基于ニ层网络的至少ー个字段;所述第二匹配字段包括基于三层网络的至少ー个字段;或者基于三层网络的至少ー个字段和基于四层网络的至少ー个字段;或者
所述第一匹配字段包括基于三层网络的至少ー个字段;或者基于三层网络的至少ー个字段和基于四层网络的至少ー个字段;所述第二匹配字段包括基于ニ层网络的至少ー个字段。
[0013]如上所述的方面和任一可能的实现方式,进ー步提供一种实现方式,所述第一哈希流表中所包括的流表表项的数目小于所述第二哈希流表中所包括的流表表项的数目。
[0014]如上所述的方面和任一可能的实现方式,进ー步提供一种实现方式,所述控制和转发分尚的集中式系统包括OpenFlow系统。
[0015]由上述技术方案可知,本发明实施例通过根据所获得的待处理的目标报文,查询哈希流表组,以获得与所述目标报文对应的处理操作,所述哈希流表组包括至少两个哈希流表,使得能够根据所述处理操作,对所述目标报文进行处理,由于采用至少两个哈希流表,来实现转发设备本地的流表表项查询,因此,与一个哈希流表相比,本发明采用的每个哈希流表所支持的字段有所減少,从而降低了解决报文处理的冲突所需要的处理资源。
【专利附图】

【附图说明】
[0016]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作ー简单地介绍,显而易见地,下面描述中的附图是本发明的ー些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0017]图1为本发明一实施例提供的报文处理方法的流程示意图;
图2为本发明另ー实施例提供的报文处理装置的结构示意图。
【具体实施方式】
[0018]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本发明保护的范围。
[0019]需要说明的是,本发明的技术方案可以适用于控制和转发分离的集中式系统,例如:0penFlow系统等。
[0020]另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是ー种“或”的关系。
[0021]图1为本发明一实施例提供的报文处理方法的流程示意图,如图1所示。
[0022]101、获得待处理的目标报文。
[0023]102、根据所述目标报文,查询哈希流表组,以获得与所述目标报文对应的处理操作,所述哈希流表组包括至少两个哈希流表。
[0024]103、根据所述处理操作,对所述目标报文进行处理。
[0025]需要说明的是,本实施例提供的报文处理方法可以应用于控制和转发分离的集中式系统,上述10广103的执行主体可以为转发设备,在OpenFlow系统下,转发设备可以为OpenFlow交换机(OpenFlow Switch)。所述转发设备所对应的控制设备,在OpenFlow系统下,可以为控制服务器(Contro11er )。
[0026]在OpenFlow系统下,OpenFlow交换机可以将原来完全由交换机/路由器控制的报文处理过程转化为由OpenFlow交換机和控制服务器来共同完成,从而实现了数据转发和路由控制的分离。OpenFlow交换机针对进入OpenFlow交换机的报文,首先利用报文中所包含的匹配字段在本地的流表上查询相关的处理操作,该处理操作例如可以是转发到目的端ロ、丢弃、上报控制服务器等。
[0027]这样,通过根据所获得的待处理的目标报文,查询哈希流表组,以获得与所述目标报文对应的处理操作,所述哈希流表组包括至少两个哈希流表,使得能够根据所述处理操作,对所述目标报文进行处理,由于采用至少两个哈希流表,来实现转发设备本地的流表表项查询,因此,与一个哈希流表相比,本发明采用的每个哈希流表所支持的字段有所減少,从而降低了解决报文处理的冲突所需要的处理资源。
[0028]可选地,在本实施例的ー个可能的实现方式中,所述哈希流表组可以包括第一哈希流表和第二哈希流表。相应地,在102中,转发设备具体可以根据所述目标报文,查询第一哈希流表,以获得与所述目标报文对应的第一流表表项,所述第一流表表项包括第一匹配字段和关联数据。然后,所述转发设备还可以进一歩根据所述目标报文和所述关联数据,查询第二哈希流表,以获得与所述目标报文、所述关联数据对应的第二流表表项,所述第二流表表项包括第二匹配字段、所述关联数据和所述处理操作。
[0029]其中,
所述第一匹配字段可以包括基于ニ层网络的至少ー个字段;相应地,所述第二匹配字段则可以包括基于三层网络的至少ー个字段;或者基于三层网络的至少ー个字段和基于四层网络的至少ー个字段。
[0030]或者
所述第一匹配字段可以包括基于三层网络的至少ー个字段;或者基于三层网络的至少一个字段和基于四层网络的至少ー个字段;相应地,所述第二匹配字段则可以包括基于ニ层网络的至少ー个字段。
[0031]其中,基于ニ层网络的字段可以包括但不限于媒体访问控制(Media AccessContro I, MAC)源地址(Source Address, SA)、MAC 目的地址(Destination Address, DA)、以太网类型(Ether Type)和虚拟局域网(Virtual Local Area Network, VLAN)信息,本实施例对此不进行特别限定。
[0032]其中,基于三层网络的字段可以包括但不限于IPSA、IPDA、协议类型和服务类型(Type Of Service, T0S),本实施例对此不进行特别限定。
[0033]其中,基于四层网络的字段可以包括但不限于传输控制协议(TransmissionControl Protocol, TCP) / 用户数据报协议(User Datagram Protocol, UDP)源端口号和TCP/UDP目的端ロ号,本实施例对此不进行特别限定。
[0034]具体地,可以根据 字段范围、字段变化范围和字段重复出现次数,灵活调整第一哈希流表中所包括的第一匹配字段的类型与第二哈希流表中所包括的第二匹配字段的类型。例如,将字段范围大、字段变化范围小和字段重复出现次数多的基于ニ层网络的字段,或者基于三层网络的字段设置在第一哈希流表中,以使得所述第一哈希流表中所包括的流表表项的数目小于所述第二哈希流表中所包括的流表表项的数目,如表I和表2所示。
【权利要求】
1.ー种报文处理方法,其特征在于,应用于控制和转发分离的集中式系统,所述方法包括: 获得待处理的目标报文; 根据所述目标报文,查询哈希流表组,以获得与所述目标报文对应的处理操作,所述哈希流表组包括至少两个哈希流表; 根据所述处理操作,对所述目标报文进行处理。
2.根据权利要求1所述的方法,其特征在于,所述哈希流表组包括第一哈希流表和第ニ哈希流表;所述根据所述目标报文,查询哈希流表组,以获得与所述目标报文对应的处理操作,包括: 根据所述目标报文,查询第一哈希流表,以获得与所述目标报文对应的第一流表表项,所述第一流表表项包括第一匹配字段和关联数据; 根据所述目标报文和所述关联数据,查询第二哈希流表,以获得与所述目标报文、所述关联数据对应的第二流表表项,所述第二流表表项包括第二匹配字段、所述关联数据和所述处理操作。
3.根据权利要求2所述的方法,其特征在干, 所述第一匹配字段包括基于ニ层网络的至少ー个字段;所述第二匹配字段包括基于三层网络的至少ー个字段;或者基于三层网络的至少ー个字段和基于四层网络的至少ー个字段;或者 所述第一匹配字段包括基于三层网络的至少ー个字段;或者基于三层网络的至少ー个字段和基于四层网络的 至少ー个字段;所述第二匹配字段包括基于ニ层网络的至少ー个字段。
4.根据权利要求2或3所述的方法,其特征在于,所述第一哈希流表中所包括的流表表项的数目小于所述第二哈希流表中所包括的流表表项的数目。
5.根据权利要求r4任ー权利要求所述的方法,其特征在于,所述控制和转发分离的集中式系统包括OpenFlow系统。
6.ー种报文处理装置,其特征在于,应用于控制和转发分离的集中式系统,所述装置包括: 获得单元,用于获得待处理的目标报文; 查询单元,用于根据所述目标报文,查询哈希流表组,以获得与所述目标报文对应的处理操作,所述哈希流表组包括至少两个哈希流表; 处理单元,用于根据所述处理操作,对所述目标报文进行处理。
7.根据权利要求6所述的装置,其特征在干,所述哈希流表组包括第一哈希流表和第ニ哈希流表;所述查询単元,具体用于 根据所述目标报文,查询第一哈希流表,以获得与所述目标报文对应的第一流表表项,所述第一流表表项包括第一匹配字段和关联数据;以及 根据所述目标报文和所述关联数据,查询第二哈希流表,以获得与所述目标报文、所述关联数据对应的第二流表表项,所述第二流表表项包括第二匹配字段、所述关联数据和所述处理操作。
8.根据权利要求7所述的装置,其特征在干,所述第一匹配字段包括基于ニ层网络的至少ー个字段;所述第二匹配字段包括基于三层网络的至少ー个字段;或者基于三层网络的至少ー个字段和基于四层网络的至少ー个字段;或者 所述第一匹配字段包括基于三层网络的至少ー个字段;或者基于三层网络的至少ー个字段和基于四层网络的至少ー个字段;所述第二匹配字段包括基于ニ层网络的至少ー个字段。
9.根据权利要求7或8所述的装置,其特征在于,所述第一哈希流表中所包括的流表表项的数目小于所述第二哈希流表中所包括的流表表项的数目。
10.根据权利要求6、任ー权利要求所述的装置,其特征在于,所述控制和转发分离的集中式系统包括Ope nFlow系统。
【文档编号】H04L12/701GK103441927SQ201310414361
【公开日】2013年12月11日 申请日期:2013年9月12日 优先权日:2013年9月12日
【发明者】闫兴安, 朱坚 申请人:盛科网络(苏州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1