如何选择DDoS清洗系统的硬件架构?

本文由极御云安全xSec团队撰写,未经授权禁止转载!

上篇文章【如何更好的防御DDoS攻击?】中提到了我们极御云安全为何要自研整套DDoS清洗系统的原因,那么这篇文章将进一步讲述极御云安全对于DDoS清洗系统的硬件选型方面的因素和决定。

先来看看我们在DDoS清洗系统的硬件架构上有哪些选择:

1. x86 [Intel | AMD]
2. ARM [Cavium]
3. TileGX [Tilera]
4. MIPS [Cavium]
5. FPGA [Xilinx | Intel]

其实共有5种硬件架构可以作为DDoS清洗系统的硬件架构,但是如何从中选择适合极御云安全的硬件架构还要从防御需求和后期扩容等情况做选型。

按照我们Boss的对于清洗中心的规划(15年Q3提出的规划),我们清洗中心要覆盖全球主要的几个大洲,并且能够为国内和国外用户提供高质量高水准的DDoS清洗服务,所以我们xSec团队在选择DDoS清洗系统的硬件上花了不少功夫。

针对我们极御云安全的抗D需求,我们也从多个维度分析需求,例如我们部署的集群部署地区、防御集群能力、防御部署模式、攻击清洗架构,简单的整理在下面(下面的需求是15年Q3的规划):

防御部署区域:中国 + 美国 + 欧洲
防御集群能力:Scale-out架构,可随时扩展集群防御能力
防御部署模式:支持串联部署或旁路部署
攻击清洗架构:多层清洗 [Layered Mitigation]

基于上述的需求,我们在最上面的5种硬件架构中做了大量的对比和测试,得出如下结论(可能有些地方我们还不够细致,如有错误也请大佬们指出):

x86架构:
优势:拥有非常优秀和成熟的高性能网络开发框架,例如DPDK、NetMap、PF_Ring ZC,其中DPDK有大量的厂商在深度使用,
并且有非常活跃的社区和生态,能够将DDoS清洗系统的开发周期和难度大幅度降低,同时由于x86的处理器主频较高,适合DPI业务。
	
劣势:采用DPDK开发的DDoS清洗系统可以实现单向处理80Gbps的线速处理能力,但是在双向处理的时候仅能够实现每个方向
40Gbps的线速处理能力,如果单点部署400Gbps防御集群需要10台x86架构的DDoS清洗系统,这会显著增加硬件成本。
ARM架构:
优势:以Cavium OCTEON TX系列为代表的ARM架构处理器,最大80Mpps的网络处理能力,片内集成了硬件安全加速引擎,
多核架构,支持DPDK或原生的se模式,同时可以付费购买SDK,加快研发进度。
	
劣势:以Cavium OCTEON TX CN8370为例,24个CPU核心,最大提供80Mpps的包处理能力,价格昂贵,没有活跃的社区并严重
依赖Cavium官方的售后支撑,导致研发周期较长,国内相关专业人才较少(其实是我们团队没人熟悉Cavium)。
TileGX架构:
优势:拥有大量的CPU核心,被称为众核CPU,片内集成了iMesh、mPipe、Mica等方案,能为应用提供Core级别的加速,同时
开发和移植非常轻松,官方提供了完整的资料和SDK套件,同时TileGX架构的CPU性价比较高。
	
劣势:基于Tilera TileGX-72的众核处理器开发的简单的DDoS清洗系统(Demo),最终只跑出20Gbps / 28Mpps的清洗能力,
似乎有点底,这会导致大的DDoS清洗集群需要大量的DDoS清洗系统硬件,成本上不会很划算。
MIPS架构:
优势:Cavium OCTEON III系列为代表的MIPS处理器,拥有100Gbps线速的处理能力,片内提供Neuron Search Engine和硬件
压缩加速引擎以及第四代DPI加速引擎,同时网络处理性能能够跟随CPU核心进行线性扩展。
	
劣势:价格昂贵,SDK昂贵,没有找到更合适的购买渠道,同样的没有活跃的社区,而且严重依赖Cavium官方的售后支撑。
FPGA架构(到了2016年Q2的时候,100GbE的FPGA板子能买到了):
优势:基于Verilog编写的纯硬件DDoS清洗系统,能够基于Xilinx Virtex UltraScale+芯片非常轻松的实现400Gbps线速处理,
延迟极低,无论攻击是10Gbps还是400Gbps的情况,都不会出现网络延迟抖动(纳秒级)。
	
劣势:研发周期长,主要困难在电路上,并且没有C和C++那么高效灵活和强大的Debug工具,只能依靠示波仪和逻辑分析仪以及厂商
提供的工具来做Debug和相关验证,通常遇到BUG需要大量的时间排查和修复。

在测试了部分硬件架构后,我们初步规划了将Layer 3和Layer 4层的DDoS攻击在FPGA架构上实现清洗,而Layer 7层的攻击在x86架构上实现清洗。

Layer 3和Layer 4的DDoS清洗系统硬件信息:
型号:Bittware XUSP3S or Bittware XUPVV4
芯片:Xilinx Kintex UltraScale 115 or Xilinx Virtex UltraScale+ VU13P
端口:4 * 100GbE QSFP28
内存:4 * Micron MTA36ASF4G72PZ-3G2 32GB DDR4 RECC 3200MT/s 

Layer 7的DDoS清洗系统硬件信息:
CPU:2 * Intel Xeon E5-2687W v4
内存:4 * Micron MTA36ASF4G72PZ-2G3 32GB DDR4 RECC 2400MT/s
网卡:Intel XL710-QDA2
主板:Supermicro X10DRi

硬件选型完成后,我们xSec团队研发接近1年的研发攻坚和压力测试,我们的云甲DDoS清洗系统目前已经达到商用级别,并且拥有独立自主的知识产权,目前云甲DDS清洗系统已经在线上环境测试半年,防御了各种大大小小的DDoS攻击,为极御云安全的防御能力和效果奠定了坚实的基础。

赞(2)
未经允许不得转载:极御云安全官方博客 » 如何选择DDoS清洗系统的硬件架构?
分享到: 更多 (0)

评论 抢沙发

马上开启您的安全之旅

立即开启