HSRP在企业网中的应用

HSRP简介

热备份路由器协 议(HSRP)的设计目标是支持特定情况下 IP 流量失败转移不会引起混乱、并允许主机使用单路由器,以及即使在实际第一跳路由器使用失败的情形下仍能维护路由器间的连通性。换句话说,当源主机不能动态 知道第一跳路由器的 IP 地址时,HSRP 协议能够保护第一跳路由器不出故障。

HSRP工作原理

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

HSRP 运行在 UDP 上,采用端口号1985。路由器转发协议数据包的源地址使用的是实际 IP 地址,而并非虚拟地址,正是基于这一点,HSRP 路由器间能相互识别.

实验设备:2台cisco 3640路由器,2台cisco c3550交换机,2台pc机

拓扑图

clip_p_w_picpath002

 

r1配置步骤

Router>en

Router#conf t

Router(config)#host r1

r1(config)#int f0/0

r1(config-if)#no shut #开启物理接口f0/0

r1(config)#int f0/0.10 #拆分子接口f0/0.10

r1(config-subif)#encapsulation dot1Q 10 #给来自vlan10的数据打标签

r1(config-subif)#ip add 192.168.10.1 255.255.255.0 #配置子接口f0/0 .10 ip地址

r1(config-subif)#int f0/0.20 #拆分子接口f0/0.20

r1(config-subif)#encapsulation dot1Q 20 给来自vlan20的数据打标签

r1(config-subif)#ip add 192.168.20.1 255.255.255.0 配置子接口f0/0.20 ip地址

r1(config)#int f0/0.10 #将f0/0/10加入虚拟组 10

r1(config-subif)#standby 10 ip 192.168.10.254 #给虚拟组10配置虚拟ip

r1(config-subif)#standby 10 priority 120 #调整f0/0.10的优先级为120

r1(config-subif)#standby 10 preempt #启用权力争夺

r1(config)#int f0/0.20 #将f0/0/20加入虚拟组 20

r1(config-subif)#standby 20 ip 192.168.20.254 #给虚拟组20配置虚拟ip

 

r2配置步骤

Router>en

Router#conf t

Router(config)#

Router(config)#int f0/0

Router(config-if)#no shut

Router(config-subif)#int f0/0.10

Router(config-subif)#encapsulation dot1Q 10

Router(config-subif)#ip add 192.168.10.2 255.255.255.0

Router(config-subif)#int f0/0.20

Router(config-subif)#encapsulation dot1Q 20

Router(config-subif)#ip add 192.168.20.2 255.255.255.0

Router(config)#hostname r2

r2(config)#int f0/0.10 #将f0/0/10加入虚拟组 10

r2(config-subif)#standby 10 ip 192.168.10.254 #给虚拟组配置虚拟ip

r2(config)#int f0/0.20 #将f0/0/10加入虚拟组 10

r2(config-subif)#standby 20 ip 192.168.20.254 #给虚拟组配置虚拟ip

r2(config-subif)#standby 20 priority 120 #调整f0/0.10的优先级为120

r2(config-subif)#standby 20 preempt #启用权力争夺

 

sw-1配置步骤

sw-1(config)#int f0/0

sw-1(config-if)#switchport mode trunk #将f0/0和f0/1配置成trunk链路

sw-1(config)#int f0/1

sw-1(config-if)#switchport mode trunk

sw-1#vlan database

sw-1(vlan)#vlan 10 #创建vlan10和vlan20

VLAN 10 added:

Name: VLAN0010

sw-1(vlan)#vlan 20

VLAN 20 added:

Name: VLAN0020

sw-1(vlan)#exit

sw-1#conf t

sw-1(config)#int range f0/3 – 10 #在vlan10中加入接口f0/3-10

sw-1(config-if-range)#switchport access vlan 10

sw-1(config-if-range)#int range f0/11 - 15 #在vlan20中加入接口f0/11-15

sw-1(config-if-range)#switchport access vlan 20

 

sw-2配置步骤

sw-2(config)#int f0/0 #将f0/0和f0/1配置成trunk链路

sw-2(config-if)#switchport mode trunk

sw-2(config-if)#

sw-2(config-if)#

sw-2(config-if)#switchport mode trunk

sw-2#vlan database #创建vlan10和vlan20

sw-2(vlan)#vlan 10

VLAN 10 added:

Name: VLAN0010

sw-2(vlan)#vlan 20

VLAN 20 added:

Name: VLAN0020

sw-2(vlan)#exit

sw-2#conf t

sw-2(config)#int range f0/3 – 10 #在vlan10中加入接口f0/3-10

sw-2(config-if-range)#switchport access vlan 10

sw-2(config-if-range)#int range f0/11 - 15 #在vlan20中加入接口f0/11-15

sw-2(config-if-range)#switchport access vlan 20

 

测试一:用pc1 ping pc2,并tracert

测试结果

clip_p_w_picpath004

---------------------------------测试结果显示来自数据走的是r1的f0/0/10接口,在vlan 10中r2是备份路由

 

测试二:用pc2 ping pc1,并tracert

测试结果

clip_p_w_picpath006

---------------------------------测试结果显示来自数据走的是r2的f0/0/20接口,在vlan20 中r1是备份路由

 

测试三:断开和r1的连接,用pc1ping pc2,并tracert

测试结果

clip_p_w_picpath008

------------------------测试结果显示数据走的是r2的e1.1接口,在vlan 10中r2从备份路由器变为主路由器了

 

测试四:重新连接r1,用pc1ping pc2,并tracert

测试结果

clip_p_w_picpath010

--------------------------------测试结果表明,当r1恢复连接后,在vlan10中主路由器又变成r1了

 

上述测试表明实验成功!