CN103428185B - 报文过滤/限速方法、系统及装置 - Google Patents

报文过滤/限速方法、系统及装置 Download PDF

Info

Publication number
CN103428185B
CN103428185B CN201210164870.3A CN201210164870A CN103428185B CN 103428185 B CN103428185 B CN 103428185B CN 201210164870 A CN201210164870 A CN 201210164870A CN 103428185 B CN103428185 B CN 103428185B
Authority
CN
China
Prior art keywords
message
address
information
forwarding
hash bucket
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.)
Active
Application number
CN201210164870.3A
Other languages
English (en)
Other versions
CN103428185A (zh
Inventor
刘涛
蒋浩
吴教仁
刘宁
张�诚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201210164870.3A priority Critical patent/CN103428185B/zh
Publication of CN103428185A publication Critical patent/CN103428185A/zh
Application granted granted Critical
Publication of CN103428185B publication Critical patent/CN103428185B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种报文过滤/限速方法、系统及装置。其中,方法包括以下步骤:报文转发装置建立接收线程,并通过接收线程从应用程序接收IP名单;将IP名单存入哈希桶之中,其中包括每个IP地址对应的处理类型、以及信用信息和/或统计信息;建立遍历线程,并通过遍历线程访问或修改IP地址的信用信息和/或统计信息;接收报文,并获取报文的地址信息;根据报文的地址信息访问哈希桶,以获得报文的地址信息所对应的处理类型、以及信用信息和/或统计信息并据此对报文进行过滤/限速处理。根据本发明的方法,在对报文进行转发时,根据预设的IP地址名单对所有需要转发的报文进行过滤或者限速,保护后端服务器免受大规模分布式IP的攻击。

Description

报文过滤/限速方法、系统及装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种报文过滤/限速方法、系统及装置。
背景技术
网络内容的提供者在向用户提供服务时,通常会受到来自恶意用户或其他因意外产生的垃圾流量的攻击,如果该类攻击报文速率过高或者带宽过大,将导致提供该服务的服务器因丢包或带宽被拥塞而无法向用户提供正常服务,因此需要一种报文过滤及限速装置,对恶意攻击流量进行过滤或者进行限速。
现有的报文过滤及限速方法主要包括以下两种方式:一种是采用基于FPGA或者ASIC的方案,对报文根据预先配置的名单进行过滤和限速,这种方式的问题是,开发复杂度和制造成本较高;另一种是基于软件实现,在linux中采用iptables,通过手动配置过滤规则,对报文进行过滤,这种方式的问题是,无法实现对IP的限速功能,同时该配置方式不适用于大批量规则的导入和导出。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的一个目的在于提出一种能够防御大规模分布式IP攻击的报文过滤/限速方法。
本发明的另一目的在于提出一种报文转发装置。
本发明的再一个目的在于提出一种报文处理系统。
为了实现上述目的,根据本发明的第一方面实施例的报文过滤/限速方法,包括以下步骤:报文转发装置建立接收线程,并通过所述接收线程从应用程序接收IP名单,其中,所述报文转发装置具有多个CPU核;所述报文转发装置将所述IP名单存入哈希桶之中,其中,所述哈希桶中包括所述IP名单中每个IP地址对应的处理类型、以及信用信息和/或统计信息;所述报文转发装置建立遍历线程,并通过所述遍历线程访问或修改所述哈希桶中IP地址的信用信息和/或统计信息;所述报文转发装置接收报文,并获取所述报文的地址信息;所述报文转发装置根据所述报文的地址信息访问所述哈希桶,以获得所述报文的地址信息所对应的处理类型、以及信用信息和/或统计信息;以及所述报文转发装置根据所述处理类型、以及信用信息和/或统计信息对所述报文进行过滤/限速处理。
根据本发明实施例的报文过滤/限速方法,在对报文进行转发时,根据预设的IP地址名单对所有需要转发的报文进行过滤或者限速,保护后端服务器免受大规模分布式IP的攻击,提高防御性能。
为了实现上述目的,根据本发明的第二方面实施例的报文转发装置,包括多个CPU核,且还包括:接收线程模块,用于从用户态应用程序接收IP名单;哈希桶存储模块,用于存储所述IP名单,其中,所述哈希桶中包括所述IP名单中每个IP地址对应的处理类型、以及信用信息和/或统计信息;遍历线程模块,用于访问或修改所述哈希桶中IP地址的信用信息和/或统计信息;接收模块,用于接收报文,并获取所述报文的地址信息;处理模块,用于根据所述报文的地址信息访问所述哈希桶,以获得所述报文的地址信息所对应的处理类型、以及信用信息和/或统计信息,并根据所述处理类型、以及信用信息和/或统计信息对所述报文进行过滤/限速处理。
根据本发明实施例的报文转发装置,在对报文进行转发时,根据预设的IP地址名单对所有需要转发的报文进行过滤或者限速,保护后端服务器免受大规模分布式IP的攻击,提高防御性能。
为了实现上述目的,根据本发明的第三方面实施例的报文处理系统,包括:第一交换机,用于接收攻击报文和普通报文;报文转发装置,所述报文转发装置为如本发明的第二方面实施例所述的报文转发装置,用于对所述第一交换机发送的所述攻击报文进行过滤处理和/或对部分的所述普通报文进行限速处理;以及第二交换机,用于接收所述报文转发装置发送的处理后的报文。
为了实现上述目的,根据本发明的第四方面实施例的报文处理系统,包括第三交换机和报文转发装置,其中,所述第三交换机用于接收攻击报文和普通报文,并将所述攻击报文和普通报文转发至所述报文转发装置,以及接收所述报文转发装置发送的处理后的报文;所述报文转发装置为如本发明的第二方面实施例所述的报文转发装置,用于对所述第三交换机发送的所述攻击报文进行过滤处理和/或对部分的所述普通报文进行限速处理。
根据本发明实施例的报文处理系统,通过报文转发装置在对报文进行转发时,根据预设的IP地址名单对所有需要转发的报文进行过滤或者限速,保护后端服务器免受大规模分布式IP的攻击,提高防御性能。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是根据本发明一个实施例的报文过滤/限速方法的流程图;
图2是根据本发明一个实施例的报文过滤/限速方法的流程图;
图3是根据本发明一个实施例的报文转发装置的结构示意图;
图4是根据本发明一个实施例的报文转发装置的结构示意图;
图5是根据本发明一个实施例的报文处理系统的结构示意图;以及
图6是根据本发明一个实施例的报文处理系统的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
下面参考附图描述根据本发明实施例的报文过滤/限速方法。
一种报文过滤/限速方法,包括以下步骤:报文转发装置建立接收线程,并通过接收线程从应用程序接收IP名单,其中,报文转发装置具有多个CPU核;报文转发装置将IP名单存入哈希桶之中,其中,哈希桶中包括IP名单中每个IP地址对应的处理类型、以及信用信息和/或统计信息;报文转发装置建立遍历线程,并通过遍历线程访问或修改哈希桶中IP地址的信用信息和/或统计信息;报文转发装置接收报文,并获取报文的地址信息;报文转发装置根据报文的地址信息访问哈希桶,以获得报文的地址信息所对应的处理类型、以及信用信息和/或统计信息;以及报文转发装置根据处理类型、以及信用信息和/或统计信息对报文进行过滤/限速处理。
图1是根据本发明一个实施例的报文过滤/限速方法的流程图。
如图1所示,根据本发明实施例的报文过滤/限速方法包括下述步骤。
步骤S101,报文转发装置建立接收线程,并通过该接收线程从应用程序接收IP名单,其中,报文转发装置具有多个CPU核,接收线程可由操作系统调度器调度在任意一个CPU核上运行。
在对报文进行过滤和限速时,需要根据IP名单来实施。为了能够快速大批量的导入IP名单,在本发明的一个实施例中,通过套接字(socket)接口接收IP名单,其中IP名单包括IP黑名单、IP白名单和IP限速名单中的一种或多种。应理解,本发明并不限于在linux内核态实现,因此本发明也可采用其他的方式接收IP名单,并不限于通过socket接口的方式接收。
步骤S102,报文转发装置将IP名单存入哈希桶之中,其中哈希桶中包括IP名单中每个IP地址对应的处理类型、以及信用信息和/或统计信息。其中,处理类型包括黑名单、白名单或者限速等。
在本发明的一个实施例中,哈希桶可具有多个桶头,且每个桶头根据IP地址的哈希结果确定。由此,可以通过对IP地址哈希快速找到IP地址相关信息,同时可以降低多核系统中CPU核间竞争,提高系统性能。
步骤S103,报文转发装置建立遍历线程,并通过遍历线程访问或修改哈希桶中IP地址的信用信息和/或统计信息。在本发明的一个实施例中,遍历线程也可由操作系统调度器调度在任意一个CPU核上运行。
步骤S104,报文转发装置接收报文,并获取报文的地址信息。
步骤S105,报文转发装置根据报文的地址信息访问哈希桶,以获得报文的地址信息所对应的处理类型、以及信用信息和/或统计信息。
步骤S106,报文转发装置根据报文的处理类型、以及信用信息和/或统计信息对报文进行过滤/限速处理。
本发明可支持百万量级名单中的每一个IP单独进行限速。具体地,遍历线程周期性地访问哈希桶,遍历哈希桶中的每一个IP地址,并在IP地址对应的处理类型为限速时,修改IP地址对应的信用信息;以及在IP地址对应的信用信息小于预设流量阈值之后将IP地址对应的报文丢弃。也就是说,在报文处理函数工作时,对每个报文,通过查找报文源或者目的地址在哈希桶中的对应项,根据其处理类型来决定是将报文进行转发、丢弃或者限速。如果处理类型是限速,且该IP的信用信息大于预设流量阈值,则将报文转发,并将当前信用信息值减1;如果该IP的信用信息小于预设流量阈值,则直接丢弃该报文。
此外,在本发明的一个实施例中,为了保证报文的正确处理,遍历线程还按照预设的周期将IP地址对应的信用信息进行重置。例如,某个名单中的某IP需要限速每秒100个报文,则遍历线程周期性地更新该IP名单的信用信息,例如每隔1秒将信用信息值设定为100。
此外,本发明还支持灵活的限速策略,例如,当对某IP采用限速策略时,规定其在每秒包速率不超过阈值A时不进行限速,而当其速率超过阈值时将速率限制为B。例如,对某个IP,当其速率大于100pps时,将其限制在50pps。上述功能可通过IP名单中的统计信息实现。具体地,遍历线程周期性地访问哈希桶,并在哈希桶中的IP地址对应的处理类型为限速时,获取IP地址对应的统计信息。然后,遍历线程根据统计信息计算IP地址到达的速率,如果IP地址到达的速率大于预设速率阈值,则将IP地址对应的报文丢弃。此处需要说明的是,遍历线程发现某IP地址的到达速率超过阈值,并且对该IP地址采用的限速策略,则判断此时IP的信用信息是否大于0,如果大于0则转发,否则丢弃。如果IP地址的到达速率没有超过阈值,则直接转发,而无需判断信用信息。
下面为本发明一个具体实施例的报文处理函数:
根据本发明实施例的报文过滤/限速方法至少具有以下有益效果:
(1)在对报文进行转发时,根据预设的IP地址名单对所有需要转发的报文进行过滤或者限速,保护后端服务器免受大规模分布式IP的攻击,提高防御性能;
(2)能够分别对每个IP独立限速;
(3)能够支持快速的IP名单导入。
图2是根据本发明一个实施例的报文过滤/限速方法的流程图。
如图2所示,根据本发明实施例的报文过滤/限速方法包括下述步骤。
步骤S201,报文转发装置建立接收线程,并通过该接收线程从应用程序接收IP名单,其中,报文转发装置具有多个CPU核。
步骤S202,报文转发装置将IP名单存入哈希桶之中,其中哈希桶中包括IP名单中每个IP地址对应的处理类型、以及信用信息和/或统计信息。
步骤S203,报文转发装置建立遍历线程,并通过遍历线程访问或修改哈希桶之中IP地址的信用信息和/或统计信息。
步骤S204,报文转发装置接收报文,并获取报文的地址信息。
步骤S205,报文转发装置根据报文的目的地址为每个CPU核均生成一个对应的路由缓存,其中路由缓存的信息包括报文的目的地址和每个CPU核的ID。
一般而言,在收到报文时,linux协议栈默认会根据报文的源、目的IP生成路由缓存,用于加速路由的查找。但是,当面对数量巨大的源IP数目时,会生成过多的路由缓存条目,严重影响路由缓存系统的性能,因此本发明对接收到的所有目的IP相同的报文仅生成少量的几条路由缓存,其中路由缓存的数目即为CPU核的数目。也就是说,目的IP相同的报文,为每个CPU核生成一条路由缓存,避免多核间在访问路由缓存条目时,加锁保护带来的开销。具体的方法是,生成路由缓存时,将原输入的源IP和目的IP信息修改为目的IP+本CPU核的ID。
步骤S206,报文转发装置根据报文的地址信息访问哈希桶,以获得报文的地址信息所对应的处理类型、以及信用信息和/或统计信息。
步骤S207,报文转发装置根据报文的处理类型判断对报文的处理方式。
步骤S208,在报文转发装置判断对报文进行转发时,报文转发装置根据路由缓存从相应的网络接口转发报文。
应理解,上述部分步骤的实现方式与结合图1所示的实施例的描述相同,此处不再详细描述。
根据本发明实施例的报文过滤/限速方法,通过修改路由缓存的生成方法,减少路由缓存的数目,从而减小系统开销。
下面结合附图详细描述根据本发明实施例的报文转发装置。
一种报文转发装置,包括多个CPU核,且还包括:接收线程模块,用于从应用程序接收IP名单;哈希桶存储模块,用于存储IP名单,其中哈希桶中包括IP名单中每个IP地址对应的处理类型、以及信用信息和/或统计信息;遍历线程模块,用于访问或修改哈希桶中IP地址的信用信息和/或统计信息;接收模块,用于接收报文,并获取报文的地址信息。处理模块,用于根据报文的地址信息访问哈希桶,以获得报文的地址信息所对应的处理类型、以及信用信息和/或统计信息,并根据处理类型、以及信用信息和/或统计信息对报文进行过滤/限速处理。
图3是根据本发明一个实施例的报文转发装置的结构示意图。如图3所示,该报文转发装置包括多个CPU核,且该报文转发装置包括:接收线程模块110、哈希桶存储模块120、遍历线程模块130、接收模块140和处理模块150。
接收线程模块110用于从应用程序接收IP名单。在本发明的一个实施例中,接收线程可由操作系统调度器调度在任意一个CPU核上运行。此外,在本发明的一个实施例中,为了能够快速大批量的导入IP名单,通过socket接口接收IP名单,其中IP名单包括IP黑名单、IP白名单和IP限速名单中的一种或多种。
哈希桶存储模块120用于存储IP名单,其中哈希桶中包括IP名单中每个IP地址对应的处理类型、以及信用信息和/或统计信息。在本发明的一个实施例中,哈希桶可具有多个桶头,且每个桶头根据IP地址的哈希结果确定,由此可以通过对IP地址哈希快速找到IP地址相关信息,同时可以降低多核系统中CPU核间竞争,提高系统性能。
遍历线程模块130用于访问或修改哈希桶中IP地址的信用信息和/或统计信息。
接收模块140用于接收报文,并获取报文的地址信息。
处理模块150用于根据报文的地址信息访问哈希桶,以获得报文的地址信息所对应的处理类型、以及信用信息和/或统计信息,并根据处理类型、以及信用信息和/或统计信息对报文进行过滤/限速处理。
具体地,在本发明的一个实施例中,遍历线程模块130周期性地访问哈希桶,并在哈希桶中的IP地址对应的处理类型为限速时,修改IP地址对应的信用信息,且处理模块150在IP地址对应的信用信息小于预设流量阈值之后将IP地址对应的报文丢弃。此外,在本发明的一个实施例中,遍历线程模块130还用于按照预设的周期将IP地址对应的信用信息进行重置。由此,实现对每个IP单独进行限速。
具体地,在本发明的另一个实施例中,遍历线程模块130还可周期性地访问哈希桶,并在哈希桶中的IP地址对应的处理类型为限速时,获得IP地址对应的统计信息,然后根据统计信息计算IP地址到达的速率。然后,处理模块150在IP地址到达的速率大于预设的速率阈值之后将IP地址对应的报文丢弃。由此,实现灵活的限速策略。
根据本发明实施例的报文转发装置,在对报文进行转发时,根据预设的IP地址名单对所有需要转发的报文进行过滤或者限速,保护后端服务器免受大规模分布式IP的攻击,提高防御性能。
图4是根据本发明一个实施例的报文转发装置的结构示意图。如图4所示,在图3所示的实施例的基础上,该报文转发装置还包括路由缓存建立模块160和转发模块170。
路由缓存建立模块160用于根据报文的目的地址为每个CPU核均生成一个对应的路由缓存,其中路由缓存的信息包括报文的目的地址和每个CPU核的ID。转发模块170用于在处理模块150判断对报文进行转发时,通过路由缓存转发报文。
根据本发明实施例的报文转发装置,通过对收到的所有目的IP相同报文,为每个CPU核生成一条路由缓存,避免多核间在访问路由缓存条目时,加锁保护带来的开销。
下面结合附图详细描述根据本发明实施例的报文处理系统。
图5是根据本发明一个实施例的报文处理系统的结构示意图。如图5所示,该报文处理系统包括第一交换机1、报文转发装置2和第二交换机3。
第一交换机1用于接收攻击报文和普通报文。报文转发装置2为上述结合图3或图4所示的报文转发装置,用于对第一交换机1发送的攻击报文进行过滤处理和/或对部分的普通报文进行限速处理。第二交换机3用于接收报文转发装置2发送的处理后的报文。
根据本发明实施例的报文处理系统,在对报文进行转发时,根据预设的IP地址名单对所有需要转发的报文进行过滤或者限速,保护后端服务器免受大规模分布式IP的攻击,提高防御性能。
图6是根据本发明一个实施例的报文处理系统的结构示意图。如图6所示,该报文处理系统包括第三交换机4和报文转发装置2。
第三交换机4用于接收攻击报文和普通报文,并将攻击报文和普通报文转发至报文转发装置1,以及接收报文转发装置1发送的处理后的报文。报文转发装置2为上述结合图3或图4所示的报文转发装置,用于对第三交换机4发送的攻击报文进行过滤处理和/或对部分的普通报文进行限速处理。
根据本发明实施例的报文处理系统,通过一个交换机实现处理前报文和处理后报文的接收,节省系统开销。同时,在对报文进行转发时,根据预设的IP地址名单对所有需要转发的报文进行过滤或者限速,保护后端服务器免受大规模分布式IP的攻击,提高防御性能。
应理解,上述各个模块或者装置的具体实现过程可与上述方法实施例的描述相对应,此处不再详细描述。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。

Claims (16)

1.一种报文过滤/限速方法,其特征在于,包括以下步骤:
报文转发装置建立接收线程,并通过所述接收线程从应用程序接收IP名单,其中,所述报文转发装置具有多个CPU核;
所述报文转发装置将所述IP名单存入哈希桶之中,其中,所述哈希桶中包括所述IP名单中每个IP地址对应的处理类型、以及信用信息和/或统计信息;
所述报文转发装置建立遍历线程,并通过所述遍历线程访问或修改所述哈希桶中IP地址的信用信息和/或统计信息;
所述报文转发装置接收报文,并获取所述报文的地址信息;
所述报文转发装置根据所述报文的地址信息访问所述哈希桶,以获得所述报文的地址信息所对应的处理类型、以及信用信息和/或统计信息;以及
所述报文转发装置根据所述处理类型、信用信息和统计信息对所述报文进行过滤/限速处理。
2.如权利要求1所述的报文过滤/限速方法,其特征在于,还包括:
所述报文转发装置根据所述报文的目的地址为每个所述CPU核均生成一个对应的路由缓存,其中,所述路由缓存的信息包括所述报文的目的地址和每个所述CPU核的ID;以及
在所述报文转发装置判断对所述报文进行转发时,所述报文转发装置根据所述路由缓存从相应的网络接口转发所述报文。
3.如权利要求1所述的报文过滤/限速方法,其特征在于,还包括:
所述遍历线程周期性地访问所述哈希桶,并在所述哈希桶中的IP地址对应的处理类型为限速时,修改所述IP地址对应的信用信息;以及
在所述IP地址对应的信用信息小于预设流量阈值之后将所述IP地址对应的报文丢弃。
4.如权利要求3所述的报文过滤/限速方法,其特征在于,还包括:
所述遍历线程按照预设的周期将所述IP地址对应的信用信息进行重置。
5.如权利要求1所述的报文过滤/限速方法,其特征在于,还包括:
所述遍历线程周期性地访问所述哈希桶,并在所述哈希桶中的IP地址对应的处理类型为限速时,获得所述IP地址对应的统计信息;
所述遍历线程根据所述统计信息计算所述IP地址到达的速率;以及
如果所述IP地址到达的速率大于预设速率阈值之后将所述IP地址对应的报文丢弃。
6.如权利要求1所述的报文过滤/限速方法,其特征在于,所述哈希桶具有多个桶头,且每个桶头根据所述IP地址的哈希结果确定。
7.如权利要求1所述的报文过滤/限速方法,其特征在于,所述报文转发装置通过Socket接口接收所述IP名单,其中,所述IP名单包括IP黑名单、IP白名单和IP限速名单中的一种或多种。
8.一种报文转发装置,其特征在于,所述报文转发装置包括多个CPU核,且所述报文转发装置还包括:
接收线程模块,用于从用户态应用程序接收IP名单;
哈希桶存储模块,用于存储所述IP名单,其中,所述哈希桶中包括所述IP名单中每个IP地址对应的处理类型、以及信用信息和/或统计信息;
遍历线程模块,用于访问或修改所述哈希桶中IP地址的信用信息和/或统计信息;
接收模块,用于接收报文,并获取所述报文的地址信息;
处理模块,用于根据所述报文的地址信息访问所述哈希桶,以获得所述报文的地址信息所对应的处理类型、以及信用信息和/或统计信息,并根据所述处理类型、以及信用信息和/或统计信息对所述报文进行过滤/限速处理。
9.如权利要求8所述的报文转发装置,其特征在于,还包括:
路由缓存建立模块,用于根据所述报文的目的地址为每个所述CPU核均生成一个对应的路由缓存,其中,所述路由缓存的信息包括所述报文的目的地址和每个所述CPU核的ID;以及
转发模块,用于在所述处理模块判断对所述报文进行转发时,通过所述路由缓存转发所述报文。
10.如权利要求8所述的报文转发装置,其特征在于,所述遍历线程模块,还用于周期性地访问所述哈希桶,并在所述哈希桶中的IP地址对应的处理类型为限速时,修改所述IP地址对应的信用信息,且所述处理模块,还用于在所述IP地址对应的信用信息小于预设流量阈值之后将所述IP地址对应的报文丢弃。
11.如权利要求10所述的报文转发装置,其特征在于,所述遍历线程模块,还用于按照预设的周期将所述IP地址对应的信用信息进行重置。
12.如权利要求8所述的报文转发装置,其特征在于,所述遍历线程模块,还用于周期性地访问所述哈希桶,并在所述哈希桶中的IP地址对应的处理类型为限速时,获得所述IP地址对应的统计信息,以及根据所述统计信息计算所述IP地址到达的速率,且所述处理模块,还用于在所述IP地址到达的速率大于预设速率阈值之后将所述IP地址对应的报文丢弃。
13.如权利要求8所述的报文转发装置,其特征在于,所述哈希桶具有多个桶头,且每个桶头根据所述IP地址的哈希结果确定。
14.如权利要求8所述的报文转发装置,其特征在于,所述报文转发装置通过Socket接口接收所述IP名单,其中,所述IP名单包括IP黑名单、IP白名单和IP限速名单中的一种或多种。
15.一种报文处理系统,其特征在于,包括:
第一交换机,用于接收攻击报文和普通报文;
报文转发装置,所述报文转发装置为如权利要求8-14任一项所述的报文转发装置,用于对所述第一交换机发送的所述攻击报文进行过滤处理和/或对部分的所述普通报文进行限速处理;以及
第二交换机,用于接收所述报文转发装置发送的处理后的报文。
16.一种报文处理系统,其特征在于,包括第三交换机和报文转发装置,其中,
所述第三交换机,用于接收攻击报文和普通报文,并将所述攻击报文和普通报文转发至所述报文转发装置,以及接收所述报文转发装置发送的处理后的报文;
所述报文转发装置,为如权利要求8-14任一项所述的报文转发装置,用于对所述第三交换机发送的所述攻击报文进行过滤处理和/或对部分的所述普通报文进行限速处理。
CN201210164870.3A 2012-05-24 2012-05-24 报文过滤/限速方法、系统及装置 Active CN103428185B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210164870.3A CN103428185B (zh) 2012-05-24 2012-05-24 报文过滤/限速方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210164870.3A CN103428185B (zh) 2012-05-24 2012-05-24 报文过滤/限速方法、系统及装置

Publications (2)

Publication Number Publication Date
CN103428185A CN103428185A (zh) 2013-12-04
CN103428185B true CN103428185B (zh) 2016-06-15

Family

ID=49652366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210164870.3A Active CN103428185B (zh) 2012-05-24 2012-05-24 报文过滤/限速方法、系统及装置

Country Status (1)

Country Link
CN (1) CN103428185B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187436B (zh) * 2015-09-25 2019-03-08 中国航天科工集团第二研究院七〇六所 一种基于散列表的包过滤主机网络控制方法
CN110263534B (zh) * 2019-05-09 2022-01-14 北京奇艺世纪科技有限公司 黑名单存储方法、请求拦截方法、装置及存储介质
CN110545291B (zh) * 2019-09-29 2022-02-11 东软集团股份有限公司 一种攻击报文的防御方法、多核转发系统及相关产品
CN112751974B (zh) * 2020-12-29 2023-05-02 上海异势信息科技有限公司 手机app客户端智能加速限速方法、系统、介质及设备
CN114257416A (zh) * 2021-11-25 2022-03-29 中科创达软件股份有限公司 黑白名单的调整方法及装置
CN114900350B (zh) * 2022-04-29 2024-02-20 北京元数智联技术有限公司 报文传输方法、装置、设备、存储介质及程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079746A (zh) * 2007-06-22 2007-11-28 中兴通讯股份有限公司 宽带接入设备安全实现方法和装置
WO2008005697A1 (en) * 2006-06-30 2008-01-10 Intel Corporation Detection of network environment
CN101137087A (zh) * 2007-08-01 2008-03-05 浙江大学 短信息监控中心及监控方法
CN101707619A (zh) * 2009-12-10 2010-05-12 福建星网锐捷网络有限公司 报文过滤方法、装置及网络设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008005697A1 (en) * 2006-06-30 2008-01-10 Intel Corporation Detection of network environment
CN101079746A (zh) * 2007-06-22 2007-11-28 中兴通讯股份有限公司 宽带接入设备安全实现方法和装置
CN101137087A (zh) * 2007-08-01 2008-03-05 浙江大学 短信息监控中心及监控方法
CN101707619A (zh) * 2009-12-10 2010-05-12 福建星网锐捷网络有限公司 报文过滤方法、装置及网络设备

Also Published As

Publication number Publication date
CN103428185A (zh) 2013-12-04

Similar Documents

Publication Publication Date Title
CN103428185B (zh) 报文过滤/限速方法、系统及装置
CN107005485B (zh) 一种确定路由的方法、对应装置及系统
US9832111B2 (en) OFS in-band communication method and OFS
Quan et al. Scalable name lookup with adaptive prefix bloom filter for named data networking
CN102104541B (zh) 报头处理引擎
US8565092B2 (en) Dynamic flow redistribution for head of line blocking avoidance
US9948575B2 (en) Issuing method for forwarding adjacency link
EP3035612B1 (en) Method for making flow table multiple levels, and multi-level flow table processing method and device
US10079772B2 (en) Queue scheduling method and device, and computer storage medium
CN107786450B (zh) 一种数据报文传输方法、装置及机器可读存储介质
US9973400B2 (en) Network flow information collection method and apparatus
US10404584B2 (en) Load sharing method and router device
CN102710497A (zh) 多核多线程网络设备的报文处理方法及系统
CN101351781B (zh) 在通信网络中处理传入分组的方法和系统
US20200120653A1 (en) Operation Request Generating Method, Device, and System
CN108566344B (zh) 一种报文处理方法和装置
CN104301238A (zh) 一种报文处理方法、装置及系统
CN104092612A (zh) 更新快速转发表匹配顺序的方法及装置
US9218356B2 (en) Systems and methods for accelerating networking functionality
CN100548001C (zh) 一种触发下游设备处理报文的方法及交换设备
JP2017509055A (ja) 並列プロトコル・スタック・インスタンスに基づいてデータパケットを処理する方法および装置
CN109286584B (zh) 一种多核系统中的分片重组方法、装置及设备
US11700189B2 (en) Method for performing task processing on common service entity, common service entity, apparatus and medium for task processing
CN102752208A (zh) 防止半连接攻击的方法及系统
CN108199965B (zh) Flow spec表项下发方法、网络设备、控制器及自治系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant