路由器热备份

HSRP

HSRP(Hot Standby Routing Protocol)热备份路由选择协议

HSRP是思科私有的协议,HSRP起到一个双网关热备份的一个目的,不考虑线路问题针对设备而言,一个设备挂了还有另外一台设备,所以双网关也叫双机设备

HSRP是一个路由功能,不是一个交换功能,路由器和三层交换机上面都可以做

主设备叫做:active;从设备叫做:standby。理论上能实现一个秒切。主设备和从设备通过组播地址(224.0.0.2)来进行协商(HSRPv1的版本)

HSRP设备角色以及选举规则

优先级相同的情况下,默认优先级为100
官方角度:谁的物理接口ip地址比较大谁是主
实际角度:在真实的设备中,谁先起HSRP协议谁就是主设备

配置了HSRP的设备会相互交换hello包,hello包默认是3s发送一次,10s没收到就hold down

Active:在一个组内只有一个Active用于转发数据流量。
Standby:在一个组内只有一个Standby.用于监听Active,当Active失效后,成为Active
Other:在一个组内,不是Active也不是Standby会成为Other,用于监听HSRP流量。当Standby成为Active后。会在Other中再选举出Standby。

选举规则:

  1. 选举时针对某一个组的参数来选举的,并不是以一台路由器,或一个接口来进行选举,也就是说,一台路由的同一个接口,可以成为一个组的Active,也可以成为另外一个组的Standby。
  2. 通过优先级+IP地址。越大越优。
  3. 优先级:取值范围0-255。默认为100。可以通过命令进行修改:
  4. 当优先级相同的时候。使用IP地址进行选举
  5. 无视优先级,在虚IP是通过学习而来的那一次协商中,这台设备会成为Standby。
  6. 在成为一个Active之前。这台设备会先成为Standby

HSRP的5个状态

状态定义
Initial最开始的状态,初始状态表示路由器还未运行HSRP,路由器配置发生变化或接口刚进入up状态,HSRP路由器就会进入初始状态
Listen该路由器知道虚拟IP地址,但它既不是活跃路由器,也不是备用路由器,它会监听那些路由器发出的hello消息
Speak该路由器发送周期性hello消息,并且积极参与到活跃路由器或备用路由器中的选举中,一台路由器只有知道虚拟IP地址,才可以进入宣告状态
Standby该路由器是成为下一个活跃路由器的候选者,会发出周期性hello消息,在排除了暂时的条件之后,HSRP组中最多有一个路由器处于备用状态
Active该路由器负责转发所有发送到组虚拟MAC地址的数据包,它会周期性的发送hello消息,在排除了暂时的条件之后,HSRP组中有且只有一台路由器处于活跃状态

Initial:接口Shutdown后会进入这个状态,开启接口后,就会发送Hello报文。
Learn:学习状态,这个不是一个必经的状态,只有没有配置虚IP的设备才会进入这个状态,在这个状态下,没配置虚IP的设备会学习已配置虚IP设备上的虚IP。
Listen:进入这状态的设备会监听接收其他路由器发送的Hello报文。选举不了Active和Standby的设备,会在这个状态下,监听HSRP的Hello包。
Speak:这个状态下的设备,会参与路由器的Active和Standby的选举。
Standby:设备具有第二优的优先级会成为这个状态,在一个组内,最多只有一台设备会成为Standby
Active:设备具有最高的优先级会成为这个状态,用来响应终端的网关ARP请求,在个一组内最多只有一台设备会成为Active。

HSRP配置命令集

HSRP基础命令配置

配置案例:GW1和GW2做双机热备
image.png

在配置完基础的配置之后,我们开始在GW1和GW2配置HSRP

en
conf ter
int e0/0
standby 1 ip 192.168.1.1 //"1"是备份组号,范围0-255,备份设备之间的组号必须一样,后面的ip地址是虚拟出来的网关地址
standby preempt //开启抢占功能(通过其他参数来调节谁是主谁是从,它是否会进行抢占)
end
en
conf ter
int e0/0
standby 1 ip 192.168.1.1
standby preempt
end

