CN104660449A - 防止堆叠分裂多主设备Master的方法和设备 - Google Patents
防止堆叠分裂多主设备Master的方法和设备 Download PDFInfo
- Publication number
- CN104660449A CN104660449A CN201510077366.3A CN201510077366A CN104660449A CN 104660449 A CN104660449 A CN 104660449A CN 201510077366 A CN201510077366 A CN 201510077366A CN 104660449 A CN104660449 A CN 104660449A
- Authority
- CN
- China
- Prior art keywords
- port
- stacking
- dut
- mac address
- bridge mac
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请提供了防止堆叠分裂多主设备Master的方法和设备。本发明中,并未对LACP报文进行任何扩展,其只是自定义了LACP报文的桥MAC地址,这样,就对网络中与堆叠连接的DUT没有任何特殊要求,即不像现有LACP MAD检测中要求DUT必须支持LACP报文扩展功能,实现了在不对LACP报文扩展TLV字段的前提下防止堆叠分裂多Master,增加了组网的灵活性。
Description
技术领域
本申请涉及网络通信技术,特别涉及防止堆叠分裂多主设备(Master)的方法和设备。
背景技术
智能弹性架构(IRF:Intelligent Resilient Framework),简称堆叠,其核心思想是将多台设备连接在一起,进行必要的配置后,虚拟化成一台联合设备,该虚拟化成的联合设备就称为一个堆叠,而联合设备中的设备则称为成员设备。堆叠中的成员设备通过Master竞选方式选取其中一台成员设备为Master,剩下的就为Slave。图1示出了堆叠结构。在图1中,成员设备1为Master,成员设备2至4为Slave。
在应用中,因为堆叠链路断开等现象会导致堆叠分裂,而堆叠分裂会导致网络中出现多个独立的且网络信息比如IP地址等完全一样的Master。以图1所示堆叠为例,假如因为堆叠链路断开堆叠分裂为以下两个子堆叠:堆叠1和堆叠2,堆叠1中的成员设备为成员设备1和成员设备2,成员设备1依然为Master,成员设备2为Slave,堆叠2中的成员设备为成员设备3和成员设备4,堆叠2中的成员设备3和成员设备4通过Master竞选方式选取成员设备3为Master,成员设备4就相应为Slave,因为堆叠1和堆叠2是从同一个堆叠中分裂出来的,而同一个堆叠中的网络信息比如IP地址等是相同的,即出现了网络中存在两个独立的且网络信息比如IP地址等完全一样的Master。
而网络中存在多个独立的且网络信息比如IP地址等完全一样的Master,会导致路由震荡等网络业务异常。目前,链路聚合控制协议(LACP:LinkAggregation Control Protocol)多Active检测(MAD:Multi-Active Detection)在堆叠分裂后,能够在毫秒级的反应时间内将分裂后冗余配置的堆叠从网络中隔离出去,防止堆叠分裂多Master。LACP MAD检测是通过扩展LACP报文内容实现的,即在LACP报文的保留字段内定义一个新的TLV域,用于交互堆叠的Active标识(具体可为堆叠中Master的成员编号Member-ID)来防止堆叠分裂多Master。这就要求网络中与堆叠连接的下联设备(DUT:Device Under Test)必须支持LACP报文扩展功能,限制了组网的灵活性。
发明内容
本申请提供了防止堆叠分裂多主设备Master的方法和设备,以实现在不对LACP报文扩展TLV字段的前提下防止堆叠分裂多Master,保证组网的灵活性。
本申请提供的技术方案包括:
一种防止堆叠分裂多主设备Master的方法,该方法应用于通过聚合组与堆叠连接的下联设备DUT,所述DUT本地连接所述堆叠中各个成员设备的端口为所述聚合组的成员端口,该方法包括:
通过本地属于所述聚合组的成员端口接收成员设备发送的链路聚合控制协议LACP报文;
比较所述LACP报文携带的桥MAC地址与本地已记录的所述成员端口关联的桥MAC地址,如果两者不一致,确定所述堆叠分裂;
控制本DUT仅与所述堆叠分裂后的一个子堆叠连接,关闭本DUT与所述堆叠分裂后的其他各个子堆叠的连接。
一种防止堆叠分裂多主设备Master的方法,该方法应用于堆叠中的成员设备,所述堆叠连接外部的下联设备DUT;该方法包括:
当所述堆叠分裂后,如果本设备为所述堆叠未分裂之前选举的Master,或者本设备与所述堆叠未分裂之前选举的Master处于分裂后的同一堆叠中,则将所述Master的桥MAC地址作为链路聚合控制协议LACP报文的桥MAC地址携带在LACP报文中发送至所述DUT;
如果本设备与所述Master处于分裂后的不同堆叠中,则与处于分裂后的同一堆叠中的其他成员设备竞选Master,将选举出的Master的桥MAC地址作为LACP报文的桥MAC地址携带在LACP报文中发送至所述DUT。
一种防止堆叠分裂多主设备Master的设备,该设备应用于通过聚合组与堆叠连接的下联设备DUT,所述DUT本地连接所述堆叠中各个成员设备的端口为所述聚合组中的成员端口,该设备包括:
接收单元,用于通过本地属于所述聚合组的成员端口接收成员设备发送的链路聚合控制协议LACP报文;
比较单元,用于比较所述LACP报文携带的桥MAC地址与本地已记录的所述成员端口关联的桥MAC地址,如果两者不一致,确定所述堆叠分裂;
控制单元,用于在所述比较单元确定出所述堆叠分裂时,控制本DUT仅与所述堆叠分裂后的一个子堆叠连接,关闭本DUT与所述堆叠分裂后的其他各个子堆叠的连接。
一种防止堆叠分裂多主设备Master的设备,该设备应用于堆叠中的成员设备,所述堆叠连接外部的下联设备DUT;该设备包括:
确定单元,用于确定所述堆叠是否分裂;
发送单元,用于当所述确定单元确定所述堆叠分裂后,
如果本设备为所述堆叠未分裂之前选举的Master,或者本设备与所述堆叠未分裂之前选举的Master处于分裂后的同一堆叠中,则将所述Master的桥MAC地址作为链路聚合控制协议LACP报文的桥MAC地址携带在LACP报文中发送至所述DUT;
如果本设备与所述Master处于分裂后的不同堆叠中,则与处于分裂后的同一堆叠中的其他成员设备竞选Master,将选举出的Master的桥MAC地址作为LACP报文的桥MAC地址携带在LACP报文中发送至所述DUT。
由以上技术方案可以看出,本发明中,并未对LACP报文进行任何扩展,其只是自定义了LACP报文的桥MAC地址,这样,就对网络中与堆叠连接的DUT没有任何特殊要求,即不像现有LACP MAD检测中要求DUT必须支持LACP报文扩展功能,实现了在不对LACP报文扩展TLV字段的前提下防止堆叠分裂多Master,增加了组网的灵活性。
附图说明
图1为堆叠结构示意图;
图2为堆叠分裂后的结构示意图;
图3为本发明提供的方法流程图;
图4为本发明提供的设备结构图;
图5为本发明提供的另一设备结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
在LACP中,堆叠中的成员设备发送的LACP报文,携带了系统优先级、桥MAC地址、关键字、端口优先级、端口号等信息。这里的桥MAC地址为堆叠桥MAC地址。
所谓堆叠桥MAC地址,是针对堆叠整体而言的。在堆叠方案中,堆叠作为一个虚拟出的设备与外界通信,其具有一个单一的桥MAC地址,即称为堆叠桥MAC地址。堆叠桥MAC地址与堆叠中被选举为Master的成员设备的桥MAC地址可能相同,也可能不同;通常情况下,堆叠桥MAC地址为堆叠中被选举为Master的成员设备的桥MAC地址。需要注意的是,在堆叠中,其中的成员设备都被配置了不同的桥MAC地址,用于相互区分。
为保证网络稳定性,即使堆叠分裂或者堆叠中的Master降为Slave,堆叠的堆叠桥MAC地址也要保持一段时间或者永久不变,因此,在目前的堆叠方案中,即使堆叠分裂,分裂后的各个堆叠中的成员设备发送的LACP报文所携带的桥MAC地址仍然是堆叠未分裂之前的堆叠桥MAC地址。
本发明为实现在不对LACP报文扩展TLV字段的前提下防止堆叠分裂多Master,需要对堆叠中的成员设备发送的LACP报文所携带的桥MAC地址重新定义。下面进行描述:
在本发明实施例中,在堆叠未分裂前,堆叠中成员设备发送的LACP报文所携带的桥MAC地址是堆叠中选举的Master的桥MAC地址;
而一旦堆叠分裂,则,
堆叠分裂之前选举的Master,以及与该Master处于分裂后的同一子堆叠中的其他成员设备发送的LACP报文所携带的桥MAC地址依然是堆叠未分裂之前选举的Master的桥MAC地址;
与该Master并不处于分裂后的同一子堆叠中的成员设备,则与处于分裂后的同一子堆叠中的其他成员设备竞选Master,将选举出的Master的桥MAC地址作为LACP报文的桥MAC地址携带在LACP报文中发送。
比如图1所示,假如图1所示堆叠(记为堆叠0)的Master为成员设备1,其桥MAC地址记为第一桥MAC地址,则图1所示堆叠0未分裂之前,堆叠0中的成员设备1至成员设备4发送的LACP报文携带的桥MAC地址为第一桥MAC地址;
当图1所示堆叠0分裂,这里,成员设备可通过内部协议检测到堆叠0分裂,并且,通过堆叠内部握手报文机制能够确定本设备与堆叠0未分裂之前选举的Master是否处于分裂后的同一个子堆叠中。
如图2所示,当图1所示堆叠0分裂成图2所示的堆叠1和堆叠2共两个子堆叠,堆叠1中的成员设备为成员设备1和成员设备2,堆叠1中的成员设备1为图1所示堆叠0未分裂之前选举的Master,在堆叠1中,仍为Master,成员设备2基于堆叠内部握手报文机制能够确认本设备与堆叠0未分裂之前选举的Master处于分裂后的同一子堆叠中即堆叠1,则成员设备2自动默认自身为Slave;堆叠2中的成员设备为成员设备3和成员设备4,堆叠2中的成员设备3和成员设备4基于堆叠内部握手报文机制确认Master丢失,比如,成员设备3和成员设备4基于堆叠内部握手报文机制确认所处子堆叠即堆叠2中没有Master,与堆叠0未分裂之前选举的Master并不处于分裂后的同一子堆叠即堆叠1中,而是分别处于分裂后不同的子堆叠中,则成员设备3和成员设备4通过Master竞选方式选举Master,这里假如选举的Master为成员设备3,成员设备4为Slave。
如此,堆叠1中的成员设备1作为图1所示堆叠未分裂之前选举的Master,发送的LACP报文携带的桥MAC地址仍为第一桥MAC地址,成员设备2作为与图1所示堆叠未分裂之前选举的Master处于分裂后的同一子堆叠即堆叠1中的成员设备,发送的LACP报文携带的桥MAC地址仍为第一桥MAC地址;
堆叠2中的成员设备3、成员设备4作为与图1所示堆叠未分裂之前选举的Master处于分裂后的不同子堆叠即堆叠2中的成员设备,发送的LACP报文携带的桥MAC地址为堆叠2中选举的担任Master的成员设备的桥MAC地址(不同于上述的第一桥MAC地址,记为第二桥MAC地址)。
基于上面描述,则当与堆叠连接的DUT接收到堆叠中成员设备发送的LACP报文时,就执行相应的操作。该操作通过图3进行描述:
参见图3,图3为本发明提供的方法流程图。该流程应用于通过聚合组与堆叠连接的DUT,DUT本地连接所述堆叠中各个成员设备的端口为所述聚合组中的成员端口,如图1或者图2所示。这里,聚合组的建立与现有聚合组的建立类似,不再赘述。
基于此,如图3所示,该流程可包括以下步骤:
步骤301,通过本地属于所述聚合组的成员端口接收堆叠中成员设备发送的LACP报文。
比如,如图1或2所示,DUT通过聚合组中的端口1收到成员设备1发送的LACP报文。
步骤302,比较所述LACP报文携带的桥MAC地址与本地已记录的所述成员端口关联的桥MAC地址,如果两者不一致,确定所述堆叠分裂。
按照LACP,堆叠中各成员设备与DUT之间相互周期发送LACP报文,其中,当DUT通过聚合组的任一成员端口收到堆叠中成员设备发送的LACP报文时,如果之前该成员端口还没有记录相关联的桥MAC地址,则此时会将收到的LACP报文携带的桥MAC地址作为该成员端口相关联的桥MAC地址并记录,这种情况一般是在堆叠初始建立时出现,与本发明关系不大,所以不展开描述。如此,当堆叠稳定后,DUT会针对连接堆叠中各个成员设备的各个成员端口记录一个相关联的桥MAC地址。基于上面对LACP报文的描述,这里的桥MAC地址为堆叠中Master的桥MAC地址,在堆叠未分裂时,堆叠中所有成员设备发送的LACP报文的桥MAC地址都是一样的,比如图1所示的成员设备1至4发送的LACP报文的桥MAC地址都是一样的,都为Master即成员设备1的桥MAC地址。如此,也就意味着初始DUT上连接堆叠中各个成员设备的各个成员端口相关联的桥MAC地址相同。
优选地,步骤302中,当比较出所述LACP报文携带的桥MAC地址与本地已记录的所述成员端口关联的桥MAC地址一致,则基于上面描述的本发明对LACP报文的定义,可能出现两种情况:
情况1:堆叠未分裂;
情况2:堆叠分裂,且所述LACP报文来自分裂后的子堆叠,但该分裂后的子堆叠中的Master仍为堆叠未分裂之前选举的Master。
但不管是情况1还是情况2,此时本发明不再额外执行任何处理,仍然保持该接收到报文的成员端口的聚合状态不变。
步骤303,控制本DUT仅与所述堆叠分裂后的一个子堆叠连接,关闭本DUT与所述堆叠分裂后的其他各个子堆叠的连接。
本步骤303是在步骤302确定出堆叠分裂之后执行的。通过本步骤303中的控制本DUT仅与分裂后的一个子堆叠连接,关闭本DUT与分裂后的其他子堆叠的连接,能够最终保证只有分裂后的一个子堆叠可用,分裂后的其他子堆叠停用,这保证了网络中Master的唯一性,防止因堆叠分裂造成的多个具有相同网络信息比如IP地址等的Master。
下面描述如何做到控制本DUT仅与分裂后的一个子堆叠连接,关闭本DUT与分裂后的其他子堆叠的连接。
作为本发明的一个实施例,控制本DUT仅与分裂后的一个子堆叠连接,关闭本DUT与分裂后的其他子堆叠的连接,可以通过协商参考端口,并依赖协商的参考端口控制聚合组中与参考端口相关联的成员端口处于开启状态,并关闭聚合组中其他各个成员端口,最终达到以下目的:DUT设备仅与分裂后的一个子堆叠相连接,关闭了本DUT与分裂后的其他子堆叠的连接。具体地,控制本DUT仅与分裂后的一个子堆叠连接,关闭本DUT与分裂后的其他子堆叠的连接可包括以下步骤a1至a4:
步骤a1,将本地已记录的所述成员端口关联的桥MAC地址更新为所述LACP报文携带的桥MAC地址;
步骤a2,从所述聚合组包含的除所述成员端口之外的其他成员端口中查找是否有端口关联的桥MAC地址与所述LACP报文携带的桥MAC地址一致,如果是,执行步骤a3,如果否,执行步骤a4。
因为DUT并非同时接收同一个堆叠中成员设备发送的LACP报文,其可能具有先后,仍以图2为例,尽管成员设备3、成员设备4处于同一堆叠即堆叠2中,但DUT并非同时收到成员设备3、成员设备4发送的LACP报文,其可能是先收到成员设备3发送的LACP报文,后收到成员设备4发送的LACP报文,或者是先收到成员设备4发送的LACP报文,后收到成员设备3发送的LACP报文,基于此,为避免针对处于同一分裂后的堆叠中的成员设备反复执行下述的端口状态控制操作(具体为步骤a4),就先执行步骤a2,当在步骤a2的查找结果为是时,直接执行步骤a3,省略执行步骤a4。
步骤a3,控制所述成员端口与该查找到的端口的端口状态保持一致。
步骤a4,依据所述LACP报文携带的系统优先级和桥MAC地址、本地已记录的除所述成员端口之外的其他各个成员端口关联的桥MAC地址和系统优先级、以及本DUT的桥MAC地址和系统优先级,并按照设定的参考端口选择规则与发送所述LACP报文的成员设备协商参考端口,控制聚合组中与参考端口相关联的成员端口处于开启状态,并关闭聚合组中其他各个成员端口。
优选地,这里,关闭端口,只是意味着端口不收发数据报文,但还是可以收发LACP报文的,因此,即使端口关闭后,后续收到LACP报文还是执行上述图3所示流程的。
作为本发明的一个实施例,这里依据所述LACP报文携带的系统优先级和桥MAC地址、本地已记录的所述其他成员端口关联的桥MAC地址和系统优先级、以及本DUT的桥MAC地址和系统优先级,并按照设定的参考端口选择规则与发送所述LACP报文的成员设备协商参考端口的方式可参考现有参考端口的选择方式。
简单说来,现有参考端口的选择方式具体为:
参考端口从所述聚合组中处于UP状态的成员端口和该处于UP状态的成员端口连接对端成员设备的端口中选出,具体为:
首先,通过以下方法从本DUT和本DUT通过聚合组连接的堆叠中的成员设备中选出设备ID(由设备的系统优先级即LACP优先级和桥MAC地址共同构成)较小的一端:先比较本DUT和本DUT通过聚合组连接的堆叠中的成员设备中的系统优先级,系统优先级数值越小其设备ID越小;如果优先级相同再比较其桥MAC地址,桥MAC地址越小其设备ID越小。
其次,如果设备ID较小的一端为DUT,则再比较聚合组内各成员端口的端口ID(由端口优先级和端口的编号共同构成):先比较端口优先级,优先级数值越小其端口ID越小;如果优先级相同再比较其端口号,端口号越小其端口ID越小。端口ID最小的端口作为参考端口。如果设备ID较小的一端为成员设备,则再比较本成员设备与同一堆叠中其他各个成员设备上连接DUT的端口ID(由端口优先级和端口的编号共同构成):先比较端口优先级,优先级数值越小其端口ID越小;如果优先级相同再比较其端口号,端口号越小其端口ID越小。端口ID最小的端口作为参考端口
另外,本发明中,所述与参考端口相关联的成员端口包括:
所述参考端口为本DUT接收到所述LACP报文的成员端口,或者为发送所述LACP报文的成员设备上的端口,所述与参考端口相关联的成员端口为本DUT上接收到所述LACP报文的成员端口;
所述参考端口为所述聚合组中除本DUT上接收到所述LACP报文的成员端口之外的其他成员端口,所述与参考端口相关联的成员端口为:所述参考端口、以及所述聚合组中与所述参考端口关联相同桥MAC地址的成员端口;
所述参考端口为除发送所述LACP报文的端口之外的任一成员设备上的其他端口,所述与参考端口相关联的成员端口为:所述聚合组中连接所述参考端口的成员端口、以及所述聚合组中与该成员端口关联相同桥MAC地址的其他成员端口。
下面通过一个具体实施例对上述步骤a1至步骤a4进行举例。仍以图2为例,当DUT通过图2所示成员端口13收到成员设备3通过端口3发送的LACP报文,依赖于上述步骤a1至步骤a4,则执行到步骤a4时,
如果协商的参考端口为DUT上的成员端口13,则此时与参考端口相关联的成员端口就为成员端口13,如此,在步骤a4中,DUT控制成员端口13处于开启状态,关闭成员端口11、12、14;
如果协商的参考端口为成员设备3上的端口3时,则此时与参考端口相关联的成员端口就为成员端口13,如此,在步骤a4中,DUT控制本地连接端口3的成员端口13处于开启状态,关闭成员端口11、12、14。
如果协商的参考端口为除以下成员端口之外的其他端口:DUT上接收到所述LACP报文的成员端口13,比如,参考端口为DUT上的成员端口11,则此时与参考端口相关联的成员端口就为成员端口11、与成员端口11关联相同桥MAC地址的成员端口12、14,如此,在步骤a4中,DUT关闭成员端口13,控制成员端口11、成员端口12、14处于开启状态;
如果协商的参考端口为除端口3之外的任一成员设备上连接DUT的端口,比如成员设备1上的端口1,则此时与参考端口相关联的成员端口就为成员端口11、与成员端口11关联相同桥MAC地址的成员端口12、14,如此,在步骤a4中,DUT控制连接端口1的成员端口11、成员端口12、14处于开启状态,关闭成员端口13。
下面通过一个实施例对图3所示流程进行描述:
仍以图1的堆叠结构为例,假如图1所示堆叠0的Master为成员设备1,桥MAC地址为第一桥MAC地址,则在图1所示堆叠0未分裂之前,图1所示堆叠0中的成员设备1至成员设备4发送的LACP报文携带的桥MAC地址为第一桥MAC地址,基于此,DUT通过连接堆叠0的聚合组中的成员端口1至成员端口4接收的LACP报文携带的桥MAC地址为第一桥MAC地址;DUT本地分别记录了聚合组1内的成员端口1至成员端口4关联的桥MAC地址为第一桥MAC地址。
当图1所示堆叠0分裂成图2所示的堆叠1和堆叠2共2个子堆叠,如上描述,堆叠1中的成员设备为成员设备1和成员设备2,堆叠1中的Master为图1所示堆叠未分裂之前选举的成员设备1,成员设备2为Slave,堆叠2中的成员设备为成员设备3和成员设备4,堆叠2中的Master为堆叠2中的成员设备3和成员设备4通过Master竞选方式选取的,为成员设备3,成员设备4为Slave。
堆叠1中的成员设备1、成员设备2发送的LACP报文携带的桥MAC地址仍为第一桥MAC地址,基于此,当DUT通过连接该堆叠的聚合组中的端口1接收到LACP报文时(DUT通过端口2接收到LACP报文的原理类似),会发现端口1接收的LACP报文携带的桥MAC地址与之前记录的端口1关联的桥MAC地址一致,此时本发明不再额外执行任何处理,仍然保持该接收到报文的成员端口的聚合状态不变;
堆叠2中的成员设备3、成员设备4发送的LACP报文携带的桥MAC地址为堆叠2中选举的担任Master的成员设备的桥MAC地址(不同于上述的第一桥MAC地址,记为第二桥MAC地址),基于此,当DUT通过连接该堆叠的聚合组中的成员端口13接收到LACP报文时(DUT通过端口4接收到LACP报文的原理类似),会发现成员端口13接收的LACP报文携带的桥MAC地址(具体为第二桥MAC地址)与之前记录的端口3关联的桥MAC地址(具体为第一桥MAC地址)不一致,则就确定原来的堆叠即图1所示的堆叠0分裂,依据上述步骤a1至a4选举参考端口,假如参考端口为DUT的成员端口13时,则DUT控制成员端口13处于开启状态,关闭成员端口11、12、14。
之后,DUT再通过成员端口14收到成员设备4发送的LACP报文时,识别所述LACP报文携带的桥MAC地址与成员端口13所关联的桥MAC地址一致,都为第二桥MAC地址,因为DUT控制端口13处于开启状态,则此时DUT控制端口14处于开启状态。最终是成员端口11、12关闭,成员端口13、14开启,使得DUT最终会维持聚合组中连接堆叠2的端口处于开启状态,而聚合组中连接其他堆叠即堆叠1的端口处于关闭状态,则DUT只会和堆叠2进行数据报文交互,保证了Master的唯一性。
通过上面描述可以看出,DUT最终会维持聚合组中连接图2所示的一个子堆叠比如堆叠1或者堆叠2的端口处于开启状态,而聚合组中连接剩下一个子堆叠的端口处于关闭状态,基于上面对端口关闭的描述,则最终DUT只会和图2所示的一个子堆叠比如堆叠1或者堆叠2进行数据报文交互,保证了Master的唯一性。
并且,从上面描述可以看出,在本发明提供的防止堆叠分裂多Master的方法中,并未对LACP报文进行任何扩展,其只是变相自定义了LACP报文的桥MAC地址,这样,就对网络中与堆叠连接的DUT没有任何特殊要求,即不像现有LACP MAD检测中要求DUT必须支持LACP报文扩展功能,增加了组网的灵活性。
需要说明的是,本发明中,作为本发明的另一个实施例,上述控制本DUT仅与分裂后的一个子堆叠连接,关闭本DUT与分裂后的其他子堆叠的连接也可仅包括上述的步骤a4,这也就意味着,DUT每次通过成员端口收到LACP报文时,如果通过比较LACP报文携带的桥MAC地址与本地已记录的所述成员端口关联的桥MAC地址不一致而确定所述堆叠分裂,则就执行步骤a4,不会像上面描述的:在通过成员端口收到LACP报文且依据LACP报文携带的桥MAC地址与本地已记录的所述成员端口关联的桥MAC地址不一致而确定堆叠分裂后,如果识别出LACP报文携带的桥MAC地址与除所述成员端口之外的至少一个其他成员端口关联的桥MAC地址一致,则就不再重复执行步骤a4,而是直接控制所述成员端口与所述至少一个其他成员端口的端口状态一致。
以上对本发明提供的方法进行了描述。
下面对本发明提供的设备进行描述:
参见图4,图4为本发明提供的设备结构图。该设备应用于通过聚合组与堆叠连接的下联设备DUT,所述DUT本地连接所述堆叠中各个成员设备的端口为所述聚合组中的成员端口。如图4所示,该设备可包括:
接收单元,用于通过本地属于所述聚合组的成员端口接收成员设备发送的LACP报文;
比较单元,用于比较所述LACP报文携带的桥MAC地址与本地已记录的所述成员端口关联的桥MAC地址,如果两者不一致,确定所述堆叠分裂;
控制单元,用于在所述比较单元确定出所述堆叠分裂时,控制本DUT仅与所述堆叠分裂后的一个子堆叠连接,关闭本DUT与所述堆叠分裂后的其他各个子堆叠的连接。
优选地,所述控制单元控制本DUT仅与所述堆叠分裂后的一个子堆叠连接,关闭本DUT与所述堆叠分裂后的其他各个子堆叠的连接包括:
将本地已记录的所述成员端口关联的桥MAC地址更新为所述LACP报文携带的桥MAC地址;
从所述聚合组包含的除所述成员端口之外的其他成员端口中查找是否有端口关联的桥MAC地址与所述LACP报文携带的桥MAC地址一致,
如果是,控制所述成员端口与该查找到的端口的端口状态保持一致;
如果否,依据所述LACP报文携带的系统优先级和桥MAC地址、本地已记录的除所述成员端口之外的其他各个成员端口关联的桥MAC地址和系统优先级、以及本DUT的桥MAC地址和系统优先级,并按照设定的参考端口选择规则与发送所述LACP报文的成员设备协商参考端口,控制聚合组中与参考端口相关联的成员端口处于开启状态,并关闭聚合组中其他各个成员端口。
优选地,所述与参考端口相关联的成员端口包括:
所述参考端口为本DUT接收到所述LACP报文的成员端口,或者为发送所述LACP报文的成员设备上的端口,所述与参考端口相关联的成员端口为本DUT上接收到所述LACP报文的成员端口;
所述参考端口为所述聚合组中除本DUT上接收到所述LACP报文的成员端口之外的其他成员端口,所述与参考端口相关联的成员端口为:所述参考端口、以及所述聚合组中与所述参考端口关联相同桥MAC地址的成员端口;
所述参考端口为除发送所述LACP报文的端口之外的任一成员设备上的其他端口,所述与参考端口相关联的成员端口为:所述聚合组中连接所述参考端口的成员端口、以及所述聚合组中与该成员端口关联相同桥MAC地址的其他成员端口。
至此,完成图4所示的设备结构。
本发明还提供了另一设备结构。参见图5,图5为本发明提供的另一设备结构图。该设备应用于堆叠中的成员设备,所述堆叠连接外部的DUT;如图5所示,该设备包括:
确定单元,用于确定所述堆叠是否分裂;
发送单元,用于当所述确定单元确定所述堆叠分裂后,
如果本设备为所述堆叠未分裂之前选举的Master,或者本设备与所述堆叠未分裂之前选举的Master处于分裂后的同一堆叠中,则将所述Master的桥MAC地址作为链路聚合控制协议LACP报文的桥MAC地址携带在LACP报文中发送至所述DUT;
如果本设备与所述Master处于分裂后的不同堆叠中,则与处于分裂后的同一堆叠中的其他成员设备竞选Master,将选举出的Master的桥MAC地址作为LACP报文的桥MAC地址携带在LACP报文中发送至所述DUT。
优选地,如图5所示,该设备进一步包括:
处理单元,用于与所述DUT协商参考端口,并在协商出的参考端口为本设备连接所述DUT的端口,或者为其他成员设备连接所述DUT的端口时,通知所述DUT。
至此,完成本发明提供的设备描述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种防止堆叠分裂多主设备Master的方法,该方法应用于通过聚合组与堆叠连接的下联设备DUT,所述DUT本地连接所述堆叠中各个成员设备的端口为所述聚合组的成员端口,其特征在于,该方法包括:
通过本地属于所述聚合组的成员端口接收成员设备发送的链路聚合控制协议LACP报文;
比较所述LACP报文携带的桥MAC地址与本地已记录的所述成员端口关联的桥MAC地址,如果两者不一致,确定所述堆叠分裂;
控制本DUT仅与所述堆叠分裂后的一个子堆叠连接,关闭本DUT与所述堆叠分裂后的其他各个子堆叠的连接。
2.根据权利要求1所述的方法,其特征在于,所述控制本DUT仅与所述堆叠分裂后的一个子堆叠连接,关闭本DUT与所述堆叠分裂后的其他各个子堆叠的连接包括:
将本地已记录的所述成员端口关联的桥MAC地址更新为所述LACP报文携带的桥MAC地址;
从所述聚合组包含的除所述成员端口之外的其他成员端口中查找是否有端口关联的桥MAC地址与所述LACP报文携带的桥MAC地址一致,
如果是,控制所述成员端口与该查找到的端口的端口状态保持一致;
如果否,依据所述LACP报文携带的系统优先级和桥MAC地址、本地已记录的除所述成员端口之外的其他各个成员端口关联的桥MAC地址和系统优先级、以及本DUT的桥MAC地址和系统优先级,并按照设定的参考端口选择规则与发送所述LACP报文的成员设备协商参考端口,控制聚合组中与参考端口相关联的成员端口处于开启状态,并关闭聚合组中其他各个成员端口。
3.根据权利要求2所述的方法,其特征在于,所述与参考端口相关联的成员端口包括:
所述参考端口为本DUT接收到所述LACP报文的成员端口,或者为发送所述LACP报文的端口,所述与参考端口相关联的成员端口为本DUT上接收到所述LACP报文的成员端口;
所述参考端口为所述聚合组中除本DUT上接收到所述LACP报文的成员端口之外的其他成员端口,所述与参考端口相关联的成员端口为:所述参考端口、以及所述聚合组中与所述参考端口关联相同桥MAC地址的成员端口;
所述参考端口为除发送所述LACP报文的端口之外的任一成员设备上的其他端口,所述与参考端口相关联的成员端口为:所述聚合组中连接所述参考端口的成员端口、以及所述聚合组中与该成员端口关联相同桥MAC地址的其他成员端口。
4.一种防止堆叠分裂多主设备Master的方法,其特征在于,该方法应用于堆叠中的成员设备,所述堆叠连接外部的下联设备DUT;该方法包括:
当所述堆叠分裂后,如果本设备为所述堆叠未分裂之前选举的Master,或者本设备与所述堆叠未分裂之前选举的Master处于分裂后的同一堆叠中,则将所述Master的桥MAC地址作为链路聚合控制协议LACP报文的桥MAC地址携带在LACP报文中发送至所述DUT;
如果本设备与所述Master处于分裂后的不同堆叠中,则与处于分裂后的同一堆叠中的其他成员设备竞选Master,将选举出的Master的桥MAC地址作为LACP报文的桥MAC地址携带在LACP报文中发送至所述DUT。
5.根据权利要求4所述的方法,其特征在于,该方法进一步包括:
与所述DUT协商参考端口;
当协商出的参考端口为本设备连接所述DUT的端口,或者为其他成员设备连接所述DUT的端口时,通知所述DUT。
6.一种防止堆叠分裂多主设备Master的设备,该设备应用于通过聚合组与堆叠连接的下联设备DUT,所述DUT本地连接所述堆叠中各个成员设备的端口为所述聚合组中的成员端口,其特征在于,该设备包括:
接收单元,用于通过本地属于所述聚合组的成员端口接收成员设备发送的链路聚合控制协议LACP报文;
比较单元,用于比较所述LACP报文携带的桥MAC地址与本地已记录的所述成员端口关联的桥MAC地址,如果两者不一致,确定所述堆叠分裂;
控制单元,用于在所述比较单元确定出所述堆叠分裂时,控制本DUT仅与所述堆叠分裂后的一个子堆叠连接,关闭本DUT与所述堆叠分裂后的其他各个子堆叠的连接。
7.根据权利要求6所述的设备,其特征在于,所述控制单元控制本DUT仅与所述堆叠分裂后的一个子堆叠连接,关闭本DUT与所述堆叠分裂后的其他各个子堆叠的连接包括:
将本地已记录的所述成员端口关联的桥MAC地址更新为所述LACP报文携带的桥MAC地址;
从所述聚合组包含的除所述成员端口之外的其他成员端口中查找是否有端口关联的桥MAC地址与所述LACP报文携带的桥MAC地址一致,
如果是,控制所述成员端口与该查找到的端口的端口状态保持一致;
如果否,依据所述LACP报文携带的系统优先级和桥MAC地址、本地已记录的除所述成员端口之外的其他各个成员端口关联的桥MAC地址和系统优先级、以及本DUT的桥MAC地址和系统优先级,并按照设定的参考端口选择规则与发送所述LACP报文的成员设备协商参考端口,控制聚合组中与参考端口相关联的成员端口处于开启状态,并关闭聚合组中其他各个成员端口。
8.根据权利要求7所述的设备,其特征在于,所述与参考端口相关联的成员端口包括:
所述参考端口为本DUT接收到所述LACP报文的成员端口,或者为发送所述LACP报文的端口,所述与参考端口相关联的成员端口为本DUT上接收到所述LACP报文的成员端口;
所述参考端口为所述聚合组中除本DUT上接收到所述LACP报文的成员端口之外的其他成员端口,所述与参考端口相关联的成员端口为:所述参考端口、以及所述聚合组中与所述参考端口关联相同桥MAC地址的成员端口;
所述参考端口为除发送所述LACP报文的端口之外的任一成员设备上的其他端口,所述与参考端口相关联的成员端口为:所述聚合组中连接所述参考端口的成员端口、以及所述聚合组中与该成员端口关联相同桥MAC地址的其他成员端口。
9.一种防止堆叠分裂多主设备Master的设备,其特征在于,该设备应用于堆叠中的成员设备,所述堆叠连接外部的下联设备DUT;该设备包括:
确定单元,用于确定所述堆叠是否分裂;
发送单元,用于当所述确定单元确定所述堆叠分裂后,
如果本设备为所述堆叠未分裂之前选举的Master,或者本设备与所述堆叠未分裂之前选举的Master处于分裂后的同一堆叠中,则将所述Master的桥MAC地址作为链路聚合控制协议LACP报文的桥MAC地址携带在LACP报文中发送至所述DUT;
如果本设备与所述Master处于分裂后的不同堆叠中,则与处于分裂后的同一堆叠中的其他成员设备竞选Master,将选举出的Master的桥MAC地址作为LACP报文的桥MAC地址携带在LACP报文中发送至所述DUT。
10.根据权利要求9所述的设备,其特征在于,该设备进一步包括:
处理单元,用于与所述DUT协商参考端口,并在协商出的参考端口为本设备连接所述DUT的端口,或者为其他成员设备连接所述DUT的端口时,通知所述DUT。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510077366.3A CN104660449B (zh) | 2015-02-13 | 2015-02-13 | 防止堆叠分裂多主设备Master的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510077366.3A CN104660449B (zh) | 2015-02-13 | 2015-02-13 | 防止堆叠分裂多主设备Master的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104660449A true CN104660449A (zh) | 2015-05-27 |
CN104660449B CN104660449B (zh) | 2018-11-09 |
Family
ID=53251180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510077366.3A Active CN104660449B (zh) | 2015-02-13 | 2015-02-13 | 防止堆叠分裂多主设备Master的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104660449B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106060190A (zh) * | 2016-07-25 | 2016-10-26 | 杭州华三通信技术有限公司 | 一种ip地址冲突的处理方法及装置 |
CN106534399A (zh) * | 2016-11-22 | 2017-03-22 | 杭州迪普科技股份有限公司 | Vsm分裂的检测方法和装置 |
CN106550060A (zh) * | 2016-10-28 | 2017-03-29 | 杭州华三通信技术有限公司 | 一种网络管理接口地址分配方法及装置 |
CN107547412A (zh) * | 2017-05-24 | 2018-01-05 | 新华三技术有限公司 | 一种stp计算方法和装置 |
CN108718248A (zh) * | 2018-04-25 | 2018-10-30 | 新华三技术有限公司 | 一种pex设备拔除事件处理方法及装置 |
CN109104363A (zh) * | 2018-09-26 | 2018-12-28 | 迈普通信技术股份有限公司 | 一种报文转发方法及设备 |
CN115102897A (zh) * | 2022-06-06 | 2022-09-23 | 上海华信长安网络科技有限公司 | 一种基于链路聚合的堆叠分裂保护方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101442484A (zh) * | 2008-12-05 | 2009-05-27 | 杭州华三通信技术有限公司 | 一种检测堆叠多Active的方法、系统及设备 |
US20140219289A1 (en) * | 2013-02-04 | 2014-08-07 | Hangzhou H3C Technologies Co., Ltd. | Handling stacking link failures in mdc device |
CN104092574A (zh) * | 2014-07-22 | 2014-10-08 | 杭州华三通信技术有限公司 | 一种irf分裂导致rpr环故障的处理方法和装置 |
CN104104596A (zh) * | 2014-07-28 | 2014-10-15 | 杭州华三通信技术有限公司 | 一种irf分裂处理方法和装置 |
-
2015
- 2015-02-13 CN CN201510077366.3A patent/CN104660449B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101442484A (zh) * | 2008-12-05 | 2009-05-27 | 杭州华三通信技术有限公司 | 一种检测堆叠多Active的方法、系统及设备 |
US20140219289A1 (en) * | 2013-02-04 | 2014-08-07 | Hangzhou H3C Technologies Co., Ltd. | Handling stacking link failures in mdc device |
CN104092574A (zh) * | 2014-07-22 | 2014-10-08 | 杭州华三通信技术有限公司 | 一种irf分裂导致rpr环故障的处理方法和装置 |
CN104104596A (zh) * | 2014-07-28 | 2014-10-15 | 杭州华三通信技术有限公司 | 一种irf分裂处理方法和装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106060190A (zh) * | 2016-07-25 | 2016-10-26 | 杭州华三通信技术有限公司 | 一种ip地址冲突的处理方法及装置 |
CN106060190B (zh) * | 2016-07-25 | 2021-04-30 | 新华三技术有限公司 | 一种ip地址冲突的处理方法及装置 |
CN106550060A (zh) * | 2016-10-28 | 2017-03-29 | 杭州华三通信技术有限公司 | 一种网络管理接口地址分配方法及装置 |
CN106534399A (zh) * | 2016-11-22 | 2017-03-22 | 杭州迪普科技股份有限公司 | Vsm分裂的检测方法和装置 |
CN106534399B (zh) * | 2016-11-22 | 2019-08-06 | 杭州迪普科技股份有限公司 | Vsm分裂的检测方法和装置 |
CN107547412A (zh) * | 2017-05-24 | 2018-01-05 | 新华三技术有限公司 | 一种stp计算方法和装置 |
CN107547412B (zh) * | 2017-05-24 | 2020-05-12 | 新华三技术有限公司 | 一种stp计算方法和装置 |
CN108718248A (zh) * | 2018-04-25 | 2018-10-30 | 新华三技术有限公司 | 一种pex设备拔除事件处理方法及装置 |
CN108718248B (zh) * | 2018-04-25 | 2021-08-24 | 新华三技术有限公司 | 一种pex设备拔除事件处理方法及装置 |
CN109104363A (zh) * | 2018-09-26 | 2018-12-28 | 迈普通信技术股份有限公司 | 一种报文转发方法及设备 |
CN115102897A (zh) * | 2022-06-06 | 2022-09-23 | 上海华信长安网络科技有限公司 | 一种基于链路聚合的堆叠分裂保护方法 |
CN115102897B (zh) * | 2022-06-06 | 2024-01-05 | 上海华信长安网络科技有限公司 | 一种基于链路聚合的堆叠分裂保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104660449B (zh) | 2018-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104660449A (zh) | 防止堆叠分裂多主设备Master的方法和设备 | |
CN112769587B (zh) | 双归设备接入流量的转发方法、设备及存储介质 | |
US9787496B2 (en) | Communication system, communication apparatus, and protection method | |
CN102315975B (zh) | 一种基于irf系统的故障处理方法及其设备 | |
US8135832B2 (en) | Method, system and apparatus for detecting multiple active devices in stack | |
CN101714932B (zh) | 一种用于irf堆叠设备的mad检测方法及装置 | |
CN101854283B (zh) | 一种rpr环网的通信方法和设备 | |
US11310699B2 (en) | Network switching method, communications apparatus, and communications device | |
CN111865704B (zh) | 数据传输方法、系统和网络设备 | |
CN109495383B (zh) | 一种数据处理方法、装置、通信系统及网络设备 | |
CN103607293B (zh) | 一种流量保护方法及设备 | |
CN106452921B (zh) | 一种堆叠系统分裂检测方法及装置 | |
CN101674208A (zh) | 一种lacp mad检测的方法及设备 | |
CN101795187A (zh) | 提高中心服务器拓扑组网可靠性的方法、系统及设备 | |
CN102209040A (zh) | 基于多网络端口实现负载分担的方法和装置 | |
CN103731303A (zh) | 一种纵向融合架构接口实现多活性实体检测的方法及设备 | |
CN111581287A (zh) | 一种数据库管理的控制方法、系统和存储介质 | |
CN104539462B (zh) | 一种切换至灾备应用实例的方法及装置 | |
CN104518936A (zh) | 链路动态聚合方法和装置 | |
CN103220189A (zh) | 一种mad检测备份方法和设备 | |
WO2022217786A1 (zh) | 多总线网络跨网通信方法、装置、系统、设备和存储介质 | |
EP1623533A1 (en) | An ad-hoc network, a network device and a method of configuration management therefor | |
JP6383232B2 (ja) | 中継システムおよびスイッチ装置 | |
CN115333991B (zh) | 跨设备链路聚合方法、装置、系统及计算机可读存储介质 | |
CN116137542A (zh) | 一种基于hplc和hrf异构双模网络的自适应组网方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |