一种报文防攻击方法和装置

文档序号:1601341 发布日期:2020-01-07 浏览:19次 >En<

阅读说明:本技术 一种报文防攻击方法和装置 (Message anti-attack method and device ) 是由 常静 于 2018-06-29 设计创作,主要内容包括:本申请实施例公开了一种报文防攻击方法和装置,涉及通信技术领域,解决了现有技术中某个已经建立的会话报文发生攻击时,其他已经建立的会话会受攻击影响导致断链的问题。具体方案为:转发面设备接收协议报文;根据协议报文中携带的会话特征,若确定协议报文属于第一会话,对协议报文进行会话承诺访问速率CAR限速;其中,第一会话为已建立的任意一个会话;已建立的会话中每个会话分别对应一个会话CAR限速,且不同会话之间的会话CAR限速隔离;对会话CAR限速后的协议报文进行会话簇CAR限速;会话簇CAR限速对应至少一个已建立的会话;将会话簇CAR限速后的协议报文发送至控制面设备。(The embodiment of the application discloses a message anti-attack method and a message anti-attack device, relates to the technical field of communication, and solves the problem that when a certain established session message is attacked, other established sessions are affected by the attack to cause chain breakage in the prior art. The specific scheme is as follows: the forwarding plane equipment receives the protocol message; according to the session characteristics carried in the protocol message, if the protocol message is determined to belong to the first session, carrying out session commitment access rate CAR speed limit on the protocol message; the first session is any one of established sessions; each session in the established sessions respectively corresponds to a session CAR speed limit, and the session CAR speed limits among different sessions are isolated; carrying out session cluster CAR speed limit on the protocol message after the session CAR speed limit; the speed limit of the session cluster CAR corresponds to at least one established session; and sending the protocol message after the speed limit of the session cluster CAR to the control plane equipment.)

一种报文防攻击方法和装置

技术领域

本申请实施例涉及通信技术领域,尤其涉及一种报文防攻击方法和装置。

背景技术

路由器一般采用控制面和转发面分离的系统架构,其中,控制面的中央处理器(Central Processing Unit,CPU)处理报文的能力相对于转发面的网络处理器(NetworkProcessor,NP)处理报文的能力较弱,一旦发生路由协议本地报文攻击,会导致CPU处理繁忙,路由协议会话震荡,进而造成整个网络不稳定。一般情况下,路由协议报文从转发面上送到控制面的过程中都会采取承诺访问速率(Committed Access Rate,CAR)限速策略,保证上送到CPU的报文流量在CPU处理能力范围内。

现有的一种防报文攻击方法是通过将报文分为已建立会话的报文和未建立会话的报文,对已建立会话的报文,提取会话特征下发ACL规则。路由器接收到协议报文时,会查找和比较已下发的ACL规则,命中ACL规则的报文通过白名单CAR限速上送CPU。未建立的会话报文无法匹配ACL规则,通过协议普通CAR限速上送CPU。白名单CAR和协议普通CAR之间限速隔离,白名单CAR比协议普通CAR拥有更大的带宽,和更高的上送CPU的优先级。该方案虽然保证了已建立会话的报文不受未建立会话的报文攻击影响,但是由于已建立的会话报文仍然共用一个白名单CAR通道,因此如果有已建立会话的报文发生带宽攻击,其他已建立的会话报文会受攻击影响,导致会话断链。

发明内容

本申请实施例提供一种报文防攻击方法和装置,能够避免某个已经建立的会话报文发生攻击时,其他已经建立的会话会受攻击影响导致断链情况发生。

为达到上述目的,本申请实施例采用如下技术方案:

本申请实施例的第一方面,提供一种报文防攻击方法,该方法包括:首先,转发面设备接收协议报文;然后,根据该协议报文中携带的会话特征,若确定该协议报文属于第一会话,对该协议报文进行会话承诺访问速率CAR限速;其中,该第一会话为已建立的任意一个会话;已建立的会话中每个会话分别对应一个会话CAR限速,且不同会话之间的会话CAR限速隔离;再对会话CAR限速后的协议报文进行会话簇CAR限速;该会话簇CAR限速对应至少一个已建立的会话;最后,将会话簇CAR限速后的协议报文发送至控制面设备。基于本方案,通过对已建立会话的协议报文进行两级限速,能够降低已经建立的会话报文之间攻击影响,避免某个已经建立的会话发生攻击时,其他已经建立的会话会受攻击影响导致断链情况发生。

