一种跨设备链路聚合方法、装置、计算装置和存储介质与流程

文档序号:16401883发布日期:2018-12-25 20:10阅读:540来源:国知局
一种跨设备链路聚合方法、装置、计算装置和存储介质与流程

本发明涉及数据通信领域,尤其涉及一种跨设备链路聚合方法、装置、计算装置和存储介质。

背景技术

链路聚合(linkaggregation),是指将多个物理端口捆绑在一起,成为一个逻辑端口,以实现出/入流量在各成员端口中的负荷分担。网络设备根据用户配置的端口负荷分担策略决定报文从哪一个成员端口发送到对端的网络设备。当网络设备检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送报文,并根据负荷分担策略在剩下链路中重新计算报文发送的端口。故障端口恢复后再次重新启用相应端口进行报文发送。链路聚合在增加链路带宽、实现链路传输弹性和冗余等方面是一项很重要的技术。如图1所示,型号为3228-1和3228-2两台设备将fei_1/15和fei_1/16两个物理口捆绑一个逻辑端口,实现了链路聚合的功能。

图2为极简认证热备(ha)场景的示意图。在该图中,两台核心路由器(rsr77-x)互为备份。正常情况下,两台核心路由器都处于工作状态,两台设备通过设备连接(rdc)接口进行数据同步。当设备的某个线卡或整机重启时,重启的那张卡的用户流量(用户pc端、eportal服务端、sam服务端的报文)全部发送到另外一张业务卡进行处理,保证用户不断网。

然而在现有技术中,实现跨设备链路口聚合都是需要对板卡管理、接口管理、芯片驱动等模块都进行大幅度的修订,实现复杂且设备间耦合性大。



技术实现要素:

本申请实施例提供一种跨设备链路聚合方法、装置、计算装置和存储介质,通过内部通讯接口以及物理接口的接口标识和虚拟接口的接口标识之间的对应关系,实现设备之间报文的收发。

第一方面,本申请实施例提供一种跨设备链路聚合方法,该方法包括:

接收链路聚合口创建配置信息,所述创建配置信息中包括待创建链路聚合口的唯一标识;

根据所述创建配置信息,创建链路聚合口,并用所述唯一标识标记创建的链路聚合口;

生成携带有所述唯一标识的创建报文并通过内部通讯接口发送给待聚合的其它汇聚设备,以使所述其它汇聚设备根据所述创建报文创建链路聚合口并用所述唯一标识标记其创建的链路聚合口;

接收将第一指定物理接口加入到创建的所述链路聚合口的成员加入配置信息;所述成员加入配置信息中包括所述第一指定物理接口的接口标识;

根据所述成员加入配置信息,将所述第一指定物理接口的接口标识添加到创建的所述链路聚合口的成员口集合中;

生成携带有所述接口标识的成员口加入报文并通过所述内部通讯接口发送给所述其它汇聚设备,以使所述其它汇聚设备根据所述成员口加入报文创建所述第一指定物理接口对应的虚拟接口,建立该虚拟接口的接口标识和所述第一物理接口的接口标识之间的对应关系,并将该虚拟接口的接口标识添加到其创建的所述链路聚合口的成员口集合中。

第二方面,本申请实施例提供一种跨设备链路聚合的装置,该装置包括:

接收创建信息模块,用于接收链路聚合口创建配置信息,所述创建配置信息中包括待创建链路聚合口的唯一标识;

创建模块,用于根据所述创建配置信息,创建链路聚合口,并用所述唯一标识标记创建的链路聚合口;

发送创建报文模块,用于生成携带有所述唯一标识的创建报文并通过内部通讯接口发送给待聚合的其它汇聚设备,以使所述其它汇聚设备根据所述创建报文创建链路聚合口并用所述唯一标识标记其创建的链路聚合口;

接收加入信息模块,用于接收将第一指定物理接口加入到创建的所述链路聚合口的成员加入配置信息;所述成员加入配置信息中包括所述第一指定物理接口的接口标识;

加入成员口集合模块,用于根据所述成员加入配置信息,将所述第一指定物理接口的接口标识添加到创建的所述链路聚合口的成员口集合中;

发送加入报文模块,用于生成携带有所述接口标识的成员口加入报文并通过所述内部通讯接口发送给所述其它汇聚设备,以使所述其它汇聚设备根据所述成员口加入报文创建所述第一指定物理接口对应的虚拟接口,建立该虚拟接口的接口标识和所述第一物理接口的接口标识之间的对应关系,并将该虚拟接口的接口标识添加到其创建的所述链路聚合口的成员口集合中。

第三方面,本申请另一实施例还提供了一种计算装置,包括至少一个处理器;以及;

与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请实施例提供的一种跨设备链路聚合方法。

第四方面,本申请另一实施例还提供了一种计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行本申请实施例中的一种跨设备链路聚合方法。

本申请实施例提供的一种跨设备链路聚合方法、装置、计算装置和存储介质,本申请实施中提供的是通过内部通讯接口将汇聚设备连接起来,并根据物理接口的接口标识和虚拟接口的接口标识之间的对应关系实现跨设备链路聚合,实现更为简单。同时,由于汇聚设备之间都是相互独立的软件系统,因而耦合性更小。

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

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为背景技术中的链路聚合功能示意图;

图2为背景技术中的极简认证热备(ha)场景的示意图;

图3为本申请实施例中跨设备链路聚合的装置示意图;

图4为本申请实施例中跨设备链路聚合方法的流程示意图;

图5为本申请实施例中经过处理后的用户报文示意图;

图6为本申请实施例中跨设备链路聚合的处理层示意图;

图7为本申请实施例中跨设备链路聚合的结构示意图;

图8为根据本申请实施方式的计算装置的结构示意图。

具体实施方式

为了解决上述问题,本申请实施例中提供一种跨设备链路聚合方法。为了更好的理解本申请实施例提供的技术方案,这里对该方案的基本原理做一下简单说明:

如图3所示,汇聚设备之间通过内部通讯接口连接。汇聚设备一与汇聚设备二分别创建相同名称的链路聚合口,在该链路聚合口的成员口集合中,汇聚设备二上的物理接口的接口标识为b,汇聚设备一上与汇聚设备二上的物理接口对应的虚拟接口的接口标识为b’。汇聚设备一上的物理接口的接口标识为a,汇聚设备二上与汇聚设备一上的物理接口对应的虚拟接口的接口标识为a’。

1、关于控制报文的收发

当汇聚设备一接收到用户设置的与该链路聚合口相关的配置信息,汇聚设备一根据接收到的配置信息进行配置,同时通过内部通讯接口发送给汇聚设备二与接收到的配置信息相对应的控制报文。

当汇聚设备二接收到汇聚设备一发送的控制报文,汇聚设备二根据接收到的控制报文进行自动配置。

2、关于用户报文的收发

当汇聚设备一接收到链路聚合口200发送的用户报文,该用户报文需要在汇聚设备二处理并且需要在汇聚设备二上的物理口发送给链路聚合口100时,此时汇聚设备一对该用户报文前面配置一个跨设备链路聚合头部,其中,跨设备链路聚合头部包括报文入接口信息、报文出接口信息以及物理接口和虚拟接口标识的对应关系。将报文入接口信息配置为链路聚合口200,报文出接口信息配置为b’,物理接口和虚拟接口标识的对应关系配置为b对应b’,通过内部通讯接口将处理后的用户报文发送给汇聚设备二。

汇聚设备二接收到处理后的用户报文后,对该处理后的用户报文进行解析,得到跨设备链路聚合头部信息,并根据报文出接口信息以及物理接口和虚拟接口标识的对应关系得到该报文由物理接口b发送出去。去除跨设备链路聚合头部以及对用户报文进行处理,将处理结果由物理接口b发送给链路聚合口100。

需要说明的是,本申请中的进行跨设备链路聚合的汇聚设备并不限于两个,可以为多个汇聚设备。

下面通过具体实施例从其中一个汇聚设备侧对跨设备链路聚合方法做进一步说明。图4为跨设备链路聚合方法的流程示意图,包括以下步骤:

步骤401:接收链路聚合口创建配置信息,所述创建配置信息中包括待创建链路聚合口的唯一标识。

步骤402:根据所述创建配置信息,创建链路聚合口,并用所述唯一标识标记创建的链路聚合口。

