VRRP(虚拟路由冗余协议)
前言:
局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络,如果默认网关设备发生故障,那么所有用户终端访问外部网络的流量将会中断。可以通过部署多个网关的方式来解决单点故障,但是需要解决多个网关之间的冲突问题。
VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)既能够实现网关的备份,又能够解决多个网关之间互相冲突的问题,从而提高网络可靠性。
VRRP概述:
通过把几台路由设备联合组成一台虚拟的"路由设备",使用一定的机制保证当主机的下一跳路由设备出现故障时,及时将业务切换到备份路由设备,从而保证通讯的连续性和可靠性。
VRRP的基本概念:
1)VRRP路由器 :运行VRRP协议的路由器。VRRP是配置在路由器的三层接口上的,而且也是基于接口来工作的。
2)VRID(虚拟路由器标识符) : 一个VRRP组(VRRP Group)由多台协同工作的路由器(的接口)组成,**使用相同的VRID(虚拟路由器标识符)进行标识。**属于同一个VRRP组的路由器之间交互VRRP协议报文并产生一台虚拟"路由器"。一个VRRP组中只能出现一台Master路由器。
3)虚拟路由器:VRRP为每一个组抽象出一台虚拟"路由器"(Virtual Router),该路由器并非真实存在的物理设备,而是由VRRP虚拟出来的逻辑设备,一个VRRP组只会产生一台虚拟路由器。
4)虚拟IP地址及虚拟MAC地址 :虚拟路由器拥有自己的IP地址以及MAC地址,其中IP地址由网络管理员在配置VRRP时指定,一台虚拟路由器可以有一个或多个IP地址,通常情况下用户使用该地址作为网关地址。而虚拟MAC地址的格式是"0000-5e00-01xx",其中xx为VRID。
5)Master路由器:"Master路由器"在一个VRRP组中承担报文转发任务。在每一个VRRP组中,只有Master路由器才会响应针对虚拟IP地址的ARP Request。Master路由器会以一定的时间间隔周期性地发送VRRP报文,以便通知同一个VRRP组中的Backup路由器关于自己的存活情况。
6)Backup路由器:也被称为备份路由器。Backup路由器将会实时侦听Master路由器发送出来的VRRP报文,它随时准备接替Master路由器的工作。
7)Priority :优先级值是选举Master路由器和Backup路由器的依据,优先级取值范围0-255(实际上只能配置1-254),(默认优先级是100 )值越大越优先 ,值相等则计较接口IP地址大小,大者优先。
7-1)当路由器接口配置为VRRP的地址拥有者(接口IP地址与虚拟 IP相同),路由器无需等待任何定时器超时,可以直接切换至Master状态(它的优先级默认为变成255)
7-2)当路由器取消VRRP后它的优先级自动变为0,此时Backup路由器直接变为Master路由器。
VRRP定时器
在VRRP协议工作过程中,VRRP定义了两个定时器:
ADVER_INTERVAL(通告间隔)定时器:Master发送VRRP通告报文时间周期,缺省值为1秒
MASTER_DOWN定时器(主路由器超时时间):Backup设备监听该定时器超时后,会变为Master状态。缺省值为3秒.
VRRP状态机

