一种数据处理方法、装置、通信系统及网络设备与流程

文档序号:17158436发布日期:2019-03-20 00:18阅读:172来源:国知局
一种数据处理方法、装置、通信系统及网络设备与流程

本发明属于数据通信技术领域,具体涉及一种数据处理方法、装置、通信系统及网络设备。



背景技术:

链路聚合将两台设备间多条物理链路捆绑在一起形成一个逻辑链路,以扩展链路带宽,同时逻辑链路内各条物理链路彼此互为冗余和动态备份,以提供更高的网络连接可靠性。将多个物理端口捆绑在一起所形成的组合称为聚合组,而这些被捆绑在一起的物理端口称为聚合组的成员端口。链路聚合模式分为静态(手工)聚合模式和动态(协议)聚合模式。当前,动态链路聚合的协议是基于ieeestd802.1ax标准的lacp(linkaggregationcontrolprotocol,链路聚合控制协议)。待聚合的两台设备通过发送lacp报文向对端告知自己的系统优先级、系统mac、端口优先级、端口号和操作key,对端收到这些信息后,将这些信息与自己对应端口的信息进行比较,选择出能够聚合的端口,进而可以让双方对某个端口加入或退出某个动态聚合组达成一致。

在框式交换机或路由器上,命令热拔(软件拔卡,目的是方便远程拔出板卡)带动态聚合端口的接口板时,由于要处理拔卡事件以及后续流程等,因此该过程需要消耗一定时间,使得在关闭接口板电源之前,对端设备聚合组不能感知该状况,只能被动等待,直到lacp超时,导致对端设备聚合组不能及时重新选择参考端口和重新负载分担流量,从而影响网络的可靠性以及承载的业务质量。



技术实现要素:

鉴于此,本发明实施例的目的在于提供一种数据处理方法、装置、通信系统及网络设备,以有效地改善上述问题。

本发明的实施例是这样实现的:

第一方面,本发明实施例提供了一种数据处理方法,所述方法包括:在热拔本端设备中的接口板时,获取所述接口板的端口集、所述本端设备配置的所有链路聚合组以及每个聚合组中的所有成员端口;判断每个聚合组中是否有在所述端口集内且为选中状态的第一成员端口;在存在所述第一成员端口时,从所述第一成员端口所属的聚合组中确定出不在所述端口集内的第二成员端口;通过所述第二成员端口向与所述第一成员端口链路聚合的对端设备发送扩展链路聚合控制协议报文,所述扩展链路聚合控制协议报文携带有所述接口板的端口集。本申请实施例中,在热拔本端设备的接口板时,获取该接口板的端口集(包含该接口板上的所有端口)、配置在本端设备的所有链路聚合组以及每个聚合组中的所有成员端口,然后判断每个聚合组中是否有在端口集内且为选中状态的第一成员端口,也即判断该接口板是否含有属于链路聚合组内且为选中状态的第一成员端口,若含有这样的端口,就需要选择一条可达的链路,发送该板卡将要被热拔的信息到对端,在选择该链路时,需要排除在该接口板上的端口,因此,需要从第一成员端口所属的聚合组中确定出不在端口集内的第二成员端口来发送该板卡将要被热拔的信息,使对端不用被动等待,能够快速将与热拔板卡聚合的端口变为非选中状态,从而使流量重新负载分担和收敛,进而保证了网络的可靠性以及承载的业务质量。

结合第一方面的一种可能的实施方式,从所述第一成员端口所属的聚合组中确定出不在所述端口集内的第二成员端口,包括:从所述第一成员端口所属的聚合组中确定出不在所述端口集内的目标成员端口;判断所述目标成员端口中是否存在为所述选中状态的成员端口;在为是时,从为所述选中状态的成员端口中选择一成员端口作为所述第二成员端口。本申请实施例中,在选择一条可达的链路,发送该板卡将要被热拔的信息到对端时,除了要排除所选用的链路为该接口板上的端口外,还要尽量选择为选中状态的端口来发给该信息,以保证该信息能成功地发送到对端,进而减少对端被动等待的时间,同时,一个聚合组中不管存在多少个在该接口板上的端口,在发送该消息时,都只通过一个第二成员端口来发,避免对接收消息的聚合组成员端口造成额外的功能影响。

