中小型园区网络建设-VRRP(七)

中小型园区网络建设-VRRP(七)

Scroll Down

企业在建立网络的时候为了保证网络的可靠性,一般都会使用冗余的思想,就是所得设备都是双份的,甚至于异地的双活中心,都是为了保证网络可靠性,一旦一台设备故障,另一台备份机就可以接替原来设备的工作!

1.jpg

什么是VRRP

虚拟路由冗余协议VRRP(Virtual Router Redundancy Protocol)通过把几台路由设备联合组成一台虚拟的路由设备,将虚拟路由设备的IP地址作为用户的默认网关实现与外部网络通信。当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。

2.jpg

VRRP

VRRP的实际效果就如同上面的图,两台交换机switchA和switchB,一主一备使用VRRP以后就相当于一台虚拟路由器的效果!其中的一台设备出现问题不会影响到整体的网络状态!

VRRP概念

虚拟设备:由一个"主(Master)"设备和多个"备(Backup)"设备组成的一个虚拟网关。

  1. 主设备(Master):负责转发数据报文和周期性向备设备发送VRRP协议报文。
  2. 备设备(Backup):不负责转发数据报文,在Master设备发生故障的时候会通过选举形式成为新的Master设备,该角色会接收来自Master设备的VRRP报文并加以分析。
  3. VRID:用来表示一个VRRP组。
  4. 虚拟IP:配置在虚拟设备上的虚拟IP地址,一个虚拟设备可以拥有一个或者多个虚拟IP地址。
  5. 虚拟MAC地址:由虚拟设备生成的虚拟MAC地址,每一个虚拟设备都会自动生成一个虚拟MAC地址,这个MAC地址是用于虚拟设备处理ARP报文的。
  6. 优先级:用于表示物理设备的优先级,这个参数用于Master的选举,取值范围是1-254,这个有优先级有两个比较特殊的值,分别是0和255,优先级0是由原来Master设备发送的,这个优先级是声明此设备不再参与VRRP组。优先级为255的是IP拥有者的优先级,拥有这个优先级会直接成为Master。(优先级数值越低优先级则越高)
  7. 抢占模式:当Backup 设备接收到的VRRP报文通过分析得出当前Master设备的优先级低于Backup设备,则Backup设备会切换为Master设备。

VRRP状态机: VRRP一共有三种状态,分别是:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。

初始状态:在这个状态下VRRP是不可用的,在这个状态下的设备是不会处理VRRP报文的,通常是刚配置VRRP时和检测到故障是会是这个状态。

活动状态:处于Master状态下的设备将会做下列工作:

  1. 定期发送VRRP报文。
  2. 以虚拟MAC地址响应对虚拟IP地址的ARP请求。
  3. 转发目的MAC地址为虚拟MAC地址的IP报文。
  4. 如果它是这个虚拟IP地址的拥有者,则接收目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文。
  5. 如果收到比自己优先级大的报文则转为Backup状态。
  6. 如果收到优先级和自己相同的报文,并且发送端的IP地址比自己的IP地址大,则转为Backup状态。
  7. 当接收到接口的Shutdown事件时,转为Initialize。

备份状态:处于Backup状态下的设备,它将会做下列工作:

  1. 接收Master发送的VRRP报文,判断Master的状态是否正常。
  2. 对虚拟IP地址的ARP请求,不做响应。
  3. 丢弃目的MAC地址为虚拟MAC地址的IP报文。
  4. 丢弃目的IP地址为虚拟IP地址的IP报文。
  5. Backup状态下如果收到比自己优先级小的报文时,丢弃报文,立即切换为Master(仅在抢占模式下生效)。
  6. 如果收到优先级和自己相同或者比自己高的报文,则重置定时器,不进一步比较IP地址。
  7. 当接收到接口的Shutdown事件时,转为Initialize。
  8. 如果MASTER_DOWN_INTERVAL定时器超时,则切换为Master。

三种状态机的关系如下图:

4.jpg

VRRP状态

工作流程:

VRRP备份组会通过优先级选举出Master,Master会使用虚拟MAC发送ARP报文,使与Master连接的主机或者客户端建立与虚拟MAC对应的ARP映射表,同时Master会周期性发布VRRP报文向所有Backup通告其配置信息与工作状态。

如果当前Master出现故障,Backup设备将会在MASTER_DOWN_INTERVAL定时器超时或者其他联动技术检测到Master出现故障时则会根据Backup组内的成员的优先级选举出新的Master,如果Backup只有一台设备则直接成为Master。

新的Master使用虚拟MAC发送ARP报文,使连接在当前VRRP组内的客户端或者设备刷新其ARP映射表。

如果原来的Master从故障中恢复过来,如果其优先级为255则会直接切换到Master,若不是则会恢复到Backup状态,如果当前为抢占模式,当原Master接收到新Master的VRRP报文发现其优先级高于原Master则原Master会直接成为Master。如果处于非抢占模式,则原Master会在新Master出现故障时通过选举等方式成为Master。

VRRP选举:

VRRP通过优先级来确定设备成为Master或者Backup,优先级取值越低,则优先级越高。

初始创建的VRRP设备都处于初始状态,在该状态下,如果设备的优先级为255,则直接成为Master并且跳过接下来的选举,若不是则会切换到Backup状态,然后会等待MASTER_DOWN_INTERVAL超时后成为Master。

首先切换到Master的设备会通过VRRP报文获取其他设备的优先级,然后通过以下规则进行选举:

如果Backup设备接收到来自Master的VRRP报文,发现其优先级数值低于自身,则继续处于Backup状态。 如果Backup设备接收到来自Master的VRRP报文,发现其优先级数值高于自身,则当前Backup设备会切换到Master,而原Master设备会切换到Backup。如果在非抢占模式下,Backup设备仍然会处于Backup状态。 如果同时有多个设备切换到Master,则会互相通过VRRP报文确定其优先级,优先级高的则成为Master,若优先级一样,则对比IP地址,IP地址大的则成为Master。

VRRP状态通告:

Master设备会周期性发送VRRP报文,通告其配置信息与工作状态,Backup则会接收并处理VRRP报文确定Master设备的工作状态。

当Master主动退出VRRP组是,会发送优先级为0的报文通知所有的Backup设备,Backup设备接收到之后会直接切换到Master状态,若Backup组内有多台设备则通过上述选举选出新的Master设备,而不需要等待MASTER_DOWN_INTERVAL超时后再进行切换或者选举。

当Master设备由于故障不能发送VRRP报文,所有的Backup设备都需要等待MASTER_DOWN_INTERVAL 超时后才会认为Master设备出现故障,之后才切换到Master。

VRRP两种模式:

1、 主备备份模式

主备备份模式就是只由Master设备负责转发数据,而Backup设备则处于待机备份模式不参与数据转发,当Master设备出现故障时才会切换到Master进行数据转发。

正常情况下只有Master转发数据,而Backup则处于待机状态,Master会周期发送VRRP报文告知Backup自身的配置信息和工作状态,如果Master发生故障,则Backup会自动切换到到Master继续进行数据转发等。

而当Master恢复之后,若当前为抢占模式,若Master的优先级为255那么Master会直接成为Master否则会先切换到Backup然后再切换到Master。

2、 负载分担模式

上述的主备备份模式,若Master一直正常工作,那么Backup则长期处于待机状态,显然这种做法比较浪费,所以一般会采用负载分担模式,负载分到模式会是Backup都处于工作状态。

参照下图,负载分担模式是创建两个VRRP组分别为A组和B组,A组的Master为SwitchA,Backup为SwitchB,而B组的Master为SwitchB,Backup为SwitchA,通过创建多个拥有不同虚拟IP的VRRP组,为不同的VLAN指定网关实现负载分担。

5.jpg

负载分担模式

参照上图,在VLAN10当中Master是SwitchA,Backup为SwitchB,两台交换机都分别创建vlan10和vlan20 并且分配好IP地址,正常情况下vlan10的客户端会通过SwitchA访问R1,vlan20的客户端会通过SwitchB访问R1这样就实现了负载分担,如果SwitchA出现故障,那么SwitchB会成为vlan10的Master(同时也是vlan20的Master),接替SwitchA的工作,而vlan10的客户端也会通过SwitchB访问R1,而SW2故障则同理。

vrrp实例

9.jpg

我们按照上图所示的案例,在核心CORE1上面建立VLAN10、VLAN20 、VLAN50的master设备,然后在CORE2设备建立VLAN30、VLAN40的master设备。首先网络的负载均衡!

Core1配置VRRP为master 进入VLAN10

[core1]int vlan10

配置虚拟IP

[core1-Vlanif10]vrrp vrid 1 virtual-ip 192.168.10.3

设置本交换机为主设备,配置高级别优先级

[core1-Vlanif10]vrrp vrid 1 priority 200

配置故障抢占时间20秒

[core1-Vlanif10]vrrp vrid 1 preempt-mode timer delay 20

配置VRRP认证

[core1-Vlanif10]vrrp v 1 authentication-mode simple dongzao

Core2配置VRRP为backup

interface Vlanif10

vrrp vrid 1 virtual-ip 192.168.10.3

vrrp vrid 1 priority 150

vrrp vrid 1 preempt-mode timer delay 20

vrrp vrid 1 authentication-mode simple dongzao

这样就配置完成了VLAN10,剩下的方法都是一样的!我们来检查一下结果:

6.jpg

core1

7.jpg

core2

查看结果已经生效!