防火墙双机热备用到的三大协议VRRP、VGMP、HRP原理(2)
防火墙双机热备用到的三大协议VRRP、VGMP、HRP原理

VGMP报文是在VRRP基础上修改,以下是各字段的详解:
1)type
type=1——普通的VRRP报文,type=2——代表VGMP。
2)VID
在标准的VRRP中使用不同的组号,在VGMP中等于0。
3)type2
取代优先级字段,type2={1、 2、 5}三种情况:
- 当
Type2=1时,报文封装成心跳链路探测报文,用于检测对端能否正常接收本段设备报文,以确定是否有心跳口可以使用。 - 当
Type2=5时,报文封装成一致性检查报文。 - 当
Type2=2时,VRRP进一步封装VGMP头,并根据VGMP报文头中的vType字段区分以下报文:
(1)
Hello心跳报文,用于探测对端的VGMP组是否处于工作状态。(2)
VGMP报文:两台防火墙间的VGMP组协商主备状态。(3)
HRP数据报文:用于主用设备数据备份,包括命令行备份和各种状态信息的备份。当vType为HRP报文时,还需要在VGMP报文之上承载HRP报文头。
5.4VGMP状态机
VGMP的状态有:
- **
initialize**:初始状态 - **
stanby**:备份状态 - **
active**:活动状态 - **
A-to-S**:活动转备份状态 - **
S-to-A**:备份转活动状态

启用双机热备功能后,各VGMP组进入Initialize(初始化)状态。
1)启用Active组后,Active组的状态由Initialize切换成Active。
2)启用Standby组后,Standby组的状态由Initialize切换成Standby。
3)本端VGMP组监控的接口故障时,状态由Active切换成A to S,并发送VGMP请求报文给对端设备的VGMP组。
4)本端VGMP组收到对端的VGMP请求报文,发现自身优先级高,则将状态由Standby切换成Acitve,并发送VGMP确认报文给对端设备的VGMP组。
5)本端VGMP组收到对端的VGMP确认报文,确认本端需要进行状态切换,则本端的VGMP组状态由Active to Standby切换成Standby。
6)对端VGMP组确认本端的VGMP组不需要进行状态切换或连续三次没有回应本端的VGMP请报文,则本端的VGMP组状态由A to S切换成Active。
7)本端VGMP组监控的接口故障恢复后,如果本端VGMP组优先级高于对端且配置了抢占功能,则本端VGMP组状态由Standby切换成S to A,并向对端发送VGMP请求报文。
8)本端VGMP组收到对端的VGMP请求报文,发现对端优先级高,则将状态由Active切换成Standby,并发送VGMP确认报文给对端设备的VGMP组。
9)本端VGMP组收到对端的VGMP确认报文,确认本端需要进行状态切换,则本端的VGMP组状态由StandbyToActive切换成Active,完成抢占过程。
10)对端VGMP组确认本端的VGMP组不需要进行状态切换或连续三次没有回应本端的VGMP请报文,则本端的VGMP组状态由StandbytoActiveby切换成Standby。
6.HRP协议
6.1概述
HRP是华为公司开发的一种私有协议,主要用于实现防火墙双机之间动态状态数据和关键配置命令实时备份。
HRP协议功能的实现借助了HRP报文,而HRP报文实际上是一种VGMP报文,承载在VGMP报文的Data区域。
通常而言,HRP协议以VGMP心跳线作为备份通道传输备份数据和命令。
6.2HRP报文

HRP报文头中的关键参数解释如下:
Source Module ID和Source Sub Module ID表示本端防火墙哪些特性模块和子模块的数据需要备份。Dest Module ID和Dest Sub Module ID表示需要向对端防火墙的哪些特性模块和子模块备份数据。
6.3HRP的备份方式
双机热备的HRP支持以自动备份、手工批量备份和快速备份三种方式。
- 自动备份功能缺省为开启状态,能够自动实时备份配置命令和周期性地备份状态信息,适用于各种双机热备组网。
- 手工批量备份需要管理员手工触发,每执行一次手工批量备份命令,主用设备就会立即同步一次配置命令和状态信息到备用设备。因此手工批量备份主要适用于主备设备之间配置不同步,需要手工同步的场景。
- 快速备份适用于负载分担的工作方式,以应对报文来回路径不一致的场景。为了保证状态信息的及时同步,快速备份功能只是备份状态信息,不备份配置的命令。配置命令的备份由自动备份功能实现。
6.4 心跳报文
两台防火墙之间备份的数据是通过防火墙的心跳口发送和接收的,是通过心跳链路(备份通道)传输的。 心跳口必须是状态独立且具有IP地址的接口,可以是物理接口,也可以是逻辑接口。
心跳接口有五种状态,如下表:
| 心跳接口状态 | 解释 |
|---|---|
invalid | 当本端防火墙上的心跳口配置错误时显示此状态(物理状态up,协议状态down),例如指定的心跳口为二层接口或未配置心跳接口的IP地址。 |
down | 当本端防火墙上的心跳口的物理与协议状态均为down时,则会显示此状态。 |
peerdown | 当本端防火墙上的心跳口的物理与协议状态均为up时,则心跳口会向对端对应的心跳口发送心跳链路探测报文。如果收不到对端响应的报文,那么防火墙会设置心跳接口状态为peerdown。 |
ready | 当本端防火墙上的心跳口的物理与协议状态均为up时,则心跳口会向对端对应的心跳口发送心跳链路探测报文。 |
running | 当本端防火墙有多个处于ready状态的心跳口时,防火墙会选择最先配置的心跳口形成心跳链路,并设置此心跳口的状态为running。状态为running的接口负责发送和HRP心跳报文、 HRP数据报文、HRP一致性检查报文和VGMP报文。 |
6.5HRP一致性检查报文
HRP一致性检查报文用于检测双机热备状态下的两台防火墙的双机热备配置是否一致以及策略配置是否相同。
HRP一致性检查的实现原理如下:
- 执行一致性检查命令
(hrp configuration check { all | audit-policy | auth-policy | hrp| nat-policy | security-policy | traffic-policy })
后,执行此命令的设备会发送一致性检查请求报文给对端,并且同时收集自身的相关模块的配置信息摘要。
- 对端设备收到请求后,会收集自身相关模块的配置信息摘要,然后封装到一致性检查报文中返回给本端设备。
- 本端设备会对比自身的配置摘要和对端设备的配置摘要,并记录比较信息。客户可以执行命令
display hrp configuration check
以上就是IT袋网带来的防火墙双机热备用到的三大协议VRRP、VGMP、HRP原理的具体内容,供大家参考操作。
相关阅读
-
如何修改数据库列名 修改数据库列名的方法有哪些
跟大家聊一聊如何修改数据库列名的电脑小知识,很不错的方法小知识,建议收藏哦! 要修改数据库列名,您需要使用适用于您正在使用的数据库管理系统(例如MySQL、PostgreSQL、SQLite、SQL Se
-
掌握MySQL合并查询技巧:详解UNION操作用法
今日重点为您介绍掌握MySQL合并查询技巧方面的知识,请看下面详细的介绍。 MySQL数据库中的UNION操作是一种强大的查询工具,可以帮助我们合并多个查询结果。 在这篇文章中,我们将详细解析
-
steam隐身功能 将影响网站对活跃玩家数量吗
正文核心介绍:将影响网站对活跃玩家数量吗和steam隐身功能方面的内容,下面来一起了解一下吧。 Hello大家好,我是Miss的御用鸡腿IT袋网小编,每日游戏圈新鲜资讯与你分享~ Steam平台在今日
-
Vue开发者必备:常用UI组件库详解
今日小编为你讲解Vue开发者必备的相关介绍,下面小编为您详细解答 Vue.js 是一种流行的JavaScript框架,用于创建用户界面。 为了提高开发效率,开发者可以使用现成的UI组件库,这些库提供了


