简介
虚拟路由器冗余协议(VRRP)是一种LAN接入设备备份协议。一个局域网络内的所有主机都设置缺省网关,这样主机发出的目的地址不在本网段的报文将被通过缺省网关发往三层交换机,从而实现了主机和外部网络的通信。它可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台。控制虚拟路由器 IP 地址的 VRRP 路由器称为主路由器,它负责转发数据包到这些虚拟 IP 地址。一旦主路由器不可用,这种选择过程就提供了动态的故障转移机制,这就允许虚拟路由器的 IP 地址可以作为终端主机的默认第一跳路由器。使用 VRRP 的好处是有更高的默认路径的可用性而无需在每个终端主机上配置动态路由或路由发现协议。 VRRP 包封装在 IP 包中发送。
互相区别
VRRP协议的工作机理与CISCO公司的HSRP(Hot Standby Routing Protocol)有许多相似之处。但二者主要的区别是在CISCO的HSRP中,需要单独配置一个IP地址作为虚拟路由器对外体现的地址,这个地址不能是组中任何一个成员的接口地址。
使用VRRP协议,不用改造目前的网络结构,最大限度保护了当前投资,只需最少的管理费用,却大大提升了网络性能,具有重大的应用价值。
工作原理
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监视功能
1. 监视指定接口功能
VRRP的监视接口功能使其在路由器连接上行链路的接口出现故障时,备份组无法感知上行链路的故障,如果该路由器此时处于Master状态,将会导致局域网内的主机无法访问外部网络。通过监视指定接口的功能,可以解决该问题。当连接上行链路的接口处于Down或Removed状态时,路由器主动降低自己的优先级,使得备份组内其它路由器的优先级高于这个路由器,以便优先级最高的路由器成为Master,承担转发任务。
2. 监视Track项功能
通过VRRP监视Track项功能,可以实现:
? 根据上行链路的状态,改变路由器的优先级。当上行链路出现故障,局域网内的主机无法通过路由器访问外部网络时,被监视Track项的状态为Negative,并将路由器的优先级降低指定的数额。从而,使得备份组内其它路由器的优先级高于这个路由器的优先级,成为Master路由器,保证局域网内主机与外部网络的通信不会中断。
? 在Backup路由器上监视Master路由器的状态。当Master路由器出现故障时,工作在切换模式的Backup路由器能够迅速成为Master路由器,以保证通信不会中断
应用实例:
实验拓扑图
实验配置和查看
配置SW2 和 配置SW3
System-view
Vlan 10
Port e1/0/10
Vlan 20
Port e1/0/20
Int e1/0/1
Port link-type trunk
Port trunk permit vlan all
Int e1/0/24
Port link-type trunk
Port trunk permit vlan all
Dis int e1/0/1
Dis int e1/0/24 查看端口1和24
配置R13
Vrrp ping-enable
Int e1.10
Vlan-type dot1q vid 10
Ip add 192.168.10.1 24
Vrrp vrid 10 virtual-ip 192.168.10.254
Vrrp vrid 10 priority 120
Vrrp vrid 10 track serial 0 reduce 30
Int e1.20
Vlan-type dot1q vid 20
Ip add 192.168.20.1 24
Vrrp vrid 10 virtual-ip 192.168.20.254
quit
Int s0
Ip add 10.1.1.1 30
Quit
Ip route 0.0.0.0 0.0.0.0 10.1.1.2
Acl 2000
Rule permit source any
Int s0
Nat outbound 2000 interface
Dis cu
配置R1
Vrrp ping-enable
Int e1.10
Vlan-type dot1q vid 10
Ip add 192.168.10.2 24
Vrrp vrid 10 virtual-ip 192.168.10.254
Int e1.20
Vlan-type dot1q vid 20
Ip add 192.168.20.2 24
Vrrp vrid 20 virtual-ip 192.168.20.254
Vrrp vrid 20 priority 120
Vrrp vrid 20 track serial 1 reduce 30
Dis cu
Int s1
Ip add 10.2.1.1 30
Quit
Ip route 0.0.0.0 0.0.0.0 10.2.1.2
Acl 2000
Rule permit source any
Int s1
Nat outbound 2000 interface
Dis cu
配置R11
Int e0
Ip add 202.102.224.25 24
Loopback
Int s0
Ip add 10.1.1.2 30
Shutdown
Undo shutdown
Dis cu
Int s1
Ip add 10.2.1.2 30
Shutdown
Undo shutdown
Dis cu
检测结果
用pc1检测
查看跟踪包信息:
当R13的S0端口shutdown时:
Ping 服务器 202.102.224.25 -t
会丢失几个包然后继续通信
查看跟踪包:
如果R13的S0端口undo shutdown时:
Ping 服务器 202.102.224.25 -t
可能会有一个包有一个比较大的延迟然后正常传输
查看跟踪包:
用pc2检测
当R1到SW3之间的线断开时只会丢失一个包而继续通信
Ping 服务器 202.102.224.25 -t
会丢失几个包然后继续通信
查看R1的vrrp
查看跟踪包信息: