VRRP工作原理:当Router-1Router-2都启动VRRP后,他们会以224.0.0.18的组播地址发送VRRP协议报文,其中包含的主要信息为[组号,Virtual IP,hello time, priority,preempt-mode,authentication-mode],而我们主要关心的参数是组号和优先级。当Router-1Router-2收到对方的VRRP报文后,经过比较,Router-1发现其它参数都一致(如组号,认证方式等),但它的优先级比Router-2高(假定它为120,而Router-2100),这时,它就会认为它是Master,同时Router-2也收到了Router-1的参数时,因级别不够,100120,只好屈服在认为自己是Slave,双方相安无事,这种状态就保持了下来。而做为Master的一方,会发送一个免费的ARP报文(gratuitous arp,ARP报文是通告了IPMAC的对应关系,不需要网络中的设备应答,而这个关系就是虚拟IP和虚拟MAC的对应关系,而和它在同一网络中的网络设备(包括PC),会在自己的ARP表中添加这样一条记录。

 

 VRRP可能的故障点:一是在Router-1Router-2在交换VRRP信息时,可能因为Router-1或是Router-2本身性能问题或是CPU繁忙,没有很好地处理VRRP报文,导致没有及时发送免费ARP,使PC找不着明主。第二点是VRRPhello时间太短,当内部L2中网络繁忙时,收不到VRRP报文,或是刚收到一个优先级高的,又收到一个优先级低的VRRP报文,主备频繁导换。第三点是L2交换机,它的CPU繁忙或是硬件表有问题,导致学习MAC时较慢或是学错,不能正常转发,有时会将VRRP的报文转发错误,导致网络中有两个Master,所以在排错时,首先查看两个VRRP路由器,看两者的MasterSlave状态,是否和实际情况一致,并调试VRRP报文。其次,查看L2MAC地址表,查看虚拟MAC是否学习到了正确的端口上。这样就能清楚定位是哪个网络产品的问题。