当前位置: 首页 > news >正文

专题十六:虚拟路由冗余协议——VRRP

一、VRRP简介

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

VRRP的运行结果是在局域网上提供一个虚拟路由器。

本例中:

局域网中有两个路由器R1R2R1端口IP地址为192.168.1.251/24R2端口IP地址为192.168.1.252/24

配置R1R2关联到同一个虚拟路由器,该虚拟路由器使用192.168.1.254做为端口IP地址。

所有的PC使用192.168.1.254做为默认网关。

VRRP可以分为VRRP for IPv4和VRRP for IPv6(简称VRRP6)。VRRP for IPv4支持VRRPv2和VRRPv3,而VRRP for IPv6仅支持VRRPv3。对IPv4网络而言,VRRP协议报文封装在IP报文中,发送到分配给VRRP的组播地址,目的地址是224.0.0.18,TTL是255,协议号是112。

为什么需要VRRP?

现网中的主机使用缺省网关与外部网络联系时,如果网关的设备出现故障,与其相连的主机将与外界失去联系,导致业务中断

二、VRRP基本概念

VRRP虚拟MAC地址为00-00-5E-00-01-组id值

VRRP优先级1-255,默认优先级100,VRRP协议默认开启了抢占。默认发送免费ARP报文时间间隔180秒。

VRRP角色分为Master和Backup。Master承载转发报文任务,Backup作为备份,一旦Master出现故障,Backup接替成为Master

概念含义
虚拟路由器(Virtual Router)又称为VRRP备份组,由一个Master设备和若干个Backup设备组成,被当作一个共享局域网内主机的缺省网关。它包括了一个虚拟路由器标识符和一组虚拟IP地址。
VRID虚拟路由器的靿栃标识。具有相同VRID的一组设备构成一个虚拟路由器。
虚拟IP地址(Virtual IP Address)虚拟路由器的IP地址,一个虚拟路由器可以有一个或多个IP地址,由用户配置。
虚拟MAC地址(Virtual MAC Address)虚拟路由器根据虚拟路由器ID生成的MAC地址。一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-{VRID}(VRRP for IPv4)或者00-00-5E-00-02-{VRID}(VRRP for IPv6)。当虚拟路由器回应ARP请求(VRRPfor IPv4)或者NS请求(VRRP for IPv6)时,使用虚拟MAC地址,而不是接口的真实MAC地址。
IP地址拥有者(IP Address 0wner)如果一个VRRP设备将虚拟路由器IP地址作为真实的接口地址,则该设备被称为IP地址拥有者。如果IP地址拥有者是可用的,通常它将成为Master。
主IP地址(Primary IP Address)从接口的真实IP地址中选出来的一个可用IP地址,通常选择配置的第一个IP地址。VRRP广播报文使用主IP地址作为 IP报文的源地址。
VRRP设备运行VRRP协议的设备,它可能属于一个或多个虚拟路由器。
Master设备承载转发报文任务的VRRP设备。
Backup设备一组没有承担转发任务的VRRP设备,当Master设备出现故障时,它们将通过竞选成为新的Master设备。
优先级(Priority)虚拟路由器中VRRP设备的优先级。虚拟路由器根据优先级选举出Master设备和Backup设备。
VRRP抢占模式在抢占模式下,如果Backup设备的优先级比当前Master设备的优先级高,则主动将自己切换成Master。
VRRP非抢占模式在非抢占模式下,只要Master设备没有出现故障,Backup设备即使随后被配置了更高的优先级也不会成为Master设备。
Adver_Interval定时器Master设备会根据该定时器定期发送VRRP通告报文。
Master_Down定时器Backup设备在该定时器超时后,会变为Master状态。

三、VRRP报文格式

VRRP只有一种报文,Advertisement报文基于组播方式发送,因此只能在同一个广播域传递 Advertisement报文的目的组播地址为224.0.0.18

VRRP报文字段含义如下:

Ver:VRRP目前有两个版本,其中VRRPv2仅适用于IPv4网络,VRRPv3适用于IPv4IPv6两种网络。

Virtual Rtr ID:该报文所关联的虚拟路由器的标识。

Priority:发送该报文的VRRP路由器的优先级。

Count IP Addrs:该VRRP报文中所包含的虚拟IP地址的数量。

Auth TypeVRRP支持三种认证类型:不认证、纯文本密码认证、MD5方式认证,对应值分别为012

Adver Int:发送VRRP通告消息的间隔。默认为1

IP Address:所关联的虚拟路由器的虚拟IP地址,可以为多个。

Authentication Data:验证所需要的密码信息。

四、VRRP状态机

VRRP协议中定义了三种状态机:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。其中,只有处于Master状态的设备才可以转发那些发送到虚拟IP地址的报文。

五、VRRP协议状态

Master状态

Backup状态

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

六、VRRP主备选举

  • 优先级不同

  • 开启VRRP进入初始化状态

  • 设备根据VRRP优先级,计算超时定时器,时间短的进入Master状态

  • 开始发送VRRP报文,优先级高的被选举为Master设备

  • 发送免费ARP检测地址冲突,以及通告设备和主机(交换机和主机无需进行ARP解析和泛洪,缩短故障时间)

  • 优先级相同

  • 开启VRRP进入初始化状态

  • 设备根据VRRP优先级,计算超时定时器,同时进入Master状态

  • 开始发送VRRP报文,优先级相同,继续对比IP地址,越大越优,IP地址小的切换为Backup状态

  • 发送免费ARP检测地址冲突,以及通告设备和主机

七、VRRP负载分担

负载分担是指多个VRRP备份组同时承担业务,VRRP负载分担与VRRP主备备份的基本原理和报文协商过程都是相同的。同样对于每一个VRRP备份组,都包含一个Master设备和若干Backup设备。

VRRP备份组1:DeviceA作为Master设备,DeviceB作为Backup设备。

VRRP备份组2:DeviceB作为Master设备,DeviceA作为Backup设备。

一部分用户将VRRP备份组1作为网关,另一部分用户将VRRP备份组2作为网关。这样便可实现分担业务流量又相互备份的目的。

八、VRRP路由监控与接口联动

配置VRRP备份组后,VRRP备份组之间的主备切换通过VRRP通告报文进行协商。当网络中出现故障(比如接口Down或链路故障)或网络进行调整时,VRRP备份组并不能及时感知并进行状态切换,或者当VRRP备份组在主备切换完成后未能及时联动路由,会造成流量转发故障。

路由监视配置思路:

DeviceA上的VRRP备份组的优先级为120,状态为Master;

DeviceB上的VRRP备份组的优先级为100,状态为Backup,为立即抢占;

DeviceA上VRRP监视地址为10.1.2.0/24网段的路由,在检测到10.1.2.0/24网段信息为不可达时,DeviceA的优先级降低40(优先级降低后必须小于100)。

接口联动配置思路:

DeviceA上的VRRP备份组的优先级为120,状态为Master;

DeviceB上的VRRP备份组的优先级为100,状态为Backup,为立即抢占;

在DeviceA上配置监视上行接口interface1,当interface1状态变为Down时,DeviceA降低自身优先级,通过VRRP通告报文协商,DeviceB抢占成为Master设备,承担流量转发

九、VRRP的配置实现

1.VRRP常用基本配置

1.创建VRRP备份组并给备份组配置虚拟IP地址

