VRRP技术原理与注意点
概念:
VRRP(虚拟路由冗余协议),是一种容错协议,可通过把几台三层设备联合组成一台虚拟的路由设备,然后使用一定的机制保证在下一跳路由设备,出现故障时上一跳设备及时将业务切换到备份路由设备,从而保持通信的连续性和可靠性。
VRRP协议报文用来将Master设备的优先级和状态通告给同一备份组的所有Backup设备。VRRP协议报文封装在IP报文中,发送到分配给VRRP的IP组播地址。
在IP报文头中,源地址为发送报文接口的主IP地址(不是虚拟IP 地址),目的地址是224.0.0.18,TTL是255,协议号是112。
目前,VRRP协议包括两个版本:VRRPv2和VRRPv3。VRRPv2 和VRRPv3的主要区别为:
- 支持的网络类型不同。VRRPv3适用于IPv4和IPv6两种网络,而VRRPv2和VRRPv3的主要区别。
- 认证功能不同。VRRPv3不支持认证功能,而VRRPv2支持认证功能。
- 发送通告报文的时间间隔的单位不同。VRRPv3支持的是离秒级,而VRRPv2支持的是秒级。
VRRP基本工作原理:定义了三种状态,初始状态(Initialize),活动状态(Master),备份状态(Backup),其中,只有处于活动状态(Master)的设备才可以转发发送到虚拟路由器IP地址的数据报文,转换关系如下图:
选举过程:
初始创建的设备都是Initialize状态,当VRRP设备在收到VRRP接口Statup消息后,如果此设备的优先级等于255(虚拟网关和自己真实IP地址相同,可以配置的为1-254,默认为100),将直接切换至Master状态,并且无需进行下面的Master选举。否则,将会直接切换Backup状态,等待一个专门为接收Master通告的定时器超时,变成Master。
切换成Backup状态的设备,在Master_Down_Interval 定时器超时后再切换至Master状态(定时器取值为:(3* Advertisement_Interval) +Skew_time, Skew_time= (256-Backup设备的优先级) /256;默认情况下Advertisement_nteval为1秒。可以看到,优先级越高,切换为Master的时间越短。
首先切换至Master状态的VRRP设备通告报文的交互获知虚拟设备中其他成员的优先级,然后其余Backup设备执行如下步骤:
• 如果收到的VRRP报文中显示的Master设备优先级高于或等于自己的优先级,则当前Backup设备保持Backup状态。
• 如果收到VRRP报文中Master设备的优先级低于自己的优先级,当采用抢占方式是(缺省),则当前Backup设备将切换至Master状态,当采用非抢占方式时,当前Backup设备仍保持Backup状态。
• 如果Master_Down_Interval 超时,没有收到VRRP报文,自己就将切换至Master状态。新的Master设备会立即发送携带虚拟路由器的虚拟MAC地址,00-00-5E-00-01-{VRID} (VRRP for IPv4);00-00-5E-00-02-{VRID} (VRRPfor IPV6)和虚拟IP地址信息的免费ARP报文,刷新与它连接的主机或设备中的MAC从而把用户流量引到新的Master设备上来。
如果有多个VRRP设备同时切换到Master状态,通过VRRP通告报文的交互进行协商后,优先级较低的VRRP设备将切换成Backup状态,优先级最高的设备成为最终的Master设备,优先级相同时,再根据VRRP设备上VRRP备份组所在接口主IP地址大小进行比较,IP地址较大的成为Master设备。
原Master设备故障恢复时,若该设备为IP地址拥有者(优先级为255), 将直接切换至Master状态。
优先级0和255是不可以手动设置的,只有虚拟IP和接口IP为同一个IP地址时,该设备的优先级会自动调为255.Master设备要退出该VRRP时,会发送优先级为0的VRRP通告报文。
Master设备状态的通告:
Master设备会周期性地发送VRRP通告报文,在VRRP备份组中公布其配置信息等,Backup设备通过接受到Master设备发来的VRRP报文情况来判断Master设备是否工作正常。这里分为两种情况:
- 当Master设备主动放弃Master地位时,会发送优先级为0(终于派上用途了)的VRRP通告报文,使Backup设备快速切换成Master设备,当有多台Backup设备时也要进行之前介绍的Master选举。
- 当因为Master设备发生故障而不能发送VRRP报文时,Backup设备需要等到定时器超时后才能发觉Master可能出现问题,然后自己成为Master,如果有多台Backup设备的话,同样会进行选举,最后选举出唯一的一个Master设备。
VRRP的两种模式:
- VRRP的主备备份:在一个VRRP组内,一个Master设备,一个或多个备份设备,流量通过Master设备传输。
- VRRP负载分担模式:分为多网关负载分担和单网关负载分担,所谓多网关负载分担,就是先创建多个VRRP备份组,可以让一部分用户(如一个vlan)走其中一个备份组的网关,让另外一部分用户走另外一个备份组的网关,实现了流量的负载分担。单网关负载分担是多网关负载分担的升级版,这里不进行过多的介绍。
注意:VRRP与三层有关,比较的参数一般是越大越好,如果参数相同时比较的是IP地址,越大越好,而生成树,链路聚合与二层有关的协议,比较的参数一般是越小越好,如果相同的话比较的是MAC地址,越小的越优先。
VRRP和MSTP同时存在时注意点:
VRRP主设备和同一VLAN的MSTP根桥需要时同一设备,避免次优路径的产生:
在此拓扑中,例如VLAN10的根桥为SW8,VRRP的Master却是SW7,就会出现次优路径。
SW5的e0/0/1接口被阻塞,报文(目的IP和MAC是VRRP的地址)无法直接发送给SW7,必须要经过SW8。如果SW7即是根桥也是Master,则不会出现此问题,如下图,报文可以直接通过SW5转发到SW7上。
华为设备VRRPv2配置:
- 指定虚拟ip地址:vrrp vrid 1 virtual-ip x.x.x.x //指定的是组1的虚拟IP地址
- 指定优先级:vrrp vrid 1 priority x(1-254)
- 抢占关闭: vrrp vrid 1 preempt-mode disable
- 抢占时延:vrrp vrid 1 preempt-mode timer delay x(0-3600,默认为0,表示立刻进行抢占,单位秒)
- VRRP通告报文的时间:vrrp vrid 1 timer advertise x(1-255) //默认是1
参考资料:HCIE培训文档
VRRP技术原理与注意点相关推荐
- 【直通华为HCNA/HCNP系列R篇8】VRRP技术原理及配置与管理-王达-专题视频课程
[直通华为HCNA/HCNP系列R篇8]VRRP技术原理及配置与管理-10465人已学习 课程介绍 本课程以笔者编写,由华为公司指定作为ICT认证培训教材--<华为路由器学习指南 ...
- 【转载】SLB技术原理浅析
产品介绍 SLB技术原理浅析 阿里云产品团队 发表于2014年3月21日 | 阅读(28,417) 评论 (10) 1 SLB功能介绍 SLB(Server Load Balance)服务通过设置虚拟 ...
- 负载均衡技术原理浅析
1.技术架构 2.LVS技术特点 FULLNAT技术概述 SYNPROXY技术概述 集群部署方式 Keepalived优化 3.Tengine技术特点 4.更多功能 SLB(Server Load B ...
- 使用VRRP技术实现网关设备冗余,附详细配置实验
文章目录 前言 一.VRRP技术的原理 二.VRRP实验与配置 1.实验拓扑 2.实验拓扑介绍 3.实验配置 VRRP配置命令 设备配置 三.实验结果 总结 前言 企业的网络中一般会使用三层交换机或路 ...
- php 伪静态 page-18.html,PHP 伪静态实现技术原理讲解
PHP 伪静态实现技术原理讲解 发布于 2015-01-18 23:52:58 | 129 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Pre ...
- 看了极光推送技术原理的几点思考
看了极光推送技术原理的几点思考 分类: android2012-11-26 20:50 16586人阅读 评论(18) 收藏 举报 目录(?)[+] 移动互联网应用现状 因为手机平台本身.电量.网络流 ...
- 秋色园QBlog技术原理解析:性能优化篇:用户和文章计数器方案(十七)
2019独角兽企业重金招聘Python工程师标准>>> 上节概要: 上节 秋色园QBlog技术原理解析:性能优化篇:access的并发极限及分库分散并发方案(十六) 中, 介绍了 ...
- 详解微信域名防封的方法以及检测等工具的技术原理
微信域名完全防封是绝对不可能的,这是必须明确的,曾经有人打折<不死域名>的概念,它不是不死,是稍微命长一点,在推广上成本更低一下,效果更好一些, 主要的技术原理是利用了腾讯云的域名安全联盟 ...
- NLP实践:对话系统技术原理和应用
本文节选自电子工业出版社<自然语言处理实践:聊天机器人技术原理与应用> 作者:王昊奋&邵浩&李方圆&张凯&宋亚楠 以下是节选内容 按照技术实现,我们可将任务 ...
- 范成法加工matlab_光学非球面技术原理与加工技术
光学非球面的定义 广义来说,非球面是不包括球面和平面的其他表面.从应用的角度来说,非球面可以分成轴对称的非球面.具有两个对称面的非球面.没有对称性的自由曲面. 非球面分类 通常把非球面分成二次非球面和 ...
最新文章
- 做好三个“避免”,加速网站排名提升!
- html如何超链接到servlet
- 新的一年,请以这样的标准完善自我
- Java静态方法调用非静态方法
- SAP UI5 System Test 的工具之一:uiveri5
- DFS应用——找出无向图的割点
- centos6.5安装配置zabbix3.0.3
- 多场景下的AI疫情防控“天网”:解读云边端联动下的全栈 AI 技术
- mysql创建表时,表的类型与java的数据类型映射(常用)
- shell中注释一段代码的方法
- vb怎么判断整数_VB数学函数大全
- ES6 中的 Set、Map 和 WeakMap
- Android Material Components – MaterialAlertDialog
- 线索二叉树实现(中序)
- Weex组件库-Dialog
- property_自己编写一个读取Property文件的Util类
- 51单片机电子琴设计
- “某某云词典” – 纠结的初体验
- 鸿蒙系统应用(HarmonyOS)2
- @Transactional 失效的几种情况
热门文章
- 一段平平无奇的秋招经历
- PyTorch学习—19.模型的加载与保存(序列化与反序列化)
- leetcode—9.分离双指针题型python解答
- tensorflow2.报错与解决 Cannot convert a symbolic Tensor
- 对数线性模型:逻辑斯谛回归和最大熵模型
- numpy无法导入的问题--ModuleNotFoundError: No module named 'numpy'总结
- 新型消防机器人作文_说一说消防机器人
- python窗口怎么显示我输入的_Python分别用两个窗口显示和输入
- Ubuntu 全部命令
- Android Studio3.5开发工具(安卓开发工具)的安装步骤