专利名称:堆叠链路聚合故障检测方法和堆叠设备的制作方法
技术领域:
本发明涉及网络通信技术领域,特别涉及一种堆叠链路聚合故障检测方法和堆叠设备。
背景技术:
数据中心(Data Center)是数据大集中而形成的集成IT应用环境,是提供各种业务、进行数据处理、数据存储和数据交换的中心。数据大集中对数据安全提出了更高的要求,为了应对火灾、水灾、地震等自然灾难和误操作、病毒等人为灾难对企业带来的冲击,应用数据中心灾备(Disaster Recovery)实现数据的远程灾难备份已经成为数据保护的发展趋势。目前在数据中心的组网中,二层网络互联已经成为一种未来发展的趋势,二层网络的范围通常是限制在本地二层网络汇聚层之下,通过配置跨汇聚交换机的虚拟局域网(VLAN),将二层网络扩展到多台接入的交换机。近年来,服务器高可用集群技术(HA Cluster)和虚拟服务器动态迁移技术(如虚拟机VMware的VMotion)在数据中心灾备和计算资源调配方面得到了广泛应用,而这两种技术不仅要求在数据中心内部实现大二层网络互联,而且要求在数据中心之间实现大范围的二层扩展。参见图1,图1为现有技术数据中心二层网络互联的基本组网示意图,在此组网中,应用智能弹性架构(IRF)技术,将多台设备通过IRF物理端口连接在一起,进行必要的配置后,虚拟化成一台“分布式设备”。使用这种技术可以集合多台设备的硬件资源和软件处理能力,实现多台设备的协同工作、统一管理和不间断维护。图1中的主数据中心及灾备中心中,从核心层到接入层均使用了 IRF虚拟技术。参见图2,图2是现有技术数据中心间汇聚层交换机二层网络互联示意图。通过各数据中心的汇聚层交换机的二层互联,可以使服务在不同数据中心间迁移,服务器搬迁时, 服务可以从一个数据中心迁移到另一个数据中心,用户业务不受影响;而且还能够实现数据中心灾难备份。目前,有两种物理连接方法可以实现汇聚层交换机二层互联环形(Circle)堆叠组网、星形(HUB-SPOKE)堆叠组网。参见图3,图3是现有技术汇聚层交换机二层互联环形堆叠组网示意图。数据中心 A、B、C、D中各自放置一台互联交换机,各数据中心的此台互联交换机通过IRF物理接口连接在一起,构成一个堆叠系统,每台互联交换机作为该堆叠系统的堆叠设备与其所在的数据中心的汇聚层交换机互联。参见图4,图4是现有技术汇聚层交换机二层互联星形堆叠组网示意图。堆叠设备A位于数据中心A中,并通过普通光纤或网线接入数据中心A的汇聚层交换机,堆叠设备B在数据中心B中,并通过普通光纤或网线接入数据中心B的汇聚层交换机,堆叠设备A 与堆叠设备B通过IRF物理接口连接,构成一个堆叠系统。该堆叠系统通过密集波分复用 (DffDM)光传输通道与数据中心C和D的汇聚层交换机实现互联。星形堆叠组网主要适用于虚拟设备台数是2台的情况。目前,数据中心灾备的通用的等级包括2KM以内的本地灾备,例如在同一园区不同大楼;50KM以内的同城灾备,例如,位于不同的城区;400KM以内的区域灾备,例如一个数据中心位于华北,另一为华南;大于400KM的全球(GlcAal)灾备,例如,数据中心位于不同的国家。不论采用环形堆叠组网还是星形堆叠组网方式,目前各数据中心的堆叠设备间主要采用裸光纤(Dark Fiber)直接相连,中间不添加任何设备,其物理分布的距离,受限于传输线路能够支持的最远距离。一种解决方案为,在堆叠设备之间加入传输设备来进行中继, 从而使堆叠设备间物理分布的距离更远。然而,使用传输设备进行中继的方法存在两个问题一个问题是传输设备和对端堆叠设备间的一条链路故障时,本端堆叠设备不能感知传输设备和对端堆叠设备间的该条链路的状态,在本端该链路仍然参与转发选路,因而会导致部分数据丢失的问题;另一个问题是一端的堆叠设备重启后,一般选择最先启动(UP)的端口作为控制口发送Hello报文,如果此时对端堆叠设备和中继设备间接收该Hello报文的链路出现故障,本端将无法和对端堆叠设备堆叠成功。
发明内容
有鉴于此,本发明的目的在于提供了一种堆叠链路聚合故障检测方法,该方法能够实现堆叠设备跨越传输设备进行数据传输,使堆叠设备可以分别放置在足够远的位置。为了达到上述目的,本发明提供了一种堆叠链路聚合故障检测方法,应用于堆叠系统中,该堆叠系统中的堆叠设备间通过传输设备相连,包括以下步骤Al、堆叠设备的第一探测端口为klectecLUP或UnselectecLUP状态时,从第一探测端口发送探询Ke印Alive报文;A2、等待接收确认ACK报文,如果在第一设定时间内接收到ACK报文,则判断所述接收到的ACK报文是否是邻居堆叠设备针对该KeepAlive报文发送的ACK报文,若是, 则将当前第一探测端口为SelectecLUP状态的保持其状态不变,将当前第一探测端口为 Unselected-UP状态的设置为SeleCted_UP状态,若不是,则继续等待接收ACK报文;如果在第一设定时间内未收到邻居堆叠设备针对该KeepAlive报文发送的ACK报文,若未超过最大重试次数,则进行再一次的探测,若超过预设的最大重试次数,则将当前第一探测端口为klected_UP状态的设置为Unselected-UP状态,将当前第一探测端口为Unselected-UP 状态的保持其状态不变;其中,第一探测端口为发送Ke印Alive报文并接收ACK报文的端口 ;端口 Selected_UP状态为物理状态为启动UP,通过该端口的本端堆叠设备与传输设备之间的链路及传输设备与对端堆叠设备之间的链路均正常时该端口的工作状态;Unselected-UP状态为物理状态为启动UP,通过该端口的的本端堆叠设备与传输设备之间的链路正常,且传输设备与对端堆叠设备间的链路故障时该端口的工作状态。本发明还提供了另外一种堆叠链路聚合故障检测方法,应用于堆叠系统中,该堆叠系统中的堆叠设备间通过传输设备相连,包括以下步骤Bl、堆叠设备的第一探测端口为klectecLUP或UnselectecLUP状态时,从第一探测端口发送探询Ke印Alive报文;
B2、等待接收确认ACK报文,如果在第一设定时间内接收到ACK报文,则判断所述接收到的ACK报文是否是邻居堆叠设备针对该KeepAlive报文发送的ACK报文,若是, 则将当前第一探测端口为SelectecLUP状态的保持其状态不变,将当前第一探测端口为 Unselected-UP状态的设置为SeleCted_UP状态,若不是,则继续等待接收ACK报文;如果在第一设定时间内未收到邻居堆叠设备针对该KeepAlive报文发送的ACK报文,若未超过第二设定时间,则进行再一次的探测,若超过第二设定时间,则将当前第一探测端口为 klected_UP状态的设置为Unselected-UP状态,将当前第一探测端口为Unselected-UP状态的保持其状态不变;其中,第一探测端口为发送Ke印Alive报文并接收ACK报文的端口 ;端口 Selected_UP状态为物理状态为启动UP,通过该端口的本端堆叠设备与传输设备之间的链路及传输设备与对端堆叠设备之间的链路均正常时该端口的工作状态;Unselected-UP状态为物理状态为启动UP,通过该端口的的本端堆叠设备与传输设备之间的链路正常,且传输设备与对端堆叠设备间的链路故障时该端口的工作状态。本发明还提供了第三种堆叠链路聚合故障检测方法,应用于堆叠系统中,该堆叠系统中的堆叠设备间通过传输设备相连,包括堆叠设备的第二探测端口为SelectecLUP或UnselectecLUP状态时,在第二探测端口等待接收Ke印Alive报文,如果在第一设定时间内接收到Ke印Alive报文,则判断所述接收到的Ke印Alive报文是否是第二探测端口侧邻居堆叠设备发来Ke印Alive报文,若是,则将当前第二探测端口为SelectecLUP状态的保持其状态不变,将当前第二探测端口为Unselected-UP状态的设置为klected_UP状态,若不是,则继续等待接收Ke印Alive报文;如果在第一设定时间内未收到第二探测端口侧邻居堆叠设备发来KeepAlive报文,若未超过预设的最大重试次数,则进行再一次的探测,若超过预设的最大重试次数,则将当前第二探测端口为SelectecLUP状态的设置为Unselected-UP状态,将当前第二探测端口为 Unselected-UP状态的保持其状态不变;其中,第二探测端口为等待接收Ke印Alive报文并发送ACK报文的端口 ;端口 Selected_UP状态为物理状态为启动UP,通过该端口的本端堆叠设备与传输设备之间的链路及传输设备与对端堆叠设备之间的链路均正常时该端口的工作状态;Unselected-UP状态为物理状态为启动UP,通过该端口的的本端堆叠设备与传输设备之间的链路正常,且传输设备与对端堆叠设备间的链路故障时该端口的工作状态。本发明还提供了第四种堆叠链路聚合故障检测方法,应用于堆叠系统中,该堆叠系统中的堆叠设备间通过传输设备相连,包括堆叠设备的第二探测端口为SelectecLUP或UnselectecLUP状态时,在第二探测端口等待接收Ke印Alive报文,如果在第一设定时间内接收到Ke印Alive报文,则判断所述接收到的Ke印Alive报文是否是第二探测端口侧邻居堆叠设备发来Ke印Alive报文,若是,则将当前第二探测端口为SelectecLUP状态的保持其状态不变,将当前第二探测端口为Unselected-UP状态的设置为klected_UP状态,若不是,则继续等待接收Ke印Alive报文;如果在第一设定时间内未收到第二探测端口侧邻居堆叠设备发来KeepAlive报文,若未超过第三设定时间,则进行再一次的探测,若超过第三设定时间,则将当前第二探测端口为klected_UP状态的设置为Unselected-UP状态,将当前第二探测端口为Unselected-UP状态的保持其状态不变;其中,第二探测端口为接收Ke印Alive报文并发送ACK报文的端口 ;端口 Selected_UP状态为物理状态为启动UP,通过该端口的本端堆叠设备与传输设备之间的链路及传输设备与对端堆叠设备之间的链路均正常时该端口的工作状态;Unselected-UP状态为物理状态为启动UP,通过该端口的的本端堆叠设备与传输设备之间的链路正常,且传输设备与对端堆叠设备间的链路故障时该端口的工作状态。本发明还提供了一种堆叠设备,该堆叠设备在第一探测端口侧通过传输设备与其所在的堆叠系统中的其它堆叠设备相连;该堆叠设备包括第一配置单元、第一控制单元、第一收发单元;所述的第一配置单元,用于预先配置第一设定时间、最大重试次数;用于存储该堆叠设备中第一探测端口的工作状态;所述的第一控制单元,用于在第一配置单元中存储的第一探测端口为SelectecL UP或UnselectecLUP状态时,通知第一收发单元发送探询Ke印Alive报文;用于等待接收到第一收发单元发来的接收到ACK报文的通知,如果在第一设定时间内接收到第一收发单元的通知,则判断第一收发单元接收到的ACK报文是否是邻居堆叠设备针对第一收发单元发送的Ke印Alive报文发送的ACK报文,若是,则将当前第一探测端口为kleCted_UP状态的保持其状态不变,将当前第一探测端口为Unselected-UP状态的设置为SeleCted_UP状态,若否,则继续等待接收第一收发单元发来接收到ACK报文的通知;如果在第一设定时间内未接收到第一收发单元的通知,若未超过最大重试次数,则进行再一次的探测,若超过最大重试次数,则将当前第一探测端口为klected_UP状态的设置为Unselected-UP状态,将当前第一探测端口为Unselected-UP状态的保持其状态不变;所述的第一收发单元,用于在接收到第一控制单元发来的发送探询Ke印Alive报文通知后,从第一探测端口发送Ke印Alive报文;用于等待接收ACK报文,并在接收到ACK 报文后,通知第一控制单元;其中,第一探测端口为发送Ke印Alive报文并接收ACK报文的端口 ;端口 Selected_UP状态为物理状态为启动UP,通过该端口的本端堆叠设备与传输设备之间的链路及传输设备与对端堆叠设备之间的链路均正常时该端口的工作状态;Unselected-UP状态为物理状态为启动UP,通过该端口的的本端堆叠设备与传输设备之间的链路正常,且传输设备与对端堆叠设备间的链路故障时该端口的工作状态。本发明还提供了另外一种堆叠设备,该堆叠设备在第一探测端口侧通过传输设备与其所在的堆叠系统中的其它堆叠设备相连;该堆叠设备包括第二配置单元、第二控制单元、第二收发单元;所述的第二配置单元,用于预先配置第一设定时间、第二设定时间;用于存储该堆叠设备中第一探测端口的工作状态;所述的第二控制单元,用于在第二配置单元中存储的第一探测端口为SelectecL UP或UnselectecLUP状态时,通知第二收发单元发送探询Ke印Alive报文;用于等待接收到第二收发单元发来的接收到ACK报文的通知,如果在第一设定时间内接收到第二收发单元的通知,则判断第二收发单元接收到的ACK报文是否是邻居堆叠设备针对第二收发单元发送的Ke印Alive报文发送的ACK报文,若是,则将当前第一探测端口为kleCted_UP状态的保持其状态不变,将当前第一探测端口为Unselected-UP状态的设置为SeleCted_UP状态,若否,则继续等待接收第二收发单元发来接收到ACK报文的通知;如果在第一设定时间内未接收到第二收发单元的通知,若未超过第二设定时间,则进行再一次的探测,若超过第二设定时间,则将当前第一探测端口为klected_UP状态的设置为Unselected-UP状态,将当前第一探测端口为Unselected-UP状态的保持其状态不变;所述的第二收发单元,用于在接收到第二控制单元发来的发送探询Ke印Alive报文通知后,从第一探测端口发送Ke印Alive报文;用于等待接收ACK报文,并在接收到ACK 报文后,通知第二控制单元;其中,第一探测端口为发送Ke印Alive报文并接收ACK报文的端口 ;端口 Selected_UP状态为物理状态为启动UP,通过该端口的本端堆叠设备与传输设备之间的链路及传输设备与对端堆叠设备之间的链路均正常时该端口的工作状态;Unselected-UP状态为物理状态为启动UP,通过该端口的的本端堆叠设备与传输设备之间的链路正常,且传输设备与对端堆叠设备间的链路故障时该端口的工作状态。本发明还提供了第三种堆叠设备,该堆叠设备在第二探测端口侧通过传输设备与其所在的堆叠系统中的其它堆叠设备相连;该堆叠设备包括第三配置单元、第三控制单元、第三收发单元;所述的第三配置单元,用于预先配置第一设定时间、最大重试次数;用于存储该堆叠设备中第二探测端口的工作状态;所述的第三控制单元,用于在第三配置单元中存储的第二探测端口为SelectecL UP或UnselectecLUP状态时,通知第三收发单元等待接收探询KeepAlive报文,并等待接收第三收发单元发来的接收到Ke印Alive报文的通知,如果在第一设定时间内接收到第三收发单元发来的接收到Ke印Alive报文的通知,则判断第三收发单元接收到的 KeepAlive报文是否是邻居堆叠设备发来的Ke印Alive报文,若是,则将当前第二探测端口为SelectecLUP状态的保持其状态不变,将当前第二探测端口为Unselected-UP状态的设置为SelectecLUP状态,并通知第三收发单元从当前第二探测端口发送ACK报文,若否, 则继续等待接收第三收发单元发来接收到KeepAlive报文的通知;如果在第一设定时间内未接收到第三收发单元发来的接收到Ke印Alive报文的通知,若未超过最大重试次数,则进行再一次的探测,若超过最大重试次数,则将当前第二探测端口为SelectecLUP状态的设置为Unselected-UP状态,将当前第二探测端口为toselected-UP状态的保持其状态不变;所述的第三收发单元,用于接收到第三控制单元发来的等待接收KeepAlive报文的通知后,在第二探测端口等待接收KeepAlive报文;用于接收到KeepAlive报文后,通知第三控制单元接收到Ke印Alive报文;用于接收到第三控制单元发来的发送ACK报文的通知后,从当前第二探测端口发送ACK报文;其中,第二探测端口为接收Ke印Alive报文并发送ACK报文的端口 ;端口 Selected_UP状态为物理状态为启动UP,通过该端口的本端堆叠设备与传输设备之间的链路及传输设备与对端堆叠设备之间的链路均正常时该端口的工作状态;Unselected-UP状态为物理状态为启动UP,通过该端口的的本端堆叠设备与传输设备之间的链路正常,且传输设备与对端堆叠设备间的链路故障时该端口的工作状态。
本发明还提供了第四种堆叠设备,该堆叠设备在第二探测端口侧通过传输设备与其所在的堆叠系统中的其它堆叠设备相连;该堆叠设备包括第四配置单元、第四控制单元、第四收发单元;所述的第四配置单元,用于预先配置第一设定时间、第三设定时间;用于存储该堆叠设备中第二探测端口的工作状态;所述的第四控制单元,用于在第四配置单元中存储的第二探测端口为SelectecL UP或UnselectecLUP状态时,通知第四收发单元等待接收探询Ke印Alive报文,用于在通知第四收发单元等待接收KeepAlive报文后,等待接收第四收发单元发来的接收到Ke印Alive报文的通知,如果在第一设定时间内接收到第四收发单元发来的接收到 KeepAlive报文的通知,则判断第四收发单元接收到的Ke印Alive报文是否是邻居堆叠设备发来的KeepAlive报文,若是,则将当前第二探测端口为kleCted_UP状态的保持其状态不变,将当前第二探测端口为Unselected-UP状态的设置为kleCted_UP状态,并通知第四收发单元从当前第二探测端口发送ACK报文,若否,则继续等待接收第四收发单元发来接收到KeepAlive报文的通知;如果在第一设定时间内未接收到第四收发单元发来的接收到 KeepAlive报文的通知,若未超过第三设定时间,则进行再一次的探测,若超过第三设定时间,则将当前第二探测端口为klected_UP状态的设置为Unselected-UP状态,将当前第二探测端口为Unselected-UP状态的保持其状态不变;所述的第四收发单元,用于接收到第四控制单元发来的等待接收KeepAlive报文的通知后,在第二探测端口等待接收KeepAlive报文;用于接收到KeepAlive报文后,通知第四控制单元接收到Ke印Alive报文;用于接收到第四控制单元发来的发送ACK报文的通知后,从当前第二探测端口发送ACK报文;其中,第二探测端口为接收Ke印Alive报文并发送ACK报文的端口 ;端口 Selected_UP状态为物理状态为启动UP,通过该端口的本端堆叠设备与传输设备之间的链路及传输设备与对端堆叠设备之间的链路均正常时该端口的工作状态;Unselected-UP状态为物理状态为启动UP,通过该端口的的本端堆叠设备与传输设备之间的链路正常,且传输设备与对端堆叠设备间的链路故障时该端口的工作状态。综上所述,本发明的这种堆叠链路聚合故障检测方法,周期性从第一探测端口发送KeepAlive报文并等待接收ACK报文,如果最大重试次数或最大重试时间内未收到邻居堆叠设备针对发出的Ke印Alive报文发送的ACK报文,则确定通过该第一探测端口的链路发生故障,将该第一探测端口设置为不参与报文转发,进而及时发现链路故障并减少数据流量损失;周期性在第二探测端口等待接收KeepAlive报文,如果在最大重试次数或最大重试时间内接收到邻居堆叠设备发来的KeepAlive报文,则确定该第二探测端口对应的链路发生故障,将该第二探测端口设置为不参与报文转发,进而及时发现链路故障并减少数据流量损失。可见,采用本发明的方法可以及时发现链路故障,并作故障处理,因而能够实现跨越传输设备进行数据传输,进而可以利用传输设备将各堆叠设备放置在足够远的位置。
图1是现有技术数据中心二层网络互联的基本组网示意图2是现有技术数据中心间汇聚层交换机二层网络互联示意图;图3是现有技术汇聚层交换机二层互联环形堆叠组网示意图;图4是现有技术汇聚层交换机二层互联星形堆叠组网示意图;图5是堆叠的堆叠设备间使用传输设备进行中继的网络拓扑图;图6是环式堆叠设备拓扑图;图7是链式堆叠设备拓扑图;图8是本发明实施例一堆叠设备第一探测端口链路故障检测方法流程图;图9是本发明实施例二堆叠设备第一探测端口链路故障检测方法流程图;图10是本发明实施例一堆叠设备第二探测端口链路故障检测方法流程图;图11是本发明实施例二堆叠设备第二探测端口链路故障检测方法流程图;图12是本发明实施例一在第一探测端口实现链路故障检测的堆叠设备的结构示意图;图13是本发明实施例二在第一探测端口实现链路故障检测的堆叠设备的结构示意图;图14是本发明实施例一在第二探测端口实现链路故障检测的堆叠设备的结构示意图;图15是本发明实施例二在第二探测端口实现链路故障检测的堆叠设备的结构示意图。
具体实施例方式为了使本发明的目的、技术方案及其优点更加清楚明白,下面结合附图并据实施例,对本发明进行详细说明。本发明的技术方案中,保留Hello报文的原有功能,包括对堆叠设备的左右拓扑信息收集功能,下面以图6、7为例,对堆叠设备的左右拓扑信息进行说明。图6是环式堆叠设备拓扑图,以其中的堆叠设备A为例,其拓扑如表一所示
权利要求
1.一种堆叠链路聚合故障检测方法,应用于堆叠系统中,该堆叠系统中的堆叠设备间通过传输设备相连,其特征在于,该方法包括以下步骤Al、堆叠设备的第一探测端口为klectecLUP或UnselectecLUP状态时,从第一探测端口发送探询Ke印Alive报文;A2、等待接收确认ACK报文,如果在第一设定时间内接收到ACK报文,则判断所述接收到的ACK报文是否是邻居堆叠设备针对该Ke印Alive报文发送的ACK报文,若是, 则将当前第一探测端口为SelectecLUP状态的保持其状态不变,将当前第一探测端口为 Unselected-UP状态的设置为SeleCted_UP状态,若不是,则继续等待接收ACK报文;如果在第一设定时间内未收到邻居堆叠设备针对该KeepAlive报文发送的ACK报文,若未超过最大重试次数,则进行再一次的探测,若超过预设的最大重试次数,则将当前第一探测端口为klected_UP状态的设置为Unselected-UP状态,将当前第一探测端口为Unselected-UP 状态的保持其状态不变;其中,第一探测端口为发送Ke印Alive报文并接收ACK报文的端口 ;端口 SeleCted_UP 状态为物理状态为启动UP,通过该端口的本端堆叠设备与传输设备之间的链路及传输设备与对端堆叠设备之间的链路均正常时该端口的工作状态;Unselected-UP状态为物理状态为启动UP,通过该端口的的本端堆叠设备与传输设备之间的链路正常,且传输设备与对端堆叠设备间的链路故障时该端口的工作状态。
2.如权利要求1所述的堆叠链路聚合故障检测方法,其特征在于,持续检测第一探测端口的物理状态,当第一探测端口的物理状态从启动UP转变为故障DOWN时,将该端口设置为UnseIectecLDOWN状态,当第一探测端口的物理状态从DOWN转变为UP时,将该端口设置为 Unselected_UP 状态;所述将第一探测端口设置为UnseIectecLDOWN或UnselectecLUP状态后,进一步包括yl、判断该第一探测端口是否为控制端口,如果是,则从所有物理状态为UP的第一探测端口发送Ke印Alive报文;y2、等待接收ACK报文,并将第一个接收到ACK报文的第一探测端口选择为控制端口 ; y3、当从选择的控制端口发送Ke印Alive报文时,在Ke印Alive报文中携带控制端口标记。
3.—种堆叠链路聚合故障检测方法,应用于堆叠系统中,该堆叠系统中的堆叠设备间通过传输设备相连,其特征在于,该方法包括以下步骤Bi、堆叠设备的第一探测端口为klectecLUP或UnselectecLUP状态时,从第一探测端口发送探询Ke印Alive报文;B2、等待接收确认ACK报文,如果在第一设定时间内接收到ACK报文,则判断所述接收到的ACK报文是否是邻居堆叠设备针对该Ke印Alive报文发送的ACK报文,若是, 则将当前第一探测端口为SelectecLUP状态的保持其状态不变,将当前第一探测端口为 Unselected-UP状态的设置为SelectecLUP状态,若不是,则继续等待接收ACK报文;如果在第一设定时间内未收到邻居堆叠设备针对该KeepAlive报文发送的ACK报文,若未超过第二设定时间,则进行再一次的探测,若超过第二设定时间,则将当前第一探测端口为 klected_UP状态的设置为Unselected-UP状态,将当前第一探测端口为Unselected-UP状态的保持其状态不变;其中,第一探测端口为发送Ke印Alive报文并接收ACK报文的端口 ;端口 SeleCted_UP 状态为物理状态为启动UP,通过该端口的本端堆叠设备与传输设备之间的链路及传输设备与对端堆叠设备之间的链路均正常时该端口的工作状态;Unselected-UP状态为物理状态为启动UP,通过该端口的的本端堆叠设备与传输设备之间的链路正常,且传输设备与对端堆叠设备间的链路故障时该端口的工作状态。
4.如权利要求3所述的堆叠链路聚合故障检测方法,其特征在于,持续检测第一探测端口的物理状态,当第一探测端口的物理状态从启动UP转变为故障DOWN时,将该端口设置为UnseIectecLDOWN状态,当第一探测端口的物理状态从DOWN转变为UP时,将该端口设置为 Unselected_UP 状态;所述将第一探测端口设置为UnselectecLDOWN或UnselectecLUP状态之后,进一步包括zl、判断该第一探测端口是否为控制端口,如果是,则从所有物理状态为UP的第一探测端口发送Ke印Alive报文;z2、等待接收ACK报文,并将第一个接收到ACK报文的第一探测端口选择为控制端口 ;z3、当从选择的控制端口发送Ke印Alive报文时,在Ke印Alive报文中携带控制端口标记。
5.一种堆叠链路聚合故障检测方法,应用于堆叠系统中,该堆叠系统中的堆叠设备间通过传输设备相连,其特征在于,该方法包括堆叠设备的第二探测端口为SelectecLUP或UnselectecLUP状态时,在第二探测端口等待接收Ke印Alive报文,如果在第一设定时间内接收到Ke印Alive报文,则判断所述接收到的Ke印Alive报文是否是第二探测端口侧邻居堆叠设备发来Ke印Alive报文,若是, 则将当前第二探测端口为SelectecLUP状态的保持其状态不变,将当前第二探测端口为 Unselected-UP状态的设置为SelectecLUP状态,若不是,则继续等待接收Ke印Alive报文;如果在第一设定时间内未收到第二探测端口侧邻居堆叠设备发来KeepAlive报文,若未超过预设的最大重试次数,则进行再一次的探测,若超过预设的最大重试次数,则将当前第二探测端口为SelectecLUP状态的设置为Unselected-UP状态,将当前第二探测端口为 Unselected-UP状态的保持其状态不变;其中,第二探测端口为等待接收KeepAlive报文并发送ACK报文的端口 ;端口 Selected_UP状态为物理状态为启动UP,通过该端口的本端堆叠设备与传输设备之间的链路及传输设备与对端堆叠设备之间的链路均正常时该端口的工作状态;Unselected-UP状态为物理状态为启动UP,通过该端口的的本端堆叠设备与传输设备之间的链路正常,且传输设备与对端堆叠设备间的链路故障时该端口的工作状态。
6.如权利要求5所述的堆叠链路聚合故障检测方法,其特征在于,持续检测第二探测端口的物理状态,当第二探测端口的物理状态从启动UP转变为故障DOWN时,将该端口设置为UnselectecLDOWN状态,当第二探测端口的物理状态从DOWN转变为UP时,将该端口设置为 UnselectecLUP 状态;在确定所述接收到Ke印Alive报文是邻居堆叠设备发来的Ke印Alive报文之后,进一步包括判断接收到的Ke印Alive报文中是否携带控制端口标记,如果是,则将该第二探测端口选择为控制端口。
7.—种堆叠链路聚合故障检测方法,应用于堆叠系统中,该堆叠系统中的堆叠设备间通过传输设备相连,其特征在于,该方法包括堆叠设备的第二探测端口为SelectecLUP或UnselectecLUP状态时,在第二探测端口等待接收Ke印Alive报文,如果在第一设定时间内接收到Ke印Alive报文,则判断所述接收到的Ke印Alive报文是否是第二探测端口侧邻居堆叠设备发来Ke印Alive报文,若是, 则将当前第二探测端口为SelectecLUP状态的保持其状态不变,将当前第二探测端口为 Unselected-UP状态的设置为SelectecLUP状态,若不是,则继续等待接收Ke印Alive报文;如果在第一设定时间内未收到第二探测端口侧邻居堆叠设备发来KeepAlive报文,若未超过第三设定时间,则进行再一次的探测,若超过第三设定时间,则将当前第二探测端口为klected_UP状态的设置为Unselected-UP状态,将当前第二探测端口为Unselected-UP 状态的保持其状态不变;其中,第二探测端口为接收Ke印Alive报文并发送ACK报文的端口 ;端口 SelectecLUP 状态为物理状态为启动UP,通过该端口的本端堆叠设备与传输设备之间的链路及传输设备与对端堆叠设备之间的链路均正常时该端口的工作状态;Unselected-UP状态为物理状态为启动UP,通过该端口的的本端堆叠设备与传输设备之间的链路正常,且传输设备与对端堆叠设备间的链路故障时该端口的工作状态。
8.如权利要求7所述的堆叠链路聚合故障检测方法,其特征在于,持续检测第二探测端口的物理状态,当第二探测端口的物理状态从启动UP转变为故障DOWN时,将该端口设置为UnseIectecLDOWN状态,当第二探测端口的物理状态从DOWN转变为UP时,将该端口设置为 Unselected_UP 状态;在确定所述接收到Ke印Alive报文是邻居堆叠设备发来的Ke印Alive报文之后,进一步包括判断接收到的Ke印Alive报文中是否携带控制端口标记,如果是,则将该第二探测端口选择为控制端口。
9.一种堆叠设备,该堆叠设备在第一探测端口侧通过传输设备与其所在的堆叠系统中的其它堆叠设备相连;其特征在于,该堆叠设备包括第一配置单元、第一控制单元、第一收发单元;所述的第一配置单元,用于预先配置第一设定时间、最大重试次数;用于存储该堆叠设备中第一探测端口的工作状态;所述的第一控制单元,用于在第一配置单元中存储的第一探测端口为SelectecLUP或 UnselectecLUP状态时,通知第一收发单元发送探询Ke印Alive报文;用于等待接收到第一收发单元发来的接收到ACK报文的通知,如果在第一设定时间内接收到第一收发单元的通知,则判断第一收发单元接收到的ACK报文是否是邻居堆叠设备针对第一收发单元发送的 KeepAlive报文发送的ACK报文,若是,则将当前第一探测端口为SelectecLUP状态的保持其状态不变,将当前第一探测端口为Unselected-UP状态的设置为SelectecLUP状态,若否,则继续等待接收第一收发单元发来接收到ACK报文的通知;如果在第一设定时间内未接收到第一收发单元的通知,若未超过最大重试次数,则进行再一次的探测,若超过最大重试次数,则将当前第一探测端口为klectecLUP状态的设置为Unselected-UP状态,将当前第一探测端口为Unselected-UP状态的保持其状态不变;所述的第一收发单元,用于在接收到第一控制单元发来的发送探询KeepAlive报文通知后,从第一探测端口发送KeepAlive报文;用于等待接收ACK报文,并在接收到ACK报文后,通知第一控制单元;其中,第一探测端口为发送Ke印Alive报文并接收ACK报文的端口 ;端口 SeleCted_UP 状态为物理状态为启动UP,通过该端口的本端堆叠设备与传输设备之间的链路及传输设备与对端堆叠设备之间的链路均正常时该端口的工作状态;Unselected-UP状态为物理状态为启动UP,通过该端口的的本端堆叠设备与传输设备之间的链路正常,且传输设备与对端堆叠设备间的链路故障时该端口的工作状态。
10.如权利要求9所述的堆叠设备,其特征在于,所述的第一配置单元还用于存储该堆叠设备的控制端口信息;该堆叠设备还包括第一端口状态检测单元、第一控制端口选择单元; 所述的第一端口状态检测单元,用于持续检测该堆叠设备中第一探测端口的物理状态,当第一探测端口的物理状态从启动UP转变为故障DOWN时,将该端口设置为 UnseIectecLDOWN状态,当第一探测端口的物理状态从DOWN转变为UP时,将该端口设置为 Unselected_UP 状态;所述的第一控制端口选择单元,用于在第一配置单元中第一探测端口被设置为 UnselectecLDOWN或UnselectecLUP状态后,判断该第一探测端口是否为控制端口,如果是,则从所有物理状态为UP的第一探测端口发送Ke印Alive报文,并将第一个接收到ACK 报文的第一探测端口选择为控制端口,修改第一配置单元中存储的控制端口信息;所述的第一收发单元,在发送KeepAlive报文之前进一步用于判断当前第一探测端口是否为控制端口,如果是,则在KeepAlive报文中携带控制端口标记。
11.一种堆叠设备,该堆叠设备在第一探测端口侧通过传输设备与其所在的堆叠系统中的其它堆叠设备相连;其特征在于,该堆叠设备包括第二配置单元、第二控制单元、第二收发单元;所述的第二配置单元,用于预先配置第一设定时间、第二设定时间;用于存储该堆叠设备中第一探测端口的工作状态;所述的第二控制单元,用于在第二配置单元中存储的第一探测端口为SelectecLUP或 UnselectecLUP状态时,通知第二收发单元发送探询Ke印Alive报文;用于等待接收到第二收发单元发来的接收到ACK报文的通知,如果在第一设定时间内接收到第二收发单元的通知,则判断第二收发单元接收到的ACK报文是否是邻居堆叠设备针对第二收发单元发送的 KeepAlive报文发送的ACK报文,若是,则将当前第一探测端口为SeleCted_UP状态的保持其状态不变,将当前第一探测端口为Unselected-UP状态的设置为SeleCted_UP状态,若否,则继续等待接收第二收发单元发来接收到ACK报文的通知;如果在第一设定时间内未接收到第二收发单元的通知,若未超过第二设定时间,则进行再一次的探测,若超过第二设定时间,则将当前第一探测端口为klected_UP状态的设置为Unselected-UP状态,将当前第一探测端口为Unselected-UP状态的保持其状态不变;所述的第二收发单元,用于在接收到第二控制单元发来的发送探询KeepAlive报文通知后,从第一探测端口发送KeepAlive报文;用于等待接收ACK报文,并在接收到ACK报文后,通知第二控制单元;其中,第一探测端口为发送Ke印Alive报文并接收ACK报文的端口 ;端口 SeleCted_UP 状态为物理状态为启动UP,通过该端口的本端堆叠设备与传输设备之间的链路及传输设备与对端堆叠设备之间的链路均正常时该端口的工作状态;Unselected-UP状态为物理状态为启动UP,通过该端口的的本端堆叠设备与传输设备之间的链路正常,且传输设备与对端堆叠设备间的链路故障时该端口的工作状态。
12.如权利要求11所述的堆叠设备,其特征在于,所述的第二配置单元还用于存储该堆叠设备的控制端口信息;该堆叠设备还包括第二端口状态检测单元、第二控制端口选择单元; 所述的第二端口状态检测单元,用于持续检测该堆叠设备中第一探测端口的物理状态,当第一探测端口的物理状态从启动UP转变为故障DOWN时,将该端口设置为 UnseIectecLDOWN状态,当第一探测端口的物理状态从DOWN转变为UP时,将该端口设置为 Unselected_UP 状态;所述的第二控制端口选择单元,用于在第一探测端口被设置为UnselectecLDOWN或 Unselected_UP状态后,判断该第一探测端口是否为控制端口,如果是,则从所有物理状态为UP的第一探测端口发送Ke印Alive报文,并将第一个接收到ACK报文的第一探测端口选择为控制端口,修改第二配置单元中存储的控制端口信息;所述的第二收发单元,在发送KeepAlive报文之前进一步用于判断当前第一探测端口是否为控制端口,如果是,则在KeepAlive报文中携带控制端口标记。
13.—种堆叠设备,该堆叠设备在第二探测端口侧通过传输设备与其所在的堆叠系统中的其它堆叠设备相连;其特征在于,该堆叠设备包括第三配置单元、第三控制单元、第三收发单元;所述的第三配置单元,用于预先配置第一设定时间、最大重试次数;用于存储该堆叠设备中第二探测端口的工作状态;所述的第三控制单元,用于在第三配置单元中存储的第二探测端口为SelectecLUP或 Unselected_UP状态时,通知第三收发单元等待接收探询Ke印Alive报文,并等待接收第三收发单元发来的接收到Ke印Alive报文的通知,如果在第一设定时间内接收到第三收发单元发来的接收到Ke印Alive报文的通知,则判断第三收发单元接收到的Ke印Alive报文是否是邻居堆叠设备发来的Ke印Alive报文,若是,则将当前第二探测端口为kleCted_UP状态的保持其状态不变,将当前第二探测端口为Unselected-UP状态的设置为SeleCted_UP 状态,并通知第三收发单元从当前第二探测端口发送ACK报文,若否,则继续等待接收第三收发单元发来接收到KeepAlive报文的通知;如果在第一设定时间内未接收到第三收发单元发来的接收到Ke印Alive报文的通知,若未超过最大重试次数,则进行再一次的探测,若超过最大重试次数,则将当前第二探测端口为SelectecLUP状态的设置为Unselected-UP 状态,将当前第二探测端口为Unselected-UP状态的保持其状态不变;所述的第三收发单元,用于接收到第三控制单元发来的等待接收KeepAlive报文的通知后,在第二探测端口等待接收Ke印Alive报文;用于接收到Ke印Alive报文后,通知第三控制单元接收到KeepAlive报文;用于接收到第三控制单元发来的发送ACK报文的通知后, 从当前第二探测端口发送ACK报文;其中,第二探测端口为接收Ke印Alive报文并发送ACK报文的端口 ;端口 SelectecLUP状态为物理状态为启动UP,通过该端口的本端堆叠设备与传输设备之间的链路及传输设备与对端堆叠设备之间的链路均正常时该端口的工作状态;Unselected-UP状态为物理状态为启动UP,通过该端口的的本端堆叠设备与传输设备之间的链路正常,且传输设备与对端堆叠设备间的链路故障时该端口的工作状态。
14.如权利要求13所述的堆叠设备,其特征在于,所述的第三配置单元还用于存储控制端口信息;用于持续检测该堆叠设备中第二探测端口的物理状态,当第二探测端口的物理状态从启动UP转变为故障DOWN时,将该端口设置为UnseIectecLDOWN状态,当第二探测端口的物理状态从DOWN转变为UP时,将该端口设置为UnselectecLUP状态;所述的第三收发单元接收到Ke印Alive报文后,通知第三控制单元接收到Ke印Alive 报文之前进一步用于判断接收到的Ke印Alive报文是否携带控制端口标记,如果是,则将接收到该KeepAlive报文的第二探测端口选择为控制端口,并修改第三配置单元中存储的控制端口信息。
15.一种堆叠设备,该堆叠设备在第二探测端口侧通过传输设备与其所在的堆叠系统中的其它堆叠设备相连;其特征在于,该堆叠设备包括第四配置单元、第四控制单元、第四收发单元;所述的第四配置单元,用于预先配置第一设定时间、第三设定时间;用于存储该堆叠设备中第二探测端口的工作状态;所述的第四控制单元,用于在第四配置单元中存储的第二探测端口为SelectecLUP或 UnselectecLUP状态时,通知第四收发单元等待接收探询Ke印Alive报文,用于在通知第四收发单元等待接收Ke印Alive报文后,等待接收第四收发单元发来的接收到Ke印Alive报文的通知,如果在第一设定时间内接收到第四收发单元发来的接收到Ke印Alive报文的通知,则判断第四收发单元接收到的Ke印Alive报文是否是邻居堆叠设备发来的Ke印Alive 报文,若是,则将当前第二探测端口为SelectecLUP状态的保持其状态不变,将当前第二探测端口为Unselected-UP状态的设置为SelectecLUP状态,并通知第四收发单元从当前第二探测端口发送ACK报文,若否,则继续等待接收第四收发单元发来接收到Ke印Alive报文的通知;如果在第一设定时间内未接收到第四收发单元发来的接收到Ke印Alive报文的通知,若未超过第三设定时间,则进行再一次的探测,若超过第三设定时间,则将当前第二探测端口为SelectecLUP状态的设置为Unselected-UP状态,将当前第二探测端口为 Unselected-UP状态的保持其状态不变;所述的第四收发单元,用于接收到第四控制单元发来的等待接收KeepAlive报文的通知后,在第二探测端口等待接收Ke印Alive报文;用于接收到Ke印Alive报文后,通知第四控制单元接收到KeepAlive报文;用于接收到第四控制单元发来的发送ACK报文的通知后, 从当前第二探测端口发送ACK报文;其中,第二探测端口为接收Ke印Alive报文并发送ACK报文的端口 ;端口 SelectecLUP 状态为物理状态为启动UP,通过该端口的本端堆叠设备与传输设备之间的链路及传输设备与对端堆叠设备之间的链路均正常时该端口的工作状态;Unselected-UP状态为物理状态为启动UP,通过该端口的的本端堆叠设备与传输设备之间的链路正常,且传输设备与对端堆叠设备间的链路故障时该端口的工作状态。
16.如权利要求15所述的堆叠设备,其特征在于,所述的第四配置单元还用于存储控制端口信息;用于持续检测该堆叠设备中第二探测端口的物理状态,当第二探测端口的物理状态从启动UP转变为故障DOWN时,将该端口设置为UnseIectecLDOWN状态,当第二探测端口的物理状态从DOWN转变为UP时,将该端口设置为UnselectecLUP状态;所述的第四收发单元接收到Ke印Alive报文后,通知第四控制单元接收到Ke印Alive 报文之前进一步用于判断接收到的Ke印Alive报文是否携带控制端口标记,如果是,则将接收到该KeepAlive报文的第二探测端口选择为控制端口,并修改第四配置单元中存储的控制端口信息。
全文摘要
本发明提供了堆叠链路聚合故障检测方法和堆叠设备,周期性从第一探测端口发送KeepAlive报文,如果最大重试次数或最大重试时间内未收到邻居堆叠设备针对该KeepAlive报文发送的ACK报文,则确定通过该第一探测端口的链路故障,将该第一探测端口设置为不参与报文转发;周期性在第二探测端口等待接收KeepAlive报文,如果在最大重试次数或最大重试时间内接收到邻居堆叠设备发来的KeepAlive报文,则确定通过该第二探测端口的链路故障,将该第二探测端口设置为不参与报文转发。应用本发明能够实现堆叠设备跨越传输设备,使堆叠设备可以分别放置在足够远的位置。
文档编号H04L12/56GK102164056SQ20111006482
公开日2011年8月24日 申请日期2011年3月17日 优先权日2011年3月17日
发明者杨柳, 杨燕军 申请人:杭州华三通信技术有限公司