前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MVRP(Multiple Registration Protocol,多属性注册协议)技术

MVRP(Multiple Registration Protocol,多属性注册协议)技术

作者头像
网络技术联盟站
发布2020-06-17 11:28:44
5.4K0
发布2020-06-17 11:28:44
举报
文章被收录于专栏:网络技术联盟站

概述

产生背景

在为网络中的所有设备都配置某些 VLAN时,需要网络管理员在每台设备上分别进行手工添加。如 图 1所示,Device A上有 VLAN 2,Device BDevice C上只有 VLAN 1,三台设备通过 Trunk 链路连接在一起。为了使 Device AVLAN 2的报文可以传到 Device C,网络管理员必须在 Device BDevice C上分别手工添加 VLAN 2

图1 MVRP应用组网

对于上面的组网环境,手工添加VLAN很简单,但是当实际组网复杂或整个网络的VLAN 太多时, 网络管理员无法短时间内完全了解网络的拓扑结构,并且工作量会非常大,而且非常容易配置错误。在这种情况下,用户可以通过 MVRPVLAN自动注册功能完成 VLAN的配置。

技术优势

MRP(Multiple Registration Protocol,多属性注册协议)作为一个属性注册协议的载体,可以用来传递属性信息。MVRP(Multiple VLAN Registration Protocol,多 VLAN注册协议)是MRP的一 种应用,用于在设备间发布并学习VLAN 配置信息。通过 MVRP,局域网中的设备可以自动同步VLAN信息,极大地减少了网络管理员的VLAN配置工作。

MVRP技术实现

MVRP应用实体

设备上每一个参与 MRP 协议的端口都可以视为一个应用实体。当MRP应用(如 MVRP)在端口上启动之后,该端口就可视为一个MRP应用实体(以下简称MRP实体,同样的,MVRP应用实体简称MVRP实体)。

VLAN的注册和注销

MVRP协议可以实现 VLAN属性的自动注册和注销:

  • VLAN的注册:端口加入 VLAN。
  • VLAN的注销:端口退出 VLAN。MVRP协议通过发送声明和回收声明类消息实现 VLAN属性的注册和注销:
  • 当端口接收到一个 VLAN属性声明时,该端口将注册该声明中包含的 VLAN信息(端口加入 VLAN)。
  • 当端口接收到一个 VLAN属性的回收声明时,该端口将注销该声明中包含的 VLAN信息(端 口退出 VLAN)。

MVRP协议的属性注册和注销仅仅是对于接收到 MVRP协议报文的端口而言的。

图2 VLAN的注册和注销

MRP消息
MRP消息封装结构

MRP消息通过 MRP协议报文传递,MRP协议报文以特定组播 MAC地址为目的 MAC,如 MVRP 的目的 MAC 地址为 01-80-C2-00-00-21,Type 为 88F5。当设备在收到 MRP 应用实体的报文后, 会根据其目的 MAC地址分发给不同的 MRP应用进行处理。MRP协议报文采用 IEEE 802.3 Ethernet封装格式,如图 3所示

图3 MRP协议报文封装格式

主要字段的说明如表 1所示。

表1 MRP协议报文主要字段说明

MRP消息类型

MRP消息主要包括 Join消息、New消息、Leave消息和 LeaveAll消息,它们通过互相配合来实现 信息的注册或注销。其中,Join 消息和 New 消息属于声明Leave 消息和 LeaveAll 消息属于回收声明

Join消息

当一个 MRP 实体配置了某些属性,需要对端实体来注册自己的属性信息时,它会向对端实体发送 Join消息。当一个 MRP实体收到来自对端实体的 Join消息时,它会注册该 Join消息中的属性,并向本设备的 其他实体传播该 Join消息,其他实体收到传播的 Join消息后,向其对端实体发送 Join消息。MRP实体间发送的 Join消息又分为 JoinEmptyJoinIn两种(对于同一设备的实体间传播的 Join 消息则不做区分),二者的区别如下:

  • JoinEmpty:用于声明 MRP实体的非注册属性。比如一个 MRP实体加入了某静态 VLAN(我们将本地手工创建的 VLAN称为静态 VLAN,通过 MRP消息学习并创建的 VLAN称为动态 VLAN),此时若该实体还没有通过MRP消息注册该VLAN,这时该实体向对端实体发送的Join 消息就为 JoinEmpty消息。
  • JoinIn:用于声明 MRP实体的注册属性。比如 MRP实体加入了某静态 VLAN且通过 MRP消 息注册了该 VLAN,或该实体收到本设备其他实体传播的某 VLAN的 Join信息且通过 MRP 消息注册了该 VLAN,这时该实体向对端实体发送的 Join消息就为 JoinIn消息。

