一种LACP运行方法、装置、系统及存储介质与流程

文档序号:17071217发布日期:2019-03-08 23:20阅读:329来源:国知局
一种LACP运行方法、装置、系统及存储介质与流程

本发明涉及计算机技术领域,特别涉及一种lacp运行方法、装置、系统及存储介质。



背景技术:

现有技术中链路汇聚控制协议(linkaggregationcontrolprotocol,lacp)状态机部署方案主要有集中式和分布式两种。

集中式lacp状态机部署方案是将lacp的各种状态机的处理逻辑和管理集中在一个主控系统中处理,可以方便所有端口的lacp状态机的统一管理和维护,出现故障也不会影响其他系统。但是,在大容量时,容易出现中央处理器(centralprocessingunit,cpu)使用率过高,端口的lacp状态变化处理出现延迟,以及定时器不准等问题,严重影响到端口周期发送lacpdu的实时性,特别是在短超时模式下,还会导致对端网络设备已处于稳定阶段的端口出现接收报文超时,造成该端口lacp的状态震荡。因此,基于集中式lacp状态机部署方案运行lacp在短超时模式下存在端口容量受限的技术问题。

分布式lacp部署方案一般运用在机架式设备上,将lacp的各种状态机根据各自的职责拆分成两个部分,由线卡运行rx状态机,ptx状态机,mux状态机,tx状态机,用于发送和接收报文,并根据报文情况,更新本端(actor)和对端(partner)的lacp状态,将更新的状态同步到主控,再由主控运行选择状态机,进行端口selected状态更新,更新完成后,再同步到线卡,由线卡的mux状态机开启端口的帧收集、帧分发的功能。集中式lacp部署方案虽然提高了lacp状态机的稳定性和可靠性,但是lacp状态机处理逻辑却变为涉及跨设备,跨系统,主控和线卡需要各自维护端口lacp状态并同步,增加了逻辑复杂度,对主控和线卡的处理能力要求比较高,并且无法应用在没有区分主控和线卡的盒式设备上。因此,基于分布式lacp部署方案运行lacp存在适用场景受限的问题。



技术实现要素:

本发明实施例提供一种lacp运行方法、装置、系统及存储介质,用于提升网络设备在短超时模式下的端口容量,并且能够适用于所有可支持lacp的网络设备。

第一方面,本发明实施例提供一种lacp运行方法,应用于基于lacp进行报文传输的网络设备,所述网络设备的cpu中运行有主控系统和代理系统;所述方法包括:

所述代理系统接收主控系统发送的注册信息;其中,所述注册信息为所述主控系统根据lacp状态机逻辑生成的注册信息,所述注册信息包括周期事件对应的周期、周期到期的处理方法,周期重置的条件以及周期重置时的处理方法;

所述代理系统基于所述注册信息根据预设的逻辑对所述周期事件进行处理。

本实施方式通过在网络设备中增加一套代理系统,并由代理系统基于主控系统发送的注册信息根据预设的逻辑对周期事件进行处理,代为处理lacp状态机系统中实时性要求高的关键处理,以此可保证大容量短超时场景下,即便主控系统出现处理延迟,处于协商完成后稳定阶段的端口依旧能够通过代理系统完成与对端的报文交互,保证报文处理和交互的实时性,提升了网络设备在短超时模式下的端口容量;并且,由于本实施方式对实施环境没有严格的要求,不论是集中式还是分布式部署的lacp状态机系统都可以使用,具有极高的通用性与便利性。

可选的,所述代理系统基于所述注册信息根据预设的逻辑对所述周期事件进行处理,包括:

将所述周期事件对应的周期设定为周期定时器的定时时长;

启动所述周期定时器,从0开始计时或者从周期值开始倒数计时;

在所述周期定时器计时过程中,当根据所述周期重置的条件确定需要进行周期重置时,执行所述周期重置时的处理方法;

在所述周期定时器计时结束时,执行所述周期到期的处理方法。

本实施方式代理系统根据预设的逻辑基于注册信息对周期事件进行处理,代理系统不关注lacp内部的任何状态机逻辑,可提供整套可定制化的多并发周期性处理功能的管理和运行,保证了报文处理和交互的实时性,提升了网络设备在短超时模式下的端口容量。

可选的,所述主控系统中运行有rx状态机;当所述注册信息包括所述rx状态机发送的第一周期事件的注册信息,则

所述第一周期事件对应的周期为所述rx状态机根据对端网络设备的超时模式确定出的周期;

所述第一周期事件对应的周期到期的处理方法包括:所述代理系统触发超时回调,以使所述rx状态机收到所述超时回调后更新端口状态为expired状态;

所述第一周期事件对应的周期重置的条件为:所述代理系统接收到对端网络设备发送的lacpdu文;

所述第一周期事件对应的周期重置时的处理方法包括:所述代理系统重新启动周期定时器,从0开始计时。

本实施方式,可以将rx状态机中的实时性要求高的关键处理交付给代理系统处理,进而保证了报文处理和交互的实时性,提升了网络设备在短超时模式下的端口容量。

可选的,所述第一周期事件对应的周期重置时的处理方法还包括:

所述代理系统判断本次接收到lacpdu报文的内容是否与上一次收到lacpdu报文的内容一致;

若为是,所述代理系统丢弃本次接收到lacpdu报文;

否则,所述代理系统对本次接收到lacpdu报文的内容进行处理,或者触发接收报文回调,以使所述rx状态机接收到报文回调后对本次接收到lacpdu报文的内容进行处理。

本实施方式,该代理系统可以对收到的报文进行过滤,去除稳定阶段的端口交互报文,减少大容量时相同lacpdu报文对lacp系统的冲击,进一步增强lacp系统的稳定性,保证了报文处理和交互的实时性,提升了网络设备在短超时模式下的端口容量。

可选的,所述主控系统中还运行有ptx状态机;当所述注册信息还包括所述ptx状态机发送的第二周期事件的注册信息,则

所述第二周期事件对应的周期为所述网络设备的物理端口发送lacpdu报文的周期;

所述第二周期事件对应的周期到期的处理方法包括:所述代理系统发送lacpdu报文;

所述第二周期事件对应的周期重置的条件为:所述网络设备的物理端口发送lacpdu报文的周期到期;

所述第一周期事件对应的周期重置时的处理方法包括:所述代理系统重新启动周期定时器,从0开始计时。

本实施方式,可以将ptx状态机中的实时性要求高的关键处理交付给代理系统处理,进而保证了报文处理和交互的实时性,提升了网络设备在短超时模式下的端口容量。

可选的,所述主控系统中还运行有tx状态机;当所述注册信息还包括所述tx状态机发送的第三周期事件的注册信息,则

所述第三周期事件对应的周期为0;

所述第三周期事件对应的周期到期的处理方法包括:所述代理系统发送lacpdu报文;

所述第三周期事件对应的周期重置的条件为空;

所述第三周期事件对应的周期重置时的处理方法为空。

本实施方式,可以将ptx状态机发送lacpdu报文的操作交付给代理系统处理,进而保证了报文处理和交互的实时性,提升了网络设备在短超时模式下的端口容量。

第二方面,本发明实施例提供一种lacp运行方法,应用于基于lacp进行报文传输的网络设备,所述网络设备的cpu中运行有主控系统和代理系统;所述方法包括:

所述主控系统根据lacp状态机逻辑生成注册信息;其中,所述注册信息包括周期事件对应的周期、周期到期的处理方法,周期重置的条件以及周期重置时的处理方法;

所述主控系统向代理系统发送所述注册信息,以使所述代理系统基于所述注册信息根据预设的逻辑对所述周期事件进行处理。

可选的,所述主控系统中运行有rx状态机;当所述注册信息包括所述rx状态机发送的第一周期事件的注册信息,则

所述第一周期事件对应的周期为所述rx状态机根据对端网络设备的超时模式确定出的周期;

所述第一周期事件对应的周期到期的处理方法包括:所述代理系统触发超时回调,以使所述rx状态机收到所述超时回调后更新端口状态为expired状态;

所述第一周期事件对应的周期重置的条件为:所述代理系统接收到对端网络设备发送的lacpdu报文;

所述第一周期事件对应的周期重置时的处理方法包括:所述代理系统重新启动周期定时器,从0开始计时。

可选的,所述第一周期事件对应的周期重置时的处理方法还包括:

所述代理系统判断本次接收到lacpdu报文的内容是否与上一次收到lacpdu报文的内容一致;

若为是,所述代理系统丢弃本次接收到lacpdu报文;

否则,所述代理系统对本次接收到lacpdu报文的内容进行处理,或者触发接收报文回调,以使所述rx状态机接收到报文回调后对本次接收到lacpdu报文的内容进行处理。

可选的,所述主控系统中还运行有ptx状态机;当所述注册信息还包括所述ptx状态机发送的第二周期事件的注册信息,则

所述第二周期事件对应的周期为所述网络设备的物理端口发送lacpdu报文的周期;

所述第二周期事件对应的周期到期的处理方法包括:所述代理系统发送lacpdu报文;

所述第二周期事件对应的周期重置的条件为:所述网络设备的物理端口发送lacpdu报文的周期到期;

所述第一周期事件对应的周期重置时的处理方法包括:所述代理系统重新启动周期定时器,从0开始计时。

可选的,所述主控系统中还运行有tx状态机;当所述注册信息还包括所述tx状态机发送的第三周期事件的注册信息,则

所述第三周期事件对应的周期为0;

所述第三周期事件对应的周期到期的处理方法包括:所述代理系统发送lacpdu报文;

所述第三周期事件对应的周期重置的条件为空;

所述第三周期事件对应的周期重置时的处理方法为空。

第三方面,本发明实施例提供一种lacp运行装置,位于基于lacp进行报文传输的网络设备中,所述装置包括:

接收单元,用于接收主控系统发送的注册信息;其中,所述注册信息为所述主控系统根据lacp状态机逻辑生成的注册信息,所述注册信息包括周期事件对应的周期、周期到期的处理方法,周期重置的条件以及周期重置时的处理方法;

处理单元,用于基于所述注册信息根据预设的逻辑对所述周期事件进行处理。

可选的,所述处理单元具体用于:

将所述周期事件对应的周期设定为周期定时器的定时时长;

启动所述周期定时器,从0开始计时或者从周期值开始倒数计时;

在所述周期定时器计时过程中,当根据所述周期重置的条件确定需要进行周期重置时,执行所述周期重置时的处理方法;

在所述周期定时器计时结束时,执行所述周期到期的处理方法。

可选的,所述主控系统中运行有rx状态机;当所述注册信息包括所述rx状态机发送的第一周期事件的注册信息,则

所述第一周期事件对应的周期为所述rx状态机根据对端网络设备的超时模式确定出的周期;

所述第一周期事件对应的周期到期的处理方法包括:所述装置触发超时回调,以使所述rx状态机收到所述超时回调后更新端口状态为expired状态;

所述第一周期事件对应的周期重置的条件为:所述装置接收到对端网络设备发送的lacpdu报文;

所述第一周期事件对应的周期重置时的处理方法包括:所述装置重新启动周期定时器,从0开始计时。

可选的,所述第一周期事件对应的周期重置时的处理方法还包括:

所述装置判断本次接收到lacpdu报文的内容是否与上一次收到lacpdu报文的内容一致;

若为是,所述装置丢弃本次接收到lacpdu报文;

否则,所述装置对本次接收到lacpdu报文的内容进行处理,或者触发接收报文回调,以使所述rx状态机接收到报文回调后对本次接收到lacpdu报文的内容进行处理。

可选的,所述主控系统中还运行有ptx状态机;当所述注册信息还包括所述ptx状态机发送的第二周期事件的注册信息,则

所述第二周期事件对应的周期为所述网络设备的物理端口发送lacpdu报文的周期;

所述第二周期事件对应的周期到期的处理方法包括:所述装置发送lacpdu报文;

所述第二周期事件对应的周期重置的条件为:所述网络设备的物理端口发送lacpdu报文的周期到期;

所述第一周期事件对应的周期重置时的处理方法包括:所述装置重新启动周期定时器,从0开始计时。

可选的,所述主控系统中还运行有tx状态机;当所述注册信息还包括所述tx状态机发送的第三周期事件的注册信息,则

所述第三周期事件对应的周期为0;

所述第三周期事件对应的周期到期的处理方法包括:所述装置发送lacpdu报文;

所述第三周期事件对应的周期重置的条件为空;

所述第三周期事件对应的周期重置时的处理方法为空。

第四方面,本发明实施例提供一种lacp运行装置,位于基于lacp进行报文传输的网络设备中;所述方法包括:

生成模块,用于根据lacp状态机逻辑生成注册信息;其中,所述注册信息包括周期事件对应的周期、周期到期的处理方法,周期重置的条件以及周期重置时的处理方法;

发送模块,用于向代理系统发送所述注册信息,以使所述代理系统基于所述注册信息根据预设的逻辑对所述周期事件进行处理。

可选的,所述装置中运行有rx状态机;当所述注册信息包括所述rx状态机发送的第一周期事件的注册信息,则

所述第一周期事件对应的周期为所述rx状态机根据对端网络设备的超时模式确定出的周期;

所述第一周期事件对应的周期到期的处理方法包括:所述代理系统触发超时回调,以使所述rx状态机收到所述超时回调后更新端口状态为expired状态;

所述第一周期事件对应的周期重置的条件为:所述代理系统接收到对端网络设备发送的lacpdu报文;

所述第一周期事件对应的周期重置时的处理方法包括:所述代理系统重新启动周期定时器,从0开始计时。

可选的,所述第一周期事件对应的周期重置时的处理方法还包括:

所述代理系统判断本次接收到lacpdu报文的内容是否与上一次收到lacpdu报文的内容一致;

若为是,所述代理系统丢弃本次接收到lacpdu报文;

否则,所述代理系统对本次接收到lacpdu报文的内容进行处理,或者触发接收报文回调,以使所述rx状态机接收到报文回调后对本次接收到lacpdu报文的内容进行处理。

可选的,所述装置中还运行有ptx状态机;当所述注册信息还包括所述ptx状态机发送的第二周期事件的注册信息,则

