多业务插卡流量自动负载分担解决方案

标签:
插卡secbladeit |
分类: 安全 |
如何实现对多业务安全插卡的统一管理,使得用户只需要在一个界面中配置一次就可完成所有配置? 如何保证在多个插卡流量均衡的同时,正反向流量都经过同一个插卡处理?
文/王其勇
SecBlade插卡可以无缝集成到网络的核心与汇聚节点上,即插即用,在不改变网络拓扑的情况下实现用户核心节点的安全与应用业务的部署和性能扩展, 满足用户对安全业务越来越高的性能指标要求,保护其投资,受到越来越多用户的欢迎。
同时云计算的兴起和移动互联浪潮的涌现,使得在核心节点部署多业务安全插卡的需求越来越多。传统的安全插卡和交换机之间采用松耦合方式,对交换机而言,每块插卡是一台独立的二层或三层转发设备。三层采用路由,二层采用VLAN进行分流。当安全插卡工作在二层或三层时,不仅交换机上要做不同的配置,并配置不同的引流策略。同时每块插卡还需要单独配置安全策略和IP地址,重复工作很大,理解困难。这种应用方式极大影响使用体验,提高管理难度和维护成本。
H3C通过一体化的智能引流方案完成引流策略的自动下发,根据业务自动分配,极大简化组网配置。该方案包含基础引流、特殊业务引流和板卡冗余引流三种处理方式。
1 基础引流处理方案
在一体化设计中,SecBlade插卡作为交换机的一个子卡存在,通过内部控制通道和数据通道,分别实现一体化的管理和数据分布处理。多块SecBlade插卡都通过控制通道与主控板卡相连,由主控统一下发配置,不再单独提供配置界面,解决多次配置的问题。多块SecBlade插卡在交换机上统一体现为一个业务引擎组。当安全策略配置完时,系统自动下发引流策略到业务引擎组,把需要做业务处理的流程由IO板卡通过内部数据通道分发到Secblade板卡。
基础引流处理是把来自多个I/O板端口的普通二/三层流量均衡的转发到SecBlade插卡上进行处理。保证每个Seclbade业务插卡负载均衡,同时由于防火墙等安全业务采用基于会话的处理技术,要求同一条会话的两个方向的流要在一个SecBlade上处理。
如图1所示,系统启动后,系统自动创建业务引擎组,所有Secblade插卡默认加入这个引擎组,自动创建内联聚合口,所有内联口都加入同一个聚合组,聚合算法默认采用源IP+目的IP散列,从而保证同一会话SYN 和SYN ACK报文都到同一Secblade上处理。但是对于NAT/IPSec/L2TP等作了地址转换的报文,通过HASH算法无法保证同一条会话的两个方向的流要在一个SecBlade上处理,需要针对具体业务具体处理。
http://www.h3c.com.cn/res/201305/20/20130520_1596700_image001_785022_30008_0.png
图1 基础引流处理
2 基于动态端口分配的NAT业务引流处理
NAT是防火墙的一种基本业务应用,是将IP数据报文头中的IP地址转换为另一个IP地址的过程。传统安全插卡的NAT业务部署方式,为了保持来回路径一致,需要在不同的插卡配置不同的地址池。这会造成原本就紧缺的公网IP地址资源的浪费和配置复杂度的增加。
如果用同一个IP地址池,由于经过NAT地址转换后,IP地址发生变化,通过SIP+DIP的算法无法实现同一条流的相关报文都送到同一块业务插卡上。而防火墙的NAT业务是基于流进行处理的,即收到的同一条流的所有正反向报文都必须送到同一个业务插卡上处理,同时由于ALG的需要,关联数据流的报文也必须送到同一个业务插卡上处理。例如ftp 的控制流如果分配给一块业务插卡处理,后续的数据流也必须保证分配到这块业务卡上。
在一体化设计中,基于NAT端口动态分配的方式,保证每个SecBlade插卡处理的同一地址池的端口段不同,通过自动下发基于端口段的引流策略,将来自I/O板卡的流量按照端口段的不同引流到不同的SecBlade插卡,进而保证NAT业务下流量来回路径一致,实现NAT业务的负载均衡。
以NAT Outbound处理为例。每个地址池在NAT PAT方式下可以用的端口有65535个,从中剔除知名端口后,分为N段,这里以100段为例,每次业务插卡向主控板卡申请,主控板分配其中一段给该业务卡专用。业务卡在处理NAT相关业务时,使用自己申请到的端口段进行地址转换。详细处理过程如图2所示。在图2中,交换机有接口卡1到接口卡4,业务插卡S1到业务插卡S3,接口卡1的接口A处于内网,接口卡4的接口B处于外网,接口上配置了 NAT outbound的业务。
接口A收到正向报文(从内网发往外网的报文),需要作NAT outbound 处理,接口卡1根据HASH算法(源IP+目的IP)平均分配到各个业务卡,假设某条数据流被分配给业务插卡S2。正向处理流程如下:
1)业务卡S2收到该正向报文,判断需要作NAT处理, 向主控板申请端口段;
2)主控板把端口段N1分配给业务卡S2,业务卡把端口段与地址、业务卡对应关系表下发到所有的接口卡;
3)业务卡S2使用端口段N1中的1个端口为该报文的源端口进行地址和端口转换,转换后的报文通过接口卡转发出去;
http://www.h3c.com.cn/res/201305/20/20130520_1596701_image002_785022_30008_0.png
图2 NAT正向引流处理
反向处理流程如图3所示:
接口卡4收到反向的报文(外网发往内网的报文),判断目的端口是属于N1段,把该报文发送给业务卡S2 处理,从而保证, 同一条流的正向和反向报文都能送往同一个业务卡处理。
http://www.h3c.com.cn/res/201305/20/20130520_1596702_image003_785022_30008_0.png
图3 NAT反向引流处理
3 IPSec等VPN业务分布式引流处理
IPSec是IETF制定的三层隧道加密协议,也是防火墙最基础的业务之一。随着云计算兴起和移动互联的涌现,用户对于IPSe中心节点的性能要求越来越高, 希望通过单一的节点提供更高性能的IPSec汇聚。传统SecBlade需要每个设备上配置不同的IP地址,无法扩展,不能满足用户对IPSec中心节点越来越高的性能要求。
IPSec等隧道业务, 需要对原始报文进行加密和加封装处理,从而导致报文的源IP和目的IP发生变化。通过基础的源IP+目的IP散列的引流方式无法保障正反向报文送往同一个SecBlade 插卡,会导致业务处理失败。
一体化设计中对于IPSec等隧道业务进行了专门处理,以保证同一隧道内的所有业务都由同一个Seblade插卡处理。 主要通过SA信息同步和基于SA信息的报文重定向方式实现IPSec业务负载分担,保证VPN下同一条流的正反向报文都送到同一个Secblade 插卡处理以保证业务的正确进行。
http://www.h3c.com.cn/res/201305/20/20130520_1596703_image004_785022_30008_0.png
图4为典型的IPSec设备星型组网示意图,SW1为IPSec核心节点设备,C1、C2…Cn为SW1保护的中心内网设备,B1、B2…Bn为分支IPSec节点, B1、B2…Bn将分别与中心设备SW1建立IPSec隧道。B1C1、B1Cn、BnCn等为分支内网设备,可以通过B1…Bn与中心设备SW1建立的隧道访问中心内网设备C1…Cn。
3.1 IPSec 正向报文处理
如图5所示,分支内网设备B1C1发起一次对中心内网设备C1的访问,触发分支设备B1主动发起对中心设备SW1的IKE协商。
(1)外网分支设备B1发送 IKE协商报文到SW1的接口卡,接口卡通过源IP+目的IP做HASH处理,发送到一个业务卡S2。
(2)S2进行转发处理,如果确认需要进行IPSec处理, 查询SA流信息没有发现符合的SA流信息,启动IKE协商。
(3)业务卡S2协商到SA后,把SA流信息同步到所有的业务卡,同时标注该SA的处理卡为S2。
(4)中心设备接口卡接受到B1发送的IPSec加密报文,通过源IP+目的IP做HASH处理发送到业务卡S2,S2 解密报文后根据解密后的报文源IP和目的IP计算反向报文的HASH,确定反向回复报文会发送到业务插卡S3,同步此会话信息给板卡S3同时标识该会话的处理板卡为业务板卡S2,然后把解密后的报文发送到C1。
http://www.h3c.com.cn/res/201305/20/20130520_1596704_image005_785022_30008_0.png
图5 IPSec正向报文处理
3.2 IPSec 反向报文处理
http://www.h3c.com.cn/res/201305/20/20130520_1596705_image006_785022_30008_0.png
图6 IPSec反向报文处理
如图6所示,由C1回复的反向报文,到达I/O 接口板后,根据源IP+目的IP进行HASH计算,送到业务插卡S3,S3查找会话信息发现该会话的处理业务插卡为S2,转发报文到业务插卡S2。
业务插卡S2查找相应的SA信息,进行加密处理,加密后报文发送给设备B1。经过以上过程,保证了IPSec业务下同一个会话的正反向报文都由同一个业务插卡处理。
4 业务插卡间冗余备份的引流处理
随着网络的快速普及和各种增值业务(如IPTV、视频会议等)的广泛部署,网络中断可能会影响到大量业务,并造成重大损失。因此,作为业务承载主体的基础网络,其可靠性成为受关注的焦点。
在实际网络中,各种非技术因素造成的网络故障和服务中断往往不可避免。因此,提高系统容错能力,提高故障恢复速度,降低故障对业务的影响,是增强系统可靠性的有效途径。其中,通过板卡间冗余备份和快速切换,实现短时间内的网络故障恢复,保证网络业务的连续性,是一种非常有效的可靠性手段。
SecBlade 插卡间的冗余备份引流处理通过系统自动设置聚合成员变换来实现。假设初始聚合组有4个成员分别为S1,S2,S3,S4, 设置冗余方式S1,S2分别为冗余备份,设置聚合组成员为 S1-S2-S3-S4,如图7所示。
http://www.h3c.com.cn/res/201305/20/20130520_1596706_image007_785022_30008_0.png
一旦S2异常,系统自动将成员设置为S1,S1,S3,S4,从而将S2的流量迁移到S1处理,从而实现S1对S2的冗余。
http://www.h3c.com.cn/res/201305/20/20130520_1596707_image008_785022_30008_0.png
图8 SecBlade聚合处理(插卡异常时)
结束语
通过自动引流方案,把SecBlade插卡与网络设备无缝的融合在一起,使网络设备不仅仅是一个高性能的路由转发平台,更是一个高性能的智能应用网络平台,可以为用户提供更丰富、更安全、性能更高、易用性更佳的应用体验。
在带宽、网络威胁的种类、网络攻击的强度均呈几何速度增长的时代,经过一体化设计的SecBlade插卡和交换机,在保证企业和运营商不断扩展其网络架构的同时,还能保证业务的安全性和连续性。采用这种分布式软硬件设计,其I/O接口模块以及业务处理模块(SecBlade)相互独立并按需配置,提供弹性的业务处理能力、灵活的I/O接口配置以及丰富的安全业务保障。在支持主/备、主/主组网、端口聚合、VPN冗余、业务插卡负载均衡等关键技术的同时,提供业界领先的双主控主备倒换技术。从而为用户业务应用奠定云时代的安全基石。