HSRP 和VRRP 热备份的应用

HSRP 热备份路由选择协议
热备份路由器协议(HSRP:Hot Standby Router Protocol),是cisco平台一种特有的技术,是cisco的私有协议。
该协议中含有多台路由器,对应一个HSRP组。该组中只有一个路由器承担转发用户流量的职责,这就是活动路由器。当活动路由器失效后,备份路由器将承担该职责,成为新的活动路由器。这就是热备份的原理。
实现HSRP的条件是系统中有多台路由器,它们组成一个"热备份组",这个组形成一个虚拟路由器。在任一时刻,一个组内只有一个路由器是活动的,并由它来转发数据包,如果活动路由器发生了故障,将选择一个备份路由器来替代活动路由器,但是在本网络内的主机看来,虚拟路由器没有改变。所以主机仍然保持连接,没有受到故障的影响,这样就较好地解决了路由器切换的问题。
为了减少网络的数据流量,在设置完活动路由器和备份路由器之后,只有活动路由器和备份路由器定时发送HSRP报文。如果活动路由器失效,备份路由器将接管成为活动路由器。如果备份路由器失效或者变成了活跃路由器,将由另外的路由器被选为备份路由器。
HSRP 运行在UDP上,采用端口号1985。路由器转发协议数据包的源地址使用的是实际 IP 地址,而并非虚拟地址,正是基于这一点,HSRP 路由器间能相互识别。

通过在设置了HSRP协议的路由器之间发组播(地址224.0.0.2)来得知各自的HSRP优先级,HSRP协议选出当前的主动路由器。当在预先设定的一段时间内主动路由器不能发送hello消息时,优先级最高的备用路由器变为主动路由器。路由器之间的包传输对网络上的所有主机来说都是透明的。生存时间ttl值为1
(组播地址,224.0.0.2是所有的路由器接收,224.0.0.1是所有的主机接收)

原理:
负责转发数据包的路由器称之为活动路由器(Active Router)。一旦主动路由器出现故障,HSRP 将激活备份路由器(Standby Routers)取代主动路由器。HSRP 协议提供了一种决定使用主动路由器还是备份路由器的机制,并指定一个虚拟的 IP 地址作为网络系统的缺省网关地址。如果主动路由器出现故障,备份路由器(Standby Routers)承接主动路由器的所有任务,并且不会导致主机连通中断现象。

特点:

1.高度的可靠性,两台路由器之间采用HSRP(热备份冗余协议)协议,来保证两台路由器中的任意一台down掉,或路由器的广域网口down,都会迅速切换到另外一台。
2.有效的实现了负载均衡,在STAR-S1924F+上划分出各自的VLAN,储蓄子网VLAN在左侧路由器上的HSRP的优先级较高,默认使用网通的FR线路;邮政系统(办公、报刊、EMS、VOIP等等)子网VLAN在右侧路由器上的HSRP的优先级较高,默认使用联通的FR线路。充分利用了带宽资源,而且实现了负载均衡。
3.充分利用了多以太口路由器在划分多业务网段上的功能,也只有多以太口路由器在HSRP应用中才能实现两个路由器间的负载分担,这是具有四个以太口路由器的极大的优点。
4.在右侧路由器上启用QoS策略,VoIP业务需要较低的延时,所以将VoIP业务设置成较高的优先级。
5.通过在交换机上设置VLAN,有效的控制了两个子网间的安全。
6.不存在单点故障问题
HSRP的六种状态
Initial---HSRP初始状态,HSRP还没有运行,一般是在改变配置或端口刚刚启动时进入该状态。
Learn--- 学习状态,不知道虚拟IP,未看到活跃路由器发hello。等待活跃路由器发hello。
Listen--- 监听状态,路由器已经得到了虚拟IP地址,但是它既不是活动路由器也不是等待路由器。它一直监听从活动路由器和等待路由器发来的HELLO报文。
Speak--- 发言状态,在该状态下,路由器定期发送HELLO报文,并且积极参加活动路由器或等待路由器的竞选。
Standby---备份状态,当主动路由器失效时路由器准备接管包传输功能。
Active---活跃状态,路由器执行包传输功能。
与VRRP的区别
VRRP标准协议,HSRP思科私有协议,由interenet 工程任务组制定
其工作原理相似。
HSRP有6个状态(初始(Initial)状态,学习(Learn)状态,监听(Listen)状态,对话(Speak)状态,备份(Standby)状态,活动(Active)状态)和8个事件, VRRP只有3个状态(初始状态(Initialize)、主状态(Master)、备份状态(Backup))和5个事件.
HSRP有三种报文,而且有三种状态可以发送报文 呼叫(Hello)报文 告辞(Resign)报文 突变(Coup)报文,其通过udp发送报文
VRRP有一种报文,其通过tcp发送报文

