CN111343019B - 一种重连方法、装置和存储介质 - Google Patents

一种重连方法、装置和存储介质 Download PDF

Info

Publication number
CN111343019B
CN111343019B CN202010113612.7A CN202010113612A CN111343019B CN 111343019 B CN111343019 B CN 111343019B CN 202010113612 A CN202010113612 A CN 202010113612A CN 111343019 B CN111343019 B CN 111343019B
Authority
CN
China
Prior art keywords
switch
negotiation
link aggregation
opposite
port
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.)
Active
Application number
CN202010113612.7A
Other languages
English (en)
Other versions
CN111343019A (zh
Inventor
纪梓鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Sundray Technologies Co ltd
Original Assignee
Shenzhen Sundray Technologies Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Sundray Technologies Co ltd filed Critical Shenzhen Sundray Technologies Co ltd
Priority to CN202010113612.7A priority Critical patent/CN111343019B/zh
Publication of CN111343019A publication Critical patent/CN111343019A/zh
Application granted granted Critical
Publication of CN111343019B publication Critical patent/CN111343019B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • H04L41/0661Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种重连方法、装置和存储介质,其中,方法包括:进程重启后,确定至少一个对端交换机;相应于链路聚合类型为静态链路聚合,确定所述交换机满足第一条件时,确定协商成功的端口,基于所述协商成功的端口的协商状态与至少一个对端交换机进行链路聚合协商,得到链路聚合的协商结果;相应于所述链路聚合类型为动态链路聚合,获取状态机相关信息,根据所述状态机相关信息进行配置以恢复状态机,向至少一个对端交换机发送超时时间确认报文,以使链路聚合状态恢复。

Description

一种重连方法、装置和存储介质
技术领域
本发明涉及网络通讯技术,尤其涉及一种重连方法、装置和计算机可读存储介质。
背景技术
随着网络规模不断扩大,骨干链路的带宽和可靠性愈加重要。采用链路聚合控制(LACP,Link Aggregation Control Protocol)技术可以将多个物理接口捆绑为一个逻辑接口,实现增加链路带宽的目的;或者在启用M-LAG技术时,与链路聚合功能搭配进行跨设备链路聚合。在LACP协议中,链路的双方通过链路汇聚控制协议数据单元(LACPDU,LinkAggregation Control Protocol Data Unit)报文交互,向对端通告自己的系统优先级、系统媒体存取控制位址(MAC,Media Access Control Address)和操作键(Key)等交互信息,对端收到LACPDU报文后将相关信息与其他端口所保存的信息进行比较,以选择能够汇聚的端口。
LACP协议进程会根据LACP协议进行汇聚端口的选择,但是该进程在协商成功的情况下,异常重启后,会重新进行汇聚端口的选择,特别是跨设备链路聚合的设备,只要任意一台设备的进程异常重启,就会重新进行汇聚端口的选择,这会导致网络的中断,直到重新协商完毕。
发明内容
有鉴于此,本发明的主要目的在于提供一种重连方法、装置和计算机可读存储介质。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种重连方法,所述方法应用于交换机,所述方法包括:
进程重启后,确定至少一个对端交换机;
相应于链路聚合类型为静态链路聚合,确定所述交换机满足第一条件时,确定协商成功的端口,基于所述协商成功的端口的协商状态与至少一个对端交换机进行链路聚合协商,得到链路聚合的协商结果;
相应于所述链路聚合类型为动态链路聚合,获取状态机相关信息,根据所述状态机相关信息进行配置以恢复状态机,向至少一个对端交换机发送超时时间确认报文,以使链路聚合状态恢复。
上述方案中,所述确定至少一个对端交换机,包括以下之一:
相应于所述交换机采用普通链路聚合的情况,确定所述交换机连接的对端交换机;
相应于所述交换机采用跨设备链路聚合组(M-LAG,Multichassis LinkAggregation Group)的情况,确定所述M-LAG的结构,基于所述M-LAG的结构确定所述交换机连接的至少一个对端交换机。
上述方案中,确定所述交换机满足第一条件,包括以下至少之一:
确定已有协商成功的链路且协商成功的端口处于在线状态;所述协商成功的链路与所述协商成功的端口存在对应关系;
确定进程挂掉的时长不超过预设时长;
确定所述协商成功的端口和所述协商成功的链路的相关配置未改变。
上述方案中,基于所述协商成功的端口的协商状态与至少一个对端交换机进行链路聚合协商,得到链路聚合的协商结果,包括:
保留所述协商成功的端口和所述协商成功的链路,通过所述协商成功的端口和所述协商成功的链路向所述至少一个对端交换机中各对端交换机发送特定报文,以告知各对端交换机保留自身端口的协商状态;
基于所述协商成功的端口的协商状态与各对端交换机进行数据传输,以及进行链路聚合协商以得到链路聚合的协商结果。
上述方案中,所述获取状态机相关信息,包括:
确定共享内存中保存有状态机相关信息且所述共享内存中保存的状态机相关信息的保存时长未超过预设保存时长时,获取所述共享内存中保存的状态机相关信息。
本发明实施例提供了一种零丢包重连装置,所述装置包括:第一处理模块、第二处理模块;其中,
所述第一处理模块,用于进程重启后,确定至少一个对端交换机;
所述第二处理模块,用于相应于链路聚合类型为静态链路聚合,确定所述交换机满足第一条件时,确定协商成功的端口,基于所述协商成功的端口的协商状态与至少一个对端交换机进行链路聚合协商,得到链路聚合的协商结果;
相应于所述链路聚合类型为动态链路聚合,获取状态机相关信息,根据所述状态机相关信息进行配置以恢复状态机,向至少一个对端交换机发送超时时间确认报文,以使链路聚合状态恢复。
上述方案中,所述第一处理模块,用于相应于所述交换机采用普通链路聚合的情况,确定所述交换机连接的对端交换机;
相应于所述交换机采用M-LAG的情况,确定所述M-LAG的结构,基于所述M-LAG的结构确定所述交换机连接的至少一个对端交换机。
上述方案中,所述第二处理模块,用于确定所述交换机满足以下至少之一的条件时,确定满足第一条件:
确定已有协商成功的链路且协商成功的端口处于在线状态;所述协商成功的链路与所述协商成功的端口存在对应关系;
确定进程挂掉的时长不超过预设时长;
确定所述协商成功的端口和所述协商成功的链路的相关配置未改变。
上述方案中,所述第二处理模块,用于保留所述协商成功的端口和所述协商成功的链路,通过所述协商成功的端口和所述协商成功的链路向所述至少一个对端交换机中各对端交换机发送特定报文,以告知各对端交换机保留自身端口的协商状态;
基于所述协商成功的端口的协商状态与各对端交换机进行数据传输,以及进行链路聚合协商以得到链路聚合的协商结果。
上述方案中,所述第二处理模块,用于确定共享内存中保存有状态机相关信息,且所述共享内存中保存的状态机相关信息的保存时长未超过预设保存时长时,获取所述共享内存中保存的状态机相关信息。
本发明实施例提供了一种重连装置,所述装置包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器用于运行所述计算机程序时,执行上述任一项重连方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上任一项所述重连方法的步骤。
本发明实施例所提供的重连方法、装置和计算机可读存储介质,进程重启后,确定至少一个对端交换机;相应于链路聚合类型为静态链路聚合,确定所述交换机满足第一条件时,确定协商成功的端口,基于所述协商成功的端口的协商状态与至少一个对端交换机进行链路聚合协商,得到链路聚合的协商结果;相应于所述链路聚合类型为动态链路聚合,获取状态机相关信息,根据所述状态机相关信息进行配置以恢复状态机,向至少一个对端交换机发送超时时间确认报文,以使链路聚合状态恢复。本发明实施例中,实现在交换机的进程重启后,无缝恢复重启前的连接,即恢复链路聚合状态,保证零丢包。
附图说明
图1为一种链路聚合结构的示意图;
图2为一种M-LAG结构的示意图;
图3为本发明实施例提供的一种重连方法的流程示意图;
图4为本发明实施例提供的一种LACP静态链路聚合断点重连的流程示意图;
图5为本发明实施例提供的一种特定报文的示意图;
图6为本发明实施例提供的一种LACP动态链路聚合保存状态机的流程示意图;
图7为本发明实施例提供的一种LACP动态链路聚合进程重启恢复状态机的流程示意图;
图8为本发明实施例提供的一种重连装置的结构示意图;
图9为本发明实施例提供的另一种重连装置的结构示意图。
具体实施方式
在下合实施例对本发明作进一步详细的说明之前,先对方案相关技术作以下说明。
链路聚合指将一组相同类型的物理以太网接口捆绑在一起形成一个逻辑接口,用以增加带宽。
交换机为一种用于电(光)信号转发的网络设备;所述交换机用于为接入交换机的任意两个网络节点提供独享的电信号通路。所述交换机包括:以太网交换机、光纤交换机等。
LACP协议是一种实现链路动态汇聚的协议,LACP协议通过链路汇聚控制协议数据单元(LACPDU)与对端交互信息,使得两端能够发现两端之间的多条链路,并将它们合并成单条逻辑链路。
基于LACP的链路聚合包括以下三种:
LACP静态链路聚合,是一种利用LACP协议进行聚合参数协商,确定活动端口和非活动接口的高级链路聚合方式。图1(a)为一种LACP静态链路聚合结构,包括两个交换机(SW,Switch)、即SW1和SW2。
LACP动态链路聚合,是一种自动创建或删除的汇聚方式,动态汇聚组内端口的添加和删除是协议自动完成的;只有速率和双工属性相同、连接到同一个设备、有相同基本配置的端口才能被动态汇聚在一起。图1(b)为一种LACP动态链路聚合结构。
跨设备链路聚合组(M-LAG,Multichassis Link Aggregation Group),是一种实现跨设备链路聚合的机制,能够实现多台设备间的链路聚合,从而把链路可靠性提高到设备级,组成双活系统。两台交换机通过对端链路相互协商,决定主从,并通过对端链路实时同步信息,如果一个链路断开,整个网络仍然可以正常工作。如果一个交换机发生故障,所有数据将通过另一个交换机传输。图2(a)、(b)分别为一种M-LAG的结构,包括:主交换机(Master)、备交换机(Slave)。M-LAG的主交换机和备交换机分别从各自的成员端口中选择一个或多个端口组成一个链路聚合组,然后连接到另外开启了链路聚合的交换设备(交换机A、交换机B),从而形成跨设备(主交换机、备交换机)链路聚合组。图2的主交换机、备交换机中任一台挂掉(如断电或维修),另外一台能正常负载工作,不会对网络造成影响,一般用作与虚拟路由冗余协议(VRRP、Virtual Router Redundancy Protocol)技术搭配使用作为网关。
然而,如果图1、2中任意一个交换机的LACP进程异常重启,都会导致所有交换机的LACP进程进行重新协商,导致丢包。
基于此,本发明实施例提供一种重连方法,包括:进程(具体指上述LACP进程,以下简称进程)重启后,确定至少一个对端交换机;相应于链路聚合类型为静态链路聚合,确定所述交换机满足第一条件时,确定协商成功的端口,基于所述协商成功的端口的协商状态与至少一个对端交换机进行链路聚合协商,得到链路聚合的协商结果;相应于所述链路聚合类型为动态链路聚合,获取状态机相关信息,根据所述状态机相关信息进行配置以恢复状态机,向至少一个对端交换机发送超时时间确认报文,以使链路聚合状态恢复;如此,实现任一设备进程重启后无缝恢复链路聚合状态,保证不丢包。
下面结合实施例对本发明再作进一步详细的说明。
图3为本发明实施例提供的一种重连方法的流程示意图;如图3所示,所述方法应用于交换机,所述方法包括:
步骤301、进程重启后,确定至少一个对端交换机;
步骤302、相应于链路聚合类型为静态链路聚合,确定所述交换机满足第一条件时,确定协商成功的端口(或称接口),基于所述协商成功的端口的协商状态与至少一个对端交换机进行链路聚合协商,得到链路聚合的协商结果;
相应于所述链路聚合类型为动态链路聚合,获取状态机相关信息,根据所述状态机相关信息进行配置以恢复状态机,向至少一个对端交换机发送超时时间确认报文(具体是一种标准的LACPDU报文),以使链路聚合状态恢复。
这里,所述链路聚合类型为静态链路聚合,表征所述交换机采用LACP静态链路聚合的方式实现链路聚合;所述链路聚合类型为动态链路聚合,表征所述交换机采用LACP动态链路聚合的方式实现链路聚合。
这里,相应于所述链路聚合类型为静态链路聚合,得到链路聚合的协商结果后,即可基于所述协商结果对应的链路进行数据传输;
相应于所述链路聚合类型为静态链路聚合,所述协商成功的端口指未重启前的协商结果中的端口;所述协商成功的端口的协商状态为所述未重启前的协商结果中的端口的状态。
这里,相应于所述链路聚合类型为动态链路聚合,通过超时时间确认报文、即一种LACPDU报文告知对端交换机本端交换机进程重启后已恢复状态机并确认对端交换机是否正常运行,而对端交换机接收到超时时间确认报文后可以确定链路聚合状态恢复,从而两端可以基于恢复的链路聚合状态进行数据传输。
这里,发送超时时间确认报文可以用于确认对端交换机是否正常运行,具体来说,对端交换机接收到所述超时时间确认报文后,可以发送确认消息,从而,本端交换机(即执行本发明实施例提供的方法的交换机)接收到所述确认消息后,即可确定对端交换机正常运行。
具体地,步骤301中,所述确定至少一个对端交换机,包括以下之一:
相应于所述交换机采用普通链路聚合的情况,确定所述交换机连接的对端交换机;
相应于所述交换机采用M-LAG的情况,确定所述M-LAG的结构,基于所述M-LAG的结构确定所述交换机连接的至少一个对端交换机。
这里,所述对端交换机与本端交换机为相对概念。相对于本端交换机(即执行本发明实施例提供的方法的交换机)来说,所述对端交换机指与所述本端交换机互联的另一交换机。所述本端交换机和所述对端交换机互联以形成用于进行通信的链路。
这里,所述普通链路聚合可以是采用LACP静态链路聚合结构和LACP动态链路聚合结构。具体可以指图1所示的结构。
针对所述交换机采用M-LAG的情况,结合上述图2所示。
图2(a)中,主交换机或备交换机作为本端交换机的情况下,所述主交换机或备交换机的对端交换机仅为交换机A。
图2(b)中,主交换机或备交换机作为本端交换机的情况下,所述主交换机或备交换机的对端交换机包括交换机A和交换机B;其中,主交换机和备交换机对等链接。
这里,所述交换机采用普通链路聚合或采用M-LAG可以通过交换机中保存的相关配置文件确定;相似的,交换机采用LACP静态链路聚合的方式实现链路聚合或采用LACP动态链路聚合的方式实现链路聚合也可以通过交换机中保存的相关配置文件确定。
相应于所述链路聚合类型为静态链路聚合,步骤302中,确定所述交换机满足第一条件,包括以下至少之一:
确定已有协商成功的链路且协商成功的端口处于在线状态(Up);所述协商成功的链路与所述协商成功的端口存在对应关系;
确定进程挂掉的时长不超过预设时长;
确定所述协商成功的端口和所述协商成功的链路的相关配置未改变。
需要说明的是,所述协商成功的链路可以对应有一个或多个协商成功的端口,所述一个或多个协商成功的端口中必然有一个处于在线状态,即可以进行数据传输。
具体来说,所述确定所述交换机满足第一条件,包括:
判断是否已有协商成功的链路且协商成功的端口处于在线状态;
确定已有协商成功的链路且协商成功的端口处于在线状态时,判断进程异常挂掉的时长是否超过预设时长;
确定进程异常挂掉的时长不超过预设时长,判断所述协商成功的链路和协商成功的端口的相关配置是否改变;
确定所述相关配置未改变,则基于所述协商成功的端口的协商状态与至少一个对端交换机进行协商,以得到链路聚合的协商结果。
需要说明的是,若上述任一判断结果不成立,则采用现有的协商方法实现,无法实现零丢包,现有的相关技术不多做赘述。
这里,所述预设时长可以由开发人员预先设定并保存,例如所述预设时长可以为1秒(s)、2s、3s。
步骤302中,基于所述协商成功的端口的协商状态与至少一个对端交换机进行链路聚合协商,得到链路聚合的协商结果,包括:
保留所述协商成功的端口和所述协商成功的链路,通过所述协商成功的端口和所述协商成功的链路向所述至少一个对端交换机中各对端交换机发送特定报文,以告知各对端交换机保留自身端口的协商状态;
基于所述协商成功的端口的协商状态与各对端交换机进行数据传输,以及,进行链路聚合协商以得到链路聚合的协商结果。
这里,通过所述协商成功的端口和所述协商成功的链路进行数据传输的同时,根据所述协商成功的端口的协商状态与各对端交换机进行链路聚合协商,得到链路聚合的协商结果,保证两端交换机在进行链路聚合协商过程中零丢包。
得到协商结果后,基于所述协商结果更新链路状态,如:更新协商成功的端口等。上述链路聚合协商的过程可以通过LACP协议报文进行正常的协商。
需要说明的是,进程启动后,交换机确定进程异常挂掉的时长超过预设时长、所述协商成功的端口的状态为掉线状态(Down)或者未有协商成功的端口,则根据标准的LACP协议重新协商,确保第一次启动的正常运作。
具体地,相应于所述链路聚合类型为动态链路聚合,步骤302中,所述获取状态机相关信息,包括:
确定共享内存中保存有状态机相关信息且所述共享内存中保存的状态机相关信息的保存时长未超过预设保存时长时,获取所述共享内存中保存的状态机相关信息。
这里,所述预设保存时长可以由开发人员设定;例如可以为3s等。
所述共享内存为本端交换机中设有的用于保存状态机相关信息的存储空间。
相应于所述链路聚合类型为动态链路聚合,为了可以从共享内存中获取状态机的信息,所述方法还包括:
确定LACP协商状态发生改变,则根据改变后的LACP协商状态更新所述共享内存中的状态机相关信息;和/或,
基于状态机的定时器,按预设时间间隔更新进程的状态机相关信息。
具体来说,所述进程(具体指LACP进程)通过一组LACP状态机来管理LACP协议的运作,所述状态机包括以下至少之一:
接收机(RX,Receive Machine)状态机、周期传动机(PTX,Periodic TransmissionMachine)状态机、多路复用器(MUX,Mux Machine)状态机、发送机(TX,Transmit Machine)状态机。
上述状态机控制着LACP的各个方面,包括本端交换机的LACP协议报文的发送及发送的周期、解析收到的对端交换机的LACP协议报文、调整链路的状态、处理各种异常情况等。
所述状态机相关信息,包括状态机的状态和状态机信息;
不同的状态机对应的状态,例如,所述RX状态机对应有INITIALIZE、PORT_DISABLED等状态;这里不一一赘述。
所述状态机信息,包括以下至少之一:
当前配置的链路聚合组的协商结果(selected或standby)、聚合组包含的端口成员等信息。
需要说明的是,进程启动后,状态机确定所述共享内存中保存的状态机相关信息的保存时长超过预设保存时长,则根据标准的LACP协议重新协商,确保第一次启动的正常运作。另外,在确定共享内存中并未保存有任何内容的情况下,确定为第一次启动,则根据标准的LACP协议的要求进行相应的协商操作。
本发明实施例提供的方案中,针对启用LACP静态链路聚合的交换机,可以在进程重启后实现无缝恢复掉线前的状态。
图4为本发明实施例提供的一种LACP静态链路聚合断点重连的流程示意图;如图4所示,如图4所示,所述方法包括:
进程启动(可以是初次启动也可以是进程挂掉后重启)后,判断是否已有协商成功的链路且所述协商成功的链路包含的端口(即协商成功的链路对应的协商成功的端口)的状态为在线状态;
确定已有协商成功的链路且所述协商成功的链路包含的端口的状态为在线状态时,判断进程异常挂掉的时长是否超过预设时长;
确定进程异常挂掉的时长不超过预设过长;判断所述协商成功的链路和协商成功的端口的相关配置是否改变;
确定所述相关配置未改变,保留所述协商成功的端口的协商状态,并向对端交换机发送特定LACPDU报文(相当于图3所示方法中的特定报文),以告知对端机需要保留端口的协商状态、同时进行LACP协商;
本端交换机和对端交换机进行LACP协议报文的正常交互,以确定最新的协商结果,并根据所述最新的协商结果更新相应端口。
通过图4所示的方法,进程异常重启后,会根据之前的协商结果,保留已协商成功的端口的协商状态,基于保留的协商状态向对端交换机发送特定的LACPDU报文,以通过对端交换机进行报文交互,确定最新的协商结果。对端交换机收到特定LACPDU报文,即可确定自身也保留相应端口的协商状态;双方基于保留的端口的协商状态重新协商,重新确定新的协商结果后,基于新的协商结果更新相应端口中。
针对基于新的协商结果更新相应端口中举例来说,所述协商成功的链路对应8个端口,其中商成功的端口为端口4;新的协商结果中,协商成功的端口为端口5,即端口改变,因此,需要将新的协商结果更新到相应的端口中,以实现之后的数据传输。
图5为本发明实施例提供的一种特定报文的示意图;如图5所示,所述特定报文也即图4所示方法中的特定LACPDU报文,包括:
保留字段(Reserved)的内容可以由开发人员设定,当某一交换机确定所述Reserved字段对应特定内容时,即可确定对端交换机重启,进而确定自身需要保存与对端交换机有关的端口的协商状态,同时准备与对端交换机进行LACP链路聚合协商。
所述特定报文还可以包括以下字段:目的地址(DestinationAddress)、源地址(SourceAddress)、长度/类型(Length/Type)、次类型(Subtype)、版本号(VersionNumber)、类型-长度-值的格式(TLV_type)、本端信息长度(Actor_Information_Length)、本端接口Actor_Port、(本端状态Actor_State)、本端系统优先级(Actor_System_Priority)、本端系统(Actor_System)、本端操作Key(Actor_key)、本端接口优先级(Actor_Port_Priority)、对端信息长度(Partner_Information_Length)、对端接口(Partner_Port)、对端状态(Partner_State)、对端系统优先级(Partner_System_Priority)、对端系统(Partner_System)、对端操作(KeyPartner_key)、对端接口优先级(Partner_Port_Priority)、收集器信息长度(Collector_Information_Length)、收集器发送延迟(CollectorMaxDelay)、终结符长度(Terminator_Length)、帧校验序列(FCS)。
本发明实施例提供的方法,对于启用LACP动态链路聚合的交换机,可以在进程重启后实现无缝恢复掉线前的状态;具体要求启用LACP动态链路聚合的交换机,在每次链路聚合协商成功后或者链路聚合协商状态变化时,将LACP进程的状态机状态和状态机信息存储到共享内存(对应保存存储时间)。具体可以参照图6所示。
图6为本发明实施例提供的一种LACP动态链路聚合保存状态机的流程示意图;如图6所示,所述方法包括:
进程启动后,判断本端交换机与对端交换机是否协商成功、LACP协商状态是否变化和/或是否到达定时器设定时间;
确定协商成功、LACP协商状态变化和/或到达定时器设定时间,则保存当前LACP进程的状态机相关信息。
这里,具体将LACP进程的状态机相关信息保存在交换机的共享内存中。在实现图6所示的方法的基础上,当交换机的进程重启后,交换机可以判断共享内存内有无存储内容,存储时间与当前时间是否间隔过长,若存储有内容且时间间隔(即时长)小于预设存储时长(如3s),则使用共享内存保存的状态机相关信息应用到状态机上,否则重新协商;另外,恢复状态机后,可以向对端交换机发送一个超时时间确认报文(具体可以是一个标准的LACPDU超时时间确认包),用于通告对端设备本端交换机进程重启并进行恢复,使得链路聚合状态恢复。具体可以参照图7所示。
图7为本发明实施例提供的一种LACP动态链路聚合进程重启恢复状态机的流程示意图;如图7所示,所述方法包括:
确定进程重启后,判断共享内存中是否保存有内容;确定共享内存中保存有内容,则判断共享内存记录的时间与当前时间间隔是否超过预设保存时长(如3s);
确定共享内存记录的时间与当前时间间隔未超过预设保存时长,则使用共享内存保存的状态机相关信息恢复状态机,并发送超时时间确认报文给对端交换机,用以通告对端交换机本端交换机进程重启并进行恢复,使得链路聚合状态恢复;从而可以基于恢复的链路聚合状态进行常规报文的传输。
图8为本发明实施例提供的一种重连装置的结构示意图;如图8所示,所述装置包括:第一处理模块、第二处理模块;其中,
所述第一处理模块,用于进程重启后,确定至少一个对端交换机;
所述第二处理模块,用于相应于所述链路聚合类型为静态链路聚合,确定所述交换机满足第一条件时,确定协商成功的端口,基于所述协商成功的端口的协商状态与至少一个对端交换机进行链路聚合协商,得到链路聚合的协商结果;
相应于所述链路聚合类型为动态链路聚合,获取状态机相关信息,根据所述状态机相关信息进行配置以恢复状态机,向至少一个对端交换机发送超时时间确认报文,以使链路聚合状态恢复。
具体地,所述第一处理模块,用于相应于所述交换机采用普通链路聚合的情况,确定所述交换机连接的对端交换机;
相应于所述交换机采用M-LAG的情况,确定所述M-LAG的结构,基于所述M-LAG的结构确定所述交换机连接的至少一个对端交换机。
具体地,所述第二处理模块,用于确定所述交换机满足以下至少之一的条件时,确定满足第一条件:
确定已有协商成功的链路且协商成功的端口处于在线状态;所述协商成功的链路与所述协商成功的端口存在对应关系;
确定进程挂掉的时长不超过预设时长;
确定所述协商成功的端口和所述协商成功的链路的相关配置未改变。
具体地,所述第二处理模块,用于保留所述协商成功的端口和所述协商成功的链路,通过所述协商成功的端口和所述协商成功的链路向所述至少一个对端交换机中各对端交换机发送特定报文,以告知各对端交换机保留自身端口的协商状态;
基于所述协商成功的端口的协商状态与各对端交换机进行数据传输,以及进行链路聚合协商以得到链路聚合的协商结果。
具体地,所述第二处理模块,用于确定共享内存中保存有状态机相关信息且所述共享内存中保存的状态机相关信息的保存时长未超过预设保存时长时,获取所述共享内存中保存的状态机相关信息。
需要说明的是:上述实施例提供的重连装置在进行重连时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的重连装置与重连方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图9为本发明实施例提供的另一种重连装置的结构示意图。所述装置90包括:处理器901和用于存储能够在所述处理器上运行的计算机程序的存储器902;其中,所述处理器901用于运行所述计算机程序时,执行:进程重启后,确定至少一个对端交换机;
相应于所述链路聚合类型为静态链路聚合,确定所述交换机满足第一条件时,确定协商成功的端口,基于所述协商成功的端口的协商状态与至少一个对端交换机进行链路聚合协商,得到链路聚合的协商结果;
相应于所述链路聚合类型为动态链路聚合,获取状态机相关信息,根据所述状态机相关信息进行配置以恢复状态机,向至少一个对端交换机发送超时时间确认报文,以使链路聚合状态恢复。
在一实施例中,所述处理器901还用于运行所述计算机程序时,执行:确定至少一个对端交换机,包括以下之一:
相应于所述交换机采用普通链路聚合的情况,确定所述交换机连接的对端交换机;
相应于所述交换机采用M-LAG的情况,确定所述M-LAG的结构,基于所述M-LAG的结构确定所述交换机连接的至少一个对端交换机。
在一实施例中,所述处理器901还用于运行所述计算机程序时,执行:确定所述交换机满足第一条件,包括以下至少之一:
确定已有协商成功的链路且协商成功的端口处于在线状态;所述协商成功的链路与所述协商成功的端口存在对应关系;
确定进程挂掉的时长不超过预设时长;
确定所述协商成功的端口和所述协商成功的链路的相关配置未改变。
在一实施例中,所述处理器901还用于运行所述计算机程序时,执行:保留所述协商成功的端口和所述协商成功的链路,通过所述协商成功的端口和所述协商成功的链路向所述至少一个对端交换机中各对端交换机发送特定报文,以告知各对端交换机保留自身端口的协商状态;
基于所述协商成功的端口的协商状态与各对端交换机进行数据传输,以及进行链路聚合协商以得到链路聚合的协商结果。
在一实施例中,所述处理器901还用于运行所述计算机程序时,执行:确定共享内存中保存有状态机相关信息且所述共享内存中保存的状态机相关信息的保存时长未超过预设保存时长时,获取所述共享内存中保存的状态机相关信息
需要说明的是:上述实施例提供的重连装置与重连方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
实际应用时,所述装置90还可以包括:至少一个网络接口903。重连装置90中的各个组件通过总线系统904耦合在一起。可理解,总线系统904用于实现这些组件之间的连接通信。总线系统904除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统904。其中,所述处理器904的个数可以为至少一个。网络接口903用于重连装置90与其他设备之间有线或无线方式的通信。
本发明实施例中的存储器902用于存储各种类型的数据以支持重连装置90的操作。
上述本发明实施例揭示的方法可以应用于处理器901中,或者由处理器901实现。处理器901可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器901中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器901可以是通用处理器、数字信号处理器(DSP,DiGital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器901可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器902,处理器901读取存储器902中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,重连装置90可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行:进程重启后,确定至少一个对端交换机;
相应于所述链路聚合类型为静态链路聚合,确定所述交换机满足第一条件时,确定协商成功的端口,基于所述协商成功的端口的协商状态与至少一个对端交换机进行链路聚合协商,得到链路聚合的协商结果;
相应于所述链路聚合类型为动态链路聚合,获取状态机相关信息,根据所述状态机相关信息进行配置以恢复状态机,向至少一个对端交换机发送超时时间确认报文,以使链路聚合状态恢复。
在一实施例中,所述计算机程序被处理器运行时,执行:确定至少一个对端交换机,包括以下之一:
相应于所述交换机采用普通链路聚合的情况,确定所述交换机连接的对端交换机;
相应于所述交换机采用M-LAG的情况,确定所述M-LAG的结构,基于所述M-LAG的结构确定所述交换机连接的至少一个对端交换机。
在一实施例中,所述计算机程序被处理器运行时,执行:确定所述交换机满足第一条件,包括以下至少之一:
确定已有协商成功的链路且协商成功的端口处于在线状态;所述协商成功的链路与所述协商成功的端口存在对应关系;
确定进程挂掉的时长不超过预设时长;
确定所述协商成功的端口和所述协商成功的链路的相关配置未改变。
在一实施例中,所述计算机程序被处理器运行时,执行:保留所述协商成功的端口和所述协商成功的链路,通过所述协商成功的端口和所述协商成功的链路向所述至少一个对端交换机中各对端交换机发送特定报文,以告知各对端交换机保留自身端口的协商状态;
基于所述协商成功的端口的协商状态与各对端交换机进行数据传输,以及,进行链路聚合协商以得到链路聚合的协商结果。
在一实施例中,所述计算机程序被处理器运行时,执行:确定共享内存中保存有状态机相关信息且所述共享内存中保存的状态机相关信息的保存时长未超过预设保存时长时,获取所述共享内存中保存的状态机相关信息。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种重连方法,其特征在于,所述方法应用于交换机,所述方法包括:
进程重启后,确定至少一个对端交换机;
相应于链路聚合类型为静态链路聚合,确定所述交换机满足第一条件时,确定协商成功的端口,保留所述协商成功的端口和所述协商成功的链路,通过所述协商成功的端口和所述协商成功的链路向所述至少一个对端交换机中各对端交换机发送特定报文,以告知各对端交换机保留自身端口的协商状态;基于所述协商成功的端口的协商状态与各对端交换机进行数据传输,以及进行链路聚合协商以得到链路聚合的协商结果;其中,所述确定所述交换机满足第一条件,包括:确定所述协商成功的端口和所述协商成功的链路的相关配置未改变;
相应于所述链路聚合类型为动态链路聚合,确定共享内存中保存有状态机相关信息且所述共享内存中保存的状态机相关信息的保存时长未超过预设保存时长时,获取所述共享内存中保存的状态机相关信息,根据所述状态机相关信息进行配置以恢复状态机,向至少一个对端交换机发送超时时间确认报文,以使链路聚合状态恢复;
其中,所述共享内存中保存的状态机相关信息是进程启动后,当确定本端交换机与对端交换机协商成功、LACP协商状态变化和/或到达定时器设定时间时,保存至交换机的共享内存中的当前LACP进程的状态机相关信息。
2.根据权利要求1所述的方法,其特征在于,所述确定至少一个对端交换机,包括以下之一:
相应于所述交换机采用普通链路聚合的情况,确定所述交换机连接的对端交换机;
相应于所述交换机采用跨设备链路聚合组M-LAG的情况,确定所述M-LAG的结构,基于所述M-LAG的结构确定所述交换机连接的至少一个对端交换机。
3.根据权利要求1所述的方法,其特征在于,确定所述交换机满足第一条件,还包括以下至少之一:
确定已有协商成功的链路且协商成功的端口处于在线状态;所述协商成功的链路与所述协商成功的端口存在对应关系;
确定进程挂掉的时长不超过预设时长。
4.一种零丢包重连装置,其特征在于,所述装置包括:第一处理模块、第二处理模块;其中,
所述第一处理模块,用于进程重启后,确定至少一个对端交换机;
所述第二处理模块,用于相应于链路聚合类型为静态链路聚合,确定所述交换机满足第一条件时,确定协商成功的端口,保留所述协商成功的端口和所述协商成功的链路,通过所述协商成功的端口和所述协商成功的链路向所述至少一个对端交换机中各对端交换机发送特定报文,以告知各对端交换机保留自身端口的协商状态;基于所述协商成功的端口的协商状态与各对端交换机进行数据传输,以及进行链路聚合协商以得到链路聚合的协商结果;其中,所述确定所述交换机满足第一条件,包括:确定所述协商成功的端口和所述协商成功的链路的相关配置未改变;
相应于所述链路聚合类型为动态链路聚合,确定共享内存中保存有状态机相关信息且所述共享内存中保存的状态机相关信息的保存时长未超过预设保存时长时,获取所述共享内存中保存的状态机相关信息,根据所述状态机相关信息进行配置以恢复状态机,向至少一个对端交换机发送超时时间确认报文,以使链路聚合状态恢复;其中,所述共享内存中保存的状态机相关信息是进程启动后,当确定本端交换机与对端交换机协商成功、LACP协商状态变化和/或到达定时器设定时间时,保存至交换机的共享内存中的当前LACP进程的状态机相关信息。
5.根据权利要求4所述的装置,其特征在于,所述第一处理模块,用于相应于所述交换机采用普通链路聚合的情况,确定所述交换机连接的对端交换机;
相应于所述交换机采用M-LAG的情况,确定所述M-LAG的结构,基于所述M-LAG的结构确定所述交换机连接的至少一个对端交换机。
6.根据权利要求4所述的装置,其特征在于,所述第二处理模块,用于确定所述交换机满足以下至少之一的条件时,确定满足第一条件:
确定已有协商成功的链路且协商成功的端口处于在线状态;所述协商成功的链路与所述协商成功的端口存在对应关系;
确定进程挂掉的时长不超过预设时长。
7.一种重连装置,其特征在于,所述装置包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器用于运行所述计算机程序时,执行权利要求1至3任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3任一项所述方法的步骤。
CN202010113612.7A 2020-02-24 2020-02-24 一种重连方法、装置和存储介质 Active CN111343019B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010113612.7A CN111343019B (zh) 2020-02-24 2020-02-24 一种重连方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010113612.7A CN111343019B (zh) 2020-02-24 2020-02-24 一种重连方法、装置和存储介质

Publications (2)

Publication Number Publication Date
CN111343019A CN111343019A (zh) 2020-06-26
CN111343019B true CN111343019B (zh) 2023-05-16

Family

ID=71187153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010113612.7A Active CN111343019B (zh) 2020-02-24 2020-02-24 一种重连方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN111343019B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112600770A (zh) * 2020-11-25 2021-04-02 北京东土军悦科技有限公司 一种端口的协同聚合方法、装置、设备及存储介质
CN113055286B (zh) * 2021-04-27 2021-08-03 融智通科技(北京)股份有限公司 交换机端口静态汇聚检测及保护方法、交换机及存储介质
CN117459482B (zh) * 2023-12-26 2024-03-22 苏州元脑智能科技有限公司 交换机的重启方法和装置、存储介质及电子装置
CN117812026B (zh) * 2024-02-28 2024-04-30 苏州元脑智能科技有限公司 聚合链路配置方法、装置、系统、交换机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103188172A (zh) * 2011-12-28 2013-07-03 中兴通讯股份有限公司 链路聚合的异常恢复方法和交换设备
CN103560898A (zh) * 2013-07-30 2014-02-05 北京华为数字技术有限公司 一种端口状态设置方法、端口优先级的选择方法及装置
CN108183871A (zh) * 2017-11-23 2018-06-19 北京三快在线科技有限公司 一种虚拟交换机、虚拟交换机启动方法,电子设备
CN110278094A (zh) * 2018-03-13 2019-09-24 中兴通讯股份有限公司 链路恢复方法及装置、系统、存储介质、电子装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5536681B2 (ja) * 2011-01-14 2014-07-02 アラクサラネットワークス株式会社 ネットワーク装置およびその制御方法、並びにコンピュータプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103188172A (zh) * 2011-12-28 2013-07-03 中兴通讯股份有限公司 链路聚合的异常恢复方法和交换设备
CN103560898A (zh) * 2013-07-30 2014-02-05 北京华为数字技术有限公司 一种端口状态设置方法、端口优先级的选择方法及装置
CN108183871A (zh) * 2017-11-23 2018-06-19 北京三快在线科技有限公司 一种虚拟交换机、虚拟交换机启动方法,电子设备
CN110278094A (zh) * 2018-03-13 2019-09-24 中兴通讯股份有限公司 链路恢复方法及装置、系统、存储介质、电子装置

Also Published As

Publication number Publication date
CN111343019A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN111343019B (zh) 一种重连方法、装置和存储介质
US20130238738A1 (en) Distributed method and system for implementing link aggregation control protocol (lacp) standard state machines
JP2016517252A (ja) Drniにおける同一端内システムの間で情報を交換する方法及びシステム
CN110324375B (zh) 一种信息备份方法及相关设备
CN101989953A (zh) 双向转发检测报文的发送方法及设备
WO2022052953A1 (zh) 一种故障链路的切换方法、系统及相关设备
JP2023130372A (ja) 通信装置、方法、プログラム、及び記録媒体
CN110278094B (zh) 链路恢复方法及装置、系统、存储介质、电子装置
CN105763442A (zh) 主备倒换lacp聚合链路不中断的pon系统及方法
CN114124667A (zh) 一种双网口冗余备份方法及系统
CN112995002A (zh) 一种交换机环网的设计方法、交换机及存储介质
CN115333991B (zh) 跨设备链路聚合方法、装置、系统及计算机可读存储介质
JP6118464B2 (ja) ポートステータス同期化方法、関連のデバイス、及びシステム
CN113949623B (zh) Mlag双主异常修复方法、装置、电子设备及存储介质
CN112398731B (zh) 一种处理报文的方法和第一网络设备
CN111181766B (zh) 一种冗余fc网络系统及其实现交换机动态配置的方法
CN117135029A (zh) 通信故障处理方法、系统及设备
CN111934912B (zh) 双主机隔离网关的热备冗余系统及控制方法
JP3990196B2 (ja) スパニングツリー構成再構築に伴う通信断回避方法
CN113852514A (zh) 服务不中断的数据处理系统、处理设备切换方法、连接设备
CN112311613A (zh) 一种链路检测的方法和装置
CN111224803A (zh) 一种堆叠系统中多主检测方法及堆叠系统
CN115102897B (zh) 一种基于链路聚合的堆叠分裂保护方法
CN115801642B (zh) 基于状态控制的rdma通讯管理模块、方法、设备及介质
CN117041026A (zh) 信令面主备控制系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant