一、VRRP工作原理
前面我们大概了解了VRRP的一些基础概念,现在开始学习VRRP的技术原理。VRRP的选举及工作步骤:
-
确定网关地址 -
选举主备 -
主设备发送VRRP报文通知Backup设备 -
主设备响应终端ARP并维持在Master状态 -
终端正常发送报文到网关进行转发
因为我们前面大致说了在VRRP中网关IP可以是虚拟IP和MAC地址,因此我们需要确定网关IP是使用虚拟IP地址或者使用物理的接口地址,选择不同也会有些许差异,一般正常情况下使用虚拟IP进行响应。
VRRP只有一种报文Advertisement报文,多个路由设备通过发送Advertisement报文进行主备选举,在报文携带VRRP版本、VRRP组ID、VRRP优先级、VRRP虚拟网关地址进行比较,先比较优先级,优先级大的优先,优先级相等则比较接口IP地址,IP地址大的优先,缺省优先级为100。
一、VRRP状态变化
VRRP协议状态机有三种状态:Initialize(初始状态)、Master(活动状态)、Backup(备份状态)。
![VRRP状态变化](https://img-blog.csdnimg.cn/img_convert/1ea5673811b0d493cad3bf82b60cf136.png)
初始化状态就是在设备上配置完成时的状态,Master状态为主设备的状态,Nackup状态为备份设备的状态,备份设备会监听主设备发送的Advertisement报文,当定时器超时都没有收到主设备的报文时则备份设备切换为Master状态。
Master状态:
-
定期(ADVER_INTERVAL)发送VRRP报文。 -
以虚拟MAC地址响应对虚拟IP地址的ARP请求。 -
转发目的MAC地址为虚拟MAC地址的IP报文。 -
默认允许ping通虚拟IP地址。 -
当多台设备同时为Master时,若设备收到与自己优先级相同的报文时,会进一步比较IP地址的大小。如果收到报文的源IP地址比自己大,则切换到Backup状态,否则保持Master状态。
Backup状态:
-
接收Master设备发送的VRRP报文,判断Master设备的状态是否正常。 -
对虚拟IP地址的ARP请求,不做响应。 -
丢弃目的MAC地址为虚拟MAC地址的IP报文。 -
丢弃目的IP地址为虚拟IP地址的IP报文。 -
如果收到优先级和自己相同或者比自己优先级大的报文时,重置MASTER_DOWN定时器,不进一步比较IP地址的大小。
二、VRRP主备选举
2.1 当VRRP优先级不相等时主备选举过程
VRRP选举工作步骤,当优先级不一样时根据VRRP定时器的计算规则优先级大的切换为Master的时间较短。
![优先级不相等的主备选举](https://img-blog.csdnimg.cn/img_convert/90f2274a25aa1853bf60a42e0e622efe.png)
-
确定网关IP地址为192.168.1.254,地址不是物理实际IP地址因此需要进行主备选举。 -
R1的接口VRRP优先级为200,R2的接口VRRP优先级为100,两台设备完成初始化后首先切换至Backup状态。 -
R1与R2根据各自MASTER_DOWN定时器超时时间由Backup切换到Master状态,所以R1比R2更快切换至Master状态。 -
R1和R2通过相互发送VRRP报文进行Master选举,优先级高的被选举为Master设备,因此R1被选为Master路由器 。 -
R1被选举为Master路由器后,状态切换为Master状态,立即发送免费ARP报文,后续终端发往192.168.1.254的报文会有R1进行响应回复给终端实现网络通信。
2.2 VRRP优先级相等时主备选举过程
优先级相同的同时为master,然后交互VRRP报文,根据IP地址大的为master。
![优先级相等](https://img-blog.csdnimg.cn/img_convert/7369186acf76b9f3f07a65982b1c1933.png)
-
R1与R2的GE0/0/0接口VRRP优先级都是200,两台设备完成初始化后首先切换至Backup状态。 -
由于优先级相同,R1与R2的MASTER_DOWN定时器超时后,同时由Backup状态切换至Master状态。 -
R1与R2交换VRRP报文,优先级一样,通过比较接口IP地址选举Master路由器,由于R2的接口IP地址大于R1的接口IP地址,因此R2被选举为Master路由器。 -
R2被选举为Master路由器后,立即发送免费ARP报文将虚拟MAC地址通告给与它连接的设备和主机。
2.3 配置为IP地址拥有者时主备选举过程:
在VRRP选举中有一种情况可以不进行主备选举,直接切换到Master状态:
-
R1与R2的GE0/0/0接口VRRP优先级都采用默认配置(默认为100),但是R1的GE0/0/0接口IP地址与Virtual IP地址相同。 -
R1的GE0/0/0接口直接切换至Master状态,R1成为Master路由器。 -
无法手动将VRRP接口优先级配置为255,当接口IP地址为IP地址拥有者时,优先级自动成为255。
![网关地址为物理接口地址](https://img-blog.csdnimg.cn/img_convert/0aa1a312efbfd95dc52561934f68569f.png)
总结:VRRP只有一种报文Advertisement报文。VRRP状态有3种:Initialize(初始状态)、Master(活动状态)、Backup(备份状态)。当接口地址为虚拟网关地址时,直接切换为Master状态,否则需要等待定时器超时进行主备选举;当优先级不同时优先级大的优先成为主设备;当优先级相同时接口IP地址大的优先成为主设备。
本文由 mdnice 多平台发布