【转自华为】华为VLAN集中管理协议(VCMP)基本概念、角色、应用场景及实现机制

科技   2024-11-13 14:51   河北  

1.定义

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

2.基本概念

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

#  VCMP管理域及角色示意图

3.VCMP管理域

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

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

4.VCMP的角色

VCMP通过角色定义确定设备的属性,VCMP角色定义如下表所示:

# VCMP的角色

说明:

  • TransparentSilent不属于任何VCMP管理域。
  • VCMP管理域的边缘设备如果希望受VCMP的管理,也可设置为Client角色,但为防止本域的VCMP报文传输到其他域中,需要将连接其他域的接口去使能VCMP功能。

5.应用场景

小型企业网中,网络管理员可登录到每台交换机上进行VLAN的配置和维护。但大型企业网中,交换机很多,会有大量的VLAN信息需要配置和维护。如果仅靠网络管理员手工操作,工作量很大,也不能保证配置的一致性。

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

说明:

  • VCMP只能帮助网络管理员同步VLAN配置,但不能帮助其动态地划分端口到VLAN。因此,VCMP一般需要与LNP结合使用,以最大程度简化用户配置。
  • GVRP也可减少VLAN配置,且可将端口动态地划分到VLAN,但GVRP创建的VLAN是动态VLAN,而VCMP创建的VLAN是静态VLAN

# VCMP应用场景组网图

如上图所示,某企业有部门A部门B两个部门,分别属于不同二层网络,各部门规模较大,需要配置和维护的VLAN信息很多。为了方便VLAN的配置和维护,可在部门A部门B内分别部署VCMP,管理域分别为VCMP1VCMP2,并选择汇聚交换机AGG1作为VCMP1Sever,接入交换机ACC1~ACC2作为VCMP1Client,汇聚交换机AGG2作为VCMP2Server,接入交换机ACC3~ACC4作为VCMP2Client。这样,网络管理员只需分别在AGG1AGG2上创建、删除VLAN或修改VLAN的名称、描述,ACC1~ACC2ACC3~ACC4会分别同步AGG1AGG2上的VLAN信息,实现了VLAN的统一配置和管理。

6.VCMP协议报文

VCMP通过在各角色设备间交互VCMP报文实现VLAN的集中管理,VCMP报文只能在TrunkHybrid类型接口的VLAN 1上传输。为确保在各种场景下ServerClientVLAN信息保持一致,VCMP协议定义了Summary-AdvertSubset-AdvertAdvert-Request三种组播方式的报文。三种报文的作用及触发场景如下表所示。

其中,由Server发送的Summary-AdvertSubset-Advert报文会携带配置修订号。配置修订号用来确定Server发送的VLAN信息是否比当前的更新,Client使用它来判断是否需要同步ServerVLAN信息。它以8位十六进制数体现,高四位用来标识VCMP管理域或设备ID的变更,低四位用来标识VLAN的变更。只要ServerVLAN变更,配置修订号就会自动递增。而当VCMP管理域名或设备ID变更时,配置修订号的高四位会重新计算,低四位会清零。

7.实现机制

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

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

# 新增Client的VLAN同步机制

为确保ServerClient上的VLAN信息的同步,Server5分钟发送一次Summary-Advert报文,向全域通告VCMP管理域名、设备ID和配置修订号,Server还会发送Subset-Advert报文来通告发生变更的VLAN名称和VLAN描述。当新加入一台ClientClient重启时,为了及时获取Server上的VLAN配置信息,新Client和重启的Client会发送Advert-Request组播报文,请求ServerVLAN配置信息。

# 多Server告警机制

VCMP管理域内只能有一台Server。为防止用户假冒Server攻击网络,Server在收到Summary-Advert报文后,会将报文中的VCMP管理域名、设备ID、源MAC地址与本地的进行匹配。如果VCMP管理域名和设备ID匹配,但报文中的源MAC地址与本地的系统MAC地址不同,则会向网管发送“多Server”事件告警。

为了防止告警太多影响Server性能,VCMP抑制告警的发送次数,每30分钟向网管发送一次告警。

# VCMP认证机制

未知交换机加入VCMP管理域,可能会将其设备上的VLAN信息同步到域内,进而影响域内网络的稳定。为防止未知交换机加入,使VCMP管理域更安全,可以为域中的ServerClient配置域认证密码。

如果ServerClient配置了域认证密码,则用该密码字符串(默认使用空字符串)作为Key值,对报文中的VCMP管理域名、设备ID等字段进行SHA-256摘要计算,并把得到的摘要信息随Summary-Advert报文、Subset-Advert报文或Advert-Request报文发送。域内每台Client在收到的ServerSummary-AdvertSubset-Advert报文时,则用本地配置的认证密码对报文中的VCMP管理域名、设备ID和配置修订号等字段进行SHA-256摘要计算,并把得到的摘要信息与报文中携带的摘要信息进行比较。如果匹配,则认证通过,进行后续VCMP处理;否则,丢弃该Summary-AdvertSubset-Advert报文。Server收到ClientAdvert-Request报文时进行同样的认证处理。

如果未配置域密码,则直接认证通过。

说明:

  • 同一VCMP管理域中的Server和每台Client上配置的域密码必须相同。
  • 为充分保证设备安全,请用户定期修改密码。

Python运维实践
Python运维实践,专注于互联网技术的总结与交流,内容涉及Python自动化运维、Django框架、园区网络技术、linux云计算、系统架构及网络空间安全等知识的实践与分享。
 最新文章