如何选择真正的万兆防火墙?
http://www.cnw.com.cn/security-10g-firewall/htm2011/20110526_225444.shtml
随着“三网合一”、 “P2P视频”、“高清宽带”、“云时代”等逐渐成为人们关注的焦点,网络带宽的需求产生了几何级别的增长。目前,“千兆到桌面、万兆做骨干”对于交换机和路由器都已基本实现,在这种趋势下,传统千兆防火墙不可避免地成为了网络的瓶颈,无法真正适用于高速网络中。因此,在万兆网络大规模普及的今天,万兆安全时代也真正来临了。
尽管各大厂商都意识到万兆安全设备的推出势在必行,然而基于对市场的理解和技术储备的不同,目前市场上的万兆防火墙产品也是参差不齐。面对市场万兆防火墙鱼龙混杂的情况,作为用户,如何分辨真伪,选择最为合适的产品呢?接下来,我们将从四个角度来探讨一下。
其一,平滑扩容十分重要
迅速发展的应用推动着网络带宽不断拓宽,从56K modem到ISDN、ADSL、EPON等百兆千兆入户都已经实现;同样的,随着大规模数据中心建设、移动互联网、云计算的到来,业务系统数据量也急剧发展,交换路由设备的性能都是业务系统实际性能几十倍甚至更多,足可以满足未来3~5年的发展,而安全设备的选择,我们以业务系统之间万兆互联为例,在两个业务系统中部署防火墙至少应该是万兆级别,而这远远不够,因为当前选择的万兆防火墙性能可能会在业务扩容之后成为业务瓶颈。如果该防火墙不具备性能扩容能力,就可能会造成投资的浪费。因此建议选择具备性能可平滑扩容能力的万兆防火墙。
市场上大多万兆防火墙宣称最大性能为20G。而此类防火墙不仅不能从性能上扩容,而且实际性能更达不到宣称的数值,如一些防火墙所谓的20G的性能是在Jumbo帧的情况下得来的,而Jumbo帧作为非标准化格式的报文,一般在互联网上是不可能传输的。目前在市面上实际性能可达到20G的防火墙主要是一些网络类厂商所推出的,借鉴交换路由设备,采用分布式转发架构设计,一般可达到真正的万兆限速转发。
其二,功能可扩展性不容忽视
对于万兆防火墙而言,不仅性能要可以平滑扩容,而且其抵御***威胁功能应该也可不断跟进。对采用普通处理器的防火墙而言,增加功能则意味着性能的下降,因为对普通CPU而言,每增加一行代码,其性能就会下降一点。对万兆防火墙的部署场景,这是不允许的。因此业内许多厂商就考虑通过其他手段从防火墙主处理器上卸载防火墙功能,如下图所示:

图 1 基于硬件加速的架构
首先,把处理相对比较简单,但是流量很大的“快速路径”从处理器上“卸载(offlaod)”,把“宝贵”的处理器资源留给复杂的协议处理和报文的深度检测。另外一方面,本身具有高带宽的外部接口专用芯片如FPGA/ASIC、NPU等等,具有很强的报文处理能力。让这些芯片去承担大吞吐量的快速路径处理,充分发挥其硬件加速的特点。
而对于采用何种专用芯片来处理从处理器卸载下来的业务呢?我们来看一下几种常见芯片的优劣对比。

从上表中可以看到,无论采用上述何种模式的硬件协处理器,在性能上的差别不大,唯一的差别,就是功能是否可扩展,对于层出不穷的安全威胁,功能能否扩展就显得尤为重要。
其三,能否与网络设备实现无缝对接
高端防火墙与低端防火墙相比,在网络中部署的位置更核心、可靠性要求跟苛刻,除了实现安全域划分、抗***外,还要无缝地与其他网络设备对接,如将防火墙部署在使用OSPF、MPLS ×××、IPv6网络中,对防火墙的网络特性要求非常高,这也限制了许多信息安全类厂商在防火墙领域的发展。而网络类厂商则具有得天独厚的优势。
同时,在大型网络出口、数据中心,对组网的可靠性也提出了非常高的要求,网络的任何一个设备、链路出现故障后都需要快速的切换、收敛。这要求防火墙必须能支持接口组联动、NQA、BFD等从物理接口到设备状态等不同层面的可靠性机制,从而保障网络出现故障时可以快速的切换和收敛。
其四,性能不受海量安全策略影响
对于高端防火墙本身产品定位与部署位置而言,都决定了在其实际运行时,会开启海量的安全策略。而1条安全策略与10000条安全策略,对于防火墙的性能要求完全是不一样的概念。在每年的运营商集采测试过程中,许多厂家的防火墙性能都会随着策略的增加而迅速下降。因此,高端防火墙必须有效地解决这个问题。
结束语
我们都知道,防火墙与交换路由在性能上始终存在差距,未来网络性能技术会随着用户需求、芯片技术的发展呈几何级发展,防火墙技术需要快速发展才能真正网络发展的脚步。
在选择万兆防火墙来对业务系统进行防护时,高性能、高稳定性、丰富的网络特性都是用户需要考虑的因素。
转载于:https://blog.51cto.com/xiaonan/578819
相关文章:

Salesforce Lightning开发学习(二)Component组件开发实践
lightning的组件区分标准组件、自定义组件和AppExchange组件。标准组件由SF提供,自定义组件由developer自行开发,AppExchange组件由合作伙伴建立。下面我们写一个简单的列表demo来学习下自定义开发组件Component。 第一步:新建一个对象&#…

转 java c++互传arraylist
Java JNI由浅入深(包括:Java和C互传ArrayList泛型对象参数) 2010-11-25 09:57 1694人阅读 评论(1) 收藏 举报我们知道Java是一个运行在虚拟机里面的高级的编程语言,如果要调用系统的动态链接库的话,就要先声明native修饰的方法(类似接口里面的…

GoAccess安装及分析nginx实时日志
GoAccess是一个基于终端的快速日志分析器。其核心思想是实时快速分析和查看Web服务器统计信息,而无需使用您的浏览器(如果您希望通过SSH快速分析访问日志,或者只是喜欢在终端中工作),终端输出是默认输出,但…

在写游戏时钟类时,应确保时钟的计算是以某个固定的CPU为标准的
在写游戏时钟类时,应确保时钟的计算是以某个固定的CPU为标准的。下面通过一个例子来阐述如何实现这一思想: // 记录特定进程的affinity maskunsigned long lProcessAffinityMask;// 记录系统的affinity maskunsigned long lSystemAffinityMask;::GetProc…

学习Spring Boot
Spring boot 是什么 ? 简单说, spring boot 是一个构建项目的工具, 一个脚手架. Spring boot 能干什么? spring boot 做非常少的配置就可以构建生产级别的单体应用. Spring boot 怎么干的? 下面让我们来用spring boot 做一个hello world. 环境准备, 需要保证你的机器上已经有…

Linux添加用户组和添加用户
1.用户组 添加组:groupadd 组名 [rootServer-n93yom ~]# groupadd dev [rootServer-n93yom ~]# cat /etc/group | grep dev dev:x:10011: [rootServer-n93yom ~]# 删除组:groupdel 组名 [rootServer-n93yom ~]# groupdel dev [rootServer-n93yom ~]# cat…

用javascript实现仿163的js广告向下挤压页面的效果
本次实现一个js小小特效,效果就是广告从页面的上方出来将基本页面挤压下去。 实现的思路是将两个div(广告div1和div2)。将div1的高度不断增加,增加的同时div2的y轴坐标变大,div1的高度增加多少相对应的y轴坐标加大多少…

【eclipse】快速调整eclipse背景和格式的方法
第一步 第二步 第三步 :选择相应的格式 效果如图

对做C#自定义控件的一点心得
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装这个COM组件,中间遇到很多曲折,研究了一个星期,终于完成了 下面总结一下我做DSOFramer这个自定义控件的注意地方: 1、在创建一个Windows窗体控件库的时候&am…

numpy知识点
1、nonzero 对于一维数据来说,将返回符合条件的 下标 >>> b1 np.array([True, False, True, False]) >>> np.nonzero(b1)(array([0, 2]),)对于二维数据来说,将返回两维 元组, 第一维是符合条件的 x的索引,第二…

Excel导入异常Cannot get a text value from a numeric cell解决
POI操作Excel时偶尔会出现Cannot get a text value from a numeric cell的异常错误。 异常原因:Excel数据Cell有不同的类型,当我们试图从一个数字类型的Cell读取出一个字符串并写入数据库时,就会出现Cannot get a text value from a numeric …

【蓝桥java】递归基础之反向输出字符串
题目:输入一个字符串,要求将该字符串反向输出 代码实现: package xn.zzunit.recurrence;/*** 递归方法反向输出字符串* author tyrantForever**/ public class Project1 {public static void main(String[] args) {String testString "…

SQL Server中灾难时备份结尾日志(Tail of log)的两种方法
简介 在数据库数据文件因各种原因发生损坏时,如果日志文件没有损坏。可以通过备份结尾日志(Tail of log)使得数据库可以恢复到灾难发生时的状态。 例如: 上图中。在DB_1中做了完整备份,在Log_1,Log_2处做了日志备份。在Log_2备份之后不久&…

C examples
最近在看David R. Hanson 的《C Interfaces and Implementations》,文中第一章提到了Literate Programming 作者举了一个例子: 功能:用于检测输入中相邻且相同的单词 #include<stdio.h> #include<math.h> #include<errno.h&g…
特征工程:特征生成,特征选择(三)
转自:https://blog.csdn.net/cymy001/article/details/79169862 特征生成 特征工程中引入的新特征,需要验证它确实能提高预测得准确度,而不是加入一个无用的特征增加算法运算的复杂度。 1. 时间戳处理 时间戳属性通常需要分离成多个维度比如年…

JAVA设计模式之不变模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述不变(Immutable)模式的: 一个对象的状态在对象被创建之后就不再变化,这就是所谓的不变模式。 不变模式的结构 不变模式可增强对象的强壮型(robustness)。不变模式允许多个对象共享…

【蓝桥java】递归基础之智力训练
题目: 匪警请拨110,即使手机欠费也可拨通! 为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练! 某批警察叔叔正在进行智力训练: …

EF-Entity Framework 相关技术点收集贴
不定期、偶尔、添加更新 在网络上看到或者自己开发过程中碰到的EF-Entity Framework相关技术点 本文地址:http://www.cnblogs.com/vnii/archive/2012/02/28/2371736.html 1.数据表字段有默认值,比如DateTime类型的字段CreateTime默认值为数据新增的时间g…
[翻译]LightRacer游戏架构
1.0版本的Light Racer架构可说的不多。仅有一个单一的Activity,进行按钮的处理,显示游戏相关数据和显示GameView。我将在另一篇文章中说明游戏的画面是如何工作的,但是现在我先声明一下的就是:在Android中,单个Activit…

case when里的like功能 ////// 截取(substr)
case when里的like功能 假如要用到case when又要用到like这样的功能,即如果字符串包含‘语文’就怎么怎么样,包含‘数学’就怎么怎么样,包含‘英语’就怎么怎么样,like是用于where中的,放在case when里面是无效的&…

在Asp.Net MVC中设定site路径所对应的默认action
设置路由的default的Controller和Action可以达到我们预期的效果,代码如下所示: public class RouteConfig {public static void RegisterRoutes(RouteCollection routes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapRoute(n…

【蓝桥java】递归基础之输出连续数字
题目:使用递归方法输出连续的数字 代码实现: package xn.zzunit.recurrence;/*** 递归方法输出连续的数字* author tyrantForever**/ public class Project2 {public static void main(String[] args) {printNumber(2, 9);}public static void printNu…

慢慢学Linux驱动开发,第十章,GNU C的扩展
内核开发者使用的C语言涵盖了ISO C99标准和GNU C扩展特性。这里简单介绍一下GNU C的扩展特性。 1.内联(inline)函数 GNU的C编译器支持内联函数,也是C的一个特性之一。就是函数会在所调用的位置上展开,这样做虽然会导致代码量的增加…

vMA学习笔记之一:将vMA加入域
目的: 将vMA加入域的方法 操作步骤: 1、 开启vMA 2、 按住AltF2切换到虚拟终端界面,使用vi-admin用户登录 2 3、 已经登录进来了 4、 在进行加域操作之前,必须确保DNS配置正确(在初始化安装的时候会提示你设置DNS&…

关于DWG文件转换成PDF
最近有这样一个需求,客户会提供DWG文件,因为DWG文件是不能直接在网页上显示的,所以必须对他做处理,要求是转换成PDF格式。我查了很久的资料,很多都是基于C#和.NET的方法,而且都是说的很模糊,不是…

剑指offer--day07
1.1 题目:反转链表:输入一个链表,反转链表后,输出新链表的表头。 1.2 思路:这道题,我们要做到的是反转链表,我们的思路是将前一个节点与后一个节点断开,然后让后一个节点指向前一个节…

【蓝桥java】递归基础之计算共多少种走法
计算从某个位置(x,y)走到(0,0) 一共多少种走法 代码实现: package xn.zzunit.recurrence;/*** 从某个位置(x,y)走到(0,0) 一共多少种走法* author tyrantForever**/ pub…

数据库设计的三大范式
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个…

JS得到对应字段 的值。遍历
这个写法不是经典。我受感触是因为。我写很多代码,没去想过怎么样去节省我们的开发时间,应该去写一些通用性的代码。 而且。我也没有把C#代码优化的思想转到各个地方。像JS的代码。我就没去想过怎么去优化。 加油吧。 function getPageListSet(pageIndex…