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