结合第一方面,在第一种可能的实现方式中,上述会话簇CAR限速对应至少一个已建立的会话,包括:该会话簇CAR限速对应已建立的会话中同一路由协议的会话或者不同路由协议的会话。具体的,若已建立的会话为同一路由协议的会话,会话簇CAR限速可以对应所有已建立的同一路由协议的会话;若已建立的会话为不同路由协议的会话,会话簇CAR限速可以对应所有已建立的不同路由协议的会话,或者,每个会话簇CAR限速可以对应已建立的不同路由协议的会话中同一路由协议的会话。基于本方案,能够将同一路由协议的已建立会话作为一个会话簇进行会话簇CAR限速,也可以将不同路由协议的已建立会话作为一个会话簇进行会话簇CAR限速。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述会话CAR限速采用双速率三色双桶trTCM、色盲模式,上述会话簇CAR限速采用单速率三色双桶srTCM、色敏模式;其中,trTCM的四个流量参数分别为峰值信息速率PIR、峰值突发尺寸PBS、承诺信息速率CIR、承诺突发尺寸CBS;srTCM的三个流量参数分别为承诺信息速率CIR、承诺突发尺寸CBS和超额突发尺寸EBS。基于本方案,能够对协议报文进行两级限速,使得已经建立的会话发生攻击时,其他已经建立的会话会受攻击影响导致断链情况发生。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,若上述会话簇CAR限速对应已建立的全部会话,该会话簇CAR限速的CIR大于或等于全部会话CAR限速的CIR之和,小于或等于控制面设备的处理能力;或者,若上述会话簇CAR限速中的每个会话簇CAR限速对应已建立的会话中同一路由协议的会话,该每个会话簇CAR限速的CIR大于或等于同一路由协议的会话中每个会话对应的会话CAR限速的CIR之和,每个会话簇CAR限速的CIR之和小于或等于所述控制面设备的处理能力。基于本方案,能够确保会话CAR限速后被标记为绿色的协议报文在进行会话簇CAR限速时,全部在C桶中取到令牌,正常通过,从而不会发生断链。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述会话簇CAR限速的CIR大于或等于上述会话CAR限速的PIR;上述会话簇CAR限速的CBS大于或等于所述会话CAR限速的PBS。基于本方案,能够在只有一个已建立会话时,避免会话CAR限速时未被丢弃的协议报文,在会话簇CAR限速时被丢弃的情况发生。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述转发面设备接收协议报文之前,报文防攻击方法还包括:转发面设备提取已建立会话的报文的会话特征,下发访问控制列表ACL规则;上述确定该协议报文属于第一会话,包括:转发面设备根据该协议报文携带的会话特征确定该协议报文是否命中所述ACL规则;若该协议报文命中该ACL规则,确定该协议报文属于第一会话。基于本方案,能够根据已建立会话的ACL规则确定接收到的协议报文是否属于已建立会话。

本申请实施例的第二方面,提供一种报文防攻击装置,该装置包括:接收单元,用于接收协议报文;处理单元,用于根据上述接收单元接收的协议报文中携带的会话特征,确定该协议报文是否属于第一会话;若该协议报文属于第一会话,上述处理单元还用于对该协议报文进行会话承诺访问速率CAR限速;其中,该第一会话为已建立的任意一个会话;已建立的会话中每个会话分别对应一个会话CAR限速,且不同会话之间的会话CAR限速隔离;上述处理单元,还用于对会话CAR限速后的协议报文进行会话簇CAR限速;该会话簇CAR限速对应至少一个已建立的会话;发送单元,用于将会话簇CAR限速后的协议报文发送至控制面设备。

结合第二方面,在第一种可能的实现方式中,上述会话簇CAR限速对应至少一个已建立的会话,包括:上述会话簇CAR限速对应已建立的会话中同一路由协议的会话或者不同路由协议的会话。

结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述会话CAR限速采用双速率三色双桶trTCM、色盲模式,上述会话簇CAR限速采用单速率三色双桶srTCM、色敏模式;其中,trTCM的四个流量参数分别为峰值信息速率PIR、峰值突发尺寸PBS、承诺信息速率CIR、承诺突发尺寸CBS;srTCM的三个流量参数分别为承诺信息速率CIR、承诺突发尺寸CBS和超额突发尺寸EBS。

结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,若上述会话簇CAR限速对应已建立的全部会话,该会话簇CAR限速的CIR大于或等于全部会话CAR限速的CIR之和,小于或等于控制面设备的处理能力;或者,若上述会话簇CAR限速中的每个会话簇CAR限速对应已建立的会话中同一路由协议的会话,该每个会话簇CAR限速的CIR大于或等于同一路由协议的会话中每个会话对应的会话CAR限速的CIR之和,每个会话簇CAR限速的CIR之和小于或等于所述控制面设备的处理能力。

结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述会话簇CAR限速的CIR大于或等于上述会话CAR限速的PIR;上述会话簇CAR限速的CBS大于或等于所述会话CAR限速的PBS。

结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述处理单元,还用于提取已建立会话的报文的会话特征,下发访问控制列表ACL规则;、上述处理单元,具体用于根据协议报文携带的会话特征确定该协议报文是否命中上述ACL规则;若该协议报文命中上述ACL规则,上述处理单元还用于确定该协议报文属于上述第一会话。

上述第二方面以及第二方面的各种实现方式的效果描述可以参考第一方面和第一方面的各种实现方式的相应效果的描述,在此不再赘述。

本申请实施例的第三方面,提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序代码,当所述计算机程序代码在处理器上运行时,使得所述处理器执行第一方面或第一方面的可能的实现方式中任一项所述的报文防攻击方法。

本申请实施例的第四方面,提供一种通信装置,应用于转发面设备中,该通信装置包括处理器,该处理器用于与存储器耦合,并读取存储器中的指令,并根据所述指令执行上述第一方面所述的报文防攻击方法。

本申请实施例的第五方面,提供了一种计算机程序产品,该程序产品储存有上述处理器执行的计算机软件指令,该计算机软件指令包含用于执行上述方面所述方案的程序。

本申请实施例的第六方面,提供了一种装置,该装置以芯片的产品形态存在,该装置的结构中包括处理器和存储器,该存储器用于与处理器耦合,保存该装置必要的程序指令和数据,该处理器用于执行存储器中存储的程序指令,使得该装置执行上述方法中报文防攻击装置的功能。

附图说明

图1为本申请实施例提供的一种路由器的结构示意图;

图2为本申请实施例提供的一种报文防攻击方法的流程图;

图3为本申请实施例提供的一种路由器间建立会话的结构示意图;

图4为本申请实施例提供的另一种路由器间建立会话的结构示意图;

图5为本申请实施例提供的一种报文防攻击方法的流程图;

图6为本申请实施例提供的另一种报文防攻击方法的流程图;

图7为本申请实施例提供的另一种报文防攻击方法的流程图;

图8为本申请实施例提供的另一种报文防攻击方法的流程图;

图9为本申请实施例提供的一种报文防攻击装置的组成示意图;

图10为本申请实施例提供的另一种报文防攻击装置的组成示意图。

具体实施方式

首先,对本申请实施例中涉及的部分名词进行解释说明:

1、承诺访问速率CAR

CAR作用于网络的入口处,用于对进入网络的某一类报文的流量进行控制,允许符合流量规定的报文进入网络。CAR可以保证符合流量规定的报文进入网络,对于超出流量规定的报文,则根据当前网络资源的使用情况可以选择直接丢弃,或是重标记(即降低这部分报文的优先级)后继续转发,当发生拥塞时,这部分报文会被优先丢弃。

CAR通过令牌桶(Token Bucket)算法实现。令牌桶可以看作是一个存放令牌的容器,而令牌则可以看作是报文通过令牌桶的通行证。一方面令牌以一定的速率注入令牌桶;另一方面报文在通过令牌桶时,会消耗掉与报文长度相当的令牌数。如果桶中的令牌数不足,令牌桶将丢弃报文或是重标记报文后转发。这样就可以通过控制向令牌桶发送令牌的速率来控制通过令牌桶的报文的速率,从而达到控制报文进入网络的速率。例如,本申请实施例中的令牌桶算法包括单速率三色双桶算法srTCM和双速率三色双桶算法trTCM。

2、双速率三色双桶trTCM、色盲模式

双速率三色双桶trTCM的四个流量参数为:峰值信息速率PIR、与PIR相关联的峰值突发尺寸PBS、承诺信息速率CIR、与CIR相关联的承诺突发尺寸CBS,其中,PIR大于或等于CIR。

令牌桶P和C最初(时间0处)都是满的,其令牌数目Tp(0)=PBS,Tc(0)=CBS,令牌数目Tp以每秒PIR次的速率加一直到达到PBS,令牌数目Tc以每秒CIR次的速率加一直到达到CBS。

当一个尺寸为B字节的报文在时间t处到达时,trTCM在色盲模式下,那么执行下列操作:

如果Tp(t)-B<0,那么报文标记为红色,否则,

如果Tc(t)-B<0,那么报文标记为黄色,并将Tp减去B。否则,

报文标记为绿色,Tp和Tc都减去B。

3、单速率三色双桶srTCM、色敏模式

单速率三色双桶srTCM的三个流量参数为:承诺信息速率CIR、承诺突发尺寸CBS和超额突发尺寸EBS。

令牌桶C和E最初(时间0处)都是满的,其令牌数目Tc(0)=CBS,Te(0)=EBS。CBS比EBS小。Tc和Te在每秒钟内更新CIR次,通常是先往C桶中添加令牌,等C桶满了,再往E桶中添加令牌,当两桶都被填满时,新产生的令牌将会被丢弃,即令牌数目更新时遵循以下规则:

如果Tc<CBS,则Tc增加1,否则,

如果Te<EBS,则Te增加1,否则,

Tc和Te都不增加。

当一个尺寸为B字节的报文在时间t处达到的时候,srTCM在色敏模式下,那么执行下列操作:

如果报文已被标记为绿色且Tc(t)-B≥0,则报文被标记为绿色,且Tc减去B,否则,

如果报文已被标记为绿色或黄色且Te(t)-B≥0,则报文被标记为黄色,且Te减去B,否则,

报文被标记为红色且Tc和Te都不降低。

4、会话CAR限速

会话CAR限速是指以会话为单位对会话内接收到的协议报文统一进行限速。例如,会话1在某一时间段内接收到协议报文1、协议报文2和协议报文3,对会话1进行会话CAR限速是指对该会话1内接收到的协议报文1、协议报文2和协议报文3统一进行限速。

5、会话CAR限速隔离

会话CAR限速隔离是指每个会话单独进行会话CAR限速,且不同会话之间的会话CAR限速相互独立,互不影响,每个会话的会话CAR限速均是独立的。例如,每个会话的会话CAR限速的参数设置可以互不相同,每个会话根据与其对应的会话CAR限速的参数对该会话内接收的协议报文进行限速,各个会话在进行会话CAR限速时,多个会话之间不会互相影响。例如,会话1、会话2和会话3的会话CAR限速隔离是指,对会话1、会话2和会话3分别单独进行会话CAR限速,会话1、会话、会话3的会话CAR限速的参数设置可以相同也可以不同,对会话1、会话2和会话3进行CAR限速时,各会话间是互相独立的,不会互相影响。

6、会话簇CAR限速

会话簇CAR限速是指以会话簇为单位对该会话簇内接收到的协议报文统一进行限速。例如,会话1、会话2和会话3为已建立会话,将会话1、会话2和会话3作为一个会话簇,对该会话簇内接收到的协议报文用一组会话簇CAR限速参数进行限速。

在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

本申请实施例提供一种报文防攻击方法,该方法应用于一种架构,该架构包括转发面设备和控制面设备。

该转发面设备,用于进行数据报文的封装、转发。示例性的,系统接收到IP报文后,由转发面设备对该IP报文进行解封装,查路由表,从出接口转发等工作。例如,该转发面设备可以为网络处理器,该网络处理器可以对接收到的需要本地处理的路由协议报文采取承诺访问速率CAR限速策略,再将限速后的路由协议本地报文发送至控制面设备。

该控制面设备,用于传送指令、计算表项。例如,路由协议学习、路由表项维护、协议报文转发、协议表项计算、维护等。示例性的,该转发面设备可以为中央处理器,该中央处理器可以接收转发面设备发送的报文。

可以理解的,本申请实施例中的转发面设备和控制面设备可以是处理器也可以是芯片。该转发面设备和控制面设备可以分开配置,也可以配置在一个设备中,本申请对此并不进行限定。在此仅以转发面设备和控制面设备配置在一个设备中为例进行说明,示例性的,该设备可以为路由器。

示例性的,该路由器100采用控制面和转发面分离的系统架构,转发面用于实现报文转发的功能,控制面用于实现对于报文转发的控制,如图1所示,该路由器100由主控板、交换网板和接口板等组成。该主控板是路由器100的控制核心,用于完成整个路由器的管理和控制,直接接收网管中心的指令;该交换网板用于在路由器100中完成高速数据交换;该接口板用于处理报文转发。示例性的,图1中以两块接口板为例,该两块接口板能够并行处理报文转发,使得报文转发能力大幅提升。本申请实施例对于路由器100的具体结构并不进行限定。

如图1所示,该路由器100接口板的转发面包括:网络处理器101、物理接口卡102和转发表项存储器103;控制面包括:中央处理器104。

网络处理器101:是专门为处理数据包而设计的可编程处理器,可以用于路由表的管理、系统配置和管理。该网络处理器101内部通常由若干个微码处理器和若干硬件协处理器组成,多个微码处理器在网络处理器内部并行处理,通过预先编制的微码来控制处理流程。而对于复杂操作(例如内存操作、路由表查找算法、QoS的拥塞控制算法、流量调度算法等),则采用硬件协处理器来进一步提高处理性能,从而实现了业务灵活性和高性能的有机结合。

物理接口卡102:提供了路由器100与特定类型的网络介质之间的物理连接,该物理接口卡102的接口可以根据实际需要灵活地进行升级和变动。

转发表项存储器103:存储了路由器100的路由转发表,该路由转发表是根据控制面的路由表生成的,其表项和路由表项有直接对应关系,但转发表的格式和路由表的格式不同,它更适合实现快速查找。

本申请实施例中,转发表项存储器103具体可以包括易失性存储器(VolatileMemory),例如随机存取存储器(Random-Access Memory,RAM);该存储器也可以包括非易失性存储器(Non-Volatile Memory),快闪存储器(Flash Memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);该转发表项存储器103还可以包括上述种类的存储器的组合。

中央处理器104:是路由器的核心部件,可以用于执行路由操作系统的指令,以及解释、执行用户输入的命令,同时完成与计算有关的工作。

可理解的是,图1仅为示例性说明,实际应用中,路由器100可以包括比图1所示更多或者更少的部件,图1所示结构不对本申请实施例提供的路由器构成任何限制。

为了解决背景技术中,某个已建立的会话报文发生攻击时,其他已建立的会话报文会受到攻击影响导致会话断链的问题,本申请实施例提供了一种报文防攻击方法,该方法能够降低已建立的会话报文之间攻击影响,避免某个已经建立的会话报文发生攻击时,其他已经建立的会话会受攻击影响导致断链的情况发生。

结合图1,如图2所示,本申请实施例提供的报文防攻击方法,可以包括S201-S204。

S201、转发面设备接收协议报文。

示例性的,如图1所示,该转发面设备可以为图3、图4所示的路由器A中的网络处理器,该网络处理器可以接收协议报文。示例性的,该网络处理器可以接收其他路由器发送的同一路由协议的报文,也可以接收其他路由器发送的不同路由协议的报文。

示例性的,如图3所示,该网络处理器可以接收路由器B、路由器C、路由器D发送的边界网关协议(Border Gateway Protocol,BGP)报文;如图4所示,该网络处理器也可以接收路由器B、路由器C、路由器D发送的BGP协议报文,和路由器E、路由器F发送的开放式最短路径优先(Open Shortest Path First,OSPF)协议报文。本申请实施例对于该网络处理器接收的其他路由器发送的协议报文的种类不进行限定,图3、图4仅是本申请的一个示例。例如,转发面设备接收到的协议报文也可以是路由信息协议(Route Information Protocol,RIP)报文,或者内部网关路由协议(Interior Gateway Routing Protool,IGRP)报文,或者中间系统到中间系统(Intermediate system to intermediate system,IS-IS)协议报文。

S202、转发面设备根据协议报文中携带的会话特征,若确定协议报文属于第一会话,对协议报文进行会话承诺访问速率CAR限速。

其中,第一会话为已建立的任意一个会话,已建立的会话中每个会话分别对应一个会话CAR限速,且不同会话之间的会话CAR限速隔离。

示例性的,已建立的会话是指路由协议peer之间通过交互报文建立连接,当路由协议peer之间完成对彼此的认证后,认为对方是可信的,称为已建立的会话。示例性的,如图3所示,路由器A分别和路由器B、路由器C、路由器D建立BGP会话连接后,已建立的BGP会话1、BGP会话2和BGP会话3为已建立的会话。本申请实施例中的步骤S202-S204均适用于属于已建立的会话的协议报文。对于未建立的会话的协议报文的处理方式与现有技术一样,在此不予赘述。

示例性的,转发面设备可以根据该协议报文中携带的会话特征确定该协议报文是否属于第一会话。

第一会话为已建立的任意一个会话,已建立的会话中每个会话分别对应各自的ACL规则。例如,已建立的会话包括BGP会话1,BGP会话2和BGP会话3,该BGP会话1,BGP会话2和BGP会话3分别对应各自的ACL规则。该ACL规则可以包括五元组信息,如源IP地址、目的IP地址、源端口号、目的端口号、IP协议号。本申请实施例对于ACL规则具体包含的内容并不进行限定,例如,若该转发面设备接收的协议报文为BGP协议报文,该ACL规则还可以包括VPN实例索引号,若该转发面设备接收的协议报文为OSPF协议报文,该ACL规则还可以包括接口索引。该ACL规则可以为转发面设备提取已建立会话的报文的会话特征获得的。

若该协议报文携带的会话特征命中BGP会话2的ACL规则,则确定该协议报文属于BGP会话2(第一会话)。本申请实施例对于转发面设备确定协议报文属于第一会话的具体方式并不进行限定。

示例性的,该会话特征可以包括协议报文的源IP地址、目的IP地址、源端口号、目的端口号、IP协议号等,不同路由协议会话的协议报文中携带的会话特征可以相同,也可以不同。

若确定该协议报文属于第一会话,对协议报文进行第一会话对应的会话CAR限速。

需要说明的是,已建立的会话中每个会话分别对应一个会话CAR限速,且不同会话之间的会话CAR限速隔离。会话CAR限速是指以会话为单位对会话内接收到的协议报文统一进行限速。例如,BGP会话1在某一时间段内接收到BGP协议报文一,对该BGP协议报文一进行限速。

会话CAR限速隔离是指每个会话单独进行会话CAR限速,且不同会话之间的会话CAR限速相互独立,互不影响。例如,如图5所示,BGP协议报文一属于BGP会话1、BGP协议报文二属于BGP会话2、BGP协议报文三属于BGP会话3,对BGP协议报文一进行BGP会话1的会话CAR限速、对BGP协议报文二进行BGP会话2的会话CAR限速、对BGP协议报文三进行BGP会话3的会话CAR限速,且BGP会话1、BGP会话2和BGP会话3之间的会话CAR限速相互独立,互不影响。

示例性的,本申请实施例中的会话CAR限速可以采用双速率三色双桶trTCM、色盲模式。不同会话的会话CAR限速的参数设置可以相同,也可以不同。

结合图3所示场景为例,对会话CAR限速的具体过程进行说明。如图3所示,路由器A(转发面设备)分别接收路由器B、路由器C和路由器D发送的BGP协议报文一、BGP协议报文二和BGP协议报文三,其中,BGP协议报文一和BGP协议报文二为BGP攻击报文,该攻击报文的报文流量均为10Mbps,BGP协议报文三为正常报文,该正常报文的报文流量为10Kbps,对BGP协议报文一、BGP协议报文二和BGP协议报文三进行会话CAR限速时,BGP协议报文一属于BGP会话1、BGP协议报文二属于BGP会话2、BGP协议报文三属于BGP会话3,在此,仅以BGP会话1、BGP会话2和BGP会话3的会话CAR限速的参数设置为相同为例同会话的会话CAR限速的参数设置为相同为例进行说明,仅是示例性的,三个会话的会话CAR参数设置如下。

CIR 32Kbps,CBS 9000000Bytes,PIR 4Mbps,PBS 9000000Bytes。

如图5所示,为根据BGP会话1,BGP会话2和BGP会话3各自的会话CAR参数,分别对BGP协议报文一、BGP协议报文二和BGP协议报文三进行会话CAR限速的过程。

示例性的,在对BGP协议报文一进行会话CAR限速时,由于BGP协议报文一的报文流量为10Mbps,大于BGP会话1的会话CAR限速的PIR(4Mbps),故经会话CAR限速后,BGP协议报文一中超过BGP会话1的会话CAR限速的PIR(4Mbps)部分的6Mbps报文将被丢弃,剩余的4Mbps报文通过,其中,该剩余的4Mbps报文中的32Kbps的部分报文被标记为绿色,其余报文被标记为黄色;在对BGP协议报文二进行会话CAR限速时,由于BGP协议报文二的报文流量为10Mbps,大于BGP会话2的会话CAR限速的PIR(4Mbps),故经会话CAR限速后,BGP协议报文二中超过BGP会话2的会话CAR限速的PIR(4Mbps)部分的6Mbps报文将被丢弃,剩余的4Mbps报文通过,其中,该剩余的4Mbps报文中的32Kbps的部分报文被标记为绿色,其余报文被标记为黄色;在对BGP协议报文三进行会话CAR限速时,由于BGP协议报文三的报文流量为10Kbps,小于BGP会话3的会话CAR的CIR(32Kbps),故经会话CAR限速后,BGP协议报文三的报文全部被标记为绿色。

S203、转发面设备对会话CAR限速后的协议报文进行会话簇CAR限速。

会话簇CAR限速是指以会话簇为单位对该会话簇内接收到的协议报文统一进行限速。会话簇CAR限速对应至少一个已建立的会话。例如,如图6所示,会话簇CAR限速对应BGP会话1、BGP会话2、BGP会话3、OSPF会话1和OSPF会话2;或者如图7所示,一个会话簇CAR限速对应BGP会话1、BGP会话2和BGP会话3,一个会话簇CAR限速对应OSPF会话1和OSPF会话2。

示例性的,会话簇CAR限速对应已建立的会话中同一路由协议的会话或者不同路由协议的会话。例如,若已建立的会话为同一路由协议的会话,会话簇CAR限速可以对应所有已建立的同一路由协议的会话;若已建立的会话为不同路由协议的会话,会话簇CAR限速可以对应所有已建立的不同路由协议的会话,或者,每个会话簇CAR限速可以对应已建立的不同路由协议的会话中同一路由协议的会话。

下面分别对上述三种情况进行说明。

第一种情况:若已建立的会话为同一路由协议的会话,会话簇CAR限速可以对应所有已建立的同一路由协议的会话。

示例性的,结合图3所示的场景,如图5所示,路由器A中的网络处理器对BGP协议报文一、BGP协议报文二和BGP协议报文三进行会话簇CAR限速时,该会话簇CAR限速对应BGP会话1、BGP会话2和BGP会话3,即将BGP会话1、BGP会话2和BGP会话3(所有已建立的同一路由协议的会话)作为一个会话簇,统一进行会话簇CAR限速。

第二种情况:若已建立的会话为不同路由协议的会话,会话簇CAR限速可以对应所有已建立的不同路由协议的会话。

示例性的,结合图4所示的场景,如图6所示,路由器A中的网络处理器对BGP协议报文一、BGP协议报文二、BGP协议报文三、OSPF协议报文一和OSPF协议报文二进行会话簇CAR限速时,该会话簇CAR限速对应BGP会话1、BGP会话2、BGP会话3、OSPF会话1和OSPF会话2,即将BGP会话1、BGP会话2、BGP会话3、OSPF会话1和OSPF会话2(所有已建立的不同路由协议的会话)作为一个会话簇,统一进行会话簇CAR限速。

