本发明涉及网络通信技术领域,更具体地说,涉及一种链路聚合方法、装置、设备及可读存储介质。
背景技术:
随着网络技术与交换技术的不断发展,通讯网络和终端对于高速链路带宽和低冗余性的需求愈加明显。目前市面上的网络设备都是基于单线路传输的,在当今各式各样的用网需求下也显得不够用,为了提高数据传输效率,lacp链路聚合技术应运而生。
lacp链路聚合技术可以把两个交换机之间的两条以上同时相连的链路虚拟为一条链路来传输信息。其实质是将两台设备间的数条物理链路“组合”为逻辑上的一条数据通路,称为一条聚合链路。lacp(linkaggregationcontrolprotocol)即链路汇聚控制协议,其不依赖任何硬件厂商,且得到了大部分交换机的支持。在高带宽之外更带来了低冗余和高容错率的优点,且易于搭建。
但是,lacp协议所支持的更高带宽需要绑定多张网卡来支持,即将多张网卡绑定同一ip地址对外提供服务。而家庭网络中常用的router/cablemodem/adsl/vdsl等类型的终端一般仅具有一张网卡,因此无法进行lacp链路聚合。
因此,如何基于一张网卡实现lacp链路聚合,是本领域技术人员需要解决的问题。
技术实现要素:
本发明的目的在于提供一种链路聚合方法、装置、设备及可读存储介质,以实现基于一张网卡实现lacp链路聚合。
为实现上述目的,本发明实施例提供了如下技术方案:
一种链路聚合方法,包括:
通过交换机的多个端口获取数据包;
解析所述数据包并检测所述数据包是否符合lacpdu;
若是,则将所述数据包的以太网接口对应为预设的虚拟网卡,并通过所述虚拟网卡将所述数据包交于聚合组进行lacp协商,当协商成功后,将协商成功的消息返回至交换机,以使交换机根据协商成功的消息将多个端口分别对应的多条链路聚合为一条聚合链路。
其中,所述通过交换机的多个端口获取数据包,包括:
通过交换机的多个端口获取所述数据包,所述数据包为通往本机的数据包,并为所述数据包添加交换机头部信息,所述头部信息至少包括:所述数据包的port信息,以及管理包type信息。
其中,所述将协商成功的消息返回至所述交换机,包括:
为所述协商成功的消息添加所述头部信息,并将添加后的协商成功的消息返回至所述交换机。
其中,所述交换机根据所述协商成功的消息将所述多个端口分别对应的多条链路聚合为一条聚合链路,包括:
所述交换机使用eth-trunk将所述多个端口进行端口汇聚,以实现将所述多个端口分别对应的多条链路聚合为一条聚合链路。
其中,还包括:
当协商失败后,将协商失败的消息返回至所述交换机,以使所述交换机关闭端口汇聚。
其中,还包括:
通过所述聚合链路与外网设备进行数据传输。
一种链路聚合装置,包括:
获取模块,用于通过交换机的多个端口获取数据包;
检测模块,用于解析所述数据包并检测所述数据包是否符合lacpdu;
聚合模块,用于当所述数据包符合lacpdu时,将所述数据包的以太网接口对应为预设的虚拟网卡,并通过所述虚拟网卡将所述数据包交于聚合组进行lacp协商,当协商成功后,将协商成功的消息返回至交换机,以使交换机根据协商成功的消息将多个端口分别对应的多条链路聚合为一条聚合链路。
其中,所述获取模块具体用于:
通过交换机的多个端口获取所述数据包,所述数据包为通往本机的数据包,并为所述数据包添加交换机头部信息,所述头部信息至少包括:所述数据包的port信息,以及管理包type信息。
一种链路聚合设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任意一项所述的链路聚合方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的链路聚合方法的步骤。
通过以上方案可知,本发明实施例提供的一种链路聚合方法,包括:通过交换机的多个端口获取数据包;解析所述数据包并检测所述数据包是否符合lacpdu;若是,则将所述数据包的以太网接口对应为预设的虚拟网卡,并通过所述虚拟网卡将所述数据包交于聚合组进行lacp协商,当协商成功后,将协商成功的消息返回至交换机,以使交换机根据协商成功的消息将多个端口分别对应的多条链路聚合为一条聚合链路。
可见,所述方法在获取到数据包且数据包符合lacpdu时,将数据包的以太网接口对应为预设的虚拟网卡,并通过虚拟网卡将数据包交于聚合组进行lacp协商,即:将虚拟网卡看作真实网卡,完成绑定和协商操作;当协商成功后,将协商成功的消息返回至交换机,以使交换机根据协商成功的消息将多个端口分别对应的多条链路聚合为一条聚合链路,从而基于一张网卡实现了lacp链路聚合,提高了带宽和数据传输效率,给用户带来了良好的体验。
相应地,本发明实施例提供的一种链路聚合装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种链路聚合方法流程图;
图2为本发明实施例公开的另一种链路聚合方法流程图;
图3为本发明实施例公开的一种链路聚合装置示意图;
图4为本发明实施例公开的一种链路聚合设备示意图;
图5为本发明实施例公开的交换机与网络设备的数据交互示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种链路聚合方法、装置、设备及可读存储介质,以实现基于一张网卡实现lacp链路聚合。
参见图1,本发明实施例提供的一种链路聚合方法,包括:
s101、通过交换机的多个端口获取数据包;
s102、解析数据包并检测数据包是否符合lacpdu;若是,则执行s103;若否,则执行s104;
s103、将数据包的以太网接口对应为预设的虚拟网卡,并通过虚拟网卡将数据包交于聚合组进行lacp协商,当协商成功后,将协商成功的消息返回至交换机,以使交换机根据协商成功的消息将多个端口分别对应的多条链路聚合为一条聚合链路;
s104、进行默认数据包处理。
其中,默认数据包处理一般是路由器正常处理数据的流程,包括:发往本机的http请求进行接收处理,发往本机但不支持的数据,如ntp请求进行丢弃等。
在本实施例中,可站在网络设备的角度看待整个方案,那么获取数据包的执行主体即为网络设备内核或其中的真实网卡。即:真实网卡负责获取数据包,虚拟网络负责以真实网卡的身份将数据包与lacp协议进行协商。具体的,本实施例中的协商过程基于ieee802.3ad实现。
其中,所述交换机根据所述协商成功的消息将所述多个端口分别对应的多条链路聚合为一条聚合链路,包括:所述交换机使用eth-trunk将所述多个端口进行端口汇聚,以实现将所述多个端口分别对应的多条链路聚合为一条聚合链路。即:交换机对多个端口进行trunk设定,以实现端口汇聚。当协商失败后,将协商失败的消息返回至所述交换机,以使所述交换机关闭端口汇聚。
lacpdu(linkaggregationcontrolprotocoldataunit)即链路汇聚控制协议数据单元,负责与对端交互信息。所述聚合组由所述虚拟网卡组成。
可见,本实施例提供了一种链路聚合方法,所述方法在获取到数据包且数据包符合lacpdu时,将数据包的以太网接口对应为预设的虚拟网卡,并通过虚拟网卡将数据包交于聚合组进行lacp协商,即:将虚拟网卡看作真实网卡,完成绑定和协商操作;当协商成功后,将协商成功的消息返回至交换机,以使交换机根据协商成功的消息将多个端口分别对应的多条链路聚合为一条聚合链路,从而基于一张网卡实现了lacp链路聚合,提高了带宽和数据传输效率,给用户带来了良好的体验。
本发明实施例公开了另一种链路聚合方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
参见图2,本发明实施例提供的另一种链路聚合方法,包括:
s201、通过交换机的多个端口获取数据包,数据包为通往本机的数据包,并为数据包添加交换机头部信息;
具体的,头部信息至少包括:数据包的来源port信息,以及交换机管理包type信息。
s202、解析数据包并检测数据包是否符合lacpdu;若是,则执行s203;若否,则执行s206;
s203、将数据包的以太网接口对应为预设的虚拟网卡,并通过虚拟网卡将数据包交于聚合组进行lacp协商,并检测协商是否成功;若是,则执行s204;若否,则执行s205;
s204、为协商成功的消息添加头部信息,并将添加后的协商成功的消息返回至交换机,以使交换机根据协商成功的消息将多个端口分别对应的多条链路聚合为一条聚合链路;
s205、将协商失败的消息返回至交换机,以使交换机关闭端口汇聚。
s206、进行默认数据包处理。
在本实施例中,为了使交换机通过正确的端口收发数据,数据包在经过交换机时,会为数据包添加头部信息。相应的,当数据从网络设备端发送至交换机时,也需要添加相应的头部信息。当协商失败后,将协商失败的消息返回至所述交换机,以使所述交换机关闭端口汇聚。
可见,本实施例提供了另一种链路聚合方法,所述方法在获取到数据包且数据包符合lacpdu时,将数据包的以太网接口对应为预设的虚拟网卡,并通过虚拟网卡将数据包交于聚合组进行lacp协商,即:将虚拟网卡看作真实网卡,完成绑定和协商操作;当协商成功后,将协商成功的消息返回至交换机,以使交换机根据协商成功的消息将多个端口分别对应的多条链路聚合为一条聚合链路,从而基于一张网卡实现了lacp链路聚合,提高了带宽和数据传输效率,给用户带来了良好的体验。
基于上述任意实施例,需要说明的是,还包括:通过所述聚合链路与外网设备进行数据传输。
下面对本发明实施例提供的一种链路聚合装置进行介绍,下文描述的一种链路聚合装置与上文描述的一种链路聚合方法可以相互参照。
参见图3,本发明实施例提供的一种链路聚合装置,包括:
获取模块301,用于通过交换机的多个端口获取数据包;
检测模块302,用于解析所述数据包并检测所述数据包是否符合lacpdu;
聚合模块303,用于当所述数据包符合lacpdu时,将所述数据包的以太网接口对应为预设的虚拟网卡,并通过所述虚拟网卡将所述数据包交于聚合组进行lacp协商,当协商成功后,将协商成功的消息返回至交换机,以使交换机根据协商成功的消息将多个端口分别对应的多条链路聚合为一条聚合链路。
其中,所述获取模块具体用于:
通过交换机的多个端口获取所述数据包,所述数据包为通往本机的数据包,并为所述数据包添加交换机头部信息,所述头部信息至少包括:所述数据包的port信息,以及管理包type信息。
其中,所述聚合模块具体用于:
为所述协商成功的消息添加所述头部信息,并将添加后的协商成功的消息返回至所述交换机。
其中,所述聚合模块具体用于:
所述交换机使用eth-trunk将所述多个端口进行端口汇聚,以实现将所述多个端口分别对应的多条链路聚合为一条聚合链路。
其中,还包括:
关闭模块,用于当协商失败后,将协商失败的消息返回至所述交换机,以使所述交换机关闭端口汇聚。
其中,还包括:
传输模块,用于通过所述聚合链路与外网设备进行数据传输。
可见,本实施例提供了一种链路聚合装置,包括:获取模块、检测模块以及聚合模块。首先由获取模块通过交换机的多个端口获取数据包;然后检测模块解析数据包并检测数据包是否符合lacpdu;当数据包符合lacpdu时,聚合模块通过将所述数据包的以太网接口对应为预设的虚拟网卡,并通过所述虚拟网卡将所述数据包交于聚合组进行lacp协商,当协商成功后,将协商成功的消息返回至交换机,以使交换机根据协商成功的消息将多个端口分别对应的多条链路聚合为一条聚合链路。如此各个模块之间分工合作,各司其职,从而基于一张网卡实现了lacp链路聚合,提高了带宽和数据传输效率,给用户带来了良好的体验。
下面对本发明实施例提供的一种链路聚合设备进行介绍,下文描述的一种链路聚合设备与上文描述的一种链路聚合方法及装置可以相互参照。
参见图4,本发明实施例提供的一种链路聚合设备,包括:
存储器401,用于存储计算机程序;
处理器402,用于执行所述计算机程序时实现上述任意实施例所述的链路聚合方法的步骤。
下面对本发明实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种链路聚合方法、装置及设备可以相互参照。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意实施例所述的链路聚合方法的步骤。
按照本说明书提供的链路聚合方法可实施下述方案,请参见图5。通过交换机的聚合口p1和p2获取数据包,并为数据包添加头部信息,头部信息中附带相应的接收数据的port信息,以及交换机管理包type信息;在网络设备的内核中添加预处理模块,当真实网卡接收到数据包时,解析相应的管理帧,剥离数据包头部信息,检测数据包为lacpdu数据包时,将数据包转发到相应的虚拟网卡ethp1和ethp2;虚拟网卡ethp1和ethp2通过聚合组进行lacp协议协商,协商成功后,将协商成功的数据返回给交换机,此时,需要给协商成功的数据添加头部信息。其中,ethp1和ethp2作为聚合组的从设备,聚合组即为绑定得到的网络接口,该聚合组用于进行lacp协议协商。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。