本站点使用Cookies,继续浏览表示您同意我们使用Cookies。 Cookies和隐私政策>

首页 信息速查 产品智能选型 IP知识百科

什么是VCMP?

VLAN集中管理协议VCMP(VLAN Central Management Protocol)可以实现VLAN的集中维护和管理。VCMP是华为的私有协议,工作于链路层,提供了一种在二层网络中传播VLAN配置信息,从而保证整个二层网络中VLAN配置信息一致。相较于手工配置,VCMP具有维护工作量小、VLAN配置一致的优点。

为什么需要VCMP?

通常情况下,企业网的交换机上需要保持VLAN信息的同步,以保证所有交换机都能进行正确的数据转发。小型企业网中,网络管理员可登录到每台交换机上进行VLAN的配置和维护。但大型企业网中,交换机很多,会有大量的VLAN信息需要配置和维护。如果仅靠网络管理员手工操作,工作量很大,也不能保证配置的一致性。

为了解决上述问题,可通过VCMP实现VLAN的集中管理。这样,只需在一台交换机上进行创建、删除VLAN等操作,这些变更会自动通知到指定范围内的所有交换机,从而使这些交换机无需手工操作即可实现VLAN的创建、删除等动作的同步,即减少了在多台交换机上修改同一个数据的工作量,也保证了修改的一致性。

在二层网络中的交换机上部署VCMP后:
  • 可实现VLAN的集中管理和维护,减少网络维护成本。
  • 可实现接入交换机的即插即用。

VCMP的应用场景

在大型企业网中,交换机很多,会有大量的VLAN信息需要配置和维护,如果仅靠网络管理员手工操作,工作量很大,也不能保证配置的一致性。

为此,可以在企业网中部署VCMP,并根据要管理的范围确定VCMP管理域,然后选择汇聚交换机或核心交换机作为VCMP的Server。这样,只需在汇聚或核心交换机上创建、删除VLAN或修改VLAN的名称、描述,同域内的接入交换机会同步修改,进而实现VLAN的集中管理,降低配置和维护的工作量。同时,如果VCMP管理域没有设置认证密码,插入一台空配置的交换机时,Server会通知其同步VLAN配置,实现即插即用。

VCMP只能帮助网络管理员同步VLAN配置,但不能帮助其动态地划分端口到VLAN。由于VCMP报文只能在Trunk和Hybrid类型接口上传送,为免去手工设置链路类型的麻烦,部署VCMP时,一般需要同时部署LNP动态协商链路类型,以自动协商出链路类型,最大程度简化用户配置。

VCMP应用场景组网图
VCMP应用场景组网图

VCMP有哪些角色?

VCMP使用域来管理交换机,这个域就称为VCMP管理域;并通过角色定义来确定设备的属性,称为VCMP的角色,VCMP共定义了Server、Client、Transparent和Silent四种角色。VCMP管理域及角色如下图所示。

VCMP管理域及角色示意图
VCMP管理域及角色示意图

VCMP管理域

VCMP管理域由一组域名相同的交换机通过Trunk或Hybrid链路类型的接口互连构成。同一域内的每台交换机都必须使用相同的域名,且一台交换机只能加入一个VCMP管理域,不同域的交换机间不能同步VLAN信息。

VCMP管理域确定了VCMP管理设备的范围,凡是加入域的交换机,均会受到域内的管理设备管理。域中只能有一台管理设备,但可以有多台被管理设备。

VCMP的角色

VCMP通过角色定义确定设备的属性,不同角色的设备对VLAN的处理方式不同。

  • Server

    作为VCMP管理域的管理角色,负责将VLAN信息通过VCMP报文同步给同域的其它设备。Server上创建、删除VLAN和修改VLAN名称、描述的信息会在全域内传播。

  • Client

    作为VCMP管理域的被管理角色,属于某特定VCMP管理域,根据Server发过来的VCMP报文将VLAN信息同步到本地。Client上创建、删除VLAN和修改VLAN名称、描述的信息不会在域内传播,但会被Server发送的VLAN信息覆盖。

  • Transparent

    作为透传角色,不受VCMP的管理行为影响,也不影响VCMP管理域中的其他设备。Transparent直接转发VCMP报文(仅向Trunk或Hybrid类型链路转发),Transparent上创建、删除VLAN和修改VLAN名称、描述的信息不受Server影响,也不会在域内传播。这样可满足某些设备不希望受VCMP管理,但需要转发VCMP报文的需求。

  • Silent

    部署在VCMP管理域的边缘,不受VCMP的管理行为影响,也不影响VCMP管理域中的其他设备,可用来隔离VCMP管理域。Silent收到VCMP报文后直接丢弃,而不转发该报文。Silent上创建、删除VLAN和修改VLAN名称、描述的信息不受Server影响,也不会在域内传播。

VCMP是如何工作的?

VCMP协议报文

VCMP通过在各角色设备间交互VCMP报文实现VLAN的集中管理,VCMP报文只能在Trunk或Hybrid类型接口的VLAN 1上传输。VCMP为确保在各种场景下Server与Client的VLAN信息保持一致,VCMP协议定义了Summary-Advert、Subset-Advert和Advert-Request三种组播方式的报文。三种报文的触发场景如下描述:

Summary-Advert报文

  • Server每5分钟发一次Summary-Advert报文,以确保Server与Client上的VLAN信息的实时同步,防止因传输丢包等原因导致的同步遗漏。
  • Server上的配置变更(包括创建/删除VLAN、VCMP管理域名修改、设备ID修改、认证密码修改、Server设备重启等情况)。
  • 收到同域的Client的Advert-Request报文。

Subset-Advert报文