结合第一方面的一种可能的实施方式,从所述第一成员端口所属的聚合组中确定出不在所述端口集内的第二成员端口,包括:从所述第一成员端口所属的聚合组中确定出不在所述端口集内的目标成员端口;判断所述目标成员端口中是否存在为所述选中状态的成员端口;在为否时,从所述目标成员端口中选择一可以收发协议报文的成员端口作为所述第二成员端口。本申请实施例中,在选择一条可达的链路,发送该板卡将要被热拔的信息到对端时,尽量选择为选中状态的端口来发给该信息,若没有为选中状态的端口时,也要选择可以收发协议报文的成员端口来发送该消息,尽可能地保证该信息发送到对端,进而减少对端被动等待的时间,同时,一个聚合组中不管存在多少个在该接口板上的端口,在发送该消息时,都只通过一个第二成员端口来发,避免对接收消息的聚合组成员端口造成额外的功能影响。

第二方面,本申请实施例还提供了一种数据处理方法,所述方法包括:接收对端设备发送的扩展链路聚合控制协议报文;获取所述扩展链路聚合控制协议报文中携带的热拔接口板的端口集,以及获取接收所述扩展链路聚合控制协议报文的端口所属的链路聚合组中的成员端口;判断所述链路聚合组中是否存在为选中状态且连接的对端设备的端口在所述端口集内的第三成员端口;在存在所述第三成员端口时,将所述第三成员端口置为非选中状态。本申请实施例中,本端设备可以通过接收对端设备发送的扩展链路聚合控制协议报文,获悉对端设备中将要被热拔的接口板的端口集,以便查看接收该扩展链路聚合控制协议报文的端口所属的链路聚合组中是否在为选中状态且连接的对端设备的端口在该热拔板卡的端口集内的成员端口,进而将能够快速将与热拔板卡聚合的端口变为非选中状态,从而使流量重新负载分担和收敛,进而保证了网络的可靠性以及承载的业务质量。

结合第二方面的一种可能的实施方式,将所述第三成员端口置为非选中状态之后,所述方法还包括:关闭所述第三成员端口的数据报文收发功能。本申请实施例中,除了将与热拔板卡聚合的端口变为非选中状态,还要关闭该端口的数据报文收发功能,从而杜绝报文从该端口发送出去,进一步地提高了网络的可靠性。

第三方面,本申请实施例还提供了一种数据处理装置,所述装置包括:获取模块,用于在热拔本端设备中的接口板时,获取所述接口板的端口集、所述本端设备配置的所有链路聚合组以及每个聚合组中的所有成员端口;判断模块,用于判断每个聚合组中是否有在所述端口集内且为选中状态的第一成员端口;确定模块,用于在存在所述第一成员端口时,从所述第一成员端口所属的聚合组中确定出不在所述端口集内的第二成员端口;发送模块,用于通过所述第二成员端口向与所述第一成员端口链路聚合的对端设备发送扩展链路聚合控制协议报文,所述扩展链路聚合控制协议报文携带有所述接口板的端口集。

结合第三方面的一种可能的实施方式,所述确定模块,还用于从所述第一成员端口所属的聚合组中确定出不在所述端口集内的目标成员端口;判断所述目标成员端口中是否存在为所述选中状态的成员端口;在为是时,从为所述选中状态的成员端口中选择一成员端口作为所述第二成员端口。

结合第三方面的一种可能的实施方式,所述确定模块,还用于从所述第一成员端口所属的聚合组中确定出不在所述端口集内的目标成员端口;判断所述目标成员端口中是否存在为所述选中状态的成员端口;在为否时,从所述目标成员端口中选择一可以收发协议报文的成员端口作为所述第二成员端口。

第四方面,本申请实施例还提供了一种数据处理装置,所述装置包括:接收模块,用于接收对端设备发送的扩展链路聚合控制协议报文;获取模块,用于获取所述扩展链路聚合控制协议报文中携带的热拔接口板的端口集,以及获取接收所述扩展链路聚合控制协议报文的端口所属的链路聚合组中的成员端口;判断模块,用于判断所述链路聚合组中是否存在为选中状态且连接的对端设备的端口在所述端口集内的第三成员端口;切换模块,用于在存在所述第三成员端口时,将所述第三成员端口置为非选中状态。

结合第四方面的一种可能的实施方式,所述装置还包括:关闭模块,用于关闭所述第三成员端口的数据报文收发功能。

