VCMP

VCMP简介

VLAN集中管理协议VCMP(VLAN Central Management Protocol)是一个位于OSI参考模型第二层的通信协议,它提供了一种在二层网络中传播VLAN配置信息,并自动地在整个二层网络中保证VLAN配置信息一致的功能。

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

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

VCMP可实现VLAN的集中管理和维护,减少网络维护成本;实现接入交换机的即插即用。

注意
  • VCMP只能帮助网络管理员同步VLAN配置,但不能帮助其动态地划分端口到VLAN。因此,VCMP一般需要与LNP结合使用,以最大程度简化用户配置。有关LNP的详细描述,请参见 LNP基本原理

  • GVRP也可减少VLAN配置,且可将端口动态地划分到VLAN,但GVRP创建的VLAN是动态VLAN,而VCMP创建的VLAN是静态VLAN。

VCMP原理

VCMP使用来管理交换机,称为VCMP管理域,并通过角色定义来确定设备的属性,称为VCMP角色,包括Server、Client、Transparent和Silent四种角色。

VCMP管理域

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

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

VCMP的角色

VCMP的角色定义及作用说明
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影响,也不会在域内传播。
  • Transparent和Silent不属于任何VCMP管理域。
  • VCMP管理域的边缘设备如果希望受VCMP的管理,也可设置为Client角色,但为防止本域的VCMP报文传输到其他域中,需要将连接其他域的接口去使能VCMP功能。

VCMP报文

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

报文类型作用触发场景触发报文的角色
Summary-AdvertServer通过该报文向VCMP管理域内的其他设备通告域名、设备ID、配置修订号以及VLAN信息。1、Server每5分钟发一次Summary-Advert报文,以确保Server与Client上的VLAN信息的实时同步,防止因传输丢包等原因导致的同步遗漏。
2、Server上的配置变更(包括创建/删除VLAN、VCMP管理域名修改、设备ID修改、认证密码修改、Server设备重启等情况)。
3、收到同域的Client的Advert-Request报文。
Server
Subset-AdvertServer通过该报文向VCMP管理域内的其他设备通告非默认配置的VLAN名称或VLAN描述。Server上存在非默认配置的VLAN名称或VLAN描述,且满足以下任一条件:
1、Server上的配置变更(包括创建/删除VLAN、VLAN名称/VLAN描述修改、VCMP管理域名修改、设备ID修改、认证密码修改等情况)。
2、收到同域的Client的Advert-Request报文。Server发送Subset-Advert报文,以确保Server与Client上的VLAN信息实时同步,防止因传输丢包等原因导致的同步遗漏。
Server
Advert-RequestClient通过该报文主动请求同步VLAN信息,以便及时同步,避免不必要的等待。1、新插入一台Client设备。
2、Client设备发生重启或接口Up。
Client

VLAN同步机制

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

举个例子:

image-20220727101703115

网络管理员在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报文,则直接丢弃该报文。

在上面的例子中,只有Server向Client发送更新报文,而没有涉及Advert-Request报文,下面以新加入一台交换机为例说明该情况:

image-20220727102117224

在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的集中管理和维护,减少网络维护成本。

参考文章

什么是VCMP?为什么需要VCMP? - 华为 (huawei.com)