VRRP原理与配置

简介: VRRP原理与配置

一个网关没有冗余性,出现故障全网断网,使用两个网关设备,当一个设备down掉,还得去手动改PC的网关地址,非常麻烦,于是有了VRRP,虚拟出一台设备当作网关,使用主设备承载业务,当主设备出现故障,备份设备接替业务。

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

VRRP基本概念

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

VRID:共同运行VRRP协议的路由器组成一个组,使用相同的VRID进行标识。一个组内只有一个Master设备。范围0~255,0不可用。

虚拟路由器:虚拟出的路由器叫做虚拟路由器。

虚拟IP地址及虚拟MAC地址:虚拟路由器的IP地址和虚拟路由器的MAC地址。虚拟IP地址手动配置,虚拟MAC地址是0000-5e00-01xx

xx为VRID,比如VRID为1,虚拟MAC地址就是0000-5e00-0101,01为16进制数。

Master路由器:承担转发任务。响应对虚拟IP地址的ARP请求,每秒通告VRRP报文,通知Backup路由器关于自己的存活情况。

Backup路由器:接替Master路由器工作的设备。

优先级:取值范围0~255,手工配 置只能配置1~254。

抢占模式:Backup激活了抢占模式,发现Master路由器优先级比自己低时,立即切换Master状态;未激活抢占模式,即使Master路由器更低,也不会切换Master状态。

VRRP的工作机制

VRRP报文格式

目的MAC地址:01-00-5E-00-00-12(组播MAC地址)

源MAC地址:    00-00-5E-00-01-XX(源MAC地址,虚拟MAC)

目的IP地址:224.0.0.18(组播IP地址)

源IP地址:Master端口IP地址

VRRP协议号为112

VRRP状态机

Initialize(初始状态)、Master(主状态)、Backup(备份状态)。

初始状态:当接口配置了vrrp,但为down时,状态为初始状态。

接口up之后,如果优先级小于255,会进入Backup状态,如果优先级等于255,直接进入Master状态。

Mster状态:承载数据转发任务

  • 以虚拟MAC地址响应虚拟IP地址的ARP请求
  • 转发目的MAC地址为虚拟MAC地址的报文。
  • 周期性发送VRRP报文,默认  为1秒。
  • 当收到一个VRRP报文优先级为0的,则继续发送自己的报文;
  • 当收到一个VRRP报文优先级比自己大的,或优先级相等,但报文中源IP地址比自己大的报文,会切换到Backup状态;
  • 当收到一个VRRP报文优先级不为0,且比自己小的,则忽略该报文。

Backup状态:不参与数据转发,实时监控Master的状态,准备接替Master的状态

  • 不回应虚拟IP地址的ARP请求;
  • 丢弃目的MAC地址为VRRP虚拟MAC地址的数据帧;
  • 不接收目的IP地址为VRRP虚拟IP地址的数据包;
  • 实时侦听VRRP报文;
  • 收到优先级和自己一样的,不会比较IP地址大小
  • 收到VRRP报文优先级为0的,则等待一个偏移时间,切换到Master状态;
  • 收到VRRP报文优先级比自己小的,立即切换到Backup状态;
  • 超时3-4秒没收到VRRP报文,会将状态切换到Master状态,并开始发送VRRP报文,从接口发送免费ARP。

VRRP定时器

Backup路由器在3-4秒钟没有收到VRRP报文,认为Master路由器失效,会切换为Master状态。

在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

Master路由器的选举

优先级范围0-255

0:Master路由器主动放弃Master角色,手工删除配置,会立即发送优先级为0的VRRP报文。

255:虚拟IP地址与Master设备接口IP地址相同,就成为IP地址拥有者,优先级为255,直接进入Master状态。

基本配置

vrrp vrid 1  virtual-ip 192.168.1.254   //创建VRID为1的VRRP组,虚拟IP地址为192.168.1.254
vrrp vrid 1 priority 120  //配置VRRP优先级
vrrp vrid1 prempt-mode disable  //关闭抢占功能
vrrp vrid 1 track interface g0/0/1 reduced 20    //使用track模块监视G0/0/1接口,当该接口down掉,减少VRID 1组的优先级20

VRRP监视上行端口

track直连故障

