一种报文处理方法及装置与流程

文档序号:14879559发布日期:2018-07-07 09:22阅读:167来源:国知局
本发明涉及网络通信
技术领域
,尤其涉及一种报文处理方法及装置。
背景技术
:通常,交换设备针对入方向报文的处理能力较强,例如可以匹配ip(internetprotocol,互联网协议)字段重标记报文优先级字段,重定向报文等,但是针对出方向报文处理能力较弱。大多数情况下,针对入方向报文的处理就可以完成报文需要的操作,但是有的情况下,仅仅进行入方向报文的处理是不够的,例如,当需要针对某一特征的ip报文在出方向上丢弃时,目前市场上的主流芯片由于无法在出方向解析出二层转发报文ip头内容,导致无法实现;此外,还有一些情况下,需要修改报文的某一字段为需要的值,而目前的市场上的主流芯片也无法实现该需求。技术实现要素:本发明的目的在于提供一种报文处理方法,以解决现有技术中交换设备在出方向上报文处理能力较弱的问题。为实现上述目的,本发明提供一种报文处理方法,应用于交换设备,该方法包括:确定受控端口;为所述受控端口之外的其它端口配置对应的入方向控制表项;其中,所述入方向控制表项的匹配项为特定报文特征信息,所述入方向控制表项的动作为添加自定义控制信息;为所述受控端口配置出方向控制表项;其中,所述出方向控制表项的匹配项为所述自定义控制信息,所述出方向控制表项的动作为出方向特定处理;通过所述其它端口中的任一端口接收到报文;确定所述报文的报文特征信息与所述入方向控制表项的特定报文特征信息匹配时,为所述报文添加所述自定义控制信息;查找到所述报文匹配的转发表项的出端口是所述受控端口;确定所述报文添加的所述自定义控制信息匹配所述出方向控制表项,根据所述出方向特定处理对所述报文进行处理。为实现上述目的,本发明还提供一种报文处理装置,应用于交换设备,包括:确定单元,确定受控端口;配置单元,为所述受控端口之外的其它端口配置对应的入方向控制表项;为所述受控端口配置出方向控制表项;其中,所述入方向控制表项的匹配项为特定报文特征信息,所述入方向控制表项的动作为添加自定义控制信息;所述出方向控制表项的匹配项为所述自定义控制信息,所述出方向控制表项的动作为出方向特定处理;接收单元,通过所述其它端口中的任一端口接收到报文;转发单元,确定所述报文的报文特征信息与所述入方向控制表项的特定报文特征信息匹配时,为所述报文添加所述自定义控制信息;查找到所述报文匹配的转发表项的出端口是所述受控端口;确定所述报文添加的所述自定义控制信息匹配所述出方向控制表项,根据所述出方向特定处理对所述报文进行处理。应用本发明实施例,通过确定受控端口,并为受控端口之外的其它端口配置对应的入方向控制表项,为受控端口配置出方向控制表项;当通过该其它端口中的任一端口接收到报文,且确定该报文的报文特征信息与入方向控制表项的特定报文特征信息匹配时,为报文添加所述自定义控制信息;当查找到该报文匹配的转发表项的出端口是受控端口,并确定该报文添加的自定义控制信息匹配出方向控制表项时,根据该出方向特定处理对报文进行处理,通过将交换设备在入方向的报文处理能力共享给出方向,降低了对交换设备在出方向上的报文处理能力的需求。附图说明图1是本发明实施例提供的一种报文处理方法的流程示意图;图2是本发明实施例提供的一种交换设备的结构示意图;图3a~3d是本发明实施例提供的具体应用场景下的报文处理方法的流程示意图;图4是本发明实施例提供的一种报文处理装置的结构示意图。具体实施方式为了使本
技术领域
的人员更好地理解本发明实施例中的技术方案,下面先对本发明实施例中涉及的报文头结构进行简单说明。在本发明实施例中,报文的报文头可以分为转发头之前的报文头(本发明中称为外层头)、转发头以及转发头之后的报文头(本文中称为内层头);其中,对于二层报文,转发头为mac(mediaaccesscontrol,媒体访问控制)头;对于三层报文,转发头为ip头。目前,交换设备在入方向上可以解析报文的外层头、转发头以及内层头,但是在出方向上,仅能解析报文的外层头以及转发头,而无法解析内层头。此外,报文进入交换设备之后,在交换设备芯片内部转发的过程中,交换设备会在报文的最外层为该报文添加系统头,该系统头会在报文被交换设备向外转发时删除。为了使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。请参见图1,为本发明实施例提供的一种报文处理方法的流程示意图,其中,该报文处理方法可以应用于交换设备,如图1所示,该方法可以包括以下步骤:步骤101、确定受控端口。步骤102、为该受控端口之外的其它端口配置对应的入方向控制表项;其中,该入方向控制表项的匹配项为特定报文特征信息,该入方向控制表项的动作为添加自定义控制信息。步骤103、为该受控端口配置出方向控制表项;其中,该出方向控制表项的匹配项为自定义控制信息,该出方向控制表项的动作是出方向特定处理。本发明实施例中,受控端口并不特指交换设备的某一固定端口,而是可以指代交换设备上任一需要对具有特定报文特征信息的报文进行出方向特定处理的端口。本发明实施例中,考虑到目前交换设备对入方向报文的处理能力较强,但是对出方向报文的处理能力较弱,因此,对于需要在交换设备的出方向进行特定处理,但是超出交换设备在出方向的处理能力的报文处理需求,例如,在出方向丢弃指定目的ip地址(报文内层头中的字段)的二层报文,可以利用交换设备在入方向上较强的报文处理能力,识别出需要进行出方向特定处理的报文(即指定目的ip地址的二层报文),并将出方向上需要识别但是超出交换设备在出方向的处理能力的报文特征信息转化为交换设备在出方向的处理能力之内的报文特征信息,从而,将交换设备入方向报文的处理能力共享给出方向报文的处理,降低对交换设备在出方向的报文处理能力的需求。相应地,在本发明实施例中,交换设备可以将需要对具有特定报文特征信息的报文进行出方向特定处理的端口确定为受控端口。交换设备确定了受控端口之后,一方面,交换设备可以为受控端口之外的其它端口配置对应的入方向控制表项,该入方向控制表项的匹配项为上述特定报文特征信息,动作为添加自定义控制信息;另一方面,交换设备可以为受控端口配置出方向控制表项,该出方向受控表项的匹配项为该自定义控制信息,动作为上述出方向特定处理。举例来说,假设交换设备需要在出方向丢弃目的ip地址为ip1的报文,交换设备通过查询本地的转发表项,发现目的ip地址为ip1的报文为的出端口为端口5,则交换设备可以确定端口5为受控端口,进而,交换设备一方面可以为端口5之外的其它端口配置入方向控制表项,该入方向控制表项的匹配项为目的ip地址为ip1,动作为添加第一类型自定义控制信息;另一方面,交换设备可以为端口5配置出方向控制表项,该出方向控制表项的匹配项为第一类型自定义控制信息,动作为丢弃报文,基于上述配置,目的ip地址为ip1的报文将会在转发至端口5之后被丢弃。步骤104、通过受控端口之外的其它端口中的任一端口接收到报文。步骤105、确定报文的报文特征信息与入方向控制表项的特定报文特征信息匹配时,为该报文添加自定义控制信息。本发明实施例中,当交换设备通过受控端口之外的其它端口中的任一端口接收到报文时,交换设备可以根据该报文查询本地的入方向控制表项,以确定该报文的特征信息是否与该入方向控制表项的特定报文特征信息匹配;若匹配,则交换设备可以按照该入方向控制表项的动作指示的为该报文添加对应的自定义控制信息。仍以上述示例为例,当交换设备从端口1接收到报文时,交换设备可以根据该报文的目的ip地址查询入方向控制表项,以确定该报文的目的ip地址是否与该入方向控制表项的匹配项中的ip地址匹配,若匹配,则为该报文添加第一类型控制信息。值得说明的是,在本发明实施例中,若交换设备从受控端口之外的其它端口接收到报文,但该报文的报文特征信息与入方向控制表项的特定报文特征信息不匹配,则交换设备可以按现有流程中的相关处理方式对该报文进行处理,其具体实现在此不做赘述。步骤106、查找到该报文匹配的转发表项的出端口是受控端口。步骤107、确定该报文添加的自定义控制信息匹配出方向控制表项,根据该出方向特定处理对该报文进行处理。本发明实施例中,由于受控端口之外其它端口上配置的入方向控制表项匹配的出端口为受控端口的报文,因此,当交换设备从受控端口之外的其它端口接收到报文,且该报文的报文特征信息与入方向控制表项的特定报文特征信息匹配时,交换设备从本地转发表项中查询到的该报文的出端口将会是受控端口,相应地,交换设备为该报文添加相应的自定义控制信息之后,可以将该报文转发至该受控端口。本发明实施例中,报文被转发至受控端口之后,交换设备可以根据该报文中添加的自定义控制信息查询本地的出方向控制表项,以确定该报文中的自定义控制信息是否与出方向控制表项的匹配项匹配;若匹配,则根据该出方向控制表项的动作指示的出方向特征处理对该报文进行处理,例如,丢弃报文。在本发明其中一个实施例中,上述自定义控制信息指示流量统计;相应地,上述出方向特定处理为流量统计以及删除该自定义控制信息。在该实施例中,当交换设备确定报文中添加的自定义控制信息与出方向控制表项的匹配项匹配,且该自定义控制信息指示交换设备进行流量统计时,交换设备可以根据出方向控制表项的动作指示的对该报文进行流量控制,并删除该报文中添加的自定义控制信息。在本发明另一个实施例中,上述自定义控制信息指示允许通过;相应地,上述出方向特定处理为允许通过以及删除该自定义控制信息。在该实施例中,当交换设备确定报文中添加的自定义控制信息与出方向控制表项的匹配项匹配,且该自定义控制信息指示交换设备允许报文通过时,交换设备可以根据出方向控制表项的动作指示允许该报文通过,并删除该报文中添加的自定义控制信息。在本发明又一个实施例中,上述自定义控制信息指示丢弃;相应地,上述出方向特定处理为丢弃与出方向控制表项的匹配项匹配的报文。在该实施例中,当交换设备确定报文中添加的自定义控制信息与出方向控制表项的匹配项匹配,且该自定义控制信息指示交换设备丢弃报文时,交换设备可以根据出方向控制表项的动作指示丢弃该报文。在本发明再一个实施例中,上述自定义控制信息指示修改动作和修改内容;相应地,上述出方向特定处理为根据该修改内容修改预设字段并删除该自定义控制信息。在该实施例中,当交换设备确定报文中添加的自定义控制信息与出方向控制表项的匹配项匹配,且该自定义控制信息指示交换设备对报文进行修改时,交换设备可以根据该自定义控制信息指示的修改内容修改报文的预设字段,并删除该自定义控制信息。在该实施例的一种实施方式中,交换设备的交换芯片内可以通过微码的方式预置偏移字段,当交换设备根据受控端口配置的出方向控制表项确定需要对报文进行修改时,交换设备可以根据该预置的偏移字段,从该报文的报文头部开始偏移,以确定需要修改的字段,并将该需要修改的字段的值修改为上述自定义控制信息指示的修改内容。值得说明的是,在本发明实施例中,当交换设备在受控端口对报文进行的出方向特定处理为进行流量统计(或允许通过或对预设字段进行修改),并删除报文中添加的自定义控制信息时,交换设备可以在对该报文进行该出方向特定处理之后,通过受控端口转发处理后的报文。为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体实例对本发明实施例提供的技术方案进行描述。请参见图2,为本发明实施例提供的一种交换设备的结构示意图,如图2所示,该交换设备可以包括cpu(centerprocessunit,中央处理单元)以及交换芯片,其中,假设该交换芯片共包括10个端口(分别为端口1~10)。在该实施例中,假设自定义控制信息的长度为8bit,其中,自定义控制信息的前2bit为标识字段,后6bit为自定义字段;当自定义控制信息的标识字段的值为01时,指示交换设备对报文进行流量控制,流量控制策略与自定义控制信息自定义字段的值的对应关系如表1所示;当自定义头的标识字段的值为10时,指示交换设备对报文进行字段修改。表1自定义字段的值流量控制策略000001丢弃报文000010允许报文通过000100对报文进行流量统计……实施例一假设交换设备需要对目的ip地址为ip1的二层报文在出方向进行流量统计,则参见图3a,报文处理流程可以包括如下步骤:步骤a1、根据ip1查询本地的转发表项,确定目的ip地址为ip1的二层报文的出端口(假设为端口5),并将端口5设置为受控端口。步骤a2、为端口1~端口4、端口5~端口10配置入方向控制表项,其中,该入方向控制表项的匹配项为目的ip地址为ip1,动作为添加自定义控制信息01000100。其中,该入方向控制表项的格式可以如表2所示:表2匹配项动作项目的ip地址为ip1添加自定义控制信息:01000100步骤a3、为端口5配置出方向控制表项,该出方向控制表项的匹配项为自定义控制信息01000100,动作为流量统计,并删除自定义控制信息。其中,该出方向控制表项的格式可以如表3所示:表3匹配项动作项自定义控制信息:01000100流量统计,删除自定义控制信息步骤a4、当通过端口1~4、端口6~10中任一端口接收到报文,且报文中的目的ip地址为ip1时,为该报文添加自定义控制信息01000100。步骤a5、查找到该报文的出端口为端口5,将该报文转发至端口5。步骤a6、根据该报文添加的自定义控制信息查询表3所示的出方向控制表项,确定该报文添加的自定义控制信息01000100与表3所示的出方向控制表项的匹配项匹配,对该报文进行流量控制,并删除自定义控制信息01000100。步骤a7、通过端口5转发处理后的报文。实施例二假设交换设备需要对目的ip地址为ip2的二层报文在出方向进行允许通过处理,则参见图3b,报文处理流程可以包括如下步骤:步骤b1、根据ip2查询本地的转发表项,确定目的ip地址为ip2的二层报文的出端口(假设为端口3),并将端口3设置为受控端口。步骤b2、为端口1~端口2、端口4~端口10配置入方向控制表项,其中,该入方向控制表项的匹配项为目的ip地址为ip2,动作为添加自定义控制信息01000010。其中,该入方向控制表项的格式可以如表4所示:表4匹配项动作项目的ip地址为ip2添加自定义控制信息:01000010步骤b3、为端口3配置出方向控制表项,该出方向控制表项的匹配项为自定义控制信息01000010,动作为允许通过,并删除自定义控制信息。其中,该出方向控制表项的格式可以如表5所示:表5步骤b4、当通过端口1~2、端口4~10中任一端口接收到报文,且报文中的目的ip地址为ip2时,为该报文添加自定义控制信息01000010。步骤b5、查找到该报文的出端口为端口3,将该报文转发至端口3。步骤b6、根据该报文添加的自定义控制信息查询表5所示的出方向控制表项,确定该报文添加的自定义控制信息01000010与表5所示的出方向控制表项的匹配项匹配,允许该报文通过端口3,并删除自定义控制信息01000010。步骤b7、通过端口3转发处理后的报文。实施例三假设交换设备需要对目的ip地址为ip3的二层报文在出方向进行丢弃处理,则参见图3c,报文处理流程可以包括如下步骤:步骤c1、根据ip3查询本地的转发表项,确定目的ip地址为ip3的二层报文的出端口(假设为端口4),并将端口4设置为受控端口。步骤b2、为端口1~端口3、端口5~端口10配置入方向控制表项,其中,该入方向控制表项的匹配项为目的ip地址为ip3,动作为添加自定义控制信息01000001。其中,该入方向控制表项的格式可以如表6所示:表6匹配项动作项目的ip地址为ip3添加自定义控制信息:01000001步骤c3、为端口4配置出方向控制表项,该出方向控制表项的匹配项为自定义控制信息01000001,动作为丢弃报文。其中,该出方向控制表项的格式可以如表7所示:表7匹配项动作项自定义控制信息:01000001丢弃报文步骤c4、当通过端口1~3、端口5~10中任一端口接收到报文,且报文中的目的ip地址为ip3时,为该报文添加自定义控制信息01000001。步骤c5、查找到该报文的出端口为端口4,将该报文转发至端口4。步骤c6、根据该报文添加的自定义控制信息查询表7所示的出方向控制表项,确定该报文添加的自定义控制信息01000001与表7所示的出方向控制表项的匹配项匹配,丢弃该报文。实施例四假设交换设备需要在出方向上将目的ip地址为ip4的二层报文的vxlan(virtualextensiblelocalareanetwork,虚拟可扩展局域网)头的reserved字段的值修改为110110,则参见图3d,报文处理流程可以包括如下步骤:步骤d1、通过微码的方式在交换芯片上预置第一偏移字段,根据该偏移字段从报文头部进行偏移指向的字段为报文vxlan头的reserved字段。步骤d2、根据ip4查询本地的转发表项,确定目的ip地址为ip3的二层报文的出端口(假设为端口1),并将端口1设置为受控端口。步骤d3、为端口2~10配置入方向控制表项,其中,该入方向控制表项的匹配项为目的ip地址为ip4,动作为添加自定义控制信息10110110。其中,该入方向控制表项的格式可以如表8所示:表8匹配项动作项目的ip地址为ip4添加自定义控制信息:10110110步骤d4、为端口1配置出方向控制表项,该出方向控制表项的匹配项为自定义控制信息10110110,动作为修改预设字段并删除自定义控制信息。其中,该出方向控制表项的格式可以如表9所示:表9匹配项动作项自定义控制信息:10110110修改预设字段并删除自定义控制信息步骤d5、当通过端口2~10中任一端口接收到报文,且报文中的目的ip地址为ip4时,为该报文添加自定义控制信息10110110。步骤d6、查找到该报文的出端口为端口1,将该报文转发至端口1。步骤d7、根据该报文添加的自定义控制信息查询表9所示的出方向控制表项,确定该报文添加的自定义控制信息01000001与表9所示的出方向控制表项的匹配项匹配,根据预置的微码确定需要修改的字段为报文的vxlan头中的reserved字段,将该报文的vxlan头中的reserved字段的值修改为110110,并删除自定义控制信息。步骤d8、通过端口1转发处理后的报文。通过以上描述可以看出,在本发明实施例提供的技术方案中,通过确定受控端口,并为受控端口之外的其它端口配置对应的入方向控制表项,为受控端口配置出方向控制表项;当通过该其它端口中的任一端口接收到报文,且确定该报文的报文特征信息与入方向控制表项的特定报文特征信息匹配时,为报文添加所述自定义控制信息;当查找到该报文匹配的转发表项的出端口是受控端口,并确定该报文添加的自定义控制信息匹配出方向控制表项时,根据该出方向特定处理对报文进行处理,通过将交换设备在入方向的报文处理能力共享给出方向,降低了对交换设备在出方向上的报文处理能力的需求。请参见图4,为本发明实施例提供的一种报文处理装置结构示意图,其中,该装置可以由应用于上述方法实施例中的交换设备,如图4所示,该装置可以包括:确定单元410,确定受控端口;配置单元420,为所述受控端口之外的其它端口配置对应的入方向控制表项;为所述受控端口配置出方向控制表项;其中,所述入方向控制表项的匹配项为特定报文特征信息,所述入方向控制表项的动作为添加自定义控制信息;所述出方向控制表项的匹配项为所述自定义控制信息,所述出方向控制表项的动作为出方向特定处理;接收单元430,通过所述其它端口中的任一端口接收到报文;转发单元440,确定所述报文的报文特征信息与所述入方向控制表项的特定报文特征信息匹配时,为所述报文添加所述自定义控制信息;查找到所述报文匹配的转发表项的出端口是所述受控端口;确定所述报文添加的所述自定义控制信息匹配所述出方向控制表项,根据所述出方向特定处理对所述报文进行处理。在可选实施例中,所述配置单元420,在所述入方向控制表项配置指示流量统计的所述自定义控制信息;所述转发单元440,确定所述报文的报文特征信息与所述入方向控制表项的特定报文特征信息匹配时,为所述报文添加指示流量统计的所述自定义控制信息;查找到所述报文匹配的转发表项的出端口是所述受控端口;确定所述报文添加的所述自定义控制信息匹配所述出方向控制表项,根据所述出方向控制表项的所述出方向特定处理对通过所述受控端口的所述报文流量统计,将所述自定义控制信息从所述报文删除。在可选实施例中,所述配置单元420,在所述入方向控制表项配置指示允许通过的所述自定义指示信息;所述转发单元440,确定所述报文的报文特征信息与所述入方向控制表项的特定报文特征信息匹配时,为所述报文添加所述指示允许通过的自定义控制信息;查找到所述报文匹配的转发表项的出端口是所述受控端口;确定所述报文添加的所述自定义控制信息匹配所述出方向控制表项,根据所述出方向控制表项的所述出方向特定处理允许所述报文通过所述受控端口发送以及删除所述自定义控制信息。在可选实施例中,所述配置单元420,在所述入方向控制表项配置指示丢弃的所述自定义控制信息;所述转发单元440,确定所述报文的报文特征信息与所述入方向控制表项的特定报文特征信息匹配时,为所述报文添加指示丢弃的所述自定义控制信息;查找到所述报文匹配的转发表项的出端口是所述受控端口;确定所述报文添加的所述自定义控制信息匹配所述出方向控制表项,根据出方向控制表项的所述出方向特定处理丢弃出端口是所述受控端口的所述报文。在可选实施例中,所述配置单元420,在所述入方向控制表项配置指示修改动作和修改内容的所述自定义控制信息;所述转发单元440,确定所述报文的报文特征信息与所述入方向控制表项的特定报文特征信息匹配时,为所述报文添加指示修改动作和修改内容的所述自定义控制信息;查找到所述报文匹配的转发表项的出端口是所述受控端口;确定所述报文添加的所述自定义控制信息匹配所述出方向控制表项,根据所述出方向特定处理将所述预设字段修改为所述修改内容。值得说明的是,在本发明实施例中,转发单元440在根据出方向控制表项完成流量统计(或允许通过或预设字段修改),并删除自定义控制信息之后,可以通过受控端口发送处理后的报文。上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。由上述实施例可见,通过确定受控端口,并为受控端口之外的其它端口配置对应的入方向控制表项,为受控端口配置出方向控制表项;当通过该其它端口中的任一端口接收到报文,且确定该报文的报文特征信息与入方向控制表项的特定报文特征信息匹配时,为报文添加所述自定义控制信息;当查找到该报文匹配的转发表项的出端口是受控端口,并确定该报文添加的自定义控制信息匹配出方向控制表项时,根据该出方向特定处理对报文进行处理,通过将交换设备在入方向的报文处理能力共享给出方向,降低了对交换设备在出方向上的报文处理能力的需求。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1