步骤403:生成携带有所述唯一标识的创建报文并通过内部通讯接口发送给待聚合的其它汇聚设备,以使所述其它汇聚设备根据所述创建报文创建链路聚合口并用所述唯一标识标记其创建的链路聚合口。

步骤404:接收将第一指定物理接口加入到创建的所述链路聚合口的成员加入配置信息;所述成员加入配置信息中包括所述第一指定物理接口的接口标识。

步骤405:根据所述成员加入配置信息,将所述第一指定物理接口的接口标识添加到创建的所述链路聚合口的成员口集合中。

步骤406:生成携带有所述接口标识的成员口加入报文并通过所述内部通讯接口发送给所述其它汇聚设备,以使所述其它汇聚设备根据所述成员口加入报文创建所述第一指定物理接口对应的虚拟接口,建立该虚拟接口的接口标识和所述第一物理接口的接口标识之间的对应关系,并将该虚拟接口的接口标识添加到其创建的所述链路聚合口的成员口集合中。

在本申请实施例中,通过内部通讯接口的连接将所有的汇聚设备联系在一起,并根据物理接口的接口标识和虚拟接口的接口标识之间的对应关系,可以只需要修订接口管理模块,无需对板卡管理和芯片驱动等模块进行修订,便可实现跨设备链路聚合,实现更为简单。同时,由于汇聚设备之间都是相互独立的软件系统,因而耦合性更小。

在一个实施例中,链路聚合口的创建报文和物理接口加入链路聚合口的成员口加入报文,具体可实施为:

(1)、创建报文:包含链路聚合口的唯一标识,如链路聚合口100,则其唯一标识为100,链路聚合口可以通过唯一标识来保证唯一性。

该报文具体作用为:当在汇聚设备上配置创建一个不包含物理接口的链路聚合口100时,该汇聚设备就会通过内部通讯接口向其它汇聚设备发送一个链路聚合口的创建报文。

当其它汇聚设备接收到该创建报文时,就会根据该创建报文自动创建一个不包含物理接口的链路聚合口100,即每个汇聚设备都创建相同标识的链路聚合口。

(2)、成员口加入报文:包含物理接口的接口标识以及物理接口所属的链路聚合口的唯一标识。如物理接口的接口标识为a,物理接口所属的链路聚合口的唯一标识为100,则其报文包含的内容为a,100。

该报文具体作用为:当汇聚设备上的物理接口a加入到链路聚合口100上时,该汇聚设备就会通过内部通讯接口向其它汇聚设备发送一个物理接口加入链路聚合口的成员口加入报文。

当其它汇聚设备接收到成员口加入报文时,就会根据成员口加入报文自动创建一个虚拟接口a’,其中,虚拟接口a’作为物理接口a在本设备上的映射,并且将虚拟接口a’也加入链路聚合口100上。

需要说明的是,虚拟接口a’是不可见的,虚拟接口的作用为查找其它汇聚设备上与该虚拟接口对应的物理接口。

上面介绍了创建链路聚合口与物理接口加入链路聚合口,下面对删除链路聚合口、物理接口退出链路聚合口和物理接口参数变化进行进一步说明。

1、物理接口退出链路聚合口

在本申请实施例中,汇聚设备的物理接口若想退出链路聚合口的成员口集合,具体可实施为步骤a1-a3:

步骤a1:接收请求第二指定物理接口退出所述链路聚合口的成员退出配置信息;所述成员退出配置信息中包括第二指定物理接口的接口标识。

步骤a2:根据所述成员退出配置信息,将所述第二指定物理接口的接口标识从所述链路聚合口的成员口集合中删除。

步骤a3:生成携带有所述第二指定物理接口的接口标识的成员口退出报文并通过所述内部通讯接口发送给所述其它汇聚设备,以使所述其它汇聚设备根据所述成员口退出报文将所述第二指定物理接口的接口标识对应的虚拟接口的接口标识从对应的链路聚合口的成员口集合中删除。

这样,通过内部通讯设备,将一个汇聚设备的物理接口从链路聚合口的成员口集合退出,其它汇聚设备与该汇聚设备的物理接口对应的虚拟接口也会退出成员口集合并删除,减少了用户的操作,实现更加简单,同时也提高了用户体验。

在一个实施例中,物理接口退出链路聚合口的成员口退出报文,具体可实施为:

成员口退出报文:包含物理接口的接口标识以及物理接口所属的链路聚合口的唯一标识。如物理接口的接口标识为a,物理接口所属的链路聚合口的唯一标识为100,则其报文包含的内容为a,100。

该报文具体作用为:当汇聚设备上的物理接口a退出链路聚合口100时,该汇聚设备就会通过内部通讯接口向其它汇聚设备发送一个成员口退出报文。

当其它汇聚设备接收到成员口退出报文时,就会根据成员口退出报文自动找到与汇聚设备的物理接口a对应的虚拟接口a’。将虚拟接口a’退出链路聚合口100,并删除虚拟接口a’。

2、删除链路聚合口

在本申请实施例中,汇聚设备若想将链路聚合口删除,具体可实施为步骤b1-b3:

步骤b1:接收待删除链路聚合口的删除配置信息,所述删除配置信息中包括所述待删除链路聚合口的唯一标识。

步骤b2:根据所述删除配置信息,删除所述唯一标识对应的链路聚合口。

步骤b3:生成携带有所述待删除链路聚合口的唯一标识的删除报文并通过所述内部通讯接口发送给其它汇聚设备,以使所述其它汇聚设备根据所述删除报文删除所述唯一标识对应的链路聚合口。

这样,通过内部通讯设备,将一个汇聚设备的链路聚合口删除,其它汇聚设备同样将与该汇聚设备链路聚合口唯一标识的链路聚合口删除,使得各汇聚设备中链路聚合口的状态同步。同时也减少了用户的操作,提高了用户体验。

在一个实施例中,删除链路聚合口,具体可实施为:

删除报文:包含链路聚合口的唯一标识,如链路聚合口100,则其唯一标识为100。

该报文具体作用为:当在汇聚设备上配置删除一个不包含物理接口的链路聚合口100时,该汇聚设备就会通过内部通讯接口向其它汇聚设备发送一个删除报文。

当其它汇聚设备接收到删除报文时,就会根据删除报文自动删除一个不包含物理接口的链路聚合口100。

3、物理接口参数变化

在本申请实施例中,物理接口的参数若发生变化,具体可实施为步骤c1-c3:

步骤c1:接收第三指定物理接口的参数配置信息;所述参数配置信息中包括第三指定物理接口的接口标识以及待配置参数。

步骤c2:根据所述参数配置信息中的待配置参数,对所述第三指定物理接口的参数进行配置。

步骤c3:生成携带所述第三指定物理接口的接口标识以及所述待配置参数的参数报文并通过所述内部通讯接口发送给其它汇聚设备,以使所述其它汇聚设备根据所述参数报文对所述第三指定物理接口的接口标识对应的虚拟接口的参数进行配置。

这样,通过内部通讯设备,当一个汇聚设备物理接口的参数发生变化,其它汇聚设备与该汇聚设备的物理接口对应的虚拟接口的参数发生相同的变化,使得各汇聚设备中物理接口与虚拟接口的状态同步。同时也减少了用户的操作,提高了用户体验。

在一个实施例中,物理接口参数变化,具体可实施为(1)-(3):

(1)、参数数据变化报文:包含物理接口的参数变化消息,如带宽、速率等发生变化。

该报文具体作用为:当汇聚设备上的物理接口a的参数数据发生变化时,该汇聚设备就会通过内部通讯接口向其它汇聚设备发送一个参数数据变化报文。

当其它汇聚设备接收到参数数据变化报文时,就会根据参数数据变化报文自动找到与汇聚设备的物理接口a对应的虚拟接口a’。将虚拟接口a’的参数与汇聚设备上的物理接口a的参数进行相同的修改。

(2)、物理接口up(开启)报文:包含物理接口的接口标识以及物理接口所属的链路聚合口的唯一标识,如物理接口的接口标识为a,物理接口所属链路聚合口的唯一标识为100,则其报文包含的内容为a,100。

该报文具体作用为:当汇聚设备上的物理接口a在链路聚合口100上开启时,该汇聚设备就会通过内部通讯接口向其它汇聚设备发送一个物理接口up(开启)报文。

