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

文档序号:7823786阅读:205来源:国知局
一种报文处理方法及装置制造方法
【专利摘要】本发明提供一种报文处理方法及装置,用以解决目前分布式架构下对报文分流方式无法保证同一五元组的分片报文和非分片报文被分到同一块业务板的问题,其中,报文处理方法,包括:分布式系统的业务板在接收到报文时,判断报文是否为分片报文;如果是,由业务板处理报文,如果否,对报文进行重组,根据重组后的报文的五元组信息确定报文的目的业务板;将报文发送至目的业务板,该方案保证了分布式架构下基于同一五元组的分片报文和非分片报文被分到统一块业务板。
【专利说明】一种报文处理方法及装置

【技术领域】
[0001]本发明涉及通讯领域,特别是涉及报文处理方法及装置。

【背景技术】
[0002]在IP网络中,当报文长度超过MTU(Maximum Transmiss1n Unit,最大传输单元)时,数据发送端需要将报文分片传送,数据接收端接收到分片后,根据分片的偏移量信息重组出完整的报文。分片经过基于连接状态的网关设备,如基于状态检测的防火墙、具有NAT (Network Address Translat1n,网络地址转换)功能的路由器时,也需要对分片报文进行重组,才能完成业务处理。
[0003]随着网络规模的扩大,网络数据量的不断增加,为了提高网关设备的处理能力,越来越多的高端网关设备被设计成分布式架构。分布式架构通常包括主控板、接口板和业务板,这些板卡间通过内部总线进行通信,如图1所示,图1为相关技术的分布式架构网关设备系统组成的示意图。其中,主控板作为系统的总控节点,接口板对外连接到网络,业务板对进入系统的流量进行业务处理。当IP报文到达接口板时,接口板根据报文的五元组信息(即源IP、目的IP、协议号、源端口、目的端口)计算一个哈希值,并根据该哈希值将报文分流到目的业务板。对于一个大小超过MTU并分片传送的IP封包来说,只有第一个分片报文包含完整的五元组信息,其余分片仅包含源IP、目的IP和协议号,不包含源端口和目的端口,接口板无法根据五元组信息分流,将根据报文的二元组信息进行分流。由此,基于五元组和二元组分流的哈希算法无法保证同一连接的分片报文和非分片报文计算出相同的哈希值,从而导致基于同一五元组信息的分片和非分片报文可能被分流到不同的业务板。


【发明内容】

[0004]本发明要解决的技术问题是目前分布式架构下对报文分流的方式无法保证同一五元组的分片报文和非分片报文被分到同一块业务板的问题,基于该问题,本发明提供了一种报文处理方法及装置。
[0005]根据本发明的一个方面,提供了一种报文处理方法,包括:分布式系统的业务板在接收到报文时,判断报文是否为分片报文;如果是,由业务板处理报文,如果否,对报文进行重组,根据重组后的报文的五元组信息确定报文的目的业务板;将报文发送至目的业务板。
[0006]其中,根据重组后的报文的五元组信息确定报文的目的业务板,包括:根据重组后的报文的五元组信息进行哈希计算,得到第一哈希值;根据第一哈希值查找对应的目的业务板。
[0007]进一步的,上述方法还包括:在分布式系统的业务板在接收到报文之前,分布式系统的接口板判断接收到的报文是否为分片报文,如果是,根据报文的二元组信息进行哈希计算,得到第二哈希值,根据第二哈希值将接收到的报文发送至对应的业务板,如果否,则根据报文的五元组信息进行哈希计算,得到第三哈希值,根据第三哈希值将接收到的报文发送至对应业务板。
[0008]其中,分片报文的二元组信息包括:分片报文的源IP地址以及目的IP地址。
[0009]进一步的,上述方法还包括:在将报文发送至目的业务板之前,在报文中携带目的业务板的标识信息;在报文到达业务板时,删除目的业务板标识。
[0010]根据本发明的另一个方面,提供了一种报文处理装置,包括:第一判断模块,用于分布式系统的业务板在接收到报文时,判断报文是否为分片报文;确定模块,用于在第一判断模块的判断结果为是时,由业务板处理报文,在第一判断模块的判断结果为否时,对报文进行重组,根据重组后的报文的五元组信息确定报文的目的业务板;发送模块,用于将报文发送至目的业务板。
[0011]其中,确定模块包括:计算单元,用于根据重组后的报文的五元组信息进行哈希计算,得到第一哈希值;查找单元,用于根据第一哈希值查找对应的目的业务板。
[0012]其中,装置还包括:第二判断模块,用于在分布式系统的业务板在接收到报文之前,分布式系统的接口板判断接收到的报文是否为分片报文;发送模块用于:在第二判断模块的判断结果为是时,根据报文的二元组信息进行哈希计算,得到第二哈希值,根据第二哈希值将接收到的报文发送至对应的业务板,在第二判断模块的判断结果为否时,则根据报文的五元组信息进行哈希计算,得到第三哈希值,根据第三哈希值将接收到的报文发送至对应业务板。
[0013]其中,分片报文的二元组信息包括:分片报文的源IP地址以及目的IP地址。
[0014]进一步的,上述装置还包括:标识模块,用于在将报文发送至目的业务板之前,在报文中携带目的业务板的标识信息;删除模块,用于在报文到达业务板时,删除目的业务板标识。
[0015]本发明实施例的方案,在分布式系统的业务板接收到报文后,基于报文的五元组信息确定目的业务板,能够保证基于同一五元组的分片报文和非分片报文被分到统一块业务板。

