掌桥专利:专业的专利平台
掌桥专利
首页

报文处理的方法、装置及相关设备

文献发布时间:2023-06-19 12:16:29


报文处理的方法、装置及相关设备

本申请是向中国知识产权局提交的申请日为2018年8月30日、申请号为201811004608.6、发明名称为“报文处理的方法、装置及相关设备”的申请的分案申请。

技术领域

本申请涉及网络通信领域,尤其涉及一种报文处理的方法、装置及相关设备。

背景技术

在网络通信过程中,可以通过路由器或者交换机等转发设备对报文进行转发,以路由器为例,路由器在接收到报文后,可以根据报文的信息,例如源互联网协议(internetprotocol,IP)地址和目的IP地址,查找路由转发表(forwarding information base,FIB)确定对应于该报文的下一跳信息,将该报文转发至相应的其他路由器、终端或者服务器等网络设备。而转发设备依赖网络资源进行报文转发,网络资源例如带宽、缓存空间和转发设备的处理能力等,在需要的网络资源超过当前可用的网络资源时,网络会发生拥塞,因此,可以对转发设备的流量进行控制,以免网络发生拥塞。

为了对流量进行控制,控制设备可以对转发设备的流量进行分析,得到流过滤规则,然后向转发设备下发流过滤规则,转发设备根据流过滤规则对报文进行处理,例如对报文进行重定向或丢弃等,实现对流量的控制。在传统的方式中,控制设备为每一对利用转发设备进行通信的网络设备都配置一条流过滤规则,当网络设备较多时,配置的流过滤规则的条数也较多,从而需要占用较多的网络资源来将流过滤规则从控制设备下发到转发设备,进一步也导致转发设备占用大量的存储资源。

发明内容

本申请实施例提供了一种报文处理方法、装置及相关设备,用于解决下发大量流过滤规则,造成的占用较多网络资源的问题。

本申请实施例提供了一种报文处理的方法,应用于第一设备,具体包括如下步骤:首先,生成流过滤规则,然后,向第二设备发送该流过滤规则。其中,流过滤规则包括匹配项和动作项,所述匹配项包括互联网协议IP地址和自治域标识;所述动作项用于指示所述第二设备对与所述匹配项匹配的报文按照所述动作项所指示的报文处理方式对所述报文进行处理。第一设备可以是用于生成和下发流过滤规则的控制设备,可以是服务器、终端或路由器等。具体的,可以设置边界网关协议流量规范服务器作为第一设备。第二设备可以是转发设备,例如可以是路由器、交换机、网桥或网关等。

也就是说,本申请实施例将自治域标识对应的自治域中的网络设备的IP地址进行聚合,以自治域标识为单位生成流过滤规则。例如,当匹配项中的IP地址为接收的报文的源IP地址时,该自治域为接收的报文的目的地址对应的设备所属的自治域,这样针对该自治域内的所有网络设备只需要生成一条过滤规则。不再需要为该自治域内每个设备分别生成过滤策略。减少了流过滤规则的生成数量,也就减少了下发到第二设备所需要占用的网络资源。

可选的,所述IP地址可以为所述报文的源IP地址,相应的,所述自治域标识是所述报文的目的IP地址对应的设备所属自治域的标识。或者,所述IP地址可以为所述报文的目的IP地址,相应的,所述自治域标识是所述报文的源IP地址对应的设备所属自治域的标识。自治域标识用于区别不同的自治域,举例来说,电信的自治域标识可以为AS1000,移动的自治域标识可以为AS2000。

可选的,所述自治域标识为所述第二设备的所属的自治域标识。若第二设备和源IP地址对应的网络设备属于同一个自治域,那么在生成流过滤规则时,可以通过获取第二设备所属自治域的自治域标识来得到源IP地址对应的设备所属自治域的自治域标识。若第二设备与目的IP地址对应的网络设备属于同一个自治域,那么也可以通过获取第二设备所属自治域的自治域标识来得到目的IP地址所属自治域的自治域标识。

本申请实施例还提供了一种报文处理的方法,应用于第二设备,具体包括如下步骤:第二设备接收第一设备发送的流过滤规则,所述流过滤规则包括匹配项和动作项,所述匹配项包括互联网协议IP地址和自治域标识。第二设备接收报文,根据所述报文中的第一地址确定路由转发表项,所述路由转发表项中包含自治域标识。当所述第二设备确定所述报文的第二地址与所述流过滤规则中的IP地址匹配,并且所述路由转发表项中的自治域标识与所述流过滤规则中的自治域标识相同时,按照所述动作项所指示的报文处理方式对所述报文进行处理。

本申请实施例将自治域标识对应的自治域中的网络设备的IP地址进行聚合,以自治域标识为单位生成流过滤规则。例如,当匹配项中的IP地址为接收的报文的目的IP地址时,该自治域为报文的源IP地址对应的设备所属的自治域,这样针对该自治域内的所有网络设备只需要生成一条过滤规则。不再需要为该自治域内每个设备分别生成过滤规则,减少了流过滤规则的生成数量,第二设备存储的过滤规则也大大减少,节省了第二设备的存储资源。

可选的,所述第一地址可以为所述报文的目的IP地址,相应的,所述第二地址为所述报文的源IP地址。或者,第一地址可以为所述报文的源IP地址,相应的,所述第二地址为所述报文的目的IP地址。

可选的,所述动作项所述指示的报文处理方式包括以下处理方式中的一种或多种:

对报文进行丢弃处理、对报文进行重定向处理和对报文进行流量标记。

其中,对报文进行丢弃处理是指,不对该报文进行转发,并删除该报文;对报文进行重定向处理是指改变该报文对应的下一跳信息,以便改变该报文的转发路径,实现对网络中流量的控制;对报文进行流量标记是指对报文进行标记,以便进行后续处理,例如流量统计等。

可选的,所述方法还包括:

根据所述流过滤规则生成访问控制表,所述访问控制表存储所述IP地址、自治域索引和动作项,所述自治域索引与所述自治域标识对应。因为访问控制表通常能够存储的字符数量较少,所以以字符数量较少的自治域索引来代替自治域标识存储在访问控制表中,并且可以建立所述自治域索引与所述自治域标识之间的映射关系,以便后续能够根据自治域标识查找到自治域索引。

那么,所述当所述第二设备确定所述报文的第二地址与所述流过滤规则中的IP地址匹配,并且所述路由转发表项中的自治域标识与所述流过滤规则中的自治域标识相同时,按照所述动作项所指示的报文处理方式对所述报文进行处理包括:

当所述第二设备确定所述报文的第二地址与所述访问控制表中的IP地址相同,并且所述路由转发表项中的自治域标识与所述访问控制表中的自治域索引相匹配时,按照所述访问控制表中存储的动作项所指示的报文处理方式对所述报文进行处理。

本申请实施例还提供了一种报文处理的装置,应用于第一设备,包括:

规则生成单元,用于成流过滤规则,所述流过滤规则包括匹配项和动作项,所述匹配项包括互联网协议IP地址和自治域标识;

规则发送单元,用于向第二设备发送所述流过滤规则,所述动作项用于指示所述第二设备对与所述匹配项匹配的报文按照所述动作项所指示的报文处理方式对所述报文进行处理。

可选的,所述IP地址为所述报文的源IP地址,所述自治域标识是所述报文的目的IP地址对应的设备所属自治域的标识。

可选的,所述IP地址为所述报文的目的IP地址,所述自治域标识是所述报文的源IP地址对应的设备所属自治域的标识。

可选的,所述自治域标识为所述第二设备的所属的自治域标识。

本申请实施例还提供了一种报文处理的装置,应用于第二设备,包括:

规则接收单元,用于接收第一设备发送的流过滤规则,所述流过滤规则包括匹配项和动作项,所述匹配项包括互联网协议IP地址和自治域标识;

报文接收单元,用于接收报文,根据所述报文中的第一地址确定路由转发表项,所述路由转发表项中包含自治域标识;

报文处理单元,用于当确定所述报文的第二地址与所述流过滤规则中的IP地址匹配,并且所述路由转发表项中的自治域标识与所述流过滤规则中的自治域标识相同时,按照所述动作项所指示的报文处理方式对所述报文进行处理。

可选的,所述第一地址为所述报文的目的IP地址,所述第二地址为所述报文的源IP地址。

可选的,所述第一地址为所述报文的源IP地址,所述第二地址为所述报文的目的IP地址。

可选的,所述动作项所述指示的报文处理方式包括以下处理方式中的一种或多种:

对报文进行丢弃处理、对报文进行重定向处理和对报文进行流量标记。

可选的,所述装置还包括:

表生成单元,用于根据所述流过滤规则生成访问控制表,所述访问控制表存储所述IP地址、自治域索引和动作项,所述自治域索引与所述自治域标识对应;

报文处理单元,具体用于当所述第二设备确定所述报文的第二地址与所述访问控制表中的IP地址相同,并且所述路由转发表项中的自治域标识与所述访问控制表中的自治域索引相匹配时,按照所述访问控制表中存储的动作项所指示的报文处理方式对所述报文进行处理。

本申请实施例还提供了一种报文处理的设备,所述设备为第一设备,所述第一设备包括存储单元、处理单元和通信单元,

所述存储单元,用于存储指令;

所述处理单元,用于执行所述存储器中的所述指令,执行上述应用于第一设备的报文处理方法;

