具备自动建立机制的堆叠管理器协议的制作方法

文档序号:7626699阅读:154来源:国知局
专利名称:具备自动建立机制的堆叠管理器协议的制作方法
技术领域
本发明总体上涉及在一个数据通信网中的堆叠交换机系统的管理。更具体地说,本发明涉及一种容错堆叠交换机系统,它适于检测、处理交换机故障并从交换机故障中恢复。
背景技术
在一个分组交换网中的堆叠交换机系统中,各个交换机经由在每个交换机上存在的一对指定堆叠端口操作性地互连。堆叠交换机系统一般依次连接,系统拓扑的特征一般是一个闭合回路,称为环,或者是一个开交换机串,这里称为链。每个堆叠交换机适于在它自己的数据端口以及其他堆叠交换机的数据端口之间通过利用堆叠交换机标识符经由堆叠端口传送分组而进行交换,其中堆叠交换机标识符的使用有助于将这些分组有效的传输和交换到适当的堆叠交换机。目前,可以例如通过用户手工配置给堆叠交换机分配交换机标识符。但同时仍有需要堆叠交换机适于自动地和确定性地并依次地,也就是说,根据交换机在环或链中的次序,分配标识符给参与的交换机。
目前,堆叠交换机系统还易于出现标识符指派重复的情况,其中当组合来自不同系统的两个堆叠交换机,或者一个用户被错误地两次指派了同一个标识符时就会出现上述情况。在当前系统中,堆叠交换机自动地关机,这不幸地可以切断系统的连通性,形成了堆叠交换机孤岛。存在一种需要,要求堆叠交换机适于保持两个相邻交换机间的通信链路,并且具有重复标识符的交换机不能在堆叠交换机系统中转发分组。这种情况下,还需要(1)定义选举哪个交换机会成功,并且能够将活跃但不工作的交换机保持在某种状态的标准,在前述状态下该交换机还能接收管理命令;以及(2)解决冲突而不需要人工介入。
目前,堆叠交换机系统也采用在第一主堆叠交换机和被管堆叠交换机之间进行消息交换来确定各自的工作状态。然而,在某些情况下,第一主机可能没有计算资源来立即响应一个状态检查,这种情况下被管设备可能错误地推断出第一主机发生故障,并且开始选举一个新的第一主机。结果,堆叠交换机系统可能会有两个第一主机,从而导致整个系统出现故障。因此,需要堆叠交换机适于处理间歇性的中断,而不会过早启动系统管理的改变。

发明内容
本发明的优选实施方式特征在于一种交换设备,用来在一个包括多个堆叠交换机的堆叠交换机系统中执行通透转发操作。该交换设备最好包括多个端口和一个路由引擎,用来在端口之间转发分组。该多个端口包括多个数据端口和多个堆叠端口,也就是第一堆叠端口和第二堆叠端口,用于将交换机连接到其他堆叠交换机。该路由引擎适于实现这里所称的通透模式。如果通透模式被禁止,路由引擎例如根据与分组关联的目的地址信息,在多个端口之间转发分组。然而,如果通透模式被选通,路由引擎自动地将在第一堆叠端口上接收的分组转发给第二堆叠端口,并自动地将在第二堆叠端口上接收的分组转发给第一堆叠端口。在数据端口上接收的分组一般被丢弃。这样,交换机可以维持堆叠交换机系统的最小连通性,而不需要完全地运作或者完全地集成到堆叠交换机系统中。例如在两个堆叠交换机拥有相同标识符时,可以采用通透模式。
本发明的优选实施方式还特征在于一种交换设备,用于自动地分配堆叠交换机标识符。多个堆叠交换机中的每一个--包括一个负责分配的第一主堆叠交换机和适于承担第一主机的职责的所有被管堆叠交换机--包括两个堆叠端口和一个堆叠管理器,后者适于识别一个需要工作堆叠交换机标识符的堆叠交换机,并自动地向所述一个或多个堆叠交换机的每一个分配一个工作堆叠交换机标识符集合中的一个标识符。该工作堆叠交换机标识符集合最好包括有序整数,尽管本领域的技术人员会理解,因为一些标识符以前分配给一个或多个堆叠交换机,所以这个序列中可能会出现间隔。随后按照所述一个或多个堆叠交换机在一个序列的有序位置分配有序整数。假定所有堆叠交换机都没有以前存在的标识符,那么得到的交换机可能以升序依次编号,例如从第一主机为“1”开始。如果堆叠交换机有一个环拓扑,假定第一主机已经分配了标识符,从该标识符集合,分配最小的可用标识符给它第一堆叠端口上的相邻堆叠交换机,分配最大的可用标识符给它第二堆叠端口上的相邻堆叠交换机。如果在一个链拓扑中,最小的可用标识符一般会分配给第一主机,或者能够通过第一主机的一个堆叠端口到达的交换机,并且可用标识符在需要时依次分配给各个交换机,就像堆叠交换机呈环形连接。这样得到的标识符分配更好地反映了堆叠交换机的有序位置,从感觉上来讲,比目前采用的现有技术的分配方案要更为用户友好。
本发明的优选实施方式还特征在于一种交换设备,用于自动地和临时地禁止由堆叠交换机交换的以监视堆叠系统的状态和检测拓扑变化的监管消息。该系统一般包括一个或多个被管堆叠交换机和用于管理这些设备的一个第一主堆叠交换机。被管堆叠交换机适于发送监管消息给多个堆叠交换机中的一个或多个,包括第一主机。第一主机则在可能的情况下,适于对监管消息做出反应,或者发送一个监管暂停消息以临时地阻止多个被管堆叠交换机中的一个或多个发送监管消息。第一主机也可以解除监管暂停消息来恢复标准操作。在某些实施方式中,如果第一主机无法返回到正常工作状态,被管设备也可以在一个预定时间段之后,自动地恢复监管消息的定期发送。
本发明的优选实施方式还特征在于一种用于在系统初始化,或者指定的第一主机变得不工作时,从多个堆叠交换机中选举一个第一主堆叠交换机的方法。该方法包括以下步骤为多个堆叠交换机中的每一个产生一个选举键,在多个堆叠交换机之间交换每个堆叠交换机的选举键;将具有最小选举键的堆叠交换机指定为临时第一堆叠交换机。交换机的选举键包括相关堆叠交换机的启动时间--也就是例如日期、小时、分钟和秒--交换机在启动之后到达预定工作状态所需的时间。在优选实施方式中,启动时间与交换机适于对包括存在其他堆叠交换机的网络拓扑开始进行初步评估的时间相关联。


本发明通过例子来说明,但并不局限于附图,在附图中图1是一种按照本发明优选实施方式的集成堆叠交换机系统(ISS)的功能框图;图2是一种按照本发明优选实施方式的在ISS系统中采用的堆叠交换机的功能框图;图3是一个按照本发明优选实施方式的代表起动过程中堆叠交换机各阶段的状态图;图4是一个按照本发明优选实施方式的对应于图3的可堆叠性确定状态的流程图;图5是一个按照本发明优选实施方式的对应于图3的发现状态的流程图;图6A和6B一起是按照本发明优选实施方式的对应于图3的选举状态的流程图;图7A和7B一起是按照本发明优选实施方式的对应于图3的单元号码指派状态的流程图;图8A和8B是按照本发明优选实施方式的分别对应于单元号码分配前后的ISS示例系统;图9A和9B是按照本发明优选实施方式的分别对应于单元号码分配前后的ISS示例系统;图10A和10B是按照本发明优选实施方式的分别对应于单元号码分配前后的ISS示例系统;图11是一个按照本发明优选实施方式的代表性的堆叠选举消息;以及图12是一个按照本发明优选实施方式的代表性的堆叠监管消息。
具体实施例方式
在图1中示出了在一个数据通信网中的一种集成堆叠交换机(ISS)系统的功能框图。网络120包括多个堆叠交换机100-103,它们操作性地依次连接,借助于堆叠链路110-113,例如双绞线或光纤电缆,形成例如一个链或环拓扑。交换设备100-103最好是可堆叠交换机,可通过一个或多个本领域技术人员将其称为堆叠端口的特定用途端口相互连接。多个堆叠交换机100-103,这里也称为堆叠单元和单元,适于在ISS 120的其他交换机以及通过例如一个或多个局域网(LAN)、广域网(WAN)、城域网(MAN)或者互联网连接到ISS的一个或多个端点站或其他可寻址实体之间传送分组化的数据。
在优选实施方式中,堆叠交换机100-103是适于在由开放系统互连(OSI)参考模型定义的第二层(数据链路层)和第三层(网络层)处执行协议数据单元(PDU),最好是帧和分组,的交换和路由操作的多层交换机,尽管它们也可以完成4-7层交换操作。堆叠交换机100-103的每个一般能够充当一个独立的网桥、交换机或路由器。但是,通过优选实施方式的集成堆叠管理器协议(ISMP),堆叠交换机100-103互相协作以模拟一个比对独立操作的各个交换机100-103仅进行简单综合功能要强得多的单个交换设备。得到的ISS120适于提供具有增强的容错性和用户方便性的可扩展的网络能力。具体来说,优选实施方式的ISS 120可以动态地扩展以包括另外的堆叠交换机,检测不工作的堆叠交换机和堆叠链接,动态地环绕--在某些情况下通过--不工作的堆叠交换机进行路由,并且自动地配置堆叠交换机100-103以产生一个非冗余的识别方案以有利于堆叠交换机间转发操作。
图2示出了一个在优选实施方式的ISS系统中采用的堆叠交换机的功能框图。该堆叠交换机包括一个或多个网络接口模块(NIM)204、一个或多个交换控制器(网络处理器)206,以及一个管理模块220,所有这些最好互相协作,以经由外部端口202中的每一个接收入数据业务量并发送出数据业务量。对于本实施方式,从另一网络节点流入交换机200的数据称为入数据,它包括入协议数据单元。相反,从内部传送到外部端口202,用以发送给另一网络节点的数据称为出数据,它包括出PDU。多个外部端口202的每一个都是双工端口,适于接收入数据并发送出数据。
NIM 204和204S最好包括适于经由网络通信链路(未示出)交换例如以太网帧和IP分组等之类的PDU的一个或多个物理层接口和媒质访问控制(MAC)接口。在多个外部端口202中,两个示例性的堆叠端口202S用于将该特定堆叠交换机200集成到ISS 120中。与两个堆叠端口202S相关联的NIM 204S例如是标准以太网端口,适于根据堆叠配置模式与其它堆叠交换机进行堆叠间通信以及与各种兼容节点交换传统数据业务量PDU。入PDU借助于一个或多个入数据总线205A,从多个NIM 204和204S被传送给交换控制器206。类似地,出PDU经由一个或多个出数据总线205B从交换控制器206被发送给多个NIM 204和204S。
管理模块220一般包括一个策略管理器224,用于保持和实现业务量策略。由策略管理器224所实现的策略最好部分基于来自源学习操作的第二层和/或第三层寻址信息,从其它路由设备接收的路由信息,以及由网络管理员利用例如简单网络管理协议(SNMP)消息226通过一个配置管理器222上载的过滤规则。在转发表254中集中表示从源学习、其他网络节点和管理员得到的业务量策略,路由引擎230可利用它们。
除了业务量策略之外,管理模块220还包括一个中央管理模块(CMM)210,用以实现下面详细讨论的ISS堆叠交换功能。优选实施方式的CMM 210包括一个端口状态模块212和一个堆叠管理器214。端口状态模块212适于利用例如保持活跃信号,监视堆叠端口202S的工作状态,识别连接到堆叠端口202S的相邻堆叠交换机的存在。
优选实施方式中的CMM 210还包括一个堆叠管理器214,适于参与确定每个堆叠交换机管理责任的选举,处理用以监控其他交换机的状态的监管消息,以及如果需要,还充当其责任可以包括分配唯一单元标识符给一个或多个堆叠交换机100-103以及分配处理器标识符给堆叠交换机100-103的网络处理器的第一主交换机(PMS)或第二主交换机(SMS)。在优选实施方式中,堆叠管理器214具有能够基于仅与相邻邻居的消息交换来完全工作的通信协议。这是因为运行在堆叠交换机100-103上的堆叠管理器214实例必须能够甚至在知道交换机堆叠ISS的拓扑之前,与运行在远端交换机上的其他实例通信。
此外,堆叠管理器214适于确定ISS堆叠交换机拓扑,处理ISS120堆叠交换机之间交换的拓扑相关的消息。具体来说,堆叠管理器214发送ISS拓扑请求,发送已知的ISS拓扑信息给其他堆叠交换机,维护一个或多个本地拓扑表。在一些实施方式中,堆叠管理器214还负责检测一个单元的丢失,一个另外单元的插入(从而产生一个阱),从堆叠中移走一个单元,以及确定相关CMM 210的工作状态。
优选实施方式中的堆叠管理器214保持并更新一个或多个堆叠交换机邻居表218,最好是一个与每个堆叠端口202S相关联的表。邻居表218是一个可以通过相关联的堆叠端口202S到达的堆叠交换机的列表。在优选实施方式中,邻居堆叠交换机按顺序排列,其中与该端口直接相邻的单元排在第一。两个堆叠端口的每一个都维护一个列出了通过该堆叠端口可以到达的所有相邻堆叠交换机的邻居表218。如果ISS 120的拓扑是环形配置,那么这两张邻居表218有着相同的相邻堆叠交换机列表,但次序相反。
交换机200最好包括至少一个网络处理器206,其能够进行但不局限于开放系统互连(OSI)参考模型中所定义的第二层(数据链路)和第三层(网络)的交换操作。用以将外部端口202连接到一个有线和/或无线通信链路的可能的第二层协议集合包括电子电气工程师协会(IEEE)802.3和I EEE 802.11标准,而可能的第三层协议集合包括互联网工程师任务组(IETF)请求评论(RFC)791所定义的互联网协议(IP)版本4和IETF RFC 1883所定义的IP版本6。
网络处理器206最好包括一个路由引擎230和一个队列管理器240。路由引擎230包括一个分类器232,它从数据总线205A接收入PDU,检查该PDU的一个或多个字段,利用内容可寻址存储器233将该PDU分类到多个流中的一个,以及从在高速存储器中保持的转发表254中检索出转发信息。从转发表254中检索出的转发信息最好包括但不局限于一个流标识符,用于指定为准备出该特定PDU所必需的那些转发操作,其中该流标识符可以包括下一跳地址,以及服务类别(COS)或服务质量(QOS)规定。
转发处理器234接收到带有相关转发信息的入PDU,并且在发送到适当的出端口之前,执行一个或多个转发操作。这些转发操作最好包括但不限于重新封装数据的头变换,将一个或多个VLAN标记追加到一个PDU的VLAN标记推操作,从一个PDU中去除一个或多个VLAN标记的VLAN标记出操作,保留网络资源的服务质量(QoS),监控客户业务量的计费和记账,多协议标签交换(MPLS)管理,选择性地过滤PDU的鉴权,接入控制,包括地址解析协议(ARP)控制的高层学习,用于再生和重定向PDU用于业务量分析的端口镜像,源学习,用于确定相对优先级的服务类别(CoS),其中通过该相对优先级分配交换机资源给PDU,用于制定策略和业务量整形的颜色标记,以及用于例如在ISS 120的交换机100-103之间有效地分发PDU的堆叠交换机间标记管理。
在转发处理器234之后,PDU被送到并存储在队列管理器240中,直至有带宽可用于发送PDU给适当的出端口。具体而言,出PDU缓存在缓冲器242中的多个优先级队列的一个或多个中,直至由调度器244经由输出数据总线205B将它们发送给外部端口202。
网络处理器206可以配备有一个内部交换结构(未示出),可以将交换机的每个外部端口202连接到该交换机上的每个其它端口。在优选实施方式中,该内部交换结构可以配置成将来自两个堆叠端口202S的每一个的入业务量通过信道传送到其他堆叠端口,旁路了分类器232和转发处理器234,以实现下面将详细讨论的通透模式。
图3示出了一个状态图,其表示由一个ISS堆叠交换机从启动到完全工作模式所采用的自动建立机制的各个阶段。在初始化之后,堆叠交换机200进入可堆叠性确定状态302,在其中该交换机确定它是被配置成充当一个独立交换机,还是一个堆叠交换机。可以根据堆叠端口202S的物理和工作存在来确定可堆叠性。在本发明的某种实施方式中,在一个交换机中也可以没有堆叠端口。如果该交换机被配置成进行独立操作304,堆叠管理器214被禁止,该交换机根据具有所有数据端口202的多层交换机工作。然而,当被配置成作为一个堆叠交换机时,端口状态模块212监控堆叠端口,看是否有保持活跃消息或指示相邻单元存在的其他消息。在没有相邻堆叠交换机的情况下,该交换机确定它是一个堆叠306,并进入到转发状态308,在该状态它在标准数据端口202上接收并发送数据业务量,同时监控堆叠端口202S,以引入一个或多个另外的堆叠单元。
而在可堆叠性确定状态302中如果在堆叠端口202S上检测出了一个或多个交换机,交换机200进入到发现状态310,以确定ISS 120的拓扑。堆叠交换机200随后可以进入到选举状态312,在该状态ISS 120的堆叠交换机执行职责确定处理,用以识别哪些单元充当第一主交换机(PMS)和第二主交换机,这里也分别称作第一主机和第二主机。
第一主机负责ISS管理功能,包括例如单元标识符的分配和分发,ISS中的所有堆叠交换机通过单元标识符相互寻址,以及所有的命令行接口输入的处理和同步映像--也就是说,同步堆叠交换机上的不同软件版本。第二主机指定为是该第一主机的接任者,如果第一主机故障或者变得不工作,它承担第一主机的职责。尽管支持优选实施方式的ISMP协议的堆叠交换机的每一个都可以承担第一和第二主机的工作,但剩余的堆叠交换机听从主交换机,直至其中的任何一个后来按照下面详细讨论的层次选举处理被选为主机。
第一主机从选举状态312进入到单元号码指派状态314,而每一个其他堆叠交换机进入到转发状态308。在单元号码指派状态314中,选出的第一主机分配一个工作单元标识符(OEID)给每个尚未分配给一个单元标识符的堆叠交换机。如果有效,将OEID设置成等于在交换机永久存储器中保存的单元标识符(SEID)。虽然堆叠交换机使用OEID在其他堆叠交换机之间收发消息,但OEID只在堆叠交换机生命周期内有效,也就是说直至重启。如果一个堆叠交换机在启动时有一个有效的SEID,OEID被设置成等于SEID。否则,由第一主机通过单元号码分配机制分配给堆叠交换机一个OEID,此时将SEID设置成等于OEID。
工作在转发状态308时,交换机200适于转入到监管状态316和通透(PT)状态320并从监管状态316和通透(PT)状态320转回。在监管状态316中,交换机200发送监管消息给它的两个相邻邻居以进行监管,类似于用于交换保持活跃消息的保持活跃机制。例如,在一个新堆叠交换机被插入ISS 120或者移走一个已有的交换机时,交换机200自动地和其他堆叠交换机交换拓扑信息,并且更新其堆叠交换机邻居表。如果第一和第二主机同时出现故障,其余的堆叠交换机--其很可能在转发状态308中--进入到选举状态312,以选出一个新的主机。如果第二主机发生故障,并没有选举,而是第一主机选择空闲单元的一个担任第二主机的职责。一旦选定了该单元,第一主机将新的指派通过一个被授予最高权限的选举指示消息告知整个堆叠。如果第一主机发生故障,并没有真正的选举,而是第二主机将自己提升到成为新的第一主机,并选择空闲单元的一个成为新的第二主机。一旦选定了该单元,新的第一主机将新的指派通过一个被授予最高权限的选举指示消息告知整个堆叠。
在通透(PT)状态320中,堆叠交换机的数据端口202完全被禁止,以及路由引擎230被配置成将来自它两个堆叠端口202S中任意一个的数据业务量传送到相反的堆叠端口。在PT状态320中,路由引擎230有效地模拟了在两个相邻堆叠交换机的堆叠端口之间的一个固定有线连接,这样,防止了堆叠交换机系统120的连续性否则将有一个中断。通透可以用于保持,而不是关闭与一个公共单元相邻的堆叠交换机间的连续性,从而维护了ISS 120,否则,其中没有实现示例性实施方式的堆叠交换机系统将会切断它们的环拓扑,或者生成两个独立的链。
在优选实施方式中,一个单元可以回到该通透模式,其中例如两个单元拥有相同的OEID。多个堆叠交换机最初可以拥有相同的OEID,它们配置了例如相同的厂商设置的缺省EID或者保持在永久存储器中的相同的用户定义的SEID。在两个或多个单元拥有相同的OEID时,除了两个或多个堆叠交换机中的一个之外,所有堆叠交换机都转移到PT状态320,直至第一主机分配给每个堆叠交换机一个新的唯一OEID,并且此时,它们可以返回到转发状态308。具体而言,第一主机采用一个全局单元标识符(GID),向在通透状态320中的单元发送一个它的新OEID,以及重新配置该单元以及使它返回到转发状态308必要的其他管理命令。全局单元标识符(GID)包括OEID和一个或多个附加标识符,例如堆叠交换机的媒质访问控制(MAC)地址,或者例如交换机的系列号,从而即使两个交换机的OEID相同,也能唯一地识别每个堆叠交换机。
如所示,一个堆叠交换机可以在发现状态310和监管状态316之间的任一方向上转移,因为监管是需要的,并且早在其中一个堆叠交换机检测到一个邻居的发现状态310执行,所以,必须执行下面详细描述的监管任务。
A.可堆叠性确定状态图4示出了一个对应于图3的可堆叠性确定状态的流程图。在堆叠单元初始化之后,端口状态模块212确定该交换机是否被网络管理员配置成作为一个可堆叠交换机工作。如果不是,堆叠端口状态决定框402的答案是否定的,交换机作为一个独立交换机进行标准的转发操作,而不具备采用ISMP的集成堆叠交换机系统的优势。如果该交换机被配置成作为一个堆叠交换机工作,中央管理模块210和堆叠管理器214特别地启动(步骤404)一个模式定时器,该定时器定义了分配给交换机的,用以确定到一个或多个另外堆叠交换机的连通性的时间。为了检测出这些如果存在的堆叠交换机,堆叠管理器214在堆叠端口202S上监听是否存在保持活跃消息或者指示堆叠链路是工作着的其它类型信号。其他检测机制可以监控由堆叠交换机所产生的电信号,或者可以交换相互关联的保持活跃消息,它们采用消息序列号来与发送的在前保持活跃消息建立关系,从而确保双向通信。在证实了一个相邻堆叠交换机之后,堆叠链路工作测试(步骤408)的答案是肯定的,交换机200进入到发现状态310。在没有一个相邻堆叠交换机,并且模式检测时间到期的情况下,模式定时器消逝测试410的答案是肯定的,堆叠交换机200初始化成一个堆叠(状态306),从而使网络管理员能够以后连接一个或多个堆叠交换机到堆叠端口202S,以构造一个ISS 120。
B.发现状态图5是一个对应于图3的发现状态(状态310)的流程图。在进入发现状态310之后,堆叠交换机200启动初步监管行动501,并且确定ISS 120的多个堆叠交换机的拓扑。初步监管行动501包括一个监管定时器的开始和保持活跃消息的初始发送。尽可能早在启动处理中从堆叠交换机发送出保持活跃消息,以增加一个相邻堆叠交换机在断定不存在通过相关堆叠端口可到达的交换机之前,检测出特定堆叠交换机的概率。在某些实施方式中,一个堆叠交换机还将在接收的保持活跃消息中的信息与本地数据相比较,以初步确定职责指派中的改变和拓扑,也就是是否改变了第一或第二主机。
学习拓扑所能花的时间由发现时间周期定义,它始于(步骤502)进入发现状态310。请求已知堆叠交换机身份的拓扑请求消息随后从检测到一个相邻堆叠的堆叠端口202S的每一个发出(步骤504)。类似地,交换机200也监控(步骤506)它的堆叠端口202S,看是否从相邻堆叠交换机发来拓扑相关消息,直至发现时间间隔已经过去。
如果在任一堆叠端口202S上检测到一个拓扑请求,接收到拓扑请求测试514的答案是肯定的,并且单元200以一个拓扑指示消息应答(步骤516)。拓扑指示消息包括它所知道的ISS 120的一个或多个堆叠交换机的列表,也就是与相反堆叠端口相关联的堆叠邻居表218中所列的单元。当检测到拓扑指示,接收拓扑指示测试512的回答是肯定的,并且该交换机200将(步骤518)已知堆叠交换机的拓扑与接收的该堆叠交换机列表的拓扑相比较。如果拓扑不同,并且如果由每个堆叠交换机所提供的堆叠交换机标识符在ISS 120内是唯一的(测试522),堆叠交换机200更新(步骤524)它的邻居表218中的一个--也就是与在其上接收到拓扑指示消息的堆叠端口相关联的那个--更新内容为新近学习的堆叠交换机的身份,最好包括OEID、SEID、MAC地址、交换机硬件类型和启动时间。在优选实施方式中,如果相邻堆叠交换机存在,堆叠交换机自动地发送(步骤526)一个具有从两个堆叠端口202S中的另一个新近学习的拓扑的更新拓扑指示给该相邻堆叠交换机。
如果由与第一堆叠端口相关联的堆叠邻居表,称为第一堆叠邻居表,所给出的拓扑和由与堆叠端口202S对中的第二堆叠端口相关联的堆叠邻居表,称为第二堆叠邻居表,所给出的拓扑相同和相反,则环路检测测试528的答案是肯定的,并且交换机200进入到选举阶段312。然而,如果一个堆叠交换机检测到它使用的工作单元标识符与另一交换机的相同--例如,这可能发生在其中多个堆叠交换机拥有相同的缺省值或者用户定义的堆叠交换机标识符时--具有低优先级标识符的交换机立即转移到通透(PT)状态320,以防止出现寻址不确定。
假定在ISS 120中没有检测到环路,发现时间将消逝,在没有发现相邻堆叠交换机的情况下,堆叠交换机200进入到转发状态308,或者如果在ISS 120中检测到一个或多个相邻堆叠交换机(测试530),则转移到选举状态312。
在完成了发现状态310之后,所有堆叠交换机最好交换了拓扑指示消息和学习了在ISS 120中存在的所有其它堆叠交换机的OEID。在优选实施方式中,堆叠交换机还传播每个堆叠交换机的启动时间和MAC地址,它们和OEID一起,构成了一个选举键,用于按照下面描述的过程,辅助进行堆叠选举。
C.选举状态图6A和6B一起给出了对应于图3的选举状态的流程图。在进入选举状态312之后,堆叠交换机200确定堆叠交换机的管理职责,也就是该交换机充当第一堆叠交换机、第二堆叠交换机还是一个空闲堆叠交换机。第一主机,其根据定义包括主CMM,是负责分配工作单元标识符的交换机,而第二堆叠交换机与第一主机同步,在第一主机变得不工作时,准备承担第一主机的职责。
如果识别了第一主机,第一主机已知测试602的答案是肯定的。如果堆叠交换机200本身是第一主机(测试604),如果第二主机尚未识别(测试610),该交换机进入确定(步骤612)第二主机。在优选实施方式中,选择的第二主机是具有仅次于第一主机的最低选举键的堆叠交换机。在优选实施方式中,将自己视为第一主机的堆叠交换机发送(步骤614)一个选举指示,向在ISS 120中的所有其它交换机宣称它自己是第一主机。如果第一主机已知,但不同于当前堆叠交换机200,该交换机进入到转发状态308,并听从第一主机进行必要的ISS 120管理操作,包括例如下面将详细讨论的新堆叠交换机标识符的指派。
在没有已知第一主机的情况下,堆叠交换机200确定(步骤606)第二主机是否已知。如果交换机200自身是第二堆叠交换机,该交换机将自己升级为第一主机,并在转移到单元号码指派状态314之前发送(步骤614)选举指示消息。如果当前堆叠交换机知道第二主机不是它自己,该堆叠交换机认为自己承担空闲职责,进入到转发状态308。
在不知道第一和第二主机的情况下,堆叠交换机200按照图6B给出的过程,尝试确定,也就是选举ISS 120的一个单元。具体来说,多个堆叠交换机最好遵从一个层次编号方案来识别具有最小选举键(以下定义)的单元,尽管本领域技术人员已知的各种其它优先级方案也可能适用。该选举键最好包括交换机的启动时间、OEID和MAC地址。启动时间代表了交换机加电并进入可堆叠性确定步骤302的时间。OEID最好是一个8比特号码,用以从ISS 120的所有其它堆叠交换机中唯一地识别每个堆叠交换机。OEID一般由第一主机自动地指派,尽管网络管理员也可以定义一个或更多。
发现了所有堆叠交换机,并且将每个交换机的选举键传播给ISS120中的所有其它交换机之后,当前堆叠交换机200首先通过比较(步骤620)它的选举键和所有堆叠交换机的选举键,本地确定它是否应该承担第一主机的职责。如果当前交换机200确定它具有一个较低优先级的选举键,竞选成功者测试(步骤622)的答案是否定的,该交换机转移到转发状态308。然而,如果当前交换机200确定它具有优先级最高的选举键,并且因此是竞选成功者,那么该交换机临时承担第一主机的职责,启动(步骤624)一个规定了分配给交换机完成选举并汇聚到下一状态的时间周期的选举定时器,最好是三秒。优选实施方式中的堆叠交换机200还分发一个或多个选举请求消息(步骤626),以通知ISS中的其他单元它临时承担第一主机的职责。
本领域中普通技术人员会理解,选举请求消息和选举定时器的一个目的是防止两个或多个单元无意间灾难性地把自己升级为同一ISS 120中的PMS。如果例如在发现阶段(状态310)期间一个堆叠单元或堆叠链路出现故障或者一个新单元在发现阶段完成之后立即加电,这样临时将ISS 120划分成两个或多个分离的部分,每个部分选出一个不同的第一主机,那么ISS 120中的一个或多个堆叠交换机相信它是第一主机。为了防止这种情况导致ISS 120瘫痪,确定它自己是第一主机的优选实施方式的每个堆叠交换机分发(步骤626)一个或多个选举请求消息,最好是三个,给临时承担第一主机的职责的所有其它堆叠交换机,这样,提供给竞争交换机一个示例性的机制,用以通过通知和键比较来辅助第一主机的仲裁。
如上所述,如果在选举定时器消逝(测试632)之前,交换机200检测出(测试636)另一个选举请求,该交换机比较(步骤644)它的选举键和临时以第一主机工作的其它堆叠交换机的选举键。基于最高优先级选举键选择胜出的交换机通过重发(步骤648)它的选举请求来重新表明它自己是第一主机,而失败的交换机则进入到转发状态308。胜出的第一主机分发(步骤642)选举指示消息给所有的堆叠单元,以告知它们新的第一和第二主机的身份。除了第二主机之外,其它目前没有指定职责的单元在接收到该消息之后,都承担空闲职责。
在选举时间消逝之前,接收到一个选举指示(测试634)的堆叠交换机通过进入到转发状态308而不发送任何进一步的选举请求消息,来实施该消息。一般而言,接收到选举指示消息的各个单元必须总是听从该消息,除非另一单元已经承担了第一主机的职责。这种例外是需要的,以协调因为堆叠合并情况,或者环上出现两个故障而导致多个第一主机出现在同一堆叠的情况。
在没有其他堆叠交换机试图充当第一主机的情况下,选举定时器消逝(测试632),堆叠交换机200指派(步骤640)一个第二主机,发送一个选举指示(步骤642);并进入到单元号码指派状态314。
如上所讨论,在优选实施方式中,选举状态312采用两类选举消息,也就是(a)由单元用来请求第一主机职责或者请求当前主机的身份的选举请求消息,以及(b)由第一主机用来向其他堆叠成员广播它的身份,以及第二主机的身份的选举指示消息。图11给出了一个优选实施方式中采用的代表性的堆叠选举消息格式。堆叠选举消息1100包括一个消息类型字段1102,用以区分一个选举请求和一个选举指示;一个始发者身份键1104,包括一个OEID和MAC地址对,它最好唯一标识该单元,将其与ISS 120中所有其它单元区分开,而不管两个单元是否拥有相同的OEID;一个跳计数字段1106,用以跟踪在到达目的堆叠交换机时,该消息传播所经过的单元数目;一个第一选举键字段1108,包括由发起单元所识别的第一堆叠交换机的启动时间、OEID和MAC地址;以及一个第二选举键字段1110,包括由发起单元所识别的第二堆叠交换机的启动时间、OEID和MAC地址。跳计数字段1106最初由发出该消息的堆叠交换机根据一个预定的数定义。在经由它们的堆叠端口从单元到单元发送消息的过程中,跳计数在每个中间堆叠交换机处减量,直至跳计数为0,此时删除该消息。
D.单元号码指派状态图7A和7B一起给出了对应于图3的单元号码指派状态的流程图。在进入单元号码指派状态314之后,ISS 120的第一堆叠交换机确定那些还没有一个唯一插槽编号或者具有一个未指定的插槽编号,例如一个制造商定义的缺省值的单元的OEID。如前所述,OEID用于在堆叠交换机之间寻址PDU和控制消息。在可能的情况下,第一主机最好尝试以开始于1或者最小的可用整数值的有顺序的分配OEID给连续的交换机。
如第一堆叠交换机(PSS)OEID测试702所示,PSS评估它自己的工作单元标识符,在需要时,(步骤704)给它自己指派最小的可用OEID。为了方便网络管理员,第一主机最好指派了单元标识符1,如果其以前没有指派给另一单元,那么它应该可用。第一主机依次对每一个通过与第一堆叠端口邻居表相关联的索引_A,以及与第二堆叠端口邻居表相关联的索引_B与两个堆叠端口202S相关联的邻居表218中给出的每一个堆叠交换机进行相应的操作。如上所述,索引_A被初始化(步骤706)为1,对应于第一邻居表中给出的第一单元,之后增量(步骤714)索引_A。如果第一邻居表中给出了一个或多个相邻堆叠交换机,邻居_A测试708的答案是肯定的,并且为每一个具有未指定OEID(710)的邻居指派(步骤712)一个从最小的可用单元标号开始的OEID。一个单元在第一次启动或者它的配置信息被清除时通常不会有OEID。如果该单元以前启动过,并且分配有一个OEID,那么该单元通常会有一个OEID,它以SEID的形式保留在永久存储器中。每一个端口_A邻居堆叠交换机,也就是由数量_邻居_A所给出的总数,在需要时指派一个OEID,此时索引_A大于数量_邻居_A,以及邻居_A测试708的答案是否定的。如果ISS 120的特征是例如一个环路拓扑,每个堆叠交换机能够从第一堆叠端口访问,因此,在图7A中所给出的过程下指派一个OEID。这种情况下,图7B的环路测试720的答案是肯定的,以及指派的OEID被传送到每个可应用单元。
参看图7B,在完成可从第一堆叠端口访问的单元的OEID指派过程后,第一主机为从第二堆叠端口可访问的单元指派OEID。在优选实施方式中,进行指派的顺序取决于ISS 120的拓扑,以及从各个堆叠端口可以访问的单元的数量。如果ISS 120拓扑的特征是一个链,并且有从两个堆叠端口202S都可以访问的单元,则从最远的单元开始,以升序向离开第二堆叠端口的单元指派OEID。该OEID指派方案因此指派OEID给在一个链中的单元的时候,就像这些单元在一个环中连接一样,从而提供了一种便于网络管理员使用的直观编号方案。具体来说,如果有单元可以通过第一堆叠端口到达--也就是说,数量_邻居_A测试722是否定的--离端口_B最远的相邻堆叠交换机--由邻居表中索引_B=数量_邻居_B给出--指派(步骤732)最小可用单元标号,如果该单元还没有指派(测试730)OEID。如减量步骤734表明,减小索引_B,根据需要指派OEID给下一个最近的堆叠交换机,直至处理完离开该第二堆叠端口的相邻堆叠交换机。在每个单元都指派了OEID之后,索引_B测试726的答案是肯定的,单元标识符以OEID指派消息的形式,传送(步骤728)给它们各自的堆叠交换机,并且第一主机进入到转发状态308。
与上面的描述相反,在没有相邻堆叠交换机可以从第一堆叠端口访问时--也就是数量_邻居_A等于0,以及测试722是肯定的--开始于邻居_B表中首先列出的单元所给出的相邻邻居,OEID指派一般从最小可用OEID开始。具体来说,邻居_B表中索引_B所指位置处的堆叠交换机--也就是邻居_B[索引_B]--指派(步骤746)了最小可用OEID,直至需要OEID的各个单元都指派了OEID(步骤744),并且遍历了整个邻居_B表,这发生在索引_B大于数量_邻居_B,并且邻居测试步骤742的回答是否定时。
图8A和8B分别给出了在指派单元号码给左边之前,以及指派单元号码给右边之后,ISS系统800的例子。在这些例子中,ISS 800包括四个堆叠交换机801-804,以环路或环的形式连接。在单元号码指派状态314之前,每个单元都有一个未指定的OEID,并且第三交换机803担当第一主机的职责。按照本发明,第三交换机803给自己指派了最小的可用OEID,也就是一(1),并且以依次递增的方式指派可以从第一堆叠端口,也就是端口_A,访问的单元。如图8B所示,与PSS 803端口_A相邻的堆叠交换机804指派了OEID二(2),下一最近的堆叠交换机801指派了OEID三(3),离第一主机803端口_A最远的堆叠交换机802指派了OEID四(4)。在从第一主机接收到广播所有单元的OEID的消息后,各个堆叠交换机801-804在易失存储器中存储它自己的新OEID指派,将它自己的SEID设置成与它的新OEID相等,将它自己的SEID存储到永久存储器中。从来自第一主机的广播OEID的消息还包括与各个OEID相关联的MAC地址。
图9A和9B分别给出了在指派单元号码给左边之前,以及指派单元号码给右边之后,ISS系统900的例子。在这些例子中,ISS 900包括四个堆叠交换机901-904,以链的形式连接。在单元号码指派状态314之前,每个单元都有一个未指定的OEID,并且第三交换机903担当第一主机的职责。按照本发明,第三交换机903给自己指派了最小的可用OEID,也就是一(1),并且以依次递增的方式指派可以从第一堆叠端口,也就是端口_A,访问的单元。如图9B所示,与第一主机903端口_A相邻的堆叠交换机904指派了OEID二(2)。由于存在一个或多个堆叠交换机与第一主机903的堆叠端口_A相邻,第一主机从离端口_B最远的堆叠交换机开始,以升序指派OEID。具体而言,第一主机903指派下一最小可用的单元编号,也就是OEID三(3)给远端堆叠交换机901,而在第一主机方向中下一堆叠交换机902则指派了OEID四(4)。这样,由PSS 903的自动单元号码指派导致了一个单元号码的依次上升序列,堆叠交换机链好像是一个环,从而为网络管理员自动地提供了一种方便且直观的编号协定。
图10A和10B分别给出了在指派单元号码之前,以及指派单元号码之后,ISS系统1000的例子。在这些例子中,ISS 1000包括四个堆叠交换机1001-1004,以环的形式连接。在单元号码指派状态314之前,一些但不是全部单元有以前指定的单元编号,也就是第一单元有OEID二(2),第三单元有OEID一(1)。和前面一样,第三交换机1003担当第一主机的职责。按照本发明,与第一主机1003端口_A相邻的堆叠交换机1004被指派了最小的可用单元编号,也就是OEID三(3)。继续到通过第一主机1003端口_A可以到达的下一堆叠交换机,第一主机以升序的形式指派可用OEID。具体来说,第一主机1003指派下一最小可用单元编号四(4)给堆叠交换机1002。
E.转发状态再次参看图3,在单元号码指派状态314之后,ISS的堆叠交换机适于转移到转发状态308,在其中各个交换机100-103适于发送数据业务量给所有其它交换机。在优选实施方式中,堆叠交换机之间的通信可以采用一个交换机间标签,用于有效地转发PDU经过ISS120,而各个接收单元不执行独立的分类和转发操作,这些操作非常消耗资源并且有时候是不必要的,其中假定堆叠交换机彼此依次连接。优选实施方式中采用的交换机间标签包括一个协议标识符,源单元的OEID,目的单元的OEID,它们前缀到经过ISS传送的PDU。在源和目的单元之间的堆叠交换机接收到PDU后,该中间单元检查协议标识符标签,确定自己不是目的单元,将PDU转发到与接收到该PDU的端口相反的端口。目的单元在接收之后,从PDU中移去标签,将该PDU转发给数据端口202,从而通往在该PDU中所指定的最终目的节点。
F.通透状态如图3所示,优选实施方式的一个或多个堆叠交换机适于从一个或多个其它状态,包括转发状态308,转移到通透状态320。通透(PT)状态320提供了一种机制,在禁止一个单元的交换功能时,它能够防止数据业务量在ISS 120上中断,同时仍允许网络管理员监控并发送配置命令给禁止的单元。具体而言,例如禁止执行交换和路由选择操作的单元转移到通透状态320,其中从一个堆叠端口202S接收的业务量转发给相反的堆叠端口。数据端口202则相反,在一种禁止业务量收发的阻塞模式下。本领域技术人员会理解,即使一个特定单元不能执行第二层交换和第三层路由选择,PT状态320仍能维护ISS上的传输连续性。
在优选实施方式中,一个单元在以下情况中的一条或多条下,进入PT状态320交换控制器标识符(SCID)不够;堆叠中单元太多;相同的OEID,也就是同一OEID被两个或多个单元使用;以及通过管理命令的用户请求。在优选实施方式中,第一主机被禁止工作在PT状态320。只有职责为第二主机、空闲或未指派的堆叠交换机才能在该状态下工作。在PT状态320中的单元可以承担第二主机或者空闲的职责,而不需要重启。
在优选实施方式中,在PT状态320中的单元由一个特殊范围的通透单元标识符(PTID)来唯一标识。PTID与OEID相似,只是PTID是一个运行时间值,用以让该堆叠中所有软件应用程序都能识别在通透状态中的单元,而OEID是所有其它状态,包括例如转发状态308使用的主要单元标识符。PTID的范围最好与OEID范围同延,并具有数字偏移量。如果,例如单元数量在1和100之间变化,PTID的范围可以从101到200,也就是单元的最大数量加100。PTID由第一主机利用通透指派消息来指派,该通透指派消息包括一个或多个单元的列表--由MAC地址和OEID识别--这些是进入PT状态320以及改变的原因。
在进入PT状态320之前,进入通透模式的交换机的堆叠管理器214必须将状态变化通知给感兴趣的软件应用程序,通知应用程序该单元不再作为标准堆叠单元工作,并允许交换机禁止所有的网络用户端口202。此外,堆叠管理器214还通知ISS 120中的所有单元该交换机转入PT状态320,并且提供进入该状态的理由,以及连同交换机的原OEID。一个单元最好产生适当的日志以及管理阱,以将该事件告警给网络管理员。
当一个单元转移到PT状态320时,由第一主机指派一个PTID,该PTID被发送给该单元,并且在任何消息交互中使用PTID,而不是以前的OEID。在PT状态320中的单元一般只通过堆叠管理器协议传输与管理应用程序进行通信。
从拓扑角度看,为了确定跳计数,将PT状态320中的单元看作是一个跳。例如,在由1-101-4-5-6给出的一个堆叠交换机序列中,其中与101相关联的单元是在通透模式,单元4与单元1相差两跳。因此,在通透状态下的单元的堆叠管理器214在进行传输之前,负责对接收的消息中的跳计数字段进行相减操作。在内部传播机制的变化中,其中没有采用跳计数字段,该单元总是将接收的消息转发给相反的堆叠端口202S。
在通透状态320中的一个单元适于在堆叠端口之间发送数据业务量,并接收由第一主机发往PTID的ISS管理消息。在优选实施方式中,通透单元接收并处理以下接收的堆叠协议消息监管消息、拓扑请求、拓扑指示消息、选举指示消息、SCID标识符指派和重载请求,也就是重启一个单元的请求。通透单元最好还适于产生并发送以下堆叠协议消息监管消息、拓扑请求消息以及拓扑指示消息。在通透状态中的一个单元一般不作为一个候选者参与选举处理。然而,它最好能访问第一和第二主机单元的身份。它最好也参与识别重复主机、重复OEID以及甚至重复PTID的处理,在两个堆叠合并,以及每个堆叠有一个具有相同PTID的PT单元时,上述情况可能发生。
以下段落总结了一个单元如何响应SCID被过度消耗的情况,堆叠交换机多得ISS无法支持的情况,有重复OEID的情况,以及用户通过管理命令间接地请求通透状态的情况,到达通透操作模式。总结段落中的编号是为了分类各个例子,并不反映示例性步骤的独特顺序排列。
SCID的过度消耗1.将一个单元放入PT状态320的决定由第一主机作出。第一主机分发一个具有被指令进入PT状态的单元列表以及各个单元的原因的通透指派消息。为需要进入PT状态320的各个单元分配一个PTID。
2.在接收到一个PT指派消息后,一个单元检查它是否被指令转移到通透状态。如果是,该单元将它的OEID改变为在该消息中指定的PTID,并记下进入通透模式的原因。该单元随后3.清除与SCID请求消息相关联的一个标记比特,以停止请求一个SCID;4.更新它的职责为通透;5.通知感兴趣的应用程序;以及6.对它的网络处理器206的交换结构(未示出)进行编程,使得从堆叠端口_A接收到的传统用户业务量从堆叠端口_B发出,或者相反。
堆叠中单元过多1.将一个单元放入PT状态320的决定由第一主机作出。第一主机分发一个具有被指令进入PT状态的单元列表以及各个单元的原因的通透指派消息。为需要进入PT状态320的各个单元分配一个PTID。
2.在接收到一个PT指派消息后,一个单元检查它是否被指令转移到通透状态。如果是,该单元将它的OEID改变为在该消息中指定的PTID,并记下进入通透模式的原因。该单元随后3.更新它的职责为通透;4.通知感兴趣的应用程序;以及5.对它的网络处理器206的交换结构(未示出)进行编程,使得从堆叠端口_A接收到的传统用户业务量从堆叠端口_B发出,或者相反。
重复OEID1.进入PT状态320的决定首先由本地堆叠单元发起。当一个单元知道另一堆叠单元具有相同OEID时,它比较它的选举键和远端重复单元的选举键。如果它的选举键比该另一个单元的选举键优先级低,则该本地单元放弃该OEID。
2.该单元将其OEID改变成一个专用(特殊)值,这里称为堆叠重复单元标识符,例如值254,它是一个临时ID,在收到PTID之前使用。
3.当第一主机通过例如拓扑或监管消息,检测到有一个单元的PTID等于该堆叠重复单元标识符时,它分配一个唯一的PTID给该单元,并通过一个其中的字段原因设置为指示重复OEID的PT指派消息将该新的PTID分发给该单元。为需要进入通透模式的各个单元分配一个新的PTID。
4.在接收到一个PT指派消息后,一个单元检查它是否被指令转移到PT状态320。如果是,该单元将它的OEID改变成在该消息中指定的PTID,并记下进入通透模式的原因。该单元随后5.更新它的职责为通透;6.通知感兴趣的应用程序;以及7.对它的网络处理器206的交换结构(未示出)进行编程,使得从堆叠端口_A接收到的传统用户业务量从堆叠端口_B发出,或者相反。
在通过管理命令用户请求时在一些情况下,即使没有出现冲突或者缺少资源情况,PT状态320仍可能有用。本发明的实施方式提供了一种管理命令,网络管理员可以通过它来“清除”SEID,也就是在永久存储器中存储的单元编号。尽管不必采用PT状态320来更新保留的单元标识符,当单元数量达到最大时,将一个单元放入通透状态可以有助于对堆叠进行重新编号。例如,假定堆叠单元的最大数量是4,允许的OEID的范围是[1..4],各个单元最初配置成一个1-4-3-2环,这些单元需要重新编号,使得最终配置是1-2-3-4。
如果该实现需要重启用以使保存在永久存储器中的新的单元标识符成为工作单元标识符,那么一般不分割该堆叠而达到这一点的唯一方法最好是通过重启整个堆叠。可以采用以下过程a)堆叠清除OEID=2为通透状态,从而导致工作拓扑OEID为1-4-3-101,SEID为1-4-3-0;b)堆叠为具有OEID=4的单元设置SEID=2OEID为1-4-3-101,SEID为1-2-3-0;c)重载单元OEID=4,从而在重启之后,OEID为1-2-3-101,SEID为1-2-3-0;d)重载单元PTID=101,从而在重启之后,OEID为1-2-3-4,SEID为1-2-3-4;通过这种方式,实际上只是重启了需要重新编号的单元。
用户请求转移到通透状态的事件序列如下1.进入通透模式的决定首先由第一主机作出。第一主机分发一个具有被指令进入PT状态的单元列表以及其中字段原因被设置为管理清除插槽的通透指派消息。为需要进入PT状态的各个单元分配一个PTID。
2.在接收到一个PT指派消息后,一个单元检查它是否被指令转移到通透状态320。如果是,该单元将它的OEID改变为在该消息中指定的PTID,并记下进入通透模式的原因。该单元随后3.从永久存储器中清除该SEID;4.更新它的职责为通透;5.通知感兴趣的应用程序;以及6.对它的网络处理器206的交换结构(未示出)进行编程,使得从堆叠端口_A接收到的传统用户业务量从堆叠端口_B发出,或者相反。
G.监管状态再次参看图3,优选实施方式的所有堆叠交换机都适于产生定期的监管消息,并把它们发送到与它们的相邻邻居。通过这种方式,每个堆叠交换机能够监控网络拓扑的变化。具体来说,监管消息的交换使得单元能够检测出何时一个相邻邻居插入到堆叠中,检测出何时通往相邻邻居的物理连接被改变,检测出与一个邻居的通信是否已经丢失,即使与该邻居之间的物理链路仍然工作。在优选实施方式中,ISS 120的各个堆叠交换机定期地从一个或多个其它状态,包括发现状态310、选举状态312、单元号码指派状态314、转发状态308以及通透状态320,转移到监管状态316。然而,本领域技术人员会理解,拓扑监管状态316和转发状态308可以同时工作,因此能够合并成单个状态。
图12给出了按照优选实施方式的堆叠监管消息的内容。该监管消息包括一个消息类型1202,它将该消息识别为一个监管消息;一个始发方信息字段1204,包括发送单元的OEID、MAC地址、始发堆叠端口和单元硬件类型;一个第一识别键字段1206,包括由发送单元所识别的第一主机的OEID和MAC地址;一个第二识别键字段1208,包括由发送单元所识别的第二主机的OEID和MAC地址;一个单独标记字段1210,其被设置时表明发送单元在相反的堆叠端口上没有相邻堆叠交换机;一个SCID请求矩阵字段1212,提供了一个其处理器ID,例如交换控制器ID未知或未指派的堆叠单元的列表。
根据在进入发现状态310后被初始化501的监管定时器从堆叠端口202S发送监管消息。在优选实施方式中,监管消息每秒定期地发送,尽管时间可以根据例如拓扑改变。如下面详细描述,例如,可以采用监管消息交换(1)作为一种保持活跃机制;(2)在ISS120中检测出(a)拓扑改变,(b)具有重复OEID的单元,(c)ISS中的重复第一或第二主机;(3)激活验证堆叠完整性的处理;以及(4)如果需要,采取行动以纠正并更新堆叠拓扑和堆叠单元信息。
在优选实施方式中,堆叠交换机200适于监控堆叠链路状态,以确定到一个邻居的物理堆叠链路何时工作或不工作。当一个堆叠链路开始工作时,该单元发送一个拓扑请求消息给该新近检测出来的邻居。当一个堆叠链路停止工作时,该单元进行(a)重置对应于停止工作的堆叠链路的邻居列表;(b)从相反堆叠端口发送一个拓扑指示消息,以将拓扑变化传播给其他邻居;(c)处理职责改变,包括选择一个新的第二主机,如果已知第一主机已经发生故障接管第一主机的职责,如果ISS 120上不再有第一或第二主机,请求第一主机的职责。
如上所述,监管消息由各个堆叠单元定期地发送给它两边的相邻邻居。这种交换使得各个堆叠交换机能够很快地(a)检测出何时一个相邻邻居被插入到ISS 120;(b)检测出何时修改了与一个相邻邻居的物理连接,例如何时调换了一个堆叠链路电缆;(c)证实一个已有邻居仍然活跃;以及(d)检测--基于预期具有一个或多个连续监管消息,但没有从一个邻居收到--何时即使与一个邻居之间的物理链路仍然工作,但与该邻居的通信已经丢失。如果没有收到一个或多个连续监管消息,则堆叠交换机200假定该邻居不再工作,并且在已知第二主机发生故障的情况下,激活职责改变处理,以选择一个新的第二主机,在已知第一主机发生故障的情况下接管该第一主机的职责,或者如果在堆叠上不再有第一或第二主机时,请求第一主机的职责。
由堆叠交换机200所采取的行动取决于特定类型的拓扑改变。如果收到一个监管消息,并且检测出任何ISS拓扑改变,堆叠交换机200生成一个拓扑指示消息,然后将它发送到相反的堆叠链路。如果收到一个监管消息,并检测到一个新的邻居,堆叠交换机200针对相反的堆叠链路,发送给该新的邻居已知的ISS拓扑,也就是在与相反堆叠端口相关联的邻居表中列出的堆叠交换机邻居。如果收到一个设置了一个单独标记的监管消息,堆叠交换机200通过移去通过发送该监管消息的单元能够到达的任何邻居来更新相关联的邻居表。如果收到了一个没有设置单独标记的监管消息,并且与该堆叠端口相关联的邻居表表明存在一个单个邻居,堆叠交换机200发送一个拓扑请求消息给该监管消息的始发方。如果收到一个监管消息,并且堆叠链路的电缆线路改变了,堆叠交换机200重置或否则清除与接收该消息的堆叠链路相关联的邻居表,并且通过一个拓扑指示发送已知拓扑给该邻居。在执行了适当的响应之后,堆叠交换机200转移回进入监管状态316之前的状态。
本领域一般技术人员会明白,监管消息交换具有许多优点。具体来说,由于邻居监控特征可以快速地检测出邻居故障,以及当一个堆叠链路停止工作时,或者一个相邻邻居没有对多个连续监管消息做出反应时,立即处理职责变化得到的快速接管。此外,某些实施方式中的堆叠交换机可以临时地禁止监管状态316,也就是例如防止监管消息的传输。如果例如发生了故障,并且第一主机预见到关机和重启,正在准备一个事后的调查分析文件时,第一主机可以分发一个监管暂停消息给所有堆叠单元。作为对该监管暂停消息的响应,ISS 120的单元停止监管消息的发送,它如果没有得到响应,会导致堆叠交换机错误地假定已失去了第一主机,并转向第二主机,从而在原第一主机完成事后的调查分析文件的准备之后,导致出现了两个第一主机。在第一主机完成事后的调查分析文件的准备之后,可以由它自动地重新选通监管状态。在某些实施方式中,在由超时参数所定义的预定时间段之后,由单元自己自动地重新选通监管状态316,以处理其中监管状态没有被第一主机重新选通的情况。该超时参数应当足够得长,使得第一主机能够完成事后的调查分析文件的准备。
在某些实施方式中,在接收到一个监管消息之后,一个单元还检查它本地的SCID矩阵。如果一个单元请求SCID,该单元检查它本地SCID矩阵的本地拷贝,看看它是否知道该特定单元的SCID指派。如果是的,它通过内部传播机制,发送一个SCID指派消息给所有堆叠成员。如果监管消息的接收方不知道SCID指派,它将设置一个对应于在全局SCID矩阵中的请求方单元的标记,并且将更新后的矩阵传送给相反的邻居单元。
尽管以上描述包含了很多规定,但这些规定不应当被理解成限制本发明的范围,而是仅提供了对本发明一些当前优选实施方式的说明。
因此,本发明通过例子来公开,但不局限于这些例子,应当参考所附的权利要求书来确定本发明的范围。
权利要求
1.一种包括多个堆叠交换机的堆叠交换机系统,所述多个堆叠交换机包括一个或多个被管堆叠交换机,其中所述一个或多个被管堆叠交换机的每一个都适于以保持活跃指示的形式发送监管消息给所述多个堆叠交换机中的一个或多个,以及一个第一主堆叠交换机,适于发送一个监管暂停消息,以暂时地防止所述多个被管堆叠交换机中的一个或多个期待来自其它堆叠交换机的监管消息。
2.根据权利要求1的堆叠交换机系统,其中所述第一主堆叠交换机适于解除该监管暂停消息。
3.根据权利要求2的堆叠交换机系统,其中在所述第一主机完成事后的调查分析文件的准备之后,由所述第一主机自动地解除所述监管暂停消息。
4.根据权利要求1的堆叠交换机系统,其中所述一个或多个被管堆叠交换机适于选择一个新的第一主堆叠交换机,如果当前第一主堆叠交换机不能完成发送所述监管暂停消息;以及对一个或多个发送的监管消息作出回应。
5.根据权利要求1的堆叠交换机系统,其中所述一个或多个被管堆叠交换机适于在一个预定时间段之后,恢复监管消息的传送。
6.根据权利要求1的堆叠交换机系统,其中所述一个或多个被管堆叠交换机适于在一个超时参数过期和监管暂停消息解除之后,恢复监管消息的传送。
7.根据权利要求1的堆叠交换机系统,其中所述监管消息包括堆叠交换机系统拓扑信息。
8.根据权利要求1的堆叠交换机系统,其中所述堆叠交换机系统拓扑信息包括一个始发堆叠交换机的工作堆叠单元标识符,以及一个相对于所述始发堆叠交换机的第一主堆叠交换机的工作堆叠单元标识符。
9.根据权利要求1的堆叠交换机系统,其中所述监管消息通知一个新的堆叠交换机插入到所述堆叠交换机系统;在所述多个堆叠交换机中的两个之间的一个物理连接的修改;以及在所述多个堆叠交换机中的两个之间的通信故障。
全文摘要
本发明公开了一种堆叠交换机,用于执行通透转发操作,分配堆叠交换机标识符给多个堆叠交换机,临时性地禁止由堆叠交换机所交换的监管消息,以及选举一个第一主堆叠交换机。在通透模式下,堆叠交换机自动地在堆叠端口之间转发分组,而与它们的目的地址无关,以在禁止传统桥接以及路由寻址操作的同时维持相邻堆叠交换机之间的连通性。有序标识符也最好按照各个堆叠交换机的有序位置分配,以更好地反映这些交换机的拓扑。该交换机也最好适于临时地禁止监管消息在堆叠交换机之间的传输,以防止在交换机资源较少时对网管功能的重新指派。该交换机也可以基于该交换机开始工作的时间,执行一个堆叠交换机标识符编号方案。
文档编号H04L12/04GK1791064SQ200510117030
公开日2006年6月21日 申请日期2005年10月28日 优先权日2004年10月28日
发明者伊格内修斯·桑托索, 罗伯特·亨里克·雅各布·达·席尔瓦, 蒂莫西·希克斯, 文森特·马格雷特 申请人:阿尔卡特公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1