[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id  virtual-ip virtual-address

注意:各备份组之间的虚拟IP地址不能重复;同属一个备份组的设备接口需使用相同的VRID

2.  配置路由器在备份组中的优先级

[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id priority priority-value

注意:通常情况下,Master设备的优先级应高于Backup设备。

3.  配置备份组中设备的抢占延迟时间

[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id preempt-mode timer delay delay-value

4.  配置VRRP备份组中设备采用非抢占模式

[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id preempt-mode disable

缺省情况下,抢占模式已被激活。

5.  配置VRRP备份组监视接口

[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id track interface interface-type interface-number [ increased value-increased | reduced value-decreased ]

可配置设备当检测到上行接口或链路出现故障时,增加或者减少自身优先级,IP地址拥有者和Eth-trunk成员口不允许配置VRRP监视功能。

6.  配置VRRP备份组联动普通BFD会话

[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id track bfd-session { bfd-session-id | session-name bfd-configure-name } [ increased value-increased | reduced value-reduced ]

如果选择参数session-name bfd-configure-name,可以绑定静态BFD会话或者标识符自协商的静态BFD会话。如果选择参数bfd-session-id,只能绑定静态BFD会话。

2.VRRP基础配置实例

配置要求:

R1与R2组成一个VRRP备份组,其中R1MasterR2Backup

Master设备故障恢复时采用抢占模式,抢占延时10秒;

Master设备监视上行接口状态实现VRRP主备自动切换。

R1:

[R1] interface GigabitEthernet0/0/0
[R1-GigabitEthernet0/0/0] ip address 192.168.1.253  24
[R1-GigabitEthernet0/0/0] vrrp vrid 1 virtual-ip 192.168.1.254
[R1-GigabitEthernet0/0/0] vrrp vrid 1 priority 120
[R1-GigabitEthernet0/0/0] vrrp vrid 1 preempt-mode timer delay 10
[R1-GigabitEthernet0/0/0] vrrp vrid 1 track interface GigabitEthernet0/0/1 reduced 30

R2:

[R2] interface GigabitEthernet0/0/0
[R2-GigabitEthernet0/0/0] ip address 192.168.1.252 24
[R2-GigabitEthernet0/0/0] vrrp vrid 1 virtual-ip 192.168.1.254
[R2-GigabitEthernet0/0/0] vrrp vrid 1 priority 110

3.VRRP主备备份配置

HostA通过Switch双归属到RouterA和RouterB。用户希望实现:
正常情况下,主机以RouterA为默认网关接入Internet,当RouterA故障时,RouterB接替作为网关继续进行工作,实现网关的冗余备份。RouterA故障恢复后,可以重新成为网关。
配置思路:
采用VRRP主备备份实现网关冗余备份,配置思路如下:
(1)配置各设备接口IP地址及路由协议,使各设备间网络层连通。
(2)在RouterA和RouterB上配置VRRP备份组。其中,RouterA上配置较高优先级和20秒抢占延时,作为Master设备承担流量转发;RouterB上配置较低优先级,作为备用工业路由交换一体机,实现网关冗余备份。
配置步骤:
(1)配置设备间的网络互连
# 配置设备各接口的IP地址,以RouterA为例。RouterB和RouterC的配置与RouterA类似,详见配置文件。

<Huawei> system-view
[Huawei] sysname RouterA
[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] undo portswitch
[RouterA-GigabitEthernet2/0/0] ip address 10.1.1.1 24
[RouterA-GigabitEthernet2/0/0] quit
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] undo portswitch
[RouterA-GigabitEthernet1/0/0] ip address 192.168.1.1 24
[RouterA-GigabitEthernet1/0/0] quit


# 配置RouterA、RouterB和RouterC间采用OSPF协议进行互连。以RouterA为例,RouterB和RouterC的配置与RouterA类似,详见配置文件。

[RouterA] ospf 1
[RouterA-ospf-1] area 0
[RouterA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.0] quit
[RouterA-ospf-1] quit


(2)配置VRRP备份组
# 在RouterA上创建VRRP备份组1,配置RouterA在该备份组中的优先级为120,并配置抢占时间为20秒。

[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 virtual-ip 10.1.1.111 //配置vrrp虚拟ip和vrid
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 priority 120   //默认优先级为100,RouterA设置优先级为120,该设备为Master
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 preempt-mode timer delay 20  //VRRP默认是抢占模式,设置抢占延时,避免频繁出现主备切换
[RouterA-GigabitEthernet2/0/0] quit
# 在RouterB上创建VRRP备份组1,其在该备份组中的优先级为缺省值100。
[RouterB] interface gigabitethernet 2/0/0
[RouterB-GigabitEthernet2/0/0] vrrp vrid 1 virtual-ip 10.1.1.111
[RouterB-GigabitEthernet2/0/0] quit


(3)验证配置结果
# 完成上述配置以后,在RouterA和RouterB上分别执行display vrrp命令,可以看到RouterA在备份组中的状态为Master,RouterB在备份组中的状态为Backup。

4.VRRP负载分担

HostA和HostC通过Switch双归属到RouterA和RouterB。用户希望HostA以RouterA为默认网关接入Internet,RouterB作为备份网关;HostC以RouterB为默认网关接入Internet,RouterA作为备份网关,以实现流量的负载均衡。
配置思路:
采用VRRP多网关负载分担实现流量的负载均衡,配置思路如下:
(1)配置各设备接口IP地址及路由协议,使各设备间网络层连通。
(2)在RouterA和RouterB上创建VRRP备份组1和VRRP备份组2,在备份组1中,配置RouterA为Master设备,RouterB为Backup设备;在备份组2中,配置RouterB为Master设备,RouterA为Backup设备,实现流量的负载均衡。
配置步骤:
(1)配置设备间的网络互连
# 配置设备各接口的IP地址,以RouterA为例。RouterB和RouterC的配置与RouterA类似,详见配置文件。

<Huawei> system-view
[Huawei] sysname RouterA
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] undo portswitch
[RouterA-GigabitEthernet1/0/0] ip address 192.168.1.1 24
[RouterA-GigabitEthernet1/0/0] quit
[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] undo portswitch
[RouterA-GigabitEthernet2/0/0] ip address 10.1.1.1 24
[RouterA-GigabitEthernet2/0/0] quit


# 配置RouterA、RouterB和RouterC间采用OSPF协议进行互连。以RouterA为例,RouterB和RouterC的配置与RouterA类似,详见配置文件。

[RouterA] ospf 1
[RouterA-ospf-1] area 0
[RouterA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.0] quit
[RouterA-ospf-1] quit


(2)配置VRRP备份组
# 在RouterA和RouterB上创建VRRP备份组1,配置RouterA的优先级为120,抢占延时为20秒;RouterB的优先级为缺省值。

[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 virtual-ip 10.1.1.111
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 priority 120
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 preempt-mode timer delay 20
[RouterA-GigabitEthernet2/0/0] quit
[RouterB] interface gigabitethernet 2/0/0
[RouterB-GigabitEthernet2/0/0] vrrp vrid 1 virtual-ip 10.1.1.111
[RouterB-GigabitEthernet2/0/0] quit


# 在RouterA和RouterB上创建VRRP备份组2,配置RouterB的优先级为120,抢占延时为20秒;RouterA的优先级为缺省值。
[

RouterB] interface gigabitethernet 2/0/0
[RouterB-GigabitEthernet2/0/0] vrrp vrid 2 virtual-ip 10.1.1.112
[RouterB-GigabitEthernet2/0/0] vrrp vrid 2 priority 120
[RouterB-GigabitEthernet2/0/0] vrrp vrid 2 preempt-mode timer delay 20
[RouterB-GigabitEthernet2/0/0] quit
[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] vrrp vrid 2 virtual-ip 10.1.1.112
[RouterA-GigabitEthernet2/0/0] quit


(3)验证配置结果
#在RouterA上执行display vrrp命令,可以看到RouterA在备份组1中作为Master设备,在备份组2中作为Backup设备。
# 在RouterB上执行display vrrp命令,可以看到RouterB在备份组1中作为Backup设备,在备份组2中作为Master设备。

5.VRRP监视上行接口

局域网主机通过Switch双归属到部署了VRRP备份组的RouterA和RouterB,其中RouterA为Master。
用户希望当RouterA的上行接口GE1/0/0状态Down时,VRRP备份组能够及时感知并进行主备切换,由RouterB接替作为网关继续承担业务转发,以减小接口状态Down对业务传输的影响。
配置思路:
采用VRRP与接口状态联动实现对上行接口故障的感知及主备网关的切换,配置思路如下:
(1)配置各设备接口IP地址及路由协议,使网络层路由可达。
(2)在RouterA和RouterB上配置VRRP备份组。其中,RouterA上配置较高优先级,作为Master设备承担业务转发;RouterB上配置较低优先级,实现冗余备份。
(3)在RouterA上配置VRRP与接口状态联动,监视上行接口GE1/0/0,实现RouterA到RouterC间链路故障时,VRRP备份组及时感知并进行主备切换。
操作步骤:
(1)配置设备间的网络互连
# 配置设备各接口的IP地址,以RouterA为例。RouterB和RouterC的配置与RouterA类似,详见配置文件。

<Huawei> system-view
[Huawei] sysname RouterA
[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] undo portswitch
[RouterA-GigabitEthernet2/0/0] ip address 10.1.1.1 24
[RouterA-GigabitEthernet2/0/0] quit
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] undo portswitch
[RouterA-GigabitEthernet1/0/0] ip address 192.168.1.1 24
[RouterA-GigabitEthernet1/0/0] quit


# 配置RouterA、RouterB和RouterC间采用OSPF协议进行互连。以RouterA为例,RouterB和RouterC的配置与RouterA类似,详见配置文件。
[RouterA] ospf 1
[RouterA-ospf-1] area 0
[RouterA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.0] quit
[RouterA-ospf-1] quit
(2)配置VRRP备份组
# 在RouterA上创建VRRP备份组1,配置RouterA在该备份组中的优先级为120,并配置抢占延时为20秒。

[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 virtual-ip 10.1.1.3
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 priority 120
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 preempt-mode timer delay 20
[RouterA-GigabitEthernet2/0/0] quit


# 在RouterB上创建VRRP备份组1,其在该备份组中的优先级为缺省值100。

[RouterB] interface gigabitethernet 2/0/0
[RouterB-GigabitEthernet2/0/0] vrrp vrid 1 virtual-ip 10.1.1.3
[RouterB-GigabitEthernet2/0/0] quit


(3)配置VRRP与接口状态联动
# 在RouterA上配置VRRP与接口状态联动,当监视的接口GE1/0/0状态Down时,RouterA的优先级降低40。

[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 track interface gigabitethernet 1/0/0 reduced 40   //优先级从120-40=80,小于RouterB默认的100优先级,所以RouterB变为Master设备
[RouterA-GigabitEthernet2/0/0] quit


(4)验证配置结果
# 完成上述配置后,在RouterA和RouterB上分别执行display vrrp命令,可以看到RouterA为Master设备,联动的接口状态为Up,RouterB为Backup设备。
 

相关文章:

  • Linux教程-常用命令系列二
  • dns作业
  • 健康养生之道
  • Javaweb之javascript的详细解析
  • 大模型时代:机遇与风险并存的AI革命
  • 苍穹外卖项目中所涉及到的测试内容
  • 直线轴承常规分类知多少?
  • 破解保险箱
  • 数据结构学习笔记 :排序算法详解与C语言实现
  • 齐次坐标变换+Unity矩阵变换
  • 树莓派超全系列教程文档--(34)树莓派配置GPIO
  • springboot定义统一的响应数据格式
  • 【技术派后端篇】技术派中的白名单机制:基于Redis的Set实现
  • 2025年4月19日 记录大模型出现的计算问题
  • Linux Privilege Escalation: LD_PRELOAD
  • 5G 毫米波滤波器的最优选择是什么?
  • MySQL进阶-存储过程-变量语法结构
  • 【嵌入式】——Linux系统远程操作和程序编译
  • 浅析vue2和vue3的区别
  • Amlogic S905L3 系列对比:L3A、L3B 与 L3AB 深度解析
  • 人民文学奖颁出,董宇辉获传播贡献奖
  • 法官颁布紧急临时禁止令,中国留学生诉美国政府“首战胜利”
  • 女子伸腿阻止高铁关门等待同行人员,相关部门已介入调查
  • 安徽省合肥市人大常委会原副主任杜平太接受审查调查
  • 张巍|另眼看古典学⑩:再创作让古希腊神话重获生机——重述厄勒克特拉
  • 福特预期6月美国市场涨价,机构称加税让每辆汽车成本至少增加数千美元