CN112231107B - 防火墙的报文限速系统、方法、设备及介质 - Google Patents

防火墙的报文限速系统、方法、设备及介质 Download PDF

Info

Publication number
CN112231107B
CN112231107B CN202011176506.XA CN202011176506A CN112231107B CN 112231107 B CN112231107 B CN 112231107B CN 202011176506 A CN202011176506 A CN 202011176506A CN 112231107 B CN112231107 B CN 112231107B
Authority
CN
China
Prior art keywords
virtual firewall
speed
cpu core
speed limiting
firewall
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
CN202011176506.XA
Other languages
English (en)
Other versions
CN112231107A (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.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security Technologies 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 New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN202011176506.XA priority Critical patent/CN112231107B/zh
Publication of CN112231107A publication Critical patent/CN112231107A/zh
Application granted granted Critical
Publication of CN112231107B publication Critical patent/CN112231107B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

本公开提供了防火墙的报文限速系统、方法、设备及介质,所述系统包括:命令增加模块,用于在防火墙上配置所有CPU核对应的第一设定阈值和配置每一CPU核分别对应的第二设定阈值,其中,当所有CPU核的总CPU使用率大于第一设定阈值,且任一目标CPU核的CPU使用率大于第二设定阈值时,启动软件丢包;统计模块,用于读取内核态中记录的所述目标CPU核上一周期放行报文总数量和所述目标CPU核针对每一虚拟防火墙分别丢弃报文数量,并计算所述每一虚拟防火墙分别对应的丢弃报文数量与放行报文总数量的第一比值;CPU核心限速模块,用于当任一虚拟防火墙对应的第一比值大于第三设定阈值,则针对所述任一虚拟防火墙启动硬件限速。

Description

防火墙的报文限速系统、方法、设备及介质
技术领域
本公开涉及互联网技术领域,更为具体来说,本公开涉及防火墙的报文限速系统、方法、设备及介质。
背景技术
根据云计算标准组织的模型定义,云计算包含IAAS,PAAS和SAAS三个层面的服务形式,而IAAS作为基础设置级别的云计算服务,其将基础设施包括网络、存储、计算等资源进行虚拟化等处理,能够为每个用户提供相对独立的服务器计算资源、存储资源以及在承载网上设定专有的数据转发通道,这种云计算的模式已经得到IT业界的广泛认可。
在IAAS的建设过程中,不同的租户共享云计算基础设施,考虑到租户之间的业务经营范围上的差异,其在安全服务的需求上也必然存在不同的要求,这就要求云计算基础设备能够实现针对租户的差异化的安全策略和服务,因此虚拟防火墙在云场景中被广泛使用。
云场景通常租户较多,需要配置较多数量的Context,当某一个虚拟防火墙由于受到攻击等原因占用较多资源时,可能会影响整机或其他虚拟防火墙。因此,需要对单个虚拟防火墙的资源进行限制,保护系统资源合理使用。
配置Context资源限制的时候,一般是通过限制会话的新建、并发、吞吐量来实现。
事实上对于资源的分配,最重要的是合理分配CPU资源。一方面,客户可能并不知道多少新建、多少吞吐量对应多少CPU,不知道如何配置;另一方面,当某个虚拟防火墙的会话、并发、吞吐量超出了配置的门限值,设备会对超出的流量进行丢包,而丢包行为是由软件处理的,本身也会消耗CPU资源。
发明内容
为解决现有技术的不能满足根据用户实际需要对防火墙的CPU占用资源进行合理限速以提高工作效率的技术问题。
为实现上述技术目的,本公开提供了
一种防火墙的报文限速系统,包括:
命令增加模块,用于在防火墙上配置所有CPU核对应的第一设定阈值和配置每一CPU核分别对应的第二设定阈值,其中,当所有CPU核的总CPU使用率大于第一设定阈值,且任一目标CPU核的CPU使用率大于第二设定阈值时,启动软件丢包;
统计模块,用于读取内核态中记录的所述目标CPU核上一周期放行报文总数量和所述目标CPU核针对每一虚拟防火墙分别丢弃报文数量,并计算所述每一虚拟防火墙分别对应的丢弃报文数量与放行报文总数量的第一比值;
CPU核心限速模块,用于当任一虚拟防火墙对应的第一比值大于第三设定阈值,则针对所述任一虚拟防火墙启动硬件限速。
进一步,
在针对所述任一虚拟防火墙启动硬件限速时,所述CPU核心限速模块具体用于:
启动硬件限速功能,并针对所述任一虚拟防火墙配置对应的限速策略;以及基于所述限速策略对接收到的报文进行限速操作。
进一步,
所述限速策略包括所述任一虚拟防火墙的ID,所述目标CPU核的编号和针对所述任一虚拟防火墙上送至所述目标CPU核的报文进行限速的限速值,其中,在针对所述任一虚拟防火墙启动硬件限速后,所述任一虚拟防火墙上送至所述目标CPU核的报文的速率小于等于所述限速值;
在基于所述限速策略对接收到的报文进行限速操作时,所述CPU核心限速模块具体用于:
根据接收到的报文的信息确定转发该报文所需的虚拟防火墙,以及该虚拟防火墙上送的CPU核,若确定需要通过所述任一虚拟防火墙将该报文上送至所述目标CPU核进行报文处理,则采用所述限速策略对所述报文进行限速处理。
进一步,
在针对所述任一虚拟防火墙启动硬件限速后,所述统计模块还用于计算一个周期内所述目标CPU核针对所述任一虚拟防火墙的丢弃报文数量与所述目标CPU核放行报文总数量的第一比值;
若该第一比值仍大于第三设定阈值,则减小所述限速值;
若在连续超过预设时间周期的时间内,存在任一周期所述第一比值大于第三设定阈值,且其余时间所述第一比值持续低于第三设定阈值,则增大所述限速值;
若在连续超过预设时间周期的时间内,不存在所述第一比值大于第三设定阈值,则删除所述限速策略,停止硬件限速。
为实现上述技术目的,本公开还能够提供一种防火墙的报文限速方法,作用于上述的防火墙的报文限速系统,所述方法包括:
当所有CPU核的总CPU使用率大于第一设定阈值,且任一目标CPU核的CPU使用率大于第二设定阈值时,启动软件丢包;
当启动软件丢包后,所述统计模块读取内核态中记录的所述目标CPU核上一时间周期内放行的报文总数量以及所述目标CPU核针对每一虚拟防火墙分别丢弃报文数量,并计算任一虚拟防火墙所述丢弃报文数量与所述报文总数量的所述第一比值;
若任一虚拟防火墙的所述第一比值大于预设的第三设定阈值,则所述CPU核心限速模块针对该虚拟防火墙启动硬件限速。
进一步,所述动态调整具体包括:
增大限速值操作、减小限速值操作和/或停止硬件限速操作。
进一步,所述减小限速值操作具体为:若该第一比值仍大于第三设定阈值,则减小所述限速值;
所述增大限速值操作具体为:若在连续超过预设时间周期的时间内,存在任一周期所述第一比值大于第三设定阈值,且其余时间所述第一比值持续低于第三设定阈值,则增大所述限速值;
所述停止硬件限速操作具体为:若在连续超过预设时间周期的时间内,不存在所述第一比值大于第三设定阈值,则删除所述限速策略,停止硬件限速。
为实现上述技术目的,本公开还能够提供一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时用于实现上述的防火墙的报文限速方法的步骤。
为实现上述技术目的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的防火墙的报文限速方法的步骤。
本公开的有益效果为:
1、本公开适用于CPU+FPGA架构的设备,在虚拟防火墙受到攻击时,可以通过FPGA实现硬件限速,限速丢包处理减少对CPU的消耗,限速性能更高,效果更好。
2、配置此功能时,用户并不需要精确关注自己环境中真实流量的各种指标以及这些流量和安全业务配置组合起来对性能的影响,即无需关心环境中具体的新建、并发、吞吐量以及开启的安全业务,只需要限制CPU阈值即可,可简化配置,便于运维。
附图说明
图1示出了本公开的实施例1的结构示意图;
图2示出了虚拟防火墙的结构示意图;
图3示出了本公开的实施例3的流程示意图;
图4示出了本公开的实施例4的结构示意图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在附图中示出了根据本公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状以及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
本公开涉及的术语解释:
FPGA,全称:Field Programmable Gate Array,现场可编程门阵列;
VFW,全称:Virtual Firew all,虚拟防火墙。
虚拟防火墙通过虚拟化技术将一台物理设备划分成多台逻辑设备,每台逻辑设备就称为一个Context。每个Context拥有自己专属的软硬件资源,独立运行。
对于用户来说,每个Context就是一台独立的设备,方便管理和维护;对于管理者来说,可以将一台物理设备虚拟成多台逻辑设备供不同的分支机构使用,可以保护现有投资,提高组网灵活性。
如图2所示,LAN 1、LAN 2和LAN 3是三个不同的局域网,它们通过同一台设备Device(代表物理设备)连接到外网。通过虚拟化技术,能让一台设备当三台设备使用。具体做法是,在Device上创建三个Context(Context1、Context2、Context3分别代表3个虚拟防火墙),分别负责LAN 1、LAN 2、LAN 3的安全接入。LAN 1、LAN 2、LAN 3的网络管理员可以(也只能)分别登录到自己的设备进行配置、保存、重启等操作,不会影响其它网络的使用,其效果等同于LAN 1、LAN 2和LAN 3分别通过各自的设备Device 1、Device 2、Device 3接入Internet。
实施例一:
如图1所示:
本公开提供了一种防火墙的报文限速系统,包括:
命令增加模块100,用于在防火墙上配置所有CPU核对应的第一设定阈值和配置每一CPU核分别对应的第二设定阈值,其中,当所有CPU核的总CPU使用率大于第一设定阈值,且任一目标CPU核的CPU使用率大于第二设定阈值时,启动软件丢包;
本公开的命令增加模块100的可选实施方式可以如下所述:
在防火墙上新增命令行,用于在缺省防火墙和虚拟防火墙上实现CPU两级限速:
V fw capability unicast total cpu-usage threshold//threshold为可配置的阈值
V fw capability unicast single cpu-usage threshold//threshold为可配置的阈值
第一个命令行用来配置所有虚拟防火墙入方向单播报文的总CPU消耗率限制,第二个命令行用来配置单个虚拟防火墙入方向单播报文的CPU消耗率限制。
限速功能分为两级,第一级为整机(即所有虚拟防火墙)的CPU门限,默认情况下,单个虚拟防火墙的CPU门限等于总门限除以虚拟防火墙的个数。同时,每个虚拟防火墙内CPU门限也可以单独手工配置。假设有3个虚拟防火墙vfw 1、vfw 2、vfw 3,则如下配置表示,防火墙整机的CPU门限值为60%,默认情况下每个虚拟防火墙的CPU门限值为60%/3=20%,而vfw 1的CPU门限值被单独配置为30%,因此vfw 1的CPU门限值为30%。
V fw capability unicast total cpu-usage 60%
V fw vfw 1 capability unicast single cpu-usage 30%
缺省防火墙的接口收到报文进入虚拟防火墙内,检查总CPU门限和当前虚拟防火墙自己的CPU门限,如果当前CPU总占用率高于门限,继续检查每个虚拟防火墙的CPU的占用率,如果超出了单虚拟防火墙的门限,开始随机丢包。此处的丢包指的是消耗CPU的软件丢包。
统计模块200,用于读取内核态中记录的所述目标CPU核上一周期放行报文总数量和所述目标CPU核针对每一虚拟防火墙分别丢弃报文数量,并计算所述每一虚拟防火墙分别对应的丢弃报文数量与放行报文总数量的第一比值;
CPU核心限速模块300,用于当任一虚拟防火墙对应的第一比值大于第三设定阈值,则针对所述任一虚拟防火墙启动硬件限速。
为实现硬件丢包,启用一个用户态进程,周期性地读取内核态每个CPU核每个虚拟防火墙的通过的报文数量和丢弃的报文数量,周期长度设为时间T。如果当前某个CPU核的某个虚拟防火墙丢弃报文数量和当前周期T内的当前CPU核所有虚拟防火墙的总放行报文数量相比,达到了一定的比例(设为参数R即本公开上述第三设定阈值,本例中假设为20%),认为软件丢弃了过多的报文,则下发FPGA硬件限速。
软件下发硬件限速阈值的依据为:当前周期T内该虚拟防火墙CPU核的放行的报文数量,再除以周期时间长度,得出当前虚拟防火墙的CPU核下发硬件限速的目标速率(单位为PPS)。
例如物理设备上共有100个虚拟防火墙,40个CPU数据核,正常的未受攻击的39个核,每个核每个虚拟防火墙上送5K PPS,全部放行,受到攻击的一个CPU核,某个虚拟防火墙上送了500K PPS,放行了4K PPS,其他虚拟防火墙仍然上送5K PPS,周期5秒,则一个定时器周期T内,丢弃的报文数量/放行的报文数量=(500K-4K)/(4K+99*5K)=99%,99%大于R(本例中假设R为20%),所以这个虚拟防火墙的该CPU核需要下发硬件限速,当前限速值为该CPU核放行的报文数量4K PPS。
当需要下发硬件限速时,软件调用驱动接口打开硬件限速开关,填入虚拟防火墙ID,CPU核,限速值。FPGA的硬件版本可以确定报文所属的虚拟防火墙,同时能确定每个报文上送哪个数据核(此为现有实现),因此可以根据软件下发的这三个参数进行限速,针对所需要限速的虚拟防火墙,发往该CPU核的报文,超出限速值的部分随机丢包。
进一步,
在针对所述任一虚拟防火墙启动硬件限速时,所述CPU核心限速模块具体用于:
启动硬件限速功能,并针对所述任一虚拟防火墙配置对应的限速策略;以及基于所述限速策略对接收到的报文进行限速操作。
进一步,
所述限速策略包括所述任一虚拟防火墙的ID,所述目标CPU核的编号和针对所述任一虚拟防火墙上送至所述目标CPU核的报文进行限速的限速值,其中,在针对所述任一虚拟防火墙启动硬件限速后,所述任一虚拟防火墙上送至所述目标CPU核的报文的速率小于等于所述限速值;
在基于所述限速策略对接收到的报文进行限速操作时,所述CPU核心限速模块具体用于:
根据接收到的报文的信息确定转发该报文所需的虚拟防火墙,以及该虚拟防火墙上送的CPU核,若确定需要通过所述任一虚拟防火墙将该报文上送至所述目标CPU核进行报文处理,则采用所述限速策略对所述报文进行限速处理。
进一步,
在针对所述任一虚拟防火墙启动硬件限速后,所述统计模块还用于计算一个周期内所述目标CPU核针对所述任一虚拟防火墙的丢弃报文数量与所述目标CPU核放行报文总数量的第一比值;
若该第一比值仍大于第三设定阈值,则减小所述限速值;
若在连续超过预设时间周期的时间内,存在任一周期所述第一比值大于第三设定阈值,且其余时间所述第一比值持续低于第三设定阈值,则增大所述限速值;
若在连续超过预设时间周期的时间内,不存在所述第一比值大于第三设定阈值,则删除所述限速策略,停止硬件限速。
实施例二:
如图2所示:
本公开还能够提供一种防火墙的报文限速方法,作用于上述的防火墙的报文限速系统,所述方法包括:
S1:当所有CPU核的总CPU使用率大于第一设定阈值,且任一目标CPU核的CPU使用率大于第二设定阈值时,启动软件丢包;
S2:当启动软件丢包后,所述统计模块读取内核态中记录的所述目标CPU核上一时间周期内放行的报文总数量以及所述目标CPU核针对每一虚拟防火墙分别丢弃报文数量,并计算任一虚拟防火墙所述丢弃报文数量与所述报文总数量的所述第一比值;
S3:若任一虚拟防火墙的所述第一比值大于预设的第三设定阈值,则所述CPU核心限速模块针对该虚拟防火墙启动硬件限速。
进一步,所述调整操作具体包括:
上调硬件限速数值操作、下调硬件限速数值操作和/或删除硬件限速数值操作。
用户态进程记录哪些虚拟防火墙下发过硬件限速速率,并且记录上一次下发的限速速率的数值,周期性的跟踪这些虚拟防火墙的每个CPU核的报文统计,决定是否调整速率,既可能继续下调硬件限速速率,也可能放宽硬件限速速率或者删除硬件限速规则。
下调硬件限速速率:当定时器超时后,如果当前虚拟防火墙的CPU核软件丢包数量占所有的虚拟防火墙放行报文数量比例仍然超过20%,则继续下发硬件限速,此时硬件限速的阈值为上一次的限速值减去0.5K PPS。如本例中上一次下发的限速值为4K PPS,则当一个时间周期T后,仍需要下调硬件限速速率时,下发的限速值为4.0K–0.5K=3.5K PPS。
上调硬件限速速率:在N个定时器周期内(N可设置),符合如下条件,可上调硬件限速速率:
1)连续N个周期中,每个时钟周期内,未检测到虚拟防火墙的CPU核出现软件限速丢包(出现软件限速丢包说明硬件限速值不够高,仍然存在CPU核压力较大的情况);
2)连续N个周期中,至少有一个周期统计计算出的软件放行报文的速率和下发的硬件速率比,高于一个门限,这个门限是一个比例,例如70%,如果N个周期每个周期软件放行报文的速率都比较低,这种情况说明硬件限速速率过高,没有必要上调;
3)连续N个周期中,每个时钟周期内,每个虚拟防火墙CONTEXT的CPU核的CPU占用率低于分配门限的一个比例,例如70%。说明当前CPU的CONTEXT运行压力较低;
4)连续N个周期中,每个时钟周期内,统计出当前核的总CPU占用率低于总检测门限的一个比例,例如70%,则说明当前总CPU较空闲,可以上调下发的硬件限速速率。
每次周期超时后,遍历所有的虚拟防火墙和所有的CPU核,条件1)和条件2)为必要条件,同时条件3)和条件4)满足其一,就可以启动上调当前核的当前CONTEXT硬件限速速率。每次上调一个指定参数值,如0.5K PPS,则下一次下发的限速值为4K+0.5K=4.5K PPS。
每次周期定时器超时后,依次检查前面的4个条件,满足条件1)和条件2)且条件3)和条件4)满足其一,连续N此满足以上条件,则上调限速阈值0.5K PPS,否则,停止上调。第一次上调之前必须连续N个时钟周期内满足上调条件,上调完成后的下一个时钟周期仍然满足条件,可以继续上调,否则,停止上调。
删除硬件限速速率:如果某个虚拟防火墙攻击解除,后续的流量压力很低,可以删除这个虚拟防火墙的CPU核的硬件限速功能,以下是检查条件:
1)连续N个周期中,每个时钟周期内,未检测到虚拟防火墙的CPU核出现软件限速丢包(出现软件限速丢包说明硬件限速值不够高,仍然存在CPU核压力较大的情况);
2)连续N个周期中,每个周期统计计算出的放行报文的速率和下发的硬件速率比,低于一个门限,这个门限是一个比例,例如70%,如果连续N个周期每个周期放行报文的速率都比较低,可以删除硬件限速速率;
3)连续N个周期中,每个时钟周期内,每个虚拟防火墙的CPU核的CPU占用率低于分配门限的一个比例,例如70%。说明当前CPU核的虚拟防火墙运行压力较低,可以删除硬件限速速率;
4)连续N个周期中,每个时钟周期内,统计出当前核的总CPU占用率低于总检测门限的一个比例,例如70%,则说明当前总CPU较空闲,可以删除硬件限速速率。
实施例三:
本公开还能够提供一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时用于实现上述的防火墙的报文限速方法的步骤。
本公开的计算机存储介质可以采用半导体存储器、磁芯存储器、磁鼓存储器或磁盘存储器实现。
半导体存储器,主要用于计算机的半导体存储元件主要有Mos和双极型两种。Mos元件集成度高、工艺简单但速度较慢。双极型元件工艺复杂、功耗大、集成度低但速度快。NMos和CMos问世后,使Mos存储器在半导体存储器中开始占主要地位。NMos速度快,如英特尔公司的1K位静态随机存储器的存取时间为45ns。而CMos耗电省,4K位的CMos静态存储器存取时间为300ns。上述半导体存储器都是随机存取存储器(RAM),即在工作过程中可随机进行读出和写入新内容。而半导体只读存储器(ROM)在工作过程中可随机读出但不能写入,它用来存放已固化好的程序和数据。ROM又分为不可改写的熔断丝式只读存储器──PROM和可改写的只读存储器EPROM两种。
磁芯存储器,具有成本低,可靠性高的特点,且有20多年的实际使用经验。70年代中期以前广泛使用磁芯存储器作为主存储器。其存储容量可达10位以上,存取时间最快为300ns。国际上典型的磁芯存储器容量为4MS~8MB,存取周期为1.0~1.5μs。在半导体存储快速发展取代磁芯存储器作为主存储器的位置之后,磁芯存储器仍然可以作为大容量扩充存储器而得到应用。
磁鼓存储器,一种磁记录的外存储器。由于其信息存取速度快,工作稳定可靠,虽然其容量较小,正逐渐被磁盘存储器所取代,但仍被用作实时过程控制计算机和中、大型计算机的外存储器。为了适应小型和微型计算机的需要,出现了超小型磁鼓,其体积小、重量轻、可靠性高、使用方便。
磁盘存储器,一种磁记录的外存储器。它兼有磁鼓和磁带存储器的优点,即其存储容量较磁鼓容量大,而存取速度则较磁带存储器快,又可脱机贮存,因此在各种计算机系统中磁盘被广泛用作大容量的外存储器。磁盘一般分为硬磁盘和软磁盘存储器两大类。
硬磁盘存储器的品种很多。从结构上,分可换式和固定式两种。可换式磁盘盘片可调换,固定式磁盘盘片是固定的。可换式和固定式磁盘都有多片组合和单片结构两种,又都可分为固定磁头型和活动磁头型。固定磁头型磁盘的容量较小,记录密度低存取速度高,但造价高。活动磁头型磁盘记录密度高(可达1000~6250位/英寸),因而容量大,但存取速度相对固定磁头磁盘低。磁盘产品的存储容量可达几百兆字节,位密度为每英寸6250位,道密度为每英寸475道。其中多片可换磁盘存储器由于盘组可以更换,具有很大的脱体容量,而且容量大,速度高,可存储大容量情报资料,在联机情报检索系统、数据库管理系统中得到广泛应用。
实施例四:
本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的防火墙的报文限速方法的步骤。
图4为一个实施例中电子设备的内部结构示意图。如图4所示,该电子设备包括通过系统总线连接的处理器、存储介质、存储器和网络接口。其中,该计算机设备的存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种防火墙的报文限速方法。该电设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种防火墙的报文限速方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
该电子设备包括但不限于智能电话、计算机、平板电脑、可穿戴智能设备、人工智能设备、移动电源等。
所述处理器在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器内的程序或者模块(例如执行远端数据读写程序等),以及调用存储在所述存储器内的数据,以执行电子设备的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheralcom ponent interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器以及至少一个处理器等之间的连接通信。
图4仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图4示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。
可选地,该电子设备还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
进一步地,所述计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。本公开的范围由所附权利要求及其等价物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (10)

