随着网络规模的增加,网络边缘需要使用大量的接入设备,这使对这些设备的管理工作非常繁琐,同时要为这些设备逐一配置IP地址,在目前IP地址资源日益紧张的情况下无疑也是一种浪费。集群(Cluster)是一组网络通信设备的集合,集群管理的主要目的就是解决大量分散的网络设备的集中管理问题。集群管理具有以下优点:
l 节省公网IP地址。
l 简化配置管理任务。网络管理员只需在一台设备上配置公网IP地址就可实现对集群中所有设备的管理和维护,而无需登录到每台设备上进行配置。
l 提供拓扑发现和显示功能,有助于监视和调试网络。
l 可同时对多台设备进行软件升级和参数配置,且不受网络拓扑和距离限制。
根据在集群中所处的地位和功能的不同,可把集群中的设备分为以下三种角色:
l 管理设备(Administrator):在集群中对整个集群管理发挥接口作用的设备,也是集群中唯一配置公网IP地址的设备。每个集群必须(且只能)指定一个管理设备。对集群中的其它设备进行配置、管理和监控都必须通过管理设备来进行,管理设备通过收集相关信息来发现和确定候选设备。
l 成员设备(Member):在集群中处于被管理状态的设备。
l 候选设备(Candidate):指没有加入任何集群但具备集群能力、能够成为集群成员的设备。它与成员设备的区别在于:其拓扑信息已被管理设备收集到但尚未加入集群。
如图1所示,配置有公网IP地址并执行管理功能的设备就是管理设备,其它被管理的设备是成员设备,尚未加入任何集群但具备集群能力的设备是候选设备。由管理设备和成员设备共同组成了一个集群。
l 当在某候选设备上创建集群时,该设备就成为了这个集群的管理设备;管理设备只有在删除集群时才能恢复为候选设备。
l 当把某候选设备加入到集群中后,该设备便成为成员设备;当从集群中删除某成员设备后,该设备又恢复为候选设备。
集群管理通过HGMPv2(HW Group Management Protocol version 2,HW组管理协议版本2)来实现,它由以下三个协议组成:
l NDP(Neighbor Discover Protocol,邻居发现协议)
l NTDP(Neighbor Topology Discover Protocol,邻居拓扑发现协议)
l Cluster(集群管理协议)
l 集群通过以上三个协议,对集群内部的设备进行配置和管理,其工作过程包括拓扑收集以及集群的建立和维护。拓扑收集过程和集群维护过程相对独立,拓扑收集过程在集群建立之前就开始启动,工作原理如下:
l 所有设备通过NDP来获取邻居设备的信息,包括邻居设备的软件版本、主机名、MAC地址和端口名称等信息。
l 管理设备通过NTDP来收集用户指定跳数范围内的设备信息以及各个设备的连接信息,并从收集到的拓扑信息中确定集群的候选设备。
l 管理设备根据NTDP收集到的候选设备信息完成将候选设备加入集群、成员设备离开集群的操作。
NDP用来获取直接相连的邻居设备的信息,包括连接端口、设备名称、软件版本等信息,工作原理如下:
l 运行NDP的设备周期性地向邻居发送NDP报文,其中包含NDP信息(包括当前设备的名称、软件版本和连接端口等信息)以及NDP信息在接收设备上的老化时间。同时会接收(但不转发)邻居设备发送的NDP报文。
l 运行NDP的设备都会存储和维护NDP邻居信息表,在该表中为每台邻居设备创建一个表项。当新发现了一个邻居,即第一次收到它发送的NDP报文时,为其新增一个表项。如果收到的邻居设备NDP信息与旧信息不同,则更新相应的表项及其老化时间;如果相同,则只更新老化时间;如果老化时间超时后仍未收到邻居的NDP信息,将自动删除相应的表项。
NDP协议运行在数据链路层,因此可以支持不同的网络层协议。
NTDP为管理设备提供可加入集群的设备信息,收集指定跳数内设备的拓扑信息。NDP为NTDP提供邻接表信息,NTDP根据邻接信息发送和转发NTDP拓扑收集请求,收集一定网络范围内所有设备的NDP信息以及这些设备间的连接信息。收集完这些信息后,管理设备或网管可使用这些信息完成所需功能。
当成员设备上的NDP发现邻居有变化时,通过握手报文将邻居改变的消息通知给管理设备,管理设备可以启动NTDP收集指定拓扑,从而使NTDP能够及时反映网络拓扑的变化。
管理设备可以定时在网络内进行拓扑收集,用户也可以通过手工配置启动一次拓扑收集。管理设备收集拓扑信息过程如下:
l 管理设备从使能NTDP的端口周期性发送NTDP拓扑收集请求报文。
l 收到请求报文的设备立即发送拓扑响应报文至管理设备,并在已使能NTDP的端口复制此请求报文并发送到邻接设备;拓扑响应报文包含本设备的基本信息和所有邻接设备的NDP信息。
l 邻接设备收到请求报文后将执行同样操作,直至拓扑收集请求报文扩散到指定跳数范围内的所有设备。
l 当拓扑收集请求报文在网络内扩散时,大量网络设备同时收到拓扑收集请求并同时发送拓扑收集响应报文。为了避免网络拥塞和管理设备任务繁忙,可采取以下措施控制拓扑收集请求报文的扩散速度:
l 每台被收集设备收到拓扑收集请求报文后,并不立即转发该报文,而是延迟一段时间再由其第一个端口转发。
l 在同一台设备上,除第一个端口外,其它端口在上一个端口转发了拓扑收集请求报文后,都将延迟一段时间再继续转发该报文。
(1) 候选设备加入集群
用户在建立集群时应首先指定管理设备,管理设备可以通过NDP和NTDP协议发现和确定候选设备并将其自动加入集群,也可以通过手工配置将候选设备加入集群。
当候选设备成功加入集群后,将获得管理设备为其分配的集群成员序列号、集群管理使用的私有IP地址等。
(2) 集群内部通讯
在集群内部,管理设备与成员设备通过握手报文实时通信,以维护它们之间的连接状态,管理设备和成员设备的连接状态如图3所示。
图3 管理/成员设备状态转换
l 集群建立成功、候选设备加入集群成为成员设备后,管理设备将其状态信息保存到本地,并将其状态标识为Active;成员设备也将自身的状态信息保存到本地,并将其自身状态标识为Active。
l 管理设备和成员设备定时互发握手报文。管理设备收到成员设备的握手报文后不应答,仍将其状态保持为Active;成员设备收到管理设备的握手报文后也不应答,仍将其自身状态保持为Active。
l 当管理设备发送握手报文后,在三倍握手报文发送时间间隔内仍没收到成员设备的握手报文,则将其状态由Active迁移为Connect;同样,当成员设备发送握手报文后,在三倍握手报文发送时间间隔内仍没收到管理设备的握手报文,其自身状态也将从Active迁移为Connect。
l 若管理设备收到了处于Connect状态的成员设备在有效保留时间内发送的握手或管理报文,则将其状态迁移回Active,否则迁移为Disconnect——此时管理设备会认为已与该成员设备断开;而处于Connect状态的成员设备若在有效保留时间内收到了管理设备发送的握手或管理报文,则将其自身状态迁移至Active,否则迁移为Disconnect。
l 当管理设备与成员设备的通信恢复时,处于Disconnect状态的成员设备将重新加入集群。加入成功后,成员设备在管理设备以及其本地的状态都将恢复为Active。
l 如果发现拓扑改变,成员设备也通过握手报文向管理设备传递变化信息。
管理VLAN是指集群协议报文通讯所使用的VLAN,它限制了集群管理的范围,通过配置管理VLAN,可实现如下功能:
l 集群的管理报文(包括NDP、NTDP和握手报文)都将限制在管理VLAN内,实现了与其它报文的隔离,增加了安全性。
l 管理设备和成员设备通过管理VLAN实现了内部通讯。
l 集群管理要求管理设备与成员/候选设备相连的端口(包括级联端口)都要允许管理VLAN通过。如果端口不允许管理VLAN通过,该端口所连的设备将不能加入集群,因此当候选设备与管理设备相连的端口包括级联端口不允许管理VLAN通过时,可通过管理VLAN自协商修改候选设备的端口以允许管理VLAN通过。只有当管理设备与成员/候选设备相连接的端口(包括级联端口)的缺省VLAN ID都是管理VLAN时,才允许配置管理VLAN的报文不带Tag通过,否则管理VLAN的报文都必须带Tag通过。
& 说明:
级联端口是指当候选设备通过另外一台候选设备与管理设备相连时,这两台候选设备之间的连接端口。