全揭秘:山石网科全分布式架构技术


山石网科的全分布式架构打破了传统架构的限制,采用了创新的资源管理算法实现全分布式实时动态信息的管理机制,采用了基于会话的全分布式处理流程实现业务流量在SSM与IOM上的分布式处理。因此整个系统的性能可以随着CPU数量的扩展而全面线性的增长,而且基于该架构的数据平面软件容易扩展应用到虚拟机中。

本文将全方位揭秘全分布式架构的由来和去往,以及区别于传统架构的几个特点。

全分布式架构缘何而来?

网络的快速发展带来越来越多高清视频、流媒体和P2P等高带宽应用,致使网络流量激增。宽带的普及和移动互联网的发展带来海量用户,海量用户直接带来的便是高点击率和同时在线人数的激增。在给网络数据中心带来压力的同时,对安全设备的性能也提出了更高的挑战,主要体现为具备高吞吐能力、高并发连接数、高新建连接速率等指标的表现。

但是,由于传统架构自身限制,安全设备性能和扩展性的突破仍然存在一些瓶颈。单CPU的系统在高端安全产品上无法满足用户要求。多核CPU中堆叠式架构和现有的分布式架构都因各自的问题,而无法使安全产品性能做到全面有效的线性增长。

多核CPU架构的性能瓶颈  RTO管理最关键

首先说堆叠式架构。堆叠式架构是将多个系统模块在一个大的系统中叠加起来,以此来提升整机的数据处理能力。但是它存在问题是子系统模块之间的性能与容量不能相互支援,跨模块之间的性能比较低且无法实现相互冗余,并且对于整个系统中资源的管理和对实时动态信息(RTO)的管理都会比较困难,要知道,RTO是决定整个安全设备性能和可扩展性的关键因素之一。因此,堆叠式架构无法使安全设备的资源得到有效利用。

再说分布式架构。它是目前最常见的架构,分为共享型分布式架构和复制型分布式架构。
共享型分布式架构是在多CPU的系统架构中采用集中的RTO-DB管理方式。在共享型分布式架构中,RTO-DB是一个全局的集中式数据库,所有的RTO信息都存储在RTO-DB中,所有对于RTO的操作都通过远程调用来实现。这样的系统的性能会受限于单一的数据库,尤其是在CPU数量不断增加的情况下,这种一对多的模式将会对性能提升有更大的限制。同时,一旦这个集中式数据库出现问题将影响整个系统。因此,共享型不仅会带来性能瓶颈,还存在单点故障的问题。

复制型分布式架构是在多CPU系统中采用所有CPU上完全复制RTO信息的方式。在复制型分布式架构中,RTO-DB存储全部RTO信息,并且每一个CPU上都有相同的RTO-DB的复制信息。虽然这样可以避免单点故障问题,但是当CPU数量增加时,对于CPU之间RTO-DB的信息同步复杂度却是在不断增加的,会造成系统资源的内耗,如CPU资源的更多占用等,这也将影响系统性能扩展。

全分布式架构 性能极限是天空

全分布式架构是山石网科自主研发的全新架构,最大的特点就是可以实现海量流量的高速处理和在业务模块(SSM)和接口模块(IOM)上的分布式高速处理,并突破了多CPU下的资源无法高效分配的技术壁垒,实现RTO信息在多CPU上分布式存储与同步。

全分布式架构的业务流量处理是分布式的,它由多个IO接口模块(IOM)和安全业务模块(SSM)组成的,它们由高速交换通道进行相互连接。数据包处理是在IOM和SSM上完全分布式进行。当数据包由接口进入防火墙后,数据包既可以通过IOM直接独立进行快速转发,也可以在SSM上进行分布式处理后,再由IOM接口送出。这样的分布式处理方式提高了各模块CPU的利用率,也使系统性能得到大幅提升。

而对于最关键的RTO管理,山石网科应用专利技术采用全分布式处理机制。全分布式架构的RTO-DB是在SSM的CPU上完全分布式部署的。每一个CPU负责一个本地的RTO-DB,整个RTO-DB的信息完全分布式存储在各个本地RTO-DB中。同时,采用拥有专利技术的独特的资源分布管理算法,保证对于RTO-DB的定位和检索。

与之前的方式相比,全分布式RTO-DB处理方式可以使系统间通信复杂度恒定,即使是增加系统中CPU的数量,对于RTO-DB的管理和操作也同样可以保持高性能与高效运行。采用全分布式架构可以实现系统性能的全面线性扩展,保证系统的性能提升,并可支持应用层安全处理能力的大幅度提升,而且可以避免单点故障问题。

一句话来概括,思想有多远,性能就有多强大。