路由器热备份

news2024/12/27 13:58:38

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表的同步

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

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

相关文章

动力学重构/微分方程参数拟合 - 基于模型

这一篇文章,主要是给非线性动力学,对微分方程模型参数拟合感兴趣的朋友写的。笼统的来说,这与混沌系统的预测有关;传统的机器学习的模式识别虽然也会谈论预测结果,但他们一般不会涉及连续的预测。这里我们考虑的是&…

URL地址解析至页面展示全过程(面试详细解答)

目录 1、解析URL 2、缓存判断 ​编辑3、DNS解析 ​编辑4、获取MAC地址 5、TCP三次握手 6、HTTP请求 7、服务器处理请求,返回HTTP响应 8、页面渲染 9、TCP四次挥手 10、浏览器解析HTML 11、浏览器布局渲染 1、解析URL 首先会对 URL 进行解析,…

C++_类型转换

文章目录 学习目标:1.static_cast2. reinterpret_cast3.const_cast4. dynamic_cast 学习过程1.static_cast2. reinterpret_cast3.const_cast在这里插入图片描述4. dynamic_cast 学习目标: 标准C为了加强类型转换的可视性,引入了四种命名的强…

黑马程序员Linux简单入门学习笔记

Linux介绍 内核提供系统最核心的功能,如: 调度CPU、调度内存、调度文件系统、调度网络通讯、调度等系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统,如:文件管理器、任务管理器、图片查看、音乐播放等 目录结构 …

在PostgreSQL中如何实现递归查询,例如使用WITH RECURSIVE构建层次结构数据?

文章目录 解决方案使用WITH RECURSIVE进行递归查询示例代码 总结 在PostgreSQL中,递归查询是一种非常强大的工具,它可以用来查询具有层次结构或树形结构的数据。例如,你可能会在员工-经理关系、目录结构或组织结构图中遇到这样的数据。为了处…

*Linux系统的进程和计划任务管理

目录 一、查看进程 1、程序和进程的关系 *2、ps查看静态进程信息 1)ps aux 2)ps -elf *3、top查看动态进程信息 4、pgrep查看进程信息 5、pstree查看进程树 二、控制进程 1、进程启动方式 2、进程的前后台调度 3、终止进程的运行 三、计划任…

VSCode搭建内核源码阅读开发环境

0. 参考链接 使用VSCode进行linux内核代码阅读和开发_vscode阅读linux内核-CSDN博客 1. 搭建Linux内核源码阅读环境 现状,Linux内核源码比较庞大文件非常多,其中又包含的众多的宏定义开关配置选项,这使得阅读内核源代码称为一件头疼的事。 …

Android AIDL接口

一.AlDI接口简介 AIDL(Android Interface Definition Language)是一种 IDL 语言,用于生成可以在 Android 设备上两个进程之间进行进程间通信(IPC)的代码。 通过 AIDL,可以在一个进程中获取另一个进程的数据…

Go源码--Strings库

1. 简介 strings库 存储了 一些针对 字符串的具体操作 其 代码短小精悍 可以学习到很多编程的思路 尤其是 涉及到字符串使用性能的方面,其源码库有好多的优秀案例可以学习。向强者对齐不一定成为强者,但向弱者对齐一定变为弱者。 介绍思路是先介绍 stri…

.net6项目模板

1.集成log4net 安装依赖包: 安装扩展依赖即可,已经包含了log4net依赖: Microsoft.Extensions.Logging.Log4Net.AspNetCore 添加日志配置文件: 日志配置文件属性设置为始终复制: 注入服务: #region 注入…

React【Day4】

路由快速上手 1. 什么是前端路由 一个路径 path 对应一个组件 component 当我们在浏览器中访问一个 path 的时候,path 对应的组件会在页面中进行渲染 2. 创建路由开发环境 # 使用CRA创建项目 npm create-react-app react-router-pro# 安装最新的ReactRouter包 …

软件设计师软考中项学习(二)之计算机系统基础知识

读者大大们好呀!!!☀️☀️☀️ 🔥 欢迎来到我的博客 👀期待大大的关注哦❗️❗️❗️ 🚀欢迎收看我的主页文章➡️寻至善的主页 文章目录 学习目标学习内容学习笔记学习总结 学习目标 计算机系统硬件基本组成 中央处理…

「51媒体」新闻媒体邀约如何进行媒体宣传(方法)

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 新闻媒体邀约进行媒体宣传是一个策略性的过程,旨在吸引媒体的注意力并促使其对特定事件、产品发布或企业活动进行报道。以下是一些关键步骤和策略: 制定媒体传播方…

Advanced RAG 04:重排序(Re-ranking)技术探讨

编者按:重排序(Re-ranking)技术在检索增强生成(Retrieval Augmented Generation,RAG)系统中扮演着关键角色。通过对检索到的上下文进行筛选和排序,可以提高 RAG 系统的有效性和准确性&#xff0…

苍穹外卖学习笔记(4.套餐管理,店铺营业状态设置)

目录 一、Redis1、redis在java中的运用 二、店铺营业状态设置1、需求分析设计2、代码设计3、测试 三、套餐管理1、需求设计分析2、代码设计3、测试 一、Redis 具体的redis基本操作就不多再介绍,本节主要学习redis在java中的运用。 1、redis在java中的运用 具体…

Java 多线程加法求和

Java 多线程加法求和 代码 先上代码再上解析: import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger;public class Sum implements …

基于人工智能的机动车号牌检测与推理系统v1.0

基于人工智能的机动车号牌检测与推理系统v1.0代码重构与实现。 目前整合3中现有算法,并完成阶段性改造,包括【传统方法检测车牌,SVM推理字符】、【YOLO方法检测车牌,SVM推理字符】、【YOLO方法检测车牌,CNN推理字符】&…

ADSP-21479的开发详解十(用CCES做Flash的编程)

硬件准备 ADSP-21479EVB开发板: 产品链接:https://item.taobao.com/item.htm?id555500952801&spma1z10.5-c.w4002-5192690539.11.151441a3Z16RLU AD-HP530ICE仿真器: 产品链接:https://item.taobao.com/item.htm?id38007…

墨子web3实时周报

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

Hive基础3

一、表的分区 大数据开发数据量较大,在进行数据查询计算时,需要对数据进行拆分,提升的查询速度 1-1 单个分区 单个分区是创建单个目录 -- 创建表指定分区,对原始数据进行分区保存 create table new_tb_user(id int,name string,ag…