论文部分内容阅读
随着计算机网络的发展,网络安全问题已经逐渐引起人们的关注。目前,解决网络安全问题最有效的方法就是使用防火墙。防火墙技术已经从早期的简单包过滤技术,发展到如今的内核代理技术。同时,除了对数据包进行过滤这一基本功能之外,防火墙也逐渐增加了各种新的功能,例如日志、报警、攻击检测和流量控制等。现在,这些功能绝大多数都已经变为防火墙的标准配置。
然而,目前国内大多数防火墙对流量控制机制的支持情况并不尽如人意,甚至很多防火墙根本不支持流量控制机制。但在现实中,网上的各种多媒体应用越来越多,这些应用的使用要求一定的服务质量(QoS)。所以如何能够有效地解决流量控制的公平问题,同时能够对多媒体业务提供潜在的性能保证是当前各类防火墙亟待解决的问题。
通过对用户需求的调研,我们认为一个成功的流量控制机制应该能够对某些特殊的会话提供其所需服务质量(QoS),但与此同时也不能因此而阻碍其它会话的传送。这样就要求我们对网上的数据流分类,并给以不同的优先级。
在此研究基础上,我们提出了一个崭新的流量控制算法——VCPABA算法。该算法以RPS框架为理论基础。在对Linux内核进行分析之后,我们在防火墙中具体实现了它。值得注意的是,该型防火墙已经通过了国家有关部门的功能检测(包括流量控制),现已投放市场。
本文的主要工作包括:
◆对防火墙技术进行了一个简单的回顾,给出了流量控制机制所处的技术平台。
◆深入探讨了Linux内核现有的流量控制机制。通过对这些算法的分析,我们发现并没有适合防火墙的现成算法,同时了解了如何在Linux内核中实现新的算法。此外,对于DiffServ模型,本文也给予了相当的关注。
◆详细研究了流量控制的一些经典理论,例如GPS、RPS和VirtualClock。GPS是一种理论上完美的调度算法,但事实上却不可能实现。因此,人们对GPS进行了修正,以便其能够实现,这就是PGPS。VCPABA算法的思想受到了PGPS的影响。RPS框架则是VCPABA算法的主要理论基础。通过使用RPS框架中相关定理,我们可以轻易证明VCPABA算法的正确性。VCPABA算法的主要思想来源于虚拟时钟算法(VirtualClock)。但与其不同的是,VCPABA算法是公平的。
◆完整的提出了防火墙下流量控制的算法——VCPABA算法。我们首先阐述了Linux下防火墙流量控制框架,接着具体给出了算法的形式化描述。在此基础上,我们讨论了VCPABA算法在防火墙上的具体实现,给出了对应的伪代码。最后,通过应用RPS框架中的相关定理,我们证明了VCPABA算法理论上的正确性,并得出了它能够满足防火墙用户的服务质量(QoS)关注的结论。