当其它汇聚设备接收到物理接口up(开启)报文时,就会根据物理接口up(开启)报文自动找到与汇聚设备的物理接口a对应的虚拟接口a’。将虚拟接口a’也在链路聚合口100上开启。

(3)、物理接口down(关闭)报文:包含物理接口的接口标识以及物理接口所属的链路聚合口的唯一标识,如物理接口的接口标识为a,物理接口所属链路聚合口的唯一标识为100,则其报文包含的内容为a,100。

该报文具体作用为:当汇聚设备上的物理接口a在链路聚合口100上关闭时,该汇聚设备就会通过内部通讯接口向其它汇聚设备发送一个物理接口down(关闭)报文。

当其它汇聚设备接收到物理接口down(关闭)报文时,就会根据物理接口down(关闭)报文自动找到与汇聚设备的物理接口a对应的虚拟接口a’。将虚拟接口a’也在链路聚合口100上关闭。

参数数据变化报文、物理接口up(开启)报文和物理接口down(关闭)报文都属于参数报文。

上面所述的创建报文、成员口加入报文、成员口退出报文、删除报文和参数报文都属于控制报文,在现有技术中,当汇聚设备接收到一个控制报文时,就需要立即处理,会占用较多的系统cpu资源。而在本申请实施例中,当汇聚设备接收到其它汇聚设备发送的控制报文之后,需要通过报文队列对控制报文进行处理,具体可实施为以下步骤d1-d4:

步骤d1:通过内部通讯接口接收控制报文,所述控制报文为以下中的至少一种:创建报文、成员口加入报文、成员口退出报文、删除报文和参数报文。

步骤d2:将接收到的所述控制报文存储在一个报文队列中。

步骤d3:将所述报文队列进行轮询处理。

具体实施时,可以通过一个进程任务对报文队列进行轮询。

步骤d4:当轮询到控制报文后,根据轮询到的控制报文,执行与该控制报文对应的操作。

其中,每一个汇聚设备都有一个报文队列用于存储控制报文。这样,本申请实施例中并非控制报文来了之后就要处理,而是通过将其存储在报文队列中,通过轮询的方式进行处理。例如,在两次轮询的间隔接收到控制报文,并不对其立即进行处理而是先存储。这样可以使得处理资源在两次轮询的间隔处理其它业务。进一步的,在轮询到报文之后,且当前处理资源充足(如cpu占用率小于指定值)时,才对控制报文进行处理。这样可以减少了对系统cpu资源的占用。

上面描述了汇聚设备通过内部通讯接口接收其它设备发送的控制报文的过程,下面针对其它情况的报文处理进行说明,来便于进一步理解本申请实施例提供的技术方案,包括以下两个方面:

一、汇聚设备通过内部通讯接口接收其它汇聚设备发送的用户报文

在本申请实施例中,汇聚设备接送其它汇聚设备发送的用户报文,具体可实施为:通过内部通讯接口以及物理接口的接口标识和虚拟接口的接口标识之间的对应关系,接收其它汇聚设备发送的用户报文。

这样,通过内部通讯接口以及物理接口的接口标识和虚拟接口的接口标识之间的对应关系,可以轻松实现跨设备间的接收报文,实现更为简单。

为了进一步体现汇聚设备接送其它汇聚设备发送的用户报文,具体可实施为步骤e1-e5:

步骤e1:通过内部通讯接口接收所述其它汇聚设备发送的经过处理后的用户报文;所述经过处理后的用户报文中包括原始用户报文和跨设备链路聚合头部。

步骤e2:从经过处理后的用户报文中解析出原始用户报文和跨设备链路聚合头部。

步骤e3:从解析出的跨设备链路聚合头部中得到报文出接口信息中的虚拟接口的接口标识。

步骤e4:根据物理接口的接口标识和虚拟接口的接口标识之间的对应关系,确定跨设备链路聚合头部中的虚拟接口标识对应的物理接口。

步骤e5:去除跨设备链路聚合头部并对解析出的原始用户报文进行处理,将处理结果通过确定的物理接口发送出去。

具体实施时,所述经过处理后的用户报文如图5所示。经过处理后的用户报文包括跨设备链路聚合头部和原始用户报文,跨设备链路聚合头部的位置在原始用户报文之前。而跨设备链路聚合头部包括报文入接口信息、报文出接口信息。关于报文入接口信息和报文出接口信息的具体信息,在下文进行详细说明,在此暂不赘述。

这样,汇聚设备将原始用户报文从物理接口发送出去之前,先将跨设备链路聚合头部去除掉,保证了报文转发流程不会被打断,减少了对系统转发性能的影响。同时,根据物理接口的接口标识和虚拟接口的接口标识之间的对应关系,可以找到发送用户报文的物理接口,使得跨设备间的接收报文,实现更为简单。

二、汇聚设备通过内部通讯接口发送用户报文给其它汇聚设备

在本申请实施例中,汇聚设备发送用户报文给其它汇聚设备,具体可实施为:通过所述内部通讯接口以及物理接口的接口标识和虚拟接口的接口标识之间的对应关系,发送用户报文给其它汇聚设备。

这样,通过内部通讯接口以及物理接口的接口标识和虚拟接口的接口标识之间的对应关系,可以轻松实现跨设备间的发送报文,实现更为简单。

在现有技术中,进行链路聚合的多个设备均正常工作时,这多个设备中预先定义了各个端口的主从关系。当有用户报文时,优先从主口进行处理转发,导致主口使用率偏高,而备份口(即从口)带宽资源浪费。有鉴于此,在跨设备间的发送报文之前,为了提高链路聚合口带宽资源的使用效率,在本申请实施例中,当汇聚设备接收到从链路聚合口发送的原始用户报文时,判断该原始用户报文需要在哪一个汇聚设备上进行处理,并根据判断结果,执行相应的操作,具体可实施为步骤f1-f2:

步骤f1:从链路聚合口接收原始用户报文。

步骤f2:根据流量负载均衡规则确定发送所述原始用户报文的物理接口。

具体实施时,流量负载均衡规则可以根据实际需求确定,甚至可以根据现有技术确定,只有能够均衡各个汇聚设备上的流量负载即可。例如根据当前所有汇聚设备的流量负载,选择流量负载最小的汇聚设备。这样,根据所有汇聚设备的流量负载分配给汇聚设备用户报文,可以实现设备间的流量负载分担,消除主从关系,从而可以实现设备间接口带宽的有效利用,提高跨设备链路聚合的性能。

在本申请实施例中,若根据流量负载均衡规则确定发送原始用户报文的物理接口为其它汇聚设备上的物理接口,具体可实施为步骤g1-g4:

步骤g1:若发送所述原始用户报文的物理接口在其它汇聚设备上,则根据所述对应关系确定所述物理接口对应的虚拟接口标识。

步骤g2:在跨设备链路聚合头部中,配置报文出接口信息为与所述其它汇聚设备物理接口对应的虚拟接口标识,报文入接口信息为接收所述原始用户报文的链路聚合口标识。

步骤g3:将配置好的跨设备链路聚合头部封装在所述原始用户报文之前,得到经过处理后的用户报文。

步骤g4:通过所述内部通讯接口发送给所述其它汇聚设备。

在本申请实施例中,如前所述跨设备链路聚合头部中携带的信息可包括报文入接口信息和报文出接口信息等,其中:

报文入接口信息:譬如报文的入接口是链路聚合口100,则记录报文入接口信息为100。

报文出接口信息:譬如报文的出接口是链路聚合口200中的物理接口a,则记录报文出接口信息为所在汇聚设备与目标物理接口对应的虚拟接口的标识a’。

具体实施时,将报文入接口信息、报文出接口信息在报文所在的汇聚设备上填好,封装成跨设备链路聚合头部后,与原始用户报文组合成经过处理后的用户报文。通过内部通讯接口将经过处理后的用户报文发送到需要对用户报文处理发送的汇聚设备上。这样,向其它汇聚设备发送报文时,添加跨设备链路聚合头部,可以让报文准确地发送到想要处理报文的汇聚设备上,提高报文处理的速度。

在本申请实施例中,若根据流量负载均衡规则确定发送原始用户报文的物理接口为本汇聚设备上的物理接口,具体实施为:若发送所述原始用户报文的物理接口在本汇聚设备上,则对所述原始用户报文进行处理后,从所述物理接口上发送出去。

这样,直接通过本汇聚设备上的物理接口将原始用户报文发送出去,可以提高报文处理的速度。

进一步的,在现有技术中,如果没有跨设备链路聚合,单设备中每一条物理接口需要配置一个ip地址,报文处理在ip层进行,导致路由表等信息管理复杂,同时也不利于网络的扩展。在本申请实施例中,如图6所示,为了做到上层业务无感知,将跨设备链路聚合的相关处理(如前述的收发用户报文的处理以及控制报文的处理)放在链路层,这样ip层以上的业务都不需要进行感知,也不需要进行任何修订,这样就实现了多个设备的物理接口对外呈现为一个接口,使得网络、地址规划更加简单。

基于相同的发明构思,本申请实施例还提供一种跨设备链路聚合的装置。如图7所示,该装置包括:

接收创建信息模块701,用于接收链路聚合口创建配置信息,所述创建配置信息中包括待创建链路聚合口的唯一标识;

创建模块702,用于根据所述创建配置信息,创建链路聚合口,并用所述唯一标识标记创建的链路聚合口;

发送创建报文模块703,用于生成携带有所述唯一标识的创建报文并通过内部通讯接口发送给待聚合的其它汇聚设备,以使所述其它汇聚设备根据所述创建报文创建链路聚合口并用所述唯一标识标记其创建的链路聚合口;

接收加入信息模块704,用于接收将第一指定物理接口加入到创建的所述链路聚合口的成员加入配置信息;所述成员加入配置信息中包括所述第一指定物理接口的接口标识;

加入成员口模块705,用于根据所述成员加入配置信息,将所述第一指定物理接口的接口标识添加到创建的所述链路聚合口的成员口集合中;

发送加入报文模块706,用于生成携带有所述接口标识的成员口加入报文并通过所述内部通讯接口发送给所述其它汇聚设备,以使所述其它汇聚设备根据所述成员口加入报文创建所述第一指定物理接口对应的虚拟接口,建立该虚拟接口的接口标识和所述第一物理接口的接口标识之间的对应关系,并将该虚拟接口的接口标识添加到其创建的所述链路聚合口的成员口集合中。

进一步的,所述装置还包括:

接收退出信息模块,用于接收请求第二指定物理接口退出所述链路聚合口的成员退出配置信息;所述成员退出配置信息中包括第二指定物理接口的接口标识;

退出成员口集合模块,用于根据所述成员退出配置信息,将所述第二指定物理接口的接口标识从所述链路聚合口的成员口集合中删除;

发送退出报文模块,用于生成携带有所述第二指定物理接口的接口标识的成员口退出报文并通过所述内部通讯接口发送给所述其它汇聚设备,以使所述其它汇聚设备根据所述成员口退出报文将所述第二指定物理接口的接口标识对应的虚拟接口的接口标识从对应的链路聚合口的成员口集合中删除。

进一步的,所述装置还包括:

接收删除信息模块,用于接收待删除链路聚合口的删除配置信息,所述删除配置信息中包括所述待删除链路聚合口的唯一标识;

删除模块,用于根据所述删除配置信息,删除所述唯一标识对应的链路聚合口;

发送删除报文模块,用于生成携带有所述待删除链路聚合口的唯一标识的删除报文并通过所述内部通讯接口发送给其它汇聚设备,以使所述其它汇聚设备根据所述删除报文删除所述唯一标识对应的链路聚合口。

进一步的,所述装置还包括:

接收参数信息模块,用于接收第三指定物理接口的参数配置信息;所述参数配置信息中包括第三指定物理接口的接口标识以及待配置参数;

配置参数模块,用于根据所述参数配置信息中的待配置参数,对所述第三指定物理接口的参数进行配置;

发送参数报文模块,用于生成携带所述第三指定物理接口的接口标识以及所述待配置参数的参数报文并通过所述内部通讯接口发送给其它汇聚设备,以使所述其它汇聚设备根据所述参数报文对所述第三指定物理接口的接口标识对应的虚拟接口的参数进行配置。

进一步的,所述装置还包括:

接收控制报文模块,用于通过内部通讯接口接收控制报文,所述控制报文为以下中的至少一种:创建报文、成员口加入报文、成员口退出报文、删除报文和参数报文;

存储模块,用于将接收到的所述控制报文存储在一个报文队列中;

处理模块,用于将所述报文队列进行轮询处理;

执行模块,用于当轮询到控制报文后,根据轮询到的控制报文,执行与该控制报文对应的操作。

进一步的,所述装置还包括:

接收用户报文模块,用于通过内部通讯接口以及物理接口的接口标识和虚拟接口的接口标识之间的对应关系,接收其它汇聚设备发送的用户报文。

进一步的,接收用户报文模块包括:

接收单元,用于通过内部通讯接口接收所述其它汇聚设备发送的经过处理后的用户报文;所述经过处理后的用户报文中包括原始用户报文和跨设备链路聚合头部;

解析单元,用于从经过处理后的用户报文中解析出原始用户报文和跨设备链路聚合头部;

获取标识单元,用于从解析出的跨设备链路聚合头部中得到报文出接口信息中的虚拟接口的接口标识;

确定物理接口单元,用于根据物理接口的接口标识和虚拟接口的接口标识之间的对应关系,确定跨设备链路聚合头部中的虚拟接口标识对应的物理接口;

第一发送单元,用于去除跨设备链路聚合头部并对解析出的原始用户报文进行处理,将处理结果通过确定的物理接口发送出去。

进一步的,所述装置还包括:

发送用户报文模块,用于通过所述内部通讯接口以及物理接口的接口标识和虚拟接口的接口标识之间的对应关系,发送用户报文给其它汇聚设备。

进一步的,所述装置还包括:

接收原始用户报文模块,用于发送用户报文模块通过所述内部通讯接口以及物理接口的接口标识和虚拟接口的接口标识之间的对应关系,发送用户报文给其它汇聚设备之前,从链路聚合口接收原始用户报文;

确定物理接口模块,用于根据流量负载均衡规则确定发送所述原始用户报文的物理接口。

进一步的,发送用户报文模块包括:

确定标识单元,用于若发送所述原始用户报文的物理接口在其它汇聚设备上,则根据所述对应关系确定所述物理接口对应的虚拟接口标识;

配置单元,用于在跨设备链路聚合头部中,配置报文出接口信息为与所述其它汇聚设备物理接口对应的虚拟接口标识,报文入接口信息为接收所述原始用户报文的链路聚合口标识;

获取报文单元,用于将配置好的跨设备链路聚合头部封装在所述原始用户报文之前,得到经过处理后的用户报文;

第二发送单元,用于通过所述内部通讯接口发送给所述其它汇聚设备。

进一步的,所属装置还包括:

发送模块,用于确定物理接口模块根据流量负载均衡规则确定发送所述原始用户报文的物理接口之后,若发送所述原始用户报文的物理接口在本汇聚设备上,则对所述原始用户报文进行处理后,从所述物理接口上发送出去。

在介绍了本申请示例性实施方式的跨设备链路聚合方法及装置之后,接下来,介绍根据本申请的另一示例性实施方式的计算装置。

所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

在一些可能的实施方式中,根据本申请的实施例,计算装置可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的跨设备链路聚合方法中的步骤401-406。

下面参照图8来描述根据本申请的这种实施方式的计算装置80。图8显示的计算装置80仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。该计算装置例如可以是手机、平板电脑等。

如图8所示,计算装置80以通用计算装置的形式表现。计算装置80的组件可以包括但不限于:上述至少一个处理器81、上述至少一个存储器82、连接不同系统组件(包括存储器82和处理器81)的总线83。

总线83表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。

存储器82可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)821和/或高速缓存存储器822,还可以进一步包括只读存储器(rom)823。

存储器82还可以包括具有一组(至少一个)程序模块824的程序/实用工具825,这样的程序模块824包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

计算装置80也可以与一个或多个外部设备84(例如指向设备等)通信,还可与一个或者多个使得用户能与计算装置80交互的设备通信,和/或与使得该计算装置80能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口85进行。并且,计算装置80还可以通过网络适配器86与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器86通过总线83与用于计算装置80的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置80使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

在一些可能的实施方式中,本申请提供的跨设备链路聚合方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的跨设备链路聚合方法中的步骤,执行如图4中所示的步骤401-404。

程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

本申请实施方式的跨设备链路聚合的可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。

应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。

此外,尽管在附图中以顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

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

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

这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

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

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