VRRP+BFD实验

VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)的工作原理主要涉及多个路由器(或具备路由功能的设备)协同工作,通过VRRP报文和优先级机制来选举出一个主路由器(Master)负责数据转发,而其他路由器则作为备份路由器(Backup),在主路由器故障时接替其工作。

一、VRRP的基本概念

VRRP路由器:运行VRRP协议的设备,可以属于一个或多个虚拟路由器。
虚拟路由器:由VRRP抽象生成出的逻辑路由器,也称为VRRP备份组,由一个Master设备和多个Backup设备组成,被当作一个共享局域网内主机的缺省网关。
Master路由器:承担转发报文任务的VRRP设备,即当前负责数据转发的主路由器。
Backup路由器:一组没有承担转发任务的VRRP设备,当Master设备出现故障时,它们将通过竞选成为新的Master设备。
VRID:虚拟路由器的标识,用于区分不同的VRRP组。
虚拟IP地址:虚拟路由器的IP地址,被用作局域网内所有主机的缺省网关地址。
虚拟MAC地址:虚拟路由器根据VRID生成的MAC地址,用于回应ARP请求。

二、VRRP的选举机制

优先级:VRRP根据优先级来决定哪台设备成为Master路由器。优先级越高,成为Master的可能性越大。默认优先级通常为100,但可以手动配置。

选举过程:
    设备启动或接口状态变为UP时,如果设备的优先级为255(最高优先级),则直接成为Master设备。
    如果设备的优先级小于255,则会先切换至Backup状态,并等待Master_Down_Interval定时器超时后再尝试成为Master。
    在选举过程中,设备会发送VRRP通告报文,其他设备根据收到的报文中的优先级信息来判断当前Master设备的状态。

三、VRRP的工作状态

初始状态(Initialize):设备刚配置VRRP时或检测到故障时会进入此状态,此时设备不会对VRRP报文做任何处理。
活动状态(Master):当设备成为Master时,它会定时发送VRRP通告报文,以虚拟MAC地址响应对虚拟IP地址的ARP请求,并转发目的MAC地址为虚拟MAC地址的IP报文。
备份状态(Backup):当设备处于Backup状态时,它会接收Master设备发送的VRRP通告报文,并判断Master设备的状态是否正常。如果Master设备出现故障,Backup设备会根据优先级重新选举新的Master。

四、VRRP的故障切换和恢复

故障切换:当Master设备出现故障时,Backup设备会根据优先级重新选举出一个新的Master设备,并立即发送携带虚拟路由器的虚拟MAC地址和虚拟IP地址信息的免费ARP报文,刷新与它连接的主机或设备中的MAC表项,从而把用户流量引到新的Master设备上来。
恢复过程:如果原Master设备故障恢复并重新加入VRRP组,它将成为Backup设备,并等待下一次选举机会。在新的Master设备故障或优先级降低时,原Master设备有可能重新成为Master。

一、BFD的基本概念

BFD通过数据链路层连线来侦测两个转送引擎之间的错误,它可做到全程路径的侦测,不管中间经过多少交换器或线路,以协助End-to-End去侦测路径是否有断线的状况。BFD是一个轻量级的Hello协议,使用简单的控制报文来快速检测通信故障,并在检测到故障时及时通知上层应用,以便进行相应的恢复措施。

二、BFD的工作原理

BFD会话建立:BFD在两台网络设备之间建立会话,用于检测网络设备间的双向转发路径。这个会话是由上层应用通知其邻居信息以建立的。BFD本身并没有邻居发现机制,而是依赖于被服务的上层协议(如OSPF、BGP等)来通知其邻居信息。
BFD报文发送与接收:会话建立后,BFD会周期性地快速发送BFD报文。这些报文在传输层通过UDP进行封装,对于单跳检测,端口号为3784;对于多跳检测,端口号可能为3784或4784。如果在检测时间内没有收到BFD报文,则认为该双向转发路径上发生了故障。
故障通知:一旦检测到故障,BFD会立即通知被服务的上层应用,以便它们能够采取相应的恢复措施。

三、BFD的优点

快速故障检测:BFD能够在毫秒级的时间内快速检测到网络设备之间的故障,这对于现代高速网络来说至关重要。
灵活性:BFD可以与多种网络层协议集成,并根据网络环境和需求进行调整,以实现最佳的故障检测性能。
可配置性:BFD提供了多种配置选项,允许网络管理员根据具体需求进行定制。

四、BFD的检测模式

BFD提供了两种检测模式:

异步模式:BFD的主要操作模式。在这种模式下,系统之间相互周期性地单独发送BFD控制报文。如果某个系统在既定的时间内没有接收到对方发送过来的BFD报文,就认为BFD会话的状态是Down。
查询模式:当一个系统中存在大量BFD会话时,为防止周期性发送BFD控制报文的开销影响到系统的正常运行,可以采用查询模式。在查询模式下,一旦BFD会话建立,系统就不再周期性发送BFD控制报文,而是通过其他与BFD无关的机制检测连通性(比如路由协议的Hello机制、硬件检测机制等),从而减少BFD会话带来的开销。

五、实验

近端故障场景解决方案:(GigabitEthernet0/0/1故障)
AR1配置(AR2配置同理)
`
sysname AR1

acl number 2000 --私网与公网转换
rule 5 permit

interface GigabitEthernet0/0/0
ip address 192.168.1.251 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.1.254 --PC1的虚拟网关
vrrp vrid 1 priority 150 --设置优先级,默认为100,越大越优
vrrp vrid 1 track interface GigabitEthernet0/0/1 reduced 60 --内网接口GigabitEthernet0/0/0故障时可以通过VRRP通告报文检测,但外网接口GigabitEthernet0/0/1故障时(近端故障)无法感知,通过BFD技术感知(毫秒级切换),检测到故障时降低(-60)本设备vrid1的优先级,使备份设备抢占
vrrp vrid 2 virtual-ip 192.168.1.253 --PC2的虚拟网关(实现PC1和PC2的负载分担)

interface GigabitEthernet0/0/1
ip address 13.0.0.1 255.255.255.0
nat outbound 2000 --NAT

ip route-static 0.0.0.0 0.0.0.0 13.0.0.3 --设置默认路由
`

远端故障场景解决方案1:双向检测(在对运营商网络中,无法让运营商配置双向检测)
AR1配置
`
sysname AR1

bfd

acl number 2000
rule 5 permit

interface GigabitEthernet0/0/0
ip address 192.168.1.251 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.1.254
vrrp vrid 1 priority 150
vrrp vrid 1 track bfd-session session-name 1to3 reduced 60 --BFD联动VRRP,调用BFD会话名称
vrrp vrid 2 virtual-ip 192.168.1.253 --PC2的虚拟网关(实现PC1和PC2的负载分担)

interface GigabitEthernet0/0/1
ip address 13.0.0.1 255.255.255.0
nat outbound 2000

bfd 1to3 bind peer-ip 13.0.0.3 source-ip 13.0.0.1 auto --设置BFD回话源目IP,需要双向配置
commit

ip route-static 0.0.0.0 0.0.0.0 13.0.0.3 --设置默认路由
`

远端故障场景解决方案2:单臂回声
AR1配置
` sysname AR1

bfd

acl number 2000
rule 5 permit

interface GigabitEthernet0/0/0
ip address 192.168.1.251 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.1.254
vrrp vrid 1 priority 150
vrrp vrid 1 track bfd-session 1000 reduced 60 -- --BFD联动VRRP,调用BFD本地标识1000
vrrp vrid 2 virtual-ip 192.168.1.253 --PC2的虚拟网关(实现PC1和PC2的负载分担)

interface GigabitEthernet0/0/1
ip address 13.0.0.1 255.255.255.0
nat outbound 2000

bfd 1to3 bind peer-ip 13.0.0.3 interface GigabitEthernet0/0/1 one-arm-echo --设置BFD单臂回声
discriminator local 1000
commit

ip route-static 0.0.0.0 0.0.0.0 13.0.0.3 --设置默认路由
`

posted @   YZreal  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示