第三种情况:若已建立的会话为不同路由协议的会话,每个会话簇CAR限速可以对应已建立的不同路由协议的会话中同一路由协议的会话。

示例性,结合图4所示的场景,如图6所示,路由器A中的网络处理器对BGP协议报文一、BGP协议报文二、BGP协议报文三、OSPF协议报文一和OSPF协议报文二进行会话簇CAR限速时,一个会话簇CAR限速对应BGP会话1、BGP会话2和BGP会话3,一个会话簇CAR限速对应OSPF会话1和OSPF会话2,即将BGP会话1、BGP会话2和BGP会话3(已建立的不同路由协议的会话中BGP路由协议的会话)作为一个会话簇,统一进行会话簇CAR限速,将OSPF会话1和OSPF会话2(已建立的不同路由协议的会话中OSPF路由协议的会话)作为一个会话簇,统一进行会话簇CAR限速。

可以理解的,对于转发面设备(网络处理器)具体采用上述哪种实现方式对协议报文进行会话簇CAR限速本申请实施例并不进行限定,采用上述任一种情况的限速方式均在本申请实施例的保护范围内,实际应用中,可以依据实际情况确定具体的限速方式。

示例性的,本申请实施例中的会话簇CAR限速可以采用单速率三色双桶srTCM、色敏模式。不同会话簇CAR限速的参数设置可以相同也可以不同。

示例性的,以图3所示的场景为例,对会话簇CAR限速的具体过程进行说明。如图3所示,路由器A(转发面设备)对会话CAR限速后的BGP协议报文一、BGP协议报文二和BGP协议报文三进行会话簇CAR限速,会话簇CAR限速对应BGP会话1、BGP会话2和BGP会话3,仅是示例性的,该会话簇CAR限速的参数设置如下:

CIR 4Mbps,CBS 9000000B,EBS 9000000B;

如图5所示,为根据会话簇CAR限速的参数对BGP协议报文一、BGP协议报文二和BGP协议报文三进行会话簇CAR限速的过程。

示例性的,在对BGP协议报文一、BGP协议报文二和BGP协议报文三进行会话簇CAR限速时,将BGP会话1、BGP会话2和BGP会话3作为一个会话簇进行会话簇CAR限速。由于该BGP协议报文一中剩余的4Mbps报文中的32Kbps的部分报文被标记为绿色,其余报文被标记为黄色,BGP协议报文二中剩余的4Mbps报文中的32Kbps的部分报文被标记为绿色,其余报文被标记为黄色,BGP协议报文三全部被标记为绿色,因此,对BGP协议报文一、BGP协议报文二和BGP协议报文三进行会话簇CAR限速时,BGP协议报文一、BGP协议报文二和BGP协议报文三中的绿色报文从C桶中取令牌,BGP协议报文一和BGP协议报文二中的黄色报文从E桶中取令牌。由于BGP协议报文一中被标记为绿色的报文大小为32Kbps、BGP协议报文二中被标记为绿色的报文大小为32Kbps,BGP协议报文三中被标记为绿色的报文大小为10Kbps,故BGP会话1、BGP会话2和BGP会话3的绿色报文共74Kbps,小于会话簇CAR限速的CIR(4Mbps),因此,BGP协议报文一、BGP协议报文二和BGP协议报文三中的绿色报文从C桶中取令牌时可以全部取到令牌,正常通过。而BGP协议报文一和BGP协议报文二中的黄色报文从E桶中取令牌时,能够在E桶中取到令牌的报文正常通过,取不到令牌的报文被丢弃。

BGP协议报文一、BGP协议报文二和BGP协议报文三经过会话CAR限速和会话簇CAR限速后,BGP协议报文上送到CPU的流量仍然可以保证限制在4Mbps,并且正常的会话报文(报文流量小于CIR)可以全部上送到转发面设备进行处理,保证会话不断链。

示例性的,若按照上述第一种情况和第二种情况的限速方式,会话簇CAR限速对应已建立的全部会话,该会话簇CAR限速的CIR大于或等于全部会话CAR限速的CIR之和,小于或等于控制面设备的处理能力。

示例性的,若按照上述第三种情况的限速方式,会话簇CAR限速中的每个会话簇CAR限速对应已建立的会话中同一路由协议的会话,每个会话簇CAR限速的CIR大于或等于同一路由协议的会话中每个会话对应的会话CAR限速的CIR之和,每个会话簇CAR限速的CIR之和小于或等于控制面设备的处理能力。

在此,以会话簇CAR限速对应已建立的全部会话为例进行说明。由于本申请实施例中的会话簇CAR的下限为全部会话CAR限速的CIR之和,而且会话簇CAR限速采用的srTCM算法是持续先往C桶中注入令牌,因此,可以保证经会话CAR限速后的绿色报文全部取到令牌,正常通过。故采用本申请实施例的报文防攻击方法可以避免某个已经建立的会话发生攻击时,其他已经建立的会话会受攻击影响导致断链情况发生。

