VRRP协议简介与配置
一、VRRP概述
虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议。
VRRP广泛应用在边缘网络中,它的设计目标是支持特定情况下IP数据流量失败转移不会引起混乱,允许主机使用单路由器,以及即使在实际第一跳路由器使用失败的情形下仍能够维护路由器间的连通性。
VRRP决定哪个路由器是Master,Master路由器负责接收发送至用户网关的数据包并进行转发,以及响应PC对于其网关IP的ARP请求。
Backup路由器侦听Master路由器的状态,并在Master路由器发生故障时,接替其工作,从而保证业务流量的平滑切换。
VRRP的作用
提供了局域网上的设备备份机制。VRRP是一种容错协议,它保证当主机的下一跳路由器坏掉时,可以及时由另一台路由器来代替,从而保证通讯的连续性和可靠性。
VRRP工作时会在网络中加入一个含有虚拟IP和虚拟MAC地址的虚拟路由器,该路由器充当网络用户的网关,使得网络上的主机与虚拟路由器通信无需了解这个网络上物理路由器的任何信息。
Master报文的发送
当Master正常工作时,它会每隔一段时间(缺省为1秒)向组内Backup设备发送vrrp通告报文,通告自己工作正常。(注:只有Master发送VRRP报文)
VRRP通告报文被封装在IP报文里,通过组播地址224.0.0.18发送,TTL为255,协议号为112
二、VRRP术语
●VRRP路由器:
运行VRRP的路由器。一台VRRP路由器(的接口)可以同时参与到多个VRRP组中,在不同的组中,一台VRRP路由器可以充当不同的角色。
●VRRP组:
一个VRRP组由多个VRRP路由器组成,使用相同的VRID ( Virtual Router ID,虚拟路由器ID )进行标识,属于同一VRRP组的VRRP路由器互相交换信息,每一个VRRP组中只能有一个Master。
●虚拟路由器:
对于每一个VRRP组,抽象出来的一个逻辑路由器,该路由器充当网络用户的网关,该路由器并非真实存在,事实上对于用户而言,只需知道虚拟路由器的IP ,至于具体的虚拟路由器的角色由谁来承担、数据转发任务由谁来承担、Master故障后谁来接替,这是VRRP的工作。
●虚拟IP地址、MAC地址:
虚拟IP地址就是虚拟路由器的IP地址,该地址实际上就是用户的网关地址。
虚拟MAC地址是虚拟路由器根据VRID生成的MAC地址。-个虚拟路由器拥有一个虚拟MAC地址,格式为: 00-00-5E-00-01-{VRID}。
●Master、 Backup路由器:
Master路由器:在VRRP组中实际转发数据包的路由器,在每一个VRRP组中,仅有Master响应对虚拟IP地址的ARP请求。Master路由器同时以一定的时间间隔发送VRRP消息,以便通知Backup路由器自己的存活情况。
Backup路由器:
处于监听状态的路由器, - -旦Master路由器出现故障,Backup路由器就开始接替工作。
选举依据:先比较接JVRRP优先级(比大) ,如果相等,则比较接口IP地址(比大)。
三、VRRP状态
VRRP协议的状态共有三种,分别是Initialize , Master , Backup,初始状态都是Initialize ,通过比较优先级产生Master和Backup ,在规定时间内, Backup若没有收到Master发来的心跳报文,将切换为Master。
1、Initialize状态
初始状态都是Initialize,通过比较优先级后产生了Master和Backup。路由器启动时,如果路由器的优先级是255(最高优先级,当且仅当配置的VRRP虚拟IP地址和接口IP相同,即所谓IP地址拥有者),要发送VRRP通告信息,并发送广播ARP信息通告路由器IP地址对应的MAC地址为路由虚拟MAC,设置通告信息定时器准备定时发送VRRP通告信息,转为MASTER状态:否则进入BACKUP状态,设置定时器检查定时检查是否收到MASTER的通告信息。
2、Master状态
主机状态下的路由器要完成如下功能:
●设置定时通告定时器;
●用VRRP虚拟MAC地址响应路由器IP地址的ARP请求;
●转发目的MAC是VRRP虚拟MAC的数据包;
●如果是虚拟路由器IP的拥有者,将接受目的地址是虚拟路由器IP的数据包,否则丢弃;
●当收到shutdown的事件时删除定时通告定时器,发送优先值级为0的通告包,转初始化状态;
●如果定时通告定时器超时时,发送VRRP通告信息;
●收到VRRP通告信息时,如果优先值为0,发送VRRP通告信息:否则,判断数据的优先级是否高于本机,或相等而且实际IP地址大于本地实际IP,设置定时通告定时器,复位主机超时定时器,转BACKUP状态;否则的话,丢弃该通告包。
3、Backup状态
备机状态下的路由器要实现以下功能:
●设置主机超时定时器;
●不能响应针对虚拟路由器IP的ARP请求信息;
●丢弃所有目的MAC地址是虚拟路由器MAC地址的数据包;
●不接受目的是虚拟路由器IP的所有数据包;
●当收到shutdown的事件时删除主机超时定时器,转初始化状态;
●主机超时定时器超时的时候,发送VRRP通告信息,广播ARP地址信息,转MASTER状态;
●收到VRRP通告信息时。如果优先值为0,表示进入与MASTER选举,否则判断数据的优先级是否高于本机,如果高的话承认MASTER有效,复位主机超时定时器;否则的话,丢弃该通告包。
四、Master、 Backup路由过程
Master路由器
●定时( Advertisement Interval )发送VRRP通告报文,以便向Backup路由器告知自己的存活情况。
●以虚拟MAC地址响应其他设备对虚拟IP地址的ARP请求。
●转发目的MAC地址为虚拟MAC地址的IP报文。
●如果它是这个虚拟IP地址的拥有者(接口实际IP地址为虚拟IP地址) ,则接收目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文。
●如果收到此自己优先级大的报文,立即成为Backup。
●如果收到与自己优先级相等的VRRP报文且本地接IP地址小于对端接口IP,立即成为Backup。
Backup路由器
●接收Master设备发送的VRRP通告报文,判断Master设备的状态是否正常。
●对虚拟IP地址的ARP请求,不做响应。
●丢弃目的IP地址为虚拟IP地址的IP报文。
●如果收到优先级和自己相同或者比自己大的报文,则重置
Master_ Down_ Interval定时器 ,不进一步比较IP地址。
●如果收到比自己优先级小的报文且该报文优先级是0时,定时器时间设置为Skew_ time (偏移时间) , 如果该报文优先级不是0 ,丢弃报文,立刻成为Master。
Master_ Down_ Interval定时器 : Backup设备在该定时器超时后仍未收到通告报文,则会转换为Master状态。
计算公式如下:
Master_ Down_ Interval=(3*Advertisement_ Interval) + Skew_ time。 其中,Skew_Time=(256- Priority)/256。
VRRP报文
五、VRRP配置
配置R1
##########R1##############
[R1]int vlanif 10 ##网关接口(三层交换为VLAN接口,路由器为下行接口)
[R1-Vlanif10]ip address 192.168.10.11 24
[R1-Vlanif10]vrrp vrid 1 virtual-ip 192.168.10.1
###创建VRRP虚拟路由器的标识vrid为1,并配置vrid1的虚拟IP地址[R1-Vlanif10]vrrp vrid 1 priority 120
##设置设备A的优先级为120(缺省值为100),数值越大越优先
[R1-Vlani f10]vrrp vrid 1 preempt-mode timer delay 6
####配置Master设备的抢占时延为6秒(缺省值为0,立即抢占),以防频繁地进行状态切换
[R1-Vlani f10]vrrp vrid 1 track interface GigabitEthernet0/0/1 reduce 30
####跟踪上行接口G0/0/1的状态,如端口故障则Master优先级降低30 (缺省值为10)
[R1-Vlanif10]vrrp vrid 1 track interface g0/0/2 ####跟踪下行接口
配置R2
############R2#############
[R2] int vlanif 10
[R2-Vlanif10]ip address 192.168.10.10 24
[R2-Vlanif10]vrrp vrid 1 virtual-ip 192.168.10.1
[R2-Vlanif10]vrrp vrid 1 priority 115
[R2]dis vrrp ####显示VRRP状态
PC测试验证
tracert 10.0.0.1
选配项
[R1-Vlanif10]vrrp vrid 1 preempt-mode timer delay 6
####建议backup设备设置为立即抢占,master设备设置为延时抢占,指定一定的延迟时间,这样配置的目的是为了在网络环境不稳定时,为上下行链路的状态恢复一致性等待一定时间,以免出现双master设备或由于主备双方频繁抢占导致用户设备学习到错误的master设备MAC地址。
[Huawei-GigabitEthernet0/0/2]vrrp vrid 1 timer advertise 3
###master设备会以advertisement_ interval通告时间定时器( 缺省值为1)向组内backup设备发送vrrp通告报文,通告自己工作正常。如果backup设备在通告时间定时器(约为通告时间的3倍+偏移时间( (256-Priority) /256)超时后仍未收到vrrp通告报文,则重新选举maste