华为数通笔记-VRRP
VRRP
局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络,如果默认网关设备发生故障,那么所有用户终端访问外部网络的流量将会中断。可以通过部署多个网关的方式来解决单点故障,但是需要解决多个网关之间的冲突问题。
VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)既能够实现网关的备份,又能解决多个网关之间互相冲突的问题,从而提高网络可靠性。
单网关面临的问题
VRRP概述
通过把几台路由设备联合组成一台虚拟的“路由设备”,使用一定的机制保证当主机的下一跳路由设备出现故障时,及时将业务切换到备份路由设备,从而保持通讯的连续性和可靠性。
VRRP的运行结果是在局域网上提供一个虚拟路由器。
本例中:
局域网中有两个路由器R1和R2,R1端口IP地址为192.168.1.251/24,R2端口IP地址为192.168.1.252/24。
配置R1和R2关联到同一个虚拟路由器,该虚拟路由器使用192.168.1.254做为端口IP地址。
所有的PC使用192.168.1.254做为默认网关。
VRRP的基本概念 (1)
VRRP路由器:运行VRRP协议的路由器,如R1和R2。VRRP是配置在路由器的接口上的,而且也是基于接口来工作的。
VRID:一个VRRP组(VRRP Group)由多台协同工作的路由器(的接口)组成,使用相同的VRID(Virtual Router Identifier,虚拟路由器标识符)进行标识。属于同一个VRRP组的路由器之间交互VRRP协议报文并产生一台虚拟“路由器”。一个VRRP组中只能出现一台Master路由器。
VRRP的基本概念 (2)
虚拟路由器:VRRP为每一个组抽象出一台虚拟“路由器”(Virtual Router),该路由器并非真实存在的物理设备,而是由VRRP虚拟出来的逻辑设备。一个VRRP组只会产生一台虚拟路由器。
虚拟IP地址及虚拟MAC地址:虚拟路由器拥有自己的IP地址以及MAC地址,其中IP地址由网络管理员在配置VRRP时指定,一台虚拟路由器可以有一个或多个IP地址,通常情况下用户使用该地址作为网关地址。而虚拟MAC地址的格式是“0000-5e00-01xx”,其中xx为VRID。
VRRP的基本概念 (3)
Master路由器:“Master路由器”在一个VRRP组中承担报文转发任务。在每一个VRRP组中,只有Master路由器才会响应针对虚拟IP地址的ARP Request。Master路由器会以一定的时间间隔周期性地发送VRRP报文,以便通知同一个VRRP组中的Backup路由器关于自己的存活情况。
Backup路由器:也被称为备份路由器。Backup路由器将会实时侦听Master路由器发送出来的VRRP报文,它随时准备接替Master路由器的工作。
Priority:优先级值是选举Master路由器和Backup路由器的依据,优先级取值范围0-255,值越大越优先,值相等则比较接口IP地址大小,大者优先。
VRRP报文格式
VRRP只有一种报文,即Advertisement报文,基于组播方式发送,因此只能在同一个广播域传递。 Advertisement报文的目的组播地址为224.0.0.18。
VRRP报文字段含义如下:
Ver:VRRP目前有两个版本,其中VRRPv2仅适用于IPv4网络,VRRPv3适用于IPv4和IPv6两种网络。
Virtual Rtr ID:该报文所关联的虚拟路由器的标识。
Priority:发送该报文的VRRP路由器的优先级。
Count IP Addrs:该VRRP报文中所包含的虚拟IP地址的数量。
Auth Type:VRRP支持三种认证类型:不认证、纯文本密码认证、MD5方式认证,对应值分别为0、1、2。
Adver Int:发送VRRP通告消息的间隔。默认为1秒
IP Address:所关联的虚拟路由器的虚拟IP地址,可以为多个。
Authentication Data:验证所需要的密码信息。
VRRP定时器
在VRRP协议工作过程中,VRRP定义了两个定时器:
ADVER_INTERVAL定时器:Master发送VRRP通告报文时间周期,缺省值为1秒。
MASTER_DOWN定时器:Backup设备监听该定时器超时后,会变为Master状态。
MASTER_DOWN定时器计算公式如下:
MASTER_DOWN =(3* ADVER_INTERVAL)+ Skew_time(偏移时间)
其中,Skew_Time=(256–Priority)/256
VRRP技术原理
VRRP状态机
一个Startup事件可以由系统在VRRP配置完成后自动触发,也可以是在已经配置VRRP的端口上,底层链路由不可用变为可用而触发。
VRRP协议状态
VRRP主备选举 (1)
初始创建VRRP的设备工作在Initialize状态,收到接口Up的消息后,若此设备的优先级小于255,则会先切换至Backup状态,等待MASTER_DOWN定时器超时后再切换至Master状态。
如果优先级高的设备先启动,优先级低的设备后启动,则优先级高的设备先进入Master状态,优先级低的设备收到高优先级的VRRP通告报文,自己仍处于Backup状态。
如果优先级低的先启动,优先级高的后启动,则优先级低的先由Backup状态切换为Master状态,优先级高的设备收到优先级低的VRRP通告报文,重新进行选举,将优先级高的设备切换为Master状态。
VRRP主备选举 (2
VRRP主备选举 (3)
通常情况下,VRRP路由器的接口IP地址不会与虚拟路由器的IP地址重叠,也就是说我们会为虚拟路由器单独规划一个IP地址,而不会使用某台路由器的接口IP地址。当然也存在一个特殊的情况,例如在某些网络中IP地址资源比较紧缺,那么也有可能会将某台路由器的接口IP地址用于虚拟路由器,此时该路由器将无条件成为Master。
无法手动将VRRP接口优先级配置为255,当接口IP地址为IP地址拥有者时,优先级自动成为255。
VRRP主备切换
当Master设备主动放弃Master地位(如Master设备退出备份组)时,会发送优先级为0的通告报文,用来使Backup设备快速切换成Master设备,而不用等到MASTER_DOWN定时器超时。这个切换的时间称为Skew_time((256-priority)/256)。
当Master设备发生网络故障而不能发送通告报文的时候,Backup设备并不能立即知道其工作状况。等到MASTER_DOWN定时器超时后,才会认为Master设备无法正常工作,从而将状态切换为Master。
VRRP主备回切 (1)
1正常情况下,由Master设备负责转发用户报文,如图所示,所有用户流量通过R1到达Internet。
2.当R1出现故障时,网络会重新进行VRRP主备选举,如图所示,此时R2会成为新的Master设备负责转发用户报文。
VRRP主备回切 (2)
3.
开启抢占模式的VRRP备份组,当主备进行切换时,总共时长为:3xAdver_Interval+Skew_time+Delay_time
在抢占模式下,当Master的设备状态不稳定或者网络质量差时,会导致VRRP备份组频繁切换,从而引发终端ARP表项频繁刷新,为缓解此问题,通常设置抢占延时定时器,通过MASTER_INTERVAL定时器超时时间加上延时时间,确定状态稳定后,再进行主备回切
当R1从故障恢复后,网络将重新进行VRRP主备选举,由于R1的优先级大于R2,所以R1又重新成为新的Master设备负责转发用户报文
VRRP典型应用
VRRP负载分担
通过创建多个虚拟路由器,每个物理路由器在不同的VRRP组中扮演不同的角色,不同虚拟路由器的Virtual IP作为不同的内网网关地址可以实现流量转发负载分担。
VRRP监视上行端口
如果用户未配置VRRP监视上行端口,则当VRRP备份组中的Master设备R1的上行接口或者链路出现故障时,VRRP备份组无法感知,Master无法向外转发流量。但是由于主备不会发生切换,导致出现流量黑洞。
VRRP与BFD联动
通过配置VRRP与BFD联动,当Backup设备通过BFD感知故障发生之后,不再等待Master_Down_Timer计时器超时而会在BFD检测周期结束后立即切换VRRP状态,此时可以实现毫秒级的主备切换。
当VRRP备份组之间的链路出现故障时,由于此时VRRP报文无法正常交互,Backup设备需要等待Master_Down_Timer计时器超时后才会切换为Master设备,在等待切换期间内,业务流量仍会发往Master设备,此时会造成业务流量丢失。
通过在Master设备和Backup设备之间建立BFD会话并与VRRP备份组进行绑定,由BFD机制快速检测VRRP备份组之间的通信故障,并在出现故障时及时通知VRRP备份组进行主备切换,从而大大减少应用中断时间。
在普通BFD联动中,VRRP备份组会根据BFD会话的状态进行优先级调整,并根据调整后的优先级判断是否进行主备切换。在实际应用中,通常Master设备配置延时抢占,而Backup设备配置立即抢占,当Backup设备检测到BFD会话状态出现DOWN后,通过增加自身优先级大于Master优先级实现快速切换,当故障排除,BFD会话状态出现UP时,新的Master通过减小自己的优先级,发送vrrp通告报文,经过延迟时间后再次切换为Backup。
VRRP与MSTP结合应用
MSTP是将一个或多个VLAN映射到一个生成树的实例,若干个VLAN共用一个生成树,MSTP可以实现负载均衡。
VRRP配置网关可以灵活根据网络拓扑变化而自动切换,提高网络可靠性。
VRRP+MSTP可以在实现负载分担的同时保证网络冗余备份。
VRRP配置
相关文章
- spring学习笔记(22)声明式事务配置,readOnly无效写无异常
- 【华为云技术分享】物体检测yolo3算法 学习笔记(1)
- 深度学习Keras框架笔记之核心层基类
- ES6学习笔记之map、set与数组、对象的对比
- elasticsearch使用笔记
- gcc学习笔记
- CCNA2.0笔记_IP连接排错
- Flutter笔记 - 布局类组件
- Jquery学习笔记一
- 内容分发网络 - Content Delivery Network 学习笔记
- 一个Java实现的有道云笔记中包含的图片文件的批量下载工具
- SAP标准培训课程C4C10学习笔记(三)第三单元
- Android问题笔记 - Only one Looper may be created per thread解决方法
- AI英特尔杯公开课:2019.06.27在线直播《研究生人工智能创新大赛—AI赋能,创新引领》课堂笔记和感悟(二)
- 【华为云技术分享】实战笔记丨JDBC问题定位指南
- 机器学习笔记(九)---- 集成学习(ensemble learning)【华为云技术分享】
- 微信小程序开发学习笔记(二)——小程序框架、组件、WXML
- Lua学习笔记5:类及继承的实现
- 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!
- CI框架源代码阅读笔记6 扩展钩子 Hook.php
- 【云原生之Docker实战】使用docker部署Wiznote私人笔记系统
- 量子笔记:多比特量子门
- 答题 笔记