所述通信单元,用于与第二设备进行通信。

本申请实施例还提供了一种报文处理的设备,所述设备为第二设备,所述第二设备包括存储单元、处理单元和通信单元,

所述存储单元,用于存储指令;

所述处理单元,用于执行所述存储器中的所述指令,执行上述应用于第二设备的报文处理方法;

所述通信单元,用于与第一设备进行通信。

本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上应用于第一设备和/或第二设备的报文处理方法。

本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行以上应用于第一设备和/或第二设备的报文处理方法。

本申请实施例还提供了一种报文处理的系统,该系统包括前述第一设备和第二设备。

附图说明

图1为本申请实施例提供的一种转发设备示意图;

图2为本申请实施例提供的一种流量控制设备示意图;

图3为本申请实施例提供的一种报文处理系统的结构框图;

图4为本申请实施例提供的一种报文处理方法的流程图;

图5为本申请实施例提供的另一种报文处理方法的流程图;

图6为本申请实施例提供的一种报文的示意图;

图7为现有技术中的路由转发表项示意图;

图8为本申请实施例提供的一种路由转发表项示意图;

图9为本申请实施例提供的一种访问控制表项示意图;

图10为本申请实施例提供的一种报文处理的装置的结构框图;

图11为本申请实施例提供的另一种报文处理的装置的结构框图;

图12为本申请实施例提供的一种报文处理的设备的硬件架构图;

图13为本申请实施例提供的另一种报文处理的设备的硬件架构图。

具体实施方式

本申请实施例提供了一种报文处理方法、装置及相关设备,用于解决为每个转发设备均下发大量的匹配规则的问题,降低网络资源的浪费。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

传统技术中,可以通过转发设备对报文进行转发,在转发设备接收到报文后,可以根据路由转发表确定对应于该报文的下一跳信息,将该报文转发至相应的其他网络设备。举例来说,参考图1所示,第一用户101和第二用户102可以向转发设备103发送报文,转发设备103将接收到的报文转发至第一设备104、第二设备105、第三设备106和第四设备107。其中,第一设备104的地址为第一地址,第二设备105的地址为第二地址,第三设备106的地址为第三地址,第四设备107的地址为第四地址。

然而,转发设备依赖网络资源进行报文转发,例如依赖带宽、缓存空间和转发设备的处理能力等,如果需要的网络资源超过当前可用的网络资源时,网络会发生阻塞。例如,不法人员可以通过分布式拒绝服务(distributed denial of service,DDOS)的客户端或服务器进行攻击,即将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDOS攻击,使网络造成阻塞,从而影响目标设备中的正常业务的运行,达到攻击的目的。

为了有效防止网络发生拥塞,可以对转发设备进行流量控制。具体的,可以对转发设备的流量进行分析,得到流过滤规则,为转发设备发布流过滤规则,转发设备根据流过滤规则对报文进行处理,例如对报文进行重定向或丢弃等,实现对流量的控制。

举例来说,参考图2所示,为本申请实施例提供的一种流量控制的系统示意图,其中,可以通过控制设备108对转发设备103的流量进行分析,得到流过滤规则,并向转发设备103发布流过滤规则,转发设备103可以根据流过滤规则对接收到的报文进行处理。

然而,网络中往往存在大量的网络设备,因此需要对应于每一对利用转发设备进行通信的网络设备均配置一条流过滤规则,当网络设备较多时,配置的流过滤规则的条数也较多,将形成的大量的流过滤规则下发至每个转发设备,才能实现对每个转发设备进行流量控制,因此占用较多的网络资源。

举例来说,参考图2所示,第一用户101通过转发设备103向第一设备104发送报文,可以对应配置一条流过滤规则,例如该过滤规则的匹配项包括第一用户的IP地址和第一IP地址,第二用户102通过转发设备103向第一设备104发送报文,可以对应配置一条流过滤规则,例如该过滤规则的匹配项包括的第二用户的IP地址和第一IP地址。因此,图2所示的2个用户和4个IP地址,就需要配置8条流过滤规则。同理,若有m个用户具有源IP地址,访问n个IP地址,该网络具有目的IP地址,为了对m个用户访问n个IP地址的流量进行控制,需要根据m个源IP地址和n个目的IP地址生成m*n个流过滤规则。将这m*n个流过滤规则分发至每个转发设备,从而使转发设备可以对接收到的报文进行相应的处理,过滤规则分发过程占用了较多的网络资源,同时,转发设备存储这些过滤规则占用较多的存储资源。

