写点什么

虚拟路由器冗余协议 VRRP 详解

发布于: 2021 年 03 月 12 日

为什么要使用 VRRP 技术


我们知道,为了实现不同子网之间的设备通信,需要配置路由。目前常用的指定路由方法有两种:


  • 第一种是通过路由协议 :RIP、OSPF 动态学习

  • 第二种是通过静态路由:对终端 PC 机配置静态路由。


这两种路由各有各的优缺点:


  • 第一种路由可以自动寻找最优路径,邻居路由也可以通过学习来获得路由表,但是动态路由占用线路带宽和 CPU 处理时间。

  • 第二种路由是不需要 CPU 处理时间同样也不占用线路带宽,但是这个路由需要对终端的 PC 机进行配置网关来实现,工作量是比较大的。


对于以上的两种路由在现在来说都是广泛应用的。


我们现在只来分析静态路由的缺点,因为 VRRP 技术就是使用在静态路由上,而不是动态路由上。


对于静态路由来说,对终端 PC 机配置默认网关。如果作为默认网关的路由器出现故障,所有使用该网关为下一跳的主机的通信是要中断的。如下图所示;



在上图中,主机A—D都配置了一个默认的网关:10.1.1.1,网关路由的下一跳指向主机所在网段内的一个路由器 RouterA,RouterA 将报文发送到外网,但是如果现在 RouterA 坏掉了,那么所有的主机将无法与其他网段进行通信了。


为了解决以上的问题,我们可以加一个路由器 RouterB,如下图所示:



当 RouterA 坏掉时,所有的 PC 机将网关切换到 RouterB 上的网关。这样就实现了路由器的备份。这个技术就是 VRRP 技术---虚拟路由器冗余协议


VRRP 简介(转发机制)


  1. VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)将可以承担网关功能的路由器加入到备份组中,形成一台虚拟路由器,由 VRRP 的选举机制决定哪台路由器承担转发任务,局域网内的主机只需将虚拟路由器配置为缺省网关

  2. VRRP 是一种容错协议,在提高可靠性的同时,简化了主机的配置。在具有多播或广播能力的局域网(如以太网)中,借助 VRRP 能在某台设备出现故障时仍然提供高可靠的缺省链路,有效避免单一链路发生故障后网络中断的问题,而无需修改动态路由协议、路由发现协议等配置信息

  3. VRRP 协议的实现有 VRRPv2 和 VRRPv3 两个版本,VRRPv2 于 IPv4,VRRPv3 基于 IPv6

  4. VRRP 路由器:所有运行 VRRP 协议的路由器就叫做 VRRP 路由器

  5. VRRP 备份组:多台路由器被分到一个组中,在这个组中选举出一台主路由器,其他作为备份路由器。平常时候都是主路由器一个工作,备份路由器空闲,当主路由器故障后,从多台备份路由器中选举出一台替代故障的主路由器工作。这一组中的路由器构成了一个备份组。


如下图所示:有两个路由器,两个网关,从两个路由器中选举出一个路由器作为主路由器,其他的都是备份路由器,主路由器负责发转发数据报,而备份路由器处于空闲状态,当主路由器出现故障后,备份路由器会成为主路由器,代替主路由器实现转发功能。



  1. 虚拟路由器:虚拟路由器是 VRRP 备份组中所有路由器的集合,它是一个逻辑概念,并不是正真存在的。从备份组外面看备份组中的路由器,感觉组中的所有路由器就像一个 一样,你可以理解为 在一个组中:主路由器+所有备份路由器=虚拟路由器。虚拟路由器有一个虚拟的 IP 地址和 MAC 地址。如果虚拟 IP 和备份组中的某台路由器的 IP 相同的话,那么这台路由器称为 IP 地址拥有者,并且作为备份组中的主路由器。


如下图所示: RA、RB 和 RC 都是 VRRP 路由器,他们构成了一个 VRRP 备份组,RA 为主路由器,RB 和 RC 为备份路由器,这三台路由器从外界来看就像一台一样,这样构成一个虚拟路由器 Router Group,虚拟路由器有一个虚拟的IP地址为 10.1.1.1(RA 主路由器的 IP)。RA 是 IP 地址拥有者,也是主路由器。



  1. 虚拟 IP 地址和 MAC 地址:VRRP 组(备份组)中的虚拟路由器对外表现为唯一的虚拟 MAC 地址,地址格式为 00-00-5E-00-01-【VRID】,VRID 为 VRRP 组的编号,范围是 0~255.


上图中,三台路由器在一个组中,这个组可以起一个 0~255 之间的编号。


