Configuring HSRP(Hot Standby Routing Protocol)

网络冗余架构设计中,必不可少的就是网关冗余功能,而很多核心网中都会用到HSRP(Hot Standby Routing Protocol)协议来实现这个功能。

热备份路由协议(HSRP)

热备份路由协议(HSRP)是思科公司专有的协议,用于为IP网络提供高可用性和冗余性。它允许多个路由器在一个组中协同工作,提供一个虚拟IP地址,可以用作子网上主机的默认网关。如果主要路由器发生故障,其中一个备用路由器将接管虚拟IP地址,以确保不间断的连接。

HSRP(Hot Standby Routing Protocol)工作原理

从HSRP组中选出的单个路由器负责转发主机发送给虚拟路由器的数据包。这种路由器被称为活动路由器。另一个路由器被选为备用路由器。当主用路由器出现故障时,备用路由器将承担转发报文的责任。虽然可以有任意数量的路由器运行HSRP,但只有主路由器转发发送到虚拟路由器IP地址的报文。

运行HSRP协议的路由器之间通过HSRP hello报文来传递HSRP信息。这些数据包通过用户数据报协议(UDP)端口1985发送到目的IP组播地址224.0.0.2。224.0.0.2是保留的组播地址,用于与所有路由器通信。
主用路由器从配置的IP地址和HSRP虚拟MAC地址发出hello报文。备用路由器从其配置的IP地址和烧录的MAC地址(BIA)中获取hello。这种方式可以使HSRP路由器能够正确地识别彼此。

虚拟MAC地址:0000.0c07.ac** ,其中**为十六进制HSRP组号,根据接口配置。例如,HSRP组1使用HSRP虚拟MAC地址000.00 c07.ac01。相邻局域网段的主机使用正常的ARP (Address Resolution Protocol)进程来解析关联的MAC地址。

尽管HSRP组可以由多个三层设备组成,但在典型的企业环境中,通常由两台汇聚交换机配置HSRP,为所有接入层vlan提供网关冗余。

在思科路由器上配置HSRP

1. 路由器配置

您至少需要两个路由器来配置HSRP。我们称它们为路由器A和路由器B。

2. 分配IP地址

在将参与HSRP组的路由器接口上配置IP地址。
路由器A:

interface FastEthernet0/0ip address 192.168.1.1 255.255.255.0

路由器B:

interface FastEthernet0/0ip address 192.168.1.2 255.255.255.0

3. 配置HSRP

在相同子网上的两个路由器上配置HSRP。HSRP在每个接口上运行。
standby 指令帮助

Router(config-if)#standby ?<0-255>         group numberauthentication  Authenticationdelay           HSRP initialisation delayfollow          Name of HSRP group to followip              Enable HSRP IPv4 and set the virtual IP addressmac-refresh     Refresh MAC cache on switch by periodically sending packetfrom virtual mac addressname            Redundancy name stringpreempt         Overthrow lower priority Active routerspriority        Priority levelredirect        Configure sending of ICMP Redirect messages with an HSRPvirtual IP address as the gateway IP addresstimers          Hello and hold timerstrack           Priority trackingversion         HSRP version

路由器A:

interface FastEthernet0/0standby 1 ip 192.168.1.250standby 1 priority 110standby 1 preempt

路由器B:

interface FastEthernet0/0standby 1 ip 192.168.1.250standby 1 priority 100standby 1 preempt

4. 关键指令注释

-------啊

  • standby 1 创建一个组编号为1的HSRP组。
  • ip 192.168.1.254 指定组的虚拟IP地址。
  • priority确定组选举过程中路由器的优先级。具有最高优先级的路由器成为活动路由器。在此示例中,路由器A的优先级较高(110),因此默认情况下它将成为活动路由器。
  • preempt 允许优先级较高的路由器在故障后上线时接管活动路由器的角色。

5. 验证配置是否生效

您可以使用以下命令验证HSRP状态:

show standby
show standby brief

这些命令将显示HSRP组的当前状态以及路由器的活动/备用状态。

