了解HSRP概述

HSRP(热备份路由协议):是思科私有的一种技术,它确保了的那个网络边缘设备或接入链路出现故障时,用户通信能迅速并透明地恢复,以此为IP网络提供冗余性。热备份路由协议为IP网络提供容错和增强的路由选择功能。通过使用一个虚拟的IP地址和虚拟MAC地址,LAN网段上的两台或者多台路由器可以作为一台虚拟路由器对外提供服务。


熟悉HSRP组成员

HSRP备份有一台活跃路由器,一台备份路由器,一台虚拟路由器和其他路由器组成。

活跃路由器:主要功能是转发到虚拟路由器的数据包。组中的另一台路由器被选为备份路由器。活跃路由器通过发送Hello消息来承担和保持它活跃的角色。

备份路由器:只要功能是监视HSRP组的运行状态,并且到活跃路由器不能运行时,迅速承担起转发数据包的责任。备份路由器也传输Hello消息,告知组中所有路由器备份路由器的角色和状态变化。

虚拟路由器:主要功能是想最终用户提供一台可以连续工作的路由器。虚拟路由器配置有它自己的IP地址和MAC地址,但并不实际转发数据包。

其他路由器:这些路由器监视Hello消息,但不做应答。这些路由器转发任何经由他们的数据包,但并不转发经由虚拟路由器的数据包。


理解HSRP原理

HSRP组内的每个路由器都有指定的优先级,用于衡量路由器在活跃路由器选择中的优先程度。默认优先级为100(可配置范围0-255),组中最高优先的路由器将成为活跃路由器,其次的为备份路由器。当优先级相同的情况下,将比较路由器的LAN口IP地址,地址大的将成为活跃路由器。

当终端用户向虚拟路由器提交数据时,将由活跃路由器进行处理,当活跃路由器发生故障时,备份路由器将在数秒之内承担活跃路由器的工作,这时由于备份成为了活跃路由器,而备份路由器的位置空缺,组内其它路由器将晋升备份路由器,在次比较优先级选出备份路由器。


HSRP的配置及应用

HSRP的配置命令语法如下:

1、配置HSRP的成员

Switch(cofnig-if)#standby group-number ip virtual-ip-address

group-number:表示该端口所属的HSRP组,通过在备份命令中指定一个唯一的组号可以创建多个HSRP组。virtual-ip-address:表示虚拟HSRP路由器的IP地址,即网段的IP地址。

2、配置HSRP优先级

Switch(cofnig-if)#standby group-number priority priority-value

priority-value:范围为0-255,默认100。

3、配置HSRP的占先权

Switch(cofnig-if)#standby group-number preempt

占先权的解释:HSRP中优先级高的活跃路由器进行定期维护时,HSRP备份路由器将成为活跃路由器。但是当以前的优先级高的活跃路由器修好后加入到HSRP中时,如果没有配置占先权的话,它将不会从备份路由器中抢回活跃路由器的位置,哪怕是它的优先级高于备份路由器,如果配置了的话,则会从优先级低路由器中抢回活跃路由器的职位。

4、配置HSRP的端口跟踪

Switch(cofnig-if)#standby group-number track interface-type mod/num interface-priority

group-number:采用跟踪功能的端口的组号

interface-type:跟踪端口的端口类型

mod/num:跟踪端口的端口号

interface-priority:当端口失效时,路由器的热备份优先级将降低的数值,当端口变为可用时,路由器的优先级将加上该数值,默认为10。

端口跟踪解释:如果不设置端口跟踪的话,当路由器的某个端口不可用时,但是它还是会发送hello消息告诉其他路由器,此路由器是可用的,其实数据是传输不出去。当给活跃路由器配置端口跟踪后,当跟踪的端口不可用时,此活跃路由器的优先级将减少相应的值,当变的可用时,则上升相应的值。这样的话很灵活的提供故障的切换效果。

5、配置Hello消息的计时器

Switch(cofnig-if)#standby group-number times hellotime holdtime

hellotime:hello消息的间隔时间,默认3s,范围1-255.

holdtime:hello消息的保存时间,默认10s,一般设置为hello间隔的三倍。

6、检查HSRP的状态

Switch#show standby [interface-type mod/num] [group-number] brief

interface-type mod/num:要显示的端口类型和序号

group-number:要显示的具体HSRP

brief:显示摘要信息,每个备份组总结显示一行输出。


HSRP的应用实例

配置公司两台核心三层交换机,实现路由器的备份+负载均衡。

实验拓扑如下图所示:

详解热备份路由协议(HSRP)_第1张图片

实验要求如下:

1、使vlan 10和vlan 30的数据由SW2进行处理。

2、使vlan 20的数据包由SW1进行处理。

3、当任意一台路由器的某个端口不可用或路由器不可用时,数据能从备份路由器上处理。

在SW1上配置VTP server,创建vlan。配置如下:

#设置与所有交换机的接口为链路接口(trunk)并配置wan接口的IP地址和默认路由

sw1(config)#int range f0/1 -3

sw1(config-if-range)#switchport mode trunk

sw1(config-if-range)#no sh

sw1(config-if-range)#exit

sw1(config)#int f0/0

sw1(config-if)#ip add 202.106.123.1 255.255.255.0

sw1(config-if)#no switchport

sw1(config-if)#no sh

sw1(config-if)#exit

sw1(config)#ip route 0.0.0.0 0.0.0.0 f0/0

#配置VTP以及创建vlan

sw1#vlan database

sw1(vlan)#vtp domain test

sw1(vlan)#vtp server

sw1(vlan)#vtp password 123

sw1(vlan)#vtp pruning

sw1(vlan)#exit

sw1#vlan database

sw1(vlan)#vlan 10

sw1(vlan)#vlan 20

sw1(vlan)#vlan 30

#配置HSRP,配置SW1为vlan 10的备份路由器

sw1(config)#int vlan 10

sw1(config-if)#ip add 192.168.1.1 255.255.255.0

sw1(config-if)#standby 10 ip 192.168.1.254

sw1(config-if)#standby 10 priority 150

sw1(config-if)#standby 10 preempt

sw1(config-if)#no sh

#配置HSRP,配置SW1为vlan 20的活跃路由器

sw1(config)#int vlan 20

sw1(config-if)#ip add 192.168.2.1 255.255.255.0

sw1(config-if)#standby 20 ip 192.168.2.254

sw1(config-if)#standby 20 priority 200

sw1(config-if)#standby 20 preempt

sw1(config-if)#standby 20 track f0/0 100

sw1(config-if)#standby 20 track f0/1 100

sw1(config-if)#standby 20 track f0/2 100

sw1(config-if)#no sh

#配置HSRP,配置SW1为vlan 30的备份路由器

sw1(config)#int vlan 30

sw1(config-if)#ip add 192.168.3.1 255.255.255.0

sw1(config-if)#standby 30 ip 192.168.3.254

sw1(config-if)#standby 30 priority 150

sw1(config-if)#standby 30 preempt

sw1(config-if)#no sh


在SW2上配置VTP client,学习SW1创建的vlan。

#设置与所有交换机的接口为链路接口(trunk)并配置wan接口的IP地址和默认路由

sw2(config)#int range f0/1 -3

sw2(config-if-range)#switchport mode trunk

sw2(config-if-range)#no sh

sw2(config-if-range)#exit

sw2(config)#int f0/0

sw2(config-if)#ip add 202.106.123.2 255.255.255.0

sw1(config-if)#no switchport

sw1(config-if)#no sh

sw2(config-if)#exit

sw2(config)#ip route 0.0.0.0 0.0.0.0 f0/0

#配置VTP以及创建vlan

sw2#vlan database

sw2(vlan)#vtp domain test

sw2(vlan)#vtp client

sw2(vlan)#vtp password 123

sw2(vlan)#vtp pruning

#配置HSRP,配置SW2为vlan 10的活跃路由器

sw2(config)#int vlan 10

sw2(config-if)#ip add 192.168.1.2 255.255.255.0

sw2(config-if)#standby 10 ip 192.168.1.254

sw2(config-if)#standby 10 priority 200

sw2(config-if)#standby 10 preempt

sw2(config-if)#standby 10 track f0/0 100

sw2(config-if)#standby 10 track f0/1 100

sw2(config-if)#standby 10 track f0/2 100

sw2(config-if)#no sh

#配置HSRP,配置SW2为vlan 20的备份路由器

sw2(config)#int vlan 20

sw2(config-if)#ip add 192.168.2.2 255.255.255.0

sw2(config-if)#standby 20 ip 192.168.2.254

sw2(config-if)#standby 20 priority 150

sw2(config-if)#standby 20 preempt

sw2(config-if)#no sh

#配置HSRP,配置SW2为vlan 30的活跃路由器

sw2(config)#int vlan 30

sw2(config-if)#ip add 192.168.3.2 255.255.255.0

sw2(config-if)#standby 30 ip 192.168.3.254

sw2(config-if)#standby 30 priority 200

sw2(config-if)#standby 30 preempt

sw2(config-if)#standby 30 track f0/0 100

sw2(config-if)#standby 30 track f0/1 100

sw2(config-if)#standby 30 track f0/2 100

sw2(config-if)#no sh


在SW3上配置VTP client,学习SW1创建的vlan。

#设置与所有交换机的接口为链路接口(trunk)

sw3(config)#int range f0/0 -1

sw3(config-if-range)#switchport mode trunk

sw3(config-if-range)#no sh

#配置VTP以及创建vlan

sw3#vlan database

sw3(vlan)#vtp domain test

sw3(vlan)#vtp client

sw3(vlan)#vtp password 123

sw3(vlan)#vtp pruning

#将指定的接口加入相应的vlan

sw3(config)#int f0/2

sw3(config-if)#switchport access vlan 10

sw3(config-if)#no sh

sw3(config-if)#exit

sw3(config)#int f0/3

sw3(config-if)#switchport access vlan 20

sw3(config-if)#no sh


在SW4上配置VTP client,学习SW1创建的vlan。

#设置与所有交换机的接口为链路接口(trunk)

sw4(config)#int range f0/0 -1

sw4(config-if-range)#switchport mode trunk

sw4(config-if-range)#no sh

#配置VTP以及创建vlan

sw4#vlan database

sw4(vlan)#vtp domain test

sw4(vlan)#vtp client

sw4(vlan)#vtp password 123

sw4(vlan)#vtp pruning

#将指定的接口加入相应的vlan

sw4(config)#int f0/2

sw4(config-if)#switchport access vlan 20

sw4(config-if)#no sh

sw4(config-if)#exit

sw4(config)#int f0/3

sw4(config-if)#switchport access vlan 30

sw4(config-if)#no sh


此时公司内部的两台核心交换机就算是配置好了HSRP了,现在不管是那一台核心交换机坏掉还是交换机上的数据接口不可用,都不会影响用户访问Internet。因为两台核心交换配置HSRP,实现了路由的备份和负载均衡,而路由器的备份和负载对用户来说是透明的。