热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HSRP原理及实验配置

一、HSRP简介HSRP(HotStandbyRouterProtocol热备份路由协议)是思科(cisco)私有协议,HSRP就是把多台路由器组成一个热备份组,形成一个虚拟路由器
一、HSRP简介
HSRP(Hot Standby Router Protocol 热备份路由协议)是思科(cisco)私有协议,HSRP就是把多台路由器组成一个热备份组,形成一个虚拟路由器。这个组内只有一个路由器是Active(活动)的,并由它来转发数据包,如果活动路由器发生了故障,备份路由器将成为活动路由器。从网络内的主机来看,网关并没有改变。我们并不会因为其中一个路由器发生故障而造成网络瘫痪,影响网络传输。

二、HSRP的组成
活跃路由器:热备份组内实际转发数据包的路由器
备份路由器:在活跃路由器发生故障不能转发数据包或者优先级发生改变时,由备份路由器转变为活跃路由器,并进行数据转发。
虚拟路由器:在热备份组内虚拟出来的路由器
其他路由器:其他

三、HSRP的工作原理
HSRP 运行在UDP上,端口号为1985。HSRP中的所有路由器都会发送或者接收HSRP消息,发送或接收的方式为组播,组播地址:224.0.0.2,TTL(保活时间)为1s。
HSRP的组播消息共有三种类型:
hello:HSRP中一台路由器向其他路由器发送本路由器的优先级和状态信息。发送间隔3s。
coup:当一个备份路由器成为活跃路由器时,会发送一个coup消息。
resign:在活动路由器发生故障或者关闭,又或者接收到一个具有更高优先级的路由器发来的Hello或者coup消息时,活动路由器将发送resign消息。
HSRP路由器利用Hello包来互相监听各自的存在。当路由器长时间没有接收到Hello包时,就认为活动路由器故障,备份路由器就会成为活动路由器。HSRP中hello包的发送间隔为3s,每3s发送一个hello包来确认对方状态。如果超过10s没有收到回包,则备份路由器变为活跃路由器并进行数据转发。
HSRP协议利用优先级决定哪个路由器成为活动路由器。如果一个路由器的优先级比其它路由器的优先级高,则该路由器成为活动路由器。
主设备的选择原则:
1、参与网关虚拟化的设备,首先比较优先级,越大越好;默认值为100;
2、如果优先级相同,则比较IP地址, 越大越好 ;

四、HSRP状态
在任一时刻,配置了HSRP协议的路由器都将处于以下六种状态之一
Initial———初始状态,HSRP启动时的状态,HSRP还没有运行,一般是在改变配置或端口刚刚启动时进入该状态。
Learn——— 学习状态,不知道虚拟IP,未看到活跃路由器发hello。等待活跃路由器发hello。
Listen———监听状态,路由器已经得到了虚拟IP地址,但是它既不是活动路由器也不是等待路由器。它一直监听从活动路由器和等待路由器发来的HELLO报文。
Speak———发言状态,在该状态下,路由器定期发送HELLO报文,并且积极参加活动路由器或等待路由器的竞选。
Standby———备份状态,当活跃路由器故障时准备代替进行数据转发。
Active———活跃状态,路由器执行包传输功能

五 、实验HSRP的配置

技术分享图片

实验步骤:
二层交换机上配置
1.创vlan
sw1#conf t
sw1(config)#vlan 10,20,30
sw1(config-vlan)#exit

2.端口分配
sw1(config)#int f1/0
sw1(config-if)#switchport access vlan 10
sw1(config-if)#int f1/1
sw1(config-vlan)#exit
sw1(config-if)#switchport access vlan 20
sw1(config-if)#exit

3.打开通道
sw1(config)#int f1/2
sw1(config-if)#switchport mode trunk
sw1(config-if)#int f1/3
sw1(config-if)#switchport mode trunk
sw1(config-if)#

三层交换机上的配置
1.创vlan
sw-3L#conf t
sw-3L(config)#vlan 10,20,30
sw-3L(config-vlan)#exit

2.打开通道
sw-3L(config)#int f1/0
sw-3L(config-if)#switchport mode trunk
sw-3L(config-if)#exit

3.进VLAN接口配ip及HSRP虚拟路由ip
sw-3L(config)#int vlan 10
sw-3L(config-if)#ip add 192.168.10.100 255.255.255.0
sw-3L(config-if)#no shut

活跃路由器
sw-3L(config-if)#standby 1 ip 192.168.10.1 组号
sw-3L(config-if)#standby 1 preempt 强占
sw-3L(config-if)#standby 1 track vlan 30 上行
sw-3L(config-if)#exit

