HSRP 简介: <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

HSRP(HOST STANDBY ROUTER PROTOCOL), 又称为热备份协议。是 cisco 平台一种特有的技术,是 cisco 的私有协议。 HSRP 运行在 UDP 上,采用端口号 1985

热备份协议的原理:

该协议中含有多台路由器,对应 HSRP 组。该组中只有活动路由器承担转发用户流量的职责。当活动路由器失效后,备份路由器将承担该职责,称为新的活动路由器。当在一个局域网上有多个热备份组存在时,把主机分不到不同的热备份组,可以使负载得到均衡。在该协议中制定一个虚拟的 IP 地址作为网络系统的缺省网关,当活动路由器出现故障时不会出现连接中断的现象。在主机上使用的虚拟的网关。当链路中的路由出现问题时,无需改变网关。
HSRP 的优点:

提拱了冗余的网络,提供了负载均衡,使网络具有高可用性。
路由器承担的角色:

活动路由器:全程为( Active Router )负责转发数据包的路由器被称为活动路由器。

备份路由器:全称为( Standby Router )负责对主路由器进行备份,一旦主路由器出现故障,立即转换为活动路由器角色。
角色的指定方案:

HSRP 协议采用一个优先级方案来决定哪个配置了 HSRP 协议的路由器成为主动路由器。如果一个路由器的优先级设置的比所有其他路由的优先级高,那么该路由为主动路由。当其中的主动路由宕机或者出现单点故障时,则在备份路由中会根据优先级的高低重新选举主动路由。数值越大,优先级越高。

配置了 HSRP 协议的路由器交换以下三种多点播报消息:

HELLO—— 通知去他路由器发送自己的 HSRP 优先级和状态信息,默认每 3 秒钟发送一次。

Coup—— 当一个备用路由器称为一个主动路由器的时候会发送 coup 消息。

Resign—— 当主动路由器要宕机的时候或者是有优先级更高的路由器时,发送该消息。

配置了 HSRP 协议的路由器共有以下几种状态:

INITIAL——HSRP 启动时的状态, HSRP 还没有运行。一般在改变配置或者端口刚刚启动的时候的状态。

Listen—— 路由器已经得到了虚拟 IP 地址,等待主动路由和被动路由发送 hello 包,此时该路由器既不是主动路由,又不是被动路由的时候。

Speak—— 该状态下,路由器定期发送 hello 报文。等待比对各个路由器之间的优先级来决定自己的角色。

Standby—— 作为备份路由器。如果主动路由宕机,或者出现单点故障的时候,会启动该备份路由器。

Active—— 作为主动路由器。传输数据包。

案例:

配置信息:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ROUTER1

Router#conf ter 【进入全局配置模式】

Router1(config)#line console 0

Router1(config-line)#logging synchronous 【信息同步】

Router1(config-line)#no exec-timeout 【取消超时】

Router1(config-line)#int f0/0 【进入接口 f/0

Router1(config-if)#no shut 【打开 f0/0

Router1(config-if)#int f0/0.10 【划分子接口 f/0.10

Router1(config-subif)#encapsulation dot1q 10 【为 vlan10 封装动态 dot1q 协议】

Router1(config-subif)#ip add 192.168.10.1 255.255.255.0 【配置 IP 地址】

Router1(config-subif)#int f0/0.20 【进入子接口】

Router1(config-subif)#encapsulation dot1q 20 【封装协议】

Router1(config-subif)#ip add 192.168.20.1 255.255.255.0 【配置 IP

Router1(config-subif)#exit

Router1(config)#int f0/0.10 【进入子接口】

Router1(config-subif)#standby 20 ip 192.168.10.254 【为 group20 配置虚拟 IP 地址】

Router1(config-subif)#standby 20 priority 120 【配置 HSRP 的优先级,其中默认的优先级为 100 ,为了实现负载均衡,所以提高该子接口的优先级】

Router1(config-subif)#standby 20 preempt 【启动优先级高的抢占】

Router1(config-subif)#exit

Router1(config)#int f0/0.20 【进入子接口】

Router1(config-subif)#standby 40 ip 192.168.20.254 【配置虚拟 IP 地址,供给主机填写网关】

Router1(config-subif)#standby 40 preempt 【组 40 启动优先级抢占】

Router1(config-subif)#exit
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ROUTER2

Router2>EN 15

Router2#conf ter

Router2(config)#line console 0

Router2(config-line)#logging sync

Router2(config-line)#no exec-ti

Router2(config-line)#int f0/0

Router2(config-if)#no shut

Router2(config-if)#int f0/0.10

Router2(config-subif)#encapsulation dot1q 10 【为 vlan10 封装 dot1q 协议】

Router2(config-subif)#ip add 192.168.10.2 255.255.255.0 【为子接口配置 IP 地址】

Router2(config-subif)#int f0/0.20

Router2(config-subif)#encapsulation dot1q 20

Router2(config-subif)#ip add 192.168.20.2 255.255.255.0

Router2(config-subif)#exit

Router2(config)#int f0/0.10 【进入子接口】

Router2(config-subif)#standby 20 ip 192.168.10.254 【配置虚拟 IP 地址】

Router2(config-subif)#standby 20 preempt 【抢占模式】

Router2(config-subif)#int f0/0.20

Router2(config-subif)#standby 40 ip 192.168.20.254

Router2(config-subif)#standby 40 priority 120 【其中默认的优先级为 100 ,为了实现负载均衡,所以提高该子接口的优先级】

Router2(config-subif)#standby 40  preempt

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SWITCH-1
SW-1>en 15

SW-1(config)#no ip routing 【取消三成路由器的路由功能】

SW-1#vlan database 【进入 vlan 数据库】

SW-1(vlan)#vlan 10 【创建 vlan 10

SW-1(vlan)#vlan 20 【创建 vlan20

SW-1(config)#int f0/0

SW-1(config-if)#switchport mode trunk 【将于路由器相连的接口通讯方式设置为 trunk ,使打标签的 vlan 中的主机通过】

SW-1(config-if)#int f0/1 【该接口】

SW-1(config-if)#switchport mode trunk 【设置 trunk

SW-1(config)#inter range f 0/5 – 6 【划分 5 6 连个端口到 vlan10

SW-1(config-if-range)#switchport access vlan 10 【设置为 access 通讯】

SW-1(config)#interface range f0/7 - 8

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

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SWITCH-2
SW-2>en 15

SW-2(config)#no ip routing

SW-2#vlan database

SW-2(vlan)#vlan 10

SW-2(vlan)#vlan 20

SW-2(config)#int f0/0

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

SW-2(config-if)#int f0/1

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

SW-2(config)#inter range f 0/5 - 6

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

SW-2(config)#interface range f0/7 - 8

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

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pc1 【使用两个路由器模拟 pc 主机】

Router(config)#int f 0/0 【进入 f0/0 接口】

Router(config-if)#ip add 192.168.10.100 255.255.255.0 【为该网卡配置一个 IP 地址】

Router(config-if)#no shut 【打开该接口】

Router(config)#ip route 0.0.0.0 0.0.0.0 192.168.10.254 【配置默认路由,下一跳为虚拟 ip

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pc2

Router(config)#int f0/0

Router(config-if)#ip add 192.168.20.100 255.255.255.0

Router(config-if)#no shut

Router(config)#ip route 0.0.0.0 0.0.0.0 192.168.20.254 【配置默认路由,下一跳为虚拟 ip