HSRP热备份路由器协议的应用

在实际的网络运行环境中,为了保障业务的连续性、稳定性,在很多的业务情景中采用了高可用技术(HA High Available) 。那么什么是HA技术呢,下面我们就来聊聊。

HA(Highly Available),高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点。通常把正在执行业务的称为活动节点,而作为活动节点的一个备份的则称为备用节点。当活动节点出现问题,导致正在运行的业务(任务)不能正常运行时,备用节点此时就会侦测到,并立即接续活动节点来执行业务。从而实现业务的不中断或短暂中断。–摘自百度百科

那么什么才算是关键节点呢?通常来看,在一个网络环境中,核心层的设备就是关键节点。因为它起到了承上启下的作用,所有对内,对外的流量都要通过它来转发。所以我们就需要在一个网络的核心层考虑使用HA技术来同冗余备份,使得关键业务流量具有连续、稳定的对内外的数据转发。

今天我们就谈一下Cisco的一个HA技术– HSRP(Hot Standby Router Protocol),热备份路由协议。这一协议是Cisco特有的,不可与其他厂商设备共同使用的一种HA技术。与这一协议类似的开放型协议是VRRP(Virtual Router Redundancy Protocol)虚拟路由器冗余协议,所有厂商网络设备都支持。这两种协议所达到的目的是一致的,就是为网络关键节点提供冗余备份。下面我们就着重看一下HSRP是怎么在网络中进行配置,并达到HA的。

为了达到冗余的目的,通常会用到两台一样的路由器设备进行冗余设置。一台为活动路由器(Active Router),负责数据流量的转发,一台为备份路由器(Standby Router),一旦活动路由器出现故障,那么备份路由器就自动接管数据流量转发业务。从而保证业务流量的连续性、稳定性,以及网络的高可用(HA)。

配置HSRP主要需要注意以下几个内容:

1. 配置一个HSRP组(至少两台路由器),形成一个热备份组。

2. 为这个热备份组的设备,配置一个虚拟IP地址。

3. 配置抢占机制。

4. 配置路由器成员优先级。(可作为流量负载均衡配置)

5. 配置跟踪端口

完成以上5个内容,HSRP基本的功能就可以实现了。下面我们通过实现,具体来看一下是如何配置的。

本实验使用的是GNS3模拟平台,拓扑图如下:

其中CSW1和CSW2为HSRP的HA路由器,他们上面配置的VLAN10 和VLan20 的HSRP HA的网关是192.168.10.1/24和192.168.20.1/24即虚拟IP地址。

R3和CSW1、CSW2之间跑OSPF动态路由协议,PC1和PC2分别在VLAN10和VLAN20中。

本例中其他配置不做累述,具体看一下CSW1和CSW2中的HSRP是如何配置的。

对于VLAN10,在CSW1和CSW2中的配置

CSW1(config)#int vlan 10

CSW1(config-if)# ip address 192.168.10.254 255.255.255.0 —- 本地VLAN10的地址

CSW1(config-if)# standby 1 ip 192.168.10.1 —- HSRP组1 的虚拟IP地址

CSW1(config-if)# standby 1 priority 110 — HSRP的优先级110,默认为100,优先级高的为活动路由器

CSW1(config-if)# standby 1 preempt —设置抢占,也就是说如果路由器是活着的,而且他的HSRP同组的优先级更高,则它可以抢占为主路由。

CSW1(config-if)# standby 1 track FastEthernet0/1 20 — 跟踪Fa0/1端口,如果该端口down掉,那么 优先级自动降低20,使之成为备用路由器

CSW2(config)#int vlan 10

CSW2(config-if)# ip address 192.168.10.253 255.255.255.0

CSW2(config-if)# standby 1 ip 192.168.10.1

CSW2(config-if)# standby 1 preempt

CSW2(config-if)#end

这样的配置,使得CSW1成为VLAN10的活动路由器,如果CSW1的Fa0/0端口出现问题,则CSW1的HSRP优先级自动降低20,由110变成90,使得的CSW2默认优先级100成为活动路由器继续转发VLAN10的业务流量。

下面我们看一下CSW1和CSW2端口都正常的情况下,PC10的业务数据流量是怎样走的。

首先看一下VLAN10的HSRP状态:show standby bri

我们可以看到在对于vlan10,CSW1为活动路由器(Active),CSW2为备用路由器(Standby)。

现在我们模拟CSW1的Fa0/1端口故障,看一下有什么变化。

我们可以看到CSW2直接接管了VLAN10的流量从Standby变成Active了(CSW2的优先级100默认大于CSW1的降低20后的优先级90)。VLAN10的流量自动从CSW1成功切换到CSW2上了。

接下来我们看一下VLAN20在CSW1和CSW2上的配置,这里我们把VLAN20的活动路由器通过优先级的不同设置在CSW2上。这里就可以使得VLAN10和VLAN20 使用不同的活动路由器,这样就形成了负载均衡。

对于VLAN20,在CSW1和CSW2上的配置。

CSW1上VLAN20 配置如下

interface Vlan20

ip address 192.168.20.253 255.255.255.0

standby 2 ip 192.168.20.1

standby 2 preempt

CSW2上VLAN20 配置如下:

interface Vlan20

ip address 192.168.20.254 255.255.255.0

standby 2 ip 192.168.20.1

standby 2 priority 110

standby 2 preempt

standby 2 track FastEthernet0/1 20

看一下VLAN20的HSRP状态:show standby bri

我们可以看到VLAN20的活动路由器是CSW2,备份路由器是CSW1。这样就做到了流量的负载均衡,使得每一条链路都发挥了作用。

看一下效果:

PC1到R3 loopback0的路由:

PC2到R3 Loopback0 3.3.3.3的路由:

可以看到PC1 和PC2 分别走了两条不同的路由,实现了链路的负载均衡以及冗余高可用。