VRRP协议状态
Master状态:
1)定期发送VRRP报文
2)以虚拟MAC地址响应对虚拟IP地址的ARP请求
3)转发目的MAC地址为虚拟MAC地址的IP报文
4)当多台设备同时为Master时,若设备收到与自己优先级相同的报文时,会进一步比较IP地址的大小。如果收到报文源IP地址比自己大,则切换到Backup状态,
否则保持Master状态。
Backup状态:
1)接收Master设备发送的VRRP报文,判断Master设备的状态是否正常
2)对虚拟IP地址的ARP请求,不做响应
3)丢弃目的MAC地址为虚拟MAC地址的IP报文
4)丢弃目的ip地址为虚拟ip地址的ip报文
5)如果收到优先级和自己相同或者比自己优先级大的报文时,重置MASTER_DOWN定时器,不进一步比较IP地址的大小。
VRRP负载分担
通过创建多个虚拟路由器,每个物理路由器在不同的VRRP 组中扮演不同的角色,不同虚拟路由器的Virtual IP作为不同的内网网关地址可以实现流量转发负载分担。
VRRP监视上行端口
VRRP可监视(Track)上行端口状态,当设备感知上行端口或者链路发生故障时,可主动降低VRRP优先级,从而保证上行链路正常的Backup设备能够通过选举切换为Master状态,指导报文转发。
[SW1-Vlanif8]vrrp vrid 8 track interface g0/0/2 reduced 60 //如果上行链路断掉了就减少vrrp的优先级(这个是减少60)
VRRP与BFD联动
通过配置VRRP与BFD联动,当Backup设备通过BFD感知故障发生之后,不再等待Master_Down_Timer计时器超时而会在BFD检测周期结束后立即切换VRRP状态,此时可以实现毫秒级的主备切换。
实验
要求1.虚拟路由器的IP地址为192.168.1.254
2.R1为Master路由器,R2为Backup路由器

R1
interface GigabitEthernet0/0/0
ip address 192.168.1.252 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.1.254 //虚拟路由器的IP地址为192.168.1.254
vrrp vrid 1 priority 120 //VRRP的优先级是120
R2
interface GigabitEthernet0/0/0
ip address 192.168.1.253 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.1.254 //虚拟路由器的IP地址为192.168.1.254
//(默认的优先级是100)
检验
[R1]dis vrrp brief
Total:1 Master:1 Backup:0 Non-active:0
VRID State Interface Type Virtual IP
----------------------------------------------------------------
1 Master GE0/0/0 Normal 192.168.1.254
[R2]dis vrrp brief
Total:1 Master:0 Backup:1 Non-active:0
VRID State Interface Type Virtual IP
----------------------------------------------------------------
1 Backup GE0/0/0 Normal 192.168.1.254
BFD(双向转发检测)
前言
随着网络应用的广泛部署,网络发生故障极大可能导致业务异常。为了减小链路、设备故障对业务的影响,提高网络的可靠性,网络设备需要尽快检测到与相邻设备间的通信故障,以便及时采取措施,保证业务正常进行
BFD(双向转发检测)提供了一个通用的、标准化的、介质无关和协议无关的故障检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状态。
BFD概述
BFD提供了一个通用的、标准化的、介质无关的、协议无关的快速故障检测机制。有以下两大优点:
1)对相邻转发引擎之间的通道提供轻负荷、快速故障检测
2)用单一的机制对任何介质、任何协议层进行实时检测
BFD是一个简单的"Hello"协议。两个系统之间建立BFD会话通道,并周期性发送BFD检测报文,如果某个系统在规定的时间内没有收到对端的检测报文,则认为该通道的某个部分发送了故障。
BFD会话建立
BFD会话建立有两种方式,即静态建立BFD会话和动态建立BFD会话。BFD通过控制报文中的本地标识符和远端标识符区分不同的会话。静态和动态创建BFD会话的主要区别在于Local Discriminator和Remote Discriminator的配置方式不同。
静态建立BFD会话
静态建立BFD会话是指通过命令行手工配置BFD会话参数,包括配置本地标识符和远端标识符等,然后手工下发BFD会话建立请求。
动态建立BFD会话
动态建立BFD会话的本地标识符由触发创建BFD会话的系统动态分配,远端标识符从收到对端BFD消息的Local Discriminator的值学习而来。
BFD检测时间
BFD会话检测时长由TX,PX,DM三个参数决定。BFD报文的实际发送时间间隔,实际接收时间间隔由BFD会话协商决定。
BFD报文发送间隔默认1000毫秒,接受间隔默认1000毫秒,本地检测倍数3次