一种链路聚合方法及设备与流程

文档序号:16417014发布日期:2018-12-28 18:49阅读:358来源:国知局
一种链路聚合方法及设备与流程

本发明涉及通信领域,尤其涉及一种链路聚合方法及设备。



背景技术:

随着虚拟化和云计算的发展,网络虚拟化技术的应用越来越广泛,在网络虚拟化场景中,端口虚拟化尤为重要,其中,端口虚拟化为将一个物理端口虚拟成多个逻辑端口,这样一个物理端口可以被多个虚拟机共享。

目前,在以太网中,通常可采用链路聚合控制协议(英文:LiNK AggregatioN CoNtrol Protocol,缩写:LACP)将多个物理端口绑定为一个逻辑端口,以使该多个物理端口形成一个链路聚合组(英文:LiNK AggregatioN Group,缩写:LAG),从而提高链路带宽和链路可靠性。具体的,一端设备的多个物理端口启用LACP后,该端设备可通过该多个物理端口分别向对端设备发送LACP报文,以和对端设备协商该多个物理端口是否能够进行链路聚合,当对端设备接收到这些LACP报文后,对端设备可根据这些LACP报文中携带的该端设备的信息和该多个物理端口的信息,从该多个物理端口中确定出能够进行链路聚合的物理端口,从而当该端设备和对端设备均执行上述操作后,该端设备和对端设备可以对能够进行链路聚合的物理端口协商一致,并完成这些物理端口的链路聚合。

然而,上述LACP是基于物理端口协商的,这样一个物理端口只归属于一个LAG;而在网络虚拟化场景中,由于一个物理端口会被虚拟成多个逻辑端口,这样采用LACP协商时,同一个物理端口就会归属于多个LAG,这是当前LACP协议不允许的,因此,可能会导致两端设备LACP协商失败,进而在网络虚拟化场景中,无法完成链路聚合,从而无法提高链路带宽和链路可靠性。



技术实现要素:

本发明的实施例提供一种链路聚合方法及设备,解决了现有技术在网络虚拟化场景中,无法完成链路聚合,从而无法提高链路带宽和链路可靠性的问题;能够在网络虚拟化场景中,完成链路聚合,从而提高链路带宽和链路可靠性。

为达到上述目的,本发明采用如下技术方案:

第一方面,本发明提供一种链路聚合方法,应用于网络虚拟化场景中,包括:

本端设备通过所述本端设备的M个端口分别接收对端设备发送的链路聚合控制协议LACP报文,所述LACP报文中携带发送所述LACP报文的端口的第一虚拟网络标识和所述端口的链路聚合组LAG标识,M≥2;

所述本端设备根据所述第一虚拟网络标识和所述LAG标识,将所述M个端口中,所述第一虚拟网络标识和所述LAG标识均相同的N个端口确定为一个对端LAG,其中,1≤N≤M;

所述本端设备将所述一个对端LAG的N个端口中,属于预设的一个本端LAG的K个端口聚合为一个LAG,其中,1≤K≤N。

在第一方面的第一种可能的实现方式中,所述本端设备根据所述第一虚拟网络标识和所述LAG标识,将所述M个端口中,所述第一虚拟网络标识和所述LAG标识均相同的N个端口确定为一个对端LAG,包括:

所述本端设备根据所述第一虚拟网络标识,将所述M个端口中,所述第一虚拟网络标识相同的端口确定为一个虚拟网络组;

所述本端设备根据所述LAG标识,将所述一个虚拟网络组的端口中,所述LAG标识相同的N个端口确定为所述一个对端LAG。

结合前述的第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述本端设备将所述一个对端LAG的N个端口中,属于预设的一个本端LAG的K个端口聚合为一个LAG,包括:

所述本端设备根据所述第一虚拟网络标识,从预设的本端LAG中,确定与所述一个对端LAG的第一虚拟网络标识相同的所述一个本端LAG;

所述本端设备确定所述一个对端LAG和所述一个本端LAG的端口交集,所述端口交集包括所述K个端口;

所述本端设备将所述K个端口聚合为所述一个LAG。

结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述LACP报文中还携带所述对端设备的优先级和所述端口的对端优先级,所述方法还包括:

所述本端设备根据所述K个端口的对端优先级,确定对端负荷分担策略,所述对端负荷分担策略包括所述K个端口的第一工作模式,所述K个端口的第一工作模式为:A个主用端口负荷分担和(K-A)个备用端口,1≤A≤K;

所述本端设备根据所述K个端口的本端优先级,确定本端负荷分担策略,所述本端负荷分担策略包括所述K个端口的第二工作模式,所述K个端口的第二工作模式为:B个主用端口负荷分担和(K-B)个备用端口,1≤B≤K;

所述本端设备根据所述对端设备的优先级和所述本端设备的优先级,确定所述一个LAG的负荷分担策略,所述一个LAG的负荷分担策略为所述对端负荷分担策略,或为所述本端负荷分担策略。

结合前述的第一方面或第一方面的第一种可能的实现方式至第三种可能的实现方式中的任一种实现方式,在第四种可能的实现方式中,

所述第一虚拟网络标识携带在所述LACP报文的报头中,或所述第一虚拟网络标识携带在承载所述LACP报文的以太网帧的虚拟网络标签中。

结合前述的第一方面或第一方面的第一种可能的实现方式至第四种可能的实现方式中的任一种实现方式,在第五种可能的实现方式中,当所述本端设备和所述对端设备均完成将所述k个端口聚合为一个LAG之后,所述方法还包括:

所述本端设备接收所述对端设备通过所述一个LAG发送的数据报文,所述数据报文中携带第二虚拟网络标识,其中,所述第二虚拟网络标识与所述第一虚拟网络标识之间存在对应关系。

结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,

所述对应关系包括:所述第二虚拟网络标识与所述第一虚拟网络标识相同,或所述第二虚拟网络标识与所述第一虚拟网络标识之间存在预设的映射关系

第二方面,本发明提供一种链路聚合设备,包括:

接收单元,用于通过所述链路聚合设备的M个端口分别接收对端设备发送的链路聚合控制协议LACP报文,所述LACP报文中携带发送所述LACP报文的端口的第一虚拟网络标识和所述端口的链路聚合组LAG标识,M≥2;

处理单元,用于根据所述接收单元接收的所述第一虚拟网络标识和所述LAG标识,将所述M个端口中,所述第一虚拟网络标识和所述LAG标识均相同的N个端口确定为一个对端LAG,并将所述一个对端LAG的N个端口中,属于预设的一个本端LAG的K个端口聚合为一个LAG,其中,1≤N≤M,1≤K≤N。

在第二方面的第一种可能的实现方式中,

所述处理单元,具体用于根据所述接收单元接收的所述第一虚拟网络标识,将所述M个端口中,所述第一虚拟网络标识相同的端口确定为一个虚拟网络组;并根据所述接收单元接收的所述LAG标识,将所述一个虚拟网络组的端口中,所述LAG标识相同的N个端口确定为所述一个对端LAG。

结合前述的第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,

所述处理单元,还用于根据所述接收单元接收的所述第一虚拟网络标识,从预设的本端LAG中,确定与所述一个对端LAG的第一虚拟网络标识相同的所述一个本端LAG;并确定所述一个对端LAG和所述一个本端LAG的端口交集,所述端口交集包括所述K个端口;以及将所述K个端口聚合为所述一个LAG。

结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述接收单元接收的所述LACP报文中还携带所述对端设备的优先级和所述端口的对端优先级;

所述处理单元,还用于根据所述K个端口的对端优先级,确定对端负荷分担策略,并根据所述K个端口的本端优先级,确定本端负荷分担策略,以及根据所述对端设备的优先级和所述链路聚合设备的优先级,确定所述一个LAG的负荷分担策略,所述一个LAG的负荷分担策略为所述对端负荷分担策略,或为所述本端负荷分担策略,所述对端负荷分担策略包括所述K个端口的第一工作模式,所述K个端口的第一工作模式为:A个主用端口负荷分担和(K-A)个备用端口,1≤A≤K,所述本端负荷分担策略包括所述K个端口的第二工作模式,所述K个端口的第二工作模式为:B个主用端口负荷分担和(K-B)个备用端口,1≤B≤K。

结合前述的第二方面或第二方面的第一种可能的实现方式至第三种可能的实现方式中的任一种实现方式,在第四种可能的实现方式中,

所述第一虚拟网络标识携带在所述LACP报文中,或所述第一虚拟网络标识携带在承载所述LACP报文的以太网帧的虚拟网络标签中。

结合前述的第二方面或第二方面的第一种可能的实现方式至第四种可能的实现方式中的任一种实现方式,在第五种可能的实现方式中,

所述接收单元,还用于当所述链路聚合设备和所述对端设备均完成将所述k个端口聚合为一个LAG之后,接收所述对端设备通过所述一个LAG发送的数据报文,所述数据报文中携带第二虚拟网络标识,其中,所述第二虚拟网络标识与所述第一虚拟网络标识之间存在对应关系。

结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,

所述对应关系包括:所述第二虚拟网络标识与所述第一虚拟网络标识相同,或所述第二虚拟网络标识与所述第一虚拟网络标识之间存在预设的映射关系。

第三方面,本发明提供一种链路聚合设备,包括:

处理器,用于通过所述链路聚合设备的M个端口分别接收对端设备发送的链路聚合控制协议LACP报文,所述LACP报文中携带发送所述LACP报文的端口的第一虚拟网络标识和所述端口的链路聚合组LAG标识,并根据所述第一虚拟网络标识和所述LAG标识,将所述M个端口中,所述第一虚拟网络标识和所述LAG标识均相同的N个端口确定为一个对端LAG,以及将所述一个对端LAG的N个端口中,属于预设的一个本端LAG的K个端口聚合为一个LAG,其中,M≥2,1≤N≤M,1≤K≤N。

在第三方面的第一种可能的实现方式中,

所述处理器,具体用于根据所述第一虚拟网络标识,将所述M个端口中,所述第一虚拟网络标识相同的端口确定为一个虚拟网络组;并根据所述LAG标识,将所述一个虚拟网络组的端口中,所述LAG标识相同的N个端口确定为所述一个对端LAG。

结合前述的第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,

所述处理器,还用于根据所述第一虚拟网络标识,从预设的本端LAG中,确定与所述一个对端LAG的第一虚拟网络标识相同的所述一个本端LAG;并确定所述一个对端LAG和所述一个本端LAG的端口交集,所述端口交集包括所述K个端口;以及将所述K个端口聚合为所述一个LAG。

结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述处理器接收的所述LACP报文中还携带所述对端设备的优先级和所述端口的对端优先级;

所述处理器,还用于根据所述K个端口的对端优先级,确定对端负荷分担策略,并根据所述K个端口的本端优先级,确定本端负荷分担策略,以及根据所述对端设备的优先级和所述链路聚合设备的优先级,确定所述一个LAG的负荷分担策略,所述一个LAG的负荷分担策略为所述对端负荷分担策略,或为所述本端负荷分担策略,所述对端负荷分担策略包括所述K个端口的第一工作模式,所述K个端口的第一工作模式为:A个主用端口负荷分担和(K-A)个备用端口,1≤A≤K,所述本端负荷分担策略包括所述K个端口的第二工作模式,所述K个端口的第二工作模式为:B个主用端口负荷分担和(K-B)个备用端口,1≤B≤K。

结合前述的第三方面或第三方面的第一种可能的实现方式至第三种可能的实现方式中的任一种实现方式,在第四种可能的实现方式中,

所述第一虚拟网络标识携带在所述LACP报文中,或所述第一虚拟网络标识携带在承载所述LACP报文的以太网帧的虚拟网络标签中。

结合前述的第三方面或第三方面的第一种可能的实现方式至第四种可能的实现方式中的任一种实现方式,在第五种可能的实现方式中,

所述处理器,还用于当所述链路聚合设备和所述对端设备均完成将所述k个端口聚合为一个LAG之后,接收所述对端设备通过所述一个LAG发送的数据报文,所述数据报文中携带第二虚拟网络标识,其中,所述第二虚拟网络标识与所述第一虚拟网络标识之间存在对应关系。

结合第三方面的第五种可能的实现方式,在第六种可能的实现方式中,

所述对应关系包括:所述第二虚拟网络标识与所述第一虚拟网络标识相同,或所述第二虚拟网络标识与所述第一虚拟网络标识之间存在预设的映射关系。

本发明提供一种链路聚合方法及设备,本端设备接收到对端设备发送的LACP报文后,本端设备可以根据该LACP报文中携带的发送该LACP报文的端口的第一虚拟网络标识和该端口的LAG标识,将第一虚拟网络标识和LAG标识均相同的端口确定为能够聚合为一个链路的端口,并将能够聚合为一个链路的端口聚合为一个LAG。与现有技术在网络虚拟化场景中,无法完成链路聚合,从而无法提高链路带宽和链路可靠性相比,本发明提供的链路聚合方法,由于在LACP协商时增加了端口所属的虚拟网络的虚拟网络标识,因此本端设备可根据该虚拟网络标识,将属于同一个虚拟网络的端口聚合到该虚拟网络中相应的LAG,从而完成链路聚合,进而提高链路带宽和链路可靠性。

附图说明

图1为本发明实施例提供的一种链路聚合方法的应用场景图;

图2为本发明实施例提供的一种链路聚合方法的流程图一;

图3为本发明实施例提供的一种链路聚合方法的流程图二;

图4为本发明实施例提供的一种链路聚合设备的结构示意图一;

图5为本发明实施例提供的一种链路聚合设备的结构示意图二。

具体实施方式

下面结合附图对本发明实施例提供的一种链路聚合方法及设备进行详细地描述。

在网络虚拟化场景中,网络设备上的一个物理端口往往会被虚拟成多个虚拟端口,本发明实施例以物理网络接口卡(英文:physical Network Interface Card,缩写:pNIC)为例,一个pNIC可以被虚拟为多个虚拟网络接口卡(英文:virtual Network Interface Card,缩写:vNIC),其中一个vNIC包括一个虚拟功能(英文:Virutal Function,缩写:VF)端口和一个VF驱动程序,这多个vNIC可以被多个虚拟机(英文:Virtual Machine,缩写:VM)使用,且VM使用vNIC传输数据时需要运行VF驱动程序,并通过VF端口将数据传输出去。在该网络虚拟化场景中,同样需要使用链路聚合来提高链路带宽和链路可靠性。

如图1所示,为一种网络虚拟化场景的架构示意图。该网络虚拟化场景中包括服务器和交换机。其中,服务器上运行有两个VM,分别为VM1和VM2,服务器上包括三个pNIC,分别为pNIC10、pNIC20和pNIC30,且pNIC10、pNIC20和pNIC30均支持虚拟化,即pNIC10、pNIC20和pNIC30分别被虚拟为三个vNIC,每个vNIC对应一个VF端口,以供VM1和VM2使用;交换机上也包括三个pNIC,分别为pNIC11、pNIC21和pNIC31,pNIC11、pNIC21和pNIC31均不支持虚拟化。

在如图1所示的网络虚拟化场景中,每个VM可能同时使用多个vNIC,且该多个vNIC可能属于多个pNIC,为了提高链路带宽和链路可靠性,可将该多个vNIC进行链路聚合。一个VM中可以包括多个LAG,且该多个LAG分别接入不同的虚拟网络(英文:Virtual Network,缩写:VN),例如,图1所示的VM1中包括LAG1和LAG2,LAG1接入VN1,LAG2接入VN2,VM2中包括LAG3,LAG3接入VN3。下面实施例中将结合图1所示的网络虚拟化场景,对本发明实施例提供的链路聚合方法进行详细地说明。

实施例一

本发明实施例提供一种链路聚合方法,如图2所示,该方法可以包括:

S101、本端设备通过本端设备的M个端口分别接收对端设备发送的LACP报文,该LACP报文中携带发送该LACP报文的端口的第一虚拟网络标识和该端口的LAG标识,M≥2。

本发明实施例提供的链路聚合方法中,端口均是指物理端口,即若端口为网络接口卡(英文:Network Interface Card,缩写:NIC,则该端口是指pNIC。

LACP基于IEEE802.3ad标准,为数据交换设备提供一种通过数据交换设备之间发送LACP报文进行协商的协商方式。

本端设备的M个端口与对端设备的M个端口一一对应连接,且本端设备的M个端口与对端设备的M个端口形成M条链路,为了提高链路带宽和链路可靠性,需要将M条链路中的至少2条链路进行聚合。示例性的,假设本端设备的端口1和本端设备的端口2分别与对端设备的端口1和对端设备的端口2连接,且本端设备的端口1和对端设备的端口1形成1条链路,为链路1,本端设备的端口2和对端设备的端口2形成1条链路,为链路2,若需将链路1和链路2聚合为1条链路,则可通过本端设备将本端设备的端口1和本端设备的端口2聚合,以及对端设备将对端设备的端口1和对端设备的端口2聚合实现。

本发明实施例提供的链路聚合方法中,本端设备通过本端设备的M个端口分别接收对端设备发送的LACP报文,并从中获取发送该LACP报文的端口的第一虚拟网络标识和该端口的LAG标识,其中,M≥2。具体的,该第一虚拟网络标识可用于区分端口所属的虚拟网络,即若端口所属的虚拟网络不同,则LACP报文中携带的该第一虚拟网络标识就不同;LAG标识用于区分端口所属的LAG,即端口所属的LAG不同,则LAG标识就不同。

S102、本端设备根据该第一虚拟网络标识和该LAG标识,将M个端口中,该第一虚拟网络标识和该LAG标识均相同的N个端口确定为一个对端LAG,其中,1≤N≤M。

本端设备通过本端设备的M个端口分别接收对端设备发送的LACP报文之后,本端设备可根据该报文中携带的该第一虚拟网络标识和该LAG标识,将本端设备的M个端口中,该第一虚拟网络标识和该LAG标识均相同的N个端口确定为一个对端LAG,其中,1≤N≤M。

S103、本端设备将一个对端LAG的N个端口中,属于预设的一个本端LAG的K个端口聚合为一个LAG,其中,1≤K≤N。

本端设备根据该第一虚拟网络标识和该LAG标识,将M个端口中,该第一虚拟网络标识和该LAG标识均相同的N个端口确定为一个对端LAG之后,本端设备将一个对端LAG的N个端口中,属于预设的一个本端LAG的K个端口聚合为一个LAG,其中,1≤K≤N,该K个端口为预设的一个本端LAG与一个对端LAG的端口交集,即该K个端口为预设的一个本端LAG的所有端口中与一个对端LAG的N个端口的该第一虚拟网络标识和该LAG标识均相同的端口。

本发明实施例提供一种链路聚合方法,本端设备接收到对端设备发送的LACP报文后,本端设备可以根据该LACP报文中携带的发送该LACP报文的端口的第一虚拟网络标识和该端口的LAG标识,将该第一虚拟网络标识和该LAG标识均相同的端口确定为能够聚合为一个链路的端口,并将能够聚合为一个链路的端口聚合为一个LAG。与现有技术在网络虚拟化场景中,无法完成链路聚合,从而无法提高链路带宽和链路可靠性相比,本发明提供的链路聚合方法,由于在LACP协商时增加了端口所属的虚拟网络的虚拟网络标识,因此本端设备可根据该虚拟网络标识,将属于同一个虚拟网络的端口聚合到该虚拟网络中相应的LAG,从而完成链路聚合,进而提高链路带宽和链路可靠性。

实施例二

本发明实施例提供一种链路聚合方法,如图3所示,该方法可以包括:

S201、本端设备通过本端设备的M个端口分别接收对端设备发送的LACP报文,该LACP报文中携带发送该LACP报文的端口的第一虚拟网络标识和该端口的LAG标识,M≥2。

具体的,S201的描述可以参照上述S101中的相关描述,此处不再赘述。

进一步地,对端设备可将该第一虚拟网络标识携带在LACP报文中传输。

一种可能的实现方式中,对端设备可在LACP报文中的链路聚合控制协议数据单元(英文:Link Aggregation Control Protocol Data Unit,缩写:LACPDU)中增加该第一虚拟网络标识。示例性的,如表1所示,对端设备可在LACPDU中的任意一个预留字段中增加该第一虚拟网络标识。

另一种可能的实现方式中,对端设备可在承载LACPDU的以太网帧结构中增加虚拟局域网络标签(VLAN-Tag)或虚拟网络标签(VN-Tag),以用于表示该第一虚拟网络标识。示例性的,如表2所示,对端设备可在承载LACPDU的以太网帧结构中增加“VLAN-Tag”,该“VLAN-Tag”可用于表示该第一虚拟网络标识;如表3所示,在承载LACPDU的以太网帧结构中增加“VN-Tag”,该“VN-Tag”可用于表示该第一虚拟网络标识。其中,实际使用过程中,当需表示的该第一虚拟网络标识的数量超出表2所示的“VLAN-Tag”字段能够表示的该第一虚拟网络标识的数量时,如表4所示,可以在表2所示的“VLAN-Tag”字段之后再增加一个相同的字段,以表示更多的该第一虚拟网络标识,从而指示不同的虚拟网络。

表1

表2

表3

表4

在上述述表1至表4中,“DA”是目的地址;“SA”是源地址;“ETYPE/LENGTH”是以太网类型/长度,用于表征以太网帧的数据字段的类型或长度;“FCS”是帧校验序列。

S202、本端设备根据该第一虚拟网络标识,将M个端口中,该第一虚拟网络标识相同的端口确定为一个虚拟网络组。

本端设备从该LACP报文中获取发送该LACP报文的端口的第一虚拟网络标识和该端口的LAG标识之后,本端设备可根据该第一虚拟网络标识,将M个端口中,该第一虚拟网络标识相同的端口确定为一个虚拟网络组。

S203、本端设备根据该LAG标识,将一个虚拟网络组的端口中,该LAG标识相同的N个端口确定为一个对端LAG。

本端设备将M个端口中,该第一虚拟网络标识相同的端口确定为一个虚拟网络组之后,本端设备再根据该LAG标识,将一个虚拟网络组的端口中,LAG标识相同的N个端口确定为一个对端LAG,其中,1≤N≤M。

需要说明的是,本发明实施例提供的链路聚合方法,为了更好地理解且描述方便,以该第一虚拟网络标识和该LAG标识均相同的一个对端LAG的协商为例进行示例性的说明,本端设备与对端设备对于其他对端LAG的协商均与上述一个对端LAG的协商类似,此处不再赘述。

S204、本端设备根据该第一虚拟网络标识,从预设的本端LAG中,确定与该一个对端LAG的该第一虚拟网络标识相同的一个本端LAG。

本端设备根据该LAG标识,将一个虚拟网络组的端口中,该LAG标识相同的N个端口确定为一个对端LAG之后,本端设备可根据该第一虚拟网络标识,从预设的本端LAG中,确定与该一个对端LAG的该第一虚拟网络标识相同的一个本端LAG。

S205、本端设备确定该一个对端LAG和该一个本端LAG的端口交集,该端口交集包括K个端口。

本端设备从预设的本端LAG中,确定与该一个对端LAG的该第一虚拟网络标识相同的该一个本端LAG之后,本端设备可确定该一个对端LAG和该一个本端LAG的端口交集,该端口交集包括K个端口,其中,1≤K≤N。

S206、本端设备将该K个端口聚合为一个LAG。

本端设备确定该一个对端LAG和该一个本端LAG的端口交集之后,本端设备可将该端口交集中的K个端口聚合为一个LAG。

需要说明的是,本发明实施例提供的本端设备和对端设备均是示例性的说明,该本端设备和对端设备的概念是相对的,不是绝对的。例如,本端设备可以为服务器,那么对端设备则为网络交换机;或者,本端设备可以为网络交换机,那么对端设备则为服务器。

本发明实施例提供的链路聚合方法中,仅以本端设备为例进行示例性的说明,对端设备进行链路聚合的方法与本端设备类似,此处不再赘述。

进一步地,本端设备和对端设备通过执行本发明实施例提供的链路聚合方法,可以协商确定能够进行链路聚合的端口,即上述的一个本端LAG和一个对端LAG的端口交集,并将能够进行链路聚合的端口聚合为一个LAG,以提高链路带宽和链路可靠性。

进一步地,本端设备和对端设备均完成将上述k个端口聚合为一个LAG,即完成链路聚合后,本发明实施例提供的链路聚合方法还可以包括:

S207、本端设备接收对端设备通过该一个LAG发送的数据报文,该数据报文中携带第二虚拟网络标识,其中,该第二虚拟网络标识与该第一虚拟网络标识之间存在对应关系。

本端设备和对端设备均完成将k个端口聚合为一个LAG,即完成链路聚合后,本端设备接收对端设备通过该一个LAG发送的数据报文,该数据报文中可以携带该第二虚拟网络标识,其中,该第二虚拟网络标识与该第一虚拟网络标识之间存在对应关系。

其中,该对应关系可以包括:该第二虚拟网络标识与该第一虚拟网络标识相同;或者该第二虚拟网络标识与该第一虚拟网络标识之间存在预设的映射关系。

具体的,该第二虚拟网络标识可以通过数据报文中的“VLAN-Tag”或“VN-Tag”来指示。具体的,数据报文中的“VLAN-Tag”或“VN-Tag”表示该第二虚拟网络标识的形式与LACP报文中的“VLAN-Tag”或“VN-Tag”表示该第一虚拟网络标识的形式类似,此处不再赘述。

特别的,该数据报文中还可以携带:上述一个LAG的标识、上述一个LAG包含的K个端口的端口号和K个端口的负荷分担策略。

本发明实施例中,负荷分担策略可以理解为:将若干个端口聚合为一个LAG之后,确定若干个端口中的一部分端口为主用端口,以用于传输数据。另一部分端口为备用端口,以在主用端口发生故障时,用于提高链路的可靠性;具体可以为,当主用端口发生故障时,备用端口可以代替主用端口传输数据。

进一步地,上述S201中,对端设备发送的该LACP报文中还可以携带对端设备的优先级和发送该LACP报文的端口的对端优先级,用于在本端设备和对端设备均完成将k个端口聚合为一个LAG之后,确定一个LAG的负荷分担策略,具体可以包括以下步骤:

(1)本端设备根据K个端口的对端优先级,确定对端负荷分担策略,对端负荷分担策略包括K个端口的第一工作模式,K个端口的第一工作模式为:A个主用端口负荷分担和(K-A)个备用端口,1≤A≤K。

(2)本端设备根据K个端口的本端优先级,确定本端负荷分担策略,本端负荷分担策略包括K个端口的第二工作模式,K个端口的第二工作模式为:B个主用端口负荷分担和(K-B)个备用端口,1≤B≤K。

(3)本端设备根据对端设备的优先级和本端设备的优先级,确定该一个LAG的负荷分担策略,该一个LAG的负荷分担策略可以为对端负荷分担策略,或者可以为本端负荷分担策略。

进一步地,为了更好地描述本发明实施例提供的链路聚合方法,下面以图1所示的网络虚拟化场景为例进行示例性的说明,具体可以包括以下步骤:

(1)网络交换机通过网络交换机的M个pNIC分别接收服务器发送的LACP报文,该LACP报文中携带发送该LACP报文的端口的第一虚拟网络标识和该端口的LAG标识。

例如,网络交换机通过pNIC11、pNIC21和pNIC31分别接收服务器通过pNIC10、pNIC20和pNIC30发送的LACP报文,每个LACP报文中均携带对应端口的第一虚拟网络标识和该端口的LAG标识。

需要说明的是,如图1所示的场景中,pNIC11和pNIC10为对应的一对端口,且pNIC11和pNIC10形成一条链路;pNIC21和pNIC20为对应的一对端口,且pNIC21和pNIC20形成一条链路;pNIC31和pNIC30为对应的一对端口,且pNIC31和pNIC30形成一条链路。其中,网络交换机通过pNIC11、pNIC21和pNIC31分别接收服务器通过pNIC10、pNIC20和pNIC30发送的LACP报文,该三个LACP报文用于指示服务器期望pNIC10、pNIC20和pNIC30均聚合为VN1中的LAG1。

(2)网络交换机可以根据该LACP报文中携带的发送该LACP报文的端口的第一虚拟网络标识和该端口的LAG标识,将该第一虚拟网络标识和该LAG标识均相同的N个端口,例如可以为图1所示的pNIC10、pNIC20和pNIC30,确定为一个服务器端LAG。其中,该服务器端LAG中的端口为服务器期望聚合为一个虚拟网络中的一个LAG的端口。

(3)网络交换机根据该第一虚拟网络标识,从网络交换机中预设的本端LAG中确定与一个服务器端LAG的该第一虚拟网络标识相同的一个网络交换机端LAG,例如,该一个网络交换机端LAG包括图1所示的pNIC11和pNIC21。

(4)网络交换机确定该一个服务器端LAG和该一个网络交换机端LAG的端口交集。其中,该端口交集包括pNIC11和pNIC21。

(5)如图1所示,网络交换机将pNIC11和pNIC21聚合为VN1中的LAG1。

需要说明的是,上述(1)-(5)为网络交换机对端口聚合的过程,对于服务器对相应端口聚合的过程,与上述(1)-(5)类似,即服务器可根据网络交换机通过网络交换机的相应端口发送的LACP报文,将服务器的pNIC10和pNIC20聚合为VN1中的LAG1。

至此,网络交换机和服务器均完成了端口聚合,即链路聚合,从而聚合后的端口形成一个LAG,进而服务器和网络交换机可通过该LAG进行数据传输,提高了链路带宽和链路可靠性。

进一步地,如果除VN1以外的其他虚拟网络中的LAG和上述LAG1包含了相同的端口,则服务器和网络交换机还可在这些端口进行LACP协商,从而完成将这些端口聚合至除VN1以外的其他虚拟网络中的LAG。例如,图1所示的LAG2和LAG3的聚合,其中,LAG2和LAG3的聚合过程与上述LAG1的聚合过程类似,此处不再赘述。

本发明实施例提供的链路聚合方法中,可将属于同一个虚拟网络的端口聚合到该虚拟网络中相应的LAG,由于每个LAG都属于不同的虚拟网络,因此在协商过程中是相互独立的,以使得对不同的LAG可以确定不同的负荷分担策略,从而在传输数据时,使得链路的分配更加灵活;并且本发明实施例提供的链路聚合方法中,一端设备的pNIC无需支持虚拟化,从而在设备部署时可以节约成本。

本发明实施例提供一种链路聚合方法,本端设备接收到对端设备发送的LACP报文后,本端设备可以根据该LACP报文中携带的发送该LACP报文的端口的第一虚拟网络标识和该端口的LAG标识,将该第一虚拟网络标识和该LAG标识均相同的端口确定为能够聚合为一个链路的端口,并将能够聚合为一个链路的端口聚合为一个LAG。与现有技术在网络虚拟化场景中,无法完成链路聚合,从而无法提高链路带宽和链路可靠性相比,本发明提供的链路聚合方法,由于在LACP协商时增加了端口所属的虚拟网络的虚拟网络标识,因此本端设备可根据该虚拟网络标识,将属于同一个虚拟网络的端口聚合到该虚拟网络中相应的LAG,从而完成链路聚合,进而提高链路带宽和链路可靠性。

实施例三

如图4所示,本发明实施例提供一种链路聚合设备1,该链路聚合设备1可以执行上述实施例一中如图2或上述实施例二中如图3所述的方法流程,该链路聚合设备1可以包括:

接收单元10,用于通过所述链路聚合设备的M个端口分别接收对端设备发送的LACP报文,所述LACP报文中携带发送所述LACP报文的端口的第一虚拟网络标识和所述端口的LAG标识,M≥2;处理单元11,用于根据所述接收单元10接收的所述第一虚拟网络标识和所述LAG标识,将所述M个端口中,所述第一虚拟网络标识和所述LAG标识均相同的N个端口确定为一个对端LAG,并将所述一个对端LAG的N个端口中,属于预设的一个本端LAG的K个端口聚合为一个LAG,其中,1≤N≤M,1≤K≤N。

可选的,所述处理单元11,具体用于根据所述接收单元10接收的所述第一虚拟网络标识,将所述M个端口中,所述第一虚拟网络标识相同的端口确定为一个虚拟网络组;并根据所述接收单元10接收的所述LAG标识,将所述一个虚拟网络组的端口中,所述LAG标识相同的N个端口确定为所述一个对端LAG。

可选的,所述处理单元11,还用于根据所述接收单元10接收的所述第一虚拟网络标识,从预设的本端LAG中,确定与所述一个对端LAG的第一虚拟网络标识相同的所述一个本端LAG;并确定所述一个对端LAG和所述一个本端LAG的端口交集,所述端口交集包括所述K个端口;以及将所述K个端口聚合为所述一个LAG。

可选的,所述接收单元10接收的所述LACP报文中还携带所述对端设备的优先级和所述端口的对端优先级;

所述处理单元11,还用于根据所述K个端口的对端优先级,确定对端负荷分担策略,并根据所述K个端口的本端优先级,确定本端负荷分担策略,以及根据所述对端设备的优先级和所述链路聚合设备的优先级,确定所述一个LAG的负荷分担策略,所述一个LAG的负荷分担策略为所述对端负荷分担策略,或为所述本端负荷分担策略,所述对端负荷分担策略包括所述K个端口的第一工作模式,所述K个端口的第一工作模式为:A个主用端口负荷分担和(K-A)个备用端口,1≤A≤K,所述本端负荷分担策略包括所述K个端口的第二工作模式,所述K个端口的第二工作模式为:B个主用端口负荷分担和(K-B)个备用端口,1≤B≤K。

可选的,所述第一虚拟网络标识携带在所述LACP报文中,或所述第一虚拟网络标识携带在承载所述LACP报文的以太网帧的虚拟网络标签中。

可选的,所述接收单元10,还用于当所述链路聚合设备和所述对端设备均完成将所述k个端口聚合为一个LAG之后,接收所述对端设备通过所述一个LAG发送的数据报文,所述数据报文中携带第二虚拟网络标识,其中,所述第二虚拟网络标识与所述第一虚拟网络标识之间存在对应关系。

可选的,所述对应关系包括:所述第二虚拟网络标识与所述第一虚拟网络标识相同,或所述第二虚拟网络标识与所述第一虚拟网络标识之间存在预设的映射关系。

特别的,所述链路聚合设备也可以通过发送LACP报文给所述对端设备,对所述链路聚合设备期望聚合的端口进行协商,以确定出能够进行链路聚合的端口,并将能够进行链路聚合的端口聚合为一个LAG。其中,所述链路聚合设备发送LACP报文给对端设备进行协商的方式与上述对端设备发送LACP报文给所述链路聚合设备进行协商的方式类似,此处不再赘述。

本发明实施例中,所述链路聚合设备和所述对端设备均可以为服务器或网络交换机。例如,若所述链路聚合设备为服务器,那么所述对端设备则为网络交换机;或者,若所述链路聚合设备为网络交换机,那么所述对端设备则为服务器。

本发明实施例提供一种链路聚合设备,该链路聚合设备接收到对端设备发送的LACP报文后,该链路聚合设备可以根据该LACP报文中携带的发送该LACP报文的端口的第一虚拟网络标识和该端口的LAG标识,将第一虚拟网络标识和LAG标识均相同的端口确定为能够聚合为一个链路的端口,并将能够聚合为一个链路的端口聚合为一个LAG。与现有技术在网络虚拟化场景中,无法完成链路聚合,从而无法提高链路带宽和链路可靠性相比,本发明提供的链路聚合设备,由于在LACP协商时增加了端口所属的虚拟网络的虚拟网络标识,因此链路聚合设备可根据该虚拟网络标识,将属于同一个虚拟网络的端口聚合到该虚拟网络中相应的LAG,从而完成链路聚合,进而提高链路带宽和链路可靠性。

实施例四

如图5所示,本发明实施例提供一种链路聚合设备,该链路聚合设备可以为服务器或网络交换机,该链路聚合设备可以包括处理器13、存储器14、系统总线15。处理器13和存储器14之间通过系统总线15连接并完成相互间的通信。

处理器13可以为中央处理器(英文:central processing unit,缩写:CPU)。

存储器14,用于存储程序代码,处理器13,用于根据存储器14存储的程序代码执行下述指令。存储器14可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器14也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器14还可以包括上述种类的存储器的组合。

当链路聚合设备运行时,处理器13运行链路聚合设备的执行指令,可以执行上述实施例一中如图2或上述实施例二中如图3所述的方法流程,具体包括:

所述处理器13,用于通过所述链路聚合设备的M个端口分别接收对端设备发送的LACP报文,所述LACP报文中携带发送所述LACP报文的端口的第一虚拟网络标识和所述端口的LAG标识;并根据所述第一虚拟网络标识和所述LAG标识,将所述M个端口中,所述第一虚拟网络标识和所述LAG标识均相同的N个端口确定为一个对端LAG,以及将所述一个对端LAG的N个端口中,属于预设的一个本端LAG的K个端口聚合为一个LAG,其中,M≥2,1≤N≤M,1≤K≤N;所述存储器14,用于存储所述LACP报文的代码和控制所述处理器13完成上述过程的软件程序,从而所述处理器13可以通过执行所述存储器14中存储的软件程序,并调用所述存储器14中存储的软件代码以完成上述过程。

可选的,所述处理器13,具体用于根据所述第一虚拟网络标识,将所述M个端口中,所述第一虚拟网络标识相同的端口确定为一个虚拟网络组;并根据所述LAG标识,将所述一个虚拟网络组的端口中,所述LAG标识相同的N个端口确定为所述一个对端LAG。

可选的,所述处理器13,还用于根据所述第一虚拟网络标识,从预设的本端LAG中,确定与所述一个对端LAG的第一虚拟网络标识相同的所述一个本端LAG;并确定所述一个对端LAG和所述一个本端LAG的端口交集,所述端口交集包括所述K个端口;以及将所述K个端口聚合为所述一个LAG。

可选的,所述处理器13接收的所述LACP报文中还携带所述对端设备的优先级和所述端口的对端优先级;

所述处理器13,还用于根据所述K个端口的对端优先级,确定对端负荷分担策略,并根据所述K个端口的本端优先级,确定本端负荷分担策略,以及根据所述对端设备的优先级和所述链路聚合设备的优先级,确定所述一个LAG的负荷分担策略,所述一个LAG的负荷分担策略为所述对端负荷分担策略,或为所述本端负荷分担策略,所述对端负荷分担策略包括所述K个端口的第一工作模式,所述K个端口的第一工作模式为:A个主用端口负荷分担和(K-A)个备用端口,1≤A≤K,所述本端负荷分担策略包括所述K个端口的第二工作模式,所述K个端口的第二工作模式为:B个主用端口负荷分担和(K-B)个备用端口,1≤B≤K。

可选的,所述第一虚拟网络标识携带在所述LACP报文中,或所述第一虚拟网络标识携带在承载所述LACP报文的以太网帧的虚拟网络标签中。

可选的,所述处理器13,还用于当所述链路聚合设备和所述对端设备均完成将所述k个端口聚合为一个LAG之后,接收所述对端设备通过所述一个LAG发送的数据报文,所述数据报文中携带第二虚拟网络标识,其中,所述第二虚拟网络标识与所述第一虚拟网络标识之间存在对应关系。

可选的,所述对应关系包括:所述第二虚拟网络标识与所述第一虚拟网络标识相同,或所述第二虚拟网络标识与所述第一虚拟网络标识之间存在预设的映射关系。

特别的,所述处理器13,还用于通过发送LACP报文给所述对端设备,对所述链路聚合设备期望聚合的端口进行协商,以确定出能够进行链路聚合的端口,并将能够进行链路聚合的端口聚合为一个LAG。其中,所述链路聚合设备发送LACP报文给对端设备进行协商的方式与上述对端设备发送LACP报文给所述链路聚合设备进行协商的方式类似,此处不再赘述。

本发明实施例中,所述链路聚合设备和所述对端设备均可以为服务器或网络交换机。例如,若所述链路聚合设备为服务器,那么所述对端设备则为网络交换机;或者,若所述链路聚合设备为网络交换机,那么所述对端设备则为服务器。

本发明实施例提供一种链路聚合设备,该链路聚合设备接收到对端设备发送的LACP报文后,该链路聚合设备可以根据该LACP报文中携带的发送该LACP报文的端口的第一虚拟网络标识和该端口的LAG标识,将第一虚拟网络标识和LAG标识均相同的端口确定为能够聚合为一个链路的端口,并将能够聚合为一个链路的端口聚合为一个LAG。与现有技术在网络虚拟化场景中,无法完成链路聚合,从而无法提高链路带宽和链路可靠性相比,本发明提供的链路聚合设备,由于在LACP协商时增加了端口所属的虚拟网络的虚拟网络标识,因此链路聚合设备可根据该虚拟网络标识,将属于同一个虚拟网络的端口聚合到该虚拟网络中相应的LAG,从而完成链路聚合,进而提高链路带宽和链路可靠性。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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