一、VRRP概述
Vritual Router Redundancy Protocol 虚拟路由冗余协议
二、VRRP原理
VRRP是一种路由器备份机制,防止网关路由器单点故障。保证网络主机的网关路由器故障时,可及时由另一个路由器接替工作,从而保证网络的连续性和可靠性(一个设备故障导致全网瘫痪的问题——单点故障)
详:
利用VRRP,一组路由器(同一个LAN中的接口)协同工作,但只有一个处于master状态,处于该状态的路由器承担实际的数据流量转发任务。在一个VRRP组内的多个路由器接口共用一个虚拟IP地址,该地址被作为局域网内所有主机的缺省网关地址
VRRP决定哪个路由器是Master,Master路由器负责接收发送至用户网关的数据包并进行转发,以及响应PC对于其网关IP地址的ARP请求
Backup路由器侦听Master路由器的状态,并在Master路由器发生故障时,接替其工作,从而保证业务流量的平滑切换
三、VRRP术语
1.VRRP路由器
运行VRRP的路由器。一台VRRP路由器(的接口)可以同时参与到多个VRRP组中,在不同的组中,一台VRRP路由器可以充当不同的角色
2.VRRP组
一个VRRP组由多个VRRP路由器组成,使用相同的VRID(Virtual Router ID虚拟路由器ID)进行标识,属于同一VRRP组的VRRP路由器互相交换信息,每-个VRRP组中只能有一个Master
3.虚拟路由器
对于每一个VRRP组,抽象出来的一个逻辑路由器,该路由器充当网络用户的网关,该路由器并非真实存在,事实上对于用户而言,只需知道虚拟路由器的IP,至于具体的虚拟路由器的角色由谁来承担、数据转发任务由谁来承担Master故障后谁来接替,这是VRRP的工作
4.虚拟IP地址、MAC地址
1)虚拟IP地址
虚拟IP地址就是虚拟路由器的IP地址,该地址实际上就是用户的网关地址
2)虚拟MAC地址
虚拟MAC地址是虚拟路由器根据VRID生成的MAC地址。一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-{VRID}
5.Master、Backup路由器
1)Master路由器
在VRRP组中实际转发数据包的路由器,在每一个VRRP组中仅有Master响应对虚拟IP地址的ARP请求。Master路由器同时以一定的时间间隔发送VRRP消息,以便通知Backup路由器自己的存活情况
2)Backup路由器
处于监听状态的路由器,一旦Master路由器出现故障,Backup路由器就开始接替工作
详:
- 接收Master设备发送的VRRP通告报文,判断Master设备的状态是否正常
- 对虚拟IP地址的ARP请求,不做响应
- 丢弃目的IP地址为虚拟IP地址的IP报文
- 如果收到优先级和自己相同或者比自己大的报文,则重置Master Down Interval定时器,不进一步比较IP地址。
- 如果收到比自己优先级小的报文且该报文优先级是0时,定时器时间设置为Skew time(偏移时间),如果该报文优先级不是0,丢弃报文,立刻成为Master
3)选举依据
先比较接口VRRP优先级(比大),如果相等,则比较接口IP地址(比大)
6.VRRP消息
封装在IP报文里,通过组播地址 224.0.0.18 发送,TTL为255,协议号为112
四、VRRP状态机
VRRP协议的状态共有三种,分别是Initialize,Master,Backup,初始状态都是Initialize,通过比较优先级产生Master和Backup,在规定时间内,Backup若没有收到Master发来的心跳报文,将切换为Master
五、配置命令
1.Master
int g0/0/X(vlanif X) | 进入对应接口(VLAN) |
vrrp vrid 10 virtual-ip <VIP> | 创建VRRP虚拟路由器的标识vrid为10,并配置vrid 10的虚拟IP地址 |
vrrp vrid 10 priority 120 | 设置设备A的优先级为120(缺省值为100),数值越大越优先 |
vrrp vrid 10 preempt-mode timer delay 6 | 配置Master设备的抢占时延为6秒(缺省值为0,立即抢占),以防频繁地进行状态切换 |
vrrp vrid 1 track int 上行接口 reduced 30 | 跟踪上行接口的状态,如端口故障则Master优先级降低30(缺省值为10) |
2.Backup
int g0/0/X(vlanif X) | 进入对应接口(VLAN) |
vrrp vrid 10 virtual-ip <VIP> | 创建VRRP虚拟路由器的标识vrid为10,并配置vrid 10的虚拟IP地址 |
vrrp vrid 10 priority 110 | 设置设备B的优先级为110 |