CN113114584A - 一种网络设备的保护方法及装置 - Google Patents
一种网络设备的保护方法及装置 Download PDFInfo
- Publication number
- CN113114584A CN113114584A CN202110226799.6A CN202110226799A CN113114584A CN 113114584 A CN113114584 A CN 113114584A CN 202110226799 A CN202110226799 A CN 202110226799A CN 113114584 A CN113114584 A CN 113114584A
- Authority
- CN
- China
- Prior art keywords
- message
- processed
- control
- limiting
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/23—Bit dropping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种网络设备的保护方法及装置,该方法包括:若转发芯片确定待处理报文的报文特征命中限流控制表,则对其进行丢弃;若转发芯片确定待处理报文的报文特征未命中限流控制表,则将其转至对应的数据核;若对应的数据核确定待处理报文为控制报文,则将其转至控制核中对应的收包队列;若控制核确定待处理报文为目标限流报文,则将其报文特征下发至限流控制表。该方案中控制核在检测出待处理报文为目标限流报文时,向限流控制表项中添加其报文特征,以使后续同报文类型的报文到来后直接由转发芯片进行丢弃而不对数据核和控制核造成无效占用,能够精准有效地保护网络设备。
Description
技术领域
本申请涉及通信技术领域,特别是一种网络设备的保护方法及装置。
背景技术
配置有转发芯片和多核CPU的网络设备中,通常设置有若干数据核和控制核。其中,所述数据核用于处理数据报文,即携带实际应用交互数据的报文,而所述控制核则用于处理控制报文,例如,管理各应用交互的管理报文以及决定路由方式的路由协议报文等。
网络设备的转发芯片在接收到待处理报文后均先转至数据核,由数据核判断为数据报文则由数据核进行处理,由数据核判断为控制报文则转至控制核进行处理。目前,相关技术中,在控制核的收包队列中预设报文总数阈值,以保护控制核不被超过阈值的报文无效占用,但并未为数据核提供保护,数据核仍有可能接收大量应受到限流的报文。
发明内容
本申请提供一种网络设备的保护方法及装置。
根据本申请实施例的第一方面,提供一种网络设备的保护方法,应用于配置有转发芯片和多核CPU的网络设备中,所述多核CPU包括若干数据核和控制核,所述方法包括:
当转发芯片接收到待处理报文时,若所述转发芯片确定所述待处理报文的报文特征命中限流控制表,则丢弃所述待处理报文;
若所述转发芯片确定所述待处理报文的报文特征未命中所述限流控制表,则将所述待处理报文转至对应的数据核;
当所述数据核确定所述待处理报文为控制报文时,所述数据核将所述待处理报文转至控制核中对应的收包队列;
所述控制核检测所述待处理报文是否为目标限流报文,若是,则将所述待处理报文的报文特征下发至所述限流控制表中。
根据本申请实施例的第二方面,提供一种网络设备的保护装置,所述装置包括转发单元、数据单元和控制单元:
其中,转发单元,用于在接收到待处理报文时,若确定所述待处理报文的报文特征命中限流控制表,则丢弃所述待处理报文;
若确定所述待处理报文的报文特征未命中所述限流控制表,则将所述待处理报文转至对应的数据单元;
数据单元,用于在确定所述待处理报文为控制报文时,将所述待处理报文转至控制单元中对应的收包队列;
控制单元,用于检测所述待处理报文是否为目标限流报文,并在是的情况下,将所述待处理报文的报文特征下发至所述限流控制表中。
本申请技术方案中,网络设备的控制核在检测出待处理报文为目标限流报文时,向限流控制表项中添加待处理报文的报文特征,以使后续同报文类型的报文到来后,直接由转发芯片进行丢弃而不对数据核和控制核造成无效占用,能够精准有效地保护网络设备。
附图说明
图1为本申请所提供的一种网络设备的保护方法的流程图;
图2为本申请方案中检测待处理报文是否为目标限流报文的一种方法流程图;
图3为本申请方案中检测待处理报文是否为目标限流报文的另一种方法流程图;
图4为本申请所提供的一种网络设备的保护装置所在网络设备的硬件结构示意图;
图5为本申请所提供的一种网络设备的保护装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
同背景技术所述,到达网络设备的报文被定义为数据报文和控制报文。其中,数据报文携带应用交互的实际数据,由网络设备接收处理或转发、丢弃;而控制报文则携带管理应用交互、或决定路由方式等的控制数据,在正常状态下,应由网络设备接收处理,无需转发或丢弃。
一个配置有转发芯片和多核CPU的网络设备中,报文由转发芯片进行收发,所述转发芯片并不一定特指网络设备中的某一物理芯片,而是指网络设备中用于执行向CPU转发报文的某一底层硬件,它可能是一个专设的芯片,也可能是某一物理接口,所述转发芯片在执行简单的处理动作时性能良好,但并不能执行复杂的处理动作;同时,考虑到数据报文的数量一般远高于控制报文的数量,多核CPU中所设置的数据核数量一般高于控制核数量,例如,设置多个数据核和一个控制核,具体视实际应用情况而定,此处不做具体限制;所述数据核和控制核可以是物理意义上的物理核,也可以是使用虚拟技术构建的虚拟核,网络设备将利用数据核处理数据报文,并利用控制核处理控制报文。
目前相关技术中,到达该网络设备的报文,无论是数据报文或是控制报文,都会由转发芯片接收并转至数据核,由数据核判断为数据报文的则由数据核进行处理,此处与本申请处理控制报文的逻辑相互独立,有关方法不再赘述。
而由数据核判断为控制报文的则由数据核转至控制核进行处理,在控制核的收包队列中预设有报文总数阈值,当转至控制核的控制报文总数超过阈值时,超过这一阈值的控制报文将被丢弃。
上述方案虽然能够保障控制核不受超过阈值的控制报文影响,降低了控制核的无效占用,但并未为数据核提供保护,数据核仍需接收大量控制报文并在判断后将它们转至控制核,对数据核造成了无效占用并对其处理效率产生负面影响。
有鉴于此,本申请提出一种网络设备的保护方法,该网络设备配置有转发芯片和多核CPU,所述多核CPU包括若干数据核和控制核。图1所示为本申请所提供的网络设备的保护方法的流程图,具体包括如下步骤:
步骤102,当网络设备的转发芯片接收到待处理报文时,若所述转发芯片确定所述待处理报文的报文特征命中限流控制表,则丢弃所述待处理报文。
在本申请方案中,将引入限流控制表以针对上传至数据核的控制报文进行限流,该表被设置在转发芯片中,能够使转发芯片据此对待处理报文中的部分控制报文进行过滤。
所述限流控制表可以由多种可选择的方式进行设置,一种高效的方式是,在限流控制表中添加若干被确定为目标限流报文的报文特征,一旦待处理报文的报文特征命中该表则其可以被确定为目标限流报文,所述转发芯片直接对该待处理报文进行丢弃,该方式中的限流控制表类似于黑名单。
另一种灵活的方式是,在限流控制表中保存若干被确定为目标限流报文的报文特征及处理动作间的映射关系,一旦待处理报文的报文特征命中该表则其可以被确定为目标限流报文,所述转发芯片将根据所述限流控制表中待处理报文的报文特征对应的处理动作,对待处理报文进行处理,该方式中的限流控制表类似于ACL规则表。
此方式中所述处理动作除丢弃外,还可以包括更新报文特征被命中的次数等,以便于进行其他拓展开发。
举例来说,若所述转发芯片确定所述待处理报文的报文特征命中限流控制表时,除丢弃所述待处理报文外,所述转发芯片还执行了更新所述待处理报文的报文特征被命中次数的处理动作,则所述控制核将能够根据所述限流控制表中各报文特征及其累计被命中的次数生成相应的系统日志;该系统日志可以供用户或技术人员进行查看并得以获知限流控制的当前状况,也可以根据所述系统日志由所述控制核按预设周期主动向用户或技术人员发出相关告警信息。
上述报文特征包括报文的协议号、端口号、接入网络设备的物理接口号,以及通过三者中的一或多项进行换算后得到的特征等,上述报文特征的获取包括FPGA芯片解析或另设软件方法提取等,本申请对于报文特征的具体形式以及报文特征的具体获取方式不做限定。
举例来说,所述报文特征可以是报文的协议号和端口号进行拼接后得到的特征,以协议号在前、端口号在后的拼接为例,且以十六进制表示,假设所述待处理报文的协议号为17即11,端口号为520即0208,则其报文特征则为110208。
本申请对于上述限流控制表所采用的具体数据结构,以及步骤102中转发芯片匹配待处理报文的报文特征与限流控制表中所保存的报文特征的具体方法,不做限定。
步骤104,若所述转发芯片确定所述待处理报文的报文特征未命中所述限流控制表,则所述转发芯片将所述待处理报文转至对应的数据核。
基于前文所述,该网络设备中配置有若干数据核,当网络设备中数据核的数量不止一个时,所述转发芯片将根据预设的转发策略,将待处理报文转至对应的数据核。本申请对于所述预设的转发策略不做具体限定,举例来说,一种比较常用的方式是,计算待处理报文的五元组的哈希值并由所述哈希值确定对应的数据核,其他方法不再赘述。
步骤106,当所述数据核确定所述待处理报文为控制报文时,所述数据核将所述待处理报文转至控制核中对应的收包队列。
在步骤104中,由所述转发芯片确定并未命中限流控制表的待处理报文,可能的情况为以下三种:
(1)所述待处理报文为需要转至对应的数据核的数据报文;
(2)所述待处理报文为需要由数据核转至控制核的非目标限流报文的控制报文;
(3)所述待处理报文为目标限流报文,但网络设备中尚未进行针对它的限流控制,其报文特征尚未记录在限流控制表中,所述待处理报文需要由数据核转至控制核以开启新的限流控制。
当网络设备中的某一数据核接收到由转发芯片转发的待处理报文时,该数据核将判断所述待处理报文是否为控制报文,若不是则该数据核将对这一待处理的数据报文进行处理,即步骤104中所述的情况(1);若是则该数据核需要将待处理的控制报文转至控制核进行后续处理,即步骤104中所述的情况(2)、(3)。
所述网络设备中的控制核虽然只有一个,但该控制核同时配有多个收包队列,数据核在将待处理报文转至控制核时,需要将所述待处理报文转至控制核中对应的收包队列上。
在一种可选择的方式下,所述数据核可以根据控制核中各收包队列剩余空间的空间大小,选择向收包队列剩余空间最大的收包队列转发所述待处理的控制报文。
在另一可选择的方式下,所述数据核也可以根据待处理的控制报文的报文信息确定其所属的报文类型,并根据预设的报文类型及收包队列间的映射关系,将所述待处理的控制报文转至其对应的收包队列。
此方式中所述报文信息与步骤102中所述报文特征可以为相同参数,也可以为不相同的参数,包括但不限于报文的协议号、端口号、接入网络设备的物理接口以及三者中一或多项换算后的其他形式等;所述报文类型及收包队列间的映射关系,应当为多种报文类型对应至同一收包队列。该方式下,控制核的各个收包队列中仅缓存有与其具有映射关系的若干类型的控制报文
步骤108,所述控制核检测所述待处理报文是否为目标限流报文,若是,则所述控制核将所述待处理报文的报文特征下发至所述限流控制表中。
在步骤106后,网络设备中控制核的某一收包队列上将接收到由数据核转发的待处理的控制报文,所述控制核将对该待处理的控制报文进行检测以确定其是否为目标限流报文,所述控制核检测所述待处理的控制报文是否为目标限流报文,存在多种可选择的实现方式。
假设在步骤106中,各数据核根据待处理的控制报文的报文信息以及预设的报文类型与收包队列间的映射关系,确定待处理的控制报文对应的收包队列并将其转至该收包队列。
控制核中各个收包队列上缓存与其具有预设对应关系的若干类型的控制报文,需要说明的是,此处区分一个收包队列上所缓存各报文的报文类型的方式是通过上述报文信息加以区分的,并不一定就是按照报文协议类型加以区分,同步骤106所述,本申请对采用何种形式的报文信息不做具体限定。
换言之,若采用报文的协议号在前、端口号在后拼接而得的参数作为报文信息区分收包队列上的报文类型,则协议号为89、端口号为1024的待处理报文与协议号为89、端口号为2000的待处理报文分别属于两种不同的报文类型。
此时,所述控制核检测待处理的控制报文是否为目标限流报文的一种可选择的实现方式,包括:
当所述对应的收包队列中的报文总数超过预设的报文总数阈值时,所述控制核确定所述收包队列中各类型报文数量;
基于所述收包队列中各类型报文数量,所述控制核检测所述待处理报文是否为目标限流报文。
下面介绍该实现方式下,两种可选择的基于所述收包队列中各类型报文数量,所述控制核检测所述待处理报文是否为目标限流报文的方法。
在一个例子中,所述控制核检测待处理的控制报文是否为目标限流报文,如图2所示,包括如下具体步骤:
步骤A01,当所述对应的收包队列中的报文总数超过预设的报文总数阈值时,所述控制核确定所述收包队列中各类型报文数量在所述报文总数中所占的数量比例。
数据核根据待处理的控制报文的报文信息,将其转至控制核中对应的收包队列上,所述对应的收包队列预设有报文总数阈值;所述预设的报文总数阈值是针对该收包队列上各类型报文数量的总和所预设的阈值,可以将各收包队列的报文总数阈值统一设置为相同阈值,也可以根据各收包队列所包含的若干类型的控制报文的实际数量分别设置阈值。
所述控制核将首先判断所述待处理的控制报文所在收包队列上,当前的报文总数是否超过该收包队列的报文总数阈值,并以此为先决条件决定是否执行后续操作。
若未超过,则所述控制核将确定所述待处理的控制报文并非目标限流报文。
若超过,则所述控制核将确定该收包队列上各类型报文数量占报文总数的数量比例,然后转至步骤A02。
举例来说,假设所述对应的收包队列1中当前的报文总数为5000且超过预设的报文总数阈值,其中,报文类型1-1的报文数量为2500,报文类型1-2的报文数量为1400,报文类型1-3的报文数量为600,报文类型1-4的报文数量为300,报文类型1-5的报文数量为200。所述控制核可以确定该收包队列1上报文类型1-1的数量比例为50%,报文类型1-2的数量比例为28%,报文类型1-3的数量比例为12%,报文类型1-4的数量比例为6%,报文类型1-5的数量比例为4%。
步骤A02,当所述待处理报文所属报文类型的数量比例为各报文类型数量比例中的最高值时,所述控制核判断所述待处理报文所属报文类型的数量比例与所述各报文类型数量比例中的第二高值间的比例差值是否超过预设的比例差值阈值;若是,则所述控制核确定所述待处理报文为目标限流报文;若不是,则所述控制核确定所述待处理报文非目标限流报文。
基于步骤A01确定所述收包队列上各报文类型的数量比例后,所述控制核将判断所述待处理的控制报文所属的报文类型是否为各报文类型数量比例中的最高值。
若不是,则所述控制核将确定所述待处理的控制报文并非目标限流报文。
若是,则所述控制核判断所述待处理的控制报文所属报文类型的数量比例与所述各报文类型数量比例中的第二高值间的比例差值是否超过预设的比例差值阈值;
其中,预设所述比例差值阈值存在多种可选择的实现方式,本申请对此不做具体限制,可以由技术人员根据经验直接为控制核中设置诸如10%、5%这样既定的比例差值阈值,也可以由所述控制核根据所述对应的收包队列中当前缓存的报文类型的数量,动态设定当前的平均数量比例为比例差值阈值,例如所述对应的收包队列中缓存有5种类型的报文,预设100%/5,即20%为比例差值阈值。
若未超过,则所述控制核将确定所述待处理的控制报文并非目标限流报文。
若超过,则所述控制核将确定所述待处理的控制报文为目标限流报文。
基于前例,假设所述待处理的控制报文所属报文类型为1-1,所述控制核根据所述对应的收包队列中已缓存的报文类型的数量:5种,设置比例差值阈值为20%。所述控制核将判断出所述待处理的控制报文所属报文类型1-1为所述对应的收包队列中各报文类型数量比例中的最高值,并对所述报文类型1-1的数量比例50%与所述各报文类型数量比例中的第二高值:报文类型1-2的数量比例28%做差值运算,得到二者间的比例差值22%,所述控制核判断出22%超过比例差值阈值20%并确定所述待处理的控制报文为目标限流报文。
在另一个例子中,所述控制核检测待处理的控制报文是否为目标限流报文,如图3所示,包括如下具体步骤:
步骤B01,当所述对应的收包队列中的报文总数超过预设的报文总数阈值时,所述控制核确定所述收包队列中各类型报文数量并排序。
其中,以所述对应的收包队列上当前报文总数是否超过该收包队列的报文总数阈值为先决条件的相关内容不再赘述。
所述控制核将在所述收包队列中报文总数超过预设的报文总数阈值时,根据所述收包队列中各类型报文数量,按数量由高到低,对所述收包队列中当前缓存的各报文类型进行相应排序。
举例来说,假设所述对应的收包队列2中报文类型2-1的报文数量为1500,报文类型2-2的报文数量为1200,报文类型2-3的报文数量为900,报文类型2-4的报文数量为600,报文类型2-5的报文数量为500,报文类型2-6的报文数量为300。所述控制核可以确定按各类型报文数量,收包队列2中报文类型的排序为2-1、2-2、2-3、2-4、2-5、2-6。
步骤B02,若所述待处理报文所属报文类型的排序位次在预设的位次范围内,则所述控制核确定所述待处理报文为目标限流报文。
基于步骤B01确定所述收包队列上各报文类型的排序位次后,所述控制核将判断所述待处理的控制报文所属的报文类型的排序位次是否在预设的位次范围内;
若否,则所述控制核将确定所述待处理的控制报文并非目标限流报文。
若是,则所述控制核将确定所述待处理的控制报文为目标限流报文。
基于前例,假设所述待处理的控制报文所属报文类型为2-4,所述预设的位置范围为[1,3]。所述控制核将判断出所述待处理的控制报文所属报文类型2-4的排序位次为4不在所述预设的位次范围1到3中,并确定所述待处理的控制报文并非目标限流报文。
上述的两种检测待处理报文是否为目标限流报文的实现方式,较相关技术中对所有超出阈值的报文均进行限流,能够有效提高对网络设备的控制核或数据核进行保护时的准确性,避免对实际未造成无效占用的报文进行限流而对实际造成无效占用的报文却未进行限流的情况发生。
在基于诸如步骤A01至A02、或步骤B01至B02所述的检测方式下,若所述控制核确定待处理报文不是目标限流报文,则所述控制核对其进行正常处理,即步骤104中所述的情况(2)。
若所述控制核确定待处理报文是目标限流报文,则所述控制核对其进行丢弃,并将所述待处理的控制报文的报文特征下发至所述限流控制表中,当然,如果所述限流控制表中记录的是报文特征及处理动作间的映射关系,则所述控制核将所述待处理的控制报文的报文特征及其对应的处理动作下发至所述限流控制表中,即步骤104中所述的情况(3)。
进一步地,所述控制核若确定待处理报文是目标限流报文,还可以对所述收包队列中与所述待处理报文所属报文类型相同的报文进行丢弃。
举例来说,假设采用报文的协议号在前、端口号在后拼接而得的参数作为报文信息区分收包队列上的报文类型,以十六进制表示所述报文信息,待处理报文所在收包队列上现缓存有报文信息分别为590400、5907D0、110208的三种类型的报文。若所述控制核确定待处理报文为目标限流报文且其报文信息为590400,则所述控制核将对所述收包队列上报文信息为590400的这一类型的报文进行丢弃,而不会丢弃所述收包队列上的另外两种类型的报文。
进一步地,本申请方案还可以包括:
当所述网络设备中的控制核检测到针对任一报文类型的限流控制取消时,所述控制核对所述限流控制表中所述报文类型对应的报文特征进行删除。
所述控制核可以根据用户或技术人员手动设定的取消限流控制的报文类型,对所述限流控制表中该报文类型对应的报文特征进行删除。
所述控制核也可以根据预设的老化策略,包括但不限于记录各报文特征被下发至限流控制表的时间戳,按预设的有效时间阈值判定针对存在时长超出阈值的报文特征对应的报文类型的限流控制取消,并删除限流控制表中的该报文特征。
所述控制核删除所述限流控制表中被取消限流控制的报文类型对应的报文特征时,可以根据已保存的下发至限流控制表的报文特征及下发位置间的映射关系,直接于对应的下发位置删除所述限流控制表中所述被取消限流控制的报文类型对应的报文特征。
本申请所提供的技术方案,一方面,网络设备的控制核在检测出待处理报文为目标限流报文时,向限流控制表项中添加待处理报文的报文特征,以使后续同报文类型的报文到来后直接由转发芯片丢弃而不对数据核和控制核造成无效占用、能够精准有效地保护网络设备。
另一方面,较相关技术中对所有超出阈值的报文均进行限流,本申请方案中采取了更准确的方式确定目标限流报文,能够提高对网络设备的控制核或数据核进行保护的准确性,避免对实际未造成无效占用的报文进行限流而对实际造成无效占用的报文却未进行限流的情况发生。
为了使本领域技术人员更好地理解本申请中的技术方案,接下来结合附图,对图1所示的方法作进一步的详细说明,后续描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。
假设一个配置有转发芯片和多核CPU的网络设备中,多核CPU包括3个数据核和1个控制核,其中数据核被分别标识为数据核0、数据核1、数据核2。
网络设备的转发芯片以报文的协议号在前、端口号在后直接拼接得到的报文特征,作为与限流控制表进行匹配的对象,所述限流控制表中保存有若干报文特征及处理动作间的映射关系。
某一时刻,所述转发芯片接收到待处理报文1,以十六进制表示,该待处理报文1的协议号为11,端口号为0208,报文特征为110208,所述转发芯片利用报文特征110208与当前时刻的限流控制表进行匹配,并确定未命中该表。
根据待处理报文1的五元组信息的哈希值63,所述转发芯片将待处理报文1转至其对应的数据核0。
所述数据核0接收并判断待处理报文1是否为控制报文,并确定是控制报文,将向控制核中该待处理报文1对应的收包队列转发该控制报文。
网络设备的控制核中设置有4个收包队列,每个收包队列中缓存有若干特定报文类型的报文,采用与上述报文特征相一致的参数作为表征报文类型的报文信息,各收包队列与报文类型的映射关系,如下表1所示。
收包队列 | 所缓存的报文类型 | 报文总数阈值 |
1 | 1-1、1-2、1-3、1-4、1-5 | 5000 |
2 | 2-1、2-2、2-3、2-4、2-5、2-6、2-7 | 8000 |
3 | 3-1、3-2、3-3、3-4、3-5 | 4000 |
4 | 其他 | 6000 |
表1
所述数据核0根据待处理报文1的报文特征110208确定待处理报文1所属的报文类型为3-2,并将此被确定为控制报文的待处理报文1转至控制核中对应的收包队列3。
当前控制核的收包队列3中报文总数为5000,所述控制核判断出收包队列3中当前报文总数5000超出其阈值4000,将对待处理报文1进行检测以确定其是否为目标限流报文。
所述收包队列3中各类型报文数量为:报文类型3-1的报文数量为1100,报文类型3-2的报文数量为2400,报文类型3-3的报文数量为900,报文类型3-5的报文数量为600。
所述控制核根据收包队列3中当前的报文总数以及上述各类型报文数量,可以确定报文类型3-1的数量比例为22%,报文类型3-2的数量比例为48%,报文类型3-3的数量比例为18%,报文类型3-5的数量比例为12%。
所述控制核在确定待处理报文1所属报文类型3-2的数量比例48%为各报文类型数量比例中的最高值,且与第二高值22%间的差值26%大于收包队列3中当前时刻的平均报文数量比例25%后,确定待处理报文1为目标限流报文。
所述控制核将待处理报文1的报文特征110208及对应的处理动作:丢弃该报文并更新其报文特征被命中的次数,下发至转发芯片的限流控制表中。
同时控制核将待处理报文1以及所述收包队列3中与待处理报文1同属报文类型3-2的其他缓存未处理的报文进行丢弃。
又一时刻,所述转发芯片接收到待处理报文2,以十六进制表示,该待处理报文2的协议号为11,端口号为0208,报文特征为110208,所述转发芯片利用报文特征110208与此时刻的限流控制表进行匹配,并确定其命中该表。
根据限流控制表中该报文特征110208所映射的处理动作,所述转发芯片丢弃该待处理报文2,不再上传至数据核;同时,所述转发芯片更新报文特征110208被命中的次数由0改为1,所述控制核获知该情况后对应生成系统日志以进行展示。
本申请所提供的技术方案,一方面,网络设备的控制核在检测出待处理报文为目标限流报文时,向限流控制表项中添加待处理报文的报文特征,以使后续同报文类型的报文到来后直接由转发芯片丢弃而不对数据核和控制核造成无效占用、能够精准有效地保护网络设备。
另一方面,较相关技术中对所有超出阈值的报文均进行限流,本申请方案中采取了更准确的方式确定目标限流报文,能够提高对网络设备的控制核或数据核进行保护的准确性,避免对实际未造成无效占用的报文进行限流而对实际造成无效占用的报文却未进行限流的情况发生。
与前述网络设备的保护方法的实施例相对应,本申请还提供了网络设备的保护装置的实施例。
本申请所提供的网络设备的保护装置的实施例,可以应用于任一配置有转发芯片和多核CPU,且所述多核CPU包括若干数据核和一个控制核的网络设备中。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网络设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请所提供的网络设备的保护装置所在网络设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的网络设备通常根据其实际功能,还可以包括其他硬件,对此不再赘述。
参见图5,为本申请所提供的一种网络设备的保护装置的框图,该装置包括转发单元510、数据单元520和控制单元530:
其中,转发单元510,用于在接收到待处理报文时,若确定所述待处理报文的报文特征命中限流控制表,则丢弃所述待处理报文;
若确定所述待处理报文的报文特征未命中所述限流控制表,则将所述待处理报文转至对应的数据单元。
数据单元520,用于在确定所述待处理报文为控制报文时,将所述待处理报文转至控制单元中对应的收包队列。
控制单元530,用于检测所述待处理报文是否为目标限流报文,并在是的情况下,将所述待处理报文的报文特征下发至所述限流控制表中。
可选择地,所述控制单元530在检测所述待处理报文是否为目标限流报文时,具体用于:
当所述对应的收包队列中的报文总数超过预设的报文总数阈值时,确定所述收包队列中各类型报文数量;
基于所述收包队列中各类型报文数量,检测所述待处理报文是否为目标限流报文。
可选择地,所述控制单元530在基于所述收包队列中各类型报文数量,确定所述待处理报文为目标限流报文时,具体用于:
确定所述收包队列中各类型报文数量在所述报文总数中所占的数量比例;
当所述待处理报文所属报文类型的数量比例为各报文类型数量比例中的最高值时,判断所述待处理报文所属报文类型的数量比例与所述各报文类型数量比例中的第二高值间的比例差值是否超过预设的比例差值阈值;
若是,则确定所述待处理报文为目标限流报文;
若否,则确定所述待处理报文非目标限流报文。
进一步地,所述控制单元530在确定所述待处理报文为目标限流报文时,还用于对所述收包队列中与所述待处理报文所属报文类型相同的报文进行丢弃。
进一步地,所述转发单元510在确定所述待处理报文的报文特征命中限流控制表时,还用于更新所述限流控制表中所述待处理报文的报文特征被命中的次数,以使所述控制单元根据所述限流控制表中各报文特征及其被命中的次数生成系统日志。
进一步地,所述控制单元530还用于在检测到针对任一报文类型的限流控制取消时,对所述限流控制表中所述报文类型对应的报文特征进行删除。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种网络设备的保护方法,其特征在于,所述方法应用于配置有转发芯片和多核CPU的网络设备中,所述多核CPU包括若干数据核和控制核,所述方法包括:
当转发芯片接收到待处理报文时,若所述转发芯片确定所述待处理报文的报文特征命中限流控制表,则丢弃所述待处理报文;
若所述转发芯片确定所述待处理报文的报文特征未命中所述限流控制表,则将所述待处理报文转至对应的数据核;
当所述数据核确定所述待处理报文为控制报文时,所述数据核将所述待处理报文转至控制核中对应的收包队列;
所述控制核检测所述待处理报文是否为目标限流报文,若是,则将所述待处理报文的报文特征下发至所述限流控制表中。
2.根据权利要求1所述的方法,其特征在于,所述控制核检测所述待处理报文是否为目标限流报文,包括:
当所述对应的收包队列中报文总数超过预设的报文总数阈值时,所述控制核确定所述收包队列中各类型报文数量;
基于所述收包队列中各类型报文数量,所述控制核检测所述待处理报文是否为目标限流报文。
3.根据权利要求2所述的方法,其特征在于,所述基于所述收包队列中各类型报文数量,所述控制核检测所述待处理报文是否为目标限流报文,包括:
所述控制核确定所述收包队列中各类型报文数量在所述报文总数中所占的数量比例;
当所述待处理报文所属报文类型的数量比例为各报文类型数量比例中的最高值时,所述控制核判断所述待处理报文所属报文类型的数量比例与所述各报文类型数量比例中的第二高值间的比例差值是否超过预设的比例差值阈值;
若是,则所述控制核确定所述待处理报文为目标限流报文;
若否,则所述控制核确定所述待处理报文非目标限流报文。
4.根据权利要求1所述的方法,其特征在于,若所述控制核确定所述待处理报文为目标限流报文,所述方法还包括:
所述控制核对所述收包队列中与所述待处理报文所属报文类型相同的报文进行丢弃。
5.根据权利要求1所述的方法,其特征在于,若所述转发芯片确定所述待处理报文的报文特征命中限流控制表,所述方法还包括:
所述转发芯片更新所述限流控制表中所述待处理报文的报文特征被命中的次数,以使所述控制核根据所述限流控制表中各报文特征及其被命中的次数生成系统日志。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述控制核检测到针对任一报文类型的限流控制取消时,所述控制核对所述限流控制表中所述报文类型对应的报文特征进行删除。
7.一种网络设备的保护装置,其特征在于,所述装置包括转发单元、数据单元和控制单元:
所述转发单元,用于在接收到待处理报文时,若确定所述待处理报文的报文特征命中限流控制表,则丢弃所述待处理报文;
若确定所述待处理报文的报文特征未命中所述限流控制表,则将所述待处理报文转至对应的数据单元;
所述数据单元,用于在确定所述待处理报文为控制报文时,将所述待处理报文转至控制单元中对应的收包队列;
所述控制单元,用于检测所述待处理报文是否为目标限流报文,并在是的情况下,将所述待处理报文的报文特征下发至所述限流控制表中。
8.根据权利要求7所述的装置,其特征在于,所述控制单元在检测所述待处理报文是否为目标限流报文时,具体用于:
当所述对应的收包队列中报文总数超过预设的报文总数阈值时,确定所述收包队列中各类型报文数量;
基于所述收包队列中各类型报文数量,检测所述待处理报文是否为目标限流报文。
9.根据权利要求8所述的装置,其特征在于,所述控制单元在基于所述收包队列中各类型报文数量,确定所述待处理报文为目标限流报文时,具体用于:
确定所述收包队列中各类型报文数量在所述报文总数中所占的数量比例;
当所述待处理报文所属报文类型的数量比例为各报文类型数量比例中的最高值时,判断所述待处理报文所属报文类型的数量比例与所述各报文类型数量比例中的第二高值间的比例差值是否超过预设的比例差值阈值;
若是,则确定所述待处理报文为目标限流报文;
若否,则确定所述待处理报文非目标限流报文。
10.根据权利要求7所述的装置,其特征在于,所述控制单元还用于在检测到针对任一报文类型的限流控制取消时,对所述限流控制表中所述报文类型对应的报文特征进行删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110226799.6A CN113114584B (zh) | 2021-03-01 | 2021-03-01 | 一种网络设备的保护方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110226799.6A CN113114584B (zh) | 2021-03-01 | 2021-03-01 | 一种网络设备的保护方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113114584A true CN113114584A (zh) | 2021-07-13 |
CN113114584B CN113114584B (zh) | 2023-02-28 |
Family
ID=76709629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110226799.6A Active CN113114584B (zh) | 2021-03-01 | 2021-03-01 | 一种网络设备的保护方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113114584B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116233018A (zh) * | 2022-12-29 | 2023-06-06 | 天翼云科技有限公司 | 报文处理方法、装置、电子设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477823A (zh) * | 2003-07-31 | 2004-02-25 | 分布式交换路由器系统的cpu报文流量控制方法 | |
US20130250763A1 (en) * | 2012-03-22 | 2013-09-26 | Avaya, Inc. | Method and Apparatus for Control Plane CPU Overload Protection |
CN103858386A (zh) * | 2011-08-02 | 2014-06-11 | 凯为公司 | 通过优化的决策树进行的包分类 |
US20150067764A1 (en) * | 2013-09-03 | 2015-03-05 | Electronics And Telecommunications Research Institute | Whitelist-based network switch |
CN105897609A (zh) * | 2016-04-01 | 2016-08-24 | 浙江宇视科技有限公司 | 一种监管数据流传输的方法和装置 |
WO2016150057A1 (zh) * | 2015-03-20 | 2016-09-29 | 中兴通讯股份有限公司 | 访问控制列表acl的发送方法及装置 |
CN106330762A (zh) * | 2015-06-26 | 2017-01-11 | 中兴通讯股份有限公司 | 交换机加速处理数据的方法、cpu核和交换机 |
CN106789759A (zh) * | 2016-12-19 | 2017-05-31 | 迈普通信技术股份有限公司 | 一种报文上送方法及交换芯片 |
CN107566289A (zh) * | 2017-08-21 | 2018-01-09 | 杭州迪普科技股份有限公司 | 一种基于流分类的控制核流量限速方法及装置 |
CN108809849A (zh) * | 2018-08-30 | 2018-11-13 | 新华三技术有限公司 | 一种流量限速方法、装置及控制器 |
CN109510780A (zh) * | 2018-12-12 | 2019-03-22 | 锐捷网络股份有限公司 | 流控方法、交换芯片及网络设备 |
CN109639594A (zh) * | 2018-12-04 | 2019-04-16 | 杭州迪普科技股份有限公司 | 基于框式网络设备的限速方法和装置 |
-
2021
- 2021-03-01 CN CN202110226799.6A patent/CN113114584B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477823A (zh) * | 2003-07-31 | 2004-02-25 | 分布式交换路由器系统的cpu报文流量控制方法 | |
CN103858386A (zh) * | 2011-08-02 | 2014-06-11 | 凯为公司 | 通过优化的决策树进行的包分类 |
US20130250763A1 (en) * | 2012-03-22 | 2013-09-26 | Avaya, Inc. | Method and Apparatus for Control Plane CPU Overload Protection |
US20150067764A1 (en) * | 2013-09-03 | 2015-03-05 | Electronics And Telecommunications Research Institute | Whitelist-based network switch |
CN106034046A (zh) * | 2015-03-20 | 2016-10-19 | 中兴通讯股份有限公司 | 访问控制列表acl的发送方法及装置 |
WO2016150057A1 (zh) * | 2015-03-20 | 2016-09-29 | 中兴通讯股份有限公司 | 访问控制列表acl的发送方法及装置 |
CN106330762A (zh) * | 2015-06-26 | 2017-01-11 | 中兴通讯股份有限公司 | 交换机加速处理数据的方法、cpu核和交换机 |
CN105897609A (zh) * | 2016-04-01 | 2016-08-24 | 浙江宇视科技有限公司 | 一种监管数据流传输的方法和装置 |
CN106789759A (zh) * | 2016-12-19 | 2017-05-31 | 迈普通信技术股份有限公司 | 一种报文上送方法及交换芯片 |
CN107566289A (zh) * | 2017-08-21 | 2018-01-09 | 杭州迪普科技股份有限公司 | 一种基于流分类的控制核流量限速方法及装置 |
CN108809849A (zh) * | 2018-08-30 | 2018-11-13 | 新华三技术有限公司 | 一种流量限速方法、装置及控制器 |
CN109639594A (zh) * | 2018-12-04 | 2019-04-16 | 杭州迪普科技股份有限公司 | 基于框式网络设备的限速方法和装置 |
CN109510780A (zh) * | 2018-12-12 | 2019-03-22 | 锐捷网络股份有限公司 | 流控方法、交换芯片及网络设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116233018A (zh) * | 2022-12-29 | 2023-06-06 | 天翼云科技有限公司 | 报文处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113114584B (zh) | 2023-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11902096B2 (en) | Collection of error packet information for network policy enforcement | |
US10567426B2 (en) | Methods and apparatus for detecting and/or dealing with denial of service attacks | |
CN109525500B (zh) | 一种自调整阈值的信息处理方法及信息处理装置 | |
CN104660565B (zh) | 恶意攻击的检测方法和装置 | |
WO2017199208A1 (en) | Congestion avoidance in a network device | |
WO2007050283A2 (en) | Class-based bandwidth partitioning | |
EP4175232A1 (en) | Congestion control method and device | |
CN110138678B (zh) | 数据传输控制方法和装置、以及网络传输设备和存储介质 | |
CN113114584B (zh) | 一种网络设备的保护方法及装置 | |
EP3395015A1 (en) | Technologies for inline network traffic performance tracing | |
CN104717120B (zh) | 确定信息发送时间的方法和装置 | |
US20190068502A1 (en) | Information processing apparatus, method and non-transitory computer-readable storage medium | |
CN101699795B (zh) | 一种报文拥塞处理方法及系统 | |
CN110868387A (zh) | 用于操作联网设备的系统和方法 | |
CN112948313A (zh) | 一种会话数据的管理方法和装置 | |
CN110944016A (zh) | DDoS攻击检测方法、装置、网络设备及存储介质 | |
CN112565297A (zh) | 一种报文控制方法及装置 | |
TWI658715B (zh) | 通信裝置、可用頻寬計算系統、可用頻寬計算方法及程式 | |
CN105991588A (zh) | 一种防御消息攻击的方法及装置 | |
US9674726B1 (en) | Methods and systems for improved bandwidth estimation | |
CN111031077B (zh) | 一种流量清洗方法、流量清洗系统和设备 | |
US20170295113A1 (en) | Longest queue identification | |
JP2008131350A (ja) | パケット転送装置、パケット分配方法、パケットソート方法、グループ所属プロセッサ変更方法、およびコンピュータプログラム | |
CN112118271B (zh) | 流量清洗方法、装置、设备及计算机可读存储介质 | |
CN114884806A (zh) | 一种基于高集聚场景下的环路识别与阻断方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |