什么是VCMP?
VLAN集中管理协议VCMP(VLAN Central Management Protocol)可以实现VLAN的集中维护和管理。VCMP是华为的私有协议,工作于链路层,提供了一种在二层网络中传播VLAN配置信息,从而保证整个二层网络中VLAN配置信息一致。相较于手工配置,VCMP具有维护工作量小、VLAN配置一致的优点。
为什么需要VCMP?
通常情况下,企业网的交换机上需要保持VLAN信息的同步,以保证所有交换机都能进行正确的数据转发。小型企业网中,网络管理员可登录到每台交换机上进行VLAN的配置和维护。但大型企业网中,交换机很多,会有大量的VLAN信息需要配置和维护。如果仅靠网络管理员手工操作,工作量很大,也不能保证配置的一致性。
为了解决上述问题,可通过VCMP实现VLAN的集中管理。这样,只需在一台交换机上进行创建、删除VLAN等操作,这些变更会自动通知到指定范围内的所有交换机,从而使这些交换机无需手工操作即可实现VLAN的创建、删除等动作的同步,即减少了在多台交换机上修改同一个数据的工作量,也保证了修改的一致性。
- 可实现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共定义了Server、Client、Transparent和Silent四种角色。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名称/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发送携带变更VLAN的Summary-Advert报文,以向邻居通告这个配置变更。
- Transparent收到Summary-Advert报文后,直接转发这个VCMP报文。
- Client收到Summary-Advert报文后:
- 如果Client上第一次收到该报文,则学习报文中携带的设备ID、配置修订号、VLAN信息。若本地Client的VCMP管理域名为空,则也会学习报文中携带的VCMP管理域名。
- 如果Client上不是第一次收到该报文,则进行如下处理:
- 根据Client上配置的认证密码以及报文携带的VCMP管理域名、设备ID、配置修订号等字段对报文进行VCMP认证。认证通过才会进行下一步。
- 将本地保存的VCMP管理域名、设备ID,分别与报文携带的进行比较。两者均相同才会进入下一步。
比较本地配置修订号与报文携带的配置修订号:
- 如果高四位不等,则Client根据Summary-Advert报文同步Server上的VLAN信息,并学习VCMP管理域名和设备ID。
- 如果高四位相等但本地配置修订号的低4位小于等于Summary-Advert报文中的配置修订号的低4位,则Client仅同步Server上的VLAN信息。
- 将Summary-Advert报文转发给VCMP管理域的其他设备。
本例中,Client不是第一次收到Summary-Advert报文,并且Client发现本地与Summary-Advert报文中的配置修订号的高4位相等,但本地配置修订号的低4位小于等于Summary-Advert报文中的配置修订号的低4位,于是根据Summary-Advert报文同步Server上的VLAN信息,在本地创建VLAN 100。
- 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向邻居发送Advert-Request报文,请求Server的VLAN配置。
Client收到新Client的Advert-Request报文后,向邻居转发该报文。
Transparent收到Advert-Request报文,继续向邻居转发该报文。
-
如果:
Server收到Advert-Request报文:
- 根据Server上配置的认证密码以及报文携带的VCMP管理域名、设备ID、配置修订号等字段对报文进行VCMP认证。认证通过才会进行下一步。
- 如果该Advert-Request报文中的管理域名或设备ID非空,但与Server上配置的管理域名或设备ID不相等,则丢弃该Advert-Request报文;否则,回复携带Server上VLAN信息的Summary-Advert报文。
- Silent收到Advert-Request报文,则直接丢弃该报文。
- 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
- 平均得分: