双机热备的原理与应用.docx
《双机热备的原理与应用.docx》由会员分享,可在线阅读,更多相关《双机热备的原理与应用.docx(11页珍藏版)》请在冰豆网上搜索。
双机热备的原理与应用
双机热备的原理与应用
1 概述
1.1 产生背景
在当前的组网应用中,用户对网络可靠性的要求越来越高,对于一些重要的业务入口或接入点(比如企业的Internet接入点、银行的数据库服务器等)如何保证网络的不间断传输,成为急需解决的一个问题。
如图1所示,防火墙作为内外网的接入点,当设备出现故障便会导致内外网之间的网络业务的全部中断。
在这种关键业务点上如果只使用一台设备的话,无论其可靠性多高,系统都必然要承受因单点故障而导致网络中断的风险。
图1 单点设备组网图
于是,业界推出了传统备份组网方案来避免此风险,该方案在接入点部署多台设备形成备份,通过VRRP或动态路由等机制进行链路切换,实现一台设备故障后流量自动切换到另一台正常工作的设备。
传统备份组网方案适用于接入点是路由器等转发设备的情况。
因为经过设备的每个报文都是查找转发表进行转发,链路切换后,后续报文的转发不受影响。
但是当接入点是状态防火墙等设备时,由于状态防火墙是基于连接状态的,当用户发起会话时,状态防火墙只会对会话的首包进行检查,如果首包允许通过则会建立一个会话表项(表项里包括源IP、源端口、目的IP、目的端口等信息),只有匹配该会话表项的后续报文(包括返回报文)才能够通过防火墙。
如果链路切换后,后续报文找不到正确的表项,会导致当前业务中断。
双机热备解决方案能够很好的解决这个问题。
在链路切换前,对会话信息进行主备同步;在设备故障后能将流量切换到其他备份设备,由备份设备继续处理业务,从而保证了当前的会话不被中断。
如图2所示,在接入点的位置部署两台防火墙,当其中一台防火墙发生故障时,数据流被引导到另一台防火墙上继续传输,因为在流量切换之前已经进行了数据同步,所以当前业务不会中断,从而提高了网络的稳定性及可靠性。
图2 双机热备组网图
双机热备可以从两个层面去理解:
一个是广义的双机热备,它是一种解决方案,用来解决网络中的单点故障问题,它通过数据同步和流量切换两个技术来实现;一个是狭义的双机热备,它是设备支持的一个功能模块(只实现了数据同步),可以使用对应的Web页签来配置。
本文描述的是广义的双机热备。
1.2 技术优点
与传统备份组网方案相比较,
● 双机热备解决方案可以保证当前业务不会因为防火墙单点故障而中断。
● 双机热备解决方案支持主备和负载分担两种工作模式,并支持防火墙工作在路由模式或透明模式,可广泛适用于各种复杂的组网需求。
防火墙工作在路由模式是指防火墙作为三层设备在网络中运行;工作在透明模式是指防火墙作为二层设备在网络中运行。
2 双机热备工作模式
双机热备解决方案根据组网情况有两种工作模式:
主备模式和负载分担模式。
在这两种模式中,设备的角色根据是否承担流量来决定:
有流量经过的设备即为主设备,无流量经过的设备即为备份设备。
2.1 主备模式
主备模式下的两台防火墙,其中一台作为主设备,另一台作为备份设备。
主设备处理所有业务,并将产生的会话信息传送到备份设备进行备份;备份设备不处理业务,只用做备份(如图3所示,Firewall1处理全部业务,Firewall2用做备份)。
当主设备故障,备份设备接替主设备处理业务,从而保证新发起的会话能正常建立,当前正在进行的会话也不会中断(如图4所示,当Firewall1故障,Firewall2接续处理全部业务)。
图3 主备模式下,Firewall1故障前会话示意图
图4 主备模式下,Firewall1故障后会话示意图
2.2 负载分担模式
负载分担模式下,两台设备均为主设备,都处理业务流量,同时又作为另一台设备的备份设备,备份对端的会话信息(如图5所示,Firewall1和Firewall2均处理业务,互为备份)。
当其中一台故障后,另一台设备负责处理全部业务,从而保证新发起的会话能正常建立,当前正在进行的会话也不会中断(如图4所示,当Firewall1故障,Firewall2接续处理全部业务)。
图5 负载分担模式下,Firewall1故障前会话示意图
3 双机热备实现机制
3.1 数据同步
防火墙设备需要维护每条会话的状态等相关信息,当主设备故障、流量切换到备份设备时,仍然要求备份设备上有正确的会话信息才能继续处理会话报文,否则会话报文会被丢弃从而导致会话中断。
因此,主设备上会话建立或表项变化时需要将相关信息同步保存到备份设备,以保证主设备和备份设备会话表项的完全一致。
防火墙能够同步的信息包括会话、NAT、ALG、ASPF、黑名单、H.323、SIP、ILS、RTSP、NBT、SQLNET等。
数据同步的方式有批量备份和实时备份:
● 批量备份:
防火墙设备工作了一段时间后,可能已经存在大量的会话表项,此时加入另一台防火墙设备,在两台设备上使能双机热备功能后,先运行的防火墙会将已有的会话表项一次性同步到新加入的设备,这个过程称为批量备份。
● 实时备份:
防火墙在运行过程中,可能会产生新的会话表项。
为了保证表项的完全一致,防火墙在产生新表项或表项变化后会及时备份到另一台设备,这个过程称为实时备份。
3.2 流量切换
双机热备解决方案利用VRRP或动态路由实现流量的切换,下面将分别进行介绍。
3.2.1 通过VRRP实现流量切换
通过VRRP将局域网中的一组设备配置成一个备份组,这组设备在功能上就相当于一台虚拟设备。
局域网内的主机只需要知道这个虚拟设备的IP地址,通过这个虚拟设备与其它网络进行通信。
备份组中,仅有一台设备处于活动状态,能够转发报文,称为主用设备(Master),其余设备都处于备份状态,并随时按照优先级高低做好接替任务的准备,称为备份设备(Backup)。
当发现主用设备故障时,优先级次高的备用设备会当选为新的Master接替原Master工作,整个过程对用户来说是完全透明的,这就很好的实现了流量切换。
双机热备的工作模式是主备模式还是负载分担模式可以通过组网和VRRP的配置来实现:
● 主备模式下仅需要配置一个备份组,不同防火墙在该备份组中拥有不同优先级,优先级高的防火墙成为Master。
如图6中所示,Firewall1和Firewall2上创建VRRP备份组1,并配置Firewall1的优先级高于Firewall2。
HostA和HostB的缺省网关设为备份组1的虚拟IP地址172.17.1.200/24。
以此实现Firewall1能正常工作的情况下,Firewall1承担HostA和HostB的转发任务,Firewall2是Backup且处于就绪监听状态。
如果Firewall1发生故障,则Firewall2成为新的Master,继续为HostA和HostB提供转发服务。
图6 通过VRRP功能实现流量切换示意图(主备模式)
● 负载分担模式需要配置两个备份组,通过配置保证一台防火墙是备份组1的Master,另一台防火墙是备份组2的Master。
如图7所示,Firewall1和Firewall2上均创建VRRP备份组1和备份组2,并配置在备份组1上Firewall1的优先级高于Firewall2,在备份组2上Firewall2的优先级高于Firewall1。
HostA的缺省网关设为备份组1的虚拟IP地址172.17.1.200/24,HostB的缺省网关设为备份组2的虚拟IP地址172.17.1.201/24。
以此实现Firewall1能正常工作的情况下,HostA的报文通过Firewall1转发,HostB的报文通过Firewall2转发,Firewall1和Firewall2分担处理内网的报文流量,同时又互为备份,监听对方的状态。
如果Firewall1发生故障,则Firewall2成为备份组1的Master,HostA和HostB的报文均通过Firewall2转发。
图7 通过VRRP功能实现流量切换(负载分担)
3.2.2 通过动态路由实现流量切换
如果网络中不同网段的两台设备A到B之间有多条通路,动态路由协议会使用算法选取最优的一条路径作为A到B的路由。
当这条通路故障,路由协议会从剩余的可用通路中选择最优的一条作为新的路由,如果故障路由恢复,则又会重新启用原路由,从而动态的保证A与B之间的连通。
双机热备的工作模式是主备模式还是负载分担模式可以通过组网和动态路由的配置来实现(以下以OSPF为例):
● 主备模式只有一台防火墙处于工作状态,另一台防火墙处于备份状态。
如图8所示,RouterA、RouterB、Firewall1和Firewall2上均配置OSPF功能,处于同一个OSPF域,在RouterA和RouterB上都配置Ethernet1/1的cost值小于Ethernet1/2的。
这样,路径RouterA<—>Firewall1<—>RouterB的优先级会高于路径RouterA<—>Firewall2<—>RouterB,当Firewall1能正常工作的情况下,内网发往外网的报文都会通过Firewall1转发;当Firewall1发生故障,OSPF会启用次优路由,内网发往外网的报文会通过Firewall2转发。
● 负载分担模式下两台防火墙处于工作状态并互为备份。
如图8所示,RouterA、RouterB、Firewall1和Firewall2上均配置OSPF功能,处于同一个OSPF域,在RouterA和RouterB上都配置至少允许两条等价路由。
因为RouterA<—>Firewall1<—>RouterB这条路由与RouterA<—>Firewall2<—>RouterB优先级一样,所以,当Firewall1、Firewall2能正常工作的情况下,Firewall1和Firewall2分担处理内网发往外网的报文;当Firewall1发生故障,则Firewall2会处理内网发往外网的全部报文。
图8 通过OSPF功能实现流量切换
3.3 应用限制
● 双机热备只支持两台设备进行备份。
● 双机热备的两台设备要求硬件配置和软件版本一致,并且要求接口卡的型号与所在的槽位一致,否则会出现一台设备备份过去的信息,在另一台设备上无法识别,或者找不到相关物理资源,从而导致流量切换后报文转发出错或者失败。
● 双机热备只支持数据同步,不支持配置同步。
所以在一端进行某些配置时,比如配置接口类型、接口允许通过的VLAN等,需要手工在对端也进行相应的配置。
4 H3C实现的技术特色
● 互为备份的两台防火墙只负责会话信息备份,保证流量切换后会话连接不中断。
而流量的切换则依靠传统备份技术(如VRRP、动态路由)来实现,应用灵活,能适应各种组网环境。
● 使用专有的备份链路口进行会话信息的备份,该备份链路口不作数据转发,从而保障了备份的高可靠性及高性能。
5 双机热备典型组网应用
5.1 双机热备典型组网应用(路由模式+主备模式)
Firewall1和Firewall2是用户网络连接公有网络的入口点,Firewall1和Firewall2工作在路由模式。
现要求实现Firewall1能正常工作的情况下,HostA和HostB通过Firewall1访问Server1。
当Firewall1故障,HostA和HostB通过Firewall2访问Server1,并且HostA、HostB和Server1的当前会话不会被中断。
这个需求可以通过在Firewall1和Firewall2上配置VRRP备份组1和备份组2(备份组1用来监控下行链路,备份组2用来监控上行链路),并使能数据同步功能来实现。
图9 双机热备典型组网图(通过VRRP功能实现流量切换)
5.2 双机热备典型组网应用(路由模式+负载分担模式)
Firewall1和Firewall2是用户网络连接公有网络的入口点,Firewall1和Firewall2工作在路由模式。
现要求实现Firewall1能正常工作的情况下,HostA通过Firewall1访问Server1,HostB通过Firewall2访问Server1,Firewall1和Firewall2分担处理内网的报文流。
当Firewall1故障时,HostA和HostB通过Firewall2访问Server1,并且HostA、HostB和Server1的当前会话不会被中断。
这个需求可以通过在RouterA、RouterB、RouterC、RouterD、Firewall1和Firewall2上配置OSPF,并在Firewall1和Firewall2上使能数据同步功能来实现。
图10 双机热备典型应用组网图(路由模式+负载分担模式)
5.3 双机热备典型组网应用(透明模式+负载分担模式)
Firewall1和Firewall2是用户网络连接公有网络的入口点,Firewall1和Firewall2工作在透明模式(即二层模式)。
现要求实现Firewall1能正常工作的情况下,HostA通过Firewall1访问Server1,HostB通过Firewall2访问Server1,Firewall1和Firewall2分担处理内网的报文流。
当Firewall1故障时,HostA和HostB通过Firewall2访问Server1,并且HostA、HostB和Server1的当前会话不会被中断。
这个需求可以通过在RouterA和RouterB上配置VRRP备份组1和备份组2(备份组1和备份组2进行负载分担,共同监控下行链路),并在Firewall1和Firewall2上使能数据同步功能来实现。
图11 双机热备典型组网应用(透明模式+负载分担模式)