实验规划:如图

HSRP 和VRRP 热备份的应用.doc https://pan.wps.cn/l/s4egx5t_第1张图片
实验要求:负载均衡
Pc1使用 HSRP 实现热备份,其R2为主,R3为备
PC2使用vrrp 实现热备份,其R3为主,R2为备

实验步骤:
1.给pc配IP地址
HSRP 和VRRP 热备份的应用.doc https://pan.wps.cn/l/s4egx5t_第2张图片
2.给交换机sw1配置
sw1(config)#vlan 10,20 先创建vlan10 和vlan20
sw1(config-vlan)#exit
sw1(config)#int f1/0 进入端口模式
sw1(config-if)#switchport mode a
sw1(config-if)#switchport mode access 定义端口模式
sw1(config-if)#switchport access vlan 10 将该端口添加到vlan 10 中
sw1(config-if)#int f1/1
sw1(config-if)#switchport mode access
sw1(config-if)#switchport access vlan 20
sw1(config-if)#exit
sw1(config)#int range f1/14 -15 操作多个端口 ,同时将f1/14和f1/15端口变成中继口
sw1(config-if-range)#switchport trunk encapsulation dot1q
sw1(config-if-range)#switchport mode trunk

3.配置R2,运用到单臂路由。
R2(config)#int f0/0 先给f0/0配ip
R2(config-if)#ip add 192.168.11.2 255.255.255.0
R2(config-if)#no shut
下面运用到单臂路由
R2(config-if)#int f0/1
R2(config-if)#no shut 先进入端口,要先开启
R2(config-if)#int f0/1.10 在进入到子端口
R2(config-subif)#encapsulation dot1Q 10 分配vlan,注意格式
R2(config-subif)#ip add 192.168.10.2 255.255.255.0 配IP和子网掩码
R2(config-subif)#no shut 再次开启
R2(config-subif)#int f0/1.20
R2(config-subif)#encapsulation dot1Q 20
R2(config-subif)#ip add 192.168.20.2 255.255.255.0
R2(config-subif)#no shut

4.配置R3
R3(config)#int f0/1
R3(config-if)#ip add 192.168.12.2 255.255.255.0
R3(config-if)#no shut
R3(config-if)#exit
R3(config)#int f1/15 变成中继口
R3(config-if)#sw tr en d 简写
R3(config-if)#sw m tr
R3(config-if)#exit
R3(config)#vlan 10,20 创建vlan
R3(config-vlan)#exit
R3(config)#int vlan 10
R3(config-if)#ip add 192.168.10.3 255.255.255.0
R3(config-if)#no shut
R3(config-if)#int vlan 20
R3(config-if)#exit
R3(config)#int vlan 20
R3(config-if)#ip add 192.168.20.3 255.255.255.0
R3(config-if)#no shut
5.配置R1
R1(config)#int f0/0 给各个端口配ip
R1(config-if)#ip add 192.168.11.1 255.255.255.0
R1(config-if)#no shut 一定开启端口
R1(config-if)#int f0/1
R1(config-if)#ip add 192.168.12.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#exit
R1(config)#int loopback 0 配置环回口IP,作为测试用
R1(config-if)#ip add 1.1.1.1 255.255.255.255
R1(config-if)#no shut

6.给三个路由器添加路由表
(1). R1的配置
运用浮动路由
R1(config)#ip route 192.168.10.0 255.255.255.0 192.168.11.2 1 优先通过,后面的数字越小,级别越高
R1(config)#ip route 192.168.10.0 255.255.255.0 192.168.12.2 10
R1(config)#ip route 192.168.20.0 255.255.255.0 192.168.11.2 10
R1(config)#ip route 192.168.20.0 255.255.255.0 192.168.12.2 1
R1(config)#end
R1#sh ip route 查看路由表
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C 192.168.12.0/24 is directly connected, FastEthernet0/1
1.0.0.0/32 is subnetted, 1 subnets
C 1.1.1.1 is directly connected, Loopback0
S 192.168.10.0/24 [1/0] via 192.168.11.2
C 192.168.11.0/24 is directly connected, FastEthernet0/0
S 192.168.20.0/24 [1/0] via 192.168.12.2

(2). R2的配置
R2(config)#ip route 1.1.1.1 255.255.255.255 192.168.11.1
R2(config)#exit
R2#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

 1.0.0.0/32 is subnetted, 1 subnets

S 1.1.1.1 [1/0] via 192.168.11.1
C 192.168.10.0/24 is directly connected, FastEthernet0/1.10
C 192.168.11.0/24 is directly connected, FastEthernet0/0
C 192.168.20.0/24 is directly connected, FastEthernet0/1.20

