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实验的更多相关文章

  1. VRRP+tunnel+IP SLA+Track实现冗余切换

    IP SLA(Internet Protocol Service-Level Agreement)互联网服务等级协议,本实验里通过发送测试报文,测试下一跳是否可达,结合Track实现冗余静态路由的切换 ...

  2. HCNP Routing&Switching之BFD

    BFD技术背景 什么是BFD?它的主要作用是做什么的,这是我们学习BFD需要搞清楚的地方: BFD是Bidirectional Forwarding Detection的缩写,翻译成中文就是双向转发检 ...

  3. LB(Load balance)负载均衡集群--{LVS-[NAT+DR]单实例实验+LVS+keeplived实验} 菜鸟入门级

    LB(Load balance)负载均衡集群 LVS-[NAT+DR]单实例实验 LVS+keeplived实验 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一 ...

  4. HA(High available)-Keepalived高可用性集群(双机热备)单点实验-菜鸟入门级

    HA(High available)-Keepalived高可用性集群   Keepalived 是一个基于VRRP虚拟路由冗余协议来实现的WEB 服务高可用方案,虚拟路由冗余协议 (Virtual ...

  5. LVS+Keepalived高可用负载均衡集群架构实验-01

    一.为什么要使用负载均衡技术? 1.系统高可用性 2.  系统可扩展性 3.  负载均衡能力 LVS+keepalived能很好的实现以上的要求,LVS提供负载均衡,keepalived提供健康检查, ...

  6. VRRP技术总结和配置实践

    1.VRRP作为网关可靠性的常用方法,基本思路是,两台路由器组成一个虚拟路由器,通过VRRP协议对内网呈现一个虚拟的网关ip, 以便让局域网内部的终端通过这个虚拟网关对外进行通信. 2.VRRP的最简 ...

  7. VRRP概述

    随着Internet的发展,人们对网络的可靠性的要求越来越高.对于局域网用户来说,能够时刻与外部网络保持联系是非常重要的. 通常情况下,内部网络中的所有主机都设置一条相同的缺省路由,指向出口网关(即图 ...

  8. lvs+keepalived实验

    一.VRRP协议与工作原理 在现实网络环境中,主机之间的通信都是通过配置静态路由或者(默认网关)来完成的,而主机之间的路由器一旦发生故障,通信就会失效,因此这种通信模式当中,路由器就成了一个单点瓶颈, ...

  9. 华为路由交换综合实验 ---IA阶段

    目录 华为路由交换综合实验 ---IA阶段 实验拓扑 实验需求 华为路由交换综合实验 ---IA阶段 实验拓扑 实验需求 根据拓扑合理规划IP地址以及VLANIf地址(PC1属于运营部,PC2属于市场 ...

  10. 实验:keepalived双主抢占模式和非抢占模式和IPVS

    内容: 一:概念.原理   二:实验过程 一.概念 一.keepalived原理及配置解析 keepalived:vrrp协议的实现 vrrp协议:virtual router redundancy ...

随机推荐

  1. Qt编写可视化大屏电子看板系统17-柱状堆积图

    一.前言 柱状堆积图也叫堆积柱状图.堆积柱形图.堆叠图,有点类似跳动的音符,一个柱子上有多根柱子层叠,层叠之间可以设置间隔,这个其实和柱状分组图的功能类似,只不过把这个分组放到了柱子上面层叠,一般柱子 ...

  2. Windows上使用CMake GUI编译开源代码时,提示:cmake Could NOT find ZLIB (missing:ZLIB_LIBRARY)和Could NOT find PNG (missing: PNG_LIBRARY PNG_PNG_INCLUDE_DIR)的处理办法

    有的时候就算在CMake GUI中配置完ZLIB_LIBRARY和PNG_LIBRARY和PNG_PNG_INCLUDE_DIR等相关路径,还是提示上述错误.原因还是由于编译某源码时遗漏了对第三方开源 ...

  3. OGC——WFS服务

    一.WFS简介    OGC的WMS和WMTS规范都是有关空间数据显示的标准,而WFS(Web Feature Service)则允许用户在分布式的环境下通过HTTP对空间数据进行增.删.改.查. 具 ...

  4. dectron2框架export导出并使用 onnx 记录

    python tools/deploy/export_model.py \ --sample-image /Users/gatilin/PycharmProjects/model-graphviz-p ...

  5. 【狂神说Java】Java零基础学习笔记-Java基础

    [狂神说Java]Java零基础学习笔记-Java基础 Java基础01:注释 平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了. 注释 ...

  6. Solution Set - “带我去看极光与大海吧”

    目录 0.「AGC 062C」Mex of Subset Sum 1.「THUPC 2021 初赛」「洛谷 P7136」方格游戏 2.「THUPC 2023 初赛」「洛谷 P9139」喵了个喵 II ...

  7. .NET8.0多线程编码结合异步编码示例

    1.创建一个.NET8.0控制台项目来演示多线程的应用 2.快速创建一个线程 3.多次运行程序,可以得到输出结果 这就是多线程的特点 - 当多个线程并行执行时,它们的具体执行顺序是不确定的,除非我们使 ...

  8. CudaSPONGE与PySAGES初步性能测试

    技术背景 在前面的一篇博客中,我们介绍过CudaSPONGE的基础使用方法.CudaSPONGE调用Python接口函数以及CudaSPONGE结合增强采样软件PySAGES的使用方法.在这篇文章中, ...

  9. 魔乐开发者社区正式上线,AI开发者快来撩!

    近日,由天翼云与华为联合打造的魔乐(Modelers)开发者社区,在天翼云中国行·贵州站活动现场上线发布.依托全场景开源模型资源.易用的模型开发套件,以及强大的共建共享生态系统等优势,社区将使能开发者 ...

  10. 亮相2024 DPU&AI Networking创新大会,天翼云斩获两项大奖!

    近日,以"智驱网络 芯动未来"为主题的2024 DPU&AI Networking创新大会在北京举办.大会表彰了在DPU与AI网络技术创新及实践应用中取得卓越成就的单位与项 ...