高端安全系列(三):软件设计 构建稳固基础(1)

标签:
软件设计it |
分类: 安全 |
文/龚一斌
宽带业务的普及推动着运营商不断扩充网络容量;网络应用的蓬勃发展使传统的2~4层网络安全设备无法对流量进行精确控制,IT管理者们失去了对网络精细管理的能力;……应用需求推动着安全产品走向高端,是否具备出色的软件平台为基础,也成为与用户应用息息相关的关键所在!
1 高效率的软件平台设计面临的挑战
特性 |
ASIC |
FPGA |
NP |
多核处理器 |
可编程能力/易用性 |
||||
可以运行OS |
不支持 |
不支持 |
不支持 |
支持 |
编程 |
不支持动态编程 |
专用逻辑开发语言,开发效率低 |
微码编程,效率居中 |
C语言编程,效率高 |
指令空间 |
— |
受FPGA容量限制 |
受微码空间限制 |
不受限 |
数据转发性能 |
||||
转发处理性能 |
高 |
高 |
高 |
中 |
优化的包转发指令 |
— |
支持 |
支持 |
支持 |
高效率内存子系统 |
— |
支持 |
支持 |
支持 |
优化的包重组、转发、缓存调度 |
支持 |
支持 |
支持 |
支持 |
大容量L2 Cache |
不支持 |
不支持 |
不支持 |
支持 |
内容与安全处理加速 |
||||
硬件加密 |
部分专用ASIC支持 |
可通过编程支持 |
不支持 |
普遍支持 |
正则表达式,模式适配 |
部分专用ASIC支持 |
可通过编程支持 |
不支持 |
部分支持 |
TCP硬件加速 |
部分专用ASIC支持 |
可通过编程支持 |
不支持 |
部分支持 |
硬件压缩与解压缩 |
部分专用ASIC支持 |
可通过编程支持 |
不支持 |
部分支持 |
表1 芯片技术对比
2 高性能软件平台设计的最佳实践
2.1 高效性设计原则
- 分层设计模型是基础架构
http://www.h3c.com.cn/res/200904/15/20090415_748733_image001_631268_30008_0.png构建稳固基础(1)" TITLE="高端安全系列(三):软件设计
图1 安全软件分层处理模型
- 多线程并发设计是提升性能的关键
http://www.h3c.com.cn/res/200904/15/20090415_748734_image002_631268_30008_0.jpg构建稳固基础(1)" TITLE="高端安全系列(三):软件设计
图2 高端安全软件设计模型
(1)串行处理模型
(2)并行处理模型
(3)混合处理模型
- 确保临界资源访问的合理性