0


【安全科普】NUMA防火墙诞生记

一、我为啥姓“NUMA”

随着网络流量和数据包处理需求的指数增长,曾经的我面对“高性能、高吞吐、低延迟”的要求,逐渐变得心有余而力不足。

多CPU技术应运而生,SMP(对称多处理)和NUMA(非一致性内存访问)成为当下最适用的多CPU硬件架构。

SMP的主要特征是“共享”,即所有CPU共享使用全部资源,包括内存、总线和I/O;它的缺点是核数增加到一定程度,就会达到内存读取的性能瓶颈。

SMP架构

为了解决这个问题,工程师们设计了NUMA架构:将CPU划分到不同组(Node),每个节点都有自己的内存和计算资源,处理器可以更灵活地分配资源,提升整体性能和效率。

此外,NUMA架构还可以通过增加节点数量,扩展处理器的计算和存储能力,这让它非常适应大规模并行处理场景。

NUMA架构

基于NUMA架构设计成为防火墙“升级”的优选方案,改良处理器与本地内存之间的访问路径,满足高吞吐、低延迟的网络安全应用的需求,现在的我已经成为了百G防火墙队伍中的主力军。

二、升级后的我强在哪

1、高并发处理能力

每个处理器节点都可以独立处理本地的连接请求和数据流量。通过负载均衡技术(如基于哈希的负载均衡),NUMA防火墙能够将流量均匀分布到各个处理器节点,避免单点瓶颈的问题

例如,使用接收端扩展(RSS)技术,可以将入站流量根据哈希值分配到不同的CPU核,提高并发处理能力。

2、数据包处理自动化

NUMA架构支持高效的数据包处理流水线。每个处理器节点可以专注于流水线中的特定阶段,包括:

  • 数据包分类,根据预定义的规则集,分类数据包。
  • 状态跟踪,维护连接状态表,实现状态检测。
  • 策略匹配,根据安全策略进行包过滤和策略应用。
  • 深度包检测(DPI),对数据包内容进行深度检测,以识别应用层攻击。

通过流水线实现流程自动化,各处理器节点并行计算不同的数据包处理阶段,显著提高整体工作效率

3、智能流量调度

智能流量调度算法可以将流量合理分配到各个处理器节点,避免多处理器间的不均衡负载。常用的调度算法包括:

  • 轮询调度(Round-Robin),简单高效,将流量均匀分配到各处理器节点。
  • 最短路径优先(SPF),根据路径长度和处理器负载,动态调整流量分配。
  • 连接哈希调度,根据连接的哈希值,确保同一连接的流量始终由同一处理器节点计算,提高缓存命中率。

结合实际流量特点选用调度算法,可以大幅提升NUMA防火墙的性能与效率。

三、助我升级的关键技术

1、高效数据包过滤

NUMA防火墙通过多核并行处理能力,实现高效的数据包过滤。每个处理器节点都可以独立运行包过滤算法,包括基于规则集的包过滤、状态检测包过滤和应用层包过滤(Snort、Suricata等)。

2、深度包检测(DPI)

DPI是下一代防火墙的重要功能,可以识别并防御应用层攻击。在NUMA架构下,每个处理器节点会进行不同的数据流处理或DPI任务,能够完成大规模数据包流量的处理,实现高性能深度包检测。

3、连接状态维护

NUMA防火墙需要维护大量的连接状态信息,以支持状态检测。可以将连接状态表分布到各处理器节点,减少跨节点访问的延迟;应用哈希分区技术,将连接状态信息按哈希值分配至不同节点,提高访问效率。

4、安全策略执行

NUMA架构中的安全策略执行同样可以分布在多个处理器节点,每个节点根据预定义的策略规则,独立执行安全策略,包括访问控制、流量限制和入侵检测功能。使用高效的规则匹配算法(Aho-Corasick算法等),还能够显著提高策略执行效率。

NUMA防火墙具备多核并行处理、内存局部优化、智能流量调度、高效的包过滤及DPI等核心能力,为用户提供高性能、低延迟、强扩展性的创新体验。随着网络安全需求的日新月异,NUMA架构在高性能防火墙设计中的应用也将更加广泛和深入。


本文转载自: https://blog.csdn.net/olga5abl/article/details/143788348
版权归原作者 安博通 所有, 如有侵权,请联系我们删除。

“【安全科普】NUMA防火墙诞生记”的评论:

还没有评论