(12)发明专利申请
(10)申请公布号 CN 109462515 A(43)申请公布日 2019.03.12
(21)申请号 201811056112.3(22)申请日 2018.09.11
(71)申请人 锐捷网络股份有限公司
地址 350007 福建省福州市仓山区金山大
道618号桔园洲工业园19#楼(72)发明人 雷美鑫
(74)专利代理机构 北京太合九思知识产权代理
有限公司 11610
代理人 张爱(51)Int.Cl.
H04L 12/26(2006.01)H04L 12/46(2006.01)
权利要求书3页 说明书16页 附图4页
CN 109462515 A()发明名称
环路处理方法、网络设备、MLAG组网及存储介质(57)摘要
本申请实施例提供一种环路处理方法、网络
在本申请实施例中,设备、MLAG组网及存储介质。
MLAG组网中主设备和备设备通过除心跳端口之外的其它端口发送环路检测报文,以对MLAG组网中的环路进行探测。当主设备接收到由自身或备设备发出的环路检测报文时,针对发出该环路检测报文的端口进行环路处理。由于心跳端口不发送环路检测报文,当针对环路检测报文进行环路处理时也就不会对心跳端口进行处理,因而,在消除MLAG组网的环路时可避免对心跳端口进行环路处理而堵塞心跳端口的情况,进而可防止MLAG组网失效。
CN 109462515 A
权 利 要 求 书
1/3页
1.一种环路处理方法,适用于MLAG组网中的主设备,其特征在于,所述方法包括:通过除心跳端口之外的其它端口发送环路检测报文,以对所述MLAG组网中的环路进行探测;
若接收到由所述主设备或所述MLAG组网中的备设备发出的环路检测报文,则针对发出所接收到的环路检测报文的端口进行环路处理;
其中,所述心跳端口是指所述MLAG组网中的主设备和备设备上相互连接的端口。2.根据权利要求1所述的方法,其特征在于,在针对发出所接收到的环路检测报文的端口进行环路处理之前,还包括:
每当接收到报文时,根据接收到的报文中的帧类型字段和源MAC地址字段,确定是否接收到由所述主设备或所述备设备发出的环路检测报文。
3.根据权利要求2所述的方法,其特征在于,根据接收到的报文中的帧类型字段和源MAC地址字段,确定是否接收到由所述主设备或所述备设备发出的环路检测报文,包括:
若所述接收到的报文中的帧类型字段的取值为环路检测值,且所述源MAC地址字段的值为所述主设备或所述备设备的MAC地址,确定接收到由所述主设备或所述备设备发出的环路检测报文。
4.根据权利要求3所述的方法,其特征在于,每当确定接收到由所述主设备或所述备设备发出的环路检测报文时,所述方法还包括:
将当前确定接收到的环路检测报文与已接收到的环路检测报文进行比较;
若所述当前确定接收到的环路检测报文已存在于所述已接收到的环路检测报文中,则将其丢弃;
若所述当前确定接收到的环路检测报文不存在于所述已接收到的环路检测报文中,则将其保存至所述已接收到的环路检测报文中。
5.根据权利要求1所述的方法,其特征在于,所述针对发出所接收到的环路检测报文的端口进行环路处理,包括:
当满足环路处理条件时,判断所述接收到的环路检测报文中是否存在由非成员端口发出的环路检测报文;
若判断结果为存在,则根据由所述非成员端口发出的环路检测报文,对所述非成员端口进行环路处理;
其中,所述非成员端口是指所述主设备和所述备设备上除与双归接入设备通信连接的成员端口及所述心跳端口之外的其它端口。
6.根据权利要求5所述的方法,其特征在于,所述根据由所述非成员端口发出的环路检测报文,对所述非成员端口进行环路处理,包括:
从由所述非成员端口发出的环路检测报文中选择目标环路检测报文;针对发出所述目标环路检测报文的非成员端口进行环路处理。7.根据权利要求6所述的方法,其特征在于,所述从由所述非成员端口发出的环路检测报文中选择目标环路检测报文,包括以下至少一种选择操作:
从由所述非成员端口发出的环路检测报文中任取一个报文作为所述目标环路检测报文;
根据所述由所述非成员端口发出的环路检测报文中的源MAC地址字段,选择所述目标
2
CN 109462515 A
权 利 要 求 书
2/3页
环路检测报文;
根据所述由所述非成员端口发出的环路检测报文中的端口ID字段,选择所述目标环路检测报文。
8.根据权利要求5所述的方法,其特征在于,所述针对发出所接收到的环路检测报文的端口进行环路处理,还包括:
若判断结果为不存在,则根据所述成员端口发出的环路检测报文,对所述成员端口进行环路处理。
9.根据权利要求5所述的方法,其特征在于,还包括:判断预设的环路处理周期是否达到;若判断结果为是,则确定满足所述环路处理条件;或者,
判断在当前环路处理周期内是否接收到字段内容不同于已接收的环路检测报文的新环路检测报文;若判断结果为否,则确定满足所述环路处理条件。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述针对发出所接收到的环路检测报文的端口进行环路处理,包括:
若发出所述接收到的环路检测报文的端口为所述主设备上的端口,则直接将发出所述接收到的环路检测报文的端口堵塞;
若发出所述接收到的环路检测报文的端口为所述备设备上的端口,则指示所述备设备对发出所述接收到的环路检测报文的端口进行堵塞。
11.根据权利要求10所述的方法,其特征在于,所述指示所述备设备对发出所接收到的环路检测报文的端口进行堵塞,包括:
将所述目标环路检测报文中的环路处理标志位置1,并将修改后的目标环路检测报文发送给所述备设备,以指示所述备设备将发出所述修改后的目标环路检测报文的端口进行堵塞。
12.一种环路处理方法,适用于MLAG组网中的备设备,其特征在于,包括:通过除其心跳端口之外的其它端口发送环路检测报文,以对所述MLAG组网中的环路进行探测;以及
在接收到所述MLAG组网中的主设备在接收到所述备设备发出的环路检测报文后返回的环路处理指示时,根据所述环路处理指示对发出所述主设备接收到的环路检测报文的端口进行环路处理;
其中,所述心跳端口是指所述主设备和所述备设备上相互连接的端口。13.一种网络设备,可作为MLAG组网中的主设备,其特征在于,包括:存储器、处理器和通信端口;所述通信端口包括:与所述MLAG组网中的备设备互联的心跳端口以及除所述心跳端口之外的非心跳端口;
所述非心跳端口,用于发送环路检测报文,并接收由所述主设备或所述备设备发出的环路检测报文;
所述存储器,用于存储计算机程序以及所述环路检测报文;所述处理器,与所述存储器进行耦合,用于执行所述计算机程序,以用于:
在所述非心跳端口接收到由所述主设备或所述备设备发出的环路检测报文时,针对发出所接收到的环路检测报文的端口进行环路处理。
3
CN 109462515 A
权 利 要 求 书
3/3页
14.一种网络设备,可作为MLAG组网中的备设备,其特征在于,包括:存储器、处理器和通信端口;所述通信端口包括:与所述MLAG组网中的主设备互联的心跳端口以及除所述心跳端口之外的非心跳端口;
所述非心跳端口,用于发送环路检测报文;所述存储器,用于存储计算机程序;所述处理器,与所述存储器进行耦合,用于执行所述计算机程序,以用于:
在接收到所述MLAG组网中的主设备在接收到所述非心跳端口发出的所述环路检测报文后返回的环路处理指示时,根据所述环路处理指示对发出所述主设备接收到的环路检测报文的端口进行环路处理。
15.一种MLAG组网,其特征在于,包括:主设备、备设备和双归接入设备,其中,所述主设备与所述备设备通过心跳端口互联,且所述主设备与所述备设备均通过成员端口与双归接入设备互联,且对所述双归接入设备表现为一台设备;
所述主设备,用于:通过其非心跳端口发送环路检测报文,以对所述MLAG组网中的环路进行探测;若接收到由所述主设备或所述备设备发出的环路检测报文,则针对发出所接收到的环路检测报文的端口进行环路处理;
所述备设备,用于:通过其非心跳端口发送环路检测报文;其中,所述非心跳端口是指除所述心跳端口之外的其它端口。16.根据权利要求15所述的MLAG组网,其特征在于,所述主设备在针对发出所接收到的环路检测报文的端口进行环路处理时,具体用于:
若发出所述接收到的环路检测报文的端口为所述主设备上的端口,则直接将发出所述接收到的环路检测报文的端口堵塞;
若发出所述接收到的环路检测报文的端口为所述备设备上的端口,则指示所述备设备对发出所述接收到的环路检测报文的端口进行堵塞。
17.一种存储有计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:
通过所述存储介质所依附的网络设备上的除心跳端口之外的其它端口发送环路检测报文,以对所述MLAG组网中的环路进行探测;若接收到由所述网络设备或所述备设备发出的环路检测报文,则针对发出所接收到的环路检测报文的端口进行环路处理;
所述心跳端口是指所述网络设备与所述MLAG组网中的备设备互联的端口。
4
CN 109462515 A
说 明 书
环路处理方法、网络设备、MLAG组网及存储介质
1/16页
技术领域
[0001]本申请涉及数据通信技术领域,尤其涉及一种环路处理方法、网络设备、MLAG组网及存储介质。
背景技术
[0002]跨设备链路聚合组(Multi-chassis Link Aggregation Group,MLAG),是一种实现跨设备链路聚合的机制,能够在相邻的两台设备之间各选择一个或多个端口组成一个逻辑聚合口后双归接入其他设备,进而形成MLAG组网。对其他设备而言,双归接入的两台设备在逻辑上虚拟成一台设备,这样,双归接入的两台设备共同进行流量的转发,保证网络的可靠性。
[0003]但是,MLAG组网在增加网络可靠性的同时,由于使用了冗余链路,导致其在实际应用中,有可能由于误配置和误操作而出现环路,从而导致广播风暴及物理地址(Media Access Control,MAC地址)表不稳定等故障。[0004]在现有技术中,一般采用生成树(Spanning Tree Protocol,STP)协议来对MLAG组网进行环路检测和处理。但是,当在MLAG组网下采用STP协议进行环路检测和处理时,MLAG组网的心跳端口会参与STP计算,心跳端口有可能会被阻塞,从而导致MLAG组网失效。发明内容
[0005]本申请的多个方面提供一种环路处理方法、网络设备、MLAG组网及存储介质,用以防止在消除MLAG组网环路时对心跳端口进行环路处理而堵塞心跳端口。[0006]本申请实施例提供一种环路处理方法,适用于MLAG组网中的主设备,该方法包括:[0007]通过除心跳端口之外的其它端口发送环路检测报文,以对所述MLAG组网中的环路进行探测;
[0008]若接收到由所述主设备或所述MLAG组网中的备设备发出的环路检测报文,则针对发出所接收到的环路检测报文的端口进行环路处理;[0009]其中,所述心跳端口是指所述MLAG组网中的主设备和备设备上相互连接的端口。[0010]本申请实施例还提供一种环路处理方法,适用于MLAG组网中的主设备,该方法包括:
[0011]通过除其心跳端口之外的其它端口发送环路检测报文,以对所述MLAG组网中的环路进行探测;以及
[0012]在接收到所述MLAG组网中的主设备在接收到所述备设备发出的环路检测报文后返回的环路处理指示时,根据所述环路处理指示对发出所述主设备接收到的环路检测报文的端口进行环路处理;[0013]其中,所述心跳端口是指所述主设备和所述备设备上相互连接的端口。[0014]本申请实施例还提供一种网络设备,可作为MLAG组网中的主设备,该网络设备包括:存储器、处理器和通信端口;所述通信端口包括:与所述MLAG组网中的备设备互联的心
5
CN 109462515 A
说 明 书
2/16页
跳端口以及除所述心跳端口之外的非心跳端口;[0015]所述非心跳端口,用于发送环路检测报文,并接收由所述主设备或所述备设备发出的环路检测报文;[0016]所述存储器,用于存储计算机程序以及所述环路检测报文;[0017]所述处理器,与所述存储器进行耦合,用于执行所述计算机程序,以用于:
[0018]在所述非心跳端口接收到由所述主设备或所述备设备发出的环路检测报文时,针对发出所接收到的环路检测报文的端口进行环路处理。[0019]本申请实施例还提供一种网络设备,可作为MLAG组网中的备设备,该网络设备包括:存储器、处理器和通信端口;所述通信端口包括:与所述MLAG组网中的主设备互联的心跳端口以及除所述心跳端口之外的非心跳端口;[0020]所述非心跳端口,用于发送环路检测报文;[0021]所述存储器,用于存储计算机程序;[0022]所述处理器,与所述存储器进行耦合,用于执行所述计算机程序,以用于:
[0023]在接收到所述MLAG组网中的主设备在接收到所述非心跳端口发出的所述环路检测报文后返回的环路处理指示时,根据所述环路处理指示对发出所述主设备接收到的环路检测报文的端口进行环路处理。
[0024]本申请实施例还提供一种MLAG组网,包括:主设备、备设备和双归接入设备,其中,所述主设备与所述备设备通过心跳端口互联,且所述主设备与所述备设备均通过成员端口与双归接入设备互联,且对所述双归接入设备表现为一台设备;[0025]所述主设备,用于:通过其非心跳端口发送环路检测报文,以对所述MLAG组网中的环路进行探测;若接收到由所述主设备或所述备设备发出的环路检测报文,则针对发出所接收到的环路检测报文的端口进行环路处理;[0026]所述备设备,用于:通过其非心跳端口发送环路检测报文;[0027]其中,所述非心跳端口是指除所述心跳端口之外的其它端口。
[0028]本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:[0029]通过所述存储介质所依附的网络设备上的除心跳端口之外的其它端口发送环路检测报文,以对所述MLAG组网中的环路进行探测;若接收到由所述网络设备或所述备设备发出的环路检测报文,则针对发出所接收到的环路检测报文的端口进行环路处理;[0030]所述心跳端口是指所述网络设备与所述MLAG组网中的备设备互联的端口。[0031]在本申请实施例中,MLAG组网中主设备和备设备通过除心跳端口之外的其它端口发送环路检测报文,以对MLAG组网中的环路进行探测。当主设备接收到由自身或备设备发出的环路检测报文时,针对发出该环路检测报文的端口进行环路处理。由于心跳端口不发送环路检测报文,当针对环路检测报文进行环路处理时也就不会对心跳端口进行处理,因而,在消除MLAG组网环路时可避免对心跳端口进行环路处理而堵塞心跳端口的情况,进而可防止MLAG组网失效。
附图说明
[0032]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申
6
CN 109462515 A
说 明 书
3/16页
请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:[0033]图1a为本申请一实施例提供的一种MLAG组网的拓扑结构示意图;[0034]图1b为本申请一实施例提供的一种环路检测报文的格式示意图;
[0035]图1c为本申请一实施例提供的一种多级MLAG组网的拓扑结构示意图;[0036]图1d为本申请一实施例提供的另一种多级MLAG组网的拓扑结构示意图;[0037]图2为本申请一实施例提供的一种环路处理方法的流程示意图;[0038]图3为本申请一实施例提供的另一种环路处理方法的流程示意图;[0039]图4a为本申请一实施例提供的一种网络设备的结构示意图;[0040]图4b为本申请一实施例提供的另一种网络设备的结构示意图。
具体实施方式
[0041]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0042]针对现有MLAG组网环路处理方式会心跳端口堵塞而导致MLAG组网失效,本申请实施例提供一种解决方案,基本思路是:MLAG组网中主设备和备设备通过除心跳端口之外的其它端口发送环路检测报文,以对MLAG组网中的环路进行探测。当主设备接收到由自身或备设备发出的环路检测报文时,针对发出该环路检测报文的端口进行环路处理。由于心跳端口不发送环路检测报文,当针对环路检测报文进行环路处理时也就不会对心跳端口进行处理,因而,在消除MLAG组网环路时可避免对心跳端口进行环路处理而堵塞心跳端口的情况,进而可防止MLAG组网失效。[0043]以下结合附图,详细说明本申请各实施例提供的技术方案。
[0044]图1a为本申请实施例提供的一种MLAG组网的拓扑结构示意图。如图1a所示,MLAG组网10包括:主设备101、备设备102和双归接入设备103。其中,主设备101与备设备102通过心跳端口互联,且主设备101与备设备102均通过成员端口与双归接入设备103相连,且对双归接入设备103表现为一台设备。
[0045]本实施例不限定主设备101和备设备102。在一些实施例中,主设备101和备设备102可以为交换机、路由器等网络设备。[0046]在本实施例中,双归接入设备103一般指具有上网、通信等功能的网络设备,例如可以是个人电脑、平板电脑、智能手机等终端设备,也可以是交换机、路由器等流量转发设备,还也可以是是常规服务器、云服务器、云主机、虚拟中心等服务器设备。[0047]在本实施例中,主设备101和备设备102的心跳端口指主设备101和备设备102互联的端口。成员端口指的是主设备101和备设备102上与双归接入设备103相连接的端口。其中,主设备101和备设备102通过心跳端口互联,形成心跳链路;主设备101和备设备102通过各自的成员端口双归接入到双归接入设备103,以形成MLAG组网10。在本申请实施例中,将主设备101和备设备102上的除心跳端口以外的其它端口统一定义为非心跳端口,即非心跳端口包括成员端口和除心跳端口和成员端口之外的其它所有普通通信端口。[0048]在本申请实施例中,主设备101和备设备102是二者协商决定出来的,并不是一直
7
CN 109462515 A
说 明 书
4/16页
不变的。例如,设备A和设备B在重新启动后,有可能设备B成为主设备,设备A为备设备。又当设备A与其他设备组成MLAG组网时,也有可能成为备设备。[0049]可选地,两台设备通过心跳链路定期发送MLAG协商报文。当两台设备收到对端的MLAG协商报文后,判断MLAG协商报文中的MLAG协商编号是否和本端相同。如果两台的协商编号相同,则这两台设备配对成功。[0050]当配对成功后,两台设备会根据优先级协商出主备设备。可选地,两台设备可通过比较MLAG协商报文中的优先级字段确定主备设备。以图1a所示的MLAG组网中的设备A和设备B为例,对于设备B,当设备B收到设备A发送的MLAG协商报文时,设备B会查看并记录对端设备A的信息,然后比较优先级,如果设备A的优先级高于本端的优先级,则确定设备A为MLAG主设备,设备B为MLAG备设备。如果设备A和设备B的优先级相同,比较两台设备的MAC地址,确定MAC地址较小的一端为MLAG主设备。在图1a所示出的MLAG组网中,设备A为主设备101,设备B为备设备102。[0051]可选地,设备A和设备B协商出主备后,通过心跳链路周期性地发送MLAG心跳报文,当设备A和设备B均能够收到对端发送的报文时,双活系统即MLAG组网开始正常的工作。进一步,当主设备101和备设备102正常工作后,两台设备之间通过心跳链路发送MLAG同步报文实时同步对端的信息,MLAG同步报文中包括MAC表项、地址解析协议(Address Resolution Protocol,ARP)表项等,这样主设备101和备设备102对于双归接入设备103可表现为一台设备,且主设备101和备设备102任意一台设备故障都不会影响流量的转发,可保证正常的业务不会中断。
[0052]基于上述MLAG组网10,在进行环路检测时,主设备101和备设备102通过其非心跳端口发送环路检测报文,以对MLAG组网中的环路进行探测。若主设备101接收到自身或备设备102发出的环路检测报文,则确定MLAG组网10存在环路,主设备102则会针对发出其接收到的环路检测报文的端口进行环路处理,以断开MLAG组网10中的环路。[0053]在本实施例中,MLAG组网中主设备和备设备通过除心跳端口之外的其它端口发送环路检测报文,以对MLAG组网中的环路进行探测。当主设备接收到由自身或备设备发出的环路检测报文时,针对发出该环路检测报文的端口进行环路处理。由于心跳端口不发送环路检测报文,当针对环路检测报文进行环路处理时也就不会对心跳端口进行处理,因而,在消除MLAG组网环路时可避免对心跳端口进行环路处理而堵塞心跳端口的情况,进而可防止MLAG组网失效。
[00]值得说明的是,在本申请各实施例中,主设备101和/或备设备102还可能与除双归接入设备103之外的其他设备(图1a未示出)互联,对于这种情况,主设备101和备设备102除心跳端口之外的其它端口包括其与除双归接入设备103之外的其他设备互联的端口。在这种应用场景中,主设备101和备设备102通过除心跳端口之外的其它端口向双归接入设备103以及与其互联的其他设备发送环路检测报文。可选地,与主设备101和备设备102互联的其他设备还可与双归接入设备103互联。[0055]对于图1a所示的MLAG组网来说,主设备101和备设备102只与双归接入设备103互联。在这种应用场景中,主设备101和备设备102通过除心跳端口之外的其它端口向双归接入设备103发送环路检测报文。[0056]在本申请各实施例中,可以预设报文发送周期,并启动一个定时器或计数器对该
8
CN 109462515 A
说 明 书
5/16页
报文发送周期进行计时。主设备101和备设备102可按照预设的报文发送周期定时发送环路检测报文。其中,报文发送周期的长短可根据实际情况来设定,在本申请实施例中不做限定。可选地,主设备101和备设备102也可响应于用户或技术人员的环路检测操作发送环路检测报文。
[0057]可选地,如图1b所示,环路检测报文包括但不局限于目的MAC字段、源MAC字段、帧类型字段、设备信息字段以及端口ID字段等。其中,目的MAC字段表示接收该报文的设备的MAC地址。可选地,目的MAC字段为6字节。可选地,环路检测报文为广播报文,其字段取值为FF:FF:FF:FF:FF:FF。这样,当MLAG组网10不存在环路时,双归接入设备103接收到主设备101和备设备102所发出的环路检测报文时,不会转发给主设备101和备设备102,主设备101和备设备102也就接收不到环路检测报文。但是,当MLAG组网10中存在环路时,双归接入设备103接收到主设备101或备设备102发出的环路检测报文时,会将其进行转发于主设备101或备设备102。因此,如果主设备101能够接收到自身或备设备102环路检测报文,则可确定MLAG组网10中存在环路。[0058]进一步,环路检测报文中的源MAC字段表示发出该报文的设备的MAC地址。可选地,源MAC字段为6字节。在本实施例中,主设备101可以根据接收到的报文中的源MAC字段判断其是否为主设备101或备设备102发出的报文。[0059]进一步,帧类型字段为自定义的帧类型,该字段用于指示报文为环路检测报文。可选地,帧类型字段为2字节。在本实施例中,主设备101可以根据接收到的报文中的帧类型字段判断接收到的报文是否为环路检测报文。[0060]进一步,设备信息字段表示发出该报文的设备信息。可选地,设备信息字段为12字节,其中,包括6字节的发出该报文的设备的MAC地址信息和6字节的随机码。其中,随机码用于加强该报文的安全性,防止其被非法用户篡改或攻击。[0061]进一步,端口ID字段表示发送该环路检测报文的端口的端口ID。可选地,端口ID为2字节。
[0062]基于上述分析,主设备101在针对发出其接收到的环路检测报文的端口进行环路处理之前,每当接收到报文时,可以根据接收到的报文中的源MAC字段或设备信息字段中的MAC地址信息判断该报文是否为主设备101或备设备102所发出的,并根据该报文中的帧类型字段判断该报文是否为环路检测报文。当判断结果均为是时,即接收到的报文中的帧类型字段的取值为环路检测值,且接收到的报文中的源MAC字段的值为主设备101或备设备102的MAC地址,则确定接收到的报文为主设备101或备设备102发出的环路检测报文。相应地,当上述两个判断有一个为否时,则确定接收到的报文不是主设备101或备设备102发出的环路检测报文,并将该报文另行处理,具体的另行处理方式在本申请中不做限定。[0063]进一步,可以预设环路处理周期,并启动一个定时器或计数器对该环路处理周期进行计时。其中,环路处理周期的长短可根据实际情况来设定,在本申请实施例中不做限定。对于上述主设备101和备设备102按照预设的报文发送周期定时发送环路检测报文的情况,优选地,环路处理周期大于报文发送周期。这样,在环路处理周期内,主设备101可将接收到的环路检测报文进行保存,当环路处理周期到达时,针对所接收到的环路检测报文对发出该报文的端口进行环路处理。[00]可选地,在环路处理周期内,主设备101有可能接收到同一个端口发送的多个相同
9
CN 109462515 A
说 明 书
6/16页
的环路检测报文。对于这些相同的环路检测报文,如果都进行后续处理,无疑会增加主设备101的存储和运行负担。为了加快环路检测和处理速度,可对接收到的环路检测报文进行去重处理。可选地,可根据环路检测报文中各字段的内容进行去重处理。若两个报文中各字段的内容完全相同,则说明两个报文为相同的报文,需要只保留其中的一个。[0065]进一步,主设备101每当确定接收到的由主设备或备设备发出环路检测报文时,将当前接收到的环路检测报文与已接收到的环路检测报文进行比较;若当前接收到的环路检测报文已存在与已接收到的环路检测报文中,则将该报文丢弃。相应地,若当前接收到的环路检测报文不存在于已接收到的环路检测报文中,则将该环路检测报文保持至已接收到的环路检测报文中,直至满足环路处理条件,确切的说,直至环路处理周期到达。主设备101便针对发出已接收到的环路检测报文的端口进行环路处理。[0066]可选地,还可将在一个环路处理周期内接收到的由主设备101和备设备102发出的环路检测报文都进行保存;当环路处理周期到达时,对该环路处理周期内接收到的所有由主设备101和备设备102发出的环路检测报文进行去重处理。相应地,将该环路处理周期内接收到的所有由主设备101和备设备102发出的环路检测报文进行比较。若该环路处理周期内接收到的所有环路检测报文均不相同,则将所有环路检测报文作为已接收到的环路检测报文。若该环路处理周期内接收到的环路检测报文中存在相同的报文,则将相同的报文任取一个进行保留,并舍弃相同的报文中的其余报文,以获取互不相同的环路检测报文,并作为上述已接收到的环路检测报文。当满足环路处理条件时,对针对发出已接收到的环路检测报文的端口进行环路处理。[0067]相应地,在本实施例中,可以每当环路处理周期到达时,进行一次环路检测和处理。相应地,主设备101在进行去重处理后,可以判断环路处理周期是否到达,当环路处理周期到达时,即满足环路处理条件时,针对发出去重后的环路检测报文的端口进行环路处理。[0068]但是,在实际应用中,主设备101有可能在当前环路处理周期内不再接收到新的不同于已保存的环路检测报文。在这种情况下,为了提高环路处理的效率,也就无需等环路处理周期到达才进行环路处理。基于此,主设备101可判断当前环路处理周期内是否接收到不同于已保存的环路检测报文的新环路检测报文。若不再接收到新的不同于已保存的环路检测报文,则确定满足环路处理条件,之后,针对发出去重后的环路检测报文的端口进行环路处理。可选地,若在当前环路处理周期内还再接收到新的不同于已保存的环路检测报文,可对环路处理周期进行重新计时,以使主设备101可以接收到所有可能导致环路的端口所发出的环路检测报文。或者,也可对当前环路处理周期继续计时直至环路处理周期到达,之后,针对发出去重后的环路检测报文的端口进行环路处理。[0069]进一步,在本实施例中,由于主设备101和备设备102上的成员端口也发送环路检测报文,那么,上述去重后的环路检测报文可能存在由主设备101和备设备102上的成员端口发出的报文。若主设备101针对主设备101或备设备102上成员端口发出环路检测报文进行环路处理,则会断开主设备101或备设备102与双归接入设备103之间的链路,进而导致MLAG组网10失效。基于此,当主设备101确定满足环路处理条件时,若去重后的环路检测报文存在由非成员端口发出的环路检测报文,优先根据由非成员端口发出的环路检测报文,对相应的非成员端口进行环路处理。其中,非成员端口是指主设备101和备设备102上除与双归接入设备103通信连接的成员端口及二者互联的心跳端口之外的其它端口。
10
CN 109462515 A[0070]
说 明 书
7/16页
进一步,当主设备101确定满足环路处理条件时,判断接收到的环路检测报文(去
重后的环路检测报文)中是否存在由非成员端口发出的环路检测报文;若存在由非成员端口发出的环路检测报文,则根据非成员端口发出的环路检测报文,对相应的非成员端口进行环路处理。
[0071]优选地,为了加快判断接收到的环路检测报文(去重后的环路检测报文)中是否存在由非成员端口发出的环路检测报文的判断速率,如图1b所示,可在环路检测报文中设置MLAG组ID字段。可选地,若发送报文的端口为主设备101或备设备102上的非成员端口,则将该字段设置为0;若发送报文的端口为主设备101或备设备102上的成员端口,则将该字段设置为该端口所属的MLAG组的组ID。可选地,该MLAG组ID字段大小可为15位。这样,主设备101在判断接收到的环路检测报文(去重后的环路检测报文)中是否存在由非成员端口发出的环路检测报文时,无需遍历所保存的每一个主设备101或备设备102的端口ID,只需比较接收到的环路检测报文(去重后的环路检测报文)中的MLAG组ID字段的值是否为0,便可确定是否存在由非成员端口发出的环路检测报文,可加快判断速率。若接收到的环路检测报文(去重后的环路检测报文)中的MLAG组ID字段的值为0,则确定接收到的环路检测报文(去重后的环路检测报文)中存在由非成员端口发出的环路检测报文,之后根据非成员端口发出的环路检测报文,对相应的非成员端口进行环路处理。[0072]为了进一步加快判断速率,还可判断环路检测报文(去重后的环路检测报文)中是否存在MLAG组ID字段的值为0的报文,若存在,则说明该报文为非MLAG组成员端口发出,并根据非成员端口发出的环路检测报文,对相应的非成员端口进行环路处理。可选地,当环路检测报文(去重后的环路检测报文)中的MLAG组ID字段的值有的为0,有的不为0时,可将该字段不为0的报文舍弃。[0073]相应地,当主设备101对非成员端口发出的环路检测报文进行环路处理时,可从由非成员端口发出的环路检测报文中选择目标环路检测报文,并针对发出该目标环路检测报文的非成员端口进行环路处理。[0074]进一步,在本申请实施例中,主设备101能接收到的环路检测报文中的端口ID字段所指示的端口均存在于环路中,则只要断开MLAG组网10环路中的任一个端口,即可断开环路。基于此,主设备101在从由非成员端口发出的环路检测报文中选择目标环路检测报文时,可从由非成员端口发出的环路检测报文中任取一个报文作为目标环路检测报文;也可以按照预设的目标报文选择规则,选择目标环路检测报文。例如,可以根据由非成员端口发出的环路检测报文中的源MAC地址字段或者设备信息字段,选择目标环路检测报文;进一步,可以根据由非成员端口发出的环路检测报文中的源MAC地址字段或者设备信息字段,选择源MAC地址字段的值最大或最小的报文作为目标环路检测报文;或者选择设备信息字段中的MAC地址信息的值最大或最小的报文作为目标环路检测报文。又例如,可以根据由非成员端口发出的环路检测报文中的端口ID字段,选择目标环路检测报文;进一步,可以根据由非成员端口发出的环路检测报文中的端口ID字段,选择端口ID字段的值最大或最小的报文作为目标检测报文。
[0075]值得说明的是,若上述接收到的环路检测报文(去重后的环路检测报文)中不存在由非成员端口发出的环路检测报文,即全部为成员端口发出的环路检测报文,则根据成员端口发出的环路检测报文,对相应的成员端口进行环路处理。相应地,根据成员端口发出的
11
CN 109462515 A
说 明 书
8/16页
环路检测报文,对相应的成员端口进行环路处理的方式可按照上述对非成员端口进行环路处理的方式,此处不再赘述。[0076]进一步,在本实施例中,无论是针对非成员端口还是成员端口发出的环路检测报文,对相应的端口进行环路处理,主设备101在针对发出目标环路检测报文的端口进行环路处理时,均可进一步根据目标环路检测报文中的源MAC字段,判断发出该目标环路检测报文的端口是否位于主设备101上。若发出该目标环路检测报文的端口位于主设备101上,则主设备101直接将该端口堵塞,以断开MLAG组网10中的环路。若发出该目标环路检测报文的端口位于备设备102上,则主设备101指示备设备102对发出该目标环路检测报文的端口进行堵塞。
[0077]可选地,如图1b所示,环路检测报文还可包括环路处理标志位。可选地,该环路处理标志位大小为1位,默认值为0。即若发出该环路检测报文的端口不需要进行环路处理,该环路处理标志位为0;若发出该环路检测报文的端口需要进行环路处理,该环路处理标志位置1;基于此,若发出该目标环路检测报文的端口位于备设备102上,主设备101将环路处理标志位置1,并将修改后的目标环路检测报文发送给备设备102,以指示备设备102将发出修改后的目标环路检测报文的端口进行堵塞,进而断开MLAG组网10中的环路。[0078]相应地,对于MLAG组网10中的备设备102,对接收到的环路检测报文首先进行判断是否为自身发送的报文;若判断结果为是,则进一步判断环路检测报文的环路处理标志位的值是否为1,若该环路处理标志位的值为1,则将该环路检测报文的端口ID字段所指示的端口进行堵塞,进而断开MLAG组网10中的环路。[0079]需要说明的是,主设备101或备设备102将目标环路检测报文的端口ID字段所指示的端口进行堵塞的具体实施方式采用现有的端口堵塞方式,此处不再赘述。[0080]值得说明的是,本实施例所提供的MLAG组网10为单级MLAG组网,可以为多级MLAG组网中的一个最小单元。但是,本实施例所提供的MLAG组网10进行环路处理的方式同样适用于如图1c和图1d所示的多级MLAG组网。如图1c所示,设备C和设备D之间部署MLAG,之后通过不同的成员端口分别双归接入不同的双归接入设备E和F。这样,设备C、设备D和双归接入设备E便形成一个MLAG组网单元,设备即设备C、设备D和双归接入设备F也形成一个MLAG组网单元,即如图1a所示的MLAG组网10。其中每个MLAG组网单元可按照上述实施例中图1a所示的MLAG组网进行环路处理方式单独进行环路处理,具体处理过程可参见上述实施例的相关内容,此处不再赘述。[0081]又如图1d所示,设备G和设备H之间形成MLAG,设备I和设备J之间也形成MLAG,之后将两个MLAG进行级联。这样,设备G、H、I、J在形成MLAG的同时,也可作为双归接入设备。例如,设备G也为设备I和设备J的双归接入设备;设备I同样也为设备G和设备H的双归接入设备。设备G和设备H以及设备I和设备J与其分别对应的双归接入设备也就组成一个MLAG组网单元,即如图1a所示的MLAG组网10。其中每个MLAG组网单元可按照上述实施例中图1a所示的MLAG组网进行环路处理方式单独进行环路处理,具体处理过程可参见上述实施例的相关内容,此处不再赘述。
[0082]除上述提供的MLAG组网之外,本申请一些实施例还提供一种环路处理方法。下面将分别从图1a所示的主设备和备设备的角度,对本申请所提供的环路处理方法进行说明。[0083]图2为本申请一实施例提供的一种环路处理方法的流程示意图。该方法适用于
12
CN 109462515 A
说 明 书
9/16页
MLAG组网中的主设备。如图2所示,该方法包括:[0084]201、通过除心跳端口之外的其它端口发送环路检测报文,以对MLAG组网中的环路进行探测。[0085]其中,心跳端口是指MLAG组网中的主设备和备设备上相互连接的端口。[0086]202、若接收到由主设备或MLAG组网中的备设备发出的环路检测报文,则针对发出接收到的环路检测报文的端口进行环路处理。[0087]在本实施例中,MLAG组网中的主设备和备设备通过除心跳端口之外的其它端口发送环路检测报文,以对MLAG组网中的环路进行探测。当主设备接收到由自身或备设备发出的环路检测报文时,针对发出该环路检测报文的端口进行环路处理。由于心跳端口不发送环路检测报文,当针对环路检测报文进行环路处理时也就不会对心跳端口进行处理,因而,在消除MLAG组网环路时可避免对心跳端口进行环路处理而堵塞心跳端口的情况,进而可防止MLAG组网失效。
[0088]在一可选实施例中,可以预设报文发送周期,并启动一个定时器或计数器对该报文发送周期进行计时。其中,报文发送周期的长短可根据实际情况来设定,在本申请实施例中不做限定。基于此,在步骤201中,主设备和备设备可通过除心跳端口之外的其它端口按照预设的报文发送周期定时发送环路检测报文。可选地,在步骤201中,主设备和备设备也可响应于用户或技术人员的环路检测操作,通过除心跳端口之外的其它端口发送环路检测报文。
[00]可选地,如图1b所示,环路检测报文包括但不局限于目的MAC字段、源MAC字段、帧类型字段、设备信息字段以及端口ID字段等。其中,对于各字段的详细描述可参见上述实施例对图1b的详细描述,在此不再赘述。[0090]基于上述环路检测报文,在步骤202之前,每当接收到报文时,可以根据接收到的报文中的源MAC字段或设备信息字段中的MAC地址信息判断该报文是否为主设备或备设备所发出的,并根据该报文中的帧类型字段判断该报文是否为环路检测报文。当判断结果均为是时,即接收到的报文中的帧类型字段的取值为环路检测值,且接收到的报文中的源MAC字段的值为主设备或备设备的MAC地址,则确定接收到的报文为主设备或备设备发出的环路检测报文。相应地,当上述两个判断有一个为否时,则确定接收到的报文不是主设备或备设备发出的环路检测报文,并将该报文另行处理,具体的另行处理方式在本申请中不做限定。
[0091]进一步,可以预设环路处理周期,并启动一个定时器或计数器对该环路处理周期进行计时。其中,环路处理周期的长短可根据实际情况来设定,在本申请实施例中不做限定。对于上述主设备和备设备按照预设的报文发送周期定时发送环路检测报文的情况,优选地,环路处理周期大于报文发送周期。这样,在环路处理周期内,主设备可将接收到的环路检测报文进行保存,当环路处理周期到达时,针对所接收到的环路检测报文对发出该报文的端口进行环路处理。[0092]可选地,在环路处理周期内,主设备有可能接收到同一个端口发送的多个相同的环路检测报文。对于这些相同的环路检测报文,如果都进行后续处理,无疑会增加主设备的存储和运行负担。为了加快环路检测和处理速度,可对接收到的环路检测报文进行去重处理。可选地,可根据环路检测报文中各字段的内容进行去重处理。若两个报文中各字段的内
13
CN 109462515 A
说 明 书
10/16页
容完全相同,则说明两个报文为相同的报文,需要只保留其中的一个。[0093]基于此,主设备每当确定接收到的由主设备或备设备发出环路检测报文时,将当前接收到的环路检测报文与已接收到的环路检测报文进行比较;若当前接收到的环路检测报文已存在与已接收到的环路检测报文中,则将该报文丢弃。相应地,若当前接收到的环路检测报文不存在于已接收到的环路检测报文中,则将该环路检测报文保持至已接收到的环路检测报文中,直至满足环路处理条件,确切的说,直至环路处理周期到达。主设备便针对发出已接收到的环路检测报文的端口进行环路处理。[0094]可选地,还可将在一个环路处理周期内接收到的由主设备和备设备发出的环路检测报文都进行保存;当环路处理周期到达时,对该环路处理周期内接收到的所有由主设备和备设备发出的环路检测报文进行去重处理。相应地,将该环路处理周期内接收到的所有由主设备和备设备发出的环路检测报文进行比较。若该环路处理周期内接收到的所有环路检测报文均不相同,则将所有环路检测报文作为已接收到的环路检测报文。若该环路处理周期内接收到的环路检测报文中存在相同的报文,则将相同的报文任取一个进行保留,并舍弃相同的报文中的其余报文,以获取互不相同的环路检测报文,并作为上述已接收到的环路检测报文。当满足环路处理条件时,对针对发出已接收到的环路检测报文的端口进行环路处理。[0095]相应地,在本实施例中,可以每当环路处理周期到达时,进行一次环路检测和处理。相应地,主设备在进行去重处理后,可以判断环路处理周期是否到达,当环路处理周期到达时,即满足环路处理条件时,针对发出去重后的环路检测报文的端口进行环路处理。[0096]但是,在实际应用中,主设备有可能在当前环路处理周期内不再接收到新的不同于已保存的环路检测报文。在这种情况下,为了提高环路处理的效率,也就无需等环路处理周期到达才进行环路处理。基于此,主设备可判断当前环路处理周期内是否接收到不同于已保存的环路检测报文的新环路检测报文。若不再接收到新的不同于已保存的环路检测报文,则确定满足环路处理条件,之后,针对发出去重后的环路检测报文的端口进行环路处理。可选地,若在当前环路处理周期内还再接收到新的不同于已保存的环路检测报文,可对环路处理周期进行重新计时,也可对当前环路处理周期继续计时直至环路处理周期到达,之后,针对发出去重后的环路检测报文的端口进行环路处理。[0097]进一步,在本实施例中,由于主设备和备设备上的成员端口也发送环路检测报文,那么,上述去重后的环路检测报文可能存在由主设备和备设备上的成员端口发出的报文。若主设备针对主设备或备设备上成员端口发出环路检测报文进行环路处理,则会断开主设备或备设备与双归接入设备之间的链路,进而导致MLAG组网失效。基于此,当主设备确定满足环路处理条件时,若去重后的环路检测报文存在由非成员端口发出的环路检测报文,优先根据由非成员端口发出的环路检测报文,对相应的非成员端口进行环路处理。其中,非成员端口是指主设备和备设备上除与双归接入设备通信连接的成员端口及二者互联的心跳端口之外的其它端口。[0098]基于上述分析,步骤202的一种可选实施方式为:当确定满足环路处理条件时,判断接收到的环路检测报文(去重后的环路检测报文)中是否存在由非成员端口发出的环路检测报文;若存在由非成员端口发出的环路检测报文,则根据非成员端口发出的环路检测报文,对相应的非成员端口进行环路处理。
14
CN 109462515 A[0099]
说 明 书
11/16页
优先地,为了加快判断接收到的环路检测报文(去重后的环路检测报文)中是否存
在由非成员端口发出的环路检测报文的判断速率,如图1b所示,可在环路检测报文中设置MLAG组ID字段。可选地,若发送报文的端口为主设备101或备设备上的非成员端口,则将该字段设置为0;若发送报文的端口为主设备101或备设备102上的成员端口,则将该字段设置为该端口所属的MLAG组的组ID。可选地,该MLAG组ID字段大小可为15位。这样,主设备在判断接收到的环路检测报文(去重后的环路检测报文)中是否存在由非成员端口发出的环路检测报文时,无需遍历所保存的每一个主设备或备设备的端口ID,只需比较接收到的环路检测报文(去重后的环路检测报文)中的MLAG组ID字段的值是否为0,便可确定是否存在由非成员端口发出的环路检测报文,可加快判断速率。若接收到的环路检测报文(去重后的环路检测报文)中的MLAG组ID字段的值为0,则确定接收到的环路检测报文(去重后的环路检测报文)中存在由非成员端口发出的环路检测报文,之后根据非成员端口发出的环路检测报文,对相应的非成员端口进行环路处理。[0100]为了进一步加快判断速率,还可判断环路检测报文(去重后的环路检测报文)中是否存在MLAG组ID字段的值为0的报文,若存在,则说明该报文为非成员端口发出,并根据非成员端口发出的环路检测报文,对相应的非成员端口进行环路处理。可选地,当环路检测报文(去重后的环路检测报文)中的MLAG组ID字段的值有的为0,有的不为0时,可将该字段不为0的报文舍弃。[0101]相应地,对非成员端口发出的环路检测报文进行环路处理的一种可选实施方式为:从由非成员端口发出的环路检测报文中选择目标环路检测报文,并针对发出该目标环路检测报文的非成员端口进行环路处理。[0102]进一步,在本申请实施例中,主设备能接收到的环路检测报文中的端口ID字段所指示的端口均存在于环路中,则只要断开MLAG组网的环路中的任一个端口,即可断开环路。基于此,从由非成员端口发出的环路检测报文中选择目标环路检测报文的一种可选实施方式为:从由非成员端口发出的环路检测报文中任取一个报文作为目标环路检测报文。[0103]可选地,也可以按照预设的目标报文选择规则,选择目标环路检测报文。例如,可以根据由非成员端口发出的环路检测报文中的源MAC地址字段或者设备信息字段,选择目标环路检测报文;进一步,可以根据由非成员端口发出的环路检测报文中的源MAC地址字段或者设备信息字段,选择源MAC地址字段的值最大或最小的报文作为目标环路检测报文;或者选择设备信息字段中的MAC地址信息的值最大或最小的报文作为目标环路检测报文。又例如,可以根据由非成员端口发出的环路检测报文中的端口ID字段,选择目标环路检测报文;进一步,可以根据由非成员端口发出的环路检测报文中的端口ID字段,选择端口ID字段的值最大或最小的报文作为目标检测报文。[0104]值得说明的是,若上述接收到的环路检测报文(去重后的环路检测报文)中不存在由非成员端口发出的环路检测报文,即全部为成员端口发出的环路检测报文,则根据成员端口发出的环路检测报文,对相应的成员端口进行环路处理。相应地,根据成员端口发出的环路检测报文,对相应的成员端口进行环路处理的方式可按照上述对非成员端口进行环路处理的方式,此处不再赘述。[0105]进一步,在本实施例中,无论是针对非成员端口还是成员端口发出的环路检测报文,对相应的端口进行环路处理,针对发出目标环路检测报文的端口进行环路处理的一种
15
CN 109462515 A
说 明 书
12/16页
可选实施方式均可为:根据目标环路检测报文中的源MAC字段,判断发出该目标环路检测报文的端口是否位于主设备上。若发出该目标环路检测报文的端口位于主设备上,则主设备直接将该端口堵塞,以断开MLAG组网中的环路。相应地,若发出该目标环路检测报文的端口位于备设备上,则主设备指示备设备对发出该目标环路检测报文的端口进行堵塞。[0106]可选地,如图1b所示,环路检测报文还可包括环路处理标志位。可选地,该环路处理标志位大小为1位,默认值为0。即若发出该环路检测报文的端口不需要进行环路处理,该环路处理标志位为0;若发出该环路检测报文的端口需要进行环路处理,该环路处理标志位置1;基于此,若发出该目标环路检测报文的端口位于备设备上,主设备指示备设备对发出该目标环路检测报文的端口进行堵塞的一种可选实施方式为:主设备将环路处理标志位置1,并将修改后的目标环路检测报文发送给备设备,以指示备设备将发出修改后的目标环路检测报文的端口进行堵塞,进而断开MLAG组网中的环路。[0107]相应地,图3为本申请实施例提供的另一种环路处理方法的流程示意图。该方法适用于MLAG组网中的备设备。如图3所示,该方法包括:[0108]301、通过除其心跳端口之外的其它端口发送环路检测报文,以对MLAG组网中的环路进行探测。[0109]其中,心跳端口是指MLAG组网中的主设备和备设备上相互连接的端口。[0110]302、在接收到MLAG组网中的主设备在接收到备设备发出的环路检测报文后返回的环路处理指示时,根据环路处理指示对发出主设备接收到的环路检测报文的端口进行环路处理。
[0111]在本实施例中,备设备通过除其心跳端口之外的其它端口发送环路检测报文,以对MLAG组网中的环路进行探测;并在接收到MLAG组网中的主设备返回的环路处理指示时,根据环路处理指示对发出主设备接收到的环路检测报文的端口进行环路处理。由于心跳端口不发送环路检测报文,当针对环路检测报文进行环路处理时也就不会对心跳端口进行处理,因而,在消除MLAG组网环路时可避免对心跳端口进行环路处理而堵塞心跳端口的情况,进而可防止MLAG组网失效。[0112]在一可选实施例中,步骤302的一种可选实施方式为:当MLAG组网中的备设备接收到环路检测报文时,对接收到的环路检测报文首先判断该报文是否为自身发送的报文;若判断结果为是,则进一步判断环路检测报文的环路处理标志位的值是否为1,若该环路处理标志位的值为1,则将该环路检测报文的端口ID字段所指示的端口进行堵塞,进而断开MLAG组网中的环路。
[0113]需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201和202的执行主体可以为设备A;又比如,步骤201的执行主体可以为设备A,步骤202的执行主体可以为设备B;等等。[0114]另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
16
CN 109462515 A[0115]
说 明 书
13/16页
图4a为本申请实施例提供的一种网络设备,可作为MLAG组网中的主设备。如图4a
所示,该网络设备包括存储器401、处理器402和通信端口403。其中,通信端口403包括:MLAG组网中的备设备互联的心跳端口以及除心跳端口之外的非心跳端口。其中,非心跳端口,用于发送环路检测报文,并接收由主设备或备设备发出的环路检测报文。[0116]存储器401,用于存储计算机程序以及所述环路检测报文。[0117]处理器402,与存储器401进行耦合,用于执行计算机程序,以用于:在非心跳端口接收到由主设备或备设备发出的环路检测报文时,针对发出接收到的环路检测报文的端口进行环路处理。
[0118]在一可选实施例中,处理器402在针对发出接收到的环路检测报文的端口进行环路处理之前,用于:每当通信端口403接收到报文时,根据接收到的报文中的帧类型字段和源MAC地址字段,确定是否接收到由主设备或备设备发出的环路检测报文。[0119]进一步,处理器402在确定是否接收到由主设备或备设备发出的环路检测报文时,具体用于:若确定通信端口403接收到的报文中的帧类型字段的取值为环路检测值,且源MAC地址字段的值为主设备或备设备的MAC地址,则确定接收到由主设备或备设备发出的环路检测报文。
[0120]进一步,处理器402每当确定接收到由主设备或备设备发出的环路检测报文时,用于:将当前确定接收到的环路检测报文与已接收到的环路检测报文进行比较;若当前确定接收到的环路检测报文已存在于已接收到的环路检测报文中,则将其丢弃;若当前确定接收到的环路检测报文不存在于已接收到的环路检测报文中,则将其保存至已接收到的环路检测报文中。
[0121]在另一可选实施例中,处理器402在针对发出接收到的环路检测报文的端口进行环路处理时,具体用于:当满足环路处理条件时,判断接收到的环路检测报文中是否存在由非成员端口发出的环路检测报文;若判断结果为存在,则根据非成员端口发出的环路检测报文,对相应的非成员端口进行环路处理。其中,非成员端口是指主设备和备设备上除与双归接入设备通信连接的成员端口及心跳端口之外的其它端口。相应地,若判断结果不存在,则根据由成员端口发出的环路检测报文,对相应的成员端口进行环路处理。[0122]进一步,处理器402在根据由非成员端口发出的环路检测报文,对相应的非成员端口进行环路处理时,具体用于:从由非成员端口发出的环路检测报文中选择目标环路检测报文;针对发出目标环路检测报文的非成员端口进行环路处理。[0123]进一步,处理器402在从由所述非成员端口发出的环路检测报文中选择目标环路检测报文时,具体用于执行以下至少一种选择操作:从由非成员端口发出的环路检测报文中任取一个报文作为目标环路检测报文;或者,根据由所述非成员端口发出的环路检测报文中的源MAC地址字段,选择目标环路检测报文;或者,根据由所述非成员端口发出的环路检测报文中的端口ID字段,选择目标环路检测报文。[0124]相应地,处理器402在确定满足环路处理条件时,具体用于:判断预设的环路处理周期是否达到;若判断结果为是,则确定满足环路处理条件;或者,判断在当前环路处理周期内是否接收到字段内容不同于已接收的环路检测报文的新环路检测报文;若判断结果为否,则确定满足环路处理条件。[0125]可选地,处理器402在针对发出所述接收到的环路检测报文的端口进行环路处理
17
CN 109462515 A
说 明 书
14/16页
时,具体用于:若发出接收到的环路检测报文的端口为主设备上的端口,则直接将发出接收到的环路检测报文的端口堵塞;若发出接收到的环路检测报文的端口为备设备上的端口,则指示备设备对发出接收到的环路检测报文的端口进行堵塞。[0126]进一步,处理器402在指示备设备对发出接收到的环路检测报文的端口进行堵塞时,具体用于:将目标环路检测报文中的环路处理标志位置1,并将修改后的目标环路检测报文发送给备设备,以指示备设备将发出修改后的目标环路检测报文的端口进行堵塞。[0127]进一步,如图4a所示,该网络设备还包括:显示器404、电源组件405、音频组件406等其它组件。图4a中仅示意性给出部分组件,并不意味着网络设备只包括图4a所示组件。[0128]在本实施例中,通过通信端口中的除心跳端口之外的其它端口发送环路检测报文,以对MLAG组网中的环路进行探测。当该网络设备接收到由自身或备设备发出的环路检测报文时,针对发出该环路检测报文的端口进行环路处理。由于心跳端口不发送环路检测报文,当针对环路检测报文进行环路处理时也就不会对心跳端口进行处理,因而,在消除MLAG组网环路时可避免对心跳端口进行环路处理而堵塞心跳端口的情况,进而可防止MLAG组网失效。
[0129]图4b为本申请一实施例提供的另一种网络设备的结构示意图。该网络设备可作为MLAG组网中的备设备。如图4b所示,该设备包括:存储器41、处理器42和通信端口43。其中,通信端口43包括:与MLAG组网中的主设备互联的心跳端口以及除心跳端口之外的非心跳端口。其中,非心跳端口,用于发送环路检测报文,并接收由主设备或备设备发出的环路检测报文。
[0130]存储器41,用于存储计算机程序以及所述环路检测报文。[0131]处理器42,与存储器41进行耦合,用于执行计算机程序,以用于:在接收到MLAG组网中的主设备在接收到非心跳端口发出的所述环路检测报文后返回的环路处理指示时,根据环路处理指示对发出主设备接收到的环路检测报文的端口进行环路处理。[0132]可选地,处理器42在根据环路处理指示对发出主设备接收到的环路检测报文的端口进行环路处理时,具体用于:首先判断通信端口43接收到的环路检测报文是否为自身发送的报文;若判断结果为是,则进一步判断环路检测报文的环路处理标志位的值是否为1,若该环路处理标志位的值为1,则将该环路检测报文的端口ID字段所指示的端口进行堵塞,进而断开MLAG组网中的环路。[0133]进一步,如图4b所示,该网络设备还包括:显示器44、电源组件45、音频组件46等其它组件。图4b中仅示意性给出部分组件,并不意味着网络设备只包括图4b所示组件。[0134]在本实施例中,通过通信端口中的除其心跳端口之外的其它端口发送环路检测报文,以对MLAG组网中的环路进行探测;并在接收到MLAG组网中的主设备返回的环路处理指示时,根据环路处理指示对发出主设备接收到的环路检测报文的端口进行环路处理。由于心跳端口不发送环路检测报文,当针对环路检测报文进行环路处理时也就不会对心跳端口进行处理,因而,在消除MLAG组网环路时可避免对心跳端口进行环路处理而堵塞心跳端口的情况,进而可防止MLAG组网失效。
[0135]上述图4a和图4b中的通信端口被配置为便于通信端口所在设备和其他设备之间有线或无线方式的通信。通信端口所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信端口经由广播信道接收来自外部广播管
18
CN 109462515 A
说 明 书
15/16页
理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信端口还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。[0136]上述图4a和图4b中的显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
[0137]上述图4a和图4b中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
[0138]上述图4a和图4b中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
[0139]上述图4a和图4b中的显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
[0140]上述图4a和图4b中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
[0141]上述图4a和图4b中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。[0142]相应地,本申请实施例还提供一种存储有计算机指令的计算机可读存储介质。其中,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行包括以下的动作:通过存储介质所依附的网络设备上的除心跳端口之外的其它端口发送环路检测报文,以对MLAG组网中的环路进行探测;若接收到由网络设备或所述备设备发出的环路检测报文,则针对发出接收到的环路检测报文的端口进行环路处理。其中,心跳端口是指网络设备与MLAG组网中的备设备互联的端口。[0143]需要说明的是,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行还执行上述实施例中主设备或备设备的操作。[0144]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
19
CN 109462515 A
说 明 书
16/16页
施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0145]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0146]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0147]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0148]在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0149]内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0150]计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。[0151]还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。[0152]以上所述仅为本申请的实施例而已,并不用于本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
20
CN 109462515 A
说 明 书 附 图
1/4页
图1a
图1b
21
CN 109462515 A
说 明 书 附 图
2/4页
图1c
22
CN 109462515 A
说 明 书 附 图
3/4页
图1d
图2
23
CN 109462515 A
说 明 书 附 图
4/4页
图3
图4a
图4b
24
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务