为了解决上述技术问题,本申请实施例提供了一种报文处理方法、装置及相关设备,用于解决形成和下发大量流过滤规则,造成的网络资源浪费的问题。具体的,第一设备生成流过滤规则,并向第二设备发送该流过滤规则。其中,流过滤规则包括匹配项和动作项,匹配项包括IP地址和自治域(autonomous system,AS)标识(identification,ID),动作项指示第二设备对于匹配项匹配的报文按照动作项所指示的处理方式对报文进行处理。也就是说,本申请实施例将与自治域标识对应的自治域中网络设备的IP地址进行聚合,以自治域标识为单位生成流过滤规则。这样,所有与匹配项中IP地址对应的网络设备进行通信的自治域中的网络设备,只生成一条流过滤规则即可,无需如传统技术一样为每个自治域的网络设备分别生成一条流过滤规则,减少了流过滤规则的生成数量,从而也减少了下发到第二设备所需要占用的网络资源。

请参阅图3所示,图3为本申请实施例一个系统框架示意图,该系统包括第一设备100、第二设备200、发送设备300和接收设备400,其中,第一设备100和第二设备200连接,发送设备300和接收设备400均与第二设备200连接。

第一设备100可以是软件定义网络(software defined network,SDN)中的控制器,或其他设备,例如是网络管理设备、服务器、终端或路由器等,服务器例如为边界网关协议(border gateway protocol,BGP)流量规范服务器(flow specification server)等。第一设备100用于生成流过滤规则,其中流过滤规则中包括匹配项和动作项,匹配项包括IP地址和自治域标识,流过滤规则中的动作项可以指示第二设备对于匹配项的报文按照动作项所指示的报文处理方式对报文进行处理。

第二设备200可以是转发设备,例如可以是路由器或交换机等,用于将接收到的来自发送设备300的报文发送到接收设备400中。发送设备300和接收设备400可以是终端、服务器或连接用户的设备。

第二设备200接收第一设备100发送的流过滤规则,当第二设备200接收到发送设备300发送的报文后,可以根据该报文中的第一地址确定路由转发表项,其中路由转发表项中包括自治域标识,当确定报文的第一地址与流过滤规则中的IP地址匹配时,并且路由转发表项中的自治域标识与流过滤规则中的自治域标识相同时,按照动作项所指示的报文处理方式对报文进行处理。

其中,第一地址可以为报文的目的IP地址,第二地址为报文的源IP地址。或者,第一地址为报文的源IP地址,第二地址为报文的目的IP地址。

举例来说,流过滤规则的匹配项中可以包括源IP地址IP-1,以及目的IP地址对应的设备所属的自治域的自治域标识AS1000,该匹配项对应的动作项可以为丢弃处理。若第二设备200接收到源IP地址为IP-1,目的IP地址为IP-2的报文M1,则可以通过目的IP地址查找路由转发表,得到目的IP地址对应的路由转发表项,该路由转发表项包括目的IP地址IP-2和该目的IP地址所属自治域的自治域标识。当与目的IP地址IP-2对应的自治域标识为AS1000时,且因报文M1的源IP地址与流过滤规则中的IP地址相同,都是IP-1,所以可以认为该报文与流过滤规则中的匹配项匹配,第二设备200可以对报文M1按照相应的动作项所指示的报文处理方式进行丢弃处理。

为了便于理解,下面对本申请实施例进行详细的介绍。

请参考图4所示,图4为本申请实施例提供的一种报文处理方法的流程图,该方法可以应用于第一设备,包括以下步骤:

S101,生成流过滤规则。

第一设备可以是用于生成和下发流过滤规则的控制设备,可以是服务器、终端或路由器等。具体的,可以设置边界网关协议流量规范服务器作为第一设备。

流过滤规则是用于指示第二设备对报文进行匹配和处理的规则,可以包括匹配项和动作项。其中,匹配项可以包括IP地址和自治域标识。具体的,若IP地址为报文的源IP地址,则自治域标识为报文的目的IP地址对应的设备所属自治域的自治域标识;若IP地址为报文的目的IP地址,则自治域标识为报文的源IP地址对应的设备所属自治域的自治域标识。自治域标识用于区别不同的自治域,举例来说,电信的自治域标识可以为AS1000,移动的自治域标识可以为AS2000。

为了使第一设备能够生成流过滤规则,第一设备可以获取第二设备接收的报文的信息,该报文信息包括报文的源IP地址和目的IP地址。此外,第一设备还需要获取源IP地址或目的IP地址对应的自治域标识。若第二设备和源IP地址对应的网络设备属于同一个自治域,那么可以通过获取第二设备所属自治域的自治域标识来得到源IP地址对应的设备所属自治域的自治域标识。若第二设备与目的IP地址对应的网络设备属于同一个自治域,那么也可以通过获取第二设备所属自治域的自治域标识来得到目的IP地址所属自治域的自治域标识。也就是说,在这种情况下,匹配项中的自治域标识为所述第二设备所属的自治域标识。而如果第二设备独立于源IP地址对应的设备所属的自治域或目的IP地址对应的设备所属的自治域,那么就需要通过其他途径来获取自治域标识,例如在第一设备中根据源IP地址或目的IP地址直接配置对应的自治域标识。

本申请实施例通过将自治域标识对源IP地址或目的IP地址进行聚类,来达到减少生成的流过滤规则的数量的目的。

以对m个用户访问n个IP地址的流量进行控制为例,现有技术需要生成m*n条流过滤规则,而若n个IP地址属于同一个自治域,其自治域标识为A,那么可以生成m*1条流过滤规则即可,每条流过滤规则的匹配项分别包括该自治域的标识A和其中一个用户的IP地址,有效减少了流过滤规则的数量。

参考图2所示,第一IP地址104和第二IP地址105属于第一自治域,则匹配项可以包括第一用户101的IP地址和第一自治域的标识,该匹配项可以用于匹配第一用户101通过转发设备103访问第一IP地址104和/或第二IP地址105产生的报文。第三IP地址106和第四IP地址107属于第二自治域,则匹配项可以包括第一用户101的IP地址和第二自治域的标识,该匹配项用于匹配第一用户101通过转发设备103访问第三IP地址106和/或第四IP地址107产生的报文。因此,对于两个用户访问第一自治域,可以产生2条流过滤规则,对于两个用户访问第二自治域,可以产生2条流过滤规则。

同理,若m个用户属于同一个自治域,其自治域标识为B,那么可以生成1*n条流过滤规则即可,每条流过滤规则的匹配项分别包括该自治域的标识B和n个IP地址的其中一个。相对于现有技术,也可以有效减少流过滤规则的数量。

此外,除了IP地址和自治域标识,匹配项中还可以包括报文的其他信息,例如IP协议、源端口、目的端口、网络控制报文协议(internet control message protocol,ICMP)类型、ICMP代码、传输控制协议(transmission control protocol,TCP)标志、数据包长度和差分服务代码点(differentiated services code point,DSCP)等信息中的一种或多种。

流过滤规则中的动作项是与匹配项对应的,用于指示对与匹配项匹配的报文按照动作项所指示的报文处理方式对该报文进行处理,动作项可以包括对报文进行丢弃处理、对报文进行重定向处理和对报文进行流量标记等。其中,对报文进行丢弃处理是指,不对该报文进行转发,并删除该报文;对报文进行重定向处理是指改变该报文对应的下一跳信息,以便改变该报文的转发路径,实现对网络中流量的控制;对报文进行流量标记是指对报文进行标记,以便进行后续处理,例如流量统计等。

S102,向第二设备发送流过滤规则。

第二设备可以是转发设备,例如可以是路由器、交换机、网桥或网关等。第一设备可以向第二设备发送具有匹配项和动作项的流过滤规则,以便第二设备对报文进行匹配,在报文与匹配项匹配时,第二设备按照该匹配项对应的动作项所指示的报文处理方式对报文进行处理。

由于第一设备生成的流过滤规则的数量较少,因此,第一设备向第二设备发送的流过滤规则的数量也较少,节省了网络资源,同时也节省了第二设备的存储资源。

本申请实施例提供的一种报文处理方法中,第一设备生成流过滤规则,并向第二设备发送该流过滤规则。其中,流过滤规则包括匹配项和动作项,匹配项包括IP地址和自治域标识,动作项指示第二设备对与匹配项匹配的报文按照动作项所指示的报文处理方式对报文进行处理。也就是说,本申请实施例将与自治域标识对应的自治域中网络设备的IP地址进行聚合,以自治域标识为单位生成流过滤规则。这样,所有与匹配项中IP地址对应的网络设备进行通信的自治域中的网络设备,只生成一条流过滤规则即可,无需如传统技术一样为每个自治域的网络设备分别生成一条流过滤规则,减少了流过滤规则的生成数量,从而也减少了下发到第二设备所需要占用的网络资源。

请参考图5,图5为本申请实施例提供的另一种报文处理方法的流程图,该方法可以应用于第二设备,包括以下步骤。

S201,接收第一设备发送的流过滤规则。

如前文所述,第二设备可以是转发设备,例如可以是路由器、交换机、网桥或网关等,第二设备可以接收第一设备发送的流过滤规则。第一设备可以是用于生成和下发流过滤规则的控制设备,可以是服务器、终端或路由器等。具体的,可以将边界网关协议流量规范服务器作为第一设备。

第二设备接收到的流过滤规则中,可以包括匹配项和动作项,其中,匹配项可以包括IP地址和自治域标识。具体的,IP地址可以为报文的源IP地址,自治域标识为报文的目的IP地址对应的设备所属自治域的标识。IP地址也可以为报文的目的IP地址,而自治域标识为报文的源IP地址对应的设备所属自治域的标识。

