首页 > 其他分享 >03、VRRP协议报文

03、VRRP协议报文

时间:2024-04-15 17:47:06浏览次数:28  
标签:03 通告 VRRPv2 VRRPv3 报文 认证 VRRP

VRRP协议报文

VRRP协议报文用来将Master设备的优先级和状态通告给同一备份组的所有Backup设备。

VRRP协议报文封装在IP报文中,发送到分配给VRRP的IP组播地址。在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两种网络。

基于不同的网络类型,VRRP可以分为VRRP for IPv4和VRRP for IPv6(简称VRRP6)。VRRP for IPv4支持VRRPv2和VRRPv3,而VRRP for IPv6仅支持VRRPv3。

VRRP报文结构

VRRPv2和VRRPv3的报文结构分别如图1图2所示。

图1 VRRPv2报文结构

图2 VRRPv3报文结构

各字段的含义如表1所示:
表1 VRRP报文字段含义

报文字段

含义

VRRPv2

VRRPv3

Version

VRRP协议版本号,取值为2。

VRRP协议版本号,取值为3。

Type

VRRP通告报文的类型,取值为1,表示Advertisement。

VRRP通告报文的类型,取值为1,表示Advertisement。

Virtual Rtr ID(VRID)

虚拟路由器ID,取值范围是1~255。

虚拟路由器ID,取值范围是1~255。

Priority

Master设备在备份组中的优先级,取值范围是0~255。0表示设备停止参与VRRP备份组,用来使备份设备尽快成为Master设备,而不必等到计时器超时;255则保留给IP地址拥有者。缺省值是100。

Master设备在备份组中的优先级,取值范围是0~255。0表示设备停止参与VRRP备份组,用来使备份设备尽快成为Master设备,而不必等到计时器超时;255则保留给IP地址拥有者。缺省值是100。

Count IP Addrs/Count IPvX Addr

备份组中虚拟IPv4地址的个数。

备份组中虚拟IPv4或虚拟IPv6地址的个数。

Auth Type

VRRP报文的认证类型。协议中指定了3种类型:

  • 0:Non Authentication,表示无认证。

  • 1:Simple Text Password,表示明文认证方式。

  • 2:IP Authentication Header,表示MD5认证方式。

-

Adver Int/Max Adver Int

VRRP通告报文的发送时间间隔,单位是秒,缺省值为1秒。

VRRP通告报文的发送时间间隔,单位是厘秒,缺省值为100厘秒(1秒)。

Checksum

16位校验和,用于检测VRRP报文中的数据破坏情况。

16位校验和,用于检测VRRP报文中的数据破坏情况。

IP Address/IPvX Address(es)

VRRP备份组的虚拟IPv4地址,所包含的地址数定义在Count IP Addrs字段。

VRRP备份组的虚拟IPv4地址或者虚拟IPv6地址,所包含的地址数定义在Count IPvX Addrs字段。

Authentication Data

VRRP报文的认证字。目前只有明文认证和MD5认证才用到该部分,对于其它认证方式,一律填0。

-

rsvd

-

VRRP报文的保留字段,必须设置为0。

由报文结构可以看出,VRRPv2和VRRPv3的主要区别为:
  • 支持的网络类型不同。VRRPv3适用于IPv4和IPv6两种网络,而VRRPv2仅适用于IPv4网络。

  • 认证功能不同。VRRPv3不支持认证功能,而VRRPv2支持认证功能。

    VRRPv2版本保留报文的认证字段,是为了兼容早期版本(RFC2338),VRRP认证并不能提高安全性。

  • 发送通告报文的时间间隔的单位不同。VRRPv3支持的是厘秒级,而VRRPv2支持的是秒级。

VRRP认证

VRRPv2支持在通告报文中设定不同的认证方式和认证字。
  • 无认证方式:设备对要发送的VRRP通告报文不进行任何认证处理,收到通告报文的设备也不进行任何认证,认为收到的都是真实的、合法的VRRP报文。
  • 简单字符(Simple)认证方式:发送VRRP通告报文的设备将认证方式和认证字填充到通告报文中,而收到通告报文的设备则会将报文中的认证方式和认证字与本端配置的认证方式和认证字进行匹配。如果相同,则认为接收到的报文是合法的VRRP通告报文;否则认为接收到的报文是一个非法报文,并丢弃这个报文。
  • MD5认证方式:发送VRRP通告报文的设备利用MD5算法对认证字进行加密,加密后保存在Authentication Data字段中。收到通告报文的设备会对报文中的认证方式和解密后的认证字进行匹配,检查该报文的合法性。
 

标签:03,通告,VRRPv2,VRRPv3,报文,认证,VRRP
From: https://www.cnblogs.com/laixufei/p/18136587

相关文章

  • 04、VRRP工作原理
    VRRP工作原理VRRP状态机VRRP协议中定义了三种状态机:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。其中,只有处于Master状态的设备才可以转发那些发送到虚拟IP地址的报文。表1 VRRP协议状态状态说明Initialize该状态为VRRP不可用状态,在此状态时设备......
  • 05、VRRP主备备份
    VRRP主备备份主备备份是VRRP提供备份功能的基本方式,如图1所示。该方式需要建立一个虚拟路由器,该虚拟路由器包括一个Master设备和若干Backup设备。正常情况下,SwitchA为Master设备并承担业务转发任务,SwitchB和SwitchC为Backup设备且不承担业务转发。SwitchA定期发送VRRP通告报文......
  • 07、管理VRRP
    管理VRRP为了提高网络可靠性,通常部署主备双归属。为了满足不同的业务需要,设备之间可以运行多个VRRP备份组。此时每个VRRP备份组都需要维护自己的状态机,这样设备之间就会存在大量的VRRP协议报文。如图1所示,为了减少协议报文对带宽的占用及CPU资源的消耗,可以将其中一个VRRP备份......
  • 06、VRRP负载分担
    VRRP负载分担负载分担是指多个VRRP备份组同时承担业务,如图1所示。VRRP负载分担与VRRP主备备份的基本原理和报文协商过程都是相同的。同样对于每一个VRRP备份组,都包含一个Master设备和若干Backup设备。与主备备份方式不同点在于:负载分担方式需要建立多个VRRP备份组,各备份组的Mas......
  • P10330 [UESTCPC 2024] 黑白珠串
    原题链接1.极限构造法,黑珠数量\(\geqslant\)\(max(y_i)\),白珠数量\(\geqslant\)\(max(x_i-y_i)\)再观察样例,发现刚好把1全部放左边,0全部放右边时等号成立code#include<bits/stdc++.h>usingnamespacestd;intx,y[100005];intmain(){intk;cin>>k;......
  • 03、IS-IS认证
    IS-IS认证IS-IS认证是基于网络安全性的要求而实现的一种认证手段,通过在IS-IS报文中增加认证字段对报文进行认证。当本地路由器接收到远端路由器发送过来的IS-IS报文,如果发现认证密码不匹配,则将收到的报文进行丢弃,达到自我保护的目的。认证的分类根据报文的种类,认证可以分为......
  • 03、OSPF与BFD联动
    OSPF与BFD联动定义双向转发检测BFD(BidirectionalForwardingDetection)是一种用于检测转发引擎之间通信故障的检测机制。BFD对两个系统间的、同一路径上的同一种数据协议的连通性进行检测,这条路径可以是物理链路或逻辑链路,包括隧道。OSPF与BFD联动就是将BFD和OSPF协议关联......
  • vue指令中的import不生效,如何在指令中使用import { useBaseStore, useLocalStore } fr
    在Vue指令中,不能直接使用父组件中的导入语句和变量。指令是在模板编译阶段执行的,而不是在JavaScript的运行时执行的。因此,无法在指令中直接访问父组件的导入和变量。在Vue指令中,不能直接使用ES6的import语法,因为指令是在模板编译阶段执行的,而不是在JavaScript的运行......
  • java基础_03_包机制
    1、包的本质,就是文件夹 2、建包方法: packagecom.baidu.hhb;//这就是包,必须加在整个类的最上边,不能删,删除后下面的类就找不到包importxiaodi_java_base.*;//*通配符,可以导入该目录下所有的类。importxiaodi_java_base.khhhk;//导入类importjava.util.Date;......
  • js获取时间差,返回格式为01天02小时03秒
    //获取时间差返回值格式:01天02小时30秒exportfunctioncaclulateDiffTime(start,end):string{start=newDate(start).getTime();end=newDate(end).getTime();letstaytimeGap=end-start;if(staytimeGap<0){staytimeGap=start-end;}i......