一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种链路聚合方法、链路聚合装置、电子设备及存储介质与流程

2022-09-03 19:01:05 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其涉及一种链路聚合方法、链路聚合装置、电子设备及存储介质。


背景技术:

2.为了充分利用多条聚合在一起的物理链路的带宽,以实现标准用户数据报协议(user datagram protocol,udp)报文的有序和可靠传输,通常采用链路聚合的方法来实现在多条物理链路上的调度分配流量。目前已有的链路聚合的实现方法包括:(1)逐包的负载分担:通过使数据流的第一个数据帧在一条物理链路上传输;而使第二个数据帧在另外一条物理链路上传输的方式。该方法使得同一数据流的第二个数据帧有可能比第一个数据帧先到达对端设备,从而产生接收数据包为乱序的情况。(2)逐流的负载分担:将数据帧中的地址通过哈希(hash)算法生成hash键值,然后根据这个键值在转发表中寻找对应的出接口,由于得出的hash键值是不同的,则其对应的出接口也不同,实现了同一数据流的帧可以在同一物理链路转发。然而,采用该逐流的负载分担方法虽然能保证包的顺序传输,但不能保证其带宽利用率。因此,如何提供一种更有效的链路聚合方法,成为了亟待解决的技术问题。


技术实现要素:

3.本技术实施例的主要目的在于提出一种链路聚合方法、链路聚合装置、电子设备及存储介质,能够有效地提高链路聚合的效率。
4.为实现上述目的,本技术实施例的第一方面提出了一种链路聚合方法,应用于客户端,所述方法包括:
5.获取客户端本地用户侧的配置需求信息,并根据所述配置需求信息配置对应的链路聚合组、所述链路聚合组内的信道端口和所述链路聚合组的聚合组优先级,其中,所述客户端与至少一个所述客户端本地用户侧通信连接;
6.根据所述配置需求信息向服务端发送链路聚合控制请求信息,并接收所述服务端根据所述链路聚合控制请求信息发送的回复信息;
7.根据所述回复信息建立每个所述链路聚合组与所述服务端的业务控制通道,并将每个所述链路聚合组内的全部所述信道端口标识为相同的聚合传输控制连接信息;
8.获取所述客户端本地用户侧接收的第一数据包,根据预设置的配置策略将所述第一数据包缓存到对应的所述链路聚合组的聚合发送缓冲区;
9.通过所述业务控制通道将所述聚合发送缓冲区的数据发送到对应的所述服务端;
10.通过所述链路聚合组的聚合接收缓冲区读取所述服务端根据所述第一数据包发送的第一处理数据,并将所述第一处理数据按照对端发送次序转发到对应的所述客户端本地用户侧。
11.在一些实施例中,所述客户端包括至少一个信道端口,所述获取客户端本地用户
侧的配置需求信息,并根据所述配置需求信息配置对应的链路聚合组、所述链路聚合组内的信道端口和所述链路聚合组的聚合组优先级,包括:
12.通过所述客户端的所述信道端口建立所述客户端与客户端本地用户侧的信道连接;
13.当信道连接成功后,通过所述客户端为所述信道端口配置端口参数信息,所述端口参数信息用于控制所述客户端本地用户侧与所述客户端的数据传输;
14.获取所述客户端本地用户侧的配置需求信息;
15.根据所述配置需求信息配置对应的链路聚合组、所述链路聚合组内的信道端口和所述链路聚合组的聚合组优先级。
16.在一些实施例中,所述根据所述配置需求信息向所述服务端发送链路聚合控制请求信息,并接收所述服务端根据所述链路聚合控制请求信息发送的回复信息,包括:
17.向所述服务端发送标准传输控制连接请求信息;
18.接收所述服务端根据所述标准传输控制连接请求信息发送的响应信息,根据所述响应信息建立所述客户端和所述服务端的传输控制通信连接;
19.根据所述传输控制通信连接向所述服务端发送每个所述链路聚合组的链路聚合控制请求信息;
20.接收所述服务端根据所述链路聚合控制请求信息发送的回复信息,并根据所述回复信息记录存储每个所述链路聚合组对应的所述服务端的端口接入信息。
21.在一些实施例中,所述获取所述客户端本地用户侧接收的第一数据包,根据预设置的配置策略将所述第一数据包缓存到对应的所述链路聚合组的聚合发送缓冲区,包括:
22.获取所述客户端本地用户侧接收的以太网数据包;
23.当所述以太网数据包满足预设数据包类型,得到第一数据包;
24.将所述第一数据包中的网络地址对应关系记录到所述客户端的记录表中;
25.对所述第一数据包进行包头去除,得到第二数据包;
26.将所述第二数据包缓存到所述聚合传输控制连接的聚合发送缓冲区。
27.在一些实施例中,所述通过所述业务控制通道将所述聚合发送缓冲区的数据发送到对应的所述服务端,包括:
28.将所述聚合发送缓冲区的数据进行数据包装处理,得到第三数据包;
29.通过所述业务控制通道将所述第三数据包发送到对应的所述服务端。
30.在一些实施例中,在所述通过所述业务控制通道将所述第三数据包发送到对应的所述服务端之后,所述方法还包括:
31.当所述客户端在预设的响应时间阈值内未接收到所述服务端根据所述第三数据包的确认响应信息,再次通过所述业务控制通道将所述第三数据包发送到对应的所述服务端。
32.为实现上述目的,本技术实施例的第二方面提出了一种链路聚合方法,应用于服务端,所述方法包括:
33.接收客户端发送的标准传输控制连接请求信息;
34.根据所述标准传输控制连接请求信息向所述客户端发送响应信息,以建立所述客户端和所述服务端的传输控制通信连接;
35.接收所述客户端根据配置需求信息发送的每个链路聚合组的链路聚合控制请求信息,并获取所述链路聚合控制请求信息对应的所述链路聚合组、所述链路聚合组内的信道端口和所述链路聚合组的聚合组优先级,其中,所述配置需求信息、所述链路聚合组、所述信道端口和所述聚合组优先级是根据上述第一方面所述的方法得到;
36.通过所述服务端向所述客户端发送根据所述链路聚合控制请求信息的回复信息;
37.通过每个所述链路聚合组建立与所述客户端的业务控制通道,并将每个所述链路聚合组内的全部所述信道端口标识为相同的聚合传输控制连接信息;
38.获取服务端本地用户侧接收的第四数据包,根据预设置的配置策略将所述第四数据包缓存到所述链路聚合组的聚合发送缓冲区,其中,所述服务端与至少一个所述服务端本地用户侧通信连接;
39.通过所述业务控制通道将所述聚合发送缓冲区的数据发送到对应的所述客户端;
40.通过所述链路聚合组的聚合接收缓冲区读取所述客户端根据所述第四数据包发送的第二处理数据,并将所述第二处理数据按照对端发送次序转发到对应的所述服务端本地用户侧。
41.为实现上述目的,本技术实施例的第三方面提出了一种链路聚合装置,应用于客户端,所述装置包括:
42.客户端配置模块,用于获取客户端本地用户侧的配置需求信息,并根据所述配置需求信息配置对应的链路聚合组、所述链路聚合组内的信道端口和所述链路聚合组的聚合组优先级,其中,所述客户端与至少一个所述客户端本地用户侧通信连接;
43.请求信息发送模块,用于根据所述配置需求信息向服务端发送链路聚合控制请求信息,并接收所述服务端根据所述链路聚合控制请求信息发送的回复信息;
44.第一通道建立模块,用于根据所述回复信息建立每个所述链路聚合组与所述服务端的业务控制通道,并将每个所述链路聚合组内的全部所述信道端口标识为相同的聚合传输控制连接信息;
45.第一数据包获取模块,用于获取所述客户端本地用户侧接收的第一数据包,根据预设置的配置策略将所述第一数据包缓存到对应的所述链路聚合组的聚合发送缓冲区;
46.第一数据发送模块,用于通过所述业务控制通道将所述聚合发送缓冲区的数据发送到对应的所述服务端;
47.客户端数据读取模块,用于通过所述链路聚合组的聚合接收缓冲区读取所述服务端根据所述第一数据包发送的第一处理数据,并将所述第一处理数据按照对端发送次序转发到对应的所述客户端本地用户侧。
48.为实现上述目的,本技术实施例的第四方面提出了一种电子设备,包括:
49.至少一个存储器;
50.至少一个处理器;
51.至少一个计算机程序;
52.所述至少一个计算机程序被存储在所述至少一个存储器中,所述至少一个处理器执行所述至少一个计算机程序以实现上述第一方面所述的方法;或上述第二方面所述的方法。
53.为实现上述目的,本技术实施例的第五方面提出了一种存储介质,所述存储介质
为计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使计算机执行上述第一方面所述的方法;或上述第二方面所述的方法。
54.本技术提出的一种链路聚合方法、链路聚合装置、电子设备及存储介质,通过获取客户端本地用户侧的配置需求信息,并根据配置需求信息配置对应的链路聚合组、链路聚合组内的信道端口和链路聚合组的聚合组优先级,其中,客户端与至少一个客户端本地用户侧通信连接。为了实现客户端和服务端的链路聚合,根据配置需求信息向服务端发送链路聚合控制请求信息,并接收服务端根据链路聚合控制请求信息发送的回复信息。根据回复信息建立每个链路聚合组与服务端的业务控制通道,并将每个链路聚合组内的全部信道端口标识为相同的聚合传输控制连接信息,以通过同一条聚合传输控制连接对客户端和服务端进行数据交互。当对客户端和服务端进行链路聚合时,通过获取客户端本地用户侧接收的第一数据包,根据预设置的配置策略将第一数据包缓存到对应的链路聚合组的聚合发送缓冲区,并通过业务控制通道将聚合发送缓冲区的数据发送到对应的服务端。当服务端将处理完成的第一处理数据发送到客户端后,客户端通过链路聚合组的聚合接收缓冲区读取服务端根据第一数据包发送的第一处理数据,并将第一处理数据按照对端发送次序转发到对应的客户端本地用户侧。本技术实施例通过相同的聚合传输控制连接信息对客户端和服务端进行链路聚合,能够有效地提高链路聚合的效率,既能够保证数据包的有序接收,又能提高链路聚合时的带宽利用率。
附图说明
55.图1是本技术实施例提供的链路聚合方法的第一流程图;
56.图2是图1中的步骤s110的流程图;
57.图3是图1中的步骤s120的流程图;
58.图4是图1中的步骤s140的流程图;
59.图5是图1中的步骤s150的流程图;
60.图6是本技术实施例提供的链路聚合方法的第二流程图;
61.图7是本技术实施例提供的链路聚合装置应用于客户端的结构示意图;
62.图8是本技术实施例提供的客户端和服务端进行链路聚合的结构示意图;
63.图9是本技术实施例提供的链路聚合装置应用于服务端的结构示意图;
64.图10是本技术实施例提供的电子设备的硬件结构示意图。
具体实施方式
65.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
66.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
67.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的
技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
68.首先,对本技术中涉及的若干名词进行解析:
69.链路聚合(link aggregation):指将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口的负荷分担,交换机根据用户配置的端口负荷分担策略决定网络封包从哪个成员端口发送到对端的交换机。当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送封包,并根据负荷分担策略在剩下的链路中重新计算报文的发送端口,故障端口恢复后再次担任收发端口。链路聚合在增加链路带宽、实现链路传输弹性和工程冗余等方面是一项很重要的技术。
70.网际互连协议(internet protocol,ip):是tcp/ip协议族的核心,也是构成互联网的基础。ip位于传输控制协议/网际协议(transmission control protocol/internet protocol,tcp/ip)模型的网络层,它可以向传输层提供各种协议的信息。
71.传输控制协议(transmission control protocol,tcp):是一种面向连接的、可靠的、基于字节流的传输层通信协议。
72.用户数据报协议(user datagram protocol,udp):是开放式系统互联(open system interconnection,osi)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
73.媒体存取控制位址(media access control address,mac地址):也称为局域网地址(lan address),以太网地址(ethernet address)或物理地址(physical address),是一个用来确认网络设备位置的位址。
74.最大传输单元(maximum transmission unit,mtu):是用来通知对方所能接受数据服务单元的最大尺寸,说明发送方能够接受的有效载荷大小。
75.为了充分利用多条聚合在一起的物理链路的带宽,以实现标准用户数据报协议(user datagram protocol,udp)报文的有序和可靠传输,通常采用链路聚合的方法来实现在多条物理链路上的调度分配流量。目前已有的链路聚合的实现方法包括:(1)逐包的负载分担:通过使数据流的第一个数据帧在一条物理链路上传输;而使第二个数据帧在另外一条物理链路上传输的方式。该方法使得同一数据流的第二个数据帧有可能比第一个数据帧先到达对端设备,从而产生接收数据包为乱序的情况。(2)逐流的负载分担:将数据帧中的地址通过哈希(hash)算法生成hash键值,然后根据这个键值在转发表中寻找对应的出接口,由于得出的hash键值是不同的,则其对应的出接口也不同,实现了同一数据流的帧可以在同一物理链路转发。然而,采用该逐流的负载分担方法虽然能保证包的顺序传输,但不能保证其带宽利用率。因此,如何提供一种更有效的链路聚合方法,成为了亟待解决的技术问题。
76.基于此,本技术实施例提供了一种链路聚合方法、链路聚合装置、电子设备及存储介质,能够有效地提高链路聚合的效率。
77.本技术实施例提供的一种链路聚合方法、链路聚合装置、电子设备及存储介质,具体通过如下实施例进行说明,首先描述本技术实施例中的一种链路聚合方法。
78.本技术实施例提供的一种链路聚合方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平
板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现本技术链路聚合方法的应用等,但并不局限于以上形式。
79.本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
80.请参阅图1,图1是本技术实施例提供的一种链路聚合方法的一个可选的流程图,该方法应用于客户端,图1中的方法可以具体包括但不限于步骤s110至步骤s160。
81.步骤s110,获取客户端本地用户侧的配置需求信息,并根据配置需求信息配置对应的链路聚合组、链路聚合组内的信道端口和链路聚合组的聚合组优先级,其中,客户端与至少一个客户端本地用户侧通信连接;
82.步骤s120,根据配置需求信息向服务端发送链路聚合控制请求信息,并接收服务端根据链路聚合控制请求信息发送的回复信息;
83.步骤s130,根据回复信息建立每个链路聚合组与服务端的业务控制通道,并将每个链路聚合组内的全部信道端口标识为相同的聚合传输控制连接信息;
84.步骤s140,获取客户端本地用户侧接收的第一数据包,根据预设置的配置策略将第一数据包缓存到对应的链路聚合组的聚合发送缓冲区;
85.步骤s150,通过业务控制通道将聚合发送缓冲区的数据发送到对应的服务端;
86.步骤s160,通过链路聚合组的聚合接收缓冲区读取服务端根据第一数据包发送的第一处理数据,并将第一处理数据按照对端发送次序转发到对应的客户端本地用户侧。
87.在一些实施例的步骤s110中,由于客户端本地用户侧所对应的每种业务的业务传输带宽和传输实时性需求的不同,首先,获取客户端本地用户侧的配置需求信息,具体地,该配置需求信息包括业务传输带宽信息、传输实时性信息、客户端的ip地址、端口号等,并根据配置需求信息配置对应的链路聚合组、链路聚合组内的信道端口和链路聚合组的聚合组优先级,其中,客户端与至少一个客户端本地用户侧通信连接。
88.需要说明的是,在对客户端本地用户侧进行配置时,也可以默认配置链路聚合组来转发所有未配置的业务端口及相应的优先级。
89.需要说明的是,客户端提供了多个用户接口以连接至少一个客户端本地用户侧,且接入的客户端本地用户侧可以在一个网段或者多个网段内。同时,客户端提供了多个信道接口以建立信道连接,其中,客户端可以连接单个或多个信道,连接的信道传输时延和传输带宽可以相差较大,在此不作限定。
90.需要说明的是,当客户端只连接了一个客户端本地用户侧时,直接将该客户端本
地用户侧的信道端口连接客户端的用户端口时。此外,当客户端连接了多个客户端本地用户侧,且多个客户端本地用户侧分布在同一网段时,通过客户端本地用户侧的交换机接口连接客户端的用户端口;当客户端连接了多个客户端本地用户侧,且多个客户端本地用户侧分布在多个网段时,分别连接多个网段的网关接口以连接客户端的用户端口。连接完成后,在客户端配置每个用户端口对应的ip地址范围。
91.需要说明的是,当客户端所连接的信道出现异常,即信道连接不通时,客户端能够自动汇聚链路聚合组内剩余的可用信道以继续提供数据交互操作。
92.在一些实施例的步骤s120中,为了实现客户端和服务端的链路聚合,根据配置需求信息向服务端发送链路聚合控制请求信息,并接收服务端根据链路聚合控制请求信息发送的回复信息,以完成客户端和服务端在信令控制层面的tcp建链交互。具体地,客户端根据配置需求信息向服务端的信令控制端口发送链路聚合控制请求信息,即发送标准tcp连接,该tcp连接的源ip地址为发送的客户端的信道端口地址,tcp连接的目的ip地址为接收的服务端的信道端口地址。需要说明的是,客户端也可以在每个信道端口向全部的服务端发送tcp连接,以分别建立多个信道连接来检测当前的信道通断状态。
93.需要说明的是,当客户端向服务端发送的链路聚合控制请求信息的连接失败,即客户端未接收到服务端返回的回复信息,则客户端会通过不同的信道端口以预设的发送周期进行轮循发送,以完成客户端和服务端在信令控制层面的tcp建链交互。
94.在一些实施例的步骤s130中,当接收到服务端根据链路聚合控制请求信息发送的回复信息,根据回复信息建立每个链路聚合组与服务端的业务控制通道,为了提高链路聚合的效率,将每个链路聚合组内的全部信道端口标识为相同的聚合传输控制连接信息。具体地,当接收到服务端根据链路聚合控制请求信息发送的回复信息,针对每个链路聚合组,客户端根据回复信息向服务端发送聚合tcp连接来建立与服务端的业务控制通道。其中,聚合tcp连接对应的聚合tcp数据包中的源ip地址为发送信道端口的ip地址,将每个链路聚合组内的全部信道端口标识为相同的聚合传输控制连接信息,即将同一链路聚合组内客户端所有信道端口的ip地址、服务端的ip地址及其相应的端口都标识为相同的聚合传输控制连接信息。例如,将客户端的信道端口及ip地址、服务端的ip地址及其相应的端口组成一个四元组,如客户端对应的三个信道端口ipa、ipb和ipc构成的四元组分别为:(客户端信道ipa、服务端ip、客户端端口a、服务端口b)、(客户端信道ipb、服务端ip、客户端端口a、服务端口b)和(客户端信道ipc、服务端ip、客户端端口a、服务端口b)在客户端和服务端都标识了相同的聚合传输控制连接信息,即同一条聚合tcp连接。
95.需要说明的是,客户端和服务端可以通过该同一条聚合tcp连接进行交互操作,服务端响应的目的ip地址可以为客户端链路聚合组内任一可达的信道端口ip地址。
96.需要说明的是,客户端和服务端还可以通过该同一条聚合tcp连接进行数据收发、丢包重传、乱序排队处理,同时,当多条聚合tcp连接进行处理时,依据聚合tcp连接对应的优先级进行协议处理。
97.需要说明的是,服务端接收到客户端发送的链路聚合控制请求信息时,会检测当前的服务端的剩余内存等资源是否满足响应该链路聚合控制请求信息,当剩余内存等资源是否满足响应该链路聚合控制请求信息,则服务端根据链路聚合控制请求信息向客户端发送回复信息。
98.在一些实施例的步骤s140中,客户端获取客户端本地用户侧接收的第一数据包,并根据预设置的配置策略将第一数据包缓存到对应的链路聚合组的聚合发送缓冲区。具体地,客户端从用户端口接收客户端本地用户侧的第一数据包,并根据预设置的配置策略,即根据配置的链路聚合组、链路聚合组内的信道端口和链路聚合组的聚合组优先级进行数据缓存,将第一数据包缓存到对应的链路聚合组的聚合发送缓冲区的聚合tcp发送队列。
99.在一些实施例的步骤s150中,为了提高链路聚合的效率,客户端通过业务控制通道将聚合发送缓冲区的数据发送到对应的服务端。具体地,客户端和服务端通过多条信道进行同一条聚合tcp连接的数据收发、丢包重传、乱序排队处理,可以将多条聚合tcp连接依据优先级进行协议处理。
100.在一些实施例的步骤s160中,为了保证数据包的有序接收,以提高链路聚合的效率,客户端通过链路聚合组的聚合接收缓冲区读取服务端根据第一数据包发送的第一处理数据,并将第一处理数据按照对端发送次序转发到对应的客户端本地用户侧。具体地,客户端或服务端从链路聚合组的聚合接收缓冲区,即通过聚合tcp连接读取服务端根据第一数据包发送的第一处理数据,并按对端发送次序转发给各自本地用户侧的用户。
101.请参阅图2,图2是本技术一些实施例的步骤s110的具体方法的流程图。在本技术的一些实施例中,客户端包括至少一个信道端口,步骤s110具体包括但不限于步骤s210至步骤s240,下面结合图2对这四个步骤进行详细介绍。
102.步骤s210,通过客户端的信道端口建立客户端与客户端本地用户侧的信道连接;
103.步骤s220,当信道连接成功后,通过客户端为信道端口配置端口参数信息,端口参数信息用于控制客户端本地用户侧与客户端的数据传输;
104.步骤s230,获取客户端本地用户侧的配置需求信息;
105.步骤s240,根据配置需求信息配置对应的链路聚合组、链路聚合组内的信道端口和链路聚合组的聚合组优先级。
106.在一些实施例的步骤s210和步骤s220中,在进行客户端和服务端的链路聚合之前,通过客户端的信道端口建立客户端与客户端本地用户侧的信道连接,当信道连接成功后,通过客户端为信道端口配置端口参数信息,端口参数信息用于控制客户端本地用户侧与客户端的数据传输。具体地,每个信道直接连接客户端的信道端口,当信道连接成功后,在客户端配置每个信道端口的端口参数信息,该端口参数信息包括ip地址及所连接网关的ip地址,且该端口参数信息用于控制客户端本地用户侧与客户端的数据传输。同时,在信道参数已配置的情况下,在客户端配置所连接的信道传输带宽和传输时延。
107.需要说明的是,当信道连接成功后,同时配置服务端连接路由器端口的ip地址及所连接路由器的ip地址。
108.在一些实施例的步骤s230和步骤s240中,为了实现时延相差较大的信道也能进行链路聚合,通过获取客户端本地用户侧的配置需求信息,并根据配置需求信息配置对应的链路聚合组、链路聚合组内的信道端口和链路聚合组的聚合组优先级。其中,配置需求信息与上述实施例中的内容相同,在此不再赘述。
109.需要说明的是,当客户端的一个客户端本地用户侧和对端用户的进行通联时,根据通联关系在客户端配置对端用户的ip地址范围及该对端用户对应的服务端的ip地址,也可默认配置服务端的ip地址来转发所有未配置的对端用户。
110.请参阅图3,图3是本技术一些实施例的步骤s120的具体方法的流程图。在本技术的一些实施例中,步骤s120具体还包括但不限于步骤s310至步骤s340,下面结合图3对这四个步骤进行详细介绍。
111.步骤s310,向服务端发送标准传输控制连接请求信息;
112.步骤s320,接收服务端根据标准传输控制连接请求信息发送的响应信息,根据响应信息建立客户端和服务端的传输控制通信连接;
113.步骤s330,根据传输控制通信连接向服务端发送每个链路聚合组的链路聚合控制请求信息;
114.步骤s340,接收服务端根据链路聚合控制请求信息发送的回复信息,并根据回复信息记录存储每个链路聚合组对应的服务端的端口接入信息。
115.在一些实施例的步骤s310中,为了实现客户端和服务端的链路聚合,客户端向服务端的信令控制端口发送标准传输控制连接请求信息即标准tcp连接。
116.在一些实施例的步骤s320和步骤s330中,客户端接收服务端根据标准传输控制连接请求信息发送的响应信息,根据响应信息建立客户端和服务端的传输控制通信连接,并根据该传输控制通信连接向服务端发送每个链路聚合组的链路聚合控制请求信息。需要说明的是,客户端在标准tcp连接中针对每个链路聚合组向服务端发送链路聚合控制请求信息,且该链路聚合控制请求信息中附带了该链路聚合组的传输优先级、该链路聚合组中每个信道端口的ip地址、客户端接入用户ip地址范围等。
117.在一些实施例的步骤s340中,客户端接收服务端根据链路聚合控制请求信息发送的回复信息,并根据回复信息记录存储每个链路聚合组对应的服务端的端口接入信息。具体地,服务端接收到客户端发送的每个链路聚合组的链路聚合控制请求信息后,开启服务端相应的业务服务端口监听,设置业务服务端口处理优先级,记录链路聚合组内客户端的每个信道端口ip地址和客户端用户的ip地址范围,并根据链路聚合控制请求信息向客户端发送回复信息,需要说明的是,回复信息上附带了服务端的业务服务端口和服务端接入用户ip地址范围。因此,客户端收到回复信息后记录存储每个链路聚合组的对应的服务端的端口接入信息,该端口接入信息包括服务端的业务服务端口和服务端接入用户ip地址范围。
118.请参阅图4,图4是本技术一些实施例的步骤s140的具体方法的流程图。在本技术的一些实施例中,步骤s140具体包括但不限于步骤s410至步骤s450,下面结合图4对这五个步骤进行详细介绍。
119.步骤s410,获取客户端本地用户侧接收的以太网数据包;
120.步骤s420,当以太网数据包满足预设数据包类型,得到第一数据包;
121.步骤s430,将第一数据包中的网络地址对应关系记录到客户端的记录表中;
122.步骤s440,对第一数据包进行包头去除,得到第二数据包;
123.步骤s450,将第二数据包缓存到聚合传输控制连接的聚合发送缓冲区。
124.在一些实施例的步骤s410至步骤s450中,客户端从用户端口接收客户端本地用户侧的以太网数据包,对该以太网数据包进行类型判断,当该以太网数据包满足预设数据包类型,其中,预设数据包类型为udp,即当该以太网数据包为udp包,则得到的以太网数据包为第一数据包。将第一数据包中的网络地址对应关系记录到客户端的记录表中,具体为将
第一数据包中的ip地址和mac地址的对应关系记录到记录表,即刷新ip地址和mac地址的对应关系。然后,对第一数据包进行包头去除,即删除该第一数据包的以太网帧头,得到第二数据包,即该第二数据包中包括第一数据包对应的ip头数据和后续字段数据,并将得到的第二数据包缓存到聚合传输控制连接的聚合发送缓冲区。本技术实施例通过对缓存到聚合发送缓冲区中的数据提前进行处理,提高了链路聚合的效率。
125.需要说明的是,当以太网数据包不满足预设数据包类型,例如,预设数据包类型为udp,即当以太网数据包不是udp包,则可以将该以太网数据包按照现有的逐包和/或逐流的链路聚合方式进行处理。
126.请参阅图5,图5是本技术一些实施例的步骤s150的具体方法的流程图。在本技术的一些实施例中,步骤s150具体包括但不限于步骤s510和步骤s520,下面结合图5对这两个步骤进行详细介绍。
127.步骤s510,将聚合发送缓冲区的数据进行数据包装处理,得到第三数据包;
128.步骤s520,通过业务控制通道将第三数据包发送到对应的服务端。
129.在一些实施例的步骤s510和步骤s520中,为了能够保证数据包的有序接收,又能提高链路聚合时的带宽利用率,客户端通过业务控制通道将聚合发送缓冲区的数据发送到对应的服务端时,通过将聚合发送缓冲区的数据进行数据包装处理,得到第三数据包。具体地,客户端将链路聚合组的发送缓冲区的数据进行数据包装处理,具体为将数据加入包分割符、包长度和校验后,得到第三数据包,将该第三数据包通过业务控制通道发送给服务端。
130.需要说明的是,客户端发送的第三数据包的数据流长度超过最大传输单元mtu时,会将该第三数据包的数据分成多个包进行发送,采用tcp协议栈的数据格式和交互流程,当确定了采用链路聚合组的某个信道端口进行数据报文的发送时,就将该信道端口对应的ip地址填入到数据报文的源ip中,其中,该链路聚合组内的信道端口的ip地址和相应的端口都标识了链路聚合组内唯一一条聚合tcp连接,具体采用哪个信道端口可以使用逐包、剩余带宽计算等方式进行处理,在此不再赘述。
131.需要说明的是,服务端在接收到第三数据包对应的数据流后,查询数据包目的ip地址对应的mac地址,当该第三数据包的头部发送序号和当前期望的序号不一致,即得到查询结果,则将该数据包缓存到该链路聚合组的接收缓冲区中,即将该数据包插入到用户侧输出队列,并发送arp协议查询和向客户端发送确认响应信息。在获取到ip地址和mac地址的对应关系后,依次将用户侧输出队列的数据包增加以太网帧头后,将以太网包通过用户口输出。
132.需要说明的是,客户端或服务端通过透明模式或网关模式接收从用户发往对端用户的以太网数据包,用于输出用户ip地址和mac地址关联记录到ip-mac表,并截取以太网数据包内的部分数据输出进行链路聚合业务。
133.需要说明的是,当服务端在接收到第三数据包对应的数据流后,当该第三数据包的头部发送序号和当前期望的序号一致,则将该聚合tcp连接对应的接收缓存区中的数据拷贝到服务端用户接收缓冲区。当服务端用户接收缓存中的包分割符、包长度和校验通过后,则获取到完整的udp报文。之后,服务端将处理完成后获取的完整udp报文直接转发到该报文所标识的目的ip地址。需要说明的时,当客户端接收到服务端发送的数据包后,与上述
服务端收到数据包后的处理方式相同,在此不再赘述。
134.需要说明的是,当客户端同时存在多个链路聚合组时,客户端依据每个链路聚合组的优先级依次进行处理,但是每个链路聚合组需确保重发等超时事件不能产生,从而保证数据包的有序接收,以提高链路聚合的效率。
135.需要说明的是,客户端或服务端可以配置不同用户和相同用户不同业务收发优先级,以优先处理高优先级的用户或业务,从而提高链路聚合的效率。
136.在本技术的一些实施例中,在步骤s520之后,本技术实施例提供的链路聚合方法还包括:当客户端在预设的响应时间阈值内未接收到服务端根据第三数据包的确认响应信息,再次通过业务控制通道将第三数据包发送到对应的服务端。
137.在一些具体的实施例中,预设的响应时间阈值可以设为至少是3倍的链路传输延时,当客户端在预设的响应时间阈值内未接收到服务端根据第三数据包的确认响应信息,再次通过业务控制通道将未确认的第三数据包发送到对应的服务端,从而提高链路聚合时的带宽利用率。
138.需要说明的是,当服务端向客户端发送数据流时,其具体采用链路聚合组内哪个信道端口发送就将该端口的ip地址填入报文的目的ip,具体采用的信道端口可以使用逐包、剩余带宽计算等方式进行处理,可以参考上述从客户端向服务端的链路聚合方法,在此不再赘述。
139.请参阅图6,图6是本技术实施例提供的一种链路聚合方法的另一个可选的流程图,该方法应用于服务端。在本技术的一些实施例中,该方法具体包括但不限于步骤s610至步骤s680,下面结合图6对这八个步骤进行详细介绍。
140.步骤s610,接收客户端发送的标准传输控制连接请求信息;
141.步骤s620,根据标准传输控制连接请求信息向客户端发送响应信息,以建立客户端和服务端的传输控制通信连接;
142.步骤s630,接收客户端根据配置需求信息发送的每个链路聚合组的链路聚合控制请求信息,并获取链路聚合控制请求信息对应的链路聚合组、链路聚合组内的信道端口和链路聚合组的聚合组优先级,其中,配置需求信息、链路聚合组、信道端口和聚合组优先级是根据上述实施例的方法得到;
143.步骤s640,通过服务端向客户端发送根据链路聚合控制请求信息的回复信息;
144.步骤s650,通过每个链路聚合组建立与客户端的业务控制通道,并将每个链路聚合组内的全部信道端口标识为相同的聚合传输控制连接信息;
145.步骤s660,获取服务端本地用户侧接收的第四数据包,根据预设置的配置策略将第四数据包缓存到链路聚合组的聚合发送缓冲区,其中,服务端与至少一个服务端本地用户侧通信连接;
146.步骤s670,通过业务控制通道将聚合发送缓冲区的数据发送到对应的客户端;
147.步骤s680,通过链路聚合组的聚合接收缓冲区读取客户端根据第四数据包发送的第二处理数据,并将第二处理数据按照对端发送次序转发到对应的服务端本地用户侧。
148.在一些实施例的步骤s610至步骤s680中,服务端接收客户端发送的标准传输控制连接请求信息,并根据标准传输控制连接请求信息向客户端发送响应信息,以建立客户端和服务端的传输控制通信连接。创建了传输控制通信连接之后,服务端接收客户端根据配
置需求信息发送的每个链路聚合组的链路聚合控制请求信息,并获取链路聚合控制请求信息对应的链路聚合组、链路聚合组内的信道端口和链路聚合组的聚合组优先级,其中,配置需求信息、链路聚合组、信道端口和聚合组优先级是根据上述实施例的方法得到。通过服务端向客户端发送根据链路聚合控制请求信息的回复信息,服务端通过每个链路聚合组建立与客户端的业务控制通道,并将每个链路聚合组内的全部信道端口标识为相同的聚合传输控制连接信息。在创建了客户端和服务端的聚合传输控制连接之后,服务端获取服务端本地用户侧接收的第四数据包,并根据预设置的配置策略将第四数据包缓存到所述链路聚合组的聚合发送缓冲区,其中,服务端与至少一个服务端本地用户侧通信连接。然后,服务端通过业务控制通道将聚合发送缓冲区的数据发送到对应的客户端,并通过链路聚合组的聚合接收缓冲区读取客户端根据第四数据包发送的第二处理数据,并将第二处理数据按照对端发送次序转发到对应的服务端本地用户侧。本技术实施例提出了一种能够基于多条传输时延相差较大的信道进行链路聚合的方法,既能够保证数据包的有序接收,又能提高链路聚合时的带宽利用率。
149.需要说明的是,服务端提供了多个用户接口以连接多个服务端本地用户侧,即可以接入单个或多个用户,且接入的用户可以在一个网段或者多个网段内,同时,服务端提供一个聚合接口以连接路由器或网关。
150.需要说明的是,服务端可以向单个或多个客户端同时提供链路聚合服务。
151.需要说明的是,客户端和服务端分别接入的用户之间可以双向收发udp报文,能够通过链路聚合后能够按照发送顺序递交给对端用户,并且在丢包时能够自动重传,以提高链路聚合的效率。
152.请参阅图7,本技术实施例还提供了一种链路聚合装置,应用于客户端,可以实现上述链路聚合方法,该装置包客户端配置模块710、请求信息发送模块720、第一通道建立模块730、第一数据包获取模块740、第一数据发送模块750和客户端数据读取模块760。
153.客户端配置模块710,用于获取客户端本地用户侧的配置需求信息,并根据配置需求信息配置对应的链路聚合组、链路聚合组内的信道端口和链路聚合组的聚合组优先级,其中,客户端与至少一个客户端本地用户侧通信连接;
154.请求信息发送模块720,用于根据配置需求信息向服务端发送链路聚合控制请求信息,并接收服务端根据链路聚合控制请求信息发送的回复信息;
155.第一通道建立模块730,用于根据回复信息建立每个链路聚合组与服务端的业务控制通道,并将每个链路聚合组内的全部信道端口标识为相同的聚合传输控制连接信息;
156.第一数据包获取模块740,用于获取客户端本地用户侧接收的第一数据包,根据预设置的配置策略将第一数据包缓存到对应的链路聚合组的聚合发送缓冲区;
157.第一数据发送模块750,用于通过业务控制通道将聚合发送缓冲区的数据发送到对应的服务端;
158.客户端数据读取模块760,用于通过链路聚合组的聚合接收缓冲区读取服务端根据第一数据包发送的第一处理数据,并将第一处理数据按照对端发送次序转发到对应的客户端本地用户侧。
159.需要说明的是,本技术实施例的链路聚合装置用于实现上述的链路聚合方法,本技术实施例的链路聚合装置与前述的链路聚合方法相对应,具体的处理过程请参照前述的
链路聚合方法,在此不再赘述。
160.在一具体的实施例中,如图8所示,本技术实施例的客户端包括客户端用户侧接入模块810和客户端链路聚合业务模块820,客户端用户侧接入模块810和链路聚合业务模块820用于实现上述实施例的链路聚合方法,该客户端用户侧接入模块810包括客户端用户侧输入子模块811和客户端用户侧输出子模块812。服务端包括服务端用户侧接入模块830和服务端链路聚合业务模块840,服务端用户侧接入模块830和服务端链路聚合业务模块840用于实现上述实施例的链路聚合方法,该服务端用户侧接入模块830包括服务端用户侧输入子模块831和服务端用户侧输出子模块832。客户端通过卫星接入网关850连接广域网,服务端通过路由器860连接该广域网,从而实现客户端和服务端的链路聚合。客户端用户侧输入子模块811包括用于将输出用户的ip地址和mac地址关联记录到客户端ip-mac表813中,客户端用户侧输出子模块812包括用于将获取的数据包添加到客户端用户侧输出队列814,并按照对端发送次序转发到对应的客户端本地用户侧。服务端用户侧输入子模块831也包括用于将输出用户的ip地址和mac地址关联记录到服务端ip-mac表833中,服务端用户侧输出子模块832也包括用于将获取的数据包添加到服务端用户侧输出队列834,并按照对端发送次序转发到对应的服务端本地用户侧。
161.请参阅图9,本技术实施例还提供了一种链路聚合装置,应用于服务端,可以实现上述链路聚合方法,该装置包括响应信息发送模块910、传输控制连接模块920、请求信息接收模块930、回复信息发送模块940、第二通道建立模块950、第二数据包获取模块960、第二数据发送模块970和用户端数据读取模块980。
162.响应信息发送模块910,用于接收客户端发送的标准传输控制连接请求信息;
163.传输控制连接模块920,用于根据标准传输控制连接请求信息向客户端发送响应信息,以建立客户端和服务端的传输控制通信连接;
164.请求信息接收模块930,用于接收客户端根据配置需求信息发送的每个链路聚合组的链路聚合控制请求信息,并获取链路聚合控制请求信息对应的链路聚合组、链路聚合组内的信道端口和链路聚合组的聚合组优先级,其中,配置需求信息、链路聚合组、信道端口和聚合组优先级是根据上述任一项的方法得到;
165.回复信息发送模块940,用于通过服务端向客户端发送根据所述链路聚合控制请求信息的回复信息;
166.第二通道建立模块950,用于通过每个链路聚合组建立与客户端的业务控制通道,并将每个链路聚合组内的全部信道端口标识为相同的聚合传输控制连接信息;
167.第二数据包获取模块960,用于获取服务端本地用户侧接收的第四数据包,根据预设置的配置策略将第四数据包缓存到链路聚合组的聚合发送缓冲区中,其中,服务端与至少一个服务端本地用户侧通信连接;
168.第二数据发送模块970,用于通过业务控制通道将聚合发送缓冲区中的数据发送到对应的客户端;
169.用户端数据读取模块980,用于通过链路聚合组的聚合接收缓冲区读取客户端发送的第二处理数据,并将第二处理数据按照对端发送次序转发到对应的服务端本地用户侧。
170.需要说明的是,本技术实施例的链路聚合装置用于实现上述的链路聚合方法,本
申请实施例的链路聚合装置与前述的链路聚合方法相对应,具体的处理过程请参照前述的链路聚合方法,在此不再赘述。
171.本技术实施例还提供了一种电子设备,该电子设备包括:至少一个存储器,至少一个处理器,至少一个计算机程序,至少一个计算机程序被存储在至少一个存储器中,至少一个处理器执行至少一个计算机程序以实现上述实施例中任一种的链路聚合方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
172.请参阅图10,图10示意了另一实施例的一种电子设备的硬件结构,该电子设备包括:
173.处理器1010,可以采用通用的中央处理器(central processing unit,cpu)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本技术实施例所提供的技术方案;
174.存储器1020,可以采用只读存储器(read only memory,rom)、静态存储设备、动态存储设备或者随机存取存储器(random access memory,ram)等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行本技术实施例的链路聚合方法;
175.输入/输出接口1030,用于实现信息输入及输出;
176.通信接口1040,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信;
177.总线1050,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息;
178.其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
179.本技术实施例还提供了一种存储介质,该存储介质为计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序用于使计算机执行上述实施例中任一种的链路聚合方法。
180.存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
181.本技术实施例描述的实施例是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
182.本领域技术人员可以理解的是,图1至6中示出的技术方案并不构成对本技术实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
183.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。
可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
184.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
185.本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
186.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
187.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
188.上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
189.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
190.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例的方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序的介质。
191.以上参阅附图说明了本技术实施例的优选实施例,并非因此局限本技术实施例的
权利范围。本领域技术人员不脱离本技术实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本技术实施例的权利范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献