由于第一设备生成的流过滤规则较少,则第二设备接收到的流过滤规则也较少。以对m个用户访问n个IP地址的流量进行控制为例,若m个用户属于同一个自治域,则第二设备接收到1*n条流过滤规则;同理,若n个IP地址属于同一个自治域,则第二设备接收到m*1条流过滤规则。

当然,匹配项中还可以包括报文的其他信息,例如IP协议、源端口、目的端口、ICMP类型、ICMP代码、TCP标志、数据包长度和DSCP等信息中的一种或多种。流过滤规则中的动作项是与匹配项对应的,用于指示对与匹配项匹配的报文按照动作项所指示的报文处理方式对该报文进行处理,动作项可以包括对报文进行丢弃处理、对报文进行重定向处理和对报文进行流量标记等。

S202,接收报文,根据报文中的第一地址确定路由转发表项。

参考图6所示,第二设备接收到的报文包括源IP地址201、目的IP地址202和数据203。源IP地址201为生成报文的网络设备的地址,目的IP地址202为预计接收该报文的网络设备的地址。正常情况下,第二设备需要对该报文进行转发,但是在对报文进行流量控制的情况下,就需要对报文进行其他处理。

在第二设备中可以存储有路由转发表,在路由转发表中,具有多个路由转发表项,每一个路由转发表项中,对应存储有报文的转发信息。参考图7所示,为现有技术中的路由转发表项示意图,包括报文的源IP地址301、报文的目的IP地址302和下一跳信息303。因此第二设备可以根据报文的信息,例如源IP地址和目的IP地址,查找路由转发表,确定对应于该报文的下一跳信息,根据下一跳信息对该报文进行转发。

在本申请实施例中,可以在路由转发表中增加自治域标识。具体的,可以增加源IP地址所属自治域的标识,也可以增加目的IP地址对应的设备所属自治域的标识,还可以同时增加源IP地址对应的设备所属自治域的标识和目的IP地址对应的设备所属自治域的标识。参考图8所示,为本申请实施例提供的一种路由转发表项示意图,包括报文的源IP地址301、源AS-ID 304、目的IP地址302、目的AS-ID 305和下一跳信息303,其中,源AS-ID 304为源IP地址301所属的自治域标识,目的AS-ID 305为目的IP地址302所属的自治域标识。

路由转发表项中的源IP地址对应的设备所属的自治域标识和/或目的IP地址对应的设备所属的自治域标识可以通过配置完成。

若第二设备为内部网络网关协议设备或边界网关协议设备,那么通常情况下,第二设备中存储有一个或多个自治域标识。具体的,若第二设备为内部网关协议设备,且与源IP地址对应的网络设备属于同一个自治域,则第二设备所存储的一个自治域标识即为源IP地址对应的设备所属的自治域标识;若第二设备为内部网关协议设备,且与目的IP地址对应的网络设备属于同一个自治域,则第二设备所存储的一个自治域标识即为目的IP地址对应的设备所属的自治域标识。若第二设备为边界网关协议设备,即第二设备与源IP地址对应的网络设备属于同一个自治域,同时也与目的IP地址对应的网络设备属于同一个自治域,此时第二设备就会存储至少两个自治域标识,所以需要根据源IP地址和目的IP地址来具体确定获取其中哪个自治域标识加入到路由转发表中。

第二设备在接收到报文后,可以根据报文的第一地址确定路由转发表项,该表项中至少包括第一地址和第一地址所属自治域的标识。其中,第一地址可以是报文的源IP地址,则第二地址可以为报文的目的IP地址,相应的,第一地址可以是报文的目的IP地址,则第二地址可以为报文的源IP地址。

S203,当确定报文的第二地址与流过滤规则中的IP地址相同,并且路由转发表项中的自治域标识与流过滤规则中的自治域标识相同时,按照动作项所指示的报文处理方式对报文进行处理。

由上可知,第二设备可以通过报文的第一地址确定路由转发表项,该表项中,包括第一地址及其所属自治域的标识,即第一AS-ID。接着,第二设备可以通过报文的第二地址和第一AS-ID与流过滤规则中的匹配项进行匹配。具体的,第二设备可以判断报文的第二地址与流过滤规则中的IP地址是否相同,第一AS-ID与流过滤规则中的自治域标识是否相同,若都相同,则认为该报文与流过滤规则中的匹配项匹配,此时,可以按照动作项所指示的报文处理方式对报文进行处理。动作项可以包括对报文进行丢弃处理、对报文进行重定向处理和对报文进行流量标记等。

