一种新的内嵌式防火墙负载均衡系统.pdf

2 一种新的内嵌式防火墙负载均衡系统 情况下都会采用集群的方案。 自从集群技术诞生以来,如何将其应用在网络设备上,从而提高网络的高可 用性(HA)成为研究的热点问题;同样,防火墙作为绝大多数网络必备的一个网络 设备,担任着网络警察的作用,甚至有时集成了网关等功能;当防火墙发生故障 时,整个网络很可能出现瘫痪,或者当网络吞吐量过大时,防火墙无法达到要求 的吞吐量,成为整个网络吞吐量的瓶颈,为了避免这些问题,如何实现防火墙的 集群也成为各大防火墙制造商的研发热点。 1.2.3防火墙负载均衡系统研究现状 据分析,当前国内外绝大多数知名防火墙制造商提供的负载均衡功能的实现 分为以下三种:一类是简单的应用第三方提供的负载均衡设备,而这会在很大程 Router 度上增加了防火墙的成本;另一类是应用VRRP(VLmlalRedundancyProtoc01) 等技术实现了对内网的分割,并非真正意义上的负载均衡;第三类是应用 LVS(LinuxVirtual Server)等技术实现了对内网的服务器的集群,而并非防火墙本身 的集群;所以以内嵌的模块形式实现集群技术成为解决防火墙集群的最佳方案, 从而达到以最低的成本实现防火墙的高可用性,并提高了网络的安全程度的目的。 本文所研究的负载均衡方案就是基于这一点出发而设计的。 1.2.3防火墙负载均衡系统课题的意义和来源 在内嵌式防火墙负载均衡系统的设计上, 国内还没有成熟的产品,绝大多数 的防火墙的负载均衡都是依赖第三方的产品完成的,这在很大的程度上增加了防 火墙的本身的成本,并且增加了网络的复杂程度,因此研制能够内嵌在防火墙自 身,并且实现高可用性及负载均衡的模块必然会大大提高网络的可用性,且带来 很大的经济效益。 本课题来源于海信数码科技有限技术公司“内嵌式防火墙负载均衡系统”项 目。 1.3课题采用的主要技术及预期目标 1.3.1采用的相关技术 由于我们整个设计是内嵌在基于Linux的网络防火墙之中,而这种防火墙的包 过滤、地址转换和连接跟踪功能都是在Netfilter模块中实现的,所以我们的模块也 第一章绪论 操作系统中模块的整个架构,Netfilter的架构和函数注册机制,我们的集群系统对 外网和内部用户的都是透明的,所以我们需要在所有的网口之上虚拟出多个m地 址,使用完全一致的MAC地址,这些采用了Linux的MAC和口地址虚拟技术: 为了将数据包尽可能平均的分配到集群内的各个防火墙节点去处理,我们需要设 计简单可靠的网络数据包分配算法,而算法的设计又完全依赖于数据包包头的信 息,所以我们又用到了Linux操作系统中TCP/IP协议的实现和整个网络架构,以 及一些重要的数据结构。 为了实现高可用的功能,我们的系统必须设计网络检测的功能,实时的检测 整个网络的变化,包括旧的节点的撤出,节点故障以及新的节点的加入,所以我 们将所有的节点中的同步网口加入一个多播组,所以用到了多播的概念,同时所 有的代码必须通过Socket编程实现。 当节点变化时,我们必须将集群内正常工作的节点数echo到内核当中,这部 分我们用到了Linux中可以进行用户空间于内核空间通信的Proc文件系统,我们 在此文件系统中注册若干个文件,用于将正常工作的节点数,以及一些其他的信 息传入内核中的算法之中。 整个系统的人机界面使用CGI和BSHELL语言编写。 1.3.2内嵌式防火墙负载均衡系统的最终实现的效果 当启动防火墙中的负载均衡功能时,整个防火墙的集群系统对于外网和内网用 户完全透明,整个系统拥有多个虚拟的Ⅲ地址,对应网口拥有完全一致的MAC 地址,当数据包进入集群系统后,各个节点平均的处理自己符合算法结果的数据 包, 从而实现负载的均分。 当防火墙集群出现网络变化时,如新的节点加入,旧的节点的撤出,已有节 点发生故障,整个集群能在几乎察觉不到的时间内检测节点的变化,并无缝的将 数据包重新进行分配,如果变化是由节点故障引起的,系统会及时的发出报警, 通知管理员进行修复。 整个系统提供非常友好的人机界面,用户能在界面上输入集群需要的参数, 启动和停止集群功能,并实时的检测当前集群内节点的运行情况。 1.4

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档