使用双机备份方案解决网络中单点故障
2012-09-11徐江红
徐江红,马 蕾
(北京电子科技职业学院,北京 100176)
1 校园网络存在的问题
北京电子科技职业学院电信工程学院由于校区合并,面临网络系统的改造升级,以实现网络的统一管理和资源的安全使用。图1为学院改造之前的网络系统设计。
图1 改造之前网络拓扑图
由图1可以看出,网络中采用接入层、汇聚层和核心层三层构架结构。其中核心层存在很明显的单点故障问题,即核心交换机只有1台cisco公司的设备6509,这样当这台设备出现down机问题,将会导致整个网络通信完全中断,势必造成难以估量的损失。针对这一问题,本文提出了对网络中的核心层进行扩容升级改造,即通过添加另一台cisco公司的设备6509作为备份设备,并在核心层交换机上配置HSRP协议,实现双机热备份方案。这样,在一个主核心设备不能工作的情况下,作为备份的设备迅速接管,不影响整个网络的正常运行,以此提高网络的高可靠性需求。
2 HSRP协议的工作原理
HSRP 全称为 Hot Standby Router Protocol,是Cisco公司开发的热备份路由器协议,属于Cisco的私有协议。HSRP协议的基本原理是将系统中由多台路由器设备组成一个“热备份组”,这个组形成一个虚拟路由器,具有自己的IP地址和MAC地址。通过比较组内优先级的值,最大的将作为该组中的主设备,又称活动设备,其余设为备份设备。在任何时刻,一个组内只有一个路由器设备是活动的,并由它来转发数据包,如果该设备发生了故障,备份路由器设备转化成主路由器,接管主路由器之前的工作。在本网络内的主机看来,是虚拟路由器为其转发数据,连接仍然保持,不会受到故障的影响,这样就较好地解决了路由器切换的问题。如图2所示,路由器A和路由器B形成了一个热备份组,路由器A优先级为180,大于路由器B的优先级150,所以被选择为当前这一热备份组的活动路由器,路由器B作为备份路由器,PC1的网关设置成虚拟路由器的IP地址。正常情况下,PC1要访问PC2时,都走路由器A出去。当路由器A出现故障时,路由器B立刻由备份状态进入到活动状态,接管路由器A的工作。而对于PC1来说,始终是以192.168.10.254为网关转发数据,并不关心物理设备的切换。
图2 HSRP工作原理
3 校园网改造项目中HSRP实施方案
北京电子科技职业学院电信工程学院的网络接入层选择Cisco2960二层交换机,核心层交换机采用Cisco6509交换机。该网络系统根据部门划分成4个vlan,即学工部划分到vlan10、教学部vlan20、行政部vlan30、后勤部vlan40。每个vlan中的地址段分别为 192.168.10.0/24,192.168.20.0/24,192.168.30.0/24 和192.168.40.0/24,对应的默认网关分别为 192.168.10.1,192.168.20.1,192.168.30.1,192.168.40.1。考虑到北京电子科技职业学院电信工程学院之前的网络设备全部是Cisco公司的产品,为了更好地兼容原来的网络,选用的依然是Cisco公司的6509设备实现核心备份。根据HSRP的工作原理,如果单纯将某一台核心设备(如S3A)作为主设备,另一台核心设备作为备份设备,那么当主设备正常的情况下,所有数据流量都经过主设备,而同样高性能的备份设备却没有得到利用,造成主设备负担过重,而备份设备资源浪费的局面。所以此处采用负载均衡的设计,即将其中一台核心设备作为学工部和教学部的主设备,对于行政部和后勤部来说,该设备是备份设备,反过来,另一台核心设备作为行政部和后勤部的主设备,同时是学工部和教学部的备份设备。这样在设备正常的情况下,数据被两个核心设备分担,当出现故障时,其中一台会担负起全部流量。
3.1 网络改造方案的拓扑图
图3给出了网络改造方案的拓扑图。图中S3A和S3B共同组成了双机热备份核心层。其中S3A为vlan10和vlan20的主设备,又是vlan30和vlan40的备份设备,S3B为vlan30和vlan40的主设备,也是vlan10和vlan20的备份设备。
图3 网络改造方案的拓扑图
3.2 HSRP协议的配置
首先根据备份网关方案的设计规划网关IP地址。vlan 10所在网段默认网关的地址为192.168.10.1,vlan 20所在网段默认网关的地址为192.168.20.1,vlan 30所在网段默认网关的地址为192.168.30.1,vlan 40所在网段默认网关的地址为192.168.40.1。在 S3A 设备上配置 vlan10、vlan 20、vlan 30、vlan 40 的地址分别为 192.168.10.254,192.168.20.254,192.168.30.254,192.168.40.254,在 S3B设备上配置 vlan10、vlan 20、vlan 30、vlan 40 的地址分别为 192.168.10.253,192.168.20.253,192.168.30.253,192.168.40.253。所有主机的默认网关配置均为相应网段的默认网关地址。图4为两个核心交换机S3A和S3B设备上与HSRP协议相关联的配置。从图4可以看出,在S3A上配置vlan10和vlan20的优先级为180,高于S3B上的150,因此对于vlan10和vlan20,S3A是主设备。同样的,对于vlan30和vlan40,S3B上配置的优先级为180,高于S3A设备上的150,S3B是主设备,以此实现负载均衡的目的。正常情况下vlan10和vlan20的数据走S3A,vlan30和vlan40的数据走S3B。当一台核心设备(如S3A)出现故障,备份设备(如S3B)接管全部任务。如果主设备S3A的故障被排除,通过preempt配置抢占,使S3A很容易地从S3B中将vlan10和vlan20的数据转发权抢过来,从而恢复到之前的负载均衡状态。代码中通过跟踪上行接口f0/0,如果f0/0出现故障,当前设备的优先级自动降低50,使另一台设备的优先级高于自己,从而实现自动激活备份设备为主设备。
图4 核心交换机上HSRP协议配置代码
4 改造后网络系统性能测试
HSRP协议运行起来之后,让PC机ping自己的网关1000次,观察连通性效果,并在过程中让主设备shutdown,继续观察PC机与网关的连通性。图5所示是vlan10的PC机访问自己的网关的实验效果。从图5可以看出当S3A正常的情况下,PC机能够ping通自己的网关,当人为地让S3A shutdown之后,系统显示先丢失1个包后,又能连通了。丢失数据包是因为HSRP协议运行,把S3B从备份状态激活成活动状态的过程需要一定的时间。图6是S3B交换机设备在S3A交换机down掉后的状态转换图。由图6可以看出,S3B设备已经由standby(备份)状态变成active(活动)状态,此时代替S3A成为vlan10的主网关设备。一旦S3B变成活动状态,就接管了数据的传输任务,所以又ping通了。由于HSRP协议运行中,状态转换发生的时间很短,对于客户机来说,感觉不到丢包,从而实现了在单点故障发生的情况下,不影响整个网络通信。需要说明的是备份设备被激活的时间因为路由器本身的性能不同,丢失数据包的数目也不同。
图5 HSRP协议运行测试结果1
图6 S3B在S3A交换机down掉后状态转换图
5 结束语
通过上述的研究表明,利用HSRP确实改善了网络的稳定性和可靠性,解决了之前网络中的单点故障问题。需要说明的是,HSRP毕竟是Cisco公司私有,不能很好地兼容其他公司的设备,这是本文研究的一个局限,下一步的研究将继续针对不同网络公司产品的兼容性作深入探讨。
[1]孙东,白龙江,范玺斌.HSRP在舰载IP网络可靠性设计中的应用[J].舰船电子工程,2011(10):140-142.
[2]卢苇,谭文浩.热备份路由协议HSRP在校园网维护中的应用[J].计算机应用,2002(4):45-47.
[3]吴刚.HSRP协议在IP网络设计中的研究与应用[J].绵阳师范学院学报,2011(8):84-87.