举例来说,流过滤规则的匹配项中可以包括源IP地址IP-1和目的IP地址对应的设备所属的自治域标识AS1000,该匹配项对应的动作项可以为丢弃处理。若第二设备接收到的报文的源IP地址为IP-1,目的IP地址为IP-2,通过目的IP地址查找路由转发表,可以得到目的IP地址对应的路由转发表项,其中,路由转发表项中包括目的IP地址IP-2和目的IP地址对应的设备所属的自治域的标识,即第一AS-ID,为AS1000。因此,可以确定报文的源IP地址和流过滤规则中的IP地址相同,同时,根据路由转发表项得到的第一AS-ID与流过滤规则中的自治域标识相同,则可以认为该报文与流过滤规则中的匹配项匹配,按照相应的动作项所指示的报文处理方式对报文进行处理,具体的,可以对该报文丢弃处理。

同理,流过滤规则的匹配项中也可以包括目的IP地址IP-2和源IP地址对应的设备所属的自治域标识AS2000,该匹配项对应的动作项可以为重定向处理。若第二设备接收到的报文的源IP地址为IP-1,目的IP地址为IP-2,则根据流过滤规则的匹配原则,可以确定源IP地址为第一地址,目的IP地址为第二地址,通过源IP地址查找路由转发表,可以得到源IP地址对应的路由转发表项,其中,路由转发表项中包括源IP地址为IP-1和源IP地址对应的设备所属的自治域的标识,即第一AS-ID,为AS2000。因此,可以确定报文的目的IP地址和流过滤规则中的IP地址相同,同时,根据路由转发表项得到的第一AS-ID与流过滤规则中的自治域标识相同,则可认为该报文与流过滤规则中的匹配项匹配,对报文按照相应的动作项所指示报文处理方式进行处理,具体的,可以对该报文进行重定向处理。

为了方便根据流过滤规则进行流量控制,本申请实施例中,还可以根据流过滤规则生成访问控制表(access control list,ACL),在访问控制表中可以包括匹配项和动作项。参考图9所示,为本申请实施例中一种访问控制表项的示意图,其中,匹配项可以包括IP地址401和自治域索引402,分别对应流过滤规则中的IP地址和自治域标识,其中,自治域索引与流过滤规则中的自治域标识对应。在实际应用中,可以建立流过滤规则中的自治域标识和自治域索引之间的映射关系,符合该映射关系,则认为二者匹配。该自治域标识和自治域索引可以相同,也可以不同。

因此,第二设备可以通过报文的第一地址确定路由转发表项,该表项中,包括第一地址及其所属自治域的标识,即第一AS-ID,则可以通过报文的第二地址和第一AS-ID与访问控制表中的IP地址和自治域索引进行匹配。具体的,可以确定报文的第二地址与访问控制表中的IP地址是否相同,第一AS-ID与访问控制表中的自治域索引是否匹配,若都是,则认为该报文与访问控制表中的匹配项匹配,此时,可以按照动作项所指示的报文处理方式对报文进行处理。

本申请实施例提供的另一种报文处理方法中,第二设备接收第一设备发送的流过滤规则,其中,匹配项包括IP地址和自治域标识,自治域标识可以标识不同的自治域,一个自治域中可以有多个网络设备,对应多个网络设备的信息。第二设备接收报文,根据报文中的第一地址确定路由转发表项,其中路由转发表项包括自治域标识,当第二设备确定报文的第二地址与流过滤规则中的IP地址相同,并且路由表项中的自治域标识与流过滤规则中的自治域标识相同时,按照动作项所指示的报文处理方式对报文进行处理。也就是说,本申请实施例将与自治域标识对应的自治域中网络设备的IP地址进行聚合,以自治域标识为单位生成流过滤规则。这样,所有与匹配项中IP地址对应的网络设备进行通信的自治域中的网络设备,只生成一条流过滤规则即可,无需如传统技术一样为每个自治域的网络设备分别生成一条流过滤规则,减少了流过滤规则的生成数量,第一设备可以根据较少的流过滤规则对接收到的报文进行匹配,以及对匹配的报文进行处理,节约了网络资源。

参见图10,本申请实施例还提供了一种报文处理的装置,应用于第一设备,该第一设备可以实现图4或图5所示实施例中第一设备的功能,该第一设备包括:规则生成单元101和规则发送单元102。其中,规则生成单元101用于执行图4所示实施例中的步骤S101。规则发送单元102用于执行图4所示实施例中的步骤S102。具体的,

规则生成单元101,用于生成流过滤规则,所述流过滤规则包括匹配项和动作项,所述匹配项包括互联网协议IP地址和自治域标识。

规则发送单元102,用于向第二设备发送所述流过滤规则,所述动作项用于指示所述第二设备对与所述匹配项匹配的报文按照所述动作项所指示的报文处理方式对所述报文进行处理。

