HSRP协议简介:
HSRP(Hot Standby Router Protocol 热备份路由器协议)是Cisco的专有协议。HSRP把多台路由器组成一个“热备份组”,形成一个虚拟路由器。这个组内只有一个路由器是Active(活动)的,并由它来转发数据包,如果活动路由器发生了故障,备份路由器通过监听ACTIVE路由器的hello报文,在3倍hello时间仍没有收到ACTIVE路由器的hello报文,备份路由器将成为活动路由器负责转发IP数据报。从网络内的主机来看,网关并没有改变。
1.HSRP协议的三种组播消息:
Hello———hello消息通知其他路由器发送路由器的HSRP优先级和状态信息,HSRP路由器默认为每3秒钟发送一个hello消息;
Coup———当一个备用路由器变为一个主动路由器时发送一个coup消息;
Resign———当主动路由器要宕机或者当有优先级更高的路由器发送hello消息时,主动路由器发送一个resign消息。
2.HSRP协议的六种状态:
Initial———HSRP启动时的状态,HSRP还没有运行,一般是在改变配置或端口刚刚启动时进入该状态。-此状态不发送hello报文
Learn———学习状态,不知道虚拟IP,未看到活跃路由器发hello。等待活跃路由器发hello。-此状态不发送hello报文
Listen———路由器已经得到了虚拟IP地址,但是它既不是活动路由器也不是备份路由器。它一直监听从活动路由器和备份路由器发来的HELLO报文。-此状态不发送hello报文
Speak———在该状态下,路由器定期发送HELLO报文,参与活动路由器或备份路由器的竞选。
Standby———当主动路由器失效时路由器准备接管包传输功能。-此状态周期性发送hello报文
Active———路由器执行包传输功能。-此状态周期性发送hello报文
情景一:R1优先级(200)大于R2(100),R1没有配置HSRP虚拟IP,R2上配置HSRP虚拟IP
结果:R2=active R1=standby
结论:虽然R1的优先级200大于R2的优先级100,但由于R1上并没有配置HSRP虚拟IP,会一直处于learn状态等待从ACTIVE路由器学习虚拟IP.虽然R2优先级小于R1,但由于R2上配置了HSRP虚拟IP,因此R2会成为ACTIVE路由器,之后R1从ACTIVE路由器(R2)学习到了虚拟IP后,成为STANDBY路由器,但由于R1没有配置抢占(preempt)功能,因此R1不会成为ACTIVE路由器。
情景二:在情景一的基础上,再增添一台路由器R3
结果:R1=standby R2=active R3=反复在listen-speak之间切换
结论:由于R3(150)的优先级高于R2,并且R3配置了抢占功能,因此R3从listen状态进入speak状态参与活动路由器的选举。首先R3执行STANDBY路由器选举,但由于R3的优先级小于当前的STANDBY路由器R1(200),因此R3选举失败进入listen状态。当R3再次接收到ACTIVE路由器R2的hello报文后,会再次进入speak状态,再次发起一次ACTIVE路由器的抢占过程,之后再次失败退回listen状态,如此反复下去。--注:ACTIVE路由器都是从STANDBY路由器中选举出来的(standby-active),要想成为ACTIVE路由器,必须先选举成为STANDBY路由器。
情景三:在情景二的基础上,R1上配置standby 1 preempt抢占功能
结果:R1=active R2=listen R3=standby
结论:由于R1配置了抢占功能,并且优先级大于R2(ACTIVE路由器),因此R1会从STANDBY变成ACTIVE路由器。之后R2与R3之间进行STANDBY路由器选举,由于R3的优先级大于R2路由器,因此R3成为STANDBY路由器,而R2进入listen状态。