VRRP基本原理
原理部分:
背景:
网络中通常只有一个网关,如果网关down了,这个网段的主机就基本上与世隔绝了,为了解决这个问题,引出了虚拟网关技术VRRP(virtual router redundancy protocol)
将许多物理网关加入到VRRP备份组中,由一个主和多个备组成
选举规则:
一个目的,选出master和backup
master:负责应答对虚拟网关的请求,比如ARP请求
backup:当master down了,接替master的工作
优先级:0~255,默认是100
但是,能用的只有1~254
255:某台主机物理地址与虚拟网关地址相同时,优先级会自动变成255,并且不能修改和抢占,这台主机成为master
0 :触发backup成为master(比如,master退出vrrp组)
如果优先级相同,则比较ip地址
注意:这里和stp选举不一样,VRRP是越大越优先
工作流程:
初始状态双方默认都是backup状态,然后互相发送自己的PRI,并且告诉对方自己是master
经过一番比较,RTA的优先级大于RTB,于是RTA切换到master状态,切换到master状态的RTA会发送一个免费的ARP报文给sw1,
告诉他:“如果有人找这个mac地址,就转发给我”,sw1会把mac地址和对应的接口记在mac地址表中
这时候,如果有主机访问网关,会发送广播ARP,RTA会给予回应,并且PC收到后会将数据包的二层头部补充完整,发到sw1上根据mac地址表转发
建立成功的基本流程是这样,但是,如果master出了故障,down掉了怎么办?
这里要引出另外一个概念,VRRP定时器
-
通告间隔定时器:默认是1S,每秒都会发一个,如果backup超过三次没有收到,则认为老大down掉了,于是会把自己的状态改成master
-
抢占延迟定时器:默认是0S,backup在没有收到master的报文后,会经过一定的抢占时延后,才会切换成master
于是:
这时,如果RTA故障恢复了,会告诉RTB:”我的故障恢复了,请把master的位置还给我“,这时候RTB会回应:”你配置抢占机制了嘛?如果没有配置就继续做backup吧“
如果配置了,在经过抢占时间后,RTA会恢复master的身份
三种状态:
不管是master还是backup,如果接口shutdown了之后会变成initalize状态
如果是ip地址的拥有者(物理地址和虚拟地址相同),会直接从initalize->master
如果不是则变成backup
如果都不是ip地址拥有者,则通过比较优先级和ip地址的大小类来决定状态