可选的,所述IP地址为所述报文的源IP地址,所述自治域标识是所述报文的目的IP地址对应的设备所属自治域的标识。

可选的,所述IP地址为所述报文的目的IP地址,所述自治域标识是所述报文的源IP地址对应的设备所属自治域的标识。

可选的,所述自治域标识为所述第二设备的所属的自治域标识。

参见图11,本申请实施例还提供了一种报文处理的装置,应用于第二设备,该第二设备可以实现图4或图5所示实施例中第二设备的功能,该第二设备包括:规则接收单元201、规则接收单元201和报文处理单元203。其中,规则接收单元201用于执行图5所示实施例中步骤S201,规则接收单元202用于执行图5所示实施例中步骤S202,报文处理单元203用于执行图5所示实施例中步骤S203。具体的,

规则接收单元201,用于接收第一设备发送的流过滤规则,所述流过滤规则包括匹配项和动作项,所述匹配项包括互联网协议IP地址和自治域标识;

规则接收单元202,用于接收报文,根据所述报文中的第一地址确定路由转发表项,所述路由转发表项中包含自治域标识;

报文处理单元203,用于当确定所述报文的第二地址与所述流过滤规则中的IP地址匹配,并且所述路由转发表项中的自治域标识与所述流过滤规则中的自治域标识相同时,按照所述动作项所指示的报文处理方式对所述报文进行处理。

可选的,所述第一地址为所述报文的目的IP地址,所述第二地址为所述报文的源IP地址。

可选的,所述第一地址为所述报文的源IP地址,所述第二地址为所述报文的目的IP地址。

可选的,所述动作项所述指示的报文处理方式包括以下处理方式中的一种或多种:

对报文进行丢弃处理、对报文进行重定向处理和对报文进行流量标记。

可选的,所述装置还包括:

表生成单元,用于根据所述流过滤规则生成访问控制表,所述访问控制表存储所述IP地址、自治域索引和动作项,所述自治域索引与所述自治域标识对应;

报文处理单元,具体用于当所述第二设备确定所述报文的第二地址与所述访问控制表中的IP地址相同,并且所述路由转发表项中的自治域标识与所述访问控制表中的自治域索引相匹配时,按照所述访问控制表中存储的动作项所指示的报文处理方式对所述报文进行处理。

参见图12,本申请实施例还提供了一种报文处理的设备300,所述设备为第一设备,设备300可以实现图4或图5所示实施例中第一设备的功能,所述设备包括存储单元301、处理单元302和通信单元303,

所述存储单元301,用于存储指令;

所述处理单元302,用于执行所述存储器中的所述指令,执行上述应用于图4或图5所示实施例中第一设备的报文处理方法;

所述通信单元303,用于与第二设备进行通信。

存储单元301、处理单元302和通信单元303通过总线304相互连接;总线304可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

参见图13,本申请实施例还提供了一种报文处理的设备400,设备400可以实现图4或图5所示实施例中第二设备的功能,所述设备为第二设备,所述第二设备包括存储单元401、处理单元402和通信单元403,

所述存储单元401,用于存储指令;

所述处理单元402,用于执行所述存储器中的所述指令,执行上述应用于图4或图5所示实施例中第二设备的报文处理方法;

所述通信单元403,用于与第一设备进行通信。

存储单元401、处理单元402和通信单元403通过总线404相互连接;总线404可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

上述存储单元301和存储单元401可以是随机存取存储器(random-accessmemory,RAM)、闪存(flash)、只读存储器(read only memory,ROM)、可擦写可编程只读存储器(erasable programmable read only memory,EPROM)、电可擦除可编程只读存储器(electrically erasable programmable read only memory,EEPROM)、寄存器(register)、硬盘、移动硬盘、CD-ROM或者本领域技术人员知晓的任何其他形式的存储介质。

上述处理单元302和处理单元402例如可以是中央处理器(central processingunit,CPU)、通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。

上述通信单元303和通信单元403例如可以是接口卡等,可以为以太(ethernet)接口或异步传输模式(asynchronous transfer mode,ATM)接口。

本发明实施例提供了一种报文处理系统,该系统用于实现前述方法实施例中的报文处理的方法。该系统包括图10所示实施例中的第一设备和图11所示实施例中的第二设备,或者该系统包括图12所示实施例中的第一设备和图13所示实施例中的第二设备。

本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上应用于第一设备和/或第二设备的报文处理方法。

本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行以上应用于第一设备和/或第二设备的报文处理方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

相关技术
  • 一种协议报文处理方法、控制器故障处理方法及相关设备
  • 报文处理的方法、装置及相关设备
技术分类

06120113237399