让我们直接开始!
什么是VRRP?
- 英文全称:Virtual Router Redundancy Protocol
- 中文名称:虚拟路由器冗余协议
- 协议:IETF – RFC 3768
- 组播地址:224.0.0.18
- 网络层协议
- 协议号:112
VRRP术语
- VRRP 路由器:运行 VRRP 的路由器,可能属于一个或多个虚拟路由器。
- 虚拟 IP 地址:IP 地址被分配为来自本地子网的虚拟 IP 地址。
- 虚拟MAC地址:以十六进制的最后8个字节作为VRRP组号,自动生成一个虚拟MAC地址。
- 主路由器:主路由器是根据优先级选出的,如果 VRRP 组的某个组成员的优先级高于其他组成员,则它将被选为主路由器。
- 备份路由器: VRRP 组成员中只有一个成为主路由器,其他成员将成为备份路由器,如果主路由器发生故障,则其中一个备用路由器将成为主路由器。
VRRP工作原理
VRRP使用虚拟路由器来控制将哪些物理路由器分配给接入网络,一个 VRRP 组由一个主路由器和一个或多个共享虚拟 IP 地址的备份路由器组成,如果主路由器出现故障,VRRP 会自动分配其中一台备用路由器,而不会影响网络流量。当故障路由器再次运行时,它将再次成为主路由器。VRRP 无需用户干预或对网络上的任何设备进行额外配置即可提供这种冗余。
VRRP 主路由器向备份路由器发送 VRRP 通告消息,当 VRRP 主路由器发送通告消息失败时,优先级最高的备份路由器接替成为主路由器。
VRRP正常工作场景
如下图所示,有两台虚拟设备,上面的是主路由器,下面的是备份路由器,现在流量正常情况下都是走主路由器:
VRRP正常工作流量流向
当主路由器发生故障down机的时候:
VRRP主备切换工作场景
这个时候原来的备份路由迅速成为主路由器,并且流量也切换到备份路由器了,这就是VRRP的强大之处!
VRRP三种状态
VRRP一共有如下三种状态:
Initialize 初始状态
- Initialize状态代表VRRP 不可用,处于 Initialize 状态的设备无法处理 VRRP 通告报文。
- 当 VRRP 进程启动时或者设备处于主备状态并检测到故障时,进入初始化状态。
Master 活动状态
- 路由器获取到虚拟地址。
- 承担流量转发。
Backup 备份状态
- 路由器正在启动或准备好获取虚拟地址,以防主设备出现故障。
- 不会承担流量转发。
VRRP选举机制
如图,再难的技术,只要图一画,就非常清晰明了了!
主要就是要注意下根据优先级选择主路由器:优先级高的路由器被选择为主路由器。
如果两台路由器的优先级相同,则比较接口IP地址,具有较大接口 IP 地址的路由器将被选为主路由器。
其他路由器作为备份路由器,随时监控Master路由器的状态。
如果组内的备份路由器在Master_Down_Interval 时间内没有收到Master 路由器的报文,则切换到主路由器,在有多个备份路由器的VRRP组中,可能会在短时间内产生多个Master路由器,然后将接收到的VRRP报文中的优先级与本地优先级进行比较,选择优先级最高的路由器作为Master路由器。
案例
虚拟路由器组网环境案例——主路由器选举
如图,路由器R1、R2、R3构成一个虚拟路由器VRRP,VRRP的虚拟IP地址为192.168.1.1,由于R1的优先级为100,高于R2的80和R3的60,所以R1为Master路由器,即主路由器,IP地址为为192.168.1.11,R2和R3作为备用路由器,其 IP 地址分别为 192.168.1.12 和 192.168.1.13。
局域网内主机PC1、PC2、PC3的默认网关设置为VRRP虚拟IP地址192.168.1.1,正常情况下,R1作为主路由器,负责将局域网内的报文转发到外网,当路由器A关闭或出现故障时,路由器B或路由器C(根据优先级)作为Backup路由器将成为主路由器,将局域网的报文转发到外部网络,从而维持局域网与外部网络的通信,提高网络可靠性。
现在有几种情况:
R1故障,R2、R3优先级不同
R1故障,R2、R3优先级不同
如图,由于R1故障,其链路已经置灰,这个时候由于R2的优先级为80,高于R3的60,所以R2为主路由器,R3还是备份路由器。
R1故障,R2、R3优先级相同
R1故障,R2、R3优先级相同
如图,R2和R3的优先级都为80,这个时候比较的是IP地址的大小,由于R3的Ip地址为192.168.1.13高于Ip地址为192.168.1.12的R2,因此R3为主路由器,R2为备份路由器。
注意:
VRRP 在以下任何一种情况下都会拒绝数据包:
- 路由器和传入数据包的身份验证方案不同。
- 路由器和传入数据包的 MD5 摘要不同。
- 路由器和传入数据包上的验证字符不同。
VRRP其他小点
VRRP抢占
VRRP 抢占在默认情况下处于启用状态,这会启用更高优先级的虚拟路由器备份,该备份可以从被选为虚拟路由器主控的虚拟路由器备份中接管,如果禁用抢占,则被选为虚拟路由器主控的虚拟路由器备份保持主控状态,直到原来的虚拟路由器主控恢复并再次成为主控。
VRRP 版本
VRRP有两个版本:版本2、版本3.
其中版本2被广泛使用。
- VRRPv2:支持 IPv4
- VRRPv3:支持 IPv4 和 IPv6
VRRP抓包——版本信息
VRRP认证
VRRP 提供了许多身份验证来确保运行 VRRP 的基础设施免受恶意攻击,一般身份验证有两种:
VRRP认证
默认情况下不开启认证。
VRRP认证抓包
如图抓包展示,未开启认证。
VRRP优点
VRRP 在网络网关处提供故障转移/冗余。
没有单点故障,因为备用设备配置为在主设备发生故障时接管。
故障转移发生得很快(通常在几秒钟内)。
VRRP 用于主动-被动(主-备份)配置,也可以配置为具有负载平衡的 Active-Active 配置。
VRRP 是 IETF 开放标准协议,因此,多个供应商/多种类型的设备可以成为 VRRP 组的一部分。
主网关设备可以有多个备用设备。
总结
VRRP 是一种开放标准的 IEEE 协议,它使一组路由器能够形成单个虚拟路由器,使用 VRRP,几个路由器被组合在一起,看起来就像网络的一个默认网关。在网络中提供冗余,消除了静态默认路由环境固有的单点故障。
VRRP是一种网络层协议,协议号为 112,组中的路由器数量充当虚拟逻辑路由器,充当所有本地主机的默认网关,如果任何路由器出现故障,其他组成员可以承担转发流量的责任。
本文瑞哥主要介绍了:
- 什么是VRRP?
- VRRP术语
- VRRP工作原理
- VRRP三种状态 Initialize 初始状态Master 活动状态Backup 备份状态
- VRRP选举机制 案例
- VRRP其他小点 VRRP抢占VRRP 版本VRRP认证
- VRRP优点