New消息

New消息的作用和Join消息比较类似,都是用于对属性的声明。不同的是,New消息主要用于MSTP (Multiple Spanning Tree Protocol,多生成树协议)拓扑变化的情况。

  • 当 MSTP拓扑变化时,MRP实体需要向对端实体发送 New消息声明拓扑变化。
  • 当一个 MRP实体收到来自对端实体的 New消息时,它会注册该 New消息中的属性,并向本 设备的其他实体传播该 New消息,其他实体收到传播的 New消息后,向其对端实体发送该 New消息。

Leave消息

当一个MRP实体注销了某些属性,需要对端实体进行同步注销时,它会向对端实体发送 Leave消息。当一个 MRP实体收到来自对端实体的 Leave消息时,它会注销该 Leave消息中的属性,并向本设备的其他实体传播该 Leave 消息,其他实体收到传播的 Leave 消息后,根据该 Leave 消息中的属性在本设备上的状态,决定是否向其对端实体发送该 Leave消息(比如该 Leave消息中的属性为某 VLAN,若该 VLAN为动态 VLAN,且本设备上无实体注册该 VLAN,则在设备上删除该 VLAN,并向对端实体发送该 Leave消息;若该 VLAN为静态 VLAN,则不向对端实体发送该 Leave消息)。

LeaveAll消息

每个 MRP 实体启动时都会启动各自的 LeaveAll 定时器,当该定时器超时后,MRP 实体就会向对 端实体发送 LeaveAll消息。当一个 MRP实体收发 LeaveAll消息时,它会启动 Leave定时器,同时根据自身的属性状态决定是 否发送 Join 消息要求对端实体重新注册某属性。该实体在 Leave 定时器超时前,重新注册收到的 来自对端实体的 Join 消息中的属性;在 Leave 定时器超时后,注销所有未重新注册的属性信息, 从而周期性地清除网络中的垃圾属性。

MRP定时器

MRP定义了四种定时器,用于控制各种 MRP消息的发送。

Periodic定时器

每个 MRP 实体启动时都会启动各自的 Periodic 定时器,来控制 MRP 消息的周期发送。该定时器超时前,实体收集需要发送的 MRP消息,在该定时器超时后,将所有待发送的 MRP消息封装成尽可能少的报文发送出去,这样减少了报文发送数量。随后再重新启动 Periodic定时器,开始新一轮的循环。

说明:Periodic定时器允许用户通过命令行开启或关闭。如果关闭 Periodic定时器,则 MRP实体不再周 期发送 MRP消息,仅在 LeaveAll定时器超时或收到来自对端实体的 LeaveAll消息的情况下会发送 MRP消息。

Join定时器

Join 定时器用来控制 Join 消息的发送。为了保证消息能够可靠地发送到对端实体,MRP 实体在发送 Join 消息时,将启动 Join 定时器。如果在该定时器超时前收到了来自对端实体的 JoinIn 消息, 且该 JoinIn 消息中的属性与发出的 Join 消息中的属性一致,便不再重发该 Join 消息,否则在该定时器超时后,当 Periodic定时器也超时,它将重发一次该 Join消息。

Leave定时器

Leave定时器用来控制属性的注销。当MRP实体收到来自对端实体的Leave消息(或收发LeaveAll 消息)时,将启动 Leave定时器。如果在该定时器超时前,收到来自对端实体的 Join消息,且该 Join 消息中的属性与收到的 Leave 消息中的属性一致(或与收发的 LeaveAll 消息中的某些属性一致), 则这些属性不会在本实体被注销,其他属性则会在该定时器超时后被注销。

LeaveAll定时器

每个 MRP实体启动时都会启动各自的 LeaveAll定时器,当该定时器超时后,该实体就会向对端实体发送 LeaveAll 消息,随后再重新启动 LeaveAll 定时器,开始新一轮的循环,对端实体在收到 LeaveAll消息后也重新启动LeaveAll定时器。

说明:LeaveAll定时器具有抑制机制,即当某个MRP实体的LeaveAll定时器超时后,会向对端实体发送 LeaveAll消息,对端实体在收到 LeaveAll消息时,重启本实体的 LeaveAll定时器,从而有效抑制 网络中的 LeaveAll消息数。为了防止每次都是同一实体的 LeaveAll定时超时,每次 LeaveAll定时 器重启时,LeaveAll定时器的值都将在一定范围内随机变动。

MVRP注册模式

