虚拟路由器冗余协议vrrp原理的理解

VRRP(Virtual Router Redundancy Protocol)虚拟路由器冗余协议

 

作用

避免由于局域网网关单点故障而导致的网络中断,如下图,如果交换机与外网连接出现故障,则所有的pc都不能访问外部网络。

解决方法

在网络中增加两台路由器(或者三层交换机)部署vrrp,作为冗余的网关,如下图

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。详细工作过程见后面的“工作过程”。

名词解释

  1. 虚拟路由器号(VRID):范围为1~255,以区分不同的VRRP组
  2. vrrp组:一个vrrp组由多台协同工作的路由器组成,使用相同的VRID就称为一个VRRP组。
  3. Master和Backup路由器:Master路由器是承担网关功能的路由器,也称主路由器,在一个VRRP组中承担报文转发任务,每个VRRP组中只有一个Master路由器,其余都为Backup路由器。Backup路由器也称备份路由器,会实时侦听主路由器发送过来VRRP报文,会随时准备接替主路由器的工作。
  4. 虚拟路由器:VRRP每个组抽象出一台虚拟路由器,并非是真实存在的物理设备,而是由VRRP虚拟出来的逻辑设备,拥有自己的IP地址和Mac地址。
  5. 虚拟ip地址:虚拟路由器拥有虚拟的ip地址,自行配置,虚拟ip地址与接口ip同网段。
  6. 虚拟Mac地址:格式是0000-5e00-01xx,其中xx为VRID,例如当VRID为4时,虚Mac地址为0000-5e00-0104.
  7. IP地址拥有者:当接口IP地址与虚拟IP地址相同的路由器,优先级最高,直接为255
  8. 优先级:VRRP根据优先级来确定一个组中每台路由器的地位,取值范围为0~255,默认为100,可配置范围为1~254,优先级越大越可能成为主路由器,255是IP地址拥有者,0是系统保留作为特殊用途,优先级最低。
  9. 抢占模式:如果激活了抢占功能,当他发现收到的VRRP报文优先级低于自己,则切换到Master状态,自己变为主路由器。没激活抢占功能,就算收到优先级低于自己的通告报文,也不会发生角色变化。
     

状态机

一共有三种状态,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
 

Master选举

注:我用ensp模拟器和华为交换机两个接口配vrrp,两个接口优先级相同,ip不同的情况下,总会出现都为master的情况,优先级相同时应该对比ip,ip大的为master。

开启抢占模式

  1. backup路由器收到比自己优先级低的vrrp报文:丢弃收到报文,master_down定时器到期后,状态改变,自己变为master路由器。(华为是直接变成master,不会等定时器到期)
  2. backup路由器收到比自己优先级高的vrrp报文:重置master_down定时器,状态不做改变。
  3. backup路由器收到与自己优先级一样的vrrp报文:重置master_down定时器,不会对比ip大小,状态不做改变。
  4. master路由器收到比自己优先级低的vrrp报文:丢弃收到的报文,状态不做改变
  5. master路由器收到比自己优先级高的vrrp报文:立即切换到backup状态
  6. master路由器收到与自己优先级一样的vrrp报文:对比ip地址,ip地址越大的成为master

非抢占模式

  1. backup路由器收到比自己优先级低的vrrp报文:重置master_down定时器,状态不做改变。
  2. backup路由器收到比自己优先级高的vrrp报文:重置master_down定时器,状态不做改变。
  3. backup路由器收到与自己优先级一样的vrrp报文:重置master_down定时器,状态不做改变。
  4. master路由器收到比自己优先级低的vrrp报文:状态不做改变。
  5. master路由器收到比自己优先级高的vrrp报文:立即切换到backup状态
  6. master路由器收到与自己优先级一样的vrrp报文:对比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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值