【HCIP】04.VRRP与BFD

VRRP

VRRP基本概念

VRRP路由器

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

VRID

  • 一个VRRP组由多台协同工作的路由器(的接口)组成,使用相同的VRID(Virtual Router Identifier,虚拟路由器标识符)进行标识。属于同一个VRRP组的路由器之间交互VRRP协议报文并产生一台虚拟“路由器”。一个VRRP组中只能出现一台Master路由器。VRRP组范围0-255,0不可以用。

虚拟路由器

  • VRRP为每一个组抽象出一台虚拟“路由器”(Virtual Router),该路由器并非真实存在的物理设备,而是由VRRP虚拟出来的逻辑设备。一个VRRP组只会产生一台虚拟路由器。

虚拟IP地址及虚拟MAC地址

  • 虚拟路由器拥有自己的IP地址以及MAC地址,其中IP地址由网络管理员在配置VRRP时指定,一台虚拟路由器可以有一个或多个IP地址,通常情况下用户使用该地址作为网关地址。而虚拟MAC地址的格式是“0000-5e00-01xx”,其中xx为VRID。MAC地址使用16进制方式表示。例如VRRP组的VRID为10,那么MAC地址为0000-5e00-010A

Master路由器

  • Master路由器”在一个VRRP组中承担报文转发任务。在每一个VRRP组中,只有Master路由器才会响应针对虚拟IP地址的ARP Request。Master路由器会以一定的时间间隔周期性地发送VRRP报文,以便通知同一个VRRP组中的Backup路由器关于自己的存活情况。

Backup路由器

  • 也被称为备份路由器。Backup路由器将会实时侦听Master路由器发送出来的VRRP报文,它随时准备接替Master路由器的工作。

Priority

  • 优先级值是选举Master路由器和Backup路由器的依据,优先级取值范围0-255,值越大越优先,值相等则比较接口IP地址大小,大者优先。
  • 手动可配置优先级范围1-254;0是退出VRRP组是发出的,255(虚拟IP拥有者)是将虚拟IP配置与物理接口IP一样发出的。

VRRP的报文

  • 基于IP工作,组播地址224.0.0.18;组播目的MAC,01-00-5E-00-00-12
  • VRRP只有一种报文,即Advertisement报文,组播方式发送, Advertisement报文的目的组播地址为224.0.0.18。

  1. Ver,版本
  2. Type,类型
  3. Virtual Rtr ID,VRRP组ID号
  4. Priority,路由器接口的优先级
  5. Count IP Addrs,携带了几个虚拟IP
  6. Auth Type,认证类型
  7. Adver int,通告的接口
  8. Checksum,校验和
  9. IP Address,IP地址
  10. Authentication Data,认证信息

VRRP定时器

  • ADVER_INTERVAL(通告-间隔)定时器:Master发送VRRP通告报文时间周期,缺省值为1秒。
  • MASTER_DOWN定时器:Backup设备监听该定时器超时后,会变为Master状态。大约3-4秒钟。
    • MASTER_DOWN定时器计算公式如下:
      • MASTER_DOWN =(3* ADVER_INTERVAL)+ Skew_time(偏移时间)
      • 其中,Skew_Time=(256–Priority)/256

VRRP状态机

  • VRRP协议状态机有三种状态:Initialize(初始状态)、Master(活动状态)、Backup(备份状态)。
  • 优先级小于255变为备份设备,等于255直接变为主设备(可以节约IP地址)
  • 优先级为0,是认为删除配置的时候自动发出的,可以使之前的备设备不需要等待Master-down时间。

VRRP的选举

  • 主设备比优先级+IP地址,备用设备只比较优先级;谁先成为主设备,即便优先级一样,也一直为主设备
  • 刚开机的时候都会认为自己为备用设备,会认为3-4秒的时间,会发现没有主;其中一台会升为主设备,会发送一个VRRP通过报文以组播形式,备设备会收到报文;会比较优先级,如果主设备的优先级大,那么备用设备会没有响应等待主设备的周期报文,如果备设备的优先级大,那么备用设备会立即成为主设备并向备设备发送VRRP报文。

VRRP优先级不相等时主备选举过程(比较优先级,大者为主)

  1. R1的接口VRRP优先级为200,R2的接口VRRP优先级为100,两台设备完成初始化后首先切换至Backup状态。
  2. R1与R2根据各自MASTER_DOWN定时器超时时间由Backup切换到Master状态,所以R1比R2更快切换至Master状态。
  3. R1和R2通过相互发送VRRP报文进行Master选举,优先级高的被选举为Master设备,因此R1被选为Master路由器 。
  4. R1被选举为Master路由器后,立即发送免费ARP报文将虚拟MAC地址通告给与它连接的设备和主机。

VRRP优先级相等时主备选举过程(比较IP地址,大者为主)

  1. R1与R2的GE0/0/0接口VRRP优先级都是200,两台设备完成初始化后首先切换至Backup状态。
  2. 由于优先级相同,R1与R2的MASTER_DOWN定时器超时后,同时由Backup状态切换至Master状态。
  3. R1与R2交换VRRP报文,优先级一样,通过比较接口IP地址选举Master路由器,由于R2的接口IP地址大于R1的接口IP地址,因此R2被选举为Master路由器。
  4. R2被选举为Master路由器后,立即发送免费ARP报文将虚拟MAC地址通告给与它连接的设备和主机。

配置为IP地址拥有者时主备选举过程(直接成为Master)

  1. R1与R2的GE0/0/0接口VRRP优先级都采用默认配置(默认为100),但是R1的GE0/0/0接口IP地址与Virtual IP地址相同。
  2. R1的GE0/0/0接口直接切换至Master状态,R1成为Master路由器。

VRRP主备切换

  • 主动放弃,发送为0的报文,无需等待超时时间,这个切换的时间称为Skew_time。
  • 当Master设备发生网络故障而不能发送通告报文的时候,Backup设备并不能立即知道其工作状况。等到MASTER_DOWN定时器超时后,才会认为Master设备无法正常工作,从而将状态切换为Master。

回切与抢占(默认抢占,如果备份设备没有开启抢占功能,则不抢占)

  1. 当R1从故障恢复后,网络将重新进行VRRP主备选举,由于R1的优先级大于R2,所以R1又重新成为新的Master设备负责转发用户报文。如果开启了非抢占模式,那么R1就不会成为新的Master。
  • 配置VRRP备份组中Backup设备采用非抢占方式,Backup设备在接收到VRRP通告报文的处理过程中,如果发现接收到的VRRP通告报文中的优先级比自己的优先级低,则Backup设备也不会抢占为Master设备。
  • 配置VRRP备份组中Backup设备采用抢占方式,Backup设备在接收到VRRP通告报文的处理过程中,如果发现接收到的VRRP通告报文中的优先级比自己的优先级低,则Backup设备在延迟时间超时后,会抢占成为Master设备。

配置

R1
int g0/0/1 
vrrp vrid 1 virtual-ip 192.168.1.254	配置虚拟IP
vrrp vrid 1 priorty 105	配置优先级

R2
int g0/0/1
vrrp vrid 1 virtual-ip 192.168.1.254
dis vrrp
[Huawei-GigabitEthernet0/0/0]vrrp vrid 1 preempt-mode disable 	关闭抢占模式(接口要双up)

BFD

  • BFD双向转发检测提供了一个通用的、标准化的、介质无关和协议无关的快速故障检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状态。
  • BFD是一个简单的“Hello”协议。两个系统之间建立BFD会话通道,并周期性发送BFD检测报文,如果某个系统在规定的时间内没有收到对端的检测报文,则认为该通道的某个部分发生了故障。

BFD的报文结构

  1. Sta:BFD本地状态。
  2. Detect Mult:检测超时倍数,用于检测方计算检测超时时间。
  3. My Discriminator:BFD会话连接本地标识符(Local Discriminator) 。发送系统产生的一个唯一的、非0鉴别值,用来区分一个系统的多个BFD会话。
  4. Your Discriminator:BFD会话连接远端标识符(Remote Discriminator) 。从远端系统接收到的鉴别值,这个域直接返回接收到的“My Discriminator”,如果不知道这个值就返回0。
  5. Desired Min TX Interval:本地支持的最小BFD报文发送间隔。
  6. Required Min RX Interval:本地支持的最小BFD报文接收间隔。
  7. Required Min Echo RX Interval:本地支持的最小Echo报文接收间隔,单位为微秒(如果本地不支持Echo功能,则设置0)。

BFD会话的建立(静态建立与动态建立)

  • BFD会话的建立有两种方式,即静态建立BFD会话和动态建立BFD会话。BFD通过控制报文中的本地标识符和远端标识符区分不同的会话。静态和动态创建BFD会话的主要区别在于Local Discriminator和Remote Discriminator的配置方式不同。

BFD会话状态

  • BFD会话有四种状态:Down、Init、Up和AdminDown。会话状态变化通过BFD报文的State字段传递,系统根据自己本地的会话状态和接收到的对端BFD报文驱动状态改变,如左下图所示。BFD状态机的建立和拆除都采用三次握手机制,如右下图所示,以确保两端系统都能知道状态的变化。

BFD检测方式与时间

  • 查询方式只可以检测一跳

配置

[Huawei]bfd	开启bfd功能
[Huawei-bfd]qu
[Huawei]bfd dalong bind peer-ip 1.1.1.6 绑定远端ip
[Huawei-bfd-session-dalong]discriminator local 1	本地标识符1
[Huawei-bfd-session-dalong]discriminator remote 2	远端标识符2
[Huawei-bfd-session-dalong]commit

[Huawei]bfd	开启bfd功能
[Huawei-bfd]qu
[Huawei]bfd gaochen bind peer-ip 2.2.2.6 绑定远端ip
[Huawei-bfd-session-dalong]discriminator local 2	本地标识符1
[Huawei-bfd-session-dalong]discriminator remote 1	远端标识符2
[Huawei-bfd-session-dalong]commit

[Huawei-GigabitEthernet0/0/0]vrrp vrid  1 track  bfd-session 1	本地标识符

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/84847.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript-console:JavaScript控制台(Console)常用方法

一、理解 console JavaScript 控制台(console)是一个开发人员在编写 JavaScript 代码时常用的工具。它是浏览器提供的一种界面,让开发人员能够追踪代码执行的状态和结果。JavaScript 控制台可以记录代码输出的信息、警告和错误,并…

2023-08-21 LeetCode每日一题(移动片段得到字符串)

2023-08-21每日一题 一、题目编号 2337. 移动片段得到字符串二、题目链接 点击跳转到题目位置 三、题目描述 给你两个字符串 start 和 target ,长度均为 n 。每个字符串 仅 由字符 ‘L’、‘R’ 和 ‘_’ 组成,其中: 字符 ‘L’ 和 ‘R…

ISVE2023展商 | 皮克智能:零售及互联网领域数字化变革开拓者

ISVE2023展商 | 皮克智能:零售及互联网领域数字化变革开拓者 01 公司介绍 Exhibitor Profile 皮克智能是优质的智能硬件产品及系统解决方案提供商,具备自主研发创新、软硬件方案集成及全产业链资源整合的能力。 公司总部位于中国深圳,主要服…

爬虫逆向实战(十九)--某号站登录

一、数据接口分析 主页地址:某号站 1、抓包 通过抓包可以发现登录接口 2、判断是否有加密参数 请求参数是否加密? 通过查看“载荷”模块可以发现有一个jsondata_rsa的加密参数 请求头是否加密? 无响应是否加密? 无cookie是否…

华为OD机试之报文重排序【Java源码】

题目描述 对报文进行重传和重排序是常用的可靠性机制,重传缓中区内有一定数量的子报文,每个子报文在原始报文中的顺序已知,现在需要恢复出原始报文。 输入描述 输入第一行为N,表示子报文的个数,0 <N ≤ …

Vue3组合式API详解 - 大型应用的高端写法

目录 01-setup方法与script_setup及ref响应式02-事件方法_计算属性_reactive_toRefs03-生命周期_watch_watchEffect04-跨组件通信方案provide_inject05-复用组件功能之use函数06-利用defineProps与defineEmits进行组件通信 01-setup方法与script_setup及ref响应式 在Vue3.1版本…

python 基础篇 day 1 初识变量和数据类型

