Part I: Fundamental
HSRP(Hot Standby Router Protocol):Cisco私有的第3层协议。
HSRP为IP网络提供网络冗余,确保用户流量能立即并透明地恢复网络边界设备或接入电路中的第一跳故障。
在LAN中,多个router组成一个HSRP组,其中一个router代表这个HSRP转发这个LAN中的数据流,其它所有router只发送HSRP hello来维持这种HSRP组关系。
一个HSRP组共享一个IP和一个MAC地址。每个router可以加入多个组。
一个HSRP组由一台active router,一台standby router及other routers。
1>active router转发指向VIP的数据流,并发送HSRP hello包给所有其它HSRP组成员。(最终处于active state)
2>standby router不转发指向VIP的数据流,发送HSRP hello包给所有其它HSRP组成员,并监控active router的状态。(最终处于standby state)
3>other routers不转发指向VIP的数据流,只监控HSRP hello包,不发送。它们执行普通router的工作,只转发目标为他们自己的分组,不转发目标为VIP的地址。(最终处于listen state)
Part II: HSRP Operation
当standby router在一定时间内没有收到active router的hello包时,它就认为active router出现故障了,并取代它的active router的角色。因为host设备使用VIP及VMAC来标识它们的网关设备,所有它们不会发现这种变更,也不会感觉到服务的中断。
active router的选择:
1>优选priority大的HSRP router,默认的priority值为100
2>优选lowest mac地址
为了方便进行负载均衡,一个router可以属于多个HSRP组的成员,每个HSRP组有一个VIP及VMAC。
一个LAN最多支持255个HSRP组。
如果host设备发送数据分组给VIP的VMAC地址,由active router来进行相应的数据流转发。
如果host设备发送一个对VIP的ARP请求,由active router用相应的VMAC来应答。
Part III: VMAC Format
VMAC地址由3部分组成:
1>Vendor ID:MAC地址的前3个字节
2>HSRP code:2个字节,一般为07.ac,指示此地址为HSRP router。
3>Group ID:MAC地址的最后一个字节,为HSRP的组号。