虚拟防火墙CPU保护机制的原理与改进

时间:2022-09-15 11:00:29

虚拟防火墙CPU保护机制的原理与改进

摘 要:虚拟防火墙的出现,改进了传统物理防火墙管理难度较大,网络结构复杂,投资较高的缺点,但是同时也存在CPU利用率低,数据处理速度慢的不足。对此,本文阐述并分析了虚拟防火墙的CPU保护机制原理,提出了一种改进的CPU保护机制,有效地提高了CPU的利用率和实时的数据处理速度。

关键词:网络安全;虚拟防火墙; CPU保护机制; 机制改进

中图分类号:TP393.08文献标识码:Adoi:10.3969/j.issn.1003-6970.2010.10.008

The principle and Improvement of the Virtual Firewall’s CPU Protection Mechanism

Li Qi Xu Guoai

(Key Laboratory of network and information attack & defence technology of MOE, Beijing University of Posts and Telecommunications)

Abstract:The weak points of the traditional physical firewall, for example, the management was difficult, the network structure was complicated, and the investment was high, were improved by the emergence of the virtual firewall which at the same time may process data slowly and not utilize CPU completely. This paper described and analyzed the CPU protection mechanism of the virtual firewall, and proposed an improved CPU protection mechanism, which effectively improved CPU utilization and real-time data processing speed.

Keywords: Network Security; Virtual Firewall; CPU Protection Mechanism; Improvement

1. 引 言

随着信息科技的发展与进步,网络安全越来越受关注,防火墙也随之成为局域网中必不可少的安全设备,已成为企业或学校安全部署的首要选择,维护网络安全的关键。但每个物理防火墙的投资成本和维护费用都比较高,而且不同的用户在使用IDC或者MSSP(管理安全服务提供商)提供的服务时,可能需要不同的策略或安全规则。因此,出现了虚拟防火墙技术。

2. 虚拟防火墙简介

虚拟防火墙就是可以将一台物理防火墙[1,2]在逻辑上划分成多台虚拟的防火墙,每个虚拟防火墙系统都可以被看成是一全独立的防火墙设备,各自虚拟系统的数据包根据各自虚拟系统的路由进行转发,每个虚拟系统都可拥有独立的系统资源、管理员、安全策略、用户认证数据库[3]等,互不影响,互不干涉。

虚拟防火墙的应用[3]如图1所示:防火墙向外提供出租业务,其中虚拟防火墙VS1租给企业A,虚拟防火墙VS2租给企业B,并使防火墙的接口fe1和接口fe3属于VS1,即默认网关为fe1的主机的只能与fe3接口的主机或网络设备通信;使接口fe2和接口fe4属于VS2,即默认网关为fe2的主机的只能与fe4接口的主机或网络设备通信;从而使企业A和企业B的流量互不干扰,保证了通信的可靠性和机密性。

图1虚拟防火墙的应用

Fig. 1The application of the virtual firewall

3. 虚拟防火墙CPU保护机制

虽然虚拟防火墙在功能上互相独立,但所有虚拟系统需要共享CPU资源[4],如果其中某个虚拟系统需要处理的数据流量非常大,如遭受了DOS攻击[5],那么它就会消耗掉这台实体防火墙的全部CPU资源,最终导致所有虚拟系统死机。为了防止该现象发生,可以设计一种CPU保护机制,使每个虚拟系统都只能占用一部分CPU,这样即使某个或某些虚拟系统死机,也不会影响到其他的虚拟系统,从而有效保证网络其他应用的正常运行。

3.1保护机制原理

为了合理地分配CPU资源,可以根据虚拟系统的业务流量来为每个虚拟系统设置一个无量纲的CPU权重系数。然后根据这些权重在防火墙所有虚拟系统权重中所占比例来分配与这些权重成比例的时间配额。并通过一秒的时间间隔执行此时间配额。即:

每个虚拟系统CPU时间配额=(1)

如有5个虚拟系统的防火墙,则其权重系数和CPU时间配额如下:

只要虚拟系统在一秒内使用的CPU资源未超过其时间配额,防火墙就不会负载过重,属于该虚拟系统的数据包就不会被丢弃。在设定权重系数时,必须预料到一些数据流激增的情况,并相应地选择CPU权重,以便激增的数据流能够通过防火墙。

虚拟防火墙的CPU保护机制算法如下:

假设虚拟系统VS1在1s内的CPU时间配额为ST,已用CPU资源为at,初始值为0,开始处理一个数据包的时间点为st,处理完成后的时间点为ft,每隔pt = 125ms的时间将at累加,即

at = at + (ft C st) (2)

