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 --设置默认路由
`
VRRP+BFD实验的更多相关文章
- VRRP+tunnel+IP SLA+Track实现冗余切换
IP SLA(Internet Protocol Service-Level Agreement)互联网服务等级协议,本实验里通过发送测试报文,测试下一跳是否可达,结合Track实现冗余静态路由的切换 ...
- HCNP Routing&Switching之BFD
BFD技术背景 什么是BFD?它的主要作用是做什么的,这是我们学习BFD需要搞清楚的地方: BFD是Bidirectional Forwarding Detection的缩写,翻译成中文就是双向转发检 ...
- LB(Load balance)负载均衡集群--{LVS-[NAT+DR]单实例实验+LVS+keeplived实验} 菜鸟入门级
LB(Load balance)负载均衡集群 LVS-[NAT+DR]单实例实验 LVS+keeplived实验 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一 ...
- HA(High available)-Keepalived高可用性集群(双机热备)单点实验-菜鸟入门级
HA(High available)-Keepalived高可用性集群 Keepalived 是一个基于VRRP虚拟路由冗余协议来实现的WEB 服务高可用方案,虚拟路由冗余协议 (Virtual ...
- LVS+Keepalived高可用负载均衡集群架构实验-01
一.为什么要使用负载均衡技术? 1.系统高可用性 2. 系统可扩展性 3. 负载均衡能力 LVS+keepalived能很好的实现以上的要求,LVS提供负载均衡,keepalived提供健康检查, ...
- VRRP技术总结和配置实践
1.VRRP作为网关可靠性的常用方法,基本思路是,两台路由器组成一个虚拟路由器,通过VRRP协议对内网呈现一个虚拟的网关ip, 以便让局域网内部的终端通过这个虚拟网关对外进行通信. 2.VRRP的最简 ...
- VRRP概述
随着Internet的发展,人们对网络的可靠性的要求越来越高.对于局域网用户来说,能够时刻与外部网络保持联系是非常重要的. 通常情况下,内部网络中的所有主机都设置一条相同的缺省路由,指向出口网关(即图 ...
- lvs+keepalived实验
一.VRRP协议与工作原理 在现实网络环境中,主机之间的通信都是通过配置静态路由或者(默认网关)来完成的,而主机之间的路由器一旦发生故障,通信就会失效,因此这种通信模式当中,路由器就成了一个单点瓶颈, ...
- 华为路由交换综合实验 ---IA阶段
目录 华为路由交换综合实验 ---IA阶段 实验拓扑 实验需求 华为路由交换综合实验 ---IA阶段 实验拓扑 实验需求 根据拓扑合理规划IP地址以及VLANIf地址(PC1属于运营部,PC2属于市场 ...
- 实验:keepalived双主抢占模式和非抢占模式和IPVS
内容: 一:概念.原理 二:实验过程 一.概念 一.keepalived原理及配置解析 keepalived:vrrp协议的实现 vrrp协议:virtual router redundancy ...
随机推荐
- GNU Make中CPPFLAGS和CXXFLAGS之间的区别
GNU Make 是一个流行的构建工具,用于编译和链接源代码.在 GNU Make 中,CPPFLAGS 和 CXXFLAGS 都是用于指定编译器选项的变量.它们之间的主要区别在于它们分别适用于 C ...
- [转]Spring Security打造一个简单Login登录页面,实现登录+跳转+注销+角色权限功能,核心代码不到100行!
原文链接:Spring Security打造一个简单Login登录页面,实现登录+跳转+注销+角色权限功能,核心代码不到100行!
- Redis 源码简洁剖析 01 - 环境配置
fork Redis 源码 在 GitHub 上找到并 fork Redis 源码 https://github.com/redis/redis,然后在本地 clone 自己 fork 出来的源码项目 ...
- Appium_测试步骤读取自外部文件:定制执行引擎
testcase.yaml: - id: home_search - id: search_input_text input: alibaba - id: name - id: current_pri ...
- runoob-Docker 教程
https://www.runoob.com/docker/docker-tutorial.html Docker的应用场景 Web 应用的自动化打包和发布. 自动化测试和持续集成.发布. 在服务型环 ...
- Redis(3)---Redis事务|主从复制
Redis事务 Redis 通过 MULTI .EXEC. DISCARD 和 WATCH 四个命令来实现事务功能. MULTI :标记一个事务块的开始. EXEC: 执行所有事务块内的命令. DI ...
- react 计算衍生数据
import React from 'react' import { connect } from 'react-redux' import TodoList from '../components/ ...
- 0101-win10 jkd配置注意事项
更换新的电脑预装win10家庭版,根据常规方法配置jdk8后运行javac提示:不是内部或外部命令,也不是可运行的程序或批处理文件. 1 设置变量classpath时前面有个点(完成这一步后javac ...
- dart集合list方法详解
List数组有两种声明方式: 01==>List 常用的属性==> length 计算数组的长度 reversed 数组翻转 isEmpty 是否为空 isNotEmpty 是否不为空 L ...
- LeetCode刷题小白必看!如何科学地刷题,从0到1建立你的算法体系?
大家好,我是忍者算法的作者,今天想和大家聊聊如何科学地刷题.如果你是一个刚开始刷题的小白,面对LeetCode上密密麻麻的题目感到无从下手,或者刷了一段时间却发现自己进步缓慢,那么这篇文章就是为你准备 ...