注意:


  1. 虚拟路由器具有 IP 地址。局域网内的主机仅需要知道这个虚拟路由器的 IP 地址,并将其设置为缺省路由的下一跳地址

  2. 虚拟路由器的 IP 地址可以是备份组所在网段中未被分配的 IP 地址,也可以和备份组内的某个路由器的接口 IP 地址相同

  3. 接口 IP 地址与虚拟 IP 地址相同的路由器被称为“IP 地址拥有者” 在同一个 VRRP 备份组中,只允许配置一个 IP 地址拥有者


VRRP 状态


VRRP 路由器在运行过程中有三种状态:


  1. Initialize 状态:系统启动后就进入 Initialize,此状态下路由器不对 VRRP 报文做任何处理,可以理解为初始化

  2. Master 状态:路由器会发送 VRRP 通告,发送免费 ARP 报文。

  3. Backup 状态:接受 VRRP 通告。


一般主路由器处于 Master 状态,备份路由器处于 Backup 状态。


VRRP 选举机制


VRRP 使用选举机制来确定路由器的状态,运行 VRRP 的一组路由器对外构成了一个虚拟路由器,其中一台路由器处于 Master 状态,其他处于 Backup 状态。所以主路由器又叫做 Master 路由器,备份路由器又叫做 Backup 路由器。


优先级选举:


  1. VRRP 组中 IP 拥有者。如果虚拟 IP 地址与 VRRP 组中的某台 VRRP 路由器 IP 地址相同,则此路由器为 IP 地址拥有者,这台路由器将被定位主路由器。

  2. 比较优先级。如果没有 IP 地址拥有者,则比较路由器的优先级,优先级的范围是 0~255,大的作为主路由器

  3. 比较 IP 地址。在没有 Ip 地址拥有者和优先级相同的情况下,IP 地址大的作为主路由器。


如下图所示:虚拟 IP 为 10.1.1.254,在 VRRP 组中没有 IP 地址拥有者,则比较优先级,很明显 RB 和 RA 的优先级要大于 RC,则比较 RA 和 RB 的 IP 地址,RB 的 IP 地址大。所以 RB 为组中的主路由器。



VRRP 定时器


  1. VRRP 通告报文时间间隔定时器

  2. VRRP 备份组中的 Master 路由器会定时发送 VRRP 通告报文,通知备份组内的路由器自己工作正常

  3. 用户可以通过设置 VRRP 定时器来调整 Master 路由器发送 VRRP 通告报文的时间间隔

  4. 如果 Backup 路由器在等待了 3 个间隔时间后,依然没有收到 VRRP 通告报文,则认为自己是 Master 路由器,并对外发送 VRRP 通告报文,重新进行 Master 路由器的选举

  5. VRRP 抢占延迟时间定时器

  6. 为了避免备份组内的成员频繁进行主备状态转换,让 Backup 路由器有足够的时间搜集必要的信息(如路由信息),Backup 路由器接收到优先级低于本地优 先级的通告报文后,不会立即抢占成为 Master

  7. 而是等待一定时间——抢占延迟时间后,才会对外发送 VRRP 通告报文取代原 来的 Master 路由器


VRRP 报文格式


VRRP 只使用 VRRP 通告报文。


VRRP 通告报文使用 Ip 组播数据包进行封装,组播地址为 223.0.0.18,IANA 给其分配的协议号为 112。


VRRP 通告报文的 TTL 值必须是 255,如果 VRRP 路由器接受到 TTL 值不为 255 的 VRRP 通告报文,必须丢弃。


VRRP 组中的主路由器会定期发送通告报文,备份路由器接受,他们通过这种方式来交流选举


VRRP 工作过程总结


  1. 路由器使能 VRRP 功能后,会根据优先级确定自己在备份组中的角色。优先级高的路由器成为 Master 路由器,优先级低的成为 Backup 路由器。Master 路由器定期发送 VRRP 通告报文,通知备份组内的其他设备自己工作正常;Backup 路由器则启动定时器等待通告报文的到来。

  2. 在抢占方式下,当 Backup 路由器收到 VRRP 通告报文后,会将自己的优先级与通告报 文中的优先级进行比较。如果大于通告报文中的优先级,则成为 Master 路由器;否则将保持 Backup 状态

  3. 在非抢占方式下,只要 Master 路由器没有出现故障,备份组中的路由器始终保持 Master 或 Backup 状态,Backup 路由器即使随后被配置了更高的优先级也不会成为 Master 路由器

  4. 如果 Backup 路由器的定时器超时后仍未收到 Master 路由器发送来的 VRRP 通告报文,则认为 Master 路由器已经无法正常工作,此时 Backup 路由器会认为自己是 Master 路由器,并对外发送 VRRP 通告报文。备份组内的路由器根据优先级选举出 Master 路由 器,承担报文的转发功能