sw-3L(config)#int vlan 20
sw-3L(config-if)#ip add 192.168.20.100 255.255.255.0
sw-3L(config-if)#no shut

备份路由器
sw-3L(config-if)#standby 2 ip 192.168.20.1
sw-3L(config-if)#standby 2 priority 95
sw-3L(config-if)#end

4.配置dhcp给c1
sw-3L(config)#ip dhcp pool v10
sw-3L(dhcp-config)#network 192.168.10.0 255.255.255.0
sw-3L(dhcp-config)#default-router 192.168.10.1

5.配置ospf
sw-3L(config)#router ospf 110
sw-3L(config-router)#network 192.168.30.0 0.0.0.255 area 0
sw-3L(config-router)#network 192.168.10.0 0.0.0.255 area 0

显示HSRP的摘要信息
技术分享图片

R3上的配置
1.配置单臂路由
R3#conf t
R3(config)#int f0/0
R3(config-if)#no shut
R3(config-if)#exit
R3(config)#int f0/0.10
R3(config-subif)#encapsulation dot1Q 10
R3(config-subif)#ip add 192.168.10.200 255.255.255.0
R3(config-subif)#no shut

R3(config-subif)#int f0/0.20
R3(config-subif)#encapsulation dot1Q 20
R3(config-subif)#ip add 192.168.20.200 255.255.255.0
R3(config-subif)#no shut
R3(config-subif)#exit

2.配置端口ip及HSRP虚拟路由ip
R3(config)#int f0/1
R3(config-if)#ip add 192.168.40.2 255.255.255.0
R3(config-if)#no shu
R3(config)#int f0/0.10
R3(config-subif)#standby 1 ip 192.168.10.1
R3(config-subif)#standby 1 priority 95
R3(config-subif)#exit

R3(config-subif)#int f0/0.20
R3(config-subif)#standby 2 ip 192.168.20.1
R3(config-subif)#standby 2 preempt
R3(config-subif)#standby 2 track f0/1
R3(config-subif)#exit

3.配置dhcp给c2
R3(config)#ip dhcp pool v20
R3(dhcp-config)#network 192.168.20.0 255.255.255.0
R3(dhcp-config)#default-router 192.168.20.1

4.配置ospf
R3(config-if)#ex
R3(config)#router ospf 110
R3(config-router)#netw
R3(config-router)#network 192.168.40.0 0.0.0.255 area 0
R3(config-router)#network 192.168.20.0 0.0.0.255 area 0

显示HSRP的摘要信息
技术分享图片

R1上的路由配置
1.配置ip
R1#conf t
R1(config)#int f0/0
R1(config-if)#ip add 192.168.30.1 255.255.255.0
R1(config-if)#no shu
R1(config-if)#ex

R1(config)#int f0/1
R1(config-if)#ip add 192.168.40.1 255.255.255.0
R1(config-if)#no shu
R1(config-if)#ex

R1(config)#int f1/0
R1(config-if)#ip add 12.0.0.1 255.255.255.0
R1(config-if)#no shu
R1(config-if)#ex

2.配置ospf
R1(config)#router ospf 110
R1(config-router)#network 12.0.0.0 0.0.0.255 area 0
R1(config-router)#network 192.168.40.0 0.0.0.255 area 0
R1(config-router)#network 192.168.30.0 0.0.0.255 area 0
R1(config-router)#

R5上的配置
1.配置ip
R5#conf t
R5(config)#int f0/0
R5(config-if)#ip add 12.0.0.5 255.255.255.0
R5(config-if)#no shu
R5(config-if)#ex

2.配置ospf
R5(config)#router ospf 110
R5(config-router)#network 12.0.0.0 0.0.0.255 area 0
R5(config-router)#ex
R5(config)#

PC机上自动获得ip及ping命令
技术分享图片

用trace命令查下路径
pc1上是从SW-3L上优先级为100的走
技术分享图片

pc2上是从R3上优先级为100的走
技术分享图片

接下来我们把SW-3L的主路由给shutdown看下路径

技术分享图片

技术分享图片

此时HSRP实现了其工作原理

注意事项:完成这个实验的步骤比较多 所以思路要清晰 不能乱 一步一步来

HSRP原理及实验配置


推荐阅读
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文介绍了指针的概念以及在函数调用时使用指针作为参数的情况。指针存放的是变量的地址,通过指针可以修改指针所指的变量的值。然而,如果想要修改指针的指向,就需要使用指针的引用。文章还通过一个简单的示例代码解释了指针的引用的使用方法,并思考了在修改指针的指向后,取指针的输出结果。 ... [详细]
  • 在project.properties添加#Projecttarget.targetandroid-19android.library.reference.1..Sliding ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
author-avatar
逆天子_1968n_6
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有