防火墙双机热备用到的三大协议VRRP、VGMP、HRP原理
防火墙双机热备用到的三大协议VRRP、VGMP、HRP原理
全面的为大家介绍防火墙双机热备用到的三大协议VRRP、VGMP、HRP原理的IT知识,相关内容具体如下:
防火墙的双机热备功能提供一条专门的备份通道, 用于两台防火墙之间协商主备状态,以及会话等状态信息的备份。
1.问题的提出:为什么要用双机热备?
- 保证业务可靠性
- 保证业务不中断
2.双机热备的备份方式
双机热备有两种方式,即主备备份和负载分担备份。
主备备份是指正常情况下仅由主用设备处理业务,备用设备空闲;当主用设备接口、链路或整机故障时,备用设备切换为主用设备,接替主用设备处理业务。
负载分担也可以称为互为主备,即两台设备同时处理业务。当其中一台设备发生故障时,另外一台设备会立即承担其业务,保证原来需 要通过这台设备转发的业务不中断。
3.双机热备的三大协议
防火墙双机热备涉及到三个协议,如下表:
| 协议名称 | 英文全称 | 中文名称 | 备注 |
|---|---|---|---|
| VRRP | Virtual Router Redundancy Protocol | 虚拟路由冗余协议 | |
| VGMP | VRRP Group Management Protocol | VRRP组管理协议 | 华为私有 |
| HRP | Huawei Redundancy Protocol | 华为冗余协议 | 华为私有 |
下面将分别介绍这三种协议的原理。
4.VRRP协议
4.1 概述
VRRP协议,即虚拟路由冗余协议(Virtual Router Redundancy Protocol),它通过把几台路由设备联合组成一台虚拟的路由设备,将虚拟路由设备的IP地址作为用户的默认网关实现与外部网络通信。当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。
这里边涉及到一些名词或概念,如下表:
VRRP协议 | 解释 |
|---|---|
VRRP路由器 | 运行VRRP协议的路由器,一个或多个实例的路由器。 |
VRRP组 | 由一组VRRP路由器组成,形成一个备份组,在功能上相当于一台虚拟路由器。在一个VRRP组内的多个路由器接口共用一个虚拟IP地址,这个虚拟IP地址被作为局域网内所有主机的缺省(默认)网关地址。 |
| 虚拟路由器标识 | VRID(Virtual Router ID),用于标识VRRP组中的路由器。在同一个VRRP组内的路由器必须有相同的VRID。 |
Master路由器 | 在VRRP组中处于主状态,负责接收发送至用户网关的数据包并进行转发,以及响应PC对于其网关IP地址的ARP请求。 |
Backup路由器 | 在VRRP组中处于备份状态,侦听Master路由器的状态,并在Master路由器发生故障时,接替其工作,从而保证业务流量的平滑切换。 |
虚拟MAC地址 | 虚拟路由器根据虚拟路由器ID生成的MAC地址。一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-{VRID} |
4.2VRRP协议报文
VRRP协议报文用来将Master设备的优先级和状态通告给同一备份组的所有Backup设备。
VRRP协议报文封装在IP报文中,拥有专门的VRRP组播地址。
在IP报文头中,源地址为发送报文接口的主IP地址(不是虚拟IP地址),目的地址是224.0.0.18,TTL是255,协议号是112。
主IP地址(Primary IP Address):从接口的真实IP地址中选出来的一个主用IP地址,通常选择配置的第一个IP地址。
目前:
VRRP协议包括两个版本:VRRPv2和VRRPv3。
VRRPv2仅适用于IPv4网络,VRRPv3适用于IPv4和IPv6两种网络。
VRRPv2和VRRPv3的报文结构分别如下:

VRRP报文字段含义如下:

4.3VRRP的三种状态
VRRP备份组有三种状态:Initialize、Master和Backup。只有处于活动状态的设备才可以转发那些发送到虚拟IP地址的报文。
| 状态 | 状态中文 | 说明 |
|---|---|---|
| Initialize | 初始状态 | 该状态为VRRP不可用状态,在此状态时设备不会对VRRP报文做任何处理。通常刚配置 VRRP时或设备检测到故障时会进入Initialize状态。收到接口 Up的消息后,如果设备的优先级为255,则直接成为Master设备;如果设备的优先级小于255,则会先切换至Backup状态。 |
| Master | 活动状态 | 当VRRP设备处于Master状态时,它将会做下列工作:定时 (Advertisement Interval)发送VRRP通告报文。以虚拟 MAC地址响应对虚拟IP地址的ARP请求。转发目的 MAC地址为虚拟MAC地址的IP报文。如果它是虚拟 IP地址的拥有者,则接收目的IP地址为这个虚拟IP地址的IP报文。如果收到比自己优先级大的报文,立即成为 Backup。如果收到与自己优先级相等的 VRRP报文且本地接口IP地址小于对端接口IP,立即成为Backup。当接收到接口的 Shutdown事件时,转为Initialize状态。 |
| Backup | 备份状态 | 当VRRP设备处于Backup状态时,它将会做下列工作:接收 Master发送的VRRP通告报文,判断Master的状态是否正常。对虚拟 IP地址的ARP请求,不做响应。收到目的 IP地址为虚拟IP地址的IP报文时按照正常二层转发流程进行处理。如果收到比自己优先级小的报文时,默认立刻升主,如果配置了不抢占,则重置定时器;如果配置了抢占延迟,则重置定时器,待抢占延迟到期再升主。收到比自己优先级高的报文时,重置定时器。 如果收到优先级和自己相同的报文,则重置定时器,不进一步比较 IP地址。如果收到比自己优先级小的报文且该报文优先级不是0,丢弃报文,立刻成为Master;如果收到报文优先级是0,定时器时间设置为Skew_time(偏移时间)。 当接收到 MASTER_DOWN_TIMER定时器超时的消息时,Backup状态才会转为Master状态。当接收到接口的 Shutdown消息时,转为Initialize状态 |
Master_Down_Interval定时器:Backup设备在该定时器超时后仍未收到通告报文,则会转换为Master状态。
计算公式如下:
Master_Down_Interval=(3 * Advertisement_Interval) + Skew_time(偏移时间)
Skew_Time=(256–Priority)/256
状态转换关系如下图:

4.4VRRP工作过程
VRRP的工作过程如下:
1)VRRP备份组中的设备根据优先级选举出Master。Master设备通过发送免费ARP报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。
2)Master设备周期性向备份组内所有Backup设备发送VRRP通告报文,以公布其配置信息(优先级等)和工作状况。
3)如果Master设备出现故障,VRRP备份组中的Backup设备将根据优先级重新选举新的Master。
4)VRRP备份组状态切换时,Master设备由一台设备切换为另外一台设备,新的Master设备会立即发送携带虚拟路由器的虚拟MAC地址和虚拟IP地址信息的免费ARP报文,刷新与它连接的主机或设备中的MAC表项,从而把用户流量引到新的Master设备上来,整个过程对用户完全透明。
5)原Master设备故障恢复时,若该设备为IP地址拥有者(优先级为255),将直接切换至Master状态。若该设备优先级小于255,将首先切换至Backup状态,且其优先级恢复为故障前配置的优先级。
6)Backup设备的优先级高于Master设备时,由Backup设备的工作方式(抢占方式和非抢占方式)决定是否重新选举Master。
- 抢占模式:在抢占模式下,如果
Backup设备的优先级比当前Master设备的优先级高,则主动将自己切换成Master。 - 非抢占模式:在非抢占模式下,只要
Master设备没有出现故障,Backup设备即使随后被配置了更高的优先级也不会成为Master设备。
4.5VRRP配置方法
# 主备备份
创建VRRP备份组并给备份组配置虚拟IP地址:
vrrp vrid virtual-router-id virtual-ip virtual-address
配置备份组抢占延迟时间:
vrrp vrid virtual-router-id preempt-mode timer delay delay-value
4.6VRRP缺省配置
| 参数 | 缺省值 |
|---|---|
设备在VRRP备份组中的优先级 | 100 |
| 抢占方式 | 立即抢占 |
| 通告报文发送间隔 | 1秒 |
发送免费ARP报文时间间隔 | 120秒 |
5.VGMP协议
为了解决多个VRRP备份组状态不一致的问题,华为防火墙引入VGMP(VRRP GroupManagement Protocol)来实现对VRRP备份组的统一管理,保证多个VRRP备份组状态的一致性。
5.1 概述
VGMP,即VRRP Group Management Protocol协议,是华为公司的私有协议。VGMP协议中定义了VGMP组,防火墙基于VGMP组实现设备主备状态管理。
5.2VGMP工作原理
VGMP使用优先级来管理所有VRRP备份组,默认初始化优先级为45000(中低端设备)。
高端设备(USG9500 USG12000)
初始优先级与接口板(LPU)上的子卡(FPIC)个数和业务板(SPU)上的CPU个数有关,计算公式如下:
初始化优先级=45000+1000接口板上的子卡个数+2业务板上的CPU个数
其中:
Initial_Priority:初始优先级FPIC_Num:接口板上的子卡个数SPU_CPU_Num:业务板上的CPU个数
5.3VGMP报文
相关阅读
-
如何修改数据库列名 修改数据库列名的方法有哪些
跟大家聊一聊如何修改数据库列名的电脑小知识,很不错的方法小知识,建议收藏哦! 要修改数据库列名,您需要使用适用于您正在使用的数据库管理系统(例如MySQL、PostgreSQL、SQLite、SQL Se
-
掌握MySQL合并查询技巧:详解UNION操作用法
今日重点为您介绍掌握MySQL合并查询技巧方面的知识,请看下面详细的介绍。 MySQL数据库中的UNION操作是一种强大的查询工具,可以帮助我们合并多个查询结果。 在这篇文章中,我们将详细解析
-
steam隐身功能 将影响网站对活跃玩家数量吗
正文核心介绍:将影响网站对活跃玩家数量吗和steam隐身功能方面的内容,下面来一起了解一下吧。 Hello大家好,我是Miss的御用鸡腿IT袋网小编,每日游戏圈新鲜资讯与你分享~ Steam平台在今日
-
Vue开发者必备:常用UI组件库详解
今日小编为你讲解Vue开发者必备的相关介绍,下面小编为您详细解答 Vue.js 是一种流行的JavaScript框架,用于创建用户界面。 为了提高开发效率,开发者可以使用现成的UI组件库,这些库提供了


