【HCIP】04.VRRP与BFD

news2024/12/23 18:10:25

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	本地标识符

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring统一功能处理

1. AOP存在的问题 获取参数复杂AOP的规则相对简单 2. 拦截器 2.1. 应用(以登录为例) 2.1.1. 自定义拦截器 新建interceptor文件夹 import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest; import javax.servlet.http…

Blend for Visual Studio:提升用户界面设计的专业工具

随着软件行业的迅速发展,用户界面设计变得越来越重要。一个好的用户界面能够吸引用户的注意力,提供良好的用户体验,并增加应用程序的成功率。在这个背景下,Blend for Visual Studio作为一款专业的用户界面设计工具,为开…

SpringCloud学习笔记(二)_Eureka注册中心

一、Eureka简介 Eureka是一项基于REST(代表性状态转移)的服务,主要在AWS云中用于定位服务,以实现负载均衡和中间层服务器的故障转移。我们称此服务为Eureka Server。Eureka还带有一个基于Java的客户端组件Eureka Client&#xff…

从电子表格到纸张:Excel转PDF的神奇变身之旅!

当你需要将Excel文件转换为PDF时,可以使用Python编程语言和一些流行的库来实现这个任务。在本篇博客中,我将介绍如何使用wxPython、pandas和PyMuPDF库创建一个简单易用的图形用户界面(GUI)工具来完成这项工作。 C:\pythoncode\new\excelexportpdf.py …

SCCB与IIC的异同及FPGA实现的注意事项

文章目录 前言一、信号线二、SCCB数据传输格式三、SCCB写(与IIC完全一致)四、SCCB读五、SCCB和IIC的区别 前言 IIC接口有比较广泛的应用,而SCCB(Serial Camera Control Bus,串行摄像头控制总线)是由OV&…

发现一款免费WEB在线使用的AI对话+绘画

这是一个优秀的golang开发作者 免费开放给大家使用的 简单上手 注册就能使用 多个AI角色多模型自由选择 下面是使用效果 链接地址在文末链接地址:目前免费体验

基于51单片机无线温度报警控制器 NRF24L01 多路温度报警系统设计

一、系统方案 1、本设计默认采用STC89C52单片机,如需更换单片机请联系客服。 2、接收板LCD1602液晶实时显示当前检测的2点温度值以及对应的上下限报警值。发射板由DS18B20采集温度值,通过无线模块NRF24L01传给接收板。 3、按键可以设置温度上下限值&…

硬编码基础三(变长指令的查询方式)

硬编码基础三(变长指令的查询方式) intel指令的格式可以看作如下形式: 前缀操作码modrmsib偏移立即数 其中操作码决定了是否存在moderm modrm中的rm位决定了是否存在sib 这边举个例子, 在intel白皮书中的A附录中的A.3章节有一…

HCIP---企业网三层架构实验

实验要求 实验拓扑及IP规划 实验步骤 1. Eth-Trunk通道(将多个接口逻辑的整合成一个接口,实现带宽叠加的作用) SW1和SW2起eth-trunk,并划入接口 [sw1]interface Eth-Trunk 0 [sw1-Eth-Trunk0]int g0/0/3 [sw1-GigabitEthernet0…

第5天----单词替换(C++replace()函数)

当一句话中出现错误的单词时&#xff0c;你是否想快速将它替换为你想要的&#xff0c;接下来的这篇文章&#xff0c;将带你了解什么是单词替换。 一、基本知识&#xff1a; 1. string::replace()函数 C <string>库中的replace()函数是用于替换字符串中的特定字符或子字…

微信小程序canvas type=2d生成海报保存到相册、文字换行溢出显示...、文字删除线、分享面板

做个简单的生成二维码海报分享&#xff0c;我做的时候也找简单的方法看能不能实现页面直接截图那种生成图片&#xff0c;原生小程序不支持&#xff0c;不多介绍下面有全部代码有注释、参数自行替换运行看看&#xff0c;有问题可以咨询我&#xff0c;我写的已经上线 效果如图&a…

CTFhub-sql-整数注入

判断存在 sqli 注入 1 1 and 11 1 and 12 因为 11 为真&#xff0c;12 为假&#xff0c;且 11 与 1 显示的数据一样&#xff0c;那么就存在 sqli 注入 查询该数据表的字段数量 一、 2 3 1,2成功带出数据&#xff0c;3没有数据&#xff0c;所以有两个字段 二、 1 order by …

数据结构---串(赋值,求子串,比较,定位)

目录 一.初始化 顺序表中串的存储 串的链式存储 二.赋值操作&#xff1a;将str赋值给S 链式表 顺序表 三.复制操作&#xff1a;将chars复制到str中 链式表 顺序表 四.判空操作 链式表 顺序表 五.清空操作 六.串联结 链式表 顺序表 七.求子串 链式表 顺序表…

Vue 2.x 项目升级到 Vue 3详细指南【修改清单】

文章目录 前言0.迁移过程1. 安装 Vue 32. 逐一处理迁移中的警告3. 迁移全局和内部 API4. 迁移 Vue Router 和 Vuex5. 处理其他的不兼容变更 1. Vue3特性1. Composition API2. 更好的性能3. 更好的 TypeScript 支持4. 多个根元素5. Suspense 组件6. Teleport 组件7. 全局 API 的…

python 打印人口分布金字塔图

背景 今天介绍一个不使用 matplot&#xff0c;通过DebugInfo模块打印人口金字塔图的方法。 引入模块 pip install DebugInfo打印人口金字塔图 下面的代码构建了两个人口数据&#xff08;仅做功能演示&#xff0c;不承诺任何参考价值&#xff09;&#xff0c;男性人口和女性…

基础论文学习(4)——CLIP

《Learning Transferable Visual Models From Natural Language Supervision》 CLIP的英文全称是Contrastive Language-Image Pre-training&#xff0c;即一种基于对比文本-图像对的预训练模型。CLIP是一种基于对比学习的多模态模型&#xff0c;与CV中的一些对比学习方法如moc…

软考高级架构师下篇-12层次式架构设计理论与实践

目录 1. 考情分析2. 层次式体系结构概述3. 表现层框架设计4. 中间层框架设计5. 数据访问层设计6. 数据架构规划与设计7. 物联网层次架构设计7. 前文回顾1. 考情分析 根据考试大纲,层次式架构设计理论与实践知识点会涉及单选题型(约占2~5分)和案例题(25分),本小时内容偏重于方…

lesson9: C++多线程

1.线程库 1.1 thread类的简单介绍 C11 中引入了对 线程的支持 了&#xff0c;使得 C 在 并行编程时 不需要依赖第三方库 而且在原子操作中还引入了 原子类 的概念。要使用标准库中的线程&#xff0c;必须包含 < thread > 头文件 函数名 功能 thread() 构造一个线程对象…

LCD液晶屏接口静电浪涌保护用TVS/ESD二极管,如何选型?

LCD 液晶屏是Liquid Crystal Display 的简称&#xff0c;指将玻璃和LCD驱动器集成到一起的LCD显示产品&#xff0c;为用户提供了一个标准的LCD显示驱动接口&#xff0c;用户可以按照接口&#xff08;有4位、8位、VGA等不同类型&#xff09;要求进行操作来控制LCD正确显示。众所…

Fsm onehot

module top_module(input in,input [9:0] state,output [9:0] next_state,output out1,output out2);assign out1(state[8]|state[9])?1:0;assign out2(state[9]|state[7])?1:0;assign next_state[0](state[0]&(~in)) |(state[1]&(~in)) |(state[2]&(~in)) |(sta…