VRRP

VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)既能够实现网关的备份,又能解决多个网关之间互相冲突的问题,从而提高网络可靠性。

   

单网关面临的问题

当网关Router出现故障时,本网段内以该设备为网关的主机都不能与Internet进行通信

   

VRRP概述

通过把几台路由设备联合组成一台虚拟的"路由设备",使用一定的机制保证当主机的下一跳路由设备出现故障时,及时将业务切换到备份路由设备,从而保持通讯的连续性和可靠性

如图中:

  • 局域网中有两个路由器R1和R2,R1端口IP:192.168.1.251/24,R2端口IP:192.168.1.252/24
  • 配置R1和R2关联到同一虚拟路由器,该虚拟路由器使用192.168.1.254作为端口IP地址
  • 所有PC使用192.168.1.254作为默认网关

   

VRRP基本概念

VRRP路由器:运行VRRP协议的路由器,VRRP是配置在路由器的接口上的,而且也是基于接口来工作的

VRID:一个VRRP组(VRRP Group)由多台协同工作的路由器(的接口)组成,使用相同的VRID(Virtual Router Identifier,虚拟路由器标识符)进行标识。属于同一个VRRP组的路由器之间交互VRRP协议报文并产生一台虚拟"路由器"。一个VRRP组中只能出现一台Master路由器。

虚拟路由器:VRRP为每一个组抽象出一台虚拟"路由器(Virtual Router)",该路由器并非真实存在的物理设备,而是由VRRP虚拟出来的逻辑设备。一个VRRP组只会产生一台虚拟路由器

虚拟IP地址:虚拟路由器拥有自己的IP地址以及MAC地址,其中IP地址由网络管理员在配置VRRP时指定,一台虚拟路由器可以有一个或多个IP地址,通常情况下用户使用该地址作为网关地址。

虚拟MAC地址:虚拟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状态机

VRRP协议状态机有三种状态:Initialize(初始状态)、Master(活动状态)、Backup(备份状态)

一个Startup事件可以由系统在VRRP配置完成后自动触发,也可以是在已经配置VRRP的端口上,底层链路由不可用变为可用而触发

VRRP协议状态

Master状态

  1. 定期(ADVER_INTERVAL)发送VRRP报文
  2. 以虚拟MAC地址响应对虚拟IP地址的ARP请求
  3. 转发目的MAC地址为虚拟MAC地址的IP报文
  4. 默认允许ping通虚拟IP地址
  5. 当多台设备同时为Master时,若设备收到与自己优先级相同的报文时,会进一步比较IP地址的大小。如果收到报文的源IP地址比自己大,则切换到Backup状态,否则保持Master状态

Backup状态

  1. 接收Master设备发送的VRRP报文,判断Master设备的状态是否正常
  2. 对虚拟IP地址的ARP请求,不做响应
  3. 丢弃目的MAC地址为虚拟MAC地址的IP报文
  4. 丢弃目的IP地址为虚拟IP地址的IP报文
  5. 如果收到优先级和自己相同或者比自己优先级大的报文时,重置MASTER_DOWN定时器,不进一步比较IP地址的大小

VRRP主备选举

VRRP优先级不相等时主备选举过程:

  1. R1的接口VRRP优先级为200,R2的接口VRRP优先级为100,两台设备完成初始化后首先切换至Backup状态
  2. R1与R2根据各自MASTER_DOWN定时器超时时间由Backup切换到Master状态,所以R1比R2更快切换至Master状态
  3. R1和R2通过相互发送VRRP报文进行Master选举,优先级高的被选举为Master设备,因此R1被选为Master路由器
  4. R1被选举为Master路由器后,立即发送免费ARP报文将虚拟MAC地址通告给与它连接的设备和主机

VRRP优先级相等时主备选举过程:

  1. R1和R2接口的VRRP优先级都为200,两台设备完成初始化后首先切换至Backup状态
  2. 由于优先级相同,R1与R2的MASTER_DOWN定时器超时后,同时由Backup状态切换至Master状态
  3. R1与R2交换VRRP报文,优先级一样,通过比较接口IP地址选举Master路由器,由于R2的接口IP地址大于R1的接口IP地址,因此R2被选举为Master路由器
  4. R2被选举为Master路由器后,立即发送免费ARP报文将虚拟MAC地址通告给与它连接的设备和主机

配置为IP地址拥有者时主备选举过程:

  1. R1和R2的接口VRRP优先级都采用默认配置(默认为100),但是R1的接口IP地址与Virtual IP地址相同
  2. R1的接口直接切换至Master状态,R1成为Master路由器

无法手动将VRRP接口优先级配置为255,当接口IP地址为IP地址拥有者时,优先级自动称为255

VRRP主备切换

  • 当Master设备主动放弃Master地位时,会发送优先级为0的通告报文,用来使Backup设备快速切换成Master设备,而不用等到MASTER_DOWN定时器超时。这个切换时间称为Skew_time
  • 当Master设备发生网络故障而不能发送通告报文的时候,Backup设备并不能立即知道其工作状况。等到MASTER_DOWN定时器超时后,才会认为Master设备无法正常工作,从而将状态切换为Master

VRRP主备回切

正常情况下,由Master设备负责转发用户报文,如图所示,所有用户流量通过R1到达Internet

当R1出现故障时,网络会重新进行VRRP主备选举,如图所示,此时R2会称为新的Master设备负责转发用户报文

当R1从故障恢复后,网络将重新进行VRRP主备选举,由于R1的优先级大于R2,所以R1又重新称为新的Master设备负责转发用户报文

VRRP抢占模式

  • 抢占模式(默认激活):如果Backup路由器激活了抢占功能,那么当它发现Master路由器的优先级比自己更低时,他将立即切换至Master状态,成为新的Master路由器

当主备进行切换时,总共时长:3 * ADVER_INTERVAL + Skew_time + Delay_time

  • 非抢占模式:如果Backup路由器没有激活抢占功能,那么即使它发现Master路由器的优先级比自己更低,也只能依然保持Backup状态,直到Master路由器失效

   

VRRP典型应用

VRRP负载分担

通过创建多个虚拟路由器,每个物理路由器在不同的VRRP组中扮演不同的角色,不同虚拟路由器的Virtual IP作为不同的内网网关地址可以实现流量转发负载分担

VRRP监视上行端口

如果用户未配置VRRP监视上行端口,则当VRRP备份组中的Master设备R1的上行接口或者链路出现故障时,VRRP备份组无法感知,Master无法向外转发流量。但是由于主备不会发生切换,导致出现流量黑洞

VRRP与BFD联动

通过配置VRRP与BFD联动,当Backup设备通过BFD感知故障发生之后,不再等待Master_Down_Timer计时器超时而会在BFD检测周期结束后立即切换VRRP状态,此时可以实现毫秒级的主备切换

VRRP与MSTP结合应用

   

posted @ 2022-09-29 10:13  hongliang888  阅读(705)  评论(0编辑  收藏  举报