【专利附图】

【附图说明】
[0016]图1为相关技术的分布式架构网关设备系统组成的示意图;
[0017]图2是本发明实施例的分片报文处理方法的流程图;
[0018]图3是本发明实施例3的报文处理方法的流程图;
[0019]图4是本发明实施例4的报文处理方法的流程图;
[0020]图5是本发明实施例的报文处理装置的结构框图;
[0021]图6是本发明实施例的报文处理原理图。

【具体实施方式】
[0022]为了解决现有技术分布式架构下对报文的分流方式无法保证基于同一五元组的分片报文和非分片报文被到统一块业务板的问题,本发明提供了一种报文处理方法及装置,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
[0023]实施例1
[0024]图2是本发明实施例的分片报文处理方法的流程图。如图2所示,该方法包括以下步骤:
[0025]步骤201:分布式系统的业务板接收到报文;
[0026]步骤202:判断报文是否为分片报文,如果是,执行步骤203,如果否,执行步骤204 ;
[0027]步骤203:由该业务板处理报文;步骤204:对报文进行重组,根据重组后的报文的五元组信息确定报文的目的业务板;
[0028]步骤205:将报文发送至目的业务板。
[0029]在判断当前业务板是否为目的业务板的操作,具体可以按照如下方式进行:
[0030]其中,根据重组后的报文的五元组信息确定报文的目的业务板,包括:根据重组后的报文的五元组信息进行哈希计算,得到第一哈希值;根据第一哈希值查找对应的目的业务板。
[0031]进一步的,在上述步骤201至步骤205的基础上,上述方法还可以包括:在分布式系统的业务板在接收到报文之前,分布式系统的接口板判断接收到的报文是否为分片报文,如果是,根据报文的二元组信息进行哈希计算,得到第二哈希值,根据第二哈希值将接收到的报文发送至对应的业务板,如果否,则根据报文的五元组信息进行哈希计算,得到第三哈希值,根据第三哈希值将接收到的报文发送至对应业务板,其中,分片报文的二元组信息包括:分片报文的源IP地址以及目的IP地址。
[0032]为了便于目的业务板对报文的识别,可以在待转发至目的业务板之前,在报文中添加业务板的标识,进一步的,上述方法还可以包括:在将报文发送至目的业务板之前,在报文中携带目的业务板的标识信息;在报文到达业务板时,删除目的业务板标识。
[0033]实施例2
[0034]本实施例以一个具体的实例对分布式系统的业务板对接收到的报文进行的处理分流进行阐述,需要说明的是,该实例仅为本发明的一个优选实施方式,并不对本发明的造成唯一限定。
[0035]在本实施中,分布式系统的业务板对接收到的分片进行重组,并判断重组完成后的报文是否应该由本业务板处理,对于不应该由本板处理的报文,对其进行重定向,将其转发到正确的目的业务板,从而实现同一连接的分片报文和非分片报文在同一块业务板处理。
[0036]图3是本发明实施例3的报文处理方法的流程图。如图3所示,该方法包括如下处理:
[0037]S301,分布式系统的业务板接收报文;
[0038]S302,判断报文是否包含目的业务板标记,若是,则转入S303 ;否则,转入S304 ;
[0039]S303,将报文转发到目的业务板标记对应的业务板,流程结束;
[0040]S304,判断报文是否是分片报文,若是,则转入S306 ;否则,转入S305 ;
[0041]S305,根据报文的五元组信息计算哈希值;
[0042]S306,根据报文的二元组信息计算哈希值;
[0043]S307,根据计算的哈希值,将报文转发到对应的业务板,流程结束。
[0044]实施例3
[0045]本实施例以一个具体的实例对分布式系统的业务板对接收到的报文进行的处理分流进行阐述,需要说明的是,该实例仅为本发明的一个优选实施方式,并不对本发明的造成唯一限定。
[0046]图4是本发明实施例4的报文处理方法的流程图。如图4所示,该方法包括如下处理:
[0047]S401,分布式系统的业务板接收报文;
[0048]S402,判断报文是否包含目的业务板标记,若是,则转入S403 ;否则,转入S404 ;
[0049]S403,删除报文的目的业务板标记;
[0050]S404,判断报文是否是分片报文,若是,则转入S406 ;否则,转入S405 ;
[0051]S405,将报文交给业务处理模块处理,流程结束;
[0052]S406,调用内核重组模块进行重组;
[0053]S407,判断内核重组模块是否完成了重组,若是,则转入S408 ;否则,流程结束;
[0054]S408,根据重组后报文的五元组信息,采用和接口板相同的哈希算法,计算报文的哈希值;
[0055]S409,根据计算的哈希值,判断重组后报文是否应该由本业务板处理,若是,则转入S405 ;否则,转入S410 ;
[0056]S410,给重组后报文中添加一个哈希值对应的目的业务板标记,并将报文转发至目的业务板,流程结束。
[0057]实施例4
[0058]本实施例对用于实现报文处理方法的装置进描述,该装置可以是设置于业务板中的模块,即上述方法可以借由业务板来实现。图5是本发明实施例的报文处理装置的结构框图,如图5所示,该装置50包括如下组成部分:
[0059]第一判断模块51,用于分布式系统的业务板在接收到报文时,判断报文是否为分片报文;
[0060]确定模块52,用于在第一判断模块的判断结果为是时,由业务板处理报文,在第一判断模块的判断结果为否时,对报文进行重组,根据重组后的报文的五元组信息确定报文的目的业务板;
[0061]发送模块53,用于将报文发送至目的业务板。
[0062]其中,上述确定模块52包括:计算单元,用于根据重组后的报文的五元组信息进行哈希计算,得到第一哈希值;查找单元,用于根据第一哈希值查找对应的目的业务板。
[0063]进一步的,上述装置50还包括:第二判断模块,用于在分布式系统的业务板在接收到报文之前,分布式系统的接口板判断接收到的报文是否为分片报文;基于此,上述发送模块53用于:在第二判断模块的判断结果为是时,根据报文的二元组信息进行哈希计算,得到第二哈希值,根据第二哈希值将接收到的报文发送至对应的业务板,在第二判断模块的判断结果为否时,则根据报文的五元组信息进行哈希计算,得到第三哈希值,根据第三哈希值将接收到的报文发送至对应业务板。
[0064]其中,上述分片报文的二元组信息包括:分片报文的源IP地址以及目的IP地址。
[0065]进一步的,上述装置还包括:标识模块,用于在将报文发送至目的业务板之前,在报文中携带目的业务板的标识信息;删除模块,用于在报文到达业务板时,删除目的业务板标识。图6是本发明实施例的报文处理原理图,以下结合该图对报文处理流程中,报文处理装置的各部分的功能进行介绍:
[0066]如图6所示,业务板I以及业务板2中具有接收模块、重新分流模块、内部转发模块、业务处理模块,此处,可以理解为,上述业务板中的报文处理装置40具有这些模块,其中接收模块具体可以为上述第一判断模块的一部分,重新分流模块、内部转发模块以及业务处理模块可以为上述处理模块的一部分,用于实现处理模块的部分功能。
[0067]分流模块,对于非分片报文I以及报文3,根据报文的五元组信息(即源IP、目的IP、协议号、源端口、目的端口)计算哈希值,并根据计算出的哈希值将报文发送到相应的目的业务板;对于分片报文,如图6所示的报文2分片I以及报文2分片2,根据报文的二元组信息(即源IP、目的IP)计算哈希值,并将报文发送到相应的目的业务板。
[0068]业务板接收模块,在接收到一个报文后进行判断,如果报文是非分片报文,将报文交给业务处理模块处理,如果报文是分片报文,则将报文交给重新分流模块处理。重新分流模块对分片报文进行重组,并使用和接口板相同的分流算法对重组后的报文进行哈希运算,如果哈希运算的结果是报文应该由本业务板处理,则将报文交给业务处理模块处理;如果哈希运算的结果是报文应该由其他业务板处理,则内部转发模块给报文添加相应的目的业务板标记后,将报文转发出去。相应的目的业务板的内部接收模块接收转发的报文,删除报文的目的业务板标记,将报文交给业务处理模块处理。
[0069]本发明实施例的方案,在分布式系统的业务板接收到报文后,基于报文的五元组信息确定目的业务板,能够保证基于同一五元组的分片报文和非分片报文被分到统一块业务板。
[0070]尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
【权利要求】
1.一种报文处理方法,其特征在于,包括: 分布式系统的业务板在接收到报文时,判断所述报文是否为分片报文; 如果是,由所述业务板处理所述报文,如果否,对所述报文进行重组,根据重组后的报文的五元组信息确定所述报文的目的业务板; 将所述报文发送至所述目的业务板。
2.如权利要求1所述的方法,其特征在于,所述根据重组后的报文的五元组信息确定所述报文的目的业务板,包括: 根据重组后的报文的五元组信息进行哈希计算,得到第一哈希值; 根据所述第一哈希值查找对应的目的业务板。
3.如权利要求1所述的方法,其特征在于,所述方法还包括: 在分布式系统的业务板在接收到报文之前,分布式系统的接口板判断接收到的报文是否为分片报文,如果是,根据所述报文的二元组信息进行哈希计算,得到第二哈希值,根据第二哈希值将接收到的报文发送至对应的业务板,如果否,则根据所述报文的五元组信息进行哈希计算,得到第三哈希值,根据第三哈希值将接收到的报文发送至对应业务板。
4.如权利要求3所述的方法,其特征在于,所述分片报文的二元组信息包括: 所述分片报文的源IP地址以及目的IP地址。
5.如权利要求1至4任意一项所述的方法,其特征在于,所述方法还包括: 在将所述报文发送至目的业务板之前,在所述报文中携带目的业务板的标识信息; 在所述报文到达所述业务板时,删除所述目的业务板标识。
6.一种报文处理装置,其特征在于,包括: 第一判断模块,用于分布式系统的业务板在接收到报文时,判断所述报文是否为分片报文; 确定模块,用于在所述第一判断模块的判断结果为是时,由所述业务板处理所述报文,在所述第一判断模块的判断结果为否时,对所述报文进行重组,根据重组后的报文的五元组信息确定所述报文的目的业务板; 发送模块,用于将所述报文发送至所述目的业务板。
7.如权利要求6所述的装置,其特征在于,所述确定模块包括: 计算单元,用于根据重组后的报文的五元组信息进行哈希计算,得到第一哈希值; 查找单元,用于根据所述第一哈希值查找对应的目的业务板。
8.如权利要求6所述的装置,其特征在于,所述装置还包括: 第二判断模块,用于在分布式系统的业务板在接收到报文之前,分布式系统的接口板判断接收到的报文是否为分片报文; 所述发送模块用于:在所述第二判断模块的判断结果为是时,根据所述报文的二元组信息进行哈希计算,得到第二哈希值,根据第二哈希值将接收到的报文发送至对应的业务板,在所述第二判断模块的判断结果为否时,则根据所述报文的五元组信息进行哈希计算,得到第三哈希值,根据第三哈希值将接收到的报文发送至对应业务板。
9.如权利要求8所述的装置,其特征在于,所述分片报文的二元组信息包括: 所述分片报文的源IP地址以及目的IP地址。
10.如权利要求6至9任意一项所述的装置,其特征在于,所述装置还包括: 标识模块,用于在将所述报文发送至目的业务板之前,在所述报文中携带目的业务板的标识信息; 删除模块,用于在所述报文到达所述业务板时,删除所述目的业务板标识。
【文档编号】H04L12/741GK104486226SQ201410812475
【公开日】2015年4月1日 申请日期:2014年12月23日 优先权日:2014年12月23日
【发明者】陈旭, 李团营 申请人:北京天融信科技有限公司, 北京天融信网络安全技术有限公司, 北京天融信软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1