一.原理
HSRP:
HSRP:热备份路由器协议(HSRP:Hot Standby Router Protocol),是cisco平台一种特有的技术,是cisco的私有协议。
负责转发数据包的路由器称之为活动路由器(Active Router)。一旦主动路由器出现故障,HSRP 将激活备份路由器(Standby Routers)取代主动路由器。HSRP 协议提供了一种决定使用主动路由器还是备份路由器的机制,并指定一个虚拟的 IP 地址作为网络系统的缺省网关地址。如果主动路由器出现故障,备份路由器(Standby Routers)承接主动路由器的所有任务,并且不会导致主机连通中断现象。
HSRP 运行在 UDP 上,采用端口号1985。路由器转发协议数据包的源地址使用的是实际 IP 地址,而并非虚拟地址,正是基于这一点,HSRP 路由器间能相互识别.
HSRP协议利用一个优先级方案来决定哪个配置了HSRP协议的路由器成为默认的主动路由器。如果一个路由器的优先级设置的比所有其他路由器的优先级高,则该路由器成为主动路由器。路由器的缺省优先级是100,所以如果只设置一个路由器的优先级高于100,则该路由器将成为主动路由器。
通过在设置了HSRP协议的路由器之间广播HSRP优先级,HSRP协议选出当前的主动路由器。当在预先设定的一段时间内主动路由器不能发送hello消息时,优先级最高的备用路由器变为主动路由器。路由器之间的包传输对网络上的所有主机来说都是透明的。
配置了HSRP协议的路由器交换以下三种多点广播消息:
Hello―――hello消息通知其他路由器发送路由器的HSRP优先级和状态信息,HSRP路由器默认为每3秒钟发送一个hello消息;
Coup―――当一个备用路由器变为一个主动路由器时发送一个coup消息;
Resign―――当主动路由器要宕机或者当有优先级更高的路由器发送hello消息时,主动路由器发送一个resign消息。在任一时刻,配置了HSRP协议的路由器都将处于以下五种状态之一:
Initial―――HSRP启动时的状态,HSRP还没有运行,一般是在改变配置或端口刚刚启动时进入该状态。
Listen―――路由器已经得到了虚拟IP地址,但是它既不是活动路由器也不是等待路由器。它一直监听从活动路由器和等待路由器发来的HELLO报文。
Speak―――在该状态下,路由器定期发送HELLO报文,并且积极参加活动路由器或等待路由器的竞选。
Standby―――当主动路由器失效时路由器准备接管包传输功能。
Active―――路由器执行包传输功能。
VRRP
VRRP是一种LAN接入设备备份协议。一个局域网络内的所有主机都设置缺省网关,这样主机发出的目的地址不在本网段的报文将被通过缺省网关发往三层交换机,从而实现了主机和外部网络的通信。
vrrp只定义了一种报文――vrrp报文,这是一种组播报文,由主三层交换机定时发出来通告他的存在。使用这些报文可以检测虚拟三层交换机各种参数,还可以用于主三层交换机的选举。
VRRP中定义了三种状态模型,初始状态Initialize,活动状态Master和备份状态Backup,其中只有活动状态的交换机可以为到虚拟IP地址的的转发请求提供服务。
vrrp报文是封装在IP报文上的,支持各种上层协议,同时VRRP还支持将真实接口IP地址设置为虚拟IP地址。
那么如何从备份组的多台交换机中选举Master?这项工作由我们在备份组内每台交换机上配置的相同IP地址的虚拟交换机完成。
虚拟交换机根据配置的优先级的大小选择主交换机,优先级最大的作为主交换机,状态为Master,若优先级相同(如果交换机没有配置优先级,就采用默认值100),则比较接口的主IP地址,主IP地址大的就成为主交换机,由它提供实际的路由服务。其他交换机作为备份交换机,随时监测主交换机的状态。当主交换机正常工作时,它会每隔一段时间发送一个VRRP组播报文,以通知组内的备份交换机,主交换机处于正常工作状态。如果组内的备份交换机长时间没有接收到来自主交换机的VRRP组播报文,则将自己状态转换为Master。当组内有多台备份交换机,将有可能产生多个主交换机。这时每一个主交换机就会比较VRRP报文中的优先级和自己本地的优先级,如果本地的优先级小于VRRP中的优先级,则将自己的状态转换为Backup,否则保持自己的状态不变。通过这样一个过程,就会将优先级最大的交换机选成新的主交换机,完成VRRP的备份功能。
相互区别
VRRP协议的工作机理与CISCO公司的HSRP(Hot Standby Routing Protocol)有许多相似之处。但二者主要的区别是在CISCO的HSRP中,需要单独配置一个IP地址作为虚拟路由器对外体现的地址,这个地址不能是组中任何一个成员的接口地址。
使用VRRP协议,不用改造目前的网络结构,最大限度保护了当前投资,只需最少的管理费用,却大大提升了网络性能,具有重大的应用价值。
二.案例
案例一:HSRP
拓扑图
R1配置:
Router(config)#hostname R1
R1(config)#interface fastEthernet 0/0.10
R1(config-subif)#encapsulation dot1Q 10
R1(config-subif)#ip address 192.168.10.1 255.255.255.0
R1(config-subif)#standby 10 ip 192.168.10.254
R1(config-subif)#standby 10 priority 120
R1(config-subif)#standby 10 preempt
R1(config)#interface fastEthernet 0/0.20
R1(config-subif)#encapsulation dot1Q 20
R1(config-subif)#ip address 192.168.20.1 255.255.255.0
R1(config-subif)#standby 20 ip 192.168.20.254
R2配置:
Router(config)#hostname R2
R2(config)#interface fastEthernet 0/0.10
R2(config-subif)#encapsulation dot1Q 10
R2(config-subif)#ip address 192.168.10.2 255.255.255.0
R2(config-subif)#standby 10 ip 192.168.10.254
R2(config)#interface fastEthernet 0/0.20
R2(config-subif)#encapsulation dot1Q 20
R2(config-subif)#ip address 192.168.20.2 255.255.255.0
R2(config-subif)#standby 20 ip 192.168.20.254
R2(config-subif)#standby 20 priority 120
R2(config-subif)#standby 20 preempt
SW1配置:
Router(config)#hostname sw1
sw1(config)#lin console 0
sw1(config-line)#logg synchronous
sw1(config-line)#no exec-timeout
sw1(config-line)#exit
sw1#vlan database
sw1(vlan)#vlan 10
sw1(vlan)#vlan 20
sw1(vlan)#exit
sw1(config)#interface range fastEthernet 0/3 �C 5
sw1(config-if-range)#switchport mode access
sw1(config-if-range)#switchport access vlan 10
sw1(config-if-range)#exit
sw1(config)#interface range fastEthernet 0/6 �C 10
sw1(config-if-range)#switchport mode access
sw1(config-if-range)#switchport access vlan 20
sw1(config-if-range)#exit
sw1(config)#interface fastEthernet 0/0
sw1(config-if)#switchport mode trunk
sw1(config)#interface fastEthernet 0/1
sw1(config-if)#switchport mode trunk
sw1(config-if)#channel-group 1 mode on
sw1(config)#interface fastEthernet 0/2
sw1(config-if)#switchport mode trunk
sw1(config-if)#channel-group 1 mode on
SW2配置:
Router(config)#hostname sw1
sw2(config)#lin console 0
sw2(config-line)#logg synchronous
sw2(config-line)#no exec-timeout
sw2(config-line)#exit
sw2#vlan database
sw2(vlan)#vlan 10
sw2(vlan)#vlan 20
sw2(vlan)#exit
sw2(config)#interface range fastEthernet 0/3 �C 5
sw2(config-if-range)#switchport mode access
sw2(config-if-range)#switchport access vlan 10
sw2(config-if-range)#exit
sw2(config)#interface range fastEthernet 0/6 �C 10
sw2(config-if-range)#switchport mode access
sw2(config-if-range)#switchport access vlan 20
sw2(config-if-range)#exit
sw2(config)#interface fastEthernet 0/0
sw2(config-if)#switchport mode trunk
sw2(config)#interface fastEthernet 0/1
sw2(config-if)#switchport mode trunk
sw2(config-if)#channel-group 1 mode on
sw2(config)#interface fastEthernet 0/2
sw2(config-if)#switchport mode trunk
sw2(config-if)#channel-group 1 mode on
测试:
vlan10主机地址
vlan20主机地址
vlan10主机ping vlan20主机
vlan20主机ping vlan10主机
案例二:VRRP
拓扑图
配置:
R5
[R5]int eth 0.1
[R5-Ethernet0.1]vlan-type dot1q vid 10
[R5-Ethernet0.1]ip add 192.168.10.1 24
[R5]int eth 0.2
[R5-Ethernet0.2]vlan-type dot1q vid 20
[R5-Ethernet0.2]ip add 192.168.20.1 24
[R5]vrrp ping-enable
[R5]int e 0.1
[R5-Ethernet0.1]vrrp vrid 10 virtual-ip 192.168.10.254
[R5-Ethernet0.1]vrrp vrid 10 priority 120
[R5-Ethernet0.1]int e 0.2
[R5-Ethernet0.2]vrrp vrid 20 virtual-ip 192.168.20.254
[R5-Ethernet0.2]vrrp vrid 20 priority 100
R10
[R10]interface e0.1
[R10-Ethernet0.1]vlan-type dot1q vid 10
[R10-Ethernet0.1]ip add 192.168.10.2 24
[R10-Ethernet0.1]interface e0.2
[R10-Ethernet0.2]vlan-type dot1q vid 20
[R10-Ethernet0.2]ip add 192.168.20.2 24
[R10]vrrp ping-enable
[R10]interface e0.1
[R10-Ethernet0.1]vrrp vrid 10 virtual-ip 192.168.10.254
[R10-Ethernet0.1]vrrp vrid 10 priority 100
[R10-Ethernet0.1]interface e0.2
[R10-Ethernet0.2]vrrp vrid 20 virtual-ip 192.168.20.254
[R10-Ethernet0.2]vrrp vrid 20 priority 120
SW8
[SW8]int e 0/24
[SW8-Ethernet0/24]port link-type trunk
[SW8-Ethernet0/24]port trunk permit vlan all
[SW8]int Ethernet 0/2
[SW8-Ethernet0/2]port link-type trunk
[SW8-Ethernet0/2]port trunk permit vlan all
[SW8]vlan 10
[SW8-vlan10]port Ethernet 0/5 to Ethernet 0/10
[SW8]vlan 20
[SW8-vlan20]port Ethernet 0/11 to Ethernet 0/15
SW9
[SW9]vlan 10
[SW9-vlan10]port Ethernet 0/5 to Ethernet 0/10
[SW9-vlan10]vlan 20
[SW9-vlan20]port Ethernet 0/11 to Ethernet 0/15
[SW9]interface Ethernet 0/24
[SW9-Ethernet0/24]port link-type trunk
[SW9-Ethernet0/24]port trunk permit vlan all
[SW9]interface Ethernet 0/2
[SW9-Ethernet0/2]port link-type trunk
[SW9-Ethernet0/3]port trunk permit vlan all
测试:
vlan 10主机ping右侧 vlan 20内主机
Vlan20 主机ping 左侧 vlan 10主机