第五方面,本申请实施例还提供了一种通信系统,包括:本端设备和对端设备;所述本端设备,用于在热拔所述本端设备中的接口板时,获取所述接口板的端口集、所述本端设备配置的所有链路聚合组以及每个聚合组中的所有成员端口;所述本端设备,还用于判断每个聚合组中是否有在所述端口集内且为选中状态的第一成员端口;所述本端设备,还用于在存在所述第一成员端口时,从所述第一成员端口所属的聚合组中确定出不在所述端口集内的第二成员端口;所述本端设备,还用于通过所述第二成员端口向与所述第一成员端口链路聚合的对端设备发送扩展链路聚合控制协议报文,所述扩展链路聚合控制协议报文携带有所述接口板的端口集;所述对端设备,用于接收所述本端设备发送的所述扩展链路聚合控制协议报文;所述对端设备,还用于获取所述扩展链路聚合控制协议报文中携带的热拔接口板的端口集,以及获取接收所述扩展链路聚合控制协议报文的端口所属的链路聚合组中的成员端口;所述对端设备,还用于判断所述链路聚合组中是否存在为选中状态且连接的对端设备的端口在所述端口集内的第三成员端口;所述对端设备,还用于在存在所述第三成员端口时,将所述第三成员端口置为非选中状态。

第六方面,本申请实施例还提供了一种网路设备,包括:处理器,用于在热拔网路设备中的接口板时,获取所述接口板的端口集、所述网路设备配置的所有链路聚合组以及每个聚合组中的所有成员端口;所述处理器,还用于判断每个聚合组中是否有在所述端口集内且为选中状态的第一成员端口;所述处理器,还用于在存在所述第一成员端口时,从所述第一成员端口所属的聚合组中确定出不在所述端口集内的第二成员端口;以及收发器,用于通过所述第二成员端口向与所述第一成员端口链路聚合的对端设备发送扩展链路聚合控制协议报文,所述扩展链路聚合控制协议报文携带有所述接口板的端口集。

第七方面,本申请实施例还提供了一种网络设备,包括:收发器,用于接收对端设备发送的扩展链路聚合控制协议报文;以及处理器,用于获取所述扩展链路聚合控制协议报文中携带的热拔接口板的端口集,以及获取接收所述扩展链路聚合控制协议报文的端口所属的链路聚合组中的成员端口;所述处理器,还用于判断所述链路聚合组中是否存在为选中状态且连接的对端设备的端口在所述端口集内的第三成员端口;所述处理器,还用于在存在所述第三成员端口时,将所述第三成员端口置为非选中状态。

本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。

图1示出了本发明实施例提供的一种通信系统的结构示意图。

图2示出了本发明实施例提供的一种lacp扩展链路聚合控制协议报文的结构示意图。

图3示出了本发明实施例提供的另一种lacp扩展链路聚合控制协议报文的结构示意图。。

图4示出了本发明实施例提供的一种数据处理方法的流程示意图。

图5示出了本发明实施例提供的又一种数据处理方法的流程示意图。

图6示出了本发明实施例提供的一种网络设备的结构示意图。

图7示出了本发明实施例提供的另一种网络设备的结构示意图。

图8示出了本发明实施例提供的应用于图6中的数据处理装置的模块示意图。

图9示出了本发明实施例提供的应用于图7中的数据处理装置的模块示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。

在框式交换机或路由器上,命令热拔(软件拔卡)带动态聚合端口的接口板时,由于要处理拔卡事件以及后续流程等,因此该过程需要消耗一定时间,使得在关闭接口板电源之前,对端设备聚合组不能感知该状况,只能被动等待,直到lacp超时,导致对端设备聚合组不能及时重新选择参考端口和重新负载分担流量,从而影响网络的可靠性以及承载的业务质量。

为了解决该技术问题,现有技术中提出了多种方案:

(1)通过上层业务模块(如运行于mpu)在卡间通信停止之前抢先发送端口不可聚合的报文到对端。本申请发明人发现该方案存在以下缺陷,如果拔出的接口板是堆叠系统从设备堆叠接口板时,由于从设备mpu先于主设备mpu感知这一状况,若从设备mpu已经停止该板卡流量转发、卡间通信等任务,就会导致上层业务模块抢先发送的报文不能从该板卡的端口发出。

(2)通过上层业务模块选择一个优先级最高的聚合组成员端口发送带故障信息的lacp报文到对端。本申请发明人发现该方案存在以下缺陷,如果优先级最高的聚合组成员端口刚好在拔出板卡上,将不能发送协议报文。

(3)通过拔卡处理流程也即down掉物理端口,使对端设备响应link-down实现故障感知。本申请发明人发现该方案存在以下缺陷,如果是跨网络聚合,直接down掉端口,聚合的另一端是不感知的。此外,down掉端口这个动作由底层完成,为了保证系统的稳定性,需要一个端口一个端口down掉,这样如果配置较多时,编号靠后的端口down掉需要等待较长的时间。

针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。

鉴于此,本申请实施例提供了一种数据处理方法、装置、通信系统及网络设备,来解决上述问题。

第一实施例

请参阅图1,图1为本发明实施例提供的一种通信系统的交互示意图。该通信系统包括:本端设备和对端设备。为了便于理解,结合图1进行说明,对于设备1来说,本端设备指自己,对端设备指设备2;同理,对于设备2来说,本端设备指自己,对端设备指设备1和设备3;同理,对于设备3来说,本端设备指自己,对端设备指设备2。其中,上述的本端设备以及对端设备均为网络设备,如框式交换机或框式路由器等,包括接口板(lineprocessingunit,lpu)和主控板(mainprocessingunit,mpu)。其中,需要说明的是,本文中是以本端设备的视角来进行说明的,如以设备2作为本端设备进行说明时,此时,设备1以及设备3均为对端设备,之后对设备1和设备3进行说明时,此时,设备1和设备3均为本端设备,设备2为对端设备,也就是说,上述的本端设备和对端设备是相对的,不是绝对的。

本申请实施例主要目的是,在命令热拔含有动态聚合组的接口板时,能快速选择一条可达的链路,发送该板卡将要被热拔的信息到对端,使对端不用被动等待(直到lacp超时才能获知这一消息),能够快速将与热拔板卡聚合的端口变为非选中状态,从而使流量重新负载分担和收敛,进而保证了网络的可靠性以及承载的业务质量。例如,以图1所示为例,在热拔本端设备中的接口板(如命令热拔设备2中的lpu-1)时,将得到该接口板(如命令热拔设备2中的lpu-1)的端口集(如包含9-16这8个端口)、本端设备配置的所有链路聚合组(如包含两个聚合组,分别是lag-2和lag-3)以及每个聚合组中的所有成员端口,例如,对于lag-2这个聚合组来说,其成员端口包括1、9、18,对于lag-3这个聚合组来说,其成员端口包括7、24。为了便于理解上述端口示意的端口号,下面简单说明一下,对于设备2来说,包含三个接口板,分别为lpu-0、lpu-1、lpu-2,其中,每个接口板包括8个端口,也即,lpu-0的端口号为1-8,lpu-1的端口号为9-16,lpu-2的端口号为17-24。对于lag-2这个聚合组来说,在lpu-0上的成员端口为gi0/1(也即上述的1)、在lpu-1上的端口为gi1/1(也即上述的9)、在lpu-2上的端口为gi2/2(也即上述的18)。对于lag-3这个聚合组来说,在lpu-0上的成员端口为gi0/7(也即上述的7)、在lpu-2上的端口为gi2/8(也即上述的24)。

在获取到上述信息后,本端设备还用于判断每个聚合组中是否有在即将热拔的接口板的端口集内且为选中状态的第一成员端口,例如,判断lag-2以及lag-3这两个聚合组中是否有在该端口集内且为选中状态的第一成员端口。在确定存在第一成员端口时,本端设备还用于从第一成员端口所属的聚合组中确定出不在端口集内的第二成员端口,以图1所示的设备2为例,经过上述判断后发现只有lag-2中有为选中状态,且在该端口集内的成员端口,即端口9,此时该端口9即为第一成员端口,此时,从第一成员端口(如端口9)所属的聚合组中确定出不在端口集内的第二成员端口,也即从lag-2中确定出不在端口集内的第二成员端口,如将确定出端口1(gi0/1)作为第二成员端口。在确定出第二成员端口后,本端设备还用于通过第二成员端口向与第一成员端口链路聚合的对端设备发送扩展链路聚合控制协议报文,所述扩展链路聚合控制协议报文携带有接口板的端口集,例如,在确定出端口1后,通过端口1向与端口9口链路聚合的对端设备(此时为设备1)发送扩展链路聚合控制协议报文。其中,该扩展链路聚合控制协议报文携带有接口板的端口集,如该扩展链路聚合控制协议报文携带有lpu-2的端口集(9-16)。

