VRRP:解决路由器单点故障的终极方案
VRRP的背景
路由器单点故障导致无法正常通信;配置多个网关导致的多个网关的冲突问题
VRRP(虚拟路由器冗余协议)
VRRP通过将多个路由器虚拟成一个虚拟路由器组,实现网关的备份,解决多个网关的冲突问题
VRRP的概念
VRRP路由器:运行VRRP协议的路由器;VRRP是配置在路由器的接口上的,而且也是基于接口
来工作的
VRID:一个VRRP组由多台协同工作的路由器组成,使用相同的VRID(虚拟路由器标识符)进行标识
虚拟路由器:每个VRRP组虚拟成为一个虚拟路由器(逻辑设备);一个VRRP组只会产生一个虚拟路由器
虚拟IP地址和虚拟MAC地址:虚拟路由器的虚拟IP地址和虚拟MAC地址;一台虚拟路由器可以有一个或多个IP地址;虚拟MAC地址的格式是“0000-5e00-01xx”,其中xx为VRID
master路由器:在一个VRRP组中承担报文转发任务;每一个VRRP组中,只有Master路由器才会响应针对虚拟IP地址的ARP Request;Master路由器会以一定的时间间隔周期性地发送VRRP报文,以便通知同一个VRRP组中的Backup路由器关于自己的存活情况
backup路由器:备份路由器;Backup路由器将会实时侦听Master路由器发送出来的VRRP报文,它随时准备接替Master路由器的工作
priority:优先级,用于选举Master路由器和Backup路由器,取值范围0~255,值越大越优先,优先级值相等,比较接口IP地址,大的优先
VRRP报文格式
advertisement报文,基于组播发送
源IP为:master的端口IP地址;
目的IP为:224.0.0.18;
源MAC为:00-00-5E-00-01-XX(接口ID)虚拟路由器的MAC地址;
目的MAC为01-00-5E-00-00-12
VRRP协议是基于IP协议的,协议类型为0X70(VRRP协议号为112)
VRRP定时器
adver_interval定时器:master路由器向backup路由器发送VRRP报文的间隔时间,默认是1秒
master_down定时器:backup路由器通过监听该定时器超时后,变成master状态 master_down=(3*adver_interval)+Skew_time(偏移时间)
Skew_time=(256-priority)/256
VRRP的状态机
初始状态(initialize)
活动状态(master)
备份状态(backup)
master:
VRRP抢占模式
抢占模式:抢占模式是默认激活的,如果Backup路由器激活了抢占功能,那么当它发现Master路由器的优先级比自己更低时,它将立即切换至Master状态,成为新的Master路由器
非抢占模式:如果Backup路由器没有激活抢占功能,那么即使它发现Master路由器的优先级比自己更低,也只能依然保持Backup状态,直到Master路由器失效
VRRP应用
VRRP负载分担:通过创建多个虚拟路由器组,每个物理路由器在不同的VRRP组中扮演不同的角色,不同虚拟路由器的虚拟IP作为不同的内网网关地址可以实现流量转发负载分担
VRRP监视上行端口:VRRP可监视(Track)上行端口状态,当设备感知上行端口或者链路发生故障时,可主动降低VRRP优先级,从而保证上行链路正常的Backup设备能
够通过选举切换为Master状态,指导报文转发
VRRP与BFD联动:通过配置VRRP与BFD联动,当Backup设备通过BFD感知故障发生之后,不再等待Master_Down_Timer计时器超时而会在BFD检测周期结束后立即切换VRRP状态,此时可以实现毫秒级的主备切换。
VRRP与MSTP结合
VRRP配置命令
创建VRRP备份组并给备份组配置虚拟IP地址:
(接口下)vrrp vrid virtual-router-id virtual-ip virtual-address
配置路由器在备份组中的优先级:
vrrp vrid virtual-router-id priority priority-value
配置备份组中设备的抢占延迟时间:
vrrp vrid virtual-router-id preempt-mode timer delay delay-value
配置VRRP备份组中设备采用非抢占模式(缺省情况下,抢占模式已被激活):
vrrp vrid virtual-router-id preempt-mode disable
配置VRRP备份组监视上行接口:
vrrp vrid virtual-router-id track interface interface-type interface number [reduced value-decreased ]
开启BFD(监控下游链路):
bfd
bfd bfd-id peer-ip 目的IP source-ip 源IP auto
配置VRRP备份组联动普通BFD会话:
vrrp vrid virtual-router-id track bfd-session {bfd-session-id | session-name bfd-configure-name } [ reduced value-reduced ]