如图,R1和R2的1号口共同运行VRRP,组成VRRP组,1为Master,那么当R1的1号口down后,R2是能够知道R1运行VRRP协议出现故障,会切换到Master状态,此时PC仍可访问R3。但是当R1的2号口故障时,R1依然会给R2发送VRRP报文,此时R2并不会切换状态,但PC的数据包就不能到达R3了,所以此时可以使用track来监视R1的2号口,当R1的2号口down后,会降低R1运行VRRP的接口优先级,使R2可以切换Master状态,让PC可以正常到达R3。

VRRP与BFD

如果R1如果在1号口上部署track,那么R1运行VRRP的0号口则会知道R1的1号口down掉了,则会通过降低优先级,来使R2变为Master状态,让网络正常运行。但是如果R3和R5的链路出现故障,track就检测不到了,此时可以使用BFD来检测远端链路故障,在R1的1号口和R5的3号口上部署BFD,相互之间发送BFD报文来检测中间链路是否down掉,并让track检测BFD,当R3与R5之间链路故障,R5中断发送BFD报文,此时track也检测到了,便可以让R1运行VRRP的接口降低优先级,让R2切换到Master状态,使网络正常运行。

VRRP+MSTP  VRRP负载分担

建议:

VRRP的主设备在哪,MSTP的根就在哪

VRRP的备份设备在哪,MSTP的备根就在哪

相关文章
|
存储 消息中间件 缓存
键值(key-value)数据库
【4月更文挑战第9天】键值数据库(NoSQL)以键值对形式存储数据,简单灵活,适合任意类型数据。其特点是高性能、高可扩展性,常见应用包括缓存、会话管理、分布式锁、计数统计、配置管理和轻量级消息队列。然而,它不适用于结构化信息存储和复杂查询,选择时需考虑应用场景。
2764 5
|
Cloud Native 安全 Java
go和java的比较
go和java的比较
|
3月前
|
虚拟化 网络架构 Docker
不降级、不关 Hyper-V,让 eNSP 跑在 VirtualBox 7 上
eNSP是华为经典网络模拟器,但已停更且强依赖老旧的VirtualBox 5.2,与Win11、Hyper-V/WSL2严重冲突。本文提出创新COM垫片方案:伪装版本号+精准vtable映射+调用约定转换,使eNSP无缝兼容VirtualBox 7.x,无需降级、不关Hyper-V,WSL2/Docker照常运行。开源免费,GitHub搜`ensp-vbox-shim`。
|
网络虚拟化
配置OptionC方式跨域VPN示例
本文介绍了跨域BGP/MPLS IP VPN的配置方法。公司总部(CE1)与分部(CE2)分别通过不同运营商AS10和AS20接入,同属vpn1。配置思路包括:1) 配置IGP协议实现骨干网互通;2) 配置MPLS基本能力和LDP建立LSP;3) 配置VPN实例并绑定接口;4) 建立EBGP对等体交换路由;5) 在ASBR-PE上发布带标签的路由;6) 配置MP-EBGP对等体关系。操作步骤涵盖IP地址配置、MPLS骨干网互通、VPN实例接入及路由验证,确保跨域通信正常。
|
存储 运维 安全
|
网络协议 算法 安全
【网络协议基础】TCP/IP协议大全
TCP/IP协议是现代计算机网络通信的基础,是互联网及局域网广泛使用的一套协议。TCP/IP协议集采用分层模型,以便于网络的设计、实现和管理。
2010 2
|
存储 人工智能 uml
介绍一款好用的开源画图神器-draw.io | AI应用开发
draw.io 是一款基于浏览器的开源绘图工具,无需安装即可使用,支持多种操作系统和设备。其简洁的界面、丰富的形状库、智能对齐功能和强大的云端协作能力,使其成为专业人士和创意爱好者的首选。无论是产品设计、流程图绘制还是思维导图构建,draw.io 都能满足你的多样化需求。【10月更文挑战第7天】
2116 0
|
JavaScript
解决vue项目build之后部署到服务器访问的时候出现报错:Uncaught SyntaxError: Unexpected token ‘<‘ chunk-vendors:XXXXXX
解决vue项目build之后部署到服务器访问的时候出现报错:Uncaught SyntaxError: Unexpected token ‘<‘ chunk-vendors:XXXXXX
解决vue项目build之后部署到服务器访问的时候出现报错:Uncaught SyntaxError: Unexpected token ‘<‘ chunk-vendors:XXXXXX
|
网络协议 安全 网络安全
OSPF在IPv6环境下的实现
OSPF在IPv6环境下的实现
623 5
|
网络协议 网络架构