VRRP
VRRP基本概念
VRRP路由器
- 运行VRRP协议的路由器,VRRP是配置在路由器的接口上的,而且也是基于接口来工作的。
VRID
- 一个VRRP组由多台协同工作的路由器(的接口)组成,使用相同的VRID(Virtual Router Identifier,虚拟路由器标识符)进行标识。属于同一个VRRP组的路由器之间交互VRRP协议报文并产生一台虚拟“路由器”。一个VRRP组中只能出现一台Master路由器。VRRP组范围0-255,0不可以用。
虚拟路由器
- VRRP为每一个组抽象出一台虚拟“路由器”(Virtual Router),该路由器并非真实存在的物理设备,而是由VRRP虚拟出来的逻辑设备。一个VRRP组只会产生一台虚拟路由器。
虚拟IP地址及虚拟MAC地址
- 虚拟路由器拥有自己的IP地址以及MAC地址,其中IP地址由网络管理员在配置VRRP时指定,一台虚拟路由器可以有一个或多个IP地址,通常情况下用户使用该地址作为网关地址。而虚拟MAC地址的格式是“0000-5e00-01xx”,其中xx为VRID。MAC地址使用16进制方式表示。例如VRRP组的VRID为10,那么MAC地址为0000-5e00-010A
Master路由器
- Master路由器”在一个VRRP组中承担报文转发任务。在每一个VRRP组中,只有Master路由器才会响应针对虚拟IP地址的ARP Request。Master路由器会以一定的时间间隔周期性地发送VRRP报文,以便通知同一个VRRP组中的Backup路由器关于自己的存活情况。
Backup路由器
- 也被称为备份路由器。Backup路由器将会实时侦听Master路由器发送出来的VRRP报文,它随时准备接替Master路由器的工作。
Priority
- 优先级值是选举Master路由器和Backup路由器的依据,优先级取值范围0-255,值越大越优先,值相等则比较接口IP地址大小,大者优先。
- 手动可配置优先级范围1-254;0是退出VRRP组是发出的,255(虚拟IP拥有者)是将虚拟IP配置与物理接口IP一样发出的。
VRRP的报文
- 基于IP工作,组播地址224.0.0.18;组播目的MAC,01-00-5E-00-00-12
- VRRP只有一种报文,即Advertisement报文,组播方式发送, Advertisement报文的目的组播地址为224.0.0.18。
- Ver,版本
- Type,类型
- Virtual Rtr ID,VRRP组ID号
- Priority,路由器接口的优先级
- Count IP Addrs,携带了几个虚拟IP
- Auth Type,认证类型
- Adver int,通告的接口
- Checksum,校验和
- IP Address,IP地址
- Authentication Data,认证信息
VRRP定时器
- ADVER_INTERVAL(通告-间隔)定时器:Master发送VRRP通告报文时间周期,缺省值为1秒。
- MASTER_DOWN定时器:Backup设备监听该定时器超时后,会变为Master状态。大约3-4秒钟。
-
-
- MASTER_DOWN =(3* ADVER_INTERVAL)+ Skew_time(偏移时间)
- 其中,Skew_Time=(256–Priority)/256
VRRP状态机
- VRRP协议状态机有三种状态:Initialize(初始状态)、Master(活动状态)、Backup(备份状态)。
- 优先级小于255变为备份设备,等于255直接变为主设备(可以节约IP地址)
- 优先级为0,是认为删除配置的时候自动发出的,可以使之前的备设备不需要等待Master-down时间。
VRRP的选举
- 主设备比优先级+IP地址,备用设备只比较优先级;谁先成为主设备,即便优先级一样,也一直为主设备
- 刚开机的时候都会认为自己为备用设备,会认为3-4秒的时间,会发现没有主;其中一台会升为主设备,会发送一个VRRP通过报文以组播形式,备设备会收到报文;会比较优先级,如果主设备的优先级大,那么备用设备会没有响应等待主设备的周期报文,如果备设备的优先级大,那么备用设备会立即成为主设备并向备设备发送VRRP报文。
VRRP优先级不相等时主备选举过程(比较优先级,大者为主)
- R1的接口VRRP优先级为200,R2的接口VRRP优先级为100,两台设备完成初始化后首先切换至Backup状态。
- R1与R2根据各自MASTER_DOWN定时器超时时间由Backup切换到Master状态,所以R1比R2更快切换至Master状态。
- R1和R2通过相互发送VRRP报文进行Master选举,优先级高的被选举为Master设备,因此R1被选为Master路由器 。
- R1被选举为Master路由器后,立即发送免费ARP报文将虚拟MAC地址通告给与它连接的设备和主机。
VRRP优先级相等时主备选举过程(比较IP地址,大者为主)
- R1与R2的GE0/0/0接口VRRP优先级都是200,两台设备完成初始化后首先切换至Backup状态。
- 由于优先级相同,R1与R2的MASTER_DOWN定时器超时后,同时由Backup状态切换至Master状态。
- R1与R2交换VRRP报文,优先级一样,通过比较接口IP地址选举Master路由器,由于R2的接口IP地址大于R1的接口IP地址,因此R2被选举为Master路由器。
- R2被选举为Master路由器后,立即发送免费ARP报文将虚拟MAC地址通告给与它连接的设备和主机。
配置为IP地址拥有者时主备选举过程(直接成为Master)
- R1与R2的GE0/0/0接口VRRP优先级都采用默认配置(默认为100),但是R1的GE0/0/0接口IP地址与Virtual IP地址相同。
- R1的GE0/0/0接口直接切换至Master状态,R1成为Master路由器。
VRRP主备切换
- 主动放弃,发送为0的报文,无需等待超时时间,这个切换的时间称为Skew_time。
- 当Master设备发生网络故障而不能发送通告报文的时候,Backup设备并不能立即知道其工作状况。等到MASTER_DOWN定时器超时后,才会认为Master设备无法正常工作,从而将状态切换为Master。
回切与抢占(默认抢占,如果备份设备没有开启抢占功能,则不抢占)
- 当R1从故障恢复后,网络将重新进行VRRP主备选举,由于R1的优先级大于R2,所以R1又重新成为新的Master设备负责转发用户报文。如果开启了非抢占模式,那么R1就不会成为新的Master。
- 配置VRRP备份组中Backup设备采用非抢占方式,Backup设备在接收到VRRP通告报文的处理过程中,如果发现接收到的VRRP通告报文中的优先级比自己的优先级低,则Backup设备也不会抢占为Master设备。
- 配置VRRP备份组中Backup设备采用抢占方式,Backup设备在接收到VRRP通告报文的处理过程中,如果发现接收到的VRRP通告报文中的优先级比自己的优先级低,则Backup设备在延迟时间超时后,会抢占成为Master设备。
配置
R1
int g0/0/1
vrrp vrid 1 virtual-ip 192.168.1.254 配置虚拟IP
vrrp vrid 1 priorty 105 配置优先级
R2
int g0/0/1
vrrp vrid 1 virtual-ip 192.168.1.254
dis vrrp
[Huawei-GigabitEthernet0/0/0]vrrp vrid 1 preempt-mode disable 关闭抢占模式(接口要双up)
BFD
- BFD双向转发检测提供了一个通用的、标准化的、介质无关和协议无关的快速故障检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状态。
- BFD是一个简单的“Hello”协议。两个系统之间建立BFD会话通道,并周期性发送BFD检测报文,如果某个系统在规定的时间内没有收到对端的检测报文,则认为该通道的某个部分发生了故障。
BFD的报文结构
- Sta:BFD本地状态。
- Detect Mult:检测超时倍数,用于检测方计算检测超时时间。
- My Discriminator:BFD会话连接本地标识符(Local Discriminator) 。发送系统产生的一个唯一的、非0鉴别值,用来区分一个系统的多个BFD会话。
- Your Discriminator:BFD会话连接远端标识符(Remote Discriminator) 。从远端系统接收到的鉴别值,这个域直接返回接收到的“My Discriminator”,如果不知道这个值就返回0。
- Desired Min TX Interval:本地支持的最小BFD报文发送间隔。
- Required Min RX Interval:本地支持的最小BFD报文接收间隔。
- Required Min Echo RX Interval:本地支持的最小Echo报文接收间隔,单位为微秒(如果本地不支持Echo功能,则设置0)。
BFD会话的建立(静态建立与动态建立)
- BFD会话的建立有两种方式,即静态建立BFD会话和动态建立BFD会话。BFD通过控制报文中的本地标识符和远端标识符区分不同的会话。静态和动态创建BFD会话的主要区别在于Local Discriminator和Remote Discriminator的配置方式不同。
BFD会话状态
- BFD会话有四种状态:Down、Init、Up和AdminDown。会话状态变化通过BFD报文的State字段传递,系统根据自己本地的会话状态和接收到的对端BFD报文驱动状态改变,如左下图所示。BFD状态机的建立和拆除都采用三次握手机制,如右下图所示,以确保两端系统都能知道状态的变化。
BFD检测方式与时间
配置
[Huawei]bfd 开启bfd功能
[Huawei-bfd]qu
[Huawei]bfd dalong bind peer-ip 1.1.1.6 绑定远端ip
[Huawei-bfd-session-dalong]discriminator local 1 本地标识符1
[Huawei-bfd-session-dalong]discriminator remote 2 远端标识符2
[Huawei-bfd-session-dalong]commit
[Huawei]bfd 开启bfd功能
[Huawei-bfd]qu
[Huawei]bfd gaochen bind peer-ip 2.2.2.6 绑定远端ip
[Huawei-bfd-session-dalong]discriminator local 2 本地标识符1
[Huawei-bfd-session-dalong]discriminator remote 1 远端标识符2
[Huawei-bfd-session-dalong]commit
[Huawei-GigabitEthernet0/0/0]vrrp vrid 1 track bfd-session 1 本地标识符