1.一种防火墙的报文限速系统,其特征在于,包括:
命令增加模块,用于在防火墙上配置所有CPU核对应的第一设定阈值和配置每一CPU核的每一虚拟防火墙分别对应的第二设定阈值,其中,当所有CPU核的总CPU使用率大于第一设定阈值,且任一目标CPU核的任一虚拟防火墙CPU使用率大于第二设定阈值时,启动软件丢包;
在防火墙上新增命令行,用于在缺省防火墙和虚拟防火墙上实现CPU两级限速:
第一个命令行用来配置所有虚拟防火墙入方向单播报文的总CPU消耗率限制,第二个命令行用来配置单个虚拟防火墙入方向单播报文的CPU消耗率限制;
统计模块,用于读取内核态中记录的所述目标CPU核上一周期放行报文总数量和所述目标CPU核针对每一虚拟防火墙分别丢弃报文数量,并计算所述每一虚拟防火墙分别对应的丢弃报文数量与放行报文总数量的第一比值;
CPU核心限速模块,用于当任一虚拟防火墙对应的第一比值大于第三设定阈值,则针对所述任一虚拟防火墙启动硬件限速。
2.根据权利要求1所述的系统,其特征在于,在针对所述任一虚拟防火墙启动硬件限速时,所述CPU核心限速模块具体用于:
启动硬件限速功能,并针对所述任一虚拟防火墙配置对应的限速策略;以及基于所述限速策略对接收到的报文进行限速操作。
3.根据权利要求2所述的系统,其特征在于,所述限速策略包括所述任一虚拟防火墙的ID,所述目标CPU核的编号和针对所述任一虚拟防火墙上送至所述目标CPU核的报文进行限速的限速值,其中,在针对所述任一虚拟防火墙启动硬件限速后,所述任一虚拟防火墙上送至所述目标CPU核的报文的速率小于等于所述限速值;
在基于所述限速策略对接收到的报文进行限速操作时,所述CPU核心限速模块具体用于:
根据接收到的报文的信息确定转发该报文所需的虚拟防火墙,以及该虚拟防火墙上送的CPU核,若确定需要通过所述任一虚拟防火墙将该报文上送至所述目标CPU核进行报文处理,则采用所述限速策略对所述报文进行限速处理。
4.根据权利要求3所述的系统,其特征在于,在针对所述任一虚拟防火墙启动硬件限速后,所述统计模块还用于计算一个周期内所述目标CPU核针对所述任一虚拟防火墙的丢弃报文数量与所述目标CPU核放行报文总数量的第一比值;
若该第一比值仍大于第三设定阈值,则减小所述限速值;
若在连续超过预设时间周期的时间内,存在任一周期所述第一比值大于第三设定阈值,且其余时间所述第一比值持续低于第三设定阈值,则增大所述限速值;
若在连续超过预设时间周期的时间内,不存在所述第一比值大于第三设定阈值,则删除所述限速策略,停止硬件限速。
5.一种防火墙的报文限速方法,作用于如权利要求1~4任一项中所述的防火墙的报文限速系统,其特征在于,所述方法包括:
当所有CPU核的总CPU使用率大于第一设定阈值,且任一目标CPU核的任一虚拟防火墙的CPU使用率大于第二设定阈值时,启动软件丢包;
当启动软件丢包后,所述统计模块读取内核态中记录的所述目标CPU核上一时间周期内放行的报文总数量以及所述目标CPU核针对每一虚拟防火墙分别丢弃报文数量,并计算任一虚拟防火墙所述丢弃报文数量与所述报文总数量的所述第一比值;
若任一虚拟防火墙的所述第一比值大于预设的第三设定阈值,则所述CPU核心限速模块针对该虚拟防火墙启动硬件限速。
6.根据权利要求5所述的方法,其特征在于,当所述CPU核心限速模块针对该虚拟防火墙启动硬件限速后,所述方法还包括:
根据计算一个周期内所述目标CPU核针对所述任一虚拟防火墙的丢弃报文数量与所述目标CPU核放行报文总数量的第一比值与预设的第三设定阈值的大小关系进行动态调整针对所述任一虚拟防火墙上送至所述目标CPU核的报文进行限速的限速值。
7.根据权利要求6所述的方法,其特征在于,所述动态调整具体包括:
增大限速值操作、减小限速值操作和/或停止硬件限速操作。
8.根据权利要求7所述的方法,其特征在于,
所述减小限速值操作具体为:若该第一比值仍大于第三设定阈值,则减小所述限速值;
所述增大限速值操作具体为:若在连续超过预设时间周期的时间内,存在任一周期所述第一比值大于第三设定阈值,且其余时间所述第一比值持续低于第三设定阈值,则增大所述限速值;
所述停止硬件限速操作具体为:若在连续超过预设时间周期的时间内,不存在所述第一比值大于第三设定阈值,则删除限速策略,停止硬件限速;
其中,所述限速策略为启动硬件限速功能,并针对所述任一虚拟防火墙配置对应的限速策略;
所述限速策略包括所述任一虚拟防火墙的ID,所述目标CPU核的编号和针对所述任一虚拟防火墙上送至所述目标CPU核的报文进行限速的限速值,其中,在针对所述任一虚拟防火墙启动硬件限速后,所述任一虚拟防火墙上送至所述目标CPU核的报文的速率小于等于所述限速值。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求5~8任一项中所述的防火墙的报文限速方法的步骤。
10.一种计算机存储介质,其上存储有计算机程序指令,其特征在于,所述程序指令被处理器执行时用于实现权利要求5~8任一项中所述的防火墙的报文限速方法对应的步骤。
CN202011176506.XA 2020-10-28 2020-10-28 防火墙的报文限速系统、方法、设备及介质 Active CN112231107B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011176506.XA CN112231107B (zh) 2020-10-28 2020-10-28 防火墙的报文限速系统、方法、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011176506.XA CN112231107B (zh) 2020-10-28 2020-10-28 防火墙的报文限速系统、方法、设备及介质

