CN111585883B - 一种链路聚合端口切换方法、网络设备和计算机存储介质 - Google Patents
一种链路聚合端口切换方法、网络设备和计算机存储介质 Download PDFInfo
- Publication number
- CN111585883B CN111585883B CN201910122286.3A CN201910122286A CN111585883B CN 111585883 B CN111585883 B CN 111585883B CN 201910122286 A CN201910122286 A CN 201910122286A CN 111585883 B CN111585883 B CN 111585883B
- Authority
- CN
- China
- Prior art keywords
- port
- state
- link
- forwarding
- aggregation
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/12—Arrangements for remote connection or disconnection of substations or of equipment thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
- H04L12/40182—Flexible bus arrangements involving redundancy by using a plurality of communication lines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
本发明实施例提供了一种链路聚合端口切换方法、网络设备和计算机存储介质,所述方法包括:链路聚合的第一端口由down状态变为up状态时,在入口方向将所述第一端口加入到聚合链路,且将所述第一端口的入口转发状态设置为允许转发状态;确定所述第一端口的对端将入口转发状态设置为允许转发状态时,在出口方向将所述第一端口加入到聚合链路。
Description
技术领域
本发明实施例涉及但不限于以太网交换设备领域,尤其涉及一种链路聚合端口切换方法、网络设备和计算机存储介质,可以实现链路聚合端口在链路汇聚控制协议(LinkAggregation Control Protocol,LACP)链路快速切换和无损回切。
背景技术
随着计算机及网络技术的高速发展和各种网络应用的不断涌现,基础数据通信网络的稳定性越来越重要。为了增加带宽,实现链路传输弹性和冗余等功能,交换机之间的连线一般是聚合端口,以实现出、入流量在各个成员端口中的负载分担,聚合组成员的状态有up状态和down状态,端口由up状态切换到down状态(可以称为LACP切换状态)时,需要快速将本端口从聚合组中删除,采用聚合组里面其它up状态的成员端口参与后续的流量负载分担;端口由down状态切换到up状态(可以称为LACP回切状态)时,需要快速将本端口加入聚合组中,使该聚合端口可以很快参与后续的流量负载分担。
然而,在相关技术中,当端口由down状态切换到up状态时,由于链路两端设备的端口加入聚合组的时间存在时间差,可能导致数据传输时出现丢包,例如,一端成员加入聚合组后流量就会立即负载分担到该端口,流量到达另一端,另一端由于未加入聚合组还处于阻塞状态(block状态),所以流量无法通过以至于出现大量的丢包。
发明内容
本发明实施例提供了一种链路聚合端口切换方法、网络设备和计算机存储介质,可以避免端口由down状态切换到up状态时出现丢包。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种链路聚合端口切换方法,所述方法包括:
链路聚合的第一端口由down状态变为up状态时,在入口方向将所述第一端口加入到聚合链路,且将所述第一端口的入口转发状态设置为允许转发状态;
确定所述第一端口的对端将入口转发状态设置为允许转发状态时,在出口方向将所述第一端口加入到聚合链路。
本发明实施例还提供了一种网络设备,所述网络设备设置有链路聚合的第一端口、处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,执行上述任意一种链路聚合端口切换方法的步骤。
本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种链路聚合端口切换方法的步骤。
本发明实施例提供一种路聚合端口切换方法、网络设备和计算机存储介质中,链路聚合的第一端口由down状态变为up状态时,在入口方向将所述第一端口加入到聚合链路,且将所述第一端口的入口转发状态设置为允许转发状态;确定所述第一端口的对端将入口转发状态设置为允许转发状态时,在出口方向将所述第一端口加入到聚合链路。如此,当报文当第一端口的对端将入口转发状态设置为forward状态时,在出口方向将第一端口加入到聚合链路,可以确保经第一端口发出的流量到达第一端口的对端时,第一端口的对端可以立即进行转发,能够避免出现丢包;也就是说,能够保证网络设备之间的数据报文在聚合组成员链路恢复时,流量能重新迅速的分担到所有的聚合组成员端口上,同时可以做到回切不丢包。
附图说明
图1为本发明实施例中聚合链路未出现故障时的负载分担示意图;
图2为本发明实施例中聚合链路出现故障时的负载分担示意图
图3为本发明实施例的链路聚合端口切换方法的流程图;
图4为本发明实施例的链路聚合端口切换装置的组成结构示意图;
图5为本发明实施例的网络设备的结构示意图。
具体实施方式
以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例可以应用于网络设备之间的数据交互场景,这里,网络设备可以是交换机或其他类型的以太网交换设备。
图1为本发明实施例中聚合链路未出现故障时的负载分担示意图,如图1所示,第一网络设备和第二网络设备之间可以通过聚合链路进行数据交互,第一网络设备和第二网络设备均可以接入外部网络,参照图1,第一网络设备的聚合组成员包括端口1、2和3;第二网络设备的聚合组成员包括端口1、2和3;在聚合链路未出现故障时,第一网络设备的聚合组的每个端口与第二网络设备的聚合组成员的对应端口可以实现通信连接,这样,在聚合组成员中,端口1、2和3均可以参与流量负载分担。
图2为本发明实施例中聚合链路出现故障时的负载分担示意图,如图2所示,第三网络设备和第四网络设备之间可以通过聚合链路进行数据交互,第三网络设备和第四网络设备均可以接入外部网络,参照图2,第三网络设备的聚合组成员包括端口1、2和3;第四网络设备的聚合组成员包括端口1、2和3;在端口3之间的链路出现故障时,第三网络设备的聚合组的端口1和2可以与第四网络设备的聚合组成员的端口1和2实现通信连接,这样,在聚合组成员中,只有端口1和2可以参与流量负载分担,端口3不可以参与流量负载分担。
相关技术中,网络设备在实现链路聚合功能存在以下两个比较严重的问题:
1)从聚合端口变为down状态到两端设备业务都切换,需要花费不少时间将处于down状态的端口从聚合组里面删除,在删除前报文还在向处于down状态的端口转发,从而导致丢包;其主要原因是,网络设备可以通过监控任务(例如监控任务为linkscan任务)监控端口状态,为了避免中央处理器(Central Processing Unit,CPU)繁忙,监控任务的执行周期在200ms以上,同时当感知到端口变为down状态后,还需要上送网络设备的CPU处理,而CPU此时可能正在处理其它高优先级任务,因而,不能立刻执行在聚合组中删除down状态的端口的操作。
2)无法保证链路故障恢复过程中不出现大量的丢包,聚合端口在回切的过程中会导致丢包的原因是:两个网络设备基于动态LACP进行数据交互,当端口变为up状态后,每条链路可以进行lacp协议交互,互不影响,待两端(两个网络设备)协商成功后,平台可以将激活的聚合组成员信息下发到驱动模块。这里,平台无法保证向两个网络设备同时下发聚合组成员信息,其次,两个网络设备从平台到驱动模块下发聚合成员信息的流程也会有时延误差,就导致了两个网络设备的底层聚合组成员表项不是同时更新,会导致一端成员先加入聚合组另外一端成员后加入据聚合组,即两端成员加入聚合组的时间不能保持一致,两端成员加入聚合组时间差值越大,丢包的时间就越多,因为一端成员加入聚合组后流量就会立即负载分担到该端口,流量到达另一端,另一端由于未加入聚合组还处于去激活状态,即端口处于block状态(阻塞状态),所以流量无法通过以至于出现大量的丢包,丢包时间和两端加入聚合组不一致的时间相同,时间会超过1s;然而,当端口从down状态变为up状态时,理论上,可以不立即执行端口加入到聚合组成员中,这样可以使两个网络设备传输数据时避免出现丢包的问题。
基于上述记载的内容,提出以下各实施例。
第一实施例
本发明第一实施例提出了一种链路聚合端口切换方法,可以应用于网络设备中。
图3为本发明实施例的链路聚合端口切换方法的流程图,如图3所示,该流程可以包括:
步骤301:链路聚合的第一端口由down状态变为up状态时,在入口方向将所述第一端口加入到聚合链路,且将所述第一端口的入口转发状态设置为允许转发状态(forward状态)。
这里,网络设备上设置的端口可以基于LACP协议成为链路聚合的端口,链路聚合的第一端口为聚合组成员的任意一端口;上述第一端口的对端为对端网络设备的对应端口,例如,对于图1所示的架构,第一端口为第一网络设备的端口k时,第一端口的对端为第二网络设备的端口k,第一端口为第二网络设备的端口k时,第一端口的对端为第一网络设备的端口k,k取1、2或3;对于图2所示的架构,第一端口为第三网络设备的端口k时,第一端口的对端为第四网络设备的端口k,第一端口为第四网络设备的端口k时,第一端口的对端为第三网络设备的端口k。
实际应用中,可以建立对所述链路聚合的端口状态的监控任务,根据上述监控任务可以对链路聚合的第一端口的状态进行监控。
本发明实施例中,聚合链路为LACP协议的聚合链路,在入口方向将上述第一端口加入到聚合链路后,进入第一端口的报文(第一端口接收的报文)就不会在相同的聚合组里转发,从而可以消除聚合链路之间的环路。
实际应用中,在出口方向,可以按照LACP协议设置第一端口的状态,即,在出口方向按照LACP协议来确定第一端口的状态为forward状态还是block状态。
步骤302:确定所述第一端口的对端将入口转发状态设置为允许转发状态时,在出口方向将所述第一端口加入到聚合链路。
可以理解的是,当第一端口的对端将入口转发状态设置为forward状态时,在出口方向将第一端口加入到聚合链路,可以确保经第一端口发出的流量到达第一端口的对端时,第一端口的对端可以立即进行转发,能够避免出现丢包;也就是说,能够保证网络设备之间的数据报文在聚合组成员链路恢复时,流量能重新迅速的分担到所有的聚合组成员端口上,同时可以做到回切不丢包。
本发明实施例中,对于如何确定第一端口的对端将入口转发状态设置为允许转发状态,可以通过以下几种情况进行说明。
情况1:在利用LACP协议设置端口状态的时候没有做到收发分离,即,在入口方向和出口方向并非相互独立地设置链路聚合的每个端口的状态。
对于情况1,可以在步骤301后,立即通过第一端口将私有协议报文发送至所述第一端口的对端,然后,在等待第一预设时长后,确定所述第一端口的对端将入口转发状态设置为forward状态。
对于第一预设时长的设置方式,在一个示例中,第一预设时长大于或等于预先估计的报文传输时长与预先估计的第一状态改变时长之和,报文传输时长表示私有协议报文从第一端口到第一端口的对端的传输时长,第一状态改变时长表示第一端口的对端在接收到私有协议报文后将入口转发状态设置为允许转发状态的时长;例如,第一预设时长可以设置为100ms。
实际应用中,对端网络设备的CPU在收到私有协议报文后,可以将第一端口的对端的入口状态设置为forward状态;这里,第一端口的对端的出口状态可以根据LACP协议进行设置。
可以看出,在本发明实施例中,在通过第一端口发送私有协议报文后,延时第一预设时长,再执行基于LACP协议的回切操作,在出口方向,将第一端口加入到聚合链路中参与转发;可以理解的是,通过延时第一预设时长的处理,对端网络设备已经将入口转发状态设置为forward状态,从而,可以在第一端口由down状态切换到up状态时链路数据传输不出现丢包,也就是说,可以做到回切不丢包。
这里,情况1可以适用于所有的LACP对接,即,情况1不仅可以适用于网络设备之间基于LACP协议直接端口对接,还可以适用于网络设备之间通过透传其他设备实现基于LACP协议的对接。
情况2:在利用LACP协议设置端口状态的时候做到收发分离,即,在入口方向和出口方向相互独立地设置链路聚合的每个端口的状态。
对于情况2,由于在利用LACP协议设置端口状态的时候做到收发分离,则将链路聚合的每个端口(LACP成员的每个端口)的入口转发状态始终为forward状态。
可以看出,对于情况2,可以在步骤301后,立即设置聚合链路里面的成员端口,在出口方向将第一端口加入到聚合链路参与转发;如此,当报文从第一端口转发到对端后,由于对端入口一直处于forward状态,因而,可以在第一端口由down状态切换到up状态时链路数据传输不出现丢包,也就是说,可以做到回切不丢包。
这里,情况1可以适用于网络设备之间基于LACP协议直接端口对接(不透传其他2层设备),也可以适用于网络设备之间通过透传其他设备实现基于LACP协议的对接场景,因为,即使网络设备之间通过透传其他设备,也不会形成环路。
情况3:在利用LACP协议设置端口状态的时候没有做到收发分离,即,在入口方向和出口方向并非相互独立地设置链路聚合的每个端口的状态。
对于情况3,可以在步骤301后,等待第二预设时长,便可以确定第一端口的对端将入口转发状态设置为forward状态。
对于第二预设时长的设置方式,在一个示例中,第二预设时长大于或等于预先估计的第二状态改变时长,第二状态改变时长为第一时刻与第二时刻的时间间隔,第一时刻为第一端口由down状态变为up状态的时刻,第二时刻为第一端口的对端将入口转发状态设置为forward状态的时刻;例如,第二预设时长可以设置为5s。
可以看出,在本发明实施例中,通过延时第二预设时长,再执行基于LACP协议的回切操作,在出口方向,将第一端口加入到聚合链路中参与转发;可以理解的是,通过延时第二预设时长的处理,对端网络设备已经将入口转发状态设置为forward状态,从而,可以在第一端口由down状态切换到up状态时链路数据传输不出现丢包,也就是说,可以做到回切不丢包。
这里,情况3可以适用于所有的LACP对接,即,情况3不仅可以适用于网络设备之间基于LACP协议直接端口对接,还可以适用于网络设备之间通过透传其他设备实现基于LACP协议的对接。
进一步地,本发明实施例中,还可以通过以下几种方式实现LACP切换聚合组中成员的删除。
1)提高对所述链路聚合的端口状态的监控频率;在监控到所述链路聚合的第一端口由up状态变为down状态时,在聚合链路中删除所述第一端口。
相关技术中,对所述链路聚合的端口状态的监控周期为200ms,而在本发明实施例中,可以提高对所述链路聚合的端口状态的监控频率,使对所述链路聚合的端口状态的监控周期缩短至10ms,可以理解的是,通过提高对所述链路聚合的端口状态的监控频率,可以在第一端口由up状态切换为down状态时在聚合链路中迅速删除所述第一端口。
2)提高对所述链路聚合的端口状态的监控任务的优先级;在监控到所述链路聚合的第一端口由up状态变为down状态时,在聚合链路中删除所述第一端口。
可以理解的是,通过提高对所述链路聚合的端口状态的监控任务的优先级,可以在第一端口由up状态切换为down状态时在聚合链路中迅速删除所述第一端口。
3)提高对所述链路聚合的端口状态的监控频率,并提高对所述链路聚合的端口状态的监控任务的优先级;在监控到所述链路聚合的第一端口由up状态变为down状态时,在聚合链路中删除所述第一端口。
相关技术中,对所述链路聚合的端口状态的监控周期为200ms,对所述链路聚合的端口状态的监控任务的优先级较低;而在本发明实施例中,可以提高对所述链路聚合的端口状态的监控频率,提高对所述链路聚合的端口状态的监控任务的优先级,如此,可以在第一端口由up状态切换为down状态时在聚合链路中迅速删除所述第一端口。
实际应用中,网络设备的CPU可以通过独立的高优先级任务高频监控(比如10ms一次)聚合链路的端口状态;如果第一端口从up状态变成down状态,监控任务立刻通知芯片执行链路聚合端口从本地删除,从而做到快速切换;同时监控任务可以通知LACP协议进行链路聚合成员端口本地的删除,从而做到快速切换后保证底层芯片的端口状态和LACP协议中端口状态一致;监控任务通知芯片执行链路聚合端口从本地删除的处理过程独立于LACP协议进行链路聚合成员端口本地的删除的软件处理过程。
实际应用中,步骤301至步骤302可以由网络设备的处理器实现,上述处理器可以为特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal ProcessingDevice,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、CPU、控制器、微控制器、微处理器中的至少一种。用于实现上述处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。
第二实施例
为了能够更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。
本发明第二实施例的应用场景为:网络设备A和网络设备B设置的端口为基于LACP协议形成链路聚合的端口,网络设备A和网络设备B上,链路聚合的端口包括端口1、端口2和端口3,端口1、端口2和端口3形成聚合链路负载转发,端口1从up状态变为down状态。
网络设备A和网络设备B的CPU通过独立的高优先级任务高频监控(比如10ms一次)聚合链路的端口状态;在发现端口1从up状态变为down状态时,立刻通知芯片在聚合组成员中删除端口1,从而做到快速切换。切换时间10ms左右;并且,网络设备A和网络设备B的CPU通知LACP协议进行聚合组成员端口本地的删除,从而使底层芯片中端口状态和LACP协议中端口状态保持一致。
第三实施例
为了能够更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。
本发明第三实施例的应用场景为:网络设备A和网络设备B设置的端口为基于LACP协议形成链路聚合的端口,网络设备A和网络设备B上,链路聚合的端口包括端口1、端口2和端口3,端口1、端口2和端口3形成聚合链路负载转发,端口1和端口2一直处于up状态,端口3从down状态变为up状态。网络设备A和网络设备B之间不一定基于LACP协议直接对接,网络设备A和网络设备B之间可以有基于LACP协议透传的2层网络设备。
网络设备A或网络设备B的CPU通过独立的高优先级任务高频监控(比如10ms一次)聚合链路的端口状态,在发现端口3从down状态变为up状态时,如果在利用LACP协议设置端口状态的时候没有做到收发分离,那么立刻将本端端口3的入口转发状态设置为forward状态,同时,在入口方向将端口3加入到聚合链路,在出口方向,可以按照LACP协议设置端口3的状态,并通过端口3将私有协议报文发送至端口3的对端。
在通过端口3将私有协议报文发送至端口3的对端后,延时100ms,确定对端将对应端口的状态设置为forward状态(在延时100ms时间段中,对端收到了私有协议报文,并通过报文内容将对应端口3的状态设置为forward状态),此时,再执行基于LACP协议的回切操作,在出口方向,将端口3加入到聚合链路中参与转发;可以理解的是,通过延时100ms的处理,对端网络设备已经将入口转发状态设置为forward状态,从而,可以做到回切不丢包。
第四实施例
为了能够更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。
本发明第四实施例的应用场景为:网络设备A和网络设备B设置的端口为基于LACP协议形成链路聚合的端口,网络设备A和网络设备B上,链路聚合的端口包括端口1、端口2和端口3,端口1、端口2和端口3形成聚合链路负载转发,端口1和端口2一直处于up状态,端口3从down状态变为up状态。网络设备A和网络设备B之间基于LACP协议直接对接,网络设备A和网络设备B之间没有基于LACP协议透传的2层网络设备。
网络设备A或网络设备B的CPU通过独立的高优先级任务高频监控(比如10ms一次)聚合链路的端口状态,在发现端口3从down状态变为up状态时,如果在利用LACP协议设置端口状态的时候做到收发分离,那么LACP聚合组成员端口里面所有端口的入口转发状态一直为farward状态,此时,可以在入口方向将端口3加入到到聚合链路,在出口方向,可以按照LACP协议设置端口3的状态;立即设置聚合链路里面的成员端口,在出口方向将端口3加入到聚合链路参与转发;如此,当报文从第一端口转发到对端后,由于对端入口一直处于forward状态,因而,可以做到回切不丢包。
第五实施例
为了能够更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。
本发明第五实施例的应用场景为:网络设备A和网络设备B设置的端口为基于LACP协议形成链路聚合的端口,网络设备A和网络设备B上,链路聚合的端口包括端口1、端口2和端口3,端口1、端口2和端口3形成聚合链路负载转发,端口1和端口2一直处于up状态,端口3从down状态变为up状态。网络设备A和网络设备B之间不一定基于LACP协议直接对接,网络设备A和网络设备B之间可以有基于LACP协议透传的2层网络设备。
网络设备A或网络设备B的CPU通过独立的高优先级任务高频监控(比如10ms一次)聚合链路的端口状态,在发现端口3从down状态变为up状态时,如果在利用LACP协议设置端口状态的时候没有做到收发分离,那么立刻将本端端口3的入口转发状态设置为forward状态,同时,在入口方向将端口3加入到聚合链路,在出口方向,可以按照LACP协议设置端口3的状态;然后,延时5s(在延时5s时间段中,对端已经将对应端口3的状态设置为forward状态),此时,再执行基于LACP协议的回切操作,在出口方向,将端口3加入到聚合链路中参与转发;可以理解的是,通过延时5s的处理,对端网络设备已经将入口转发状态设置为forward状态,从而,可以做到回切不丢包。
第六实施例
为了能够更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。
本发明第六实施例的应用场景为:网络设备A和网络设备B设置的端口为基于LACP协议形成链路聚合的端口,网络设备A和网络设备B上,链路聚合的端口包括端口1、端口2和端口3,端口1、端口2和端口3形成聚合链路负载转发,端口1、端口2和端口3形成的聚合组记为聚合组100;端口1和端口2一直处于up状态,端口3从down状态变为up状态。在利用LACP协议设置端口状态的时候默认做到收发分离。
由于在利用LACP协议设置端口状态的时候默认做到收发分离,当网络设备A和网络设备B的端口3处于down状态时,在出向聚合组移除端口3,同时出口方向状态为block状态;入口方向默认将端口3加入到聚合组100中,同时,入口方向端口3的状态都为forward状态;由于在入口方向将端口3加入到聚合链路后,进入端口3的报文就不会在相同的聚合组100里转发,从而可以消除聚合链路之间的环路。
网络设备A和网络设备B的CPU通过独立的高优先级任务高频监控(比如10ms一次)聚合链路的端口状态,在发现端口3从down状态变为up状态时,可以立即设置聚合组100的成员端口,在入口方向将端口3加入到到聚合组中,在出口方向,可以按照LACP协议设置端口3的状态;立即设置聚合组里面的成员端口,在出口方向将端口3加入到聚合链路参与转发;如此,当报文从本端端口3转发到对端端口3后,由于对端端口3入口方向一直处于forward状态,因而,可以做到回切不丢包。
第七实施例
在本发明前述实施例提出的链路聚合端口切换方法的基础上,本发明第七实施例提出了一种链路聚合端口切换装置,可以应用上述网络设备中。
图4为本发明实施例的链路聚合端口切换装置的组成结构示意图,如图4所示,该装置可以包括:第一处理模块401和第二处理模块402;其中,
第一处理模块401,用于在链路聚合的第一端口由down状态变为up状态时,在入口方向将所述第一端口加入到聚合链路,且将所述第一端口的入口转发状态设置为允许转发状态;
第二处理模块402,用于确定所述第一端口的对端将入口转发状态设置为允许转发状态时,在出口方向将所述第一端口加入到聚合链路。
在一实施方式中,在入口方向和出口方向相互独立地设置链路聚合的每个端口的状态时,链路聚合的每个端口的入口转发状态始终保持为允许转发状态。
在一实施方式中,在入口方向将所述第一端口加入到聚合链路,且将所述第一端口的入口转发状态设置为允许转发状态后,所述第二处理模块402,还用于在入口方向和出口方向并非相互独立地设置链路聚合的每个端口的状态时,通过第一端口将私有协议报文发送至所述第一端口的对端,在等待第一预设时长后,确定所述第一端口的对端将入口转发状态设置为允许转发状态。
在一实施方式中,所述第一预设时长大于或等于预先估计的报文传输时长与预先估计的第一状态改变时长之和,所述报文传输时长表示所述私有协议报文从所述第一端口到所述第一端口的对端的传输时长,所述第一状态改变时长表示所述第一端口的对端在接收到所述私有协议报文后将入口转发状态设置为允许转发状态的时长。
在一实施方式中,在入口方向将所述第一端口加入到聚合链路,且将所述第一端口的入口转发状态设置为允许转发状态后,所述第二处理模块402,还用于在入口方向和出口方向并非相互独立地设置链路聚合的每个端口的状态时,在等待第二预设时长后,确定所述第一端口的对端将入口转发状态设置为允许转发状态。
在一实施方式中,所述第二预设时长大于或等于预先估计的第二状态改变时长,所述第二状态改变时长为第一时刻与第二时刻的时间间隔,所述第一时刻为所述第一端口由down状态变为up状态的时刻,所述第二时刻为所述第一端口的对端将入口转发状态设置为允许转发状态的时刻。
在一实施方式中,所述第二处理模块402,还用于提高对所述链路聚合的端口状态的监控频率;在监控到所述链路聚合的第一端口由up状态变为down状态时,在聚合链路中删除所述第一端口。
在一实施方式中,所述第二处理模块402,还用于提高对所述链路聚合的端口状态的监控任务的优先级;在监控到所述链路聚合的第一端口由up状态变为down状态时,在聚合链路中删除所述第一端口。
在一实施方式中,所述第二处理模块402,还用于提高对所述链路聚合的端口状态的监控频率,并提高对所述链路聚合的端口状态的监控任务的优先级;在监控到所述链路聚合的第一端口由up状态变为down状态时,在聚合链路中删除所述第一端口。
实际应用中,上述第一处理模块401和第二处理模块402均可由CPU、微处理器(Micro Processor Unit,MPU)、DSP、或FPGA等实现。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
具体来讲,本实施例中的一种链路聚合端口切换方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种链路聚合端口切换方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述实施例的任意一种链路聚合端口切换方法的步骤。
基于前述实施例相同的技术构思,参见图5,其示出了本发明实施例提供的一种网络设备50,该设备可以包括:链路聚合的第一端口(图中未示出)、存储器51和处理器52;其中,
所述存储器51,用于存储计算机程序和数据;
所述处理器52,用于执行所述存储器中存储的计算机程序,以实现前述实施例的任意一种链路聚合端口切换方法的步骤。
在实际应用中,上述存储器51可以是易失性存储器(volatile memory),例如RAM;或者非易失性存储器(non-volatile memory),例如ROM,快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器52提供指令和数据。
上述处理器52可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。用于实现上述处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (9)
1.一种链路聚合端口切换方法,其特征在于,所述方法包括:
链路聚合的第一端口由down状态变为up状态时,在入口方向将所述第一端口加入到聚合链路,且将所述第一端口的入口转发状态设置为允许转发状态;
确定所述第一端口的对端将入口转发状态设置为允许转发状态时,在出口方向将所述第一端口加入到聚合链路;
其中,所述第一端口和所述第一端口的对端均为基于LACP协议成为链路聚合的端口;
在入口方向将所述第一端口加入到聚合链路,且将所述第一端口的入口转发状态设置为允许转发状态后,所述方法还包括:在入口方向和出口方向并非相互独立地设置链路聚合的每个端口的状态时,通过第一端口将私有协议报文发送至所述第一端口的对端,在等待第一预设时长后,确定所述第一端口的对端将入口转发状态设置为允许转发状态;
所述第一预设时长大于或等于预先估计的报文传输时长与预先估计的第一状态改变时长之和,所述报文传输时长表示所述私有协议报文从所述第一端口到所述第一端口的对端的传输时长,所述第一状态改变时长表示所述第一端口的对端在接收到所述私有协议报文后将入口转发状态设置为允许转发状态的时长。
2.根据权利要求1所述的方法,其特征在于,在入口方向和出口方向相互独立地设置链路聚合的每个端口的状态时,链路聚合的每个端口的入口转发状态始终保持为允许转发状态。
3.根据权利要求1所述的方法,其特征在于,在入口方向将所述第一端口加入到聚合链路,且将所述第一端口的入口转发状态设置为允许转发状态后,所述方法还包括:在入口方向和出口方向并非相互独立地设置链路聚合的每个端口的状态时,在等待第二预设时长后,确定所述第一端口的对端将入口转发状态设置为允许转发状态。
4.根据权利要求3所述的方法,其特征在于,所述第二预设时长大于或等于预先估计的第二状态改变时长,所述第二状态改变时长为第一时刻与第二时刻的时间间隔,所述第一时刻为所述第一端口由down状态变为up状态的时刻,所述第二时刻为所述第一端口的对端将入口转发状态设置为允许转发状态的时刻。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:提高对所述链路聚合的端口状态的监控频率;
在监控到所述链路聚合的第一端口由up状态变为down状态时,在聚合链路中删除所述第一端口。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:提高对所述链路聚合的端口状态的监控任务的优先级;
在监控到所述链路聚合的第一端口由up状态变为down状态时,在聚合链路中删除所述第一端口。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:提高对所述链路聚合的端口状态的监控频率,并提高对所述链路聚合的端口状态的监控任务的优先级;
在监控到所述链路聚合的第一端口由up状态变为down状态时,在聚合链路中删除所述第一端口。
8.一种网络设备,其特征在于,所述网络设备设置有链路聚合的第一端口、处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,执行权利要求1至7任一项所述方法的步骤。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310320960.5A CN116366536A (zh) | 2019-02-18 | 2019-02-18 | 一种链路聚合端口切换方法、网络设备和计算机存储介质 |
CN201910122286.3A CN111585883B (zh) | 2019-02-18 | 2019-02-18 | 一种链路聚合端口切换方法、网络设备和计算机存储介质 |
EP20759906.9A EP3930267A4 (en) | 2019-02-18 | 2020-02-17 | LINK AGGREGATION PORT SWITCHING METHOD, NETWORK DEVICE AND COMPUTER STORAGE MEDIA |
PCT/CN2020/075504 WO2020168996A1 (zh) | 2019-02-18 | 2020-02-17 | 链路聚合端口切换方法、网络设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910122286.3A CN111585883B (zh) | 2019-02-18 | 2019-02-18 | 一种链路聚合端口切换方法、网络设备和计算机存储介质 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310320960.5A Division CN116366536A (zh) | 2019-02-18 | 2019-02-18 | 一种链路聚合端口切换方法、网络设备和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111585883A CN111585883A (zh) | 2020-08-25 |
CN111585883B true CN111585883B (zh) | 2023-03-24 |
Family
ID=72126003
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310320960.5A Pending CN116366536A (zh) | 2019-02-18 | 2019-02-18 | 一种链路聚合端口切换方法、网络设备和计算机存储介质 |
CN201910122286.3A Active CN111585883B (zh) | 2019-02-18 | 2019-02-18 | 一种链路聚合端口切换方法、网络设备和计算机存储介质 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310320960.5A Pending CN116366536A (zh) | 2019-02-18 | 2019-02-18 | 一种链路聚合端口切换方法、网络设备和计算机存储介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3930267A4 (zh) |
CN (2) | CN116366536A (zh) |
WO (1) | WO2020168996A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131024A (zh) * | 2019-12-09 | 2020-05-08 | 盛科网络(苏州)有限公司 | 聚合链路的处理方法及装置 |
CN115567463A (zh) * | 2021-06-30 | 2023-01-03 | 中兴通讯股份有限公司 | 一种端口状态调整方法、装置及计算机可读存储介质 |
CN115996191A (zh) * | 2022-11-21 | 2023-04-21 | 迈普通信技术股份有限公司 | 端口状态控制方法、装置、网络通信设备及存储介质 |
CN115865772A (zh) * | 2022-11-25 | 2023-03-28 | 迈普通信技术股份有限公司 | 流量回切方法、装置、电子设备、m-lag系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534331A (zh) * | 2016-11-30 | 2017-03-22 | 网宿科技股份有限公司 | 一种基于动态端口切换的数据传输方法和系统 |
CN106789264A (zh) * | 2016-12-26 | 2017-05-31 | 北京东土军悦科技有限公司 | 一种链路聚合组通道快速切换的方法和装置 |
CN107465613A (zh) * | 2016-06-03 | 2017-12-12 | 北京华为数字技术有限公司 | 链路聚合接口通信状态切换方法及装置 |
WO2018131547A1 (ja) * | 2017-01-16 | 2018-07-19 | 富士通株式会社 | ポート切替プログラム、ポート切替方法、および情報処理装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8243594B1 (en) * | 2007-12-10 | 2012-08-14 | Force10 Networks, Inc. | Coordinated control of multiple parallel links or link aggregations |
CN101540722A (zh) * | 2008-03-18 | 2009-09-23 | 华为技术有限公司 | 以太网链路聚合端口配置的方法和设备 |
CN101252532B (zh) * | 2008-03-18 | 2010-08-25 | 华为技术有限公司 | 以太网链路聚合端口配置的方法和设备 |
CN101552725B (zh) * | 2009-05-13 | 2011-12-21 | 杭州华三通信技术有限公司 | 聚合子链路恢复处理方法、系统及设备 |
JP5821815B2 (ja) * | 2012-09-11 | 2015-11-24 | 日立金属株式会社 | 通信システムおよび通信システムの処理方法 |
US20140192635A1 (en) * | 2013-01-04 | 2014-07-10 | International Business Machines Corporation | Start-up delay for event-driven virtual link aggregation |
US9001825B2 (en) * | 2013-01-04 | 2015-04-07 | International Business Machines Corporation | Virtual link aggregation using state machine |
CN103780472B (zh) * | 2014-01-06 | 2017-08-22 | 新华三技术有限公司 | 一种聚合端口组的选中口管理方法及设备 |
CN103944776B (zh) * | 2014-03-26 | 2017-12-08 | 新华三技术有限公司 | 一种自环链路聚合的方法和装置 |
US10298435B2 (en) * | 2015-06-08 | 2019-05-21 | Quanta Computer Inc. | Server link state detection and notification |
CN106301871A (zh) * | 2015-06-25 | 2017-01-04 | 中兴通讯股份有限公司 | 一种基于lacp的转发检测方法及系统 |
CN106411599A (zh) * | 2016-10-31 | 2017-02-15 | 杭州华三通信技术有限公司 | 一种聚合链路恢复方法及装置 |
US20180307474A1 (en) * | 2017-04-19 | 2018-10-25 | Hewlett Packard Enterprise Development Lp | Firmware update in a stacked network device |
-
2019
- 2019-02-18 CN CN202310320960.5A patent/CN116366536A/zh active Pending
- 2019-02-18 CN CN201910122286.3A patent/CN111585883B/zh active Active
-
2020
- 2020-02-17 WO PCT/CN2020/075504 patent/WO2020168996A1/zh unknown
- 2020-02-17 EP EP20759906.9A patent/EP3930267A4/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107465613A (zh) * | 2016-06-03 | 2017-12-12 | 北京华为数字技术有限公司 | 链路聚合接口通信状态切换方法及装置 |
CN106534331A (zh) * | 2016-11-30 | 2017-03-22 | 网宿科技股份有限公司 | 一种基于动态端口切换的数据传输方法和系统 |
CN106789264A (zh) * | 2016-12-26 | 2017-05-31 | 北京东土军悦科技有限公司 | 一种链路聚合组通道快速切换的方法和装置 |
WO2018131547A1 (ja) * | 2017-01-16 | 2018-07-19 | 富士通株式会社 | ポート切替プログラム、ポート切替方法、および情報処理装置 |
Non-Patent Citations (2)
Title |
---|
Ruei-Bin Lai ; .Topology Analysis and Design of Passive HEMT Millimeter-Wave Multiple-Port Switches.《IEEE Transactions on Microwave Theory and Techniques》.2008, * |
以太网中双上行组网的弹性链路的设计与实现;罗致等;《信息技术》;20170125(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2020168996A1 (zh) | 2020-08-27 |
EP3930267A1 (en) | 2021-12-29 |
CN111585883A (zh) | 2020-08-25 |
CN116366536A (zh) | 2023-06-30 |
EP3930267A4 (en) | 2022-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111585883B (zh) | 一种链路聚合端口切换方法、网络设备和计算机存储介质 | |
EP3373519A1 (en) | Active/static path redundancy | |
US8411690B2 (en) | Preventing data traffic connectivity between endpoints of a network segment | |
EP3713160B1 (en) | Packet transmission method and apparatus | |
KR102161422B1 (ko) | 서비스 패킷 송신 방법 및 노드 디바이스 | |
CN112822102B (zh) | 链路切换方法、装置、设备、系统及存储介质 | |
WO2017041577A1 (zh) | 一种管理链路聚合成员端口丢包的方法和装置 | |
CN107534576B (zh) | 一种链路恢复方法和网络设备 | |
JP5065269B2 (ja) | ローカル・エリア・ネットワーク管理 | |
WO2022160308A1 (zh) | 数据存取方法、装置和存储介质 | |
US20200403907A1 (en) | Faulty multi-layer link restoration method and controller | |
WO2021114774A1 (zh) | 聚合链路的处理方法及装置 | |
CN115378955A (zh) | 一种数据处理方法以及相关设备 | |
CN116962284A (zh) | 针对受控不可用事件的mclag的高效业务重定向 | |
US20150215169A1 (en) | Guaranteeing Bandwidth For Dual-Homed Hosts In Fabric Extender Topologies | |
CN108933738B (zh) | 一种处理网络拥塞的方法、装置及系统 | |
EP2953299B1 (en) | Protection switching method, system and node | |
CN113497753A (zh) | 一种跨设备链路聚合方法及系统 | |
US20150200813A1 (en) | Server connection apparatus and server connection method | |
WO2016061992A1 (zh) | 业务传输方法及装置 | |
WO2015127600A1 (zh) | 一种分流上报的方法、交换机、控制器及系统 | |
CN105389127A (zh) | 在存储系统中传输消息的方法、装置及存储系统、控制器 | |
CN111224803A (zh) | 一种堆叠系统中多主检测方法及堆叠系统 | |
CN109218135B (zh) | 一种bfd检测方法和装置 | |
JP5813835B2 (ja) | クライアント装置、及び通信システム |
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 |