前言
随着Internet的日益普及,人们对网络的依赖性也越来越强。这对网络的稳定性提出了更高的要求,人们自然想到了基于设备的备份结构,就像在服务器中为提高数据的安全性而采用双硬盘结构一样。网络核心层设备是整个网络的心脏,如果设备发生致命性的故障,将导致本地网络的瘫痪,如果是骨干路由器,影响的范围将更大,所造成的损失也是难以估计的。因此,对核心设备采用热备份是提高网络可靠性的必然选择。在一个核心设备完全不能工作的情况下,它的全部功能便被系统中的另一个备份设备完全接管,直至出现问题的设备恢复正常,这就是热备份路由协议HSRP(Hot Standby Router Protocol)要解决的问题。
01
HSRP原理
HSRP是Cisco公司制定的专有路由器备份协议,支持多台路由器形成热备而消除单台设备失效造成的网络中断。
实现HSRP的条件是系统中有2台以上的路由器组成一个“热备份组”,这个组形成一个虚拟路由器。
HSRP协议利用一个优先级(priority)方案来决定哪台配置了HSRP协议的路由器成为活跃路由器(active router)。用户可以手动设置HSRP优先级的值。
如果一个路由器的优先级设置的比所有其他路由器的优先级高,则该路由器成为相应备份组的活跃路由器。当在预先设定的一段时间(Hold Time)内,不能收到活跃路由器发送的hello消息时,优先级最高的备用路由器变为活跃路由器。网络上的所有主机不感知路由器之间的报文交互。
其协议基本原理与VRRP类似,如下图所示。
HSRP协议基本原理示意图
02
基本概念
备份组:组成虚拟路由器的一组设备,称为HSRP路由器;
活跃路由器(active router):备份组中代表虚拟路由器转发数据包的路由器;
备份路由器(standby router):备份组中第一备份路由器;
Hello Time:设备发送Hello报文的时间间隔,如果未配置Hello Time值,则根据活跃路由器成功发送两个hello消息的时间间隔来确定,否则使用缺省值3秒;
Hold Time:HSRP路由器在声明活跃路由器发生故障之前等待的时间,最少为Hello time的3倍;
备份优先级:路由器在HSRP备份组内的级别,缺省为100。如果优先级相同,那么由IP地址最大的路由器成为活跃路由器,此地址为配置HSRP接口的IP地址。
虚拟MAC地址:由三部分组成的虚拟路由器使用的MAC地址以00.00.0c.07.ac.2f为例,
厂商ID:前三个字节是厂商ID,00.00.0c是Cisco设备。
HSRP编码:用来说明本MAC地址是用于标识一台HSRP虚拟路由器的,总是07.ac。
HSRP组号:即组ID,标识HSRP备份组的编号。本例中2f为十六进制,转换为十进制为47。
03
HSRP消息
配置了HSRP协议的路由器存在以下三种多点广播消息:
Hello:发送该消息表明路由器正在运行HSRP,并且能够成为活跃路由器或者备份路由器。HSRP路由器默认每3秒钟发送一个Hello消息;
Coup:当一个备份路由器变为一个活跃路由器时发送一个Coup消息;
Resign:当活跃路由器要宕机或者当有优先级更高的路由器发送hello消息时,活跃路由器发送resign消息,表明不想再当活跃路由器;
HSRP消息被封装在UDP报文中,使用UDP端口号1985,目的地址是全部路由器(all-router)多点广播地址224.0.0.2,TTL值为1。
04
HSRP状态
HSRP定义了配置HSRP功能的路由器中可能有的6种状态:
初始状态(Initial):HSRP启动时的状态,此时HSRP还没有运行,一般是在改变配置或端口刚启动时进入该状态。
学习状态(Learn):路由器等待来自活跃路由器的消息。这时,路由器还没有看到来自活跃路由器的Hello消息,也没有学到虚拟路由器的IP地址。
倾听状态(Listen):路由器正在倾听Hello消息。已经知道了虚拟IP地址,除了活跃和备份路由器之外的其他路由器都保持倾听状态。
发言状态(Speak):在该状态下,路由器发送周期性Hello消息,并参与活跃路由器或备份路由器的竞选。
备份状态(Standby):备份组内路由器所处的状态,备份组员监视活跃路由器,随时准备在活跃路由故障时,接替其数据传输功能。周期性的发送Hello消息,向其他组员通告自己的状态。
活跃状态(Active):备份组内活跃路由器的状态,负责数据传输功能。
热文推荐