如果剩余CPU资源rt = ST - at0,即该虚拟系统仍具有剩余CPU资源,则继续处理数据包及at累加的过程(2);如果rt = ST - at0,即该虚拟系统CPU时间配额已用尽,则将该数据包丢弃,并丢弃此1s内所有后续数据包。

3.2保护机制改进

上述设计的优点是在某个虚拟系统出现死机状况时可以保护其他虚拟系统,但如果某个虚拟系统正接收很大的数据流并始终超过其配额,则没有数据包可以通过,而其他的虚拟系统可能同时只使用了非常少量的CPU资源,由此产生了浪费CPU的情况。因此可以对上述设计进行改进,当虚拟系统VS1的已用CPU资源大于配额时,可遍历其他虚拟系统的已用CPU资源,如果存在小于其配额10%的虚拟系统VS2,则可将VS2时间配额的20%增加到VS1的时间配额中,然后将VS1的已用CPU资源与新的时间配额进行比较,小于新配额就转发,否则丢弃。算法如下:

假设虚拟系统VSi(i=1,2,…n, n为虚拟系统的个数)在1s内的CPU时间配额为STi,已用CPU资源为ati,初始值为0,开始处理一个数据包的时间点为sti,处理完成后的时间点为fti,每隔pt=125ms的时间将ati累加,即

ati = ati + (fti C sti) (3)

如果剩余CPU资源rti=STi-ati0,即该虚拟系统VSi仍具有剩余CPU资源,则继续处理数据包及ati累加的过程(3);如果某个虚拟系统VSp的剩余CPU资源rtp=STp-atp0,即该虚拟系统CPU时间配额已用尽,则遍历除VSp之外的其他n-1个虚拟系统的剩余CPU资源rti,如果存在一个虚拟系统VSm,使rtmSTm×10%,则将VSp的CPU时间配额增加STm的20%,即

STpnew = STp + STm × 20%(4)

然后继续累加的过程(3);如果不存在任何的虚拟系统VSi,使rti < STi×10%,则将VSp数据包丢弃,并丢弃此1s内所有后续数据包。

4. 测试结果

采用改进前的设计时,含有6个虚拟系统的防火墙的CPU利用率测试结果如表2所示,其中1min表示此虚拟系统在最后1分钟中所使用的CPU配额百分比,5min表示此虚拟系统在最后5分钟中所使用的CPU配额百分比,15min表示此虚拟系统在最后15分钟中所使用的CPU配额百分比。

由表2可知,VS1在最后1分钟、最后5分钟、最后15分钟中几乎使用了其全部资源配额,有丢包现象。其它虚拟系统在最后1分钟使用了其资源配额的7%到8%,在最后5分钟使用了其资源配额的 17% 到 18%,在最后15分钟使用了其资源配额的 9% 到 12%,通信正常。

表3是使用改进后的算法时的CPU使用率测试结果,其中流经各虚拟系统的流量与改进前相同。因为VS2只使用了其CPU资源配额的不到10%,因此VS1的配额上升了20%,不再发生丢包现象。

本文给出了一种虚拟防火墙CPU保护机制的改进方法。虚拟防火墙的特性解决了传统防火墙部署方式存在的不足,不仅节约了资金,也可以很好的缓解复杂组网环境中独立的安全策略需求所带来的网络拓扑复杂、网络结构扩展性差等问题[6]。并且由于虚拟防火墙的CPU保护机制,可以将资源分别独立分配给各个虚拟系统,彼此之间互不干扰,因此当一个虚拟系统因抵御黑客攻击耗费大量资源的时候,另一个虚拟系统的资源可以不受任何影响。而改进后的CPU保护机制可以在独立分配资源的同时更加有效地利用CPU资源。

6. 致谢

感谢徐国爱副教授及北京邮电大学网络与信息攻防技术教育部重点实验室全体老师和同学对我的帮助!

参考文献

[1] Iptables [OL]. [2002-05-20]. /files/iptables-1.2.6a.tar.bz2.

[2] Michael Rash. Linux 防火墙 = Linux firewalls : attack detection and response with iptables, psad, and fwsnort[M]. 陈健. 北京:人民邮电出版社,2009.

[3] William Stallings. 网络安全基础 = Network security essentials : 应用与标准 applications and standards[M]. 白国强. 北京:清华大学出版社,2007.

[4] 汤子赢. 计算机操作系统[M]. 西安:西安电子科技大学出版社,2002.

[5] Merike Kae. 网络安全性设计[M].北京:人民邮电出版社,2003

[6] 杨超.虚拟企业信息化若干关键技术研究[D].上海:东华大学,2005

作者简介:李琪(1986-),女,硕士研究生,主要研究方向:网络安全

注:“本文中所涉及到的图表、公式、注解等请以PDF格式阅读”

上一篇:解读远程教育的距离 下一篇:从水位偏高说开去