6.HSRP抢占配置

在RouterA故障的情况下,RouterB将承担HSRP的主动角色。但是,即使RouterA在故障恢复后,RouterB仍将充当活动路由器。这种情况可以在RouterA配置抢占来改变主备角色。在配置抢占时,可以指定抢占的延迟时间。

Router(config-if)#standby 50 preempt delay ?minimum  Delay at least this longreload   Delay after reloadsync     Wait for IP redundancy clients

7.HSRP Group安全配置

如果需要保证该组HSRP的安全性,可以对该HSRP通信配置Authentication。

Router(config-if)#standby 50 authentication ?md5   Use MD5 authenticationtext  Plain text authenticationRouter(config-if)#standby 50 authentication md5 ?key-chain   Set key chainkey-string  Set key string*** This is how you do it with a Key String  ****
Router(config-if)#standby 50 authentication md5 key-string 0 MRN-China**** This is how you do it with Key-Chain ******
Router(config-if)#standby 50 authentication md5 key-chain MRN
Router(config)#key chain MRN
Router(config-keychain)#?
Key-chain configuration commands:default  Set a command to its defaultsexit     Exit from key-chain configuration modekey      Configure a keyno       Negate a command or set its defaultsRouter(config-keychain)#key ?<0-2147483647>  Key identifierRouter(config-keychain)#key 1 ?<cr>
Router(config-keychain)#key 1 
Router(config-keychain-key)#?
Key-chain key configuration commands:accept-lifetime  Set accept lifetime of keydefault          Set a command to its defaultsexit             Exit from key-chain key configuration modekey-string       Set key stringno               Negate a command or set its defaultssend-lifetime    Set send lifetime of keyRouter(config-keychain-key)#key-string ?0     Specifies an UNENCRYPTED password will follow7     Specifies a HIDDEN password will followLINE  The UNENCRYPTED (cleartext) user passwordRouter(config-keychain-key)#key-string 0 MRN

8.HSRP切换时间更改

默认的Hello Time是3秒,默认的Hold Time是10秒。如果希望使HSRP故障转移更快地发生,可以更改这些值。以秒为单位,可以转到最小15秒的Hello Time。但是如果你想让它更快,你可以在Hello Time中指定以毫秒为单位。

Router(config-if)#standby 50 timers ?<1-254>  Hello interval in secondsmsec     Specify hello interval in milliseconds*** How to set Hello Time 333 ms & Hold Time 1s (or 1000 ms) ***
Router(config-if)#standby 50 timers msec 333 msec 1000 

9.HSRP版本配置

HSRP有两个版本:版本1和版本2。默认情况下,如果不指定版本,则为版本1。您可以配置“standby 50 version 2”来更改版本。

Router(config-if)#standby 50 version 2

10.HSRP版本差异说明

HSRP version 1和version 2 主要有七点差异

  1. 在HSRP版本1中,毫秒定时器值不被发布或学习。HSRP版本2发布并学习毫秒计时器值。这一变化确保了HSRP组在所有情况下的稳定性。

  2. 版本1中的组号取值范围为0 ~ 255。HSRP版本2将组号范围从0扩展到4095。

  3. HSRP版本2使用新的组播地址224.0.0.102发送hello报文,而不是版本1使用的组播地址224.0.0.2。

  4. HSRP version 2包格式包括一个6字节的标识符字段,用于唯一标识消息的发送方。通常,该字段填充接口MAC地址。这有助于排除网络环路和配置错误。

  5. HSRP版本2支持IPv6。

  6. HSRP版本2的报文格式与HSRP版本1不同。报文格式采用TLV (type-length-value)格式。HSRP版本1的路由器收到的HSRP版本2的报文,type字段会被HSRP版本1映射为version字段,然后被忽略。

  7. 注意,HSRP版本2不能与HSRP版本1互操作。但是,不同的版本可以在同一台路由器的不同物理接口上运行。
    在这里插入图片描述

如您需要更加深入的了解,可以从思科的HSRP-FAQ文档中找到更多有用的信息。