S204、转发面设备将会话簇CAR限速后的协议报文发送至控制面设备。

示例性的,如图5-图7所示,路由器A中的转发面设备可以将经过两级限速后的报文发送至控制面设备,该控制面设备可以为路由器A中控制面的中央处理器CPU。

可以理解的,由于网络处理器对收到的已建立会话的协议报文进行了两级限速,限速后的协议报文能够保证发送至CPU的报文带宽维持不变,上送CPU报文带宽不会随协议会话数增长。

本申请实施例提供的报文防攻击方法,通过转发面设备接收协议报文;根据该协议报文中携带的会话特征,若确定该协议报文属于第一会话,对该协议报文进行会话CAR限速,其中,该第一会话为已建立的任意一个会话,已建立的会话中每个会话分别对应一个会话CAR限速,且不同会话之间的会话CAR限速隔离;对会话CAR限速后的协议报文进行会话簇CAR限速,该会话簇CAR限速对应至少一个已建立的会话;将会话簇CAR限速后的协议报文发送至控制面设备。本申请实施例通过对已建立会话的协议报文进行两级限速,可以降低已经建立的会话报文之间攻击影响,避免某个已经建立的会话发生攻击时,其他已经建立的会话会受攻击影响导致断链情况发生;同时保证路由协议上送CPU的报文带宽维持不变,上送CPU报文带宽不会随协议会话数增长。

本申请实施例还提供一种报文防攻击方法,如图8所示,该方法在步骤S201之前,还包括步骤S205。

S205、转发面设备提取已建立会话的报文的会话特征,下发访问控制列表ACL规则。

本申请实施例提供的报文防攻击方法,通过转发面设备提取已建立会话的报文的会话特征,下发访问控制列表ACL规则;该转发面设备接收协议报文;根据该协议报文中携带的会话特征,确定该协议报文是否命中该ACL规则,若该协议报文命中该ACL规则,确定该协议报文属于第一会话;若确定该协议报文属于第一会话,对该协议报文进行会话CAR限速,其中,该第一会话为已建立的任意一个会话,已建立的会话中每个会话分别对应一个会话CAR限速,且不同会话之间的会话CAR限速隔离;对会话CAR限速后的协议报文进行会话簇CAR限速,该会话簇CAR限速对应至少一个已建立的会话;将会话簇CAR限速后的协议报文发送至控制面设备。本申请实施例通过对已建立会话的协议报文进行两级限速,可以降低已经建立的会话报文之间攻击影响,避免某个已经建立的会话发生攻击时,其他已经建立的会话会受攻击影响导致断链情况发生;同时保证路由协议上送CPU的报文带宽维持不变,上送CPU报文带宽不会随协议会话数增长。

上述主要从方法步骤的角度对本申请实施例提供的方案进行了介绍。可以理解的是,计算机为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本申请能够以硬件和计算机软件的结合形式来实现。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例可以根据上述方法示例对计算机进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用对应各个功能划分各个功能模块的情况下,本申请实施例还提供一种网络处理器,如图9所示,该网络处理器900包括:接收单元901、处理单元902和发送单元903。接收单元901可以用于支持网络处理器900执行图2中的S201;处理单元902可以用于支持网络处理器900执行图2中的S202-S203,或者图8中的S205;发送单元903用于支持网络处理器900执行图2中的S204。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。

在采用集成的单元的情况下,本申请实施例还提供一种网络处理器,如图10所示,该网络处理器1000包括:存储模块1001和处理模块1002。处理模块1002用于对计算机的动作进行控制管理,例如,处理模块1002用于支持计算机执行图2中的S201-S204,或图8中的S201-S205,和/或用于本文所描述的技术的其它过程。存储模块1001,用于存储计算机的程序代码和数据。另一种实现,上述实施例所涉及的计算机结构还可以为包括处理器和接口,处理器和接口通信,处理器用于执行本发明实施例。处理器可以是CPU,也可以是其他硬件,如现场可编程门阵列(Field-Programmable Gate Array,FPGA)等,或者两者的组合。

本申请实施例还提供一种装置,该装置以芯片的产品形态存在,该装置的结构中包括处理器和接口电路,处理器可以通过接口电路获取其他路由器发送的协议报文,可选的,该装置还可以包括存储器,该存储器用于与处理器耦合,保存该装置必要的程序指令和数据,该处理器用于执行存储器中存储的程序指令,使得该装置执行上述方法中报文防攻击装置的功能。可选地,所述存储器可以为所述芯片内的存储模块,如寄存器、缓存等,所述存储模块还可以是位于所述芯片外部的存储模块,如ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM等。

结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(ElectricallyEPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。

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

以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种流量控制的方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!