VRRP 基本配置


配置 VRRP 组


要启用 VRRP,最基本的配置就是要创建 VRRP 组,并为 VRRP 组配置虚拟 IP 地址


Vrrp group-number ip ip-address [secondary]
复制代码


#group-number 为VRRP组的编号。即VRID 范围1~255,
复制代码


#ip-address    虚拟IP地址。
复制代码


#Secondary    辅助IP地址
复制代码

需要在主路由器和备份路由器上配置



配置 VRRP 优先级


如果希望指定某台路由器称为主路由器,可以手工调整其优先级


Vrrp group-number priority number
复制代码


#Group-number  VRRP组号 VIRD
复制代码


#Priority   表示优先级
复制代码


#Number  表示优先级 范围,0~255,默认为100,但是0被保留为特殊用途,255表示IP地址拥有者。
复制代码

优先级的配置在没有 IP 地址拥有者的情况下。想让哪台路由器成为主路由器就在哪台路由器上配置


配置 VRRP 接口跟踪


如下图所示:RA 为主路由器,RB 为备份路由器,但是当 RA 上的接口 S0 发生故障时,RA 依然从接口 E0 发送通告报文,声明自己为主路由器,但是 RA 实际上已经不能进行转发了。也就是说路由器网路中不能判定路由器接口是否发生了故障。



VRRP 接口跟踪机制就是检测接口故障的一种机制。配置了接口跟踪机制的路由器,当自己的接口发生故障时会将自己的路由器优先级降低,从而使自己从主路由器变为备份路由器,然后原来的备份路由器此时将成为主路由器。


Vrrp group-nunmber track interface [priority-decrement]
复制代码


#priority-decrement为降低的优先级数
复制代码

注意:priority-decrement 是降低了多少而不是降低到多少,比如 priority-decrement 为 30,那么此路由器的优先级在原来基础上降低 30.



配置 VRRP 抢占模式


抢占模式: 指当原来的路由器从故障中回复并接入到网络层后,配置了 VRRP 抢占模式的路由器将夺回原来属于自己的角色(主路由器),如果没有配置,回复之后将保持备份路由器的状态。


推荐使用启用抢占模式


vrrp group-number preempt  {delay [Delay-time] }
复制代码


#Delay  取值范围为1~255之间,如果不配置delay时间,那么其默认值为0秒。
复制代码


#delay-time 为延迟抢占的时间即从该路由器发现自己的优先级大于MASTER的优先级开始 经过delay-time这样长的一段时间之后才允许抢占。
复制代码

在主路由器中配置该命令


配置 VRRP 定时器


VRRP 定时器可以修改通告报文的发送时间


vrrp group-number timers advertise vrrp-advertise-interval
复制代码


#adver_interval为设置定时器adver_timer的时间间隔。MASTER每隔这样一个时间间隔,就会发送一个advertisement报文以通知组内其他路由器自己工作正常,
复制代码


#vrrp-advertise-interval的取值范围为0~254。
复制代码

在主路由器上配置


配置 VRRP 定时学习功能


配置此命令的路由器会学习发送通告报文时间,进而计算出失效间隔,否则默认 3s,


这条命令对于上面的配置 VRRP 定时器,在主路由器中配置了发送时间间隔,那么在备份路由器上就需要配置定时学习功能来计算失效间隔,因为失效间隔是发送时间的 3 倍


vrrp group-number times learn
复制代码

VRRP 负载均衡


在一组 VRRP 组中,主路由器承担数据转发任务的同时,备份路由器的链路将处于空闲状态,这必然造成了带宽资源的浪费。为了避免这种浪费,使用 VRRP 负载均衡。


VRRP 负载均衡是通过实现将路由器加入到多个 VRRP 组实现的,使 VRRP 路由器在不同的组中担任不同的角色。


如下图所示:RA 为组 35 的主路由器,同时又是组 36 的备份路由器,RB 为组 36 的主路由器,同时又是组 35 的备份路由器。


在正常状态下,PC1、PC2 走 RA,PC3 和 PC4 走 RB,但是两个路由器一旦出现故障,就将网关切换到备份路由器。RA和RB可以说是相辅相成的。


VRRP 并不具备对流量进行监控的机制,它的负载均衡只是通过使用多个 VRRP 组来实现的。




OK,本文所有的内容就分享到这里。


关注公众号:网络技术平台,回复 “ *资料* ” 获取视频、培训教程、实验手册、电子书。


评论

发布
暂无评论
虚拟路由器冗余协议 VRRP 详解