所述第二周期事件对应的周期为所述网络设备的物理端口发送lacpdu报文的周期;

所述第二周期事件对应的周期到期的处理方法包括:所述代理系统发送lacpdu报文;

所述第二周期事件对应的周期重置的条件为:所述网络设备的物理端口发送lacpdu报文的周期到期;

所述第一周期事件对应的周期重置时的处理方法包括:所述代理系统重新启动周期定时器,从0开始计时。

可选的,所述装置中还运行有tx状态机;当所述注册信息还包括所述tx状态机发送的第三周期事件的注册信息,则

所述第三周期事件对应的周期为0;

所述第三周期事件对应的周期到期的处理方法包括:所述代理系统发送lacpdu报文;

所述第三周期事件对应的周期重置的条件为空;

所述第三周期事件对应的周期重置时的处理方法为空。

第五方面,本发明实施例提供一种lacp运行系统,包括:

如本发明实施例第三方面所述的装置;以及

如本发明实施例第四方面所述的装置。

第六方面,本发明实施例提供一种lacp运行装置,包括:

存储器,用于存储计算机指令;

通信接口,用于与网络设备进行通信;

处理器,与所述存储器以及所述通信接口通信连接,用于执行所述存储器中的计算机指令,以在执行所述计算机指令时执行如本发明实施例第一方面或第二方面所述的方法。

第七方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如本发明实施例第一方面或第二方面所述的方法。

本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

本实施方式通过在网络设备中增加一套代理系统,并由代理系统基于主控系统发送的注册信息根据预设的逻辑对周期事件进行处理,代为处理lacp状态机系统中实时性要求高的关键处理,以此可保证大容量短超时场景下,即便主控系统出现处理延迟,处于协商完成后稳定阶段的端口依旧能够通过代理系统完成与对端的报文交互,保证了报文处理和交互的实时性,提升了网络设备在短超时模式下的端口容量;并且,由于本实施方式对实施环境没有严格的要求,不论是集中式还是分布式部署的lacp状态机系统都可以使用,具有极高的通用性与便利性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中lacp各状态机之间关联图;

图2为本发明实施例中lacp运行方法的流程示意图;

图3为本发明实施例中代理系统和主控系统的结构示意图;

图4为本发明实施例中lacp运行装置的结构示意图;

图5为本发明实施例中lacp运行装置的结构示意图;

图6为本发明实施例中lacp运行系统的结构示意图;

图7为本发明实施例中lacp运行装置的结构示意图。

具体实施方式

下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。

需要理解的是,在本发明实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。在本发明实施例的描述中“多个”,是指两个或两个以上。

本发明实施例中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

lacp是一种基于ieee802.3ad标准的动态链路聚合的协议。协议功能是在直连的两台网络设备之间通过链路聚合控制协议数据单元(linkaggregationcontrolprotocoldataunit,lacpdu)报文协商,建立由多个物理端口组成单一的聚合链路对外呈现,用于提高链路带宽和链路可靠性。

lacp运行在聚合链路的每个物理端口上,通过两台设备上每对物理端口之间的报文交互,决定该物理端口在聚合链路中的状态(如加入或退出聚合端口,是否打开端口的帧收集功能,端口的帧分发功能等)。

lacp的运行是由事件(如接收到报文、用户配置等端口属性变化)驱动触发的,内部通过一组状态机(rx状态机,ptx状态机,mux状态机,tx状态机以及选择状态机等),根据事件进行状态机的变化,实现lacp的运转,运转的过程包含协商阶段,和协商完成后的稳定阶段。

其中,lacp内部每个状态机的功能如下:

接收(receivemachine,rx)状态机:用于接收和解析从对端收到的报文。记录报文中携带对端的信息;根据收到的报文,判断本端所保存的对端信息是否老化并更新对端信息(包括对端是否为选中selected状态,超时模式等),同时更新本端状态为实时(current)状态。当本端处于current状态时,如果本端收不到报文的时间超过协议规定的超时时间(长超时模式(longtimeout)为90s,短超时模式(shorttimeout)为3s),更新本端为超时(expired)状态。

周期(periodictransmissionmachine,ptx)状态机:用于维护周期发送报文的定时器,定时器到期后置需要发送(need_to_transmit,ntt)标识,控制本端主动与对端交互报文的频率。发送报文的频率在协商阶段是为1s;在稳定阶段时,根据对端超时模式的不同,长超时为30s,短超时为1s。

选择(selectionlogic,sl)状态机:用于根据rx状态机更新的对端信息以及本端配置及状态,更新本端的选择状态为选中(selected)或者非选中(unselected)。如果本端进入selected状态,则设置ntt标识,从而发送最新的本端信息通知对端。

聚合控制状态机(muxmachine):用于根据本端和对端的选中状态,控制端口的帧收集功能(collecting)、帧分发功能(distributing)。当本端和对端都为selected状态时,帧收集和帧分发功能启动,加入聚合链路;否则,停止帧收集和帧分发功能,退出聚合链路。

发送(transmitmachine,tx)状态机:在上述状态机有ntt标识时,收集最新的本端生成lacpdu报文,并向对端发送该lacpdu报文。

参照图1,lacp各状态机之间关联图。当本端通过lacpdu报文协商,进入selected状态后,开启端口lacp状态中的帧收集功能和帧分发功能,即表示端口协商完成,随后会进入协商完成后的稳定阶段。

在稳定阶段,本端和对端的lacp状态都保持不变,因此发送的lacpdu报文也保持不变。双方通过周期性互发这份不变的lacpdu报文来维持稳定状态。

其中,维持状态有两种模式,长超时模式和短超时模式。长超时模式下,超时时间是90s,要求对端设备间隔30s发送一个lacpdu报文;短超时模式下,协议保活超时时间是3s,要求对端设备间隔1s发送一个lacpdu报文。如果超过超时时间没有收到报文,本端进入expired状态,关闭帧收集和帧分发功能。等待收到报文后,再重新开始协商。

当本端通过lacpdu报文协商,进入selected状态,随后开启端口lacp状态中的帧收集功能(collecting)和帧分发功能(distributing),即表示端口协商完成,随后会进入协商完成后的稳定阶段。

在稳定阶段,本端和对端的lacp状态都保持不变,因此发送的lacpdu报文也保持不变。双发通过周期性互发这份不变的lacpdu报文来维持稳定状态。

现有技术中lacp状态机部署方案主要有集中式和分布式两种。

集中式lacp状态机部署方案是将lacp的各种状态机的处理逻辑和管理集中在一个主控系统中处理,可以方便所有端口的lacp状态机的统一管理和维护,出现故障也不会影响其他系统。但是,在大容量时,容易出现cpu使用率高,端口的lacp状态变化处理出现延迟,以及定时器不准等问题,严重影响到端口周期发送lacpdu的实时性,特别是在短超时模式下,还会导致对端网络设备已处于稳定阶段的端口出现接收报文超时,造成该端口lacp的状态震荡。因此,基于集中式lacp状态机部署方案运行lacp在短超时模式下存在端口容量受限的技术问题。

分布式lacp部署方案一般运用在机架式设备上,将lacp的各种状态机根据各自的职责拆分成两个部分,由线卡运行rx状态机,ptx状态机,mux状态机,tx状态机,用于发送和接收报文,并根据报文情况,更新本端和对端的lacp状态,将更新的状态同步到主控,再由主控运行选择状态机,进行端口selected状态更新,更新完成后,再同步到线卡,由线卡的mux状态机开启端口的帧收集、帧分发的功能。集中式lacp部署方案虽然提高了lacp状态机的稳定性和可靠性,但是lacp状态机处理逻辑却变为涉及跨设备,跨系统,主控和线卡需要各自维护端口lacp状态并同步,增加了逻辑复杂度,对主控和线卡的处理能力要求比较高,并且无法应用在没有区分主控和线卡的盒式设备上。因此,基于分布式lacp部署方案运行lacp存在适用场景受限的问题。

为了解决现有技术存在的上述技术问题,本发明实施例提供一种lacp运行方法、装置、系统及存储介质,适用于支持lacp协议的所有网络设备,可通过热补丁的方式来迅速提升网络设备的lacp短超时模式下的端口容量,更加方便快捷的满足客户需求。其中,该方法执行主体为基于lacp进行报文传输的网络设备,该网络设备的cpu中除了运行有主控系统外,还运行有一个代理系统。主控系统通过将实时性要求高的处理转交代理系统完成,来保证这部分的处理实时性,同时不影响到现有技术当中主控系统对外的处理逻辑,尽可能的减少对整个网络设备系统的影响。

参照图2,该lacp运行方法具体包括:

s201:主控系统根据lacp状态机逻辑生成注册信息;其中,所述注册信息包括周期事件对应的周期、周期到期的处理方法,周期重置的条件以及周期重置时的处理方法;

在本发明实施例中,针对主控系统,增加了向代理系统注册接收报文超时的动作,以及端口稳定阶段的周期性发送lacpdu报文的动作。相应的,需要变更原有rx状态机,ptx状态机的处理和tx状态机。

1)rx状态机

端口current状态下,rx状态机根据对端的超时模式,向代理系统注册第一周期事件的处理,具体实施方式可以为rx状态机向代理系统发送的第一周期事件的注册信息。

其中,第一周期事件对应的周期为:rx状态机根据对端网络设备的超时模式确定出的周期;第一周期事件对应的周期到期的处理方法包括:代理系统触发超时回调,以使rx状态机收到超时回调后更新端口状态为expired状态;第一周期事件对应的周期重置的条件为:代理系统接收到对端网络设备发送的lacpdu报文;