MVRP 传递的 VLAN 配置信息既包括本地手工配置的静态信息,也包括来自其他设备的动态信息。MVRP有三种注册模式,不同注册模式对动态 VLAN的处理方式有所不同。

  • Normal模式:该模式下的 MVRP实体允许进行动态 VLAN的注册或注销。
  • Fixed模式:该模式下的 MVRP实体禁止进行动态 VLAN的注销,收到的 MVRP报文会被丢 弃。也就是说,在该模式下,实体已经注册的动态 VLAN是不会被注销的,同时也不会注册 新的动态 VLAN。
  • Forbidden模式:该模式下的 MVRP实体禁止进行动态 VLAN的注册,收到的 MVRP报文会 被丢弃。同时,将端口的 MVRP注册模式配置为 Forbidden模式时,该端口上除 VLAN1以外 所有已注册的动态 VLAN将被删除。
运行机制

下面通过一个简单的例子来介绍一下 MVRP 的工作过程。该例子分四个阶段描述了一个 VLAN 属 性在网络中是如何被注册和注销的。

1.VLAN属性的单向注册机制

图4 VLAN属性的单向注册示意图

在 Device A上创建静态 VLAN 2,通过 VLAN属性的单向注册,将 Device B和 Device C的相应端 口自动加入 VLAN 2:

  • 在 Device A上手工创建静态 VLAN 2后,Port 1启动 Join定时器和 Hold定时器。等待 Hold 定时器超时后,Device A向Device B发送第一个JoinEmpty消息。Join定时器超时后再次启 动 Hold定时器,再等待 Hold定时器超时后,发送第二个 JoinEmpty消息。
  • Device B上接收到第一个 JoinEmpty消息后创建动态 VLAN 2,并把接收到 JoinEmpty消息 的Port 2加入到动态VLAN 2中,同时告知Port 3启动Join定时器和Hold定时器。等待Hold 定时器超时后向 Device C发送第一个 JoinEmpty消息。Join定时器超时后再次启动 Hold定 时器,Hold定时器超时之后,发送第二个 JoinEmpty消息。Device B上收到第二个 JoinEmpty消息后,由于 Port 2已经加入动态 VLAN 2,所以不作处理。
  • Device C上接收到第一个 JoinEmpty消息后创建动态 VLAN 2,并把接收到 JoinEmpty消息 的 Port 4加入到动态 VLAN 2中。Device C上收到第二个 JoinEmpty消息后,由于 Port 4已 经加入动态 VLAN 2,所以不作处理。
  • 此后,每当 Leaveall定时器超时或收到 LeaveAll消息,设备会重新启动 Leaveall定时器、 Join定时器、Hold定时器和 Leave定时器。Device A的 Port 1在 Hold定时器超时之后发送 第一个 JoinEmpty消息,再等待 Join定时器+Hold定时器之后,发送第二个 JoinEmpty消息, Device B向 Device C发送 JoinEmpty消息的过程也是如此。
  1. VLAN属性的双向注册机制

图5 VLAN属性的双向注册示意图

通过上述 VLAN属性的单向注册过程,端口 Port 1、Port 2、Port 4已经加入 VLAN 2,但是 Port 3 还没有加入 VLAN 2(只有收到 JoinEmpty 消息或 JoinIn 消息的端口才能加入动态 VLAN)。为使 VLAN 2流量可以双向互通,需要进行 Device C到 Device A方向的VLAN属性的注册过程:

  • VLAN属性的单向注册完成后,在 Device C上创建静态 VLAN 2(将动态 VLAN转换成静态 VLAN),Port 4启动 Join定时器和 Hold定时器,等待 Hold定时器超时后,Device C向 Device B发送第一个 JoinIn消息(因为 Port 4已经注册了 VLAN 2,所以发送 JoinIn消息)。Join定时器超时后再次启动 Hold定时器,Hold定时器超时之后,发送第二个 JoinIn消息。
  • Device B上接收到第一个 JoinIn后,把接收到 JoinIn消息的 Port 3加入到动态 VLAN 2中, 同时告知 Port 2启动 Join定时器和 Hold定时器。等待 Hold定时器超时后,向 Device A发送 第一个 JoinIn消息。Join定时器超时后再次启动 Hold定时器,Hold定时器超时之后,发送第 二个 JoinIn消息。Device B上收到第二个 JoinIn后,因为 Port 3已经加入动态 VLAN 2,所 以不作处理。
  • Device A上接收到 JoinIn之后,停止向 Device B发送 JoinEmpty消息。此后,当 Leaveall 定时器超时或收到LeaveAll消息,设备重新启动Leaveall定时器、Join定时器、Hold定时器 和 Leave定时器。Device A的 Port 1在 Hold定时器超时之后就开始发送 JoinIn消息。
  • Device B向 Device C发送 JoinIn消息。
  • Device C收到JoinIn消息后,由于本身已经创建了静态VLAN 2,所以不会再创建动态VLAN 2。
  1. VLAN属性的单向注销机制