文章目录 变量变量作用——用于存储和表示数据。变量命名规则命名法大驼峰小驼峰下划体n j i a x 通常作为临时变量使用 建议 变量种类全局变量(Global Variables)局部变量(Local Variables)静态变量(Static Variables…

CentOS下MySQL的彻底卸载的几种方法

这里我为大家详细讲解下“CentOS下MySQL的彻底卸载的几种方法”的完整攻略。 一、关闭MySQL服务 在开始操作之前,需要先关闭MySQL服务。可以使用以下命令来关闭MySQL服务: systemctl stop mysqld 或者 service mysqld stop 二、使用yum命令卸载MySQL…

【C++】STL——set的介绍和使用、set的构造函数、set的迭代器、set的容量和增删查改函数

文章目录 1.set的介绍2.set的使用2.1set的构造函数2.2set的迭代器2.3set的容量函数2.4set的增删查改函数 1.set的介绍 set的介绍 (1)set是按照一定次序存储元素的容器。 (2)在set中,元素的value也标识它(value就是key…

最新ChatGPT网站程序源码+AI系统+详细图文搭建教程/支持GPT4.0/AI绘画/H5端/Prompt知识库

一、前言 SparkAi系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。 那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧&#xff01…

PDF怎么转Word?8 个最佳 PDF 转 Word 转换器

PDF 转 Word 转换工具只是一个特殊程序,可以将 PDF(本机和/或扫描)转换为 Microsoft Office Word 格式。将 PDF 导出到 Word 的主要原因之一是满足可编辑文档的需求,尽管还有其他原因。 由于缺少 PDF 阅读器,您可以选…

pytest结合Excel实现接口自动化

前言 我们先来回顾下之前篇章“pytest通过parametrize方法实现数据驱动实战”,主要是通过yaml文件来读取测试用例。而我们用Excel文件存放测试用例又有什么区别呢? 毫无疑问,Pytest自动化测试框架也能读取Excel文件实现数据驱动。 还记得之…

打开软件提示mfc100u.dll缺失是什么意思?要怎么处理?

当你打开某个软件或者运行游戏,系统提示mfc100u.dll丢失,此时这个软件或者游戏根本无法运行。其实,mfc100u.dll是动态库文件,它是VS2010编译的软件所产生的,如果电脑运行程序时提示缺少mfc100u.dll文件,程序…

ClickHouse(二十三):Java Spark读写ClickHouse API

进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容! 🏡个人主页:含各种IT体系技术,IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 &…

【李宏毅机器学习】注意力机制

输出 我们会遇到不同的任务,针对输出的不一样,我们对任务进行划分 给多少输出多少 给一堆向量,输出一个label,比如说情感分析 还有一种任务是由机器决定的要输出多少个label,seq2seq的任务就是这种,翻译也…

如何创建和销售在线健身业务

快速轻松地创建您自己的线上健身网站! 越来越多的人在家健身,在线健身业务也随之快速增长。 虽然这个生意很红火,但是真的像看起来那么容易上手吗? 有了MemberPress,确实如此! 在这篇文章中&#xff0c…

Java集合利器 Map Set

Map & Set 一、概念二、Map三、Set下期预告 一、概念 Map和Set是一种专门用来进行搜索的数据结构,其搜索的效率与其具体的实例化子类有关。它们分别定义了两种不同的数据结构和特点: Map(映射) :Map是一种键值对&…

Python爬取斗罗大陆全集

打开网址http://www.luoxu.cc/dmplay/C888H-1-265.html F12打开Fetch/XHR,看到m3u8,ts,一眼顶真,打开index.m3u8 由第一个包含第二个index.m3u8的地址,ctrlf在源代码中一查index,果然有,不过/…

借助Midjourney创作龙九子图

(本文阅读时间:5 分钟) 《西游记》中有这么一段描写: 龙王道:“舍妹有九个儿子。那八个都是好的。第一个小黄龙,见居淮渎;第二个小骊龙,见住济渎;第三个青背龙&#xff0…

element-ui中二次封装一个带select的form组件

带select的form组件 样式 代码 <template><el-form-item label"是否有" class"append" prop"tag"><el-form-itemprop"isShare"><el-select v-model"query.tag"><el-option v-for"(item, …