在这里插入图片描述

推荐阅读

  • OSPF(Open Shortest PathFirst)协议概述和配置
  • 网络基础学习必须掌握:网络物理层概述(完整版)
  • 图文并茂认识计算机网络
  • RFC2544 网络基准测试(Benchmarking Methodology for Network Interconnect Dev)
  • 网络工程师必须搞清楚MPLS与专线的区别
  • 安全知识普及–总结什么是网络安全

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

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

相关文章

实现不同局域网间的文件共享和端口映射,使用Python自带的HTTP服务

文章目录 1. 前言2. 本地文件服务器搭建2.1 python的安装和设置2.2 cpolar的安装和注册 3. 本地文件服务器的发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 数据共享作为和连接作为互联网的基础应用&#xff0c;不仅在商业和办公场景有广泛的应用…

【Nacos】使用Nacos进行服务发现、配置管理

Nacos Nacos是 Dynamic Naming and Configuration Service 的首字母简称&#xff0c;一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 版本说明&#xff1a;版本说明 alibaba/spring-cloud-alibaba Wiki GitHub <properties><java.version>…

unity3d:功能验证,收集开源项目的工程合集

unity3d功能验证&#xff0c;和收集开源项目的工程合集 目录持续更新地址 【腾讯文档】UnityForTest目录 https://docs.qq.com/doc/DWm9HSkVhTGdyUUVo 源码 https://github.com/luoyikun/UnityForTest 动画 创建骨骼动画 BoneAnimation场景 代码创建Mesh&#xff0c;骨骼…

Flask项目请求图片资源返回403错误

问题 解决 在图片url前缀前加 "https://images.weserv.nl/?url" 参考 如何解决访问外部图片返回 403 Forbidden 错误 - 知乎 vue中请求接口会自动带上本地ip_vite打包后请求地址为什么带本地地址_夜月晓晓的博客-CSDN博客

CSS判断手机暗黑模式

手机有个功能到了晚上会自动变成深色也就是暗黑模式.这种情况下网页会自动变颜色.如果想自由控制暗黑模式下的html样式的话,可以用如下方式: media (prefers-color-scheme: dark) {/*html, body {*//*filter: invert(1) hue-rotate(180deg);*//*}*/.maill{margin-left: 0;marg…

【ES系列】(一)简介与安装

首发博客地址 首发博客地址[1] 系列文章地址[2] 教学视频[3] 为什么要学习 ES? 强大的全文搜索和检索功能&#xff1a;Elasticsearch 是一个开源的分布式搜索和分析引擎&#xff0c;使用倒排索引和分布式计算等技术&#xff0c;提供了强大的全文搜索和检索功能。学习 ES 可以掌…

【FreeRTOS】互斥量的使用与逐步实现

在FreeRTOS中&#xff0c;互斥量是一种用于保护共享资源的同步机制。它通过二进制信号量的方式&#xff0c;确保在任意时刻只有一个任务可以获取互斥量并访问共享资源&#xff0c;其他任务将被阻塞。使用互斥量的基本步骤包括创建互斥量、获取互斥量、访问共享资源和释放互斥量…

【Vue3 知识第二讲】Vue3新特性、vue-devtools 调试工具、脚手架搭建

文章目录 一、Vue3 新特性1.1 重写双向数据绑定1.1.1 Vue2 基于Object.defineProperty() 实现1.1.2 Vue3 基于Proxy 实现 1.2 优化 虚拟DOM1.3 Fragments1.4 Tree shaking1.5 Composition API 二、 vue-devtools 调试工具三、环境配置四、脚手架目录介绍五、SFC 语法规范解析附…

Android Studio 的github 工程克隆

上文介绍了Android Studio 里的"Git 建立和简单操作。本文介绍从github 上的工程fork 和clone到本地&#xff0c;然后学习和改进。 本文参考 https://learntodroid.com/how-to-use-git-and-github-in-android-studio/ 克隆clone Github 仓库&#xff1a; 先 Fork 你选择…

实战黑马苍穹外卖项目8.1-10.1

文章目录 软件开发的基本流程用户层网关层应用层数据层工具 数据库设计导入准备好的前端和后端工程基础工程代码分析完成员工功能完成菜品功能入门Redis实现店铺营业HttpClient微信小程序开发缓存Spring Cache实现地址功能用户下单实现订单推送状态apache对应的工具使用项目用到…

无涯教程-Flutter - 数据库

SQLite" class"css-1occaib">SQLite数据库是基于事实和标准SQL的嵌入式数据库引擎&#xff0c;它是小型且经过时间考验的数据库引擎&#xff0c;sqflite软件包提供了许多函数&#xff0c;可以有效地与SQLite数据库一起使用&#xff0c;它提供了操作SQLite数据…

ExpressLRS开源代码之框架结构

ExpressLRS开源代码之框架结构 1. 源由2. Arduino应用框架3. ExpressLRS应用框架4. 硬件设计框架4.1 单天线4.2 双天线单PA4.3 双天线双PA 5. 应用软件设计6. 参考资料 1. 源由 最近为了理解《ExpressLRS开源之基本调试数据含义》&#xff0c;做了一些源代码的研读。 概念、文…

基于costas环的载波同步系统matlab性能仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ............................................................................ I_Dataroun…

kubernetes进阶 (一) 环境搭建

我是基于一台centos7.6的腾讯云主机进行操作的&#xff0c;配置为4C8G&#xff0c;之前的文档自己试着搭建发现有问题了&#xff0c;这里重新整理下笔记&#xff0c;集群版本选择1.22.2&#xff08;一年前搭的&#xff09;用的还不错 清理环境 之前我的环境可能装过docker或者什…

Ansible学习笔记4

file模块&#xff1a; file模块用于对文件相关的操作&#xff08;创建、删除、属性修改、软链接等&#xff09;touch是创建。 [rootlocalhost ~]# ansible group1 -m file -a "path/tmp/111 statetouch" 192.168.17.105 | CHANGED > {"ansible_facts"…

[SpringBoot3]视图技术Thymeleaf

七、视图技术Thymeleaf Thymeleaf是一个表现层的模板引擎&#xff0c;一般被使用在Web环境中&#xff0c;它可以处理HTML、XML、JS等文档&#xff0c;简单来说&#xff0c;它可以将JSP作为Java Web应用的表现层&#xff0c;有能力展示与处理数据。这样&#xff0c;同一个模板文…

1. 安装Zookeeper

​ 1.下载 点击下载Zookeeper 单机版安装 安装Zookeeper前需要先安装jdk上传安装包rz解压安装包:tar -zxvf apache-zookeeper-3.6.0-bin.tar.gz -C /opt/app/zookeeper zookeeper目录结构:a. bin: 放置运行脚本和工具脚本b. conf: zookeeper 默认读取配置的目录,里面会有…

docker安装gitlab

安装gitlab sudo docker run --detach \--hostname gitlab \--publish 543:443 --publish 90:80 --publish 222:22 \ --name gitlab \--restart always \--volume $GITLAB_HOME/config:/etc/gitlab \--volume $GITLAB_HOME/logs:/var/log/gitlab \--volume $GITLAB_HOME/data:…

Android 蓝牙开发( 四 )

前言 上一篇文章给大家分享了Kotlin版的Android蓝牙的基础知识和基础用法&#xff0c;不过上一篇都是一些零散碎片化的程序&#xff0c;&#xff0c;这一篇给大家分享Android蓝牙开发实战项目KotlinCompose的初步使用 效果演示 : Android Compose 蓝牙开发 Android蓝牙实战开发…

基于Laravel通用型内容建站企业官网系统源码 可免费商用

是一个基于 Laravel 企业内容建站系统。模块市场拥有丰富的功能应用&#xff0c;支持后台一键快速安装&#xff0c;让开发者能快的实现业务功能开发。 系统完全开源&#xff0c;免费且不限制商业使用 2023年08月23日增加了以下12个特性&#xff1a; [新功能] 手机端Banner支持…