第一周期事件对应的周期重置时的处理方法包括:

代理系统重新启动周期定时器,从0开始计时;以及

判断本次接收到lacpdu报文的内容是否与上一次收到lacpdu报文的内容一致;若为是,代理系统丢弃本次接收到lacpdu报文;否则,代理系统对本次接收到lacpdu报文的内容进行处理,或者触发接收报文回调,以使rx状态机接收到报文回调后对本次接收到lacpdu报文的内容进行相应的处理。

比如,当本次接收到lacpdu报文的内容与上一次收到lacpdu报文的内容不一致时,代理系统可直接对本次接收到lacpdu报文中用于承载对端超时模式的字段进行解析,然后将解析结果生效到代理系统的周期发送报文的处理中,让周期发送报文的处理直接根据代理系统对端的最新超时模式更新本端发送报文的周期,这样可使得对端最新的超时模式更快地生效到本端的发送报文的周期上,从而提升对对端lacp端口的超时模式变更的感知能力,特别是当对端端口从长超时模式变更为短超时模式时,能够迅速应对,防止由于发送报文周期调整过慢而导致端口的稳定阶段非正常结束;或者,代理系统触发接收报文回调,将本次接收到lacpdu报文回传给rx状态机,使rx状态机对本次接收到lacpdu报文中用于承载对端超时模式的字段进行解析,获得对端的最新超时模式,然后根据对端的最新超时模式更新本端发送报文的周期。

当然,在具体实施过程中,对报文处理的处理过程还可以包括其他方面内容,比如对本次接收到的lacpdu报文中用于承载对端selected状态的字段进行解析,本发明实施例不做具体限制。

2)ptx状态机

ptx状态机根据端口的发送报文周期,向代理系统注册第二周期事件的处理,具体实施方式可以为ptx状态机向代理系统发送的第二周期事件的注册信息。

其中,第二周期事件对应的周期为:网络设备的物理端口发送lacpdu报文的周期;第二周期事件对应的周期到期的处理方法包括:代理系统发送lacpdu报文;第二周期事件对应的周期重置的条件为:网络设备的物理端口发送lacpdu报文的周期到期;第二周期事件对应的周期重置时的处理方法包括:代理系统重新启动周期定时器,从0开始计时。

3)tx状态机

考虑到发送报文动作的一致性,以免出现时序问题,端口需要发送报文时,tx状态机向代理系统注册第三周期事件的处理。具体实施方式为ptx状态机向代理系统发送的第三周期事件的注册信息。

其中,第三周期事件对应的周期为0;第三周期事件对应的周期到期的处理方法包括:代理系统发送lacpdu报文;第三周期事件对应的周期重置的条件为空;第三周期事件对应的周期重置时的处理方法为空。

需要说明的是,在具体实施过程中,除了上述第一周期事件、第二周期事件、第三周期事件以外,还可以添加其它类型的周期事件以将主控系统原有的其它实时性要求高的处理交付给代理系统来实现,本发明实施例步骤s101中所述的周期事件包括但不限于上述第一周期事件、第二周期事件以及第三周期事件三种类型。

s202:所述主控系统向所述代理系统发送所述注册信息;

s203:所述代理系统基于所述注册信息根据预设的逻辑对所述周期事件进行处理。

具体的,针对每一个周期事件,所述代理系统的处理逻辑为:将所述周期事件对应的周期设定为周期定时器的定时时长;启动所述周期定时器,从0开始计时或者从周期值开始倒数计时;在所述周期定时器计时过程中,当根据所述周期重置的条件确定需要进行周期重置时,执行所述周期重置时的处理方法;在所述周期定时器计时结束时,执行所述周期到期的处理方法。

例如,针对第一周期事件,代理系统在收到第一周期事件对应的注册信息后,将第一周期事件对应的周期设定为第一周期定时器的定时时长;启动第一周期定时器,从0开始计时;在第一周期定时器计时过程中,在接收到对端网络设备发送的lacpdu报文时,确定需要进行周期重置;重新启动周期定时器,从0开始计时,并判断本次接收到lacpdu报文的内容是否与上一次收到lacpdu报文的内容一致,根据判断结果处理lacpdu报文。

又如,针对第二周期事件,代理系统在收到第二周期事件对应的注册信息后,将物理端口发送lacpdu报文的周期设定为第一周期定时器的定时时长;启动第二周期定时器,从0开始计时;在第二周期定时器到期(即网络设备的物理端口发送lacpdu报文的周期到期)时,代理系统发送lacpdu报文,并重新启动周期定时器,从0开始计时。

又如,针对第三周期事件,由于第三周期事件对应的周期为0,第三周期事件对应的周期重置的条件以及周期重置时的处理方法均为空,那么代理系统在收到第三周期事件对应的注册信息后执行的操作可以仅为发送lacpdu报文。

在本发明实施例中,针对不同的周期事件,代理系统内部可分别采用不同的处理单元处理,例如,参照图3所示,第一周期事件处理单元负责第一周期事件的处理,第二周期事件处理单元负责第二周期事件的处理,第三周期事件处理单元负责第三周期事件的处理,各个周期事件处理单元由整体的周期注册和管理系统来负责管理和调度。

需要说明的是,在具体实施过程中,上述第一周期事件、第二周期事件以及第三周期事件对应的方法步骤可以分别单独实施,也可以相互结合实施,本发明实施例做具体限制。

需要说明的是,在具体实施过程中,除了上述第一周期事件处理单元、第二周期事件处理单元、第三周期事件处理单元以外,还可以在代理系统中设置其它周期事件处理单元来执行其它类型的处理,本发明实施例对代理系统内部周期事件处理单元的具体实现不做限制。

本发明实施例在网络设备中增加了一套代理系统,该代理系统可以不关注lacp内部的任何状态机逻辑,而是提供整套可定制化的多并发周期性处理功能的管理和运行,代为处理lacp状态机系统中实时性要求高的关键处理,比如端口稳定阶段的周期性发送pdu报文的动作、接收报文超时的动作处理等,来保证大容量短超时场景下,即便lacp系统出现处理延迟的情况下,处于协商完成后稳定阶段的端口依旧能够通过代理系统完成与对端的报文交互,维持了lacp状态的稳定;

其次,该代理系统可以对收到的报文进行过滤,去除稳定阶段的端口交互报文,减少大容量时相同lacpdu报文对lacp系统的冲击,增强系统的稳定性;

并且,由于本发明实施例不关注lacp系统之外的设备系统环境,对环境没有严格的要求,因此不论是集中式还是分布式lacp系统都可以使用本发明实施例技术方案,具有极高的通用性与便利性。

参照图4,基于同一发明构思,本发明实施例还提供一种lacp运行装置400,位于基于lacp进行报文传输的网络设备中,所述装置400包括:

401,用于接收主控系统发送的注册信息;其中,所述注册信息为所述主控系统根据lacp状态机逻辑生成的注册信息,所述注册信息包括周期事件对应的周期、周期到期的处理方法,周期重置的条件以及周期重置时的处理方法;

处理单元402,用于基于所述注册信息根据预设的逻辑对所述周期事件进行处理。

可选的,所述处理单元402具体用于:

将所述周期事件对应的周期设定为周期定时器的定时时长;

启动所述周期定时器,从0开始计时或者从周期值开始倒数计时;

在所述周期定时器计时过程中,当根据所述周期重置的条件确定需要进行周期重置时,执行所述周期重置时的处理方法;

在所述周期定时器计时结束时,执行所述周期到期的处理方法。

可选的,所述主控系统中运行有rx状态机;当所述注册信息包括所述rx状态机发送的第一周期事件的注册信息,则

所述第一周期事件对应的周期为所述rx状态机根据对端网络设备的超时模式确定出的周期;

所述第一周期事件对应的周期到期的处理方法包括:所述装置400触发超时回调,以使所述rx状态机收到所述超时回调后更新端口状态为expired状态;

所述第一周期事件对应的周期重置的条件为:所述装置400接收到对端网络设备发送的lacpdu报文;

所述第一周期事件对应的周期重置时的处理方法包括:所述装置400重新启动周期定时器,从0开始计时。

可选的,所述第一周期事件对应的周期重置时的处理方法还包括:

所述装置400判断本次接收到lacpdu报文的内容是否与上一次收到lacpdu报文的内容一致;

若为是,所述装置400丢弃本次接收到lacpdu报文;

否则,所述装置400对本次接收到lacpdu报文的内容进行处理,或者触发接收报文回调,以使所述rx状态机接收到报文回调后对本次接收到lacpdu报文的内容进行处理。

可选的,所述主控系统中还运行有ptx状态机;当所述注册信息还包括所述ptx状态机发送的第二周期事件的注册信息,则

所述第二周期事件对应的周期为所述网络设备的物理端口发送lacpdu报文的周期;

所述第二周期事件对应的周期到期的处理方法包括:所述装置400发送lacpdu报文;

所述第二周期事件对应的周期重置的条件为:所述网络设备的物理端口发送lacpdu报文的周期到期;

所述第一周期事件对应的周期重置时的处理方法包括:所述装置400重新启动周期定时器,从0开始计时。

可选的,所述主控系统中还运行有tx状态机;当所述注册信息还包括所述tx状态机发送的第三周期事件的注册信息,则

所述第三周期事件对应的周期为0;

所述第三周期事件对应的周期到期的处理方法包括:所述装置400发送lacpdu报文;

所述第三周期事件对应的周期重置的条件为空;

所述第三周期事件对应的周期重置时的处理方法为空。

其中,所述处理单元402具体可包括如本发明实施例中图3所示的第一周期事件处理单元、第二周期事件处理单元以及第三周期事件处理单元,针对不同的周期事件,代理系统内部可分别采用不同的周期事件处理单元处理,具体实施可参照本发明实施例方法实施例中对应部分的详细说明,此处不再赘述。

由于本发明所述方法和装置基于同一发明构思,方法及装置解决问题的原理相似,以上各单元所执行操作的具体实现方式可以参照本发明实施例上述lacp运行方法中对应的步骤,因此装置与方法的实施可以相互参见,重复之处不再赘述。

参照图5,基于同一发明构思,本发明实施例还提供一种lacp运行装置500,位于基于lacp进行报文传输的网络设备中;所述装置500包括:

生成模块501,用于根据lacp状态机逻辑生成注册信息;其中,所述注册信息包括周期事件对应的周期、周期到期的处理方法,周期重置的条件以及周期重置时的处理方法;

发送模块502,用于向代理系统发送所述注册信息,以使所述代理系统基于所述注册信息根据预设的逻辑对所述周期事件进行处理。

可选的,所述装置500中运行有rx状态机;当所述注册信息包括所述rx状态机发送的第一周期事件的注册信息,则

所述第一周期事件对应的周期为所述rx状态机根据对端网络设备的超时模式确定出的周期;

所述第一周期事件对应的周期到期的处理方法包括:所述代理系统触发超时回调,以使所述rx状态机收到所述超时回调后更新端口状态为expired状态;

所述第一周期事件对应的周期重置的条件为:所述代理系统接收到对端网络设备发送的lacpdu报文;

所述第一周期事件对应的周期重置时的处理方法包括:所述代理系统重新启动周期定时器,从0开始计时。

可选的,所述第一周期事件对应的周期重置时的处理方法还包括:

所述代理系统判断本次接收到lacpdu报文的内容是否与上一次收到lacpdu报文的内容一致;

若为是,所述代理系统丢弃本次接收到lacpdu报文;

否则,所述代理系统对本次接收到lacpdu报文的内容进行处理,或者触发接收报文回调,以使所述rx状态机接收到报文回调后对本次接收到lacpdu报文的内容进行处理。

可选的,所述装置500中还运行有ptx状态机;当所述注册信息还包括所述ptx状态机发送的第二周期事件的注册信息,则

所述第二周期事件对应的周期为所述网络设备的物理端口发送lacpdu报文的周期;

所述第二周期事件对应的周期到期的处理方法包括:所述代理系统发送lacpdu报文;

所述第二周期事件对应的周期重置的条件为:所述网络设备的物理端口发送lacpdu报文的周期到期;

所述第一周期事件对应的周期重置时的处理方法包括:所述代理系统重新启动周期定时器,从0开始计时。

可选的,所述装置500中还运行有tx状态机;当所述注册信息还包括所述tx状态机发送的第三周期事件的注册信息,则

所述第三周期事件对应的周期为0;

所述第三周期事件对应的周期到期的处理方法包括:所述代理系统发送lacpdu报文;

所述第三周期事件对应的周期重置的条件为空;

所述第三周期事件对应的周期重置时的处理方法为空。

由于本发明所述方法和装置基于同一发明构思,方法及装置解决问题的原理相似,以上各单元所执行操作的具体实现方式可以参照本发明实施例上述lacp运行方法中对应的步骤,因此装置与方法的实施可以相互参见,重复之处不再赘述。

参照图6,基于同一发明构思,本发明实施例还提供一种lacp运行系统,包括:

如本发明实施例所述的装置400;以及

如本发明实施例所述的装置500。

参照图7,基于同一发明构思,本发明实施例还提供一种lacp运行装置,包括:

存储器701,用于存储计算机指令;

通信接口702,用于与网络设备进行通信;

处理器703,与所述存储器701以及所述通信接口702通信连接,用于执行所述存储器701中的计算机指令,以在执行所述计算机指令时执行如本发明实施例所述的lacp运行方法。

可选的,处理器701具体可以包括中央处理器(centralprocessingunit,cpu)、特定应用集成电路(applicationspecificintegratedcircuit,asic),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(fieldprogrammablegatearray,fpga)开发的硬件电路,可以是基带处理器。

可选的,处理器701可以包括至少一个处理核心。

可选的,该装置还包括存储器703,存储器703可以包括只读存储器(readonlymemory,rom)、随机存取存储器(randomaccessmemory,ram)和磁盘存储器。存储器703用于存储处理器701运行时所需的数据。

基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如本发明实施例所述的lacp运行方法。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1