处理报文的方法和装置的制造方法

文档序号:10597138阅读:700来源:国知局
处理报文的方法和装置的制造方法
【专利摘要】本申请提供处理报文的方法及装置,所述方法包括:解析接收到的报文,获取所述报文的报文特征;根据所述报文特征查找会话,所述会话包括报文特征与业务标识的对应关系,若查找到所述报文特征,则获取所述报文特征对应的第一业务标识;根据所述第一业务标识判断所述报文是否支持快速转发,若是,则根据保存的快速转发信息修改所述报文;转发修改后的报文。应用本申请实施例,有效地提高了防火墙的报文转发性能。
【专利说明】
处理报文的方法和装置
技术领域
[0001]本申请涉及网络通信技术领域,尤其涉及处理报文的方法及装置。
【背景技术】
[0002]在复杂的网络环境中,防火墙是一个位于计算机和它所连接的网络之间的设备,该计算机流入流出的所有报文都要经过防火墙。防火墙最基本的功能是确保报文的合法性,并在此前提下将报文从一条链路转发到另外的链路上去。
[0003]现有技术中,防火墙接收到位于局域网的终端所发送的报文后,需要通过查询大量表项,将报文转发至交换机,交换机通过查询表项获得报文的转发信息,之后将报文转发至防火墙,防火墙再次查询大量表项后,将报文转发至位于广域网的终端。在上述将报文从局域网转发到广域网的过程中,每个报文都将两次经过防火墙,并且防火墙需要查询大量表项,从而极大降低了防火墙的报文转发性能。

【发明内容】

[0004]有鉴于此,本申请提供一种处理报文的方法及装置,以解决现有防火墙的报文转发性能不高的问题。
[0005]具体地,本申请是通过如下技术方案实现的:
[0006]根据本申请实施例的第一方面,提供一种处理报文的方法,所述方法应用在防火墙上,所述方法包括:
[0007]解析接收到的报文,获取所述报文的报文特征;
[0008]根据所述报文特征查找会话,所述会话包括报文特征与业务标识的对应关系,若查找到所述报文特征,则获取所述报文特征对应的第一业务标识;
[0009]根据所述第一业务标识判断所述报文是否支持快速转发,若是,则根据保存的快速转发信息修改所述报文;
[00?0]转发修改后的报文。
[0011]根据本申请实施例的第二方面,提供一种处理报文的装置,所述装置应用在防火墙上,所述装置包括:
[0012]解析单元,用于解析接收到的报文,获取所述报文的报文特征;
[0013]查找单元,用于根据所述报文特征查找会话,所述会话包括报文特征与业务标识的对应关系;
[0014]获取单元,用于在查找到所述报文特征时,获取所述报文特征对应的第一业务标识;
[0015]判断单元,用于根据所述第一业务标识判断所述报文是否支持快速转发;
[0016]执行单元,用于在所述报文支持快速转发时,根据保存的快速转发信息修改所述报文并转发修改后的报文。
[0017]应用上述实施例,防火墙接收到报文后,可以解析该报文,获取报文特征,继而根据该报文特征获取对应的业务标识,根据该业务标识判断该报文是否支持快速转发,在报文支持快速转发时,由于可以获取保存的快速转发信息,根据该快速转发信息修改报文,转发修改后的报文,从而,有效地提高了防火墙的报文转发性能。
【附图说明】
[0018]图1是应用本申请实施例实现处理报文的应用场景示意图。
[0019]图2是本申请处理报文的方法的一个实施例流程图。
[0020]图3是本申请处理报文的方法的另一个实施例流程图。
[0021]图4是本申请处理报文的方法的另一个实施例流程图。
[0022]图5是本申请处理报文的装置所在设备的一种硬件结构图。
[0023]图6是本申请处理报文的装置的一个实施例框图。
【具体实施方式】
[0024]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0025]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0026]应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0027]参见图1,是应用本申请实施例实现处理报文的应用场景示意图。终端A位于LAN(Local Area Network,局域网),终端B位于WAN(Wide Area Network,广域网),防火墙分别与终端A、终端B相连接,并且与交换机相连接。现有技术中,终端A向终端B发送报文,该报文先传输到防火墙,由防火墙对该报文做业务处理并将该报文转发至交换机,在此过程中,防火墙需根据报文查询路由表项、NAT (Network Address Translat1n,网络地址转换)表项、ARP(Address Resolut1n Protocol,地址解析协议)表项等大量表项,交换机根据报文查询表项获得报文的转发信息,之后将报文转发至防火墙,防火墙还需根据报文查询大量表项后,才能将报文转发至终端B。在终端A向终端B发送报文的整个过程中,报文两次流经防火墙,并且防火墙需要查询大量表项才能完成对报文的转发,因此,极大降低了防火墙的报文转发性能。本申请实施例可以有效解决上述问题,提高防火墙的报文转发性能。
[0028]参见图2,为本申请处理报文的方法的一个实施例流程图,所述方法应用在防火墙上,包括以下步骤:
[0029]步骤S201:解析接收到的报文,获取所述报文的报文特征。
[0030]防火墙作为一个局域网与广域网之间的连接设备,为局域网和广域网之间建立起一个安全网关,从而保护局域网免受非法用户的侵入,局域网向广域网发送的报文或广域网向局域网发送的报文都要经过防火墙。可以参见图1,位于局域网的终端A向位于广域网的终端B发送报文,该报文先传输到防火墙,由防火墙对该报文进行解析,获取该报文的报文特征,该报文特征可以包括五元组等信息。
[0031]步骤S202:根据所述报文特征查找会话,所述会话包括报文特征与业务标识的对应关系,若查找到所述报文特征,则获取所述报文特征对应的第一业务标识。
[0032]本实施例中,同一报文流的首报文流经防火墙时,防火墙根据所述首报文为该报文流创建会话,其中属于同一报文流的报文具有相同的报文特征和业务特性,因此所创建的会话中可以包括报文特征与业务标识的对应关系。
[0033]当步骤S201中获取到报文特征后,本步骤中,可以根据报文特征查找已经创建的会话,如果查找到该报文特征,则说明已经为该接收到的报文创建过会话,直接从会话中获取与该报文特征对应的业务标识,将该业务标识作为第一业务标识。
[0034]本实施例中,业务标识的具体形式可以灵活设置,业务标识可以使用不同的值具体表示防火墙对报文所做的业务,还可以使用具体值表示报文是否支持快速转发。
[0035]步骤S203:根据所述第一业务标识判断所述报文是否支持快速转发,若是,则根据保存的快速转发信息修改所述报文。
[0036]由步骤S202所述,业务标识的具体形式可以灵活设置,因此,根据第一业务标识判断所述报文是否支持快速转发的具体过程也可以因第一业务标识的具体形式不同而不同。当业务标识使用不同的值具体表示防火墙对报文所做的业务时,可以通过获取业务标识从而识别出防火墙对报文所做的业务,进一步根据该业务判断所述报文是否支持快速转发;当业务标识使用具体值表示报文是否支持快速转发时,可以通过获取业务标识直接得出所述报文是否支持快速转发。
[0037]若根据所述第一业务标识判断得出所述报文支持快速转发,则可以获取保存的快速转发信息,所述保存的快速转发信息是根据所述首报文在转发过程中的转发信息建立的,之后,可以根据所述快速转发信息修改所述报文,具体的,可以根据快速转发信息修改报文的源IP地址、目的IP地址、目的MAC地址等信息。
[0038]步骤S204:转发所述修改后的报文。
[0039]应用上述实施例,防火墙接收到报文后,可以解析该报文,获取报文特征,继而根据该报文特征获取对应的业务标识,根据该业务标识判断该报文是否支持快速转发,在报文支持快速转发时,由于可以获取保存的快速转发信息,根据该快速转发信息修改报文,转发修改后的报文,从而,有效地提高了防火墙的报文转发性能。
[0040]参见图3,为本申请处理报文的方法的另一个实施例流程图,所述方法应用在防火墙上,在该实施例中,快速转发信息保存在会话上,所述方法包括以下步骤:
[0041]步骤S301:解析接收到的报文,获取所述报文的五元组和第一入接口。
[0042]继续参见图1,位于局域网的终端A向位于广域网的终端B发送报文,该报文先传输到防火墙,防火墙可以解析该报文,获取报文的五元组和第一入接口。
[0043]步骤S302:根据所述五元组查找会话,若查找到所述五元组,则执行步骤S303,否贝1J,执行步骤S306。
[0044]在本实施例中,同一报文流的首报文流经防火墙时,防火墙可以根据所述首报文为该报文流创建会话,其中属于同一报文流的报文具有相同的五元组、业务特性和快速转发信息,因此,所创建的会话中可以包括五元组、业务标识以及快速转发信息的对应关系。所述快速转发信息可以包括业务处理信息和三层转发信息,其中,业务处理信息表示对报文的目的IP地址或源IP地址进行转换后的IP地址,三层转发信息表示终端向与自己不在同一网段的另一终端发送报文所需要的转发信息,举例来说,业务处理信息可以包括对报文的源IP地址做NAT转换后的IP地址,三层转发信息可以包括报文的源MAC地址、目的MAC地址、以及报文进入防火墙时的接口(以下简称入接口)、报文从防火墙转发至其他设备或终端时所流经的接口(以下简称出接口)的对应关系。
[0045]当步骤S301中获取到五元组后,本步骤中,可以根据五元组查找已经创建的会话,若查找到该五元组,说明已经为该接收到的报文创建过会话,则执行步骤S303,否则,执行步骤S306。
[0046]步骤S303:获取所述五元组对应的第一业务标识与快速转发信息。
[0047]当步骤S302中查找到该五元组,则可以直接从会话中获取与该五元组对应的业务标识与快速转发信息,将该业务标识作为第一业务标识。
[0048]在一个可选的实现方式中,所述业务标识可以具体表示防火墙对报文所做的业务,此时,业务标识的值可以为单个字符或者字符串,每个字符或字符串可以唯一表示一种业务,例如,业务标识为N,表示防火墙对报文所做业务为NAT地址转换。
[0049]在另一个可选的实现方式中,所述业务标识可以表示报文是否支持快速转发,此时,业务标识可以在两个具体值中取值,所述两个具体值可以分别有不同的含义,其中一个具体值表示报文支持快速转发,另一个表示报文不支持快速转发,例如,所述业务标识可以为“O”或“I”其中一个值,其中,“I”表示报文支持做快速转发,“O”表示报文不支持做快速转发。
[0050]步骤S304:根据所述第一业务标识判断所述报文是否支持快速转发,若是,则执行步骤S305,否则,执行步骤S310。
[0051]在一个可选的实现方式中,当业务标识表示防火墙对报文所做业务时,可以预先规定防火墙对报文做哪些业务后可以对该报文进行快速转发,即可以不用查询大量表项即可完成对报文的转发工作。例如,预先规定了当防火墙对报文所做业务是NAT地址转换时,可以对该报文进行快速转发。具体地,可以预先设置快转业务表,该快转业务表中包括支持快速转发业务的业务标识,当步骤S303中获取到第一业务标识后,可以根据该第一业务标识查找上述快转业务表,若查找到该第一业务标识,则说明所述报文支持快速转发,继而,执行步骤S305,若未查找到该第一业务标识,则说明所述报文不支持快速转发,执行步骤S310o
[0052]在另一个可选的实现方式中,当业务标识表示报文是否支持快速转发时,可以预先规定,当业务标识为“O”时,表示防火墙不可以对所述报文进行快速转发;当业务标识为“I”时,表示防火墙可以对所述报文进行快速转发。当步骤S303中获取到第一业务标识后,即可以根据该第一业务标识的值直接判断得出是否可以对所述报文进行快速转发,若是,则执行步骤S305,否则,执行步骤S310。
[0053]步骤S305:根据所述第一入接口查找快速转发信息中的入接口,若查找到所述第一入接口,则执行步骤S316,否则,执行步骤S313。
[0054]在网络架构中,防火墙可以有多个接口,每个接口可以连接一台设备,可以参见图1所示,假设防火墙的接口 I连接终端A,接口 2连接终端B,接口 3和接口 4连接交换机,其中接口 3用于传输由防火墙转发至交换机的报文,接口 4用于传输由交换机转发至防火墙的报文。防火墙将终端A发送的报文转发至交换机,在这一过程中,接口 I为入接口,接口3为出接口,之后,报文由交换机再转发至防火墙,防火墙再次将报文转至终端B,在这一过程中,接口4为入接口,接口2为出接口,可以将所述入接口与对应的出接口记录在三层转发信息中。
[0055]当步骤S301获取到报文的第一入接口后,本步骤中,根据该第一入接口查找三层转发信息中的入接口,若查找到该第一入接口,说明报文并非首次流经该第一入接口,则执行步骤S316,否则,执行步骤S313。
[0056]步骤S306:新建会话。
[0057]当执行步骤S302,根据所述五元组查找会话,未查找到所述五元组时,说明该报文为一个报文流的首报文,防火墙可以根据该首报文为该报文流创建会话。
[0058]步骤S307:获取所述报文对应的第一业务标识。
[0059]由步骤S302所述,新创建的会话中记录了业务标识,则本步骤中,可以直接从所述新创建的会话中获取业务标识,将该业务标识作为第一业务标识。
[0060]步骤S308:根据所述第一业务标识判断是否需要新建快速转发信息,若是,则执行步骤S309,否则,执行步骤S315。
[0061]在此步骤中,可以根据第一业务标识判断该报文是否支持快速转发,若是,则需要新建快速转发信息,执行步骤S309,否则,不需要新建快速转发信息,执行步骤S315。
[0062]步骤S309:根据所述报文新建快速转发信息,执行步骤S315。
[0063]所述快速转发信息可以根据防火墙对所述首报文转发过程中的转发信息创建,例如,所述报文从接口 I进入防火墙,防火墙对所述首报文的源IP地址做NAT转换,之后,将报文从接口 2转发出去,那么可以在快速转发信息中记录转换后的源IP地址以及接口 I和接口2的对应关系,将所述快速转发信息保存在会话上。
[0064]步骤S310:获取所述报文对应的第二业务标识。
[0065]由步骤S303所述,可以根据五元组直接从会话中获取第一业务标识,该第一业务标识是防火墙根据同一报文流的首报文创建并记录在会话中的。由于网络环境、网络配置等因素的变化,防火墙对该报文所做的业务可能会不同于防火墙对所述首报文所做的业务,因此,当执行完步骤S304,根据该第一业务标识判断得出所述报文不支持快速转发后,防火墙可以重新解析该报文,根据防火墙对该报文所做的业务获取第二业务标识。
[0066]步骤S311:根据所述第二业务标识判断是否需要更新快速转发信息,若是,则执行步骤S312,否则,执行步骤S315。
[0067]本步骤中,可以根据第二业务标识重新判断该报文是否支持快速转发,若是,说明防火墙对该报文与对所述首报文所做的业务不一致,此时可以更新快速转发信息,执行步骤S312,否则,不需要更新快速转发信息,执行步骤S315。
[0068]步骤S312:根据所述报文更新快速转发信息,执行步骤S315。
[0069]由步骤S311所述,当根据所述第二业务标识判断得出所述报文支持快速转发时,说明防火墙对该报文与对所述首报文所做的业务不一致,那么,该报文的转发信息通常与所述首报文的转发信息也不一致,因此,本步骤中,可以根据防火墙对该报文转发过程中实际的转发信息更新快速转发信息。
[0070]步骤S313:根据所述第一入接口获取对应的第一出接口。
[0071]在一个可选的实现方式中,防火墙中可以保存一个出入接口表,用于保存入接口与出接口的对应关系,当执行步骤S305根据第一入接口查找快速转发信息中的入接口,未查找到第一入接口时,说明报文首次流经该第一入接口,则可以根据该第一入接口查找所述出入接口表,获取与第一入接口对应的第一出接口。
[0072]在另一个可选的实现方式中,可以根据第一入接口和其他报文特征,通过预设的控制算法,例如哈希算法,计算得出第一入接口对应的第一出接口。
[0073]步骤S314:将所述第一入接口与对应的第一出接口添加到所述快速转发信息中。
[0074]当执行完步骤S313,获取到第一入接口对应的第一出接口后,可以将第一入接口与第一出接口的对应关系添加到三层转发信息中,方便之后的操作。
[0075]步骤S315:转发所述报文,结束流程。
[0076]步骤S316:根据所述快速转发信息修改所述报文。
[0077]本步骤中,根据所述快速转发信息修改所述报文可以包括根据快速转发信息修改报文的源IP地址、源MAC地址、目的MAC地址等信息。
[0078]步骤S317:转发所述修改后的报文,结束流程。
[0079]应用上述实施例,防火墙接收到报文后,可以解析该报文,获取报文五元组与入接口,根据五元组查找会话,若查找到该五元组,则获取该五元组对应的业务标识,根据该业务标识判断该报文是否支持快速转发,在报文支持快速转发时,由于在会话上还保存了快速转发信息,从而可以获取该五元组对应的快速转发信息,根据该快速转发信息修改报文,转发修改后的报文,有效地提高了防火墙的报文转发性能。
[0080]参见图4,为本申请处理报文的方法的另一个实施例流程图,所述方法应用在防火墙上,在该实施例中,快速转发信息中的业务处理信息保存在会话上,快速转发信息中的三层转发信息保存在芯片上,所述芯片可以位于防火墙上,所述方法包括以下步骤:
[0081]步骤S401:解析接收到的报文,获取所述报文的五元组和第一入接口。
[0082]继续参见图1,位于局域网的终端A向位于广域网的终端B发送报文,该报文先传输到防火墙,防火墙可以解析该报文,获取报文的五元组和第一入接口。
[0083]步骤S402:根据所述五元组查找会话,所述会话包括五元组与业务标识以及业务处理信息的对应关系,若查找到所述五元组,则执行步骤S403,否则,执行步骤S406。
[0084]在本实施例中,同一报文流的首报文流经防火墙时,防火墙可以根据所述首报文为该报文流创建会话,其中属于同一报文流的报文具有相同的五元组、业务特性和快速转发信息,其中快速转发信息可以包括业务处理信息和三层转发信息,业务处理信息表示对报文的目的IP地址或源IP地址进行转换后的IP地址,比如,业务处理信息包括对报文的源IP地址做NAT转换后的IP地址,三层转发信息表示终端向与自己不在同一网段的另一终端发送报文所需要的转发信息,比如报文的源MAC地址、目的MAC地址,多对入接口和出接口等。由于存储MAC地址、多对入接口和出接口会耗费过多内存,因此,可以将业务处理信息保存在会话上,而三层转发信息保存的芯片上,所述芯片可以位于防火墙上。综上所述,所创建的会话中可以包括五元组、业务标识以及业务处理信息的对应关系。
[0085]当执行步骤S401后,获取到五元组,本步骤中,可以根据五元组查找已经创建的会话,若查找到该五元组,说明已经为该接收到的报文创建过会话,执行步骤S403,否则,执行步骤S406。
[0086]步骤S403:获取所述五元组对应的第一业务标识与业务处理信息。
[0087]由步骤S402所述,所述创建的会话中可以包括五元组、业务标识以及业务处理信息的对应关系,因此,本步骤中可以直接从会话中获取与该五元组对应的业务标识与业务处理信息,将该业务标识作为第一业务标识。
[0088]所述业务标识的具体形式可以灵活设置,其中业务标识的具体形式可以参见步骤S303,本实施例在此不再详细赘述。
[0089]步骤S404:根据所述业务标识判断所述报文是否支持快速转发,若是,则执行步骤S405,否则,执行步骤S410。
[0090]本步骤实现过程与步骤S304实现过程相同,本实施例在此不再详细赘述。
[0091]步骤S405:根据所述业务处理信息修改所述报文。执行步骤S413。
[0092]由步骤S402所述,业务处理信息表示对报文的目的IP地址或源IP地址进行转换后的IP地址。因此,本步骤中,可以根据所述业务处理信息修改报文的源IP地址或目的IP地址,比如,根据业务处理信息将报文的源IP地址修改为NAT转换后的公网IP地址。
[0093]步骤S406:新建会话。
[0094]当执行步骤S402,根据所述五元组查找会话,未查找到所述五元组时,说明该报文为个报文流的首报文,防火墙可以根据该首报文为该报文流创建会话。
[0095]步骤S407:获取所述报文对应的第一业务标识。
[0096]由步骤S402所述,新创建的会话中记录了业务标识,因此,本步骤中,可以直接从所述新创建的会话中获取业务标识,将该业务标识作为第一业务标识。
[0097]步骤S408:根据所述第一业务标识判断是否需要新建快速转发信息,若是,则执行步骤S409,否则,执行步骤S415。
[0098]本步骤中,可以根据第一业务标识判断该报文是否支持快速转发,若是,则需要新建快速转发信息,执行步骤S409,否则,不需要新建快速转发信息,执行步骤S415。
[0099]步骤S409:根据所述报文新建快速转发信息,执行步骤S415。
[0100]所述快速转发信息可以根据防火墙对所述首报文转发过程中的转发信息创建,其中业务处理信息保存在会话上,三层转发信息保存在芯片上。
[0101]步骤S410:获取所述报文所做业务的第二业务标识。
[0102]由于网络环境等因素的变化,防火墙对该报文所做的业务可能会不同于防火墙对所述首报文所做的业务,因此,防火墙可以重新解析该报文,获取对该报文所做业务的业务标识,将该业务标识作为第二业务标识。
[0103]步骤S411:根据所述第二业务标识判断是否需要更新快速转发信息,若是,则执行步骤S412,否则,执行步骤S415。
[0104]本步骤中,可以根据第二业务标识判断报文是否支持快速转发,若是,则需要更新快速转发信息,执行步骤S412,否则,执行步骤S415。
[0105]步骤S412:根据所述报文更新快速转发信息,执行步骤S415。
[0106]本步骤中,可以根据防火墙对该报文转发过程中实际的转发信息更新快速转发信息,其中包括更新会话上的业务处理信息和芯片上的三层转发信息。
[0107]步骤S413:将所述修改后的报文转发至芯片,以使芯片根据所述五元组与第一入接口获取三层转发信息并根据所述三层转发信息修改所述报文。
[0108]在本实施例,可以增设一个代理口,所述代理口用于实现防火墙内部软件和硬件之间的连接,可以通过代理口将所述修改后的报文转发至芯片。所述芯片相对于软件来说,可以有更大的容量和更快的处理速度,因此可以使芯片根据所述五元组与第一入接口获取三层转发信息并根据所述三层转发信息修改所述报文。
[0109]在一个可选的实现方式中,所述芯片上包括五元组与三层转发信息的对应关系,所述三层转发信息中可以包括多对入接口与出接口,因此可以根据五元组获取到三层转发信息,并根据第一入接口可以获取到对应的第一出接口,之后根据所述三层转发信息修改报文,具体地,可以包括修改报文的源MAC地址、目的MAC地址、出接口等信息。
[0110]步骤S414:转发所述修改后的报文,结束流程。
[0111]步骤S415:转发所述报文。
[0112]应用上述实施例,防火墙接收到报文后,可以解析该报文,获取报文的五元组与入接口,根据五元组查找会话,若查找到该五元组,则获取该五元组对应的业务标识,根据该业务标识判断该报文是否支持快速转发,在报文支持快速转发时,由于在会话上还保存了业务处理信息,从而可以获取该五元组对应的业务处理信息,根据该业务处理信息修改报文,之后将该修改后的报文转发至芯片,所述芯片上保存了三层转发信息,由于芯片属于硬件,可以有更大的容量和更快的处理速度,因此,可以由芯片查询到该报文对应的三层转发信息,并根据所述三层转发信息修改报文,最终,转发所述修改后的报文,有效地提高了防火墙的报文转发性能。
[0113]与前述处理报文的方法的实施例相对应,本申请还提供了处理报文的装置的实施例。
[0114]本申请处理报文的装置的实施例可以应用在防火墙上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在防火墙的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请处理报文的装置所在设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。
[0115]请参考图6,为本申请处理报文的装置的一个实施例框图,所述装置应用在防火墙上,所述装置可以包括:解析单元610、查找单元620、获取单元630、判断单元640、执行单元650。
[0116]其中,所述解析单元610,用于解析接收到的报文,获取所述报文的报文特征;
[0117]所述查找单元620,用于根据所述报文特征查找会话,所述会话包括报文特征与业务标识的对应关系;
[0118]所述获取单元630,用于在查找到所述报文特征时,获取所述报文特征对应的第一业务标识;
[0119]所述判断单元640,用于根据所述第一业务标识判断所述报文是否支持快速转发;
[0120]所述执行单元650,用于在所述报文支持快速转发时,根据保存的快速转发信息修改所述报文并转发修改后的报文。
[0121]在一个可选的实现方式中,所述装置还可以包括(图6中未示出):新建单元。
[0122]其中,所述新建单元,用于在未查找到所述报文特征时,根据报文新建会话;
[0123]所述获取单元630,还可以用于获取所述报文对应的第一业务标识;
[0124]所述判断单元640,还可以用于根据所述第一业务标识判断是否需要新建快速转发信息;
[0125]所述执行单元650,还可以用于在根据第一业务标识判断得出需要新建快速转发信息时,根据所述报文新建快速转发信息并转发所述报文,在判断得出不需要新建快速转发信息时,直接转发所述报文。
[0126]在另一个可选的实现方式中,所述获取单元630,还可以用于在根据第一业务标识判断得出所述报文不支持快速转发时,获取所述报文对应的第二业务标识;
[0127]所述判断单元640,还可以用于根据所述第二业务标识判断得出是否需要更新快速转发信息;
[0128]所述执行单元650,还可以用于在根据所述第二业务标识判断得出需要更新快速转发信息时,根据所述报文更新快速转发信息并转发所述报文,在判断得出不需要更新快速转发信息时,直接转发所述报文。
[0129]在另一个可选的实现方式中,所述报文特征包括五元组与第一入接口;
[0130]所述快速转发信息包括业务处理信息和三层转发信息;
[0131]所述三层转发信息包括至少一对入接口与出接口。
[0132]在另一个可选的实现方式中,所述快速转发信息包括在会话上,所述获取单元630,还可以用于获取所述报文特征对应的快速转发信息。
[0133]所述执行单元650,可以具体用于根据所述第一入接口查找所述三层转发信息中的入接口;
[0134]在查找到所述第一入接口时,根据所述快速转发信息修改所述报文;
[0135]所述执行单元650,还可以用于,在未查找到所述第一入接口时,根据所述第一入接口获取对应的第一出接口 ;
[0136]将所述第一入接口与对应的第一出接口添加到所述快速转发信息中并转发所述报文。
[0137]在另一个可选的实现方式中,所述业务处理信息保存在会话上,所述三层转发信息保存在芯片上,所述获取单元630,还可以用于获取所述报文特征对应的业务处理信息;
[0138]所述执行单元650,可以具体用于将所述修改后的报文发送至芯片,以使芯片根据所述五元组与第一入接口获取所述报文的三层转发信息并根据所述三层转发信息修改所述报文。
[0139]上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0140]对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0141]以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1.一种处理报文的方法,其特征在于,所述方法应用在防火墙上,所述方法包括: 解析接收到的报文,获取所述报文的报文特征; 根据所述报文特征查找会话,所述会话包括报文特征与业务标识的对应关系,若查找到所述报文特征,则获取所述报文特征对应的第一业务标识; 根据所述第一业务标识判断所述报文是否支持快速转发,若是,则根据保存的快速转发信息修改所述报文; 转发修改后的报文。2.根据权利要求1所述的方法,其特征在于,根据所述报文特征查找会话之后,还包括: 若未查找到所述报文特征,则根据所述报文新建会话; 获取所述报文对应的第一业务标识; 根据所述第一业务标识判断是否需要新建快速转发信息,若是,根据所述报文新建快速转发信息并转发所述报文; 否则,直接转发所述报文。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一业务标识判断所述报文是否支持快速转发之后,还包括: 若不支持快速转发,则获取所述报文对应的第二业务标识; 根据所述第二业务标识判断是否需要更新快速转发信息,若是,根据所述报文更新快速转发信息并转发所述报文; 否则,直接转发所述报文。4.根据权利要求1所述的方法,其特征在于,所述报文特征包括五元组与第一入接口; 所述快速转发信息包括业务处理信息和三层转发信息; 所述三层转发信息包括至少一对入接口与出接口。5.根据权利要求4所述的方法,其特征在于,所述快速转发信息保存在会话上; 所述查找到所述报文特征之后,还包括: 获取所述报文特征对应的快速转发信息; 根据保存的快速转发信息修改所述报文包括: 根据所述第一入接口查找所述三层转发信息中的入接口,若查找到所述第一入接口,则根据所述快速转发信息修改所述报文; 所述根据所述第一入接口查找所述三层转发信息中的入接口之后,还包括:若未查找到所述第一入接口,则根据所述第一入接口获取对应的第一出接口 ;将所述第一入接口与对应的第一出接口添加到所述快速转发信息中并转发所述报文。6.根据权利要求4所述的方法,其特征在于,所述业务处理信息保存在会话上,所述三层转发信息保存在芯片上; 所述查找到所述报文特征之后,还包括: 获取所述报文特征对应的业务处理信息; 所述根据保存的快速转发信息修改所述报文包括: 根据所述业务处理信息修改所述报文; 将所述修改后的报文发送至芯片,以使芯片根据所述五元组与第一入接口获取所述报文的三层转发信息并根据所述三层转发信息修改所述报文。7.一种处理报文的装置,其特征在于,所述装置应用在防火墙上,所述装置包括: 解析单元,用于解析接收到的报文,获取所述报文的报文特征; 查找单元,用于根据所述报文特征查找会话,所述会话包括报文特征与业务标识的对应关系; 获取单元,用于在查找到所述报文特征时,获取所述报文特征对应的第一业务标识; 判断单元,用于根据所述第一业务标识判断所述报文是否支持快速转发; 执行单元,用于在所述报文支持快速转发时,根据保存的快速转发信息修改所述报文并转发修改后的报文。8.根据权利要求7所述的装置,其特征在于,所述装置还包括: 新建单元,用于在未查找到所述报文特征时,根据所述报文新建会话; 所述获取单元,还用于获取所述报文对应的第一业务标识; 所述判断单元,还用于根据所述第一业务标识判断是否需要新建快速转发信息; 所述执行单元,还用于在根据第一业务标识判断得出需要新建快速转发信息时,根据所述报文新建快速转发信息并转发所述报文,在判断得出不需要新建快速转发信息时,直接转发所述报文。9.根据权利要求7所述的装置,其特征在于, 所述获取单元,还用于在根据第一业务标识判断得出所述报文不支持快速转发时,获取所述报文对应的第二业务标识; 所述判断单元,还用于根据所述第二业务标识判断是否需要更新快速转发信息; 所述执行单元,还用于在根据所述第二业务标识判断得出需要更新快速转发信息时,根据所述报文更新快速转发信息并转发所述报文,在判断得出不需要更新快速转发信息时,直接转发所述报文。10.根据权利要求7所述的装置,其特征在于,所述报文特征包括五元组与第一入接口; 所述快速转发信息包括业务处理信息和三层转发信息; 所述三层转发信息包括至少一对入接口与出接口。11.根据权利要求10所述的装置,其特征在于,所述快速转发信息保存在会话上; 所述获取单元,还用于获取所述报文特征对应的快速转发信息; 所述执行单元,具体用于根据所述第一入接口查找所述三层转发信息中的入接口 ;若查找到所述第一入接口,根据所述快速转发信息修改所述报文并转发修改后的报文; 所述执行单元,还用于在未查找到所述第一入接口时,根据所述第一入接口获取对应的第一出接口;将所述第一入接口与对应的第一出接口添加到所述快速转发信息中并转发所述报文。12.根据权利要求10所述的装置,其特征在于,所述业务处理信息保存在会话上,所述三层转发信息保存在芯片上; 所述获取单元,还用于获取所述报文特征对应的业务处理信息; 所述执行单元,具体用于根据所述业务处理信息修改所述报文,将所述修改后的报文发送至芯片,以使芯片根据所述五元组与第一入接口获取所述报文的三层转发信息并根据所述三层转发信息修改所述报文。
【文档编号】H04L29/06GK105959254SQ201510873073
【公开日】2016年9月21日
【申请日】2015年12月2日
【发明人】袁野
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1