路由器热备份

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.mzph.cn/news/826464.shtml

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

相关文章

stl_set

文章目录 set1.关联式容器2.键值对3. set3.1 set介绍3.2 set的使用3.2.1 pair3.2.2 find3.2.3 lower_bound 3.3 multiset3.3.1 multiset的介绍3.3.2 multiset的使用3.3.3 find3.3.4 equal_range3.3.5 erase set 1.关联式容器 在初阶阶段,我们已经接触过STL中的部分…

嵌入式物联网实战开发笔记-乐鑫ESP32芯片功能对比以及功能选型【doc.yotill.com】

乐鑫ESP32入门到精通项目开发参考百例下载: 链接:https://pan.baidu.com/s/1ATvRnAZvxkev-PJfd3EAPg?pwd4e33 提取码:4e33 2.1 初识 ESP32 ESP32-S3 是一款低功耗的 MCU 系统级芯片 (SoC),支持 2.4 GHz Wi-Fi 和低功耗蓝牙 (…

强固型国产化工业电脑,在电子看板行业应用,机器视觉在汽车产线行业应用

电子看板行业应用 智能电子看板的核心是通过实现工厂的全面可视化、自动化管理,最终达到提高效率、降低成本及提高产品质量的目标。电子看板硬件主要有两部分组成:微型工业计算机,显示终端(平板电视、LCD) 方案需求 …

在Java中使用XxlCrawler时防止被反爬的几种方式

目录 前言 一、常见的反爬措施 1、User-Agent识别 2、Referer识别 3、频率限制 4、IP限制 二、XxlCrawer的应对之道 1、User-Agent应对 2、频率限制 3、IP限制 三、XxlCrawler执行解析 1、XxlCrawler对象 2、启动对象 3、信息爬取线程 总结 前言 众所周知&#x…

【c++】vector的使用

🔥个人主页:Quitecoder 🔥专栏:c笔记仓 朋友们大家好,我们本篇来到一个新的容器,vector的讲解和使用 目录 1.vector简单介绍2.vector的使用2.1构造函数2.2遍历vector2.3对容量操作2.4vector的增删查改 1.v…

Java测试编程题

题目1 1.创建5个线程对象 线程名设置为(Thread01,Thread02,Thread03,Thread04,Thread05)使用 代码实现5个线程有序的循环打印,效果如下: Thread01正在打印1 Thread02正在打印2 Threa…

Day60 单调栈 part03

Day60 单调栈 part03 最后一天啦!完结撒花~ 84.柱状图中最大的矩形 我的思路: 感觉和接雨水差不多,只需要多考虑一些情况 双指针 lheight 和 rheight 分别是用来存储每个柱子的左边界和右边界的数组。 解答: class Solutio…

齐次变换矩阵、欧拉角

齐次变换矩阵 因为老是忘记齐次变换矩阵的含义以及方向,每次推导公式都很费劲,写下这篇文章用于快速回顾齐次变换矩阵。 表示的是:坐标系A到坐标系B的齐次变换矩阵,也是坐标系B在坐标系A下的位姿。 对于这个矩阵,有三…

Matlab软件使用教学

1. Matlab简介 Matlab(Matrix Laboratory的缩写)是一种由MathWorks公司开发的数值计算和可视化编程环境。它广泛应用于工程、科学研究、数学和教育等领域,因其强大的计算能力和丰富的工具箱而受到青睐。 2. 安装与启动 安装:从M…

贪心算法(一)

什么是贪心算法??? 贪心算法是指通过每一次都选择最优解情况,然后通过局部最优从而达到全局最优,简单理解为目光短浅,走一步看一步。 需要注意的是,贪心算法是一种思想,而非直接的…

车载以太网解决方案

车载以太网对现代汽车行业具有非常高的价值,随着汽车技术的不断发展,车载电子组件和传感器的数量与复杂度都在持续增加。为了满足这些复杂系统的需求,车载以太网作为一种高速数据交换介质,发挥着至关重要的作用。 汇迪能提供的车载…

数据的质量控制软件----fastQC

一、前言 FastQC的基本介绍: FastQC是一款基于Java的软件,它可以快速地对测序数据进行质量评估,其官网为:Babraham Bioinformatics - FastQC A Quality Control tool for High Throughput Sequence Data 高通量测序数据的高级质控工具输入…

7. DAX 时间函数-- DATE 日期--TOTALMTD、TOTALQTD、TOTALYTD

函数名目的语法返回值TOTALMTD计算当前上下文中该月份至今的表达式的值 。TOTALMTD ( <表达式>, <日期列>, [<筛选器>] )标量 表示表达式的标量值&#xff0c;在“日期”中给定日期&#xff0c;计算当前月份至今的日期 。TOTALQTD计算当前上下文中该季度至今…

Github 2024-04-20 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-04-20统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量非开发语言项目2Python项目2Swift项目2HTML项目1CSS项目1Go项目1C项目1C++项目1Rust项目1编程面试大学:成为软件工程师的全面学习计划 创建周期…

【最新可用】Claude国内镜像,可上传图片,可用Claude3全系模型,包括Pro版本的Opus),亲测比GPT好用

Claude对话、上传图片的超详细教程来啦&#xff01; 近期&#xff0c;Claude 3 Opus的发布引发了网络上的广泛关注与热议&#xff0c;有观点认为其性能已经凌驾于GPT-4之上。虽然网络上已经出现了大量基于这两款先进AI技术的实际应用案例&#xff0c;但仍有许多人对在国内如何…

Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)

文章目录 一、JavaFx介绍1、JavaFx简介2、可用性3、主要特征4、UI控件 二、JavaFx概述1、JavaFx结构图2、JavaFx组件&#xff08;1&#xff09;舞台&#xff08;2&#xff09;场景① 场景图② 节点 &#xff08;3&#xff09;控件&#xff08;4&#xff09;布局&#xff08;5&a…

Unity射击游戏开发教程:(2)实例化和销毁游戏对象

现在我们有了“飞船”,我们可以在屏幕上移动它,现在我们需要发射一些激光!与宇宙飞船一样,我们将让事情变得简单并使用 Unity 自己的基本形状。舱体的效果很好,所以我们来创建一个。 我们保存了有关位置、旋转和缩放的信息。我们想要缩小这个对象,假设每个轴上缩小到 0.2…

【声呐仿真】学习记录1-配置dave、uuv_simulator

【声呐仿真】学习记录1-配置dave、uuv_simulator 1.介绍2.配置3.一些场景 1.介绍 家|DAVE项目 — Home | Project DAVE 2.配置 参考官方教程安装|DAVE项目 — Installation | Project DAVE mkdir -p ~/uuv_ws/src cd ~/uuv_ws/src git clone https://github.com/Field-Robot…

二维图像的双线性插值

1. 原理 见下图,假设原图为单通道的灰度图,想求图像中某点Q(x,y)的灰度值。 2. 代码实现 #include <iostream> #include <stdio.h> #include <stdint.h> #include <string> #include<opencv2/opencv.hpp> #include<opencv2/core.hpp>…

踏上R语言之旅:解锁数据世界的神秘密码(二)

R语言学习 文章目录 R语言学习1.数据的R语言表示2.多元数据的R语言调用3.多元数据的简单R语言分析 总结 1.数据的R语言表示 数据框&#xff08;data frame) R语言中用函数data.frame()生成数据框&#xff0c;其句法是&#xff1a; data.frame(data1,data2,…)&#xff0c;例如…