分布式网络防火墙及基于流的转发系统

2019-09-10 07:22杨信锟
赤峰学院学报·自然科学版 2019年1期
关键词:会话吞吐量防火墙

杨信锟

摘要:快速的网络发展对防火墙性能提出了更高要求.本文提出了一种分布式网络防火墙硬件架构,基于一致性哈希算法的分布式存储会话信息,基于流的转发及流量负载均衡,能有效提升防火墙性能.

关键词:分布式;防火墙;吞吐量;会话;一致性哈希算法

中图分类号:TP393  文献标识码:A  文章编号:1673-260X(2019)01-0057-03

1 引言

快速的网络发展对防火墙的性能要求提出了超高吞吐量、并发连接数和每秒新建连接数的全面性能要求;并且安全性能可以按需进行线性扩展,应用安全处理能力也需具备高性能与可扩展性.

2 现有方案与问题剖析

1.1 堆叠式架构

堆叠式架构是将多个系统子模块叠加成一个大的系统.但这种架构中系统子模块之间的容量与性能不能相互支援,跨模块间的性能较低,无法实现冗余,不便于整个系统的会话管理,资源无法有效利用.

1.2 共享型分布式架构

共享型分布式架构采用集中会话管理,通过集中式数据库存储会话信息,通过远程调用查找会话信息.若CPU数量不断增加,受限于单一的数据库,将会限制此架构性能提升,集中式数据库的问题将影响整个系统.

1.3 复制型分布式架构

复制型分布式架构采用复制会话信息的方式,通过本地的会话数据库查找会话信息.若CPU数量增加,同步复杂度会随之提升,内耗系统资源.

3 分布式网络防火墙原理

本文提出一种分布式网络防火墙的硬件架构,由多张接口卡和业务卡组成,管理通道和数据通道进行互联,数据包处理在接口卡和业务卡上完全分布式进行.数据包首先从接口进入防火墙,可以通过接口卡直接独立快速转发,也可以在业务卡上进行分布式处理后,再由接口卡转发,这样可以实现系统性能的全面线性扩展,保证了系统的高吞吐、高新建、高并发.硬件架构如图1.

高性能硬件防火墙可以支持上亿个并发连接数,集中式会话存储必然导致大量会话信息同步,消耗大量CPU资源,并存在单点故障问题,因此需要采用分布式方案来存储会话信息.本文对术语做如下约定:

(1)RTO(实时动态信息),表示一个会话或一条流.RTO是指进行数据包处理中动态创建的信息,这些信息包含数据处理过程中所需信息,又包含系统监控、攻击防护所需的状态信息和计数器等.

(2)RTO-DB,存储RTO信息的数据库.

(3)LRTO-DB,本地的RTO-DB.

分布式RTO-DB是在防火墙所有业务卡CPU上进行分布式部署.整个RTO-DB完全分布式存储于各本地的RTO-DB(即LRTO-DB)中,每个本地的RTO-DB由一个CPU负责.RTO信息可以通过五元组(源MAC地址,目的MAC地址,源IP地址,目的IP地址,传输层协议)的哈希值来散列存储在不同的防火墙业务卡的各个CPU上,目的是负载均衡,线性扩展系统性能.本方案所采用的哈希算法必须遵循平衡性、单调性、分散性原则进行设计.在分布式架构防火墙中,RTO存储需要考虑防火墙卡添加、删除、故障等问题.如果采用计算五元组的MD5值,然后再按防火墙卡CPU总数取模,散列存储到各个CPU上,那么在有防火墙卡添加或删除后,无法找到很多原有RTO数据,严重违反单调性原则.针对RTO的分布式存储引入一致性哈希算法.

算法流程:(1)环形Hash空间.环形Hash空间由0-65535的桶的空间组成KEY,数字头尾相连,形似闭环.(2)将业务卡通过Hash函数映射到环上.通过Hash算法计算出业务卡1-3对应的KEY,再分布至Hash环上.(3)将RTO通过Hash函数映射到环上.通过Hash算法计算出RTO1-4对应的KEY,再分布至Hash环上,然后以顺时针的方向将对应的RTO存储到离自己最近的业务卡中.过程如图3所示.

会话信息的分布式存储需要考虑到业务卡的添加与删除时,信息的转储操作.

(1)业务卡的删除.若业务卡2因故障被删除,基于顺时针迁移法,RTO1会被迁移到业务卡3中,这样仅引起RTO1映射位置变化,其他对象无任务改动:

(2)业务卡的添加.若新添业务卡4,通过Hash算法计算出KEY4,再分布至Hash环上,按顺时针迁移的规则,RTO2被迁移到了业务卡4中,其他RTO无变化:

综上所述,算法能保证负载均衡的同时满足单调性,但平衡性有所欠缺.例如上文所示,只部署业务卡1和业务卡3的情况,RTO4被分配到业务卡1中,而RTO1、RTO2、RTO3都被分配到业务卡3中,出现了不平衡状态.所以本文在算法中引入虚拟业务卡以解决平衡性问题.每个物理业务卡对应若干个“虚拟业务卡”,如图6所示.

RTO信息从Hash到虚拟业务卡到物理业务卡的转换如图7所示:

慢通道(Slow Path):P1:在防火墙接口卡的一个端口处接收报文,将报文传递至交换机;P2:将报文传递给CPU+FPGA处理单元,使用报文的五元组信息来执行一致性哈希查找对应的会话(慢通道不存在对应的会话);P3:CPU+FPGA处理单元通过数据通道向管理板转发报文;P4:管理板根据报文的五元组信息找到对应的哈希索引对应的防火墻业务卡及对应的CPU并转发报文到对应的防火墙业务卡;P5:交换机将报文转发到对应的CPU,对应的CPU根据报文五元组等相关的信息对应的会话信息,并存储在LRTO-DB中;P6:CPU将报文重新转发给管理板;P7:管理板转发报文到对应的报文输出端口所在的防火墙接口卡中的对应CPU中;P8:交换机将报文转发到输出端口.

快通道(Fast Path):P1:在防火墙接口卡的一个端口处接收报文,将报文传递至交换机;P2:将报文传递给CPU+FPGA处理单元,使用报文的五元组信息来执行一致性哈希查找到对应的会话;P3/P4:防火墙业务卡将查到的RTO信息通过管理通道发送给防火墙接口卡;P5:管理板转发报文到对应的报文输出端口所在的防火墙接口卡中的对应CPU中;P6:交换机将报文转发到输出端口.

4 结束语

通过上述原理可以看出,分布式硬件架构及基于一致性哈希算法的分布式存储会话信息可以使得防火墙的性能线性扩展,能够满足超高吞吐量、并发连接数和每秒新建连接数的全面性能要求.

参考文献:

〔1〕杨鸿骏.防火墙硬件架构发展漫谈[J].计算机网络安全,2010(8):86-86.

〔2〕林波.分布式存储系统中一致性哈希算法的研究[J].电脑知识与技术,2011,07(22):5295-5296.

猜你喜欢
会话吞吐量防火墙
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量
2016年11月长三角地区主要港口吞吐量
初探素质教育与初中英语教学
用绘画导入英语教学
2014年1月长三角地区主要港口吞吐量
防火墙选购必读
新手设置Windows Vista自带防火墙
年龄大小的种种说法