进行HSRP的组查询(查看设备主从关系)

//GW1
show standby

image.png

standby表示从设备(GW1),active表示主设备(GW2)

现在两台设备的HSRP已经协商完成,我们让PC一直ping192.168.1.1,然后断开GW2的e0/0接口查看现象

//GW2
show standby

image.png

init表示装载中的状态,interface down表示告诉你接口down掉了,当断开GW2的e0/0,GW1立马就变成主设备

当我们又重新把GW2的e0/0接口开启,观察现象
image.png
此时会发现GW2并不会重新恢复到主设备,而变成了从设备。因为GW1设备已经接管成为主设备了

总结;在当前环境下,如果主设备出现故障导致切换,设备恢复后,是默认不会切换回来的

我们此时需要手工修改设备接口的优先级来实现一个主从设备的切换,前提是设备都开启抢占模式

en
conf ter
int e0/0
standby 1 priority 120 //修改优先级为120
end
//SW2
show standby

image.png

当配置完成之后GW2会立马切换成主设备,他们是通过hello包来维护了

HSRP计时器配置

修改hello包的时间,然后让PCping192.168.1.1的同时我们断掉GW2的e0/0,查看收敛时间

配置Hello和hold计时器(可设置为毫秒级别),hold计时器应该至少三倍于hello计时器

ne
conf ter
standby 1 timers 1 2  //表示1s发送一次hello包,2s没收到hold down
end

此时我们发现收敛的时间明显缩短了,所以通过手动修改我们hello的时间周期实现了一个更快速的切换

如果在配置的过程中遇到了一些双工匹配,速率的问题,那么可以修改接口的双工模式来进行解决

en
conf ter
int e0/0
duplex full
full-duplex

HSRP的端口跟踪

基于上面的实验,我们会发现下联接口虽然有个备份,但是如果GW1和GW2的上联接口断掉了是没有办法检测到的。可以采用HSRP特有的端口跟踪

配置案例:PC能ping通123.1.1.1,GW1和GW2做HSRP还有NAT,默认GW2为主设备(120),GW1为从设备(100)
image.png
配置好基础配置之后我们开始配置端口跟踪

en
conf ter
int e0/0
standby 1 track e0/1 40  //"e0/1“是你需要跟踪接口,“40”是惩罚值(Decrement value),一旦跟踪的接口down掉了,它就会根据这个值减少设备接口的优先级(GW2的e0/0口优先级配置的是120,当GW2的e0/0接口down掉了,优先级120-40=80来实现主从的切换)
end

HSRP认证配置

为备分组配置验证字符串,防止网络环境中接入其他设备

HSRP认证方式有明文,MD5认证

en
conf ter
int e0/0
standby 1 authentication MD5/text