图6 VLAN属性的单向注销示意图

当设备上不再需要 VLAN 2时,可以通过 VLAN属性的注销过程将 VLAN 2从设备上删除:

  • 在Device A上删除静态VLAN 2,Port 1启动Hold定时器,等待Hold定时器超时后,Device A向 Device B发送 LeaveEmpty消息。LeaveEmpty消息只需发送一次。
  • Device B上接收到LeaveEmpty,Port 2启动Leave定时器。等待Leave定时器超时之后Port 2注销 VLAN 2,将 Port 2从动态 VLAN 2中删除(由于此时 VLAN 2中还存在端口 Port 3, 所以不会删除 VLAN 2),同时告知 Port 3启动 Hold定时器和 Leave定时器。等待 Hold定 时器超时后,向 Device C发送 LeaveIn消息。由于 Device C的静态 VLAN 2还没有删除, Port 3在 Leave定时器超时之前仍然能够收到 Port 4发送的 JoinIn消息,所以 Device A和 Device B上仍然能够学习到动态的 VLAN 2。
  • Device C上接收到LeaveIn后,由于Device C上存在静态VLAN 2,所以Port 4不会从VLAN 2中删除。
  1. VLAN属性的双向注销机制

图7 VLAN属性的双向注销示意图

当需要彻底删除所有设备上的 VLAN 2时,可以进行VLAN属性的双向注销:

  • 在Device C上删除静态VLAN 2,Port 4启动Hold定时器,等待Hold定时器超时后,Device C向 Device B发送 LeaveEmpty消息。
  • Device B接收到 LeaveEmpty消息后,Port 3启动 Leave定时器,等待 Leave定时器超时之 后 Port 3注销 VLAN 2,将 Port 3从动态 VLAN 2中删除并删除动态 VLAN 2,同时告知 Port 2启动 Hold定时器。等待 Hold定时器超时后,向 Device A发送 LeaveEmpty消息。
  • Device A接收到 LeaveEmpty消息后,Port 1启动 Leave定时器,等待 Leave定时器超时之 后 Port 1注销 VLAN 2,将 Port 1从动态 VLAN 2中删除并删除动态 VLAN 2。
应用限制

使用 MVRP功能时,需要注意:

  • MVRP功能只能与 STP、RSTP或 MSTP配合使用,而无法与其他二层网络拓扑协议(如业 务环回、PVST、RRPP和 Smart Link)在一个端口上同时使用。MVRP报文的收发不受 STP/RSTP/MSTP阻塞端口影响。
  • 建议不要同时启用远程端口镜像功能和 MVRP功能,否则 MVRP可能将远程镜像 VLAN注册 到错误的端口上,导致镜像目的端口会收到很多不必要的报文。
  • 在二层聚合接口上启用了 MVRP功能后,会同时在二层聚合接口和对应的所有选中成员端口 上进行动态 VLAN的注册或注销。
  • 如果二层以太网接口加入了聚合组,则加入聚合组之前和加入聚合组之后在该接口上进行的 MVRP相关配置不会生效,该接口退出聚合组后,MVRP的配置才会生效。
  • 在配置 MVRP兼容 GVRP后,MVRP功能只能与 STP或 RSTP配合使用,而不能与 MSTP 配合使用,否则可能会造成网络工作的不正常。
  • 在配置 MVRP兼容 GVRP后,建议关闭 Periodic定时器,否则当系统繁忙时,容易造成 VLAN 状态的频繁改变。

典型组网应用

MVRP使不同设备上的 VLAN信息可以由协议动态维护和更新,用户只需要对少数设备进行 VLAN 配置即可应用到整个交换网络,无需耗费大量时间进行拓扑分析和配置管理。图 8 中所有设备都开启 MVRP 功能,设备之间相连的端口均为 Trunk 端口,并允许所有 VLAN 通 过。只需在 Device A和 Device G上分别手工配置静态 VLAN 100~VLAN 1000,那么,设备 Device B~Device F就可以通过 MVRP协议学习到这些 VLAN,最后各设备上都存在 VLAN 100~VLAN 1000。

图8 典型组网应用

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络技术联盟站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
    • 产生背景
      • 技术优势
      • MVRP技术实现
        • MVRP应用实体
          • VLAN的注册和注销
            • MRP消息
              • MRP定时器
                • MVRP注册模式
                  • 运行机制
                    • 应用限制
                    • 典型组网应用
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档