对端设备(如设备1)在接收到本端设备(如设备2)发送的上述扩展链路聚合控制协议报文后,获取该扩展链路聚合控制协议报文中携带的热拔接口板(如lpu-2)的端口集(如9-16),以及获取接收该扩展链路聚合控制协议报文的端口(如端口7)所属的链路聚合组中的成员端口,例如,设备1的端口7(gi0/7)在收到该扩展链路聚合控制协议报文后,解析出报文中携带的热拔板卡的端口集为9-16,查询到接收该扩展链路聚合控制协议报文的端口7所属的链路聚合组为lag-1,并且lag-1包括成员端口7、15、24。在获取到这些信息后,对端设备还用于判断该链路聚合组中是否存在为选中状态且与该端口集内的端口进行链路聚合的第三成员端口;以及在存在所述第三成员端口时,将所述第三成员端口置为非选中状态。例如,判断lag-1中是否存在为选中状态且连接的对端设备的端口在该端口集内的第三成员端口,通过比对发现,lag-1中只有端口15选中状态且该端口15与设备2连接的端口9在该端口集内,也即端口15为第三成员端口,此时将端口15置为非选中状态。

其中,需要说明的是,上述的扩展链路聚合控制协议报文为lacp(linkaggregationcontrolprotocol,链路聚合控制协议)扩展链路聚合控制协议报文,通过利用lacp扩展字段,一个聚合组最多发送一个扩展链路聚合控制协议报文,降低设备开销,同时避免对接收消息的聚合组成员端口造成额外的功能影响。也就是说,本文中的扩展链路聚合控制协议报文是经过改进后的报文,能兼容现有不支持lacp扩展字段的设备,并不是普通的lacp报文。进一步地,当前lacp报文存在两个标准版本,一个是ieeestd802.1ax-2008标准(version1),另一个是ieeestd802.1ax-2014标准(version2),基于这两个版本的lacp可以通过携带的版本号来进行区分。按照version1,lacp扩展链路聚合控制协议报文结构如图2所示,其中,虚线所示的地方即为扩展字段,扩展信息规定了部分扩展信息(如类型为0x04以后,但不含0x04,也即0x04可用),因此自定义扩展类型quicklyswitchingportstatus不能与之冲突,lacp扩展链路聚合控制协议报文除了自定义字段外,其它字段按照发送端口的信息进行填充,例如,以设备2的端口1向设备1中的端口7发送lacp扩展链路聚合控制协议报文为例,图1中的目的mac地址为组播mac地址,源mac地址为设备2的mac地址,start_port为命令热拔的接口板lpu-1的端口9,end_port为命令热拔的接口板lpu-1的端口16。这样lag-2这个聚合组在向对端设备1发送扩展链路聚合控制协议报文时,只需要发送一个扩展链路聚合控制协议报文就能将热拔板卡的所有端口号告知对方,如上述的9-16。

按照version2,lacp扩展链路聚合控制协议报文结构如图3所示,其中,虚线所示的地方即为扩展字段,othertlvs规定了部分扩展信息(类型为0x04 ̄0x0a以后,包括0x0a,也即0x0a不可用),因此自定义扩展类型quicklyswitchingportstatus不能与之冲突,lacp扩展链路聚合控制协议报文除了自定义字段外,其它字段按照发送端口的信息进行填充,其中,填充的过程与version1相同,此处不再累赘。

其中,需要说明的是,上述的示例,仅仅是为了便于理解本申请实施例的原理,不能将其理解成是对本申请的限制,而真实情况下,本端设备上配置的链路聚合组的情况要比上述示例复杂得多,如可能包含5-6个甚至更多的聚合组,而不是示例中的仅包含两个聚合组,且可能存在多个聚合组中均有在端口集内且为选中状态的第一成员端口,且不同的第一成员端口对应的链路聚合的对端设备也不同,也即在发送扩展链路聚合控制协议报文时,可能是同时向多个对端设备发送。虽然真实情况下的情况可能比上述示例复杂得多,但是原理是一样的,因此,上述示例仅是为了便于理解本申请实施例的原理而举的例子而已。

第二实施例

请参阅图4为本发明实施例提供的一种数据处理方法,下面将结合图4对其所包含的步骤进行说明。

步骤s101:在热拔本端设备中的接口板时,获取所述接口板的端口集、所述本端设备配置的所有链路聚合组以及每个聚合组中的所有成员端口。

如本端设备中的主控板在命令热拔本端设备中的接口板时,获取即将热拔的接口板的端口集、该本端设备上配置的所有链路聚合组以及每个聚合组中的所有成员端口。

步骤s102:判断每个聚合组中是否有在所述端口集内且为选中状态的第一成员端口。

在获取到即将热拔的接口板的端口集、本端设备上配置的所有链路聚合组以及每个聚合组中的所有成员端口这些信息后,判断每个聚合组中是否有在该端口集内且为选中状态的第一成员端口。例如,在判断某个聚合组中是否有在该端口集内且为选中状态的第一成员端口,可以是通过遍历的方式进行判断,如随机选取一成员端口判断其是否在该端口集内,若不是,则判断下一个成员端口,若是则判断是否为选中状态,若不为选中状态,则判断下一个成员端口,若为选中状态,也即存在第一成员端口,则执行步骤s103。在判断下一个成员端口的情况与之类似,也是判断其是否在该端口集内,若不是,则判断下一个成员端口,若是则判断是否为选中状态,若不为选中状态,则判断下一个成员端口,若为选中状态,也即存在第一成员端口,则执行步骤s103。其中,需要说的是,遍历并不是要将所有的成员端口都判断一次,而是沿着某条搜索路线,依次对聚合组中每个成员端口均做一次且仅做一次访问,当查找到满足条件的成员端口后就结束,否则会沿着该条搜索路线依次会每个成员端口进行访问,直至查找到满足条件的成员端口为止,或访问完全部成员端口为止,例如,在访问第一个成员端口时,就查找到满足条件的成员端口了,也就不会再访问后面的成员端口了,只有第一个成员端口不满足条件才会访问下一个成员端口。

步骤s103:在存在所述第一成员端口时,从所述第一成员端口所属的聚合组中确定出不在所述端口集内的第二成员端口。

在确定存在第一成员端口时,从该第一成员端口所属的聚合组中确定出不在端口集内的第二成员端口。也即,在确定存在第一成员端口时需要选择一条可达的链路,发送该板卡将要被热拔的信息到对端时,因此,需要排除所选用的链路为该接口板上的端口。

作为一种可选的实施方式,该过程可以是,从所述第一成员端口所属的聚合组中确定出不在所述端口集内的目标成员端口;判断所述目标成员端口中是否存在为所述选中状态的成员端口;在为是时,从为所述选中状态的成员端口中选择一成员端口作为所述第二成员端口。也即,除了要排除所选用的链路为该接口板上的端口外,还要尽量选择为选中状态的端口来发给该信息,以保证该信息能成功地发送到对端,进而减少对端被动等待的时间,同时,一个聚合组中不管存在多少个在该接口板上的端口,在发送该消息时,都只通过一个第二成员端口来发,避免对接收消息的聚合组成员端口造成额外的功能影响。

其中,上述过程也可以是通过遍历的方式进行判断,如从第一成员端口所属的聚合组中随机选取一成员端口判断其是否在端口集内,若在,则判断下一个成员,若不在,则判断是否为选中状态,若为选中状态,也即找到第二成员端口,若不为选中状态,则判断下一个成员端口。直至找到满足条件的第二成员端口为止,或者访问完该聚合组中的全部成员端口为止。

作为另一种可选的实施方式,该过程可以是,从所述第一成员端口所属的聚合组中确定出不在所述端口集内的目标成员端口;判断所述目标成员端口中是否存在为所述选中状态的成员端口;在为否时,从所述目标成员端口中选择一可以收发协议报文的成员端口作为所述第二成员端口。也即,除了要排除所选用的链路为该接口板上的端口外,尽量选择为选中状态的端口来发给该信息,若没有为选中状态的端口时,也要选择可以收发协议报文的成员端口来发送该消息,尽可能地保证该信息发送到对端,进而减少对端被动等待的时间,同时,一个聚合组中不管存在多少个在该接口板上的端口,在发送该消息时,都只通过一个第二成员端口来发,避免对接收消息的聚合组成员端口造成额外的功能影响。

其中,上述过程也可以是通过遍历的方式进行判断,如从第一成员端口所属的聚合组中随机选取一成员端口判断其是否在端口集内,若在,则判断下一个成员,若不在,则判断是否为选中状态,若不为选中状态,看是否可以收发协议报文(也即查看该端口是否呈link-up状态),若是则可以进行标记如即为p,则判断下一个成员端口,若直至访问完该聚合组中的全部成员端口为止均为没有不再该端口集内且为选中状态的端口,则将标记为p的端口作为第二成员端口。其中,需要说明的是,在后续访问时,可以不用再看是否可以收发协议报文。

步骤s104:通过所述第二成员端口向与所述第一成员端口链路聚合的对端设备发送扩展链路聚合控制协议报文,所述扩展链路聚合控制协议报文携带有所述接口板的端口集。

在确定出第二成员端口后,通过第二成员端口向与第一成员端口链路聚合的对端设备发送扩展链路聚合控制协议报文,扩展链路聚合控制协议报文携带有所述接口板的端口集,以便将该板卡将要被热拔的信息告知对端,使对端不用被动等待,能够快速将与热拔板卡聚合的端口变为非选中状态,从而使流量重新负载分担和收敛。其中,该扩展链路聚合控制协议报文为lacp扩展链路聚合控制协议报文。

第三实施例

请参阅图5为本发明实施例提供的一种数据处理方法,下面将结合图5对其所包含的步骤进行说明。

步骤s201:接收对端设备发送的扩展链路聚合控制协议报文。

本端设备接收对端设备发送的扩展链路聚合控制协议报文,其中,该扩展链路聚合控制协议报文携带有对端设备即将热拔的接口板的端口集,如图1中的设备1接收设备2发送的扩展链路聚合控制协议报文。

步骤s202:获取所述扩展链路聚合控制协议报文中携带的热拔接口板的端口集,以及获取接收所述扩展链路聚合控制协议报文的端口所属的链路聚合组中的成员端口。

在接收到对端设备(如设备2)发送的扩展链路聚合控制协议报文后,,设备1的端口7(gi0/7)在收到该扩展链路聚合控制协议报文后,解析出报文中携带的热拔板卡的端口集,以及获取接收所述扩展链路聚合控制协议报文的端口所属的链路聚合组中的成员端口,如查询到接收该扩展链路聚合控制协议报文的端口7所属的链路聚合组为lag-1,并且lag-1包括成员端口7、15、24。

步骤s203:判断所述链路聚合组中是否存在为选中状态且连接的对端设备的端口在所述端口集内的第三成员端口。

在获取到这些信息后,判断该链路聚合组中是否存在为选中状态且在该端口集内的第三成员端口,在确定存在第三成员端口时,执行步骤s204,否则不处理,例如,判断lag-1中是否存在为选中状态且连接的对端端口在该端口集内的第三成员端口,通过比对发现,lag-1中只有端口15选中状态且端口15连接的设备2中的端口9在该端口集内,也即端口15为第三成员端口,此时将端口15置为非选中状态。

其中,判断所述链路聚合组中是否存在为选中状态且连接的对端设备的端口在所述端口集内的第三成员端口,可以是通过轮询的方式进行判断,如随机选取链路聚合组中的一成员端口判断其是否为选中状态,若为选中状态,则判断其连接的对端设备的端口是否在该端口集内,若不是,则判断下一个成员端口,若在端口集内,也即存在第三成员端口,则执行步骤s204,然后继续轮询其余端口直至确定出所有的第三成员端口。在判断下一个成员端口的情况与之类似,直至访问完全部成员端口为止。

步骤s204:在存在所述第三成员端口时,将所述第三成员端口置为非选中状态。

在确定出第三成员端口时,将所述第三成员端口置为非选中状态,从而使流量重新负载分担和收敛。

可选地,将所述第三成员端口置为非选中状态之后,所述方法还包括:关闭所述第三成员端口的数据报文收发功能。如利用mux状态机关闭第三成员端口的报文收发功能,最终将停止与热拔板卡上的端口进行聚合的端口的流量转发,并更新聚合组的参考端口。

第四实施例

本发明实施例还提供了一种网络设备100,如图6所示。该网络设备100可以包括:至少一个收发器110,至少一个处理器120,例如cpu,至少一个存储器130和至少一个通信总线140。其中,通信总线140用于实现这些组件直接的连接通信。收发器110用于接收和发送数据。存储器130可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。其中,存储器130中存储有计算机可读取指令,如存储有图8中所示的软件功能模块,即数据处理装置300。其中,数据处理装置300包括至少一个可以软件或固件(firmware)的形式存储于所述存储器130中或固化在所述网络设备100的操作系统(operatingsystem,os)中的软件功能模块。所述处理器120用于执行存储器130中存储的可执行模块,例如所述数据处理装置300包括的软件功能模块或计算机程序。例如,处理器120,用于在热拔网路设备100中的接口板时,获取所述接口板的端口集、所述网路设备100配置的所有链路聚合组以及每个聚合组中的所有成员端口;以及还用于判断每个聚合组中是否有在所述端口集内且为选中状态的第一成员端口;以及还用于在存在所述第一成员端口时,从所述第一成员端口所属的聚合组中确定出不在所述端口集内的第二成员端口。收发器110,用于通过所述第二成员端口向与所述第一成员端口链路聚合的对端设备发送扩展链路聚合控制协议报文,所述扩展链路聚合控制协议报文携带有所述接口板的端口集。

第五实施例

本发明实施例还提供了一种网络设备200,如图7所示。该网络设备200可以包括:至少一个收发器210,至少一个处理器220,例如cpu,至少一个存储器230和至少一个通信总线240。其中,通信总线240用于实现这些组件直接的连接通信。收发器210用于接收和发送数据。存储器230可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。其中,存储器230中存储有计算机可读取指令,如存储有图9中所示的软件功能模块,即数据处理装置400。其中,数据处理装置400包括至少一个可以软件或固件(firmware)的形式存储于所述存储器230中或固化在所述网络设备200的操作系统(operatingsystem,os)中的软件功能模块。所述处理器220用于执行存储器230中存储的可执行模块,例如所述数据处理装置400包括的软件功能模块或计算机程序。例如,收发器210,用于接收对端设备发送的扩展链路聚合控制协议报文;以及处理器220,用于获取所述扩展链路聚合控制协议报文中携带的热拔接口板的端口集,以及获取接收所述扩展链路聚合控制协议报文的端口所属的链路聚合组中的成员端口;以及还用于判断所述链路聚合组中是否存在为选中状态且连接的对端设备的端口在所述端口集内的第三成员端口;以及还用于在存在所述第三成员端口时,将所述第三成员端口置为非选中状态。

第六实施例

本发明实施例还提供了一种数据处理装置300,如图8所示。该数据处理装置300包括:获取模块310、判断模块320、确定模块330以及发送模块340。

获取模块310,用于在热拔本端设备中的接口板时,获取所述接口板的端口集、所述本端设备配置的所有链路聚合组以及每个聚合组中的所有成员端口。

判断模块320,用于判断每个聚合组中是否有在所述端口集内且为选中状态的第一成员端口。

确定模块330,用于在存在所述第一成员端口时,从所述第一成员端口所属的聚合组中确定出不在所述端口集内的第二成员端口。

发送模块340,用于通过所述第二成员端口向与所述第一成员端口链路聚合的对端设备发送扩展链路聚合控制协议报文,所述扩展链路聚合控制协议报文携带有所述接口板的端口集。

本发明实施例所提供的数据处理装置300,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

第七实施例

本发明实施例还提供了一种数据处理装置400,如图9所示。该数据处理装置400包括:接收模块410、获取模块420、判断模块430以及切换模块440。

接收模块410,用于接收对端设备发送的扩展链路聚合控制协议报文。

获取模块420,用于获取所述扩展链路聚合控制协议报文中携带的热拔接口板的端口集,以及获取接收所述扩展链路聚合控制协议报文的端口所属的链路聚合组中的成员端口。

判断模块430,用于判断所述链路聚合组中是否存在为选中状态且连接的对端设备的端口在所述端口集内的第三成员端口。

切换模块440,用于在存在所述第三成员端口时,将所述第三成员端口置为非选中状态。

本发明实施例所提供的数据处理装置400其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

第八实施例

本本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第二实施例或第三实施例所示的方法。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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