一、VRRP概述
VRRP(Virtual Router Pedundancy Protocol)虚拟路由器冗余协议,既能够实现网关的备份,又能够解决多个网关之间互相冲突的问题,从而提高网络可靠性。
局域网中的用户的终端通常采用配置一个默认网关的形式访问外部网络,如果默认网关设备发送故障,那么所有用户终端访问外部网络的流量将会中断,可以通过部署多个网关的方式来解决单点故障,但是需要解决多个网关之间的冲突问题。
单网关面临的问题
当网关Router出现故障时,本网段内以该设备为网关的主机都不能与Internet进行通信。
VRRP---通过把几台路由器设备联合组成一台虚拟的"路由设备",使用一定的机制保证当主机的 下一跳路由设备出现故障时,及时将业务切换到备份路由器,从而保持通讯的连续性和可靠性。
VRRP路由器:运行VRRP协议的路由器,VRRP是配置在路由器的接口上的,而且上也是基于端口来工作的。
VRID:一个VRRP组(VRRP Group)由多台协同工作的路由器(的接口)组成,使用相同的VRID(虚拟路由器标识符)进行标识。属于同一个VRRP组的路由器之间交互VRRP协议报文并产生一台虚拟"路由器"。一个VRRP组中只能出现一台Master路由器。
虚拟路由器:VRRP为每一个组抽象出一台虚拟"路由器",该路由器并非真实存在的物理设备,而是VRRP虚拟出来的逻辑设备,一个VRRP组产生一台虚拟路由器。
虚拟IP地址及虚拟MAC地址:虚拟路由器拥有自己的IP地址和MAC地址,其中IP地址由网络管理员在配置VRRP时指定,一台虚拟可以拥有一个或多个IP地址,通常情况下用户使用该地址作为网关,而虚拟MAC地址的格式是"0000-5e00-01xx" ,其中xx为VRID。
Master 路由器:Master路由器在一个VRRP中承担报文转发任务,在每一个VRRP组中,只有Master路由器才会响应针对虚拟IP地址的ARP request。Master路由器会以一定的时间间隔周期性地发送VRRP报文,以便通知一个VRRP组中的Backup路由器关于自己的存活情况。
Backup路由器:也被称为备份路由器,Backup路由器将会实时侦听Master路由器发送出来的VRRP报文,它随时准备接替Master路由器的工作。
Priorty:优先级值是选举Master路由器和Backip路由器的依据,优先级取值范围0-255,值越大越优先,值相等则比较接口IP地址,大者优先。
二、VRRP的定时机器
在VRRP协议工作过程中,VRRP定义了两个定时器:
1)ADVER INTERVAL定时器:Master发送VRRP通告报文时间周期,缺省值为1秒。
2)MASTER_DOWN定时器:Backup设备监听该定时器超时后,会变为Master状态。
MASTER_DOWN定时器计算公式如下:
MASTER_DOWN=(3*ADVER INTERVAL)+Skew_time(偏移时间)
其中,Skew_Time=(255-priority)/256
三、主备选举过程
1、VRRP优先级不相等时主备选举过程
如两台路由器的接口一台为200,另一台为100,两台设备完成初始化后首先切换至Backup状态。然后根据优先级高的被选举为Master设备,另一台为备用路由器。
2、VRRP优先级相等时主备选举过程
当VRRP优先级相同时,则比较接口IP地址大的为主设备,另一台为备用设备。
3、当路由器接口配置VRRP的IP地址拥有者时(也就是接口IP地址和虚拟 IP相同),则路由器无需等待任何定时器超时,直接将自己设置为Master设备。
四、VRRP抢占模式
1、抢占模式(默认激活):如果备用路由器激活了抢占占功能,那么当它发现Master路由器的优先级比自己低时,它将立即切换至Master状态,成为新的Master路由器。
2、非抢占模式:如果备用路由器没有激活抢占功能,那么即使它发现Master路由器的优先级比自己更低,也只能依然保持备用状态,直到Master路由器失效。
五、VRRP监视上行端口
VRRP可监视上行端口状态,当设备感知上行端口或者链路发生故障时,可主动降低VRRP优先级,从而保证上行链路正常的备用设备能够进行选举切换为Master状态,直到报文转发。
如果用户未配置VRRP监视上行端口,则当VRRP备份组中的Master设备的上行接口或者链路出现故障时,VRRP备份无法感知,Master无法向外转发流量,但是由于主设备不会发生切换,导致出现流量黑洞。
六、VRRP和MSTP结合应用
MSTP是将一个或多个VLAN映射到一个生成树的实例,若干个VLAN公用一个生成树,MSTP可以实现负载均衡。
VRRP配置网关可以灵活根据拓扑变化而自动切换,提高网络的可靠性。
VRRP+MSTP可以在实现负载分担的同时保证网络冗余备份。
七、VRRP的配置
1、创建VRRP备份组并给备份组配置虚拟IP地址
php
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]vrrp vrid ?
INTEGER<1-255> Virtual router identifier
[R2-GigabitEthernet0/0/1]vrrp vrid 1 virtual-ip ?
IP_ADDR<X.X.X.X> Virtual IP address
[R2-GigabitEthernet0/0/1]vrrp vrid 1 virtual-ip 192.168.1.254
注:各备份之间的虚拟IP地址不能重复;同属一个备份组的设备接口需使用相同的VRID。
2、配置路由器在备份组中的优先级
php
[R2-GigabitEthernet0/0/1]vrrp vrid 1 priority ?
INTEGER<1-254> The level of priority(default is 100)
[R2-GigabitEthernet0/0/1]vrrp vrid 1 priority 200
3、配置路由备份组中设备的抢占延迟时间--可选
php
[R2-GigabitEthernet0/0/1]vrrp vrid 1 preempt-mode timer delay ?
INTEGER<0-3600> Value of timer, in seconds(default is 0)
[R2-GigabitEthernet0/0/1]vrrp vrid 1 preempt-mode timer delay 2000
4、配置VRRP备份组监视接口
php
[R2-GigabitEthernet0/0/1]vrrp vrid 1 track ?
bfd-session Specify BFD session
interface Interface information
ip Specify IP protocol
nqa Specify NQA test class
[R2-GigabitEthernet0/0/1]vrrp vrid 1 track interface ?
GigabitEthernet GigabitEthernet interface
[R2-GigabitEthernet0/0/1]vrrp vrid 1 track interface GigabitEthernet ?
<0-0> Slot number
[R2-GigabitEthernet0/0/1]vrrp vrid 1 track interface GigabitEthernet 0/0/0 ?
increased Increase priority
reduced Reduce priority
<cr> Please press ENTER to execute command
[R2-GigabitEthernet0/0/1]vrrp vrid 1 track interface GigabitEthernet 0/0/0 reduced ?
INTEGER<1-255> Reduced or increased value of priority
[R2-GigabitEthernet0/0/1]vrrp vrid 1 track interface GigabitEthernet 0/0/0 reduced 40
注:可配置设备当检测上行接口或链路出现故障时,增加或者减少自身优先级,IP地址拥有者和Eth-Trunk成员口不允许配置VRRP监视功能。