HSRP+[[01 静态路由和链路故障检测#SLA故障检测| SLA检测链路]]

用于检测对端设备的接口是否正常,基于上面的配置,我们检测电信的e0/0接口,如果对端接口down掉了,优先级减少40

en
conf ter
ip sla 1
icmp-echo 10.1.1.1
frequency 5
exit
ip sla schedule 1 start-time now life forever
trck 123 ip sla 1
int e0/1
standby 1 track 123 decrement 40

HSRP抢占延迟

在HSRP配置中,可以设置抢占延迟(preemption delay),即在活动路由器失效后,备份路由器接管虚拟IP地址之前等待一段时间。这个等待时间可以避免因短暂的网络抖动或路由器重启而频繁地切换活动路由器,从而提高网络的稳定性。

HSRP抢占延迟的配置方法如下:

  1. 进入HSRP组配置模式:
Router(config)# interface interface-name
Router(config-if)# standby group-number ip virtual-ip-address
Router(config-if)# standby group-number priority priority-value
  1. 设置抢占延迟:
Router(config-if)# standby group-number preempt delay minimum seconds

其中,minimum seconds表示最小的抢占延迟时间,可以设置为0-3600秒之间的任意值。

例如,设置HSRP组1的抢占延迟为60秒:

Router(config)# interface GigabitEthernet0/0
Router(config-if)# standby 1 ip 192.168.1.1
Router(config-if)# standby 1 priority 110
Router(config-if)# standby 1 preempt delay minimum 60

这样,在活动路由器失效后,备份路由器需要等待60秒才能接管虚拟IP地址。如果在这个等待时间内,活动路由器恢复正常,则备份路由器不会接管虚拟IP地址,而是继续作为备份路由器等待下一次失效。

HSRP+STP结合

image.png

注意:如果在这种环境之下SW1配置的是active就代表着SW1是主设备,SW2配置的是standby,SW2为备设备。此时由于生成树的计算倒是SW3的左边的接口阻塞掉了,SW3不能够往SW1发送消息,这就导致出现了次优路径的故障

所以在交换环境中的HSRP的主备关系和STP的根桥关系要一致,正确的配置图解如下
image.png

HSRP的不同版本区别

更改版本命令

en
conf ter
int e0/0
standby 1 version 1/2
end

版本区别

版本描述
HSRPv1最初版本,仅支持IPv4,使用组播地址224.0.0.2,优先级范围为0-255,不支持IPv6
HSRPv2支持IPv4和IPv6,使用组播地址224.0.0.102,优先级范围为0-4095,支持更多的状态机转换和更灵活的配置选项
在工作过程中实际上用不了这么多组,一般是通过设定多组的形式来实现一个基于vlan的双网关负载均衡,不同HSRP组的主备设备都不相同,不同组走不同的设备

注意:同一个HSRP组中的所有设备应该配置相同的版本

VRRP

VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议

VRRP是公有的协议,不同厂商的设备都可以配置,和HSRP不同,可以使用一台路由器的真实IP地址。在VRRP中,有一台主用的(master)路由器,以及一台或者多台的备用(backup)路由器。

HSRP中有的配置基本上VRRP都能够实现,并且配置方法基本上一致,工作中常用的也是VRRP

VRRP设备角色,以及选举规则

注意:VRRP是严格遵守物理接口IP地址大的选举为Master主的概念

VRRP设备角色:

  1. 主路由器(Master Router):主路由器是VRRP虚拟路由器中的主要路由器,负责转发数据包。

  2. 备份路由器(Backup Router):备份路由器是VRRP虚拟路由器中的备用路由器,当主路由器出现故障时,备份路由器会接管其工作。

选举规则:
在VRRP网络中,主路由器和备份路由器的选举是通过VRRP协议实现的。选举规则如下:

  1. 路由器优先级:每个路由器都有一个优先级,优先级越高的路由器越有可能被选为主路由器。默认优先级为100,可以通过配置修改。

  2. 路由器IP地址:如果路由器的优先级相同,则IP地址最高的路由器将被选为主路由器。

  3. VRRP协议版本:如果路由器的优先级和IP地址都相同,则VRRP协议版本较高的路由器将被选为主路由器。

  4. 路由器MAC地址:如果以上规则都无法决定主路由器,则路由器MAC地址最高的路由器将被选为主路由器。

VRRP的三个状态

状态描述
初始化(Initialize)当VRRP路由器刚启动或者重新配置后,它会进入初始化状态。此时,路由器还没有选举出主备路由器,也没有开始发送VRRP通告。在这个状态下,路由器会等待一段时间,以便其他路由器也进入初始化状态。
备份(Backup)当VRRP路由器没有被选为主路由器时,它会进入备份状态。备份路由器接收主路由器发送的VRRP通告,但不会将自己的路由表更新为主路由器的路由表。如果主路由器失效,备份路由器会开始发送VRRP通告,以便其他路由器选举它为主路由器。
主(Master)当VRRP路由器被选为主路由器时,它会进入主状态。主路由器发送VRRP通告,包含自己的虚拟IP地址和优先级等信息。备份路由器会将自己的路由表更新为主路由器的路由表。如果主路由器失效,备份路由器会开始发送VRRP通告,以便其他路由器选举它为主路由器。
Initialize
系统启动后进入此状态,当收到接口startup的消息,将转入Backup (优先级不为255时)或Master状态(优先级为255时)。在此状态时,路由器不会对VRRP报文做任何处理。

Master
当路由器处于Master状态时 它将会做下列工作
定期发送VRRP组播报文
发送免费(gratuitous)ARP报文,以使网络内各主机知道虚拟IP地址所对应的虚拟MAC地址
响应对虚拟IP地址的ARP请求,并且响应的是虚拟MAC地址,而不是接口真实MAC地址
转发目的MAC地址为虚拟MAC地址的IP报文
如果它是这个虚拟IP地址的拥有者,则接收目的IP地址为这个虚拟IP地址的IP报文,否则,丢弃这个IP报文。需要注意的是,由于有这一点要求,所以除非主路由器是IP地址拥有者,否则主机ping虚拟IP地址不能ping通。
在Master状态中只有接收到比自己的优先级大的VRRP报文时,才会转为Backup。只有当接收到接口的Shutdown事件时才会转为Initialize

Backup
当路由器处于Backup状态时 它将会做下列工作:
接收Master发送的VRRP组播报文 从中了解Master的状态
对虚拟IP地址的ARP请求 不做响应
丢弃目的MAC地址为虚拟MAC地址的IP报文
丢弃目的IP地址为虚拟IP地址的IP报文
只有当Backup接收到MASTER_DOWN这个定时器到时的事件时,才会转为Master 而当接收到比自己的优先级小的VRRP报文时,它只是做丢弃这个报文的处理,从而就不对定时器做重置处理。 这样定时器就会在若干次这样的处理之后到时,于是就转为Master。只有当接收到接口的Shutdown事件时才会转为Initialize

注意:如果配置完成之后两边的设备都是master,说明VRRP没有协商成功

VRRP配置命令集

VRRP基础命令配置

配置案例:PC能ping通123.1.1.1,GW1和GW2做HSRP还有NAT,默认GW1为主设备(120),GW2为备设备(100)
image.png

en
conf ter
int e0/0
vrrp 1 ip 192.168.1.1
vrrp 1 preempt //在VRRP协议当中,抢占功能默认开启
vrrp 1 priority 120 //配置VRRP组1的优先级为120,默认100
en
conf ter
int e0/0
vrrp 1 ip 192.168.1.1
vrrp 1 preempt
//GW1
show vrrp

image.png

VRRP其他基础配置和HSRP配置基本一致

VRRP认证配置

VRRP认证方式也有有明文,MD5认证

en
conf ter
int e0/0
vrrp 1 authentication MD5/text

VRRP+Track检测链路

配置案例

基于上面的配置,我们开始配置track检测链路

en
conf ter
track 321 interface e0/1 line-protocol //创建名为123的track进程来检测GW1的上联接口e0/1的protocol状态
exit
int e0/0
vrrp 1 track 321 decrement 40 //将track挂接在VRRP
end

测试
我们此时使用PC一直ping123.1.1.1,然后断开电信的e0/0接口,会发现无缝切换,一个包都不会掉

//GW1
show vrrp

image.png

接口status状态和protocol状态的不同点

如果两台设备没有接线,但是设备接口都no shutdown了,那么接口的status状态是up,protocol状态是down。如果两台设备接了线,接口都一边shutdown,另外一边no shutdown,那么两边接口的protocol状态都是down

接口status状态表示的是接口的物理状态,即接口是否正常工作、是否存在故障等。例如,一个网卡的status状态可能是“up”(正常工作)
或“down”(存在故障)。

接口protocol状态表示的是接口所使用的协议的状态,即协议是否正常运行、是否连接成功等。例如,一个网络接口的protocol状态可能是“已连接”、“未连接”、“正在连接”、“连接失败”等。

因此,接口status状态和protocol状态虽然都是表示接口的状态,但它们关注的方面略有不同,需要根据具体情况进行区分。

其它链路检测方案

除了这种链路检测的方式还有VRRP+SLA检测链路,配置和HSRP基本一致

HSPR和VRRP的对比

HSRPVRRP
思科私有,1994IETF 1998-2005,RFC 3768
最多255个组最多255个组
1个Active。1个Standby,多个候选1个Master,多个Backup
虚拟IP不等于Active/Standby设备真实IP地址虚拟IP地址可以与组成员真实IP地址相同
使用224.0.0.2使用224.0.0.18
可以跟踪接口或对象只能跟踪对象
缺省计时器:Hello为3秒,Hold为10秒缺省计时器:Hello为1秒,Hold为3秒
支持验证早期版本支持,现在不再支持
HSRP和VRRP都能够实现一个线路的秒切换
但是数据量如果很多,那么就不能够实现一个秒切。因为如果当SW下面的PC很多的时候,最开始的时候主要都走GW1,不走GW2,那么就会导致GW1的ARP表和NAT表很庞大,当GW1挂了线路切换到GW2,虽然GW2成为了active角色,然是GW2的ARP表和NAT表都得重建,中间需要消耗一定的时间。

为了解决这种情况,HSRP中有一个高级的功能(高可靠的HSRP功能=Redundancy HSRP + SNAT技术),实现两个设备之间的ARP表和NAT表的同步

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

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

相关文章

paddlepaddle-gpu安装

背景 之前安装paddlepaddle-gpu遇到各种问题,安装不成功,之前使用了wsldocker的方式,可查看我之前博客:记录paddlepaddle-gpu安装,这要会导致我整个开发流程比较割裂 cuda版本 强烈推荐cuda11.8,paddlep…

硬件工程中的RMA是什么意思?

RMA是Return Material Authorization的英文缩写,即退料审查。是处理用户不良产品退货、换货的主要流程。 当用户所使用某产品或部件不能正常工作时,将发起一个RMA流程,首先用户必须填写RMA申请单,然后RMA的处理人员将对该RMA申请…

【文章复现】基于主从博弈的社区综合能源系统分布式协同 优化运行策略

随着能源市场由传统的垂直一体式结构向交互竞争型 结构转变,社区综合能源系统的分布式特征愈发明显,传统 的集中优化方法难以揭示多主体间的交互行为。该文提出一 种基于主从博弈的社区综合能源系统分布式协同优化运行 策略,将综合能源销售商…

墨子web3实时周报

蚂蚁集团Web3研发进展与布局 国内Web3赛道的领军企业——蚂蚁集团,凭借其在前沿科技领域的深耕不辍,已在Web3技术研发疆域缔造了卓越战绩。特别是在引领行业革新的关键时刻,集团于今年四月末震撼推出了颠覆性的Web3全套解决方案,…

苍穹外卖day1--开发环境搭建

整体结构 前端:管理端(Web) 用户端(小程序) 后端:后端服务(Java) 前端工程基于ngnix运行 启动nginx:双击nginx.exe即可启动nginx服务,访问端口号为80 后端…

ZStack教育云计算解决方案入选高质量数字化转型技术解决方案集

近日,中国信通院“铸基计划”《高质量数字化转型技术解决方案(2023年度)》(以下简称“方案集”)发布,云轴科技ZStack智慧教育云计算解决方案入选《高质量数字化转型技术解决方案集》。 为促进数字化转型相…

GPT-3.5和GPT-Plus的区别

GPT-3.5和GPT-Plus都是OpenAI开发的大型语言模型,但它们之间有一些区别: GPT-3.5就是大家熟知的ChatGPT GPT-Plus 是Open AI 的更强的AI模型GPT-4版本。两者区别是: 模型规模:GPT-Plus是GPT-3的一个更大版本,参数量更多。而GPT-3.5是GPT-3的一个优化版本,在参数量…

SpringCloud 基础配置

1.SpringCloud配置 目前是2024了,笔者也是开始学习SpringCloud 下面是给大家总结的微服务需要的各种依赖的版本 首先我们说一个重点强调 约定 > 配置 > 编码 千万不要一把梭,上来就是干代码,千万记得配置一定得对 2.微服务工程Base构建 首先我们创建父工程 创建出来直接把…

Python 面向对象——1.基本概念

本章学习链接如下: 基本概念与语法 类(Class):定义了一组对象共有的属性和方法的蓝图。类是创建对象的模板。 对象(Object):类的实例。对象包含实际的数据和操作数据的方法。 属性&#xff0…

论文笔记:UrbanGPT: Spatio-Temporal Large Language Models

1 intro 时空预测的目标是预测并洞察城市环境随时间和空间不断变化的动态。其目的是预见城市生活多个方面的未来模式、趋势和事件,包括交通、人口流动和犯罪率。虽然已有许多努力致力于开发神经网络技术,以准确预测时空数据,但重要的是要注意…

展开说说:Android Fragment完全解析-卷一

1、是什么 Fragment 中文意思是碎片,Android 3.0推出的一个系统组件,主打一个在应用界面中可模块化又可重复使用。 Fragment 它很独立,它可以定义和管理自己的布局,具有自己的生命周期,并且可以处理自己的输入事件。…

iOS重签名-超详细,附排错

文章目录 重签名步骤步骤 1: 准备必要的材料步骤 2: 解压 .ipa 文件步骤3:将 Provisioning Profile 复制到 Payload 目录步骤 4: 移除原来的签名步骤 5: 使用新的证书和 Provisioning Profile 进行重签名步骤 6: 重新打包 .ipa 文件步骤 7: 安装和测试得到provisioning file和…

nginx反向代理及负载均衡

node1192.168.136.55Nginx主负载均衡器node3192.168.136.57Web01服务器node4192.168.136.58Web02服务器node5192.168.135.131客户端(测试) nginx反向代理 1. 安装nginx 三台机器都安装nginx yum install nginx -y 2. 配置用于测试的Web服务(以下操作…

C++ 协程 学习笔记

协程的优势就是比线程切换的时间少很多,协程的切换时间是纳秒,而进行切换的时间是微秒 单线程用协程可以轻松的处理并发任务 co_yield和co_await可以将协程暂停下来 resume又把协程激活 如果c函数里有co_await、co_return、co_yield就会自动判定为协程…

牛客-小乐乐与欧几里得

目录 题目 描述 输入描述: 输出描述: 示例1 示例2 解题 题目 描述 小乐乐最近在课上学习了如何求两个正整数的最大公约数与最小公倍数,但是他竟然不会求两个正整数的最大公约数与最小公倍数之和,请你帮助他解决这个问题。 …

计算机网络 -- 多人聊天室

一 程序介绍和核心功能 这是基于 UDP 协议实现的一个网络程序,主要功能是 构建一个多人聊天室,当某个用户发送消息时,其他用户可以立即收到,形成一个群聊。 这个程序由一台服务器和n个客户端组成,服务器扮演了一个接受…

【汇编语言】汇编语言程序

【汇编语言】汇编语言程序 文章目录 【汇编语言】汇编语言程序前言一、用汇编语言写的源程序汇编语言编写程序的工作过程程序中的三种伪指令源程序编译链接后变为机器码汇编程序的结构如何写出一个程序来程序中可能的错误 二、由源程序到程序运行由源程序到执行可执行文件的过程…

区间图着色问题:贪心算法设计及实现

区间图着色问题:贪心算法设计及实现 1. 问题定义2. 贪心算法设计2.1 活动排序2.2 分配教室2.3 算法终止 3. 伪代码4. C语言实现5. 算法分析6. 结论7. 参考文献 在本文中,我们将探讨如何使用贪心算法解决一个特定的资源分配问题,即区间图着色问…

【深度学习-番外1】Win10系统搭建VSCode+Anaconda+Pytorch+CUDA深度学习环境和框架全过程

专栏的老读者们都知道,以前的文章以使用MATLAB的为多。 不过后续陆续开始展开深度学习算法的应用,就会逐渐引入Python语言了(当然MATLAB的代码也会同步更新),这是由于在深度学习领域,Python应用更为广泛。…

Matlab|【复现】主动配电网故障定位方法研究

目录 1 主要内容 算例模型 期望故障电流状态函数 评价函数(膨胀率函数) 算例验证方法 详实的文档说明 2 部分程序 3 程序结果 4 下载链接 1 主要内容 该程序方法复现了《基于改进多元宇宙算法的主动配电网故障定位方法研究》_郑聪,建…