Publications (2)

Publication Number Publication Date
CN112231107A CN112231107A (zh) 2021-01-15
CN112231107B true CN112231107B (zh) 2023-06-30

Family

ID=74110684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011176506.XA Active CN112231107B (zh) 2020-10-28 2020-10-28 防火墙的报文限速系统、方法、设备及介质

Country Status (1)

Country Link
CN (1) CN112231107B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113505051A (zh) * 2021-06-29 2021-10-15 新华三大数据技术有限公司 数据上报方法以及装置、网络设备、计算机可读存储介质
CN114064293B (zh) * 2021-11-26 2022-10-04 江苏安超云软件有限公司 一种基于轮询的无锁限速方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651629A (zh) * 2009-09-17 2010-02-17 杭州华三通信技术有限公司 一种cpu接收报文分级动态调度的方法及设备
CN106603427A (zh) * 2017-01-17 2017-04-26 汉柏科技有限公司 防火墙中实现软件bypass的方法及装置
CN107547508A (zh) * 2017-06-29 2018-01-05 新华三信息安全技术有限公司 一种报文发送、接收方法、装置及网络设备
CN110740100A (zh) * 2019-10-22 2020-01-31 新华三信息安全技术有限公司 一种传输速率确定方法、装置、网络设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180159894A1 (en) * 2016-12-01 2018-06-07 Cisco Technology, Inc. Automatic threshold limit configuration for internet of things devices
CN106506392B (zh) * 2016-12-19 2019-11-26 深圳创维数字技术有限公司 一种网络拥塞处理方法及装置
CN109787859B (zh) * 2019-01-11 2022-06-10 深圳市网心科技有限公司 基于网络拥塞探测的智能限速方法、装置及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651629A (zh) * 2009-09-17 2010-02-17 杭州华三通信技术有限公司 一种cpu接收报文分级动态调度的方法及设备
CN106603427A (zh) * 2017-01-17 2017-04-26 汉柏科技有限公司 防火墙中实现软件bypass的方法及装置
CN107547508A (zh) * 2017-06-29 2018-01-05 新华三信息安全技术有限公司 一种报文发送、接收方法、装置及网络设备
CN110740100A (zh) * 2019-10-22 2020-01-31 新华三信息安全技术有限公司 一种传输速率确定方法、装置、网络设备及存储介质