(3). R3的配置
R3(config)#ip route 1.1.1.1 255.255.255.255 192.168.12.1
R3(config)#end
R3#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C 192.168.12.0/24 is directly connected, FastEthernet0/1
1.0.0.0/32 is subnetted, 1 subnets
S 1.1.1.1 [1/0] via 192.168.12.1
C 192.168.10.0/24 is directly connected, Vlan10
C 192.168.20.0/24 is directly connected, Vlan20

7.Pc1运用hrsp热备份,R2为主路由器,R3为备路由器。
(1). R2的配置
R2(config)#int f0/1.10 进入端口
R2(config-subif)#standby 10 ip 192.168.10.1 配虚拟网关,其中10 表示的是所属的组,范围为0-285(删除 no standby 10 ip 192.168.10.1 )
R2(config-subif)#standby 10 pri
R2(config-subif)#standby 10 priority 200 设置优先及,数字越大优先及越高,默认的是100,其范围为0-255)
R2(config-subif)#standby 10 preempt 夺回主动权,当优先级大时,夺取主动权
R2(config-subif)#standby 10 track fastEthernet 0/0 100 (跟踪端口,当端口挂了,优先及减100,默认的是减10)

(2). R3的配置
R3(config)#int vlan 10
R3(config-if)#standby 10 ip 192.168.10.1 所属组要和R2的一样,配虚拟网关
R3(config-if)#standby 10 priority 150 该优先及要比R2小,要在100到200之间,否则抢不过来

(3). 测试的时候需要两个端口一起关,否则会出错,是个bug
Trace 跟踪看其经过那些路由器(traceroute是路由器跟踪命令)
可以看到,其是通过R2到达R1的
HSRP 和VRRP 热备份的应用.doc https://pan.wps.cn/l/s4egx5t
关闭R1的f0/0和R2的f0/0
R1(config)#int f0/0
R1(config-if)#shut
R2(config)#int f0/0
R2(config-if)#shut
可以看到其改为通过R3到达R1的
HSRP 和VRRP 热备份的应用.doc https://pan.wps.cn/l/s4egx5t
关闭端口,其会主动切换路由器

HSRP 和VRRP 热备份的应用.doc https://pan.wps.cn/l/s4egx5t_第3张图片
8.Pc2 用vrrp 热备份,R3为主路由器,R2为备路由器
(1). R3的配置,和hsrp模式差不多,稍微有点改动
R3(config)#track 1 int f0/1 line-protocol 要先创建跟踪的端口,1为序号
R3(config-track)#exit
R3(config)#int vlan 20
R3(config-if)#vrrp 20 ip 192.168.20.1 创建虚拟IP
R3(config-if)#vrrp 20 priority 200 设置优先及
R3(config-if)#vrrp 20 preempt 设置抢占权
R3(config-if)#vrrp 20 track 1 decrement 100 当该端口挂了,优先及减100.
(2). R2的配置
R2(config-if)#int f0/1.20
R2(config-subif)#vrrp 20 ip 192.168.20.1
R2(config-subif)#vrrp 20 priority 150
R2(config-subif)#vrrp 20 preempt

(3). 测试,可以看到其是通过R3到R1的
HSRP 和VRRP 热备份的应用.doc https://pan.wps.cn/l/s4egx5t_第4张图片
关闭R3的端口f0/1和R1的端口f0/1,
R3(config)#int f0/1
R3(config-if)#shut
R1(config-if)#int f0/1
R1(config-if)#shut
可以看到其通过R2到R1
HSRP 和VRRP 热备份的应用.doc https://pan.wps.cn/l/s4egx5t

总结:该实验就基本完成,此实验实现了负载均衡,又完成了热备份,运用到了单臂路由技术,浮动路由技术,环回口的应用,以及vrrp和hsrp的运用,更直观表现其模式的不同,注意,测试的时候,关闭端口一定要两个端口一起关,是一个bug,不然实验会不成功。

R2#sh standby bri 查看HSRP状态的命令
P indicates configured to preempt.
|
Interface Grp Pri P State Active Standby Virtual IP
Fa0/1.10 10 100 P Standby 192.168.10.3 local 192.168.1
R2#sh run | include stan 查看抢占命令
standby 10 ip 192.168.10.1
standby 10 priority 200
standby 10 preempt
standby 10 track FastEthernet0/0 100

R2#sh standby 查看HSRP的详细信息
FastEthernet0/1.10 - Group 10
State is Standby
13 state changes, last state change 00:33:25
Virtual IP address is 192.168.10.1
Active virtual MAC address is 0000.0c07.ac0a
Local virtual MAC address is 0000.0c07.ac0a (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 1.376 secs
Preemption enabled
Active router is 192.168.10.3, priority 150 (expires in 7.424 sec)
Standby router is local
Priority 100 (configured 200)
Track interface FastEthernet0/0 state Down decrement 100
IP redundancy name is "hsrp-Fa0/1.10-10" (default)