hsrp 切换_Cisco私有协议—热备份路由协议HSRP详解

dcb5b657120d9f88e45281062f4d1b2d.gif

HSRP简介

HSRP(Hot Standby Router Protocol 热备份路由器协议)是Cisco的专有协议。HSRP把多台路由器组成一个“热备份组”,形成一个虚拟路由器。这个组内只有一个路由器是Active(活动)的,并由它来转发数据包,如果活动路由器发生了故障,备份路由器将成为活动路由器。从网络内的主机来看,网关并没有改变。

HSRP工作原理

HSRP(Hot Standby Router Protocol 热备份路由器协议)把多台路由器组成一个虚拟路由器(Virtual Router)。PC上设置网关后,如果网关down了就断网了,导致网络连接不稳定。因此需要备用网关,即冗余网关,确保网络连接正常。HSRP可以提供冗余网关的解决方案。

VR虽然是虚拟路由器,但同样需要有三层IP地址和二层Mac地址。三层IP地址是手动配的,但不能乱配,需要配置成和真实路由器处于同一网段的IP地址。VR的二层地址是自动生成的。例如0000.0c07.ac01,前6位0000.0c是Cisco买来的。中间4位07.ac是HSRP号。最后2位01是HSRP Group组号。每个HSRP组内只能有一个路由器是Active(活动)的,一个路由器是Standby备份的,其余路由器将处于监听状态。通过Active路由器来转发数据,如果Active路由器down了,Standby备份路由器将成为Active路由器,以保证网络的正常运行。属于同一个HSRP组的路由器的虚拟三层IP地址必须一致。

例如将真实路由器A和B捆绑成虚拟路由器VR后,谁成为Active路由器,谁成为Standby备份路由器呢?HSRP用优先级来决定,优先级高的成为Active路由器。优先级默认都是100,可以修改。如果优先级相同,IP地址高的成为Active路由器。路由器间通过组播(224.0.0.2)Hello包来互相监听各自的存在。Hello包默认每3秒发一次,如果长期收不到Active路由器发出的Hello包,就认为Active路由器出故障了,Standby备份路由器就将成为Active路由器。

HSRP报文格式

1855b6bc48e30dbc88d697f2fad34180.png

  • 版本:指示HSRP的版本信息。

  • 操作码:用来描述数据包中报文的类型,可能的值为0、1和2,分别表示是Hello、Coup和Resign消息。

  • 状态:描述发出该报文的路由器的当前状态。有0、1、2、4、8、16六种状态,分别表示为Initial、Learn、Listen、Speak、Standby和Active状态。

  • 呼叫时间(Hellotime):只在呼叫报文中有意义,表示路由器定时发送呼叫报文的间隔时间,以秒为单位。如果该参数没有在路由器上配置,它可能要从活动路由器上学习获得。默认值为3秒。

  • 保持时间(Holdtime):只在呼叫报文中有意义,被接收路由器用来判断该呼叫报文是否合法,单位为秒,其值至少是呼叫时间的3倍。如果该参数没有配置,也同样可以从活动路由器上学习。活动路由器不能从等待路由 器学习呼叫时间和保持时间,它只能继续使用从先前的活动路由器学习来的该值。默认值为10秒。

  • 优先级:该参数用来选择活动和等待路由器,两个具有不同优先级的路由器,优先级高的将成为活动路由器。两个具有相同优先级的路由器,IP地址大的将成为活动路由器。默认优先级为100。

  • 组:用来标记路由器所在的热等待组。对令牌环类型的网络,合法的值是0、1和2,对于其它类型的网络,合法值是0-255。

  • 认证码:包括8个明文的字符作为密码,如果没有配置,默认值为cisco。

  • 虚拟IP地址:用来指定本热等待组的虚拟IP地址,它可以从活动路由器的呼叫报文中学习到。如果没有配置该地址,并且呼叫报文是需要认识的,那么只能通过活动路由器学习。

HSRP状态

Initial

初始状态,Hold时间10s后进入Listen

Learn

例如路由器A上新建了VR并设置了VR的IP,B加入了该VR但没有设置VR的IP,那B会从A那里学习到VR的IP。当然如果A和B都手动设了同样的VR的IP,就不会有这个状态

Listen

路由器加入进VR后,此时它既不是Active也不是Standby路由器,因此它监听Active和Standby发出的Hello包。如果收不到,Hold时间10s后进入Speak

Speak

路由器主动发送Hello包,包含自己的优先级,自己的IP地址,VR的IP地址等。参加竞选,竞争成为Active或Standby备份路由器。

Standby

竞选成为Standby路由器后,将定时发送Hello包。如果Standby状态下收不到Active路由器的Hello包,不经过Hold时间马上将自己置为Active。

Active

竞选成为Active路由器后,将定时发送Hello包。并承担转发数据的责任。

(Hello时间默认3s,Hold时间默认10s,是可以修改的,你可以改小点,比如改成500ms,但时间越短,占的资源就越多,需要你权衡利弊。通常Hold时间最少应是Hello时间的3倍)。

HSRP定时器

HSRP使用2个定时器:Hello间隔和Hold时间。默认Hello间隔是3秒,默认的Hold间隔是10秒。Hello间隔定义了两组路由器之间交换信息的频率。Hlod间隔定义了经过多长时间后,没有收到其它路由器的信息,则活动路由器或者备用路由器就会被宣告为失败。配置计时器并不是越小越好,虽然计时器越小则切换时间越短。计时器的配置需要和STP等的切换时间相一致。另外,Hold间隔最少应该是Hello间隔的3倍。

▼更多精彩推荐,请关注我们▼

0c949c74adf5e771e8e35eeb7d05bb27.gif

生活不止眼前的苟且,

还有课本里的诗和到不了的远方!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值