HSRP(Hot Standby Router Protocol 热备份路由器协议)把多台路由器组成一个虚拟路由器(Virtual Router)。Cisco 私有协议,类似功能的公有协议:VRRP 。
PC上设置网关后,如果网关down了就断网了,导致网络连接不稳定。因此需要备用网关,即冗余网关,确保网络连接正常。HSRP将A和B捆绑在一起形成一个虚拟路由器VR,PC的网关设为VR的IP地址,这样对对PC来说并不知道真实路由器A和B的存在,即使A出故障,VR也能自动将网关切换为B,保证PC上网不受影响。
VR虽然是虚拟路由器,但同样需要有三层IP地址和二层Mac地址。三层IP地址是手动配的,但不能乱配,需要配置成和真实路由器处于同一网段的IP地址。VR的二层地址是自动生成的。
每个HSRP组内只能有一个路由器是Active(活动)的,一个路由器是Standby备份的,其余路由器将处于监听状态。通过Active路由器来转发数据,如果Active路由器down了,Standby备份路由器将成为Active路由器,以保证网络的正常运行。属于同一个HSRP组的路由器的虚拟三层IP地址必须一致。
HSRP工作原理:
例如将真实路由器A和B捆绑成虚拟路由器VR后,谁成为Active路由器,谁成为Standby备份路由器呢?HSRP用优先级来决定,优先级高的成为Active路由器。优先级默认都是100,可以修改。如果优先级相同,IP地址高的成为Active路由器。路由器间通过组播(224.0.0.2)Hello包来互相监听各自的存在。Hello包默认每3秒发一次,如果长期收不到Active路由器发出的Hello包,就认为Active路由器出故障了,Standby备份路由器就将成为Active路由器。
HSRP有6种状态:
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负载均衡:
上面例子中都只standby 1新建了组1,可以多建几个组来实现负载均衡。每个参与HSRP的路由器分别属于不同组的active、standby 。
本文参考 CSDN 博客 hongse_zxl