HSRP(热备份路由选择协议)的概念,原理与配置实验

news2024/12/22 19:01:59

作者:Insist--

个人主页:insist--个人主页

梦想从未散场,传奇永不落幕,持续更新优质网络知识、Python知识、Linux知识以及各种小技巧,愿你我共同在CSDN进步

目录

一、了解HSRP协议

1. 什么是HSRP协议

2、HSRP协议的作用

二、HSRP组成员

1. 活跃路由器

2. 备份路由器

3. 虚拟路由器

4. 其他

三、HSRP的工作原理

四、基础配置实验

1. 实验需求描述

2. 配置步骤如下:


前言

在之前的文章中,我们讲解过STP协议,配置STP实现双核心负载均衡,虽然可以提高网络的可靠性,但核心交换机宕机后,主机无法自动切换网关,这也就无法保证网络的正常使用了,本篇文章的主角(HSRP)就可以解决这个问题。

一、了解HSRP协议

1. 什么是HSRP协议

HSRP 全称为热备份路由选择协议(Hot Standby Routing Protocol,)是Cisco(思科)私有的一种技术,HSRP确保了当网络边缘设备或接入链路出现故障时,用户通信能迅速并透明地恢复,以此为IP网络提供冗余性。

通过应用HSRP,可使网络的正常运行时间接近100%,从而满足用户对网络可靠性的要求。

2、HSRP协议的作用

HSPR协议的作用就是提高网络的可用性,当网络边缘设备或接入链路出现故障时,HSRP协议可以自动切换到备用路由器,从而确保网络的正常运行。

二、HSRP组成员

HSRP协议中的组成员包括活跃路由器、备份路由器、虚拟路由器和其他路由器,下面来详细的说一下组内的成员:

19f0e120f2514fbd91c6006b3a50066e.jpg

1. 活跃路由器

活跃路由器是负责处理和转发数据包的路由器。组内的另一个路由器被选为备用路由器,活跃路由器通过发送Hello消息来承担和保持它活跃路由器的角色,无论何时,一个组内只有一个活跃路由器。如果活动路由器发生了故障,将选择一个备份路由器来替代活动路由器。

Hello消息:它是一种多点广播消息,用于通知其他路由器发送者的HSRP优先级和状态信息。HSRP路由器默认每3秒发送一个Hello消息。

2. 备份路由器

备份路由器的功能是监视HSRP组内的运行状态当活跃路由器出现故障时,备份路由器会迅速接管活跃路由器的工作。备份路由器也会传输 Hallo 消息,告知组内所有路由器它的角色和状态变化。

3. 虚拟路由器

虚拟路由器的功能是向最终用户提供一台可以连续工作的路由器。虚拟路由器配有它自己的IP地址和MAC地址(但不实际转发数据包)。

4. 其他

HSRP备份组可以包含其他路由器。这些路由器监视Hello消息,但不做应答。这些会路由器转发任何经由它们的数据包,但并不转发经由虚拟路由器的数据包。

三、HSRP的工作原理

简单来说,HSRP的工作原理就是将多台路由器组成一个虚拟路由器。

HSRP组内的每个路由器都必须有指定的优先级( Priority )。默认的优先级是100,在配置过程中优先级是可以手动指定的(范围0~255)。HSRP组中最高优先级的路由器将成为活跃路由器

e91d05eafd784795bd6b7fcc86518d1a.jpg

如上图,路由器A的优先级为200,路由器B的优先级为150。A的优先级大于B的优先级,所以路由器A承担活跃路由器的角色,并且转发所有到达自动生成的HSRP虚拟MAC地址的数据帧

选择活跃路由器和备份路由器时,如果优先级相同,IP地址大的路由器获胜,如下例子:

例如:如果两台路由器的HSRP优先级都是100,一台路由器位于此LAN网段的端口的IP地址是 192.168.100 ,另一台路由器位于此LAN网段的端口的IP地址为 192.168.101 ,则IP地址为 192.168.101(大的) 的路由器会成为此网段的活跃路由器。

如果在HSRP组内,除了活跃路由器和备份路由器之外还有其他路由器,它们就会监听活跃路由器和备份路由器的状态(就是它们发出的HSRP Hello包),这是为了实现更强的容错能力。

四、基础配置实验

1. 实验需求描述

某公司为了增加网络的稳定性,决定在公司内网部署HSRP。如下图是这个公司内部网络拓扑及具体网络规划(交换机之间的链路均为中继链路)。网络中的其他基本配置( VLAN、链路、IP地址等)已经配置完成。现需要为PC所在的VLAN2配置HSRP实现备份冗余。

网络拓扑及具体网络规划如下图:

07931e7e83f84a268aeb8413e114dd18.jpg

2. 配置步骤如下:

步骤一:配置为HSRP成员

将图中的SW1、SW2的VLAN 2接口配置为HSRP成员,HSRP组号为10,配置命令如下。

SW1 ( config ) # interface vlan 2