Also Published As

Publication number Publication date
CN112231107A (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
US10331492B2 (en) Techniques to dynamically allocate resources of configurable computing resources
CN112422453B (zh) 一种报文处理的方法、装置、介质及设备
CN112231107B (zh) 防火墙的报文限速系统、方法、设备及介质
US20170155560A1 (en) Management systems for managing resources of servers and management methods thereof
US20120198254A1 (en) Capping power consumption in a data storage system
CN111052086A (zh) 一种云托管函数的暖启动技术
CN106648849A (zh) 进程的冷冻方法和移动终端
JP6640242B2 (ja) ハイブリッドストレージシステム内のサービス品質を改善するためのシステム及び方法
JP5840594B2 (ja) ストレージシステムによるメモリ管理の方法および装置
US10788996B2 (en) Computer system and process execution method
US10305974B2 (en) Ranking system
CN112600761B (zh) 一种资源分配的方法、装置及存储介质
CN110543355A (zh) 一种自动均衡云平台资源的方法
CN106603256B (zh) 一种流量控制方法及装置
CN107071045A (zh) 一种基于多租户的资源调度系统
US9823857B1 (en) Systems and methods for end-to-end quality of service control in distributed systems
CN107395735B (zh) 一种容器集群的延时缩容调度方法及系统
WO2021174382A1 (zh) 一种消息拉取方法、装置以及计算机存储介质
CN110795323A (zh) 负载统计方法、装置、存储介质及电子设备
CN114020529A (zh) 一种流表数据的备份方法、装置、网络设备和存储介质
WO2021207923A1 (zh) 集群扩容方法、装置、存储介质及电子设备
CN108287760A (zh) 终端设备控制方法及装置、终端设备及计算机可读存储介质
CN116841458A (zh) 存储器读写控制方法、系统、终端及存储介质
US10452553B1 (en) Systems and methods for distributing cache space
CN112751786B (zh) 基于可编程交换机的slb加速系统、方法、装置、设备及介质

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