VRRP全称为Virtual Router Redundancy Protocol(虚拟路由冗余协议)
定义在RFC2338和3768中(3768为2338的更新修正版)
而在了解VRRP的原理之前,先来看看VRRP的报文格式。
以下是我从RFC3768中捞出来的VRRP报文格式
然后我们再来看看VRRPVRRP的报文里面有哪些玩意。
首先我们先来看报文的的二层帧头部。
VRRP报文的二层头部只包含了Source MAC address 和Destination MAC address
VRRP报文中源MAC地址格式必须为00-00-5E-00-01-XX
其中XX为虚拟路由器的编号(Virtual Router Identifier,简写为VRID)
其次是报文的三层头部。
目的IP地址是组播240.0.0.18
TTL则必须设定为255,否则会被丢弃
IP的更一层是VRRP ,故Protocol字段数值是112(0x70)
最后到最上层
在RFC3768中有详细说明各字段的意义,在此不作赘述。
其中要特别注意到的是Priority字段。
这个字段定义了sending VRRP router的vrrp优先级(0-255)。
在VRRP路由器组中,按优先级选举主控路由器,VRRP协议中优先级范围是0—255。若VRRP路由器的IP地址和虚拟路由器的接口IP地址相同,则该VRRP路由器被称为该IP地址的所有者;IP地址所有者自动具有最高优先级:255。
而我们在实际的配置操作场景下,VRRP的优先级设置范围只有1-254, 那么VRRP报文中出现优先级字段为255的情况上面已经说明了。那么VRRP报文字段为0一般是出现在什么情况下呢?
抓包软件替我们为优先级0添加了一个注释:the current Master has stopped participating in VRRP , 老大不陪大家玩VRRP这个破游戏了。
意思就是master路由器发现自己其他的地方出了问题,没办法继续为大家转发数据报文给下一个接盘侠了,我把优先级置0了,backup路由器,你赶快给我出来给我接盘。当backup路由器收到这个优先级置0的报文后,就不用像平时那样苦逼兮兮等待master路由器GG才能接盘,而是直接接盘数据转发的任务。
未完待续。