避免由于局域网网关单点故障而导致的网络中断,如下图,如果交换机与外网连接出现故障,则所有的pc都不能访问外部网络。
在网络中增加两台路由器(或者三层交换机)部署vrrp,作为冗余的网关,如下图
能让多台同属于一个广播域的网络设备能够协同工作,实现设备冗余。将多个路由器加入到同一个备份组中,形成一台虚拟路由器,如上图的AR1和AR2,就形成了一个备份组,虚ip为10.0.0.1,备份组中会区分Master主路由器和Backup备份路由器,一个备份组中只有Master路由器会承担数据流量的转发,当Master路由器出现故障时,其余的Backup路由器会选举出一个路由器接替Master的工作。如上图,如果AR1为Master路由器并且出现了故障,AR2就会变成Master接替AR1的工作,虚拟路由器就仍然正常工作,从而避免了单点故障导致的网络中断。
VRRP是配置在路由器的接口上的,也是基于接口来工作的,一个VRRP组的路由器接口必须属于同一个广播域(如果是通过vlanif来配置的vrrp必须同vlan),否则VRRP报文无法正常交互。Master主路由器会使用固定的组播地址224.0.0.18有固定间隔时间发送vrrp报文,Backup路由器不会主动发送vrrp报文,如下图,路由器R1和R2的GE 0/0/0接口配置并开启了VRRP,ip都为10.0.0.0\24网段,如果AR1为Master路由器,则会一直发送vrrp报文,LSW1二层交换机会记录对应的mac(mac地址为虚mac后面会讲)和端口,各pc将虚ip设置为自己的网关,那数据就会从GE 0/0/4口出去,如果R1发生了故障,backup路由器R2在一定的时间没有接收到通告报文(master_down定时器到期),R2就会变成master路由器,然后开始发送通告报文,此时LSW1二层交换机就会更新二层表项将虚mac重新对应到端口GE 0/0/5上,pc的数据流量就都会从GE 0/0/5出去到达R2。详细工作过程见后面的“工作过程”。
一共有三种状态,initialize(初始状态),backup(备份状态),master(主状态)
initialize(初始状态):配置vrrp后端口如果没up,则是初始状态。
backup(备份状态):不参与数据转发工作,会接收Master发过来的vrrp报文,监控当前master路由器的状态,并随时准备接替主路由器的工作。
master(主状态):承担数据转发任务,收到关于虚ip地址的arp请求予以虚拟mac地址进行回应,转发目的mac为虚拟mac地址的报文,周期性发送VRRP通告报文。
认证类型:0代表无认证,1代表明文认证方式,2代表MD5认证方式,认证数据在IP Address数据之后。
master通告定时器:master路由器使用,报文advertisement interval字段所填充的值,缺省为1秒,该时间为master路由器周期性发送vrrp报文的间隔。
Master_down定时器:backup路由器使用,接收到vrrp报文会重置master_down定时器,如果超时,则认为当前master路由器已经失效,自己变为master路由器。定时器的值为三倍的通告时间+偏移时间,偏移时间为(256-vrrp优先级)X通告间隔时间 / 256
注:我用ensp模拟器和华为交换机两个接口配vrrp,两个接口优先级相同,ip不同的情况下,总会出现都为master的情况,优先级相同时应该对比ip,ip大的为master。
开启抢占模式:
非抢占模式:
1. 同时启动
R1,R2同时启动,此时他们状态都是initialize状态,接口up后,VRRP状态从initialize切换到backup状态,在master_down定时器超时之后切换到master状态,R1,R2同时都是master状态,开始发送vrrp报文,也会立即发送一个免费ARP报文,pc收到这个ARP报文后,就知道了虚拟ip与虚拟mac地址的对应关系。R1和R2同是master收到对方发送过来的vrrp报文,就会进行对比,因为优先级都是默认100,所以对比ip,R2的ip地址更大所以更优,R2状态不发生改变,R1状态变为backup,之后,R1不再发送vrrp报文,R2间隔1秒发送一次vrrp报文,交换机也会学习到关于该虚拟mac的mac表项,mac 0000-5e00-0101 对应GE 0/0/5 VLAN 1。状态稳定下来。
Pc要发送数据给外部网络,由于目的ip地址并不在本地网段中,因此将数据包发往自己的默认网关10.0.0.1,查询arp表后,发现网关ip对应mac地址0000-5e00-0101,于是为报文封装以太网帧头,改数据帧的目的mac是0000-5e00-0101。数据帧到达交换机,交换机查询mac表后,将该帧从GE0/0/5口转发给R2,由R2转发给外部网络。
R2发生故障,R1无法接收到VRRP报文时,在master_down定时器到期之后,R1将状态切换为master,立刻从GE0/0/0发送一个免费ARP报文,交换机的mac地址表将被立即刷新,mac 0000-5e00-0101 对应GE 0/0/4 VLAN 1。状态稳定下来。往后pc发往网关的数据就都会从R1转发给外部网络。
R2如果故障恢复,恢复正常,状态变为backup,R2如果开启了抢占模式且优先级更高,则会变为master,并立即发送arp报文(用于刷新交换机的mac地址表项),R1收到报文对比优先级,优先级相同对比ip大小,发现自己ip小,切换为backup状态。R2如果开启了抢占模式且优先级相同,状态依旧为backup(注意不会去比较ip,只有master路由器收到报文才会对比ip地址大小)。R2如果没开启抢占模式则状态依旧为backup。
2. R1率先启动
R1率先变为master,发送vrrp报文,R2如果开启了抢占模式且优先级更高,则会变为master,并立即发送arp报文(用于刷新交换机的mac地址表项),R1收到报文对比优先级,优先级相同对比ip大小,发现自己ip小,切换为backup状态。R2如果开启了抢占模式且优先级相同,状态依旧为backup(注意不会去比较ip,只有master路由器收到报文才会对比ip地址大小)。R2如果没开启抢占模式则状态依旧为backup。