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-Advert | Server通过该报文向VCMP管理域内的其他设备通告域名、设备ID、配置修订号以及VLAN信息。 | 1、Server每5分钟发一次Summary-Advert报文,以确保Server与Client上的VLAN信息的实时同步,防止因传输丢包等原因导致的同步遗漏。 2、Server上的配置变更(包括创建/删除VLAN、VCMP管理域名修改、设备ID修改、认证密码修改、Server设备重启等情况)。 3、收到同域的Client的Advert-Request报文。 | Server |
Subset-Advert | Server通过该报文向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-Request | Client通过该报文主动请求同步VLAN信息,以便及时同步,避免不必要的等待。 | 1、新插入一台Client设备。 2、Client设备发生重启或接口Up。 | Client |
VLAN同步机制
当Server上的配置变更(包括创建、删除VLAN,修改VLAN的名称、描述,VCMP管理域名、设备ID修改,以及Server重启等情况)时,Server会发送携带变更信息的Summary-Advert和Subset-Advert报文,以通告VCMP管理域内的Client进行同步。
举个例子:
网络管理员在Server上创建VLAN 100后:
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报文,则直接丢弃该报文。
在上面的例子中,只有Server向Client发送更新报文,而没有涉及Advert-Request报文,下面以新加入一台交换机为例说明该情况:
在SwitchF上配置VCMP功能并指定角色为Client后,SwitchF即为一台新的Client:
- 新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报文,则直接丢弃该报文。
- Server收到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的集中管理和维护,减少网络维护成本。