17 VRRP基础(虚拟路由器冗余协议)
局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络,如果默认网关设备发生故障,那么所有用户终端访问外部网络的流量将会中断。可以通过部署多个网关的方式来解决单点故障,但是需要解决多个网关之间的冲突问题。VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)既能够实现网关的备份,又能解决多个网关之间互相冲突的问题,从而提高网络可靠性。
VRRP的基本概念
VRRP路由器
运行VRRP协议的路由器,如R1和R2。VRRP是配置在路由器的接口上的,而且也是基于接口来工作的。
VRID
一个VRRP组(VRRP Group)由多台协同工作的路由器(的接口)组成,使用相同的VRID(Virtual Router Identifier,虚拟路由器标识符)进行标识。属于同一个VRRP组的路由器之间交互VRRP协议报文并产生一台虚拟“路由器”。一个VRRP组中只能出现一台Master路由器。
虚拟路由器
VRRP为每一个组抽象出一台虚拟“路由器”(Virtual Router),该路由器并非真实存在的物理设备,而是由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路由器的工作。
Priority
优先级值是选举Master路由器和Backup路由器的依据,优先级取值范围0-255,值越大越优先,值相等则比较接口IP地址大小,大者优先。
VRRP报文格式
VRRP只有一种报文,即Advertisement报文,基于组播方式发送,因此只能在同一个广播域传递。 Advertisement报文的目的组播地址为224.0.0.18。
VRRP报文字段含义如下:
Ver:VRRP目前有两个版本,其中VRRPv2仅适用于IPv4网络,VRRPv3适用于IPv4和IPv6两种网络。
Virtual Rtr ID:该报文所关联的虚拟路由器的标识。
Priority:发送该报文的VRRP路由器的优先级。
Count IP Addrs:该VRRP报文中所包含的虚拟IP地址的数量。
Auth Type:VRRP支持三种认证类型:不认证、纯文本密码认证、MD5方式认证,对应值分别为0、1、2。
Adver Int:发送VRRP通告消息的间隔。默认为1秒
IP Address:所关联的虚拟路由器的虚拟IP地址,可以为多个。
Authentication Data:验证所需要的密码信息。
VRRP定时器
在VRRP协议工作过程中,VRRP定义了两个定时器
ADVER_INTERVAL定时器
Master发送VRRP通告报文时间周期,缺省值为1秒。
MASTER_DOWN定时器
Backup设备监听该定时器超时后,会变为Master状态。MASTER_DOWN定时器计算公式如下:MASTER_DOWN =(3* ADVER_INTERVAL)+ Skew_time(偏移时间),其中,Skew_Time=(256–Priority)/256
VRRP状态机
VRRP协议状态机有三种状态:Initialize(初始状态)、Master(活动状态)、Backup(备份状态)
注意:当接口配置的地址为虚拟IP时,接口优先级为255,不论你设置的多少都是255,后续发出的VRRP包显示优先级也是255!!!
VRRP主备选举流程
VRPP优先级不同时主备的选举过程
初始创建VRRP的设备工作在Initialize状态,收到接口Up的消息后,若此设备的优先级小于255,则会先切换至Backup状态,等待MASTER_DOWN定时器超时后再切换至Master状态。优先级高的设备先启动,则率先经过过Master_Down的时间进入Master状态,后续优先级低的机器进入BACKUP状态后,侦听到来自优先级高的设备的VRPP不会去竞争。如果优先级低的设备先启动了接口,则先进入Master状态,优先级高的接口启动后,侦听到比自己小优先级的VRRP报文,则会去竞争,最终优先级高的设备成为Master,优先级低的成为Backup
VRRP优先级相同时主备的选举过程
初始创建VRRP的设备工作在Initialize状态,收到接口Up的消息后,若此设备的优先级小于255,则会先切换至Backup状态,等待MASTER_DOWN定时器超时后再切换至Master状态。R1先启动,则R1会进入Master状态先,R2启动后处于BACKUP状态,收到来自AR1的VRRP报文,经过比对后发现优先级相同,则不去竞争,同理R2启动后会先成为MASTER,R1也不会去竞争,BACKUP状态的机器只会比对优先级,优先级相同,则不会去竞争Master不比对接口IP大小
VRRP主备切换
Master主动退出VRRP组
当路由器收到优先级为0的VRRP报文时,会直接进入Master状态
Master设备或者链路故障
Backup在Master_Downd的时间内没有收到VRRP报文则进入Master状态
VRRP抢占模式和非抢占模式
抢占模式(默认激活):如果Backup路由器激活了抢占功能,那么当它发现Master路由器的优先级比自己更低时,它将立即切换至Master状态,成为新的Master路由器
非抢占模式:如果Backup路由器没有激活抢占功能,那么即使它发现Master路由器的优先级比自己更低,也只能依然保持Backup状态,直到Master路由器失效。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!