SW1 ( config-if ) # ip address 192.168.1.1 255.255.255.0

SW1 ( config-if ) # standby 10 ip 192.168.1.254

SW2的配置和SW1的相同

如果需要从HSRP组中取消一个端口,可以在上述命令前加关键字no。

例如,将SW1的VLAN2接口从HSRP组10中移除,命令如下:

SW1 ( config-if ) # no standby 10 ip 192.168.1.254

步骤二:配置优先级

我们可以指定端口在组内的优先级。优先级数值高的将成为活跃路由器,图中SW1的VLAN2接口优先级为200,SW2的VLAN2接口优先级为150,配置优先级的命令如下:

SW1 ( config-if ) # standby 10 priority 200

SW2 ( config-if ) # standby 10 priority 150

步骤三:配置占先权

当活跃路由器失效或从网络中移出时,备份路由器将自动承担起活跃路由器的角色。即使有更高优先级的原活跃路由器又重新开始在网络上工作,这台新的活跃路由器仍然会继续作为活跃路由器。

要想使原先的活跃路由器能够从优先级较低的新活跃路由器那里重新取回转发权,为SW1、2配置占先权命令如下:

SW1 ( config-if ) # standby 10 preempt  

SW2配置相同

步骤四:配置Hello时间

默认计时器值在大多数网络中都很稳定,一般情况下不需要修改。如果Hello包需要经过有时会拥塞的网络,就需要配置Hello时间,将图中SW1、SW2的Hello间隔时间和保持时间分别配置为2s和8s,命令如下:

SW1 ( config-if ) # standby 10 timers 2 8 

SW2配置相同

步骤五:配置端口跟踪

一些情况下,通往外部网络的端口状态直接影响着哪台路由器需要变成活跃路由器,很可能会导致网络故障,所以配置HSRP的端口跟踪功能使活跃路由器的优先级能够基于路由器端口的可用性而进行自动调整。

当活跃路由器上的一个被跟踪端口变为不可用时,活跃路由器的HSRP优先级将被降低。

在图中的SW1上配置端口跟踪,跟踪端口为F0 / 1,优先级降低100,配置命令如下:

SW1 ( config-1f ) # standby 10 track fastEthernet 0 / 1 100

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

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

相关文章

2023年主流固定资管理系统的特征

随着科技的不断发展,固定资产管理系统也在不断演进,以满足企业日益增长的管理需求。在2023年,主流固定资产管理系统将呈现出一些重要的特征,包括RFID功能、低代码平台功能和云计算功能。易点易动固定资产管理系统正是结合了这些特…

UWB芯片DW3000之PDOA测向实现源码

介绍 DW3000芯片的双天线端口特性可以测量无线输入信号的相位。当与天线响应的信息相结合时,这些信息可以用来帮助确定到达的方向和传输的位置。 根据设备的不同,将有一个或两个天线端口。具有两个天线端口的设备称为PDoA部件,而其他是非PDoA部件(见表1)。当涉及到到达相位…

算法分析与设计编程题 贪心算法

活动安排问题 题目描述 解题代码 vector<bool> greedySelector(vector<vector<int>>& intervals) {int n intervals.size();// 将活动区间按结束时间的从小到大排序auto cmp [](vector<int>& interval1, vector<int>& interval2…

(文末赠书)我为什么推荐应该人手一本《人月神话》

能点进来的朋友&#xff0c;说明你肯定是计算机工作的朋友或者对这本书正在仔细琢磨着的朋友。 文章目录 1、人人都会编程的时代&#xff0c;我们如何留存?2、小故事说明项目管理着为什么必看这本书3、如何评价《人月神话&#xff1a;纪念典藏版》4、本书的目录&#xff08;好…

模方新建工程时,显示空三与模型坐标系不一致怎么解决

答:检查空三xml与模型的metadata.xml的坐标系是否一致&#xff0c;metadata文件是否有在data目录外面。 模方是一款针对实景三维模型的冗余碎片、水面残缺、道路不平、标牌破损、纹理拉伸模糊等共性问题研发的实景三维模型修复编辑软件。模方4.0新增单体化建模模块&#xff0c;…

无人机+三维实景建模助力古建筑保护,传承历史记忆

历史文化建筑&#xff0c;承载着过去各个时代的文化记忆。无论是保存还是修缮古建筑&#xff0c;都需要将其基本信息进行数字化建档&#xff0c;为修缮提供精准参考。根据住建部的要求&#xff0c;从2020年开始到2022年&#xff0c;全国需完成历史建筑100%测绘及系统录入工作&a…

OPENCV实现人类识别(包括眼睛、鼻子、嘴巴)

人脸识别步骤 # -*- coding:utf-8 -*- """ 作者:794919561 日期:2023/9/14 """ import cv2 import numpy as np # load xml face_xml = cv2.CascadeClassifier(F:\\learnOpenCV\\opencv\\data\\haarcascades\\haarcascade_frontalface_defaul…

计算机提示vcomp120.dll丢失怎样修复,vcomp120.dll丢失的4个修复方法分享

随着科技的飞速发展&#xff0c;计算机已经成为了人们日常生活和工作中不可或缺的重要工具。在享受计算机带来的便利的同时&#xff0c;我们也会遇到各种各样的问题&#xff0c;其中计算机丢失vcomp120.dll文件就是一种常见的困扰。vcomp120.dll是 Visual C Redistributable 的…

【操作系统】聊聊协程为什么可以支撑高并发服务

在实际的业务开发中&#xff0c;比如针对一个业务流程&#xff0c;调用三方&#xff0c;然后存储数据&#xff0c;从oss上获取数据。其实都是进行的同步调用&#xff0c;说白了就是A完成之后&#xff0c;B在继续完成。如果整个过程中A、B、C 分别耗时100、300、200毫秒。那么整…

vue基础知识十:Vue中组件和插件有什么区别?

一、组件是什么 回顾以前对组件的定义&#xff1a; 组件就是把图形、非图形的各种逻辑均抽象为一个统一的概念&#xff08;组件&#xff09;来实现开发的模式&#xff0c;在Vue中每一个.vue文件都可以视为一个组件 组件的优势 降低整个系统的耦合度&#xff0c;在保持接口不…

【VSCode】自动生成Jupyter(ipynb)文件的目录

下载插件 一键生成 然后就出来咯&#xff5e;

关于HTTP协议的概述

HTTP 的报文大概分为三大部分。第一部分是请求行&#xff0c;第二部分是请求的首部&#xff0c;第三部分才是请求的正文实体。 POST 往往是用来创建一个资源的&#xff0c;而 PUT 往往是用来修改一个资源的。 Accept-Charset&#xff0c;表示客户端可以接受的字符集。防止传过…

Python工程师Java之路(p)Module和Package

文章目录 1、Python的Module和Package2、Java的Module和Package2.1、Module2.1.1、分模块开发意义2.1.2、模块的调用 2.2、Package Module通常译作模块&#xff0c;Package通常译作包 1、Python的Module和Package Python模块&#xff08;Module&#xff09;&#xff1a;1个以.…

模拟实现C语言--strlen函数

模拟实现C语言–strlen函数 模拟实现C语言--strlen函数一、strlen函数是什么&#xff1f;二、strlen函数的模拟实现2.1 计数器方式实现strlen函数2.2 不创建临时变量计数器方式实现strlen函数2.3 指针-指针方式实现strlen函数 三、strlen函数的返回类型 一、strlen函数是什么&a…

vue-esign 签字组件

1、安装 npm install vue-esign --save 2、引入 // main.js import vueEsign from vue-esign Vue.use(vueEsign) 3、参数 属性说明类型默认值width画布宽度&#xff0c;即导出图片的宽度Number800height画布高度&#xff0c;即导出图片的高度Number300lineWidth画笔粗细Nu…

C++多线程的用法(包含线程池小项目)

一些小tips: 编译命令如下&#xff1a; g 7.thread_pool.cpp -lpthread 查看运行时间&#xff1a; time ./a.out 获得本进程的进程id&#xff1a; this_thread::get_id() 需要引入的库函数有&#xff1a; #include<thread> // 引入线程库 #include<mutex> //…

【python环境搭建】一台电脑下安装不同python版本时如何安装模块

我的环境中安装了2个版本的python&#xff1a; 一个时Anaconda的 一个是python3.10 多个版本python的安装 卸载 pip使用 详细方法可以看这个贴子 Windows环境同时安装多个版本的Python解释器 pip的使用 安装package pip install [package] 更新package pip install [pack…

下属不服管,当众顶撞自己怎么办?

作为领导者&#xff0c;面对下属公然顶撞自己&#xff0c;是一种不尊重和不合适的行为&#xff0c;可能会让你感到失望和困惑。然而&#xff0c;在处理这一情况时&#xff0c;你可以采取以下措施来妥善处理&#xff1a; 保持冷静&#xff1a;尽管受到了侮辱和指责&#xff0c;…

怎么获取别人店铺的商品呢?

jd.item_search_shop(获得店铺的所有商品) 为了进行电商平台 的API开发&#xff0c;首先我们需要做下面几件事情。 1&#xff09;开发者注册一个账号 2&#xff09;然后为每个JD应用注册一个应用程序键&#xff08;App Key) 。 3&#xff09;下载JDAPI的SDK并掌握基本的API…

【脑机接口论文与代码】 基于自适应FBCCA的脑机接口控制机械臂

Brain-Controlled Robotic Arm Based on Adaptive FBCCA 基于自适应FBCCA的脑机接口控制机械臂论文下载&#xff1a;算法程序下载&#xff1a;摘要1 项目介绍2 方法2.1CCA算法2.2FBCCA 算法2.3自适应FBCCA算法 3数据获取4结果4.1脑地形图4.2频谱图4.3准确率 5结论 基于自适应FB…