Server上存在非默认配置的VLAN名称或VLAN描述,且满足以下任一条件:
  • Server上的配置变更(包括创建/删除VLAN、VLAN名称/VLAN描述修改、VCMP管理域名修改、设备ID修改、认证密码修改等情况)。
  • 收到同域的Client的Advert-Request报文。

Server发送Subset-Advert报文,以确保Server与Client上的VLAN信息实时同步,防止因传输丢包等原因导致的同步遗漏。

Advert-Request报文

  • 新插入一台Client设备。
  • Client设备发生重启或接口Up。

Server上配置变更的VLAN同步机制

当Server上的配置变更(包括创建、删除VLAN,修改VLAN的名称、描述,VCMP管理域名、设备ID修改,以及Server重启等情况)时,Server会发送携带变更信息的Summary-Advert和Subset-Advert报文,以通告VCMP管理域内的Client进行同步。

下面以在Server上创建VLAN 100为例,介绍Server上配置变更的同步原理。假设Server上的VLAN的名称、描述均为缺省情况,即无需发送Subset-Advert报文。

如下图所示,SwitchA设置为Server,SwitchB设置为Transparent,SwitchC、SwitchD和SwitchE设置为Client,SwitchF设置为Silent。

Server上配置变更的同步原理图
Server上配置变更的同步原理图
网络管理员在Server上创建VLAN 100后:
  1. Server发送携带变更VLAN的Summary-Advert报文,以向邻居通告这个配置变更。
  2. Transparent收到Summary-Advert报文后,直接转发这个VCMP报文。
  3. Client收到Summary-Advert报文后:
    • 如果Client上第一次收到该报文,则学习报文中携带的设备ID、配置修订号、VLAN信息。若本地Client的VCMP管理域名为空,则也会学习报文中携带的VCMP管理域名。
    • 如果Client上不是第一次收到该报文,则进行如下处理:
      1. 根据Client上配置的认证密码以及报文携带的VCMP管理域名、设备ID、配置修订号等字段对报文进行VCMP认证。认证通过才会进行下一步。
      2. 将本地保存的VCMP管理域名、设备ID,分别与报文携带的进行比较。两者均相同才会进入下一步。
      3. 比较本地配置修订号与报文携带的配置修订号:

        • 如果高四位不等,则Client根据Summary-Advert报文同步Server上的VLAN信息,并学习VCMP管理域名和设备ID。
        • 如果高四位相等但本地配置修订号的低4位小于等于Summary-Advert报文中的配置修订号的低4位,则Client仅同步Server上的VLAN信息。
      4. 将Summary-Advert报文转发给VCMP管理域的其他设备。

    本例中,Client不是第一次收到Summary-Advert报文,并且Client发现本地与Summary-Advert报文中的配置修订号的高4位相等,但本地配置修订号的低4位小于等于Summary-Advert报文中的配置修订号的低4位,于是根据Summary-Advert报文同步Server上的VLAN信息,在本地创建VLAN 100。

  4. Silent收到Summary-Advert报文,则直接丢弃该报文。

新增Client的VLAN同步机制

为确保Server与Client上的VLAN信息的同步,Server每5分钟发送一次Summary-Advert报文,向全域通告VCMP管理域名、设备ID和配置修订号,Server还会发送Subset-Advert报文来通告发生变更的VLAN名称和VLAN描述。当新插入一台Client或Client重启时,为了及时获取Server上的VLAN配置信息,新Client和重启的Client会发送Advert-Request组播报文,请求Server的VLAN配置信息。下面介绍这种场景下的VLAN同步原理。假设Server上的VLAN的名称、描述均为缺省情况,即无需发送Subset-Advert报文。

如下图所示,SwitchA设置为Server,SwitchB设置为Transparent,SwitchC和SwitchE设置为Silent,SwitchD设置为Client,SwitchF为新插入的一台设备,作为Client。

新增Client的VLAN同步原理图
新增Client的VLAN同步原理图
在SwitchF上配置VCMP功能并指定角色为Client后,SwitchF即为一台新的Client:
  1. 新Client向邻居发送Advert-Request报文,请求Server的VLAN配置。

  2. Client收到新Client的Advert-Request报文后,向邻居转发该报文。

  3. Transparent收到Advert-Request报文,继续向邻居转发该报文。

  4. 如果:
    • Server收到Advert-Request报文:

      • 根据Server上配置的认证密码以及报文携带的VCMP管理域名、设备ID、配置修订号等字段对报文进行VCMP认证。认证通过才会进行下一步。
      • 如果该Advert-Request报文中的管理域名或设备ID非空,但与Server上配置的管理域名或设备ID不相等,则丢弃该Advert-Request报文;否则,回复携带Server上VLAN信息的Summary-Advert报文。
    • Silent收到Advert-Request报文,则直接丢弃该报文。
  5. Client、Transparent、Silent、新Client收到Server回复的Summary-Advert报文后,如“Server上配置变更的VLAN同步机制”所述处理该报文。只不过本场景中,Client发现VCMP管理域名、设备ID和配置修订号跟Summary-Advert报文携带的相等,直接转发该报文;而新Client则会同步Server的VLAN信息,如果新Client没有配置VCMP管理域,还会学习Server的VCMP管理域名和设备ID。

VCMP和VTP有什么区别?

VCMP协议和VLAN中继协议VTP(VLAN Trunking Protocol)是OSI参考模型第二层的通信协议,VCMP是华为的私有协议,VTP是思科的私有协议。他们的功能类似,都可以实现VLAN的集中管理和维护,减少网络维护成本。

词条统计
  • 作者: 贺妍
  • 最近更新: 2021-10-29
  • 浏览次数: 12559
  • 平均得分:
分享链接到: