CN115002023A - Link aggregation method, link aggregation device, electronic equipment and storage medium - Google Patents

Link aggregation method, link aggregation device, electronic equipment and storage medium Download PDF

Info

Publication number
CN115002023A
CN115002023A CN202210639694.8A CN202210639694A CN115002023A CN 115002023 A CN115002023 A CN 115002023A CN 202210639694 A CN202210639694 A CN 202210639694A CN 115002023 A CN115002023 A CN 115002023A
Authority
CN
China
Prior art keywords
link aggregation
client
server
information
aggregation group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210639694.8A
Other languages
Chinese (zh)
Other versions
CN115002023B (en
Inventor
洪华军
伍健
祝国胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bangyan Technology Co ltd
Original Assignee
Bangyan Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bangyan Technology Co ltd filed Critical Bangyan Technology Co ltd
Priority to CN202210639694.8A priority Critical patent/CN115002023B/en
Priority claimed from CN202210639694.8A external-priority patent/CN115002023B/en
Publication of CN115002023A publication Critical patent/CN115002023A/en
Application granted granted Critical
Publication of CN115002023B publication Critical patent/CN115002023B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

The embodiment of the application provides a link aggregation method, a link aggregation device, electronic equipment and a storage medium, and relates to the technical field of communication. The method comprises the following steps: acquiring configuration demand information of a local user side of a client, and configuring information of a corresponding link aggregation group according to the configuration demand information; sending link aggregation control request information to a server side, and receiving reply information sent by the server side; establishing a service control channel of each link aggregation group and a service end, and identifying channel ports in each link aggregation group as the same aggregation transmission control connection information; caching the received first data packet into an aggregation sending buffer area of a link aggregation group; transmitting the data of the aggregation transmission buffer to a server through a service control channel; and reading first processing data sent by the server side, and forwarding the first processing data to the corresponding client side according to the opposite end sending sequence. The embodiment of the application can effectively improve the efficiency of link aggregation.

Description

Link aggregation method, link aggregation device, electronic equipment and storage medium
Technical Field
The present application relates to the field of communications technologies, and in particular, to a link aggregation method, a link aggregation apparatus, an electronic device, and a storage medium.
Background
In order to fully utilize the bandwidth of multiple aggregated physical links to achieve ordered and reliable transmission of a standard User Datagram Protocol (UDP) packet, a link aggregation method is usually used to achieve scheduling and allocating traffic on the multiple physical links. The existing method for implementing link aggregation includes: (1) load sharing packet by packet: by causing a first data frame of a data stream to be transmitted over a physical link; and a second data frame is transmitted on another physical link. The method makes it possible for the second data frame of the same data flow to reach the opposite terminal device before the first data frame, so as to generate the condition that the received data packets are out of order. (2) Load sharing flow by flow: the addresses in the data frames are used for generating Hash key values through a Hash algorithm, then corresponding outgoing interfaces are searched in a forwarding table according to the Hash key values, the corresponding outgoing interfaces are different due to the fact that the obtained Hash key values are different, and the fact that the frames of the same data stream can be forwarded on the same physical link is achieved. However, although the stream-by-stream load sharing method can guarantee the sequential transmission of packets, it cannot guarantee the bandwidth utilization rate. Therefore, how to provide a more effective link aggregation method becomes a technical problem to be solved urgently.
Disclosure of Invention
A primary objective of embodiments of the present application is to provide a link aggregation method, a link aggregation apparatus, an electronic device, and a storage medium, which can effectively improve efficiency of link aggregation.
In order to achieve the above object, a first aspect of the embodiments of the present application provides a link aggregation method, which is applied to a client, and the method includes:
acquiring configuration demand information of a client local user side, and configuring a corresponding link aggregation group, a channel port in the link aggregation group and an aggregation group priority of the link aggregation group according to the configuration demand information, wherein the client is in communication connection with at least one client local user side;
sending link aggregation control request information to a server according to the configuration demand information, and receiving reply information sent by the server according to the link aggregation control request information;
establishing a service control channel of each link aggregation group and the server according to the reply information, and identifying all the channel ports in each link aggregation group as the same aggregation transmission control connection information;
acquiring a first data packet received by the local user side of the client, and caching the first data packet into a corresponding aggregation sending buffer area of the link aggregation group according to a preset configuration strategy;
sending the data of the aggregation sending buffer area to the corresponding server side through the service control channel;
and reading first processing data sent by the server according to the first data packet through an aggregation receiving buffer area of the link aggregation group, and forwarding the first processing data to the corresponding client local user side according to an opposite end sending sequence.
In some embodiments, the obtaining configuration requirement information of a local user side of the client, and configuring a corresponding link aggregation group, a channel port in the link aggregation group, and an aggregation group priority of the link aggregation group according to the configuration requirement information includes:
establishing channel connection between the client and a local user side of the client through the channel port of the client;
after the channel connection is successful, configuring port parameter information for the channel port through the client, wherein the port parameter information is used for controlling data transmission between the local user side of the client and the client;
acquiring configuration demand information of the local user side of the client;
and configuring a corresponding link aggregation group, a channel port in the link aggregation group and an aggregation group priority of the link aggregation group according to the configuration requirement information.
In some embodiments, the sending, to the server, link aggregation control request information according to the configuration requirement information, and receiving, by the server, reply information sent according to the link aggregation control request information includes:
sending standard transmission control connection request information to the server;
receiving response information sent by the server according to the standard transmission control connection request information, and establishing transmission control communication connection between the client and the server according to the response information;
sending link aggregation control request information of each link aggregation group to the server according to the transmission control communication connection;
and receiving reply information sent by the server according to the link aggregation control request information, and storing port access information of the server corresponding to each link aggregation group according to the reply information record.
In some embodiments, the obtaining a first data packet received by the local user side of the client, and caching the first data packet to an aggregation sending buffer of the corresponding link aggregation group according to a preset configuration policy includes:
acquiring an Ethernet data packet received by the local user side of the client;
when the Ethernet data packet meets the preset data packet type, obtaining a first data packet;
recording the network address corresponding relation in the first data packet into a record table of the client;
removing the packet header of the first data packet to obtain a second data packet;
and caching the second data packet to an aggregation transmission buffer of the aggregation transmission control connection.
In some embodiments, the sending, to the corresponding server side, the data in the aggregated sending buffer through the traffic control channel includes:
performing data packaging processing on the data of the aggregation sending buffer area to obtain a third data packet;
and sending the third data packet to the corresponding server through the service control channel.
In some embodiments, after the sending the third data packet to the corresponding server through the traffic control channel, the method further includes:
and when the client does not receive the confirmation response information of the server according to the third data packet within the preset response time threshold, sending the third data packet to the corresponding server through the service control channel again.
In order to achieve the above object, a second aspect of the embodiments of the present application provides a link aggregation method, applied to a server, where the method includes:
receiving standard transmission control connection request information sent by a client;
sending response information to the client according to the standard transmission control connection request information so as to establish transmission control communication connection between the client and the server;
receiving link aggregation control request information of each link aggregation group sent by the client according to configuration requirement information, and obtaining the link aggregation group corresponding to the link aggregation control request information, a channel port in the link aggregation group, and an aggregation group priority of the link aggregation group, where the configuration requirement information, the link aggregation group, the channel port, and the aggregation group priority are obtained according to the method of the first aspect;
sending reply information according to the link aggregation control request information to the client through the server;
establishing a service control channel with the client through each link aggregation group, and identifying all the channel ports in each link aggregation group as the same aggregation transmission control connection information;
acquiring a fourth data packet received by a local user side of a server, and caching the fourth data packet into an aggregation sending buffer area of the link aggregation group according to a preset configuration strategy, wherein the server is in communication connection with at least one local user side of the server;
sending the data of the aggregation sending buffer to the corresponding client through the service control channel;
and reading second processing data sent by the client according to the fourth data packet through the aggregation receiving buffer area of the link aggregation group, and forwarding the second processing data to the corresponding local user side of the server according to the opposite-end sending sequence.
In order to achieve the above object, a third aspect of the embodiments of the present application provides a link aggregation apparatus, applied to a client, where the apparatus includes:
the client configuration module is used for acquiring configuration demand information of a client local user side and configuring a corresponding link aggregation group, a channel port in the link aggregation group and an aggregation group priority of the link aggregation group according to the configuration demand information, wherein the client is in communication connection with at least one client local user side;
the request information sending module is used for sending link aggregation control request information to the server according to the configuration demand information and receiving reply information sent by the server according to the link aggregation control request information;
a first channel establishing module, configured to establish a service control channel between each link aggregation group and the server according to the reply information, and identify all the channel ports in each link aggregation group as the same aggregate transmission control connection information;
a first data packet obtaining module, configured to obtain a first data packet received by the local user side of the client, and cache the first data packet in an aggregation sending buffer of the corresponding link aggregation group according to a preset configuration policy;
the first data sending module is used for sending the data of the aggregation sending buffer area to the corresponding server side through the service control channel;
and the client data reading module is used for reading first processing data sent by the server according to the first data packet through an aggregation receiving buffer area of the link aggregation group, and forwarding the first processing data to the corresponding client local user side according to an opposite end sending sequence.
To achieve the above object, a fourth aspect of an embodiment of the present application proposes an electronic apparatus, including:
at least one memory;
at least one processor;
at least one computer program;
the at least one computer program is stored in the at least one memory and executed by the at least one processor to implement the method of the first aspect; or the method of the second aspect above.
In order to achieve the above object, a fifth aspect of embodiments of the present application provides a storage medium, which is a computer-readable storage medium storing a computer program for causing a computer to execute the method of the first aspect; or the method of the second aspect above.
According to the link aggregation method, the link aggregation device, the electronic device and the storage medium, the configuration requirement information of the local user side of the client is obtained, and the corresponding link aggregation group, the channel port in the link aggregation group and the aggregation group priority of the link aggregation group are configured according to the configuration requirement information, wherein the client is in communication connection with at least one local user side of the client. In order to realize link aggregation of the client and the server, link aggregation control request information is sent to the server according to the configuration requirement information, and reply information sent by the server according to the link aggregation control request information is received. And establishing a service control channel of each link aggregation group and the service end according to the reply information, and identifying all channel ports in each link aggregation group as the same aggregation transmission control connection information so as to perform data interaction on the client and the service end through the same aggregation transmission control connection. When link aggregation is performed on a client and a server, a first data packet received by a local user side of the client is obtained, the first data packet is cached to an aggregation sending buffer area of a corresponding link aggregation group according to a preset configuration strategy, and data of the aggregation sending buffer area is sent to the corresponding server through a service control channel. And after the server sends the processed first processing data to the client, the client reads the first processing data sent by the server according to the first data packet through an aggregation receiving buffer area of the link aggregation group, and forwards the first processing data to the corresponding client local user side according to the opposite end sending sequence. The embodiment of the application performs link aggregation on the client and the server through the same aggregation transmission control connection information, so that the efficiency of link aggregation can be effectively improved, the ordered reception of data packets can be ensured, and the bandwidth utilization rate during link aggregation can be improved.
Drawings
Fig. 1 is a first flowchart of a link aggregation method provided in an embodiment of the present application;
fig. 2 is a flowchart of step S110 in fig. 1;
FIG. 3 is a flowchart of step S120 in FIG. 1;
FIG. 4 is a flowchart of step S140 in FIG. 1;
FIG. 5 is a flowchart of step S150 in FIG. 1;
fig. 6 is a second flowchart of a link aggregation method provided by an embodiment of the present application;
fig. 7 is a schematic structural diagram of a link aggregation device applied to a client according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of link aggregation performed by a client and a server according to an embodiment of the present disclosure;
fig. 9 is a schematic structural diagram of a link aggregation apparatus applied to a server according to an embodiment of the present application;
fig. 10 is a schematic hardware structure diagram of an electronic device according to an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
It should be noted that although functional blocks are partitioned in a schematic diagram of an apparatus and a logical order is shown in a flowchart, in some cases, the steps shown or described may be performed in a different order than the partitioning of blocks in the apparatus or the order in the flowchart. The terms first, second and the like in the description and in the claims, and the drawings described above, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of the present application only and is not intended to be limiting of the application.
First, several terms referred to in the present application are resolved:
link Aggregation (Link Aggregation): the method is characterized in that a plurality of physical ports are converged together to form a logic port so as to realize load sharing of the throughput of the input/output flow on each member port, and the switch determines which member port the network packet is sent to the switch of the opposite end according to a port load sharing strategy configured by a user. When the exchanger detects that one member port link is fault, it stops transmitting package on the port, and recalculates the transmitting port of message in the rest links according to the load sharing strategy, and the fault port is recovered and then acts as the receiving/transmitting port again. Link aggregation is an important technology in terms of increasing link bandwidth, implementing link transmission resilience, engineering redundancy, and the like.
Internet Protocol (IP): is the core of the TCP/IP protocol family and also forms the basis of the Internet. The IP is located at a network layer of a Transmission Control Protocol/Internet Protocol (TCP/IP) model, and it can provide information of various protocols to a transport layer.
Transmission Control Protocol (TCP): is a connection-oriented, reliable, byte stream-based transport layer communication protocol.
User Datagram Protocol (UDP): the method is a connectionless transport layer protocol in an Open System Interconnection (OSI) reference model, and provides a transaction-oriented simple unreliable information transfer service.
Media Access Control Address (MAC Address): also known as local area network Address (LAN Address), Ethernet Address (Ethernet Address) or Physical Address (Physical Address), is an Address used to confirm the location of a network device.
Maximum Transmission Unit (MTU): is used to inform the other party of the maximum size of the data service unit that can be accepted, which indicates the size of the payload that can be accepted by the sender.
In order to fully utilize the bandwidth of multiple aggregated physical links to achieve ordered and reliable transmission of a standard User Datagram Protocol (UDP) message, a link aggregation method is usually adopted to achieve scheduling and allocating traffic on the multiple physical links. The existing method for implementing link aggregation includes: (1) load sharing packet by packet: by causing a first data frame of a data stream to be transmitted over a physical link; and a second data frame is transmitted on another physical link. The method makes it possible for the second data frame of the same data flow to reach the opposite terminal device before the first data frame, so as to generate the condition that the received data packets are out of order. (2) Load sharing flow by flow: the addresses in the data frames are used for generating Hash key values through a Hash algorithm, then corresponding outgoing interfaces are searched in a forwarding table according to the Hash key values, the corresponding outgoing interfaces are different due to the fact that the obtained Hash key values are different, and the fact that the frames of the same data stream can be forwarded on the same physical link is achieved. However, although the stream-by-stream load sharing method can guarantee the sequential transmission of packets, it cannot guarantee the bandwidth utilization rate. Therefore, how to provide a more effective link aggregation method becomes a technical problem to be solved urgently.
Based on this, embodiments of the present application provide a link aggregation method, a link aggregation apparatus, an electronic device, and a storage medium, which can effectively improve the efficiency of link aggregation.
A link aggregation method, a link aggregation device, an electronic device, and a storage medium provided in embodiments of the present application are specifically described in the following embodiments, where a link aggregation method in embodiments of the present application is first described.
The link aggregation method provided by the embodiment of the application can be applied to a terminal, a server side and software running in the terminal or the server side. In some embodiments, the terminal may be a smartphone, tablet, laptop, desktop computer, or the like; the server side can be configured as an independent physical server, or a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing basic cloud computing services such as cloud service, a cloud database, cloud computing, cloud functions, cloud storage, Network service, cloud communication, middleware service, domain name service, security service, Content Delivery Network (CDN) and a big data and artificial intelligence platform; the software may be an application or the like implementing the link aggregation method of the present application, but is not limited to the above form.
The application is operational with numerous general purpose or special purpose computing system environments or configurations. For example: personal computers, server computers, hand-held or portable devices, tablet-type devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like. The application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
Referring to fig. 1, fig. 1 is an optional flowchart of a link aggregation method provided in an embodiment of the present application, where the method is applied to a client, and the method in fig. 1 may specifically include, but is not limited to, step S110 to step S160.
Step S110, obtaining configuration demand information of a local user side of a client, and configuring a corresponding link aggregation group, a channel port in the link aggregation group and an aggregation group priority of the link aggregation group according to the configuration demand information, wherein the client is in communication connection with at least one local user side of the client;
step S120, sending link aggregation control request information to the server according to the configuration requirement information, and receiving reply information sent by the server according to the link aggregation control request information;
step S130, establishing a service control channel of each link aggregation group and the service end according to the reply information, and identifying all channel ports in each link aggregation group as the same aggregation transmission control connection information;
step S140, obtaining a first data packet received by a local user side of a client, and caching the first data packet to an aggregation sending buffer area of a corresponding link aggregation group according to a preset configuration strategy;
step S150, the data of the aggregation sending buffer area is sent to a corresponding server side through a service control channel;
step S160, reading the first processed data sent by the server according to the first data packet through the aggregation receiving buffer of the link aggregation group, and forwarding the first processed data to the corresponding local user side of the client according to the opposite end sending order.
In step S110 of some embodiments, because the service transmission bandwidth and the transmission real-time requirement of each service corresponding to the client local user side are different, first, configuration requirement information of the client local user side is obtained, specifically, the configuration requirement information includes service transmission bandwidth information, transmission real-time information, an IP address and a port number of the client, and configures an aggregation group priority of a corresponding link aggregation group, a channel port in the link aggregation group, and a link aggregation group according to the configuration requirement information, where the client is in communication connection with at least one client local user side.
It should be noted that, when configuring the local user side of the client, the link aggregation group may also be configured by default to forward all the service ports that are not configured and the corresponding priorities.
It should be noted that the client provides multiple user interfaces to connect with at least one client local user side, and the accessed client local user side may be in one network segment or multiple network segments. Meanwhile, the client provides a plurality of channel interfaces to establish a channel connection, wherein the client may connect a single channel or a plurality of channels, and the channel transmission delay and the channel transmission bandwidth of the connection may differ greatly, which is not limited herein.
It should be noted that, when the client is connected to only one client local user side, the channel port of the client local user side is directly connected to the user port of the client. In addition, when the client is connected with a plurality of client local user sides and the plurality of client local user sides are distributed in the same network segment, the user port of the client is connected through a switch interface of the client local user side; when the client is connected with a plurality of client local user sides and the plurality of client local user sides are distributed in a plurality of network segments, the client local user sides are respectively connected with gateway interfaces of the plurality of network segments so as to be connected with user ports of the client. And after the connection is completed, configuring an IP address range corresponding to each user port at the client.
It should be noted that, when the channel connected to the client is abnormal, that is, the channel is disconnected, the client can automatically aggregate the remaining available channels in the link aggregation group to continue to provide data interaction operations.
In step S120 of some embodiments, in order to implement link aggregation between the client and the server, link aggregation control request information is sent to the server according to the configuration requirement information, and reply information sent by the server according to the link aggregation control request information is received, so as to complete TCP link establishment interaction between the client and the server in the signaling control plane. Specifically, the client sends link aggregation control request information to a signaling control port of the server according to the configuration requirement information, that is, sends a standard TCP connection, where a source IP address of the TCP connection is a channel port address of the client that is sent, and a destination IP address of the TCP connection is a channel port address of the server that is received. It should be noted that the client may also send TCP connections to all the servers at each channel port to establish a plurality of channel connections respectively to detect the current on-off state of the channel.
It should be noted that, when the link aggregation control request message sent by the client to the server fails to be connected, that is, the client does not receive the reply message returned by the server, the client performs round-robin sending at a preset sending period through different channel ports to complete TCP link establishment interaction at the signaling control layer between the client and the server.
In step S130 of some embodiments, when receiving a reply message sent by the server according to the link aggregation control request message, a service control channel between each link aggregation group and the server is established according to the reply message, and in order to improve the efficiency of link aggregation, all channel ports in each link aggregation group are identified as the same aggregation transmission control connection message. Specifically, when receiving reply information sent by the server according to the link aggregation control request information, the client sends an aggregated TCP connection to the server according to the reply information to establish a service control channel with the server for each link aggregation group. The source IP address in the aggregated TCP packet corresponding to the aggregated TCP connection is the IP address of the sending channel port, and all the channel ports in each link aggregation group are identified as the same aggregated transmission control connection information, that is, the IP addresses of all the channel ports of the client, the IP addresses of the server, and the corresponding ports in the same link aggregation group are identified as the same aggregated transmission control connection information. For example, a channel port and an IP address of the client, an IP address of the server, and a corresponding port of the server are combined into a quadruple, and for example, the quadruple formed by the three channel ports IPa, IPb, and IPc corresponding to the client is: the same aggregated transmission control connection information is identified for both the client and the server (client channel IPa, server IP, client port a, server port B), (client channel IPb, server IP, client port a, server port B), and (client channel IPc, server IP, client port a, server port B), i.e. the same aggregated TCP connection.
It should be noted that the client and the server may perform an interactive operation through the same aggregated TCP connection, and a destination IP address responded by the server may be an IP address of any reachable channel port in the client link aggregation group.
It should be noted that the client and the server may also perform data transceiving, packet loss retransmission, and out-of-order queuing processing through the same aggregated TCP connection, and meanwhile, when multiple aggregated TCP connections are processed, perform protocol processing according to the priority corresponding to the aggregated TCP connections.
It should be noted that, when receiving the link aggregation control request information sent by the client, the server detects whether resources such as the remaining memory of the current server are satisfied with responding to the link aggregation control request information, and when the resources such as the remaining memory are satisfied with responding to the link aggregation control request information, the server sends the reply information to the client according to the link aggregation control request information.
In step S140 of some embodiments, the client obtains the first data packet received by the local user side of the client, and caches the first data packet to the aggregation sending buffer of the corresponding link aggregation group according to a preset configuration policy. Specifically, the client receives a first data packet from the user port at the local user side of the client, performs data caching according to a preset configuration policy, that is, according to the configured link aggregation group, the channel port in the link aggregation group, and the aggregation group priority of the link aggregation group, and caches the first data packet to the aggregation TCP sending queue of the aggregation sending buffer of the corresponding link aggregation group.
In step S150 of some embodiments, in order to improve the efficiency of link aggregation, the client transmits the data of the aggregated transmission buffer to the corresponding server through the traffic control channel. Specifically, the client and the server perform data transceiving, packet loss retransmission, and out-of-order queuing processing of the same aggregated TCP connection through multiple channels, and may perform protocol processing on multiple aggregated TCP connections according to priority.
In step S160 of some embodiments, in order to ensure the ordered reception of the data packets, so as to improve the efficiency of link aggregation, the client reads the first processing data sent by the server according to the first data packet through the aggregation receiving buffer of the link aggregation group, and forwards the first processing data to the corresponding client local user side according to the peer-to-peer sending order. Specifically, the client or the server reads first processing data sent by the server according to the first data packet from an aggregation receiving buffer of the link aggregation group, that is, through an aggregation TCP connection, and forwards the first processing data to users at respective local user sides according to an opposite-end sending order.
Referring to fig. 2, fig. 2 is a flowchart illustrating a specific method of step S110 according to some embodiments of the present disclosure. In some embodiments of the present application, the client includes at least one channel port, and step S110 specifically includes, but is not limited to, step S210 to step S240, which are described in detail below with reference to fig. 2.
Step S210, establishing a channel connection between the client and a local user side of the client through a channel port of the client;
step S220, after the channel connection is successful, port parameter information is configured for the channel port through the client, and the port parameter information is used for controlling data transmission between the local user side of the client and the client;
step S230, acquiring configuration demand information of a local user side of the client;
step S240, configuring the corresponding link aggregation group, the channel port in the link aggregation group, and the aggregation group priority of the link aggregation group according to the configuration requirement information.
In steps S210 and S220 of some embodiments, before performing link aggregation between the client and the server, a channel connection between the client and the local user side of the client is established through a channel port of the client, and after the channel connection is successful, port parameter information is configured for the channel port through the client, where the port parameter information is used to control data transmission between the local user side of the client and the client. Specifically, each channel is directly connected to a channel port of the client, and after the channel connection is successful, port parameter information of each channel port is configured at the client, where the port parameter information includes an IP address and an IP address of a connected gateway, and the port parameter information is used to control data transmission between the local user side of the client and the client. Meanwhile, under the condition that the channel parameters are configured, the transmission bandwidth and the transmission time delay of the connected channel are configured at the client.
It should be noted that, after the channel connection is successful, the IP address of the port of the server-side connection router and the IP address of the connected router are configured at the same time.
In step S230 and step S240 of some embodiments, in order to implement that a channel with a larger delay difference can also perform link aggregation, configuration requirement information of a local user side of a client is obtained, and a corresponding link aggregation group, a channel port in the link aggregation group, and an aggregation group priority of the link aggregation group are configured according to the configuration requirement information. The configuration requirement information is the same as the content in the above embodiments, and is not described herein again.
It should be noted that, when a local user side of a client of the client communicates with an opposite-end user, an IP address range of the opposite-end user and an IP address of a server corresponding to the opposite-end user are configured at the client according to the communication relationship, and an IP address of the server may also be configured by default to forward all the opposite-end users that are not configured.
Referring to fig. 3, fig. 3 is a flowchart illustrating a specific method of step S120 according to some embodiments of the present disclosure. In some embodiments of the present application, step S120 further includes, but is not limited to, step S310 to step S340, which are described in detail below with reference to fig. 3.
Step S310, sending standard transmission control connection request information to a server;
step S320, receiving response information sent by the server according to the standard transmission control connection request information, and establishing transmission control communication connection between the client and the server according to the response information;
step S330, sending the link aggregation control request information of each link aggregation group to the server according to the transmission control communication connection;
step S340, receiving a reply message sent by the server according to the link aggregation control request message, and storing the port access information of the server corresponding to each link aggregation group according to the reply message record.
In step S310 of some embodiments, to implement link aggregation between the client and the server, the client sends standard TCP connection, which is standard TCP connection, to a signaling control port of the server.
In steps S320 and S330 of some embodiments, the client receives response information sent by the server according to the standard transmission control connection request information, establishes a transmission control communication connection between the client and the server according to the response information, and sends link aggregation control request information of each link aggregation group to the server according to the transmission control communication connection. It should be noted that, the client sends link aggregation control request information to the server for each link aggregation group in a standard TCP connection, and the link aggregation control request information includes the transmission priority of the link aggregation group, the IP address of each channel port in the link aggregation group, the IP address range of the client access user, and the like.
In step S340 of some embodiments, the client receives reply information sent by the server according to the link aggregation control request information, and stores port access information of the server corresponding to each link aggregation group according to the reply information record. Specifically, after receiving the link aggregation control request information of each link aggregation group sent by the client, the server starts the service port corresponding to the server to monitor, sets the processing priority of the service port, records the IP address of each channel port of the client and the IP address range of the client user in the link aggregation group, and sends reply information to the client according to the link aggregation control request information, wherein it needs to be stated that the reply information is attached with the service port of the server and the IP address range of the service access user. Therefore, after receiving the reply message, the client records and stores the port access information of the corresponding server of each link aggregation group, wherein the port access information comprises the service port of the server and the IP address range of the access user of the server.
Referring to fig. 4, fig. 4 is a flowchart illustrating a specific method of step S140 according to some embodiments of the present disclosure. In some embodiments of the present application, step S140 specifically includes, but is not limited to, step S410 to step S450, which are described in detail below with reference to fig. 4.
Step S410, acquiring an Ethernet data packet received by a local user side of a client;
step S420, when the Ethernet data packet meets the preset data packet type, a first data packet is obtained;
step S430, recording the network address corresponding relation in the first data packet into a record table of the client;
step S440, removing the packet header of the first data packet to obtain a second data packet;
step S450, buffer the second data packet to the aggregation sending buffer of the aggregation transmission control connection.
In steps S410 to S450 of some embodiments, the client receives an ethernet packet at the local user side of the client from the user port, performs type determination on the ethernet packet, and when the ethernet packet satisfies a preset packet type, the preset packet type is UDP, that is, when the ethernet packet is a UDP packet, the obtained ethernet packet is a first packet. And recording the network address corresponding relation in the first data packet into a record table of the client, specifically, recording the corresponding relation between the IP address and the MAC address in the first data packet into the record table, namely, refreshing the corresponding relation between the IP address and the MAC address. And then, removing the header of the first data packet, namely deleting the Ethernet frame header of the first data packet to obtain a second data packet, namely the second data packet comprises the IP header data and the subsequent field data corresponding to the first data packet, and caching the obtained second data packet into an aggregation transmission buffer connected with aggregation transmission control. According to the embodiment of the application, the data cached in the aggregation sending buffer area is processed in advance, so that the link aggregation efficiency is improved.
It should be noted that, when the ethernet packet does not satisfy the predetermined packet type, for example, the predetermined packet type is UDP, that is, when the ethernet packet is not a UDP packet, the ethernet packet may be processed according to the existing packet-by-packet and/or stream-by-stream link aggregation manner.
Referring to fig. 5, fig. 5 is a flowchart illustrating a specific method of step S150 according to some embodiments of the present disclosure. In some embodiments of the present application, step S150 specifically includes, but is not limited to, step S510 and step S520, which are described in detail below with reference to fig. 5.
Step S510, performing data packaging processing on the data of the aggregation sending buffer area to obtain a third data packet;
step S520, the third data packet is sent to the corresponding server through the service control channel.
In step S510 and step S520 of some embodiments, in order to ensure the ordered reception of the data packet and improve the bandwidth utilization rate during link aggregation, when the client sends the data in the aggregated sending buffer to the corresponding server through the service control channel, the client performs data packing processing on the data in the aggregated sending buffer to obtain a third data packet. Specifically, the client performs data packing processing on data in a sending buffer of the link aggregation group, specifically, adds the data into a packet divider, a packet length and a check to obtain a third data packet, and sends the third data packet to the server through a service control channel.
It should be noted that, when the length of a data stream of a third data packet sent by a client exceeds the maximum transmission unit MTU, the data of the third data packet is divided into multiple packets to be sent, and a data format and an interaction flow of a TCP protocol stack are used, when it is determined that a certain channel port of a link aggregation group is used to send a data packet, an IP address corresponding to the channel port is filled into a source IP of the data packet, where an IP address of the channel port in the link aggregation group and a corresponding port both identify a unique aggregated TCP connection in the link aggregation group, and specifically, which channel port can be processed in a packet-by-packet manner, residual bandwidth calculation manner, and the like is not described herein again.
It should be noted that, after receiving the data stream corresponding to the third data packet, the server queries the MAC address corresponding to the destination IP address of the data packet, and when the head sending sequence number of the third data packet is inconsistent with the currently expected sequence number, the server obtains a query result, and buffers the data packet in the receiving buffer of the link aggregation group, that is, inserts the data packet into the user side output queue, and sends an ARP protocol query and sends an acknowledgement response message to the client. After acquiring the corresponding relation between the IP address and the MAC address, sequentially adding an Ethernet frame header to the data packet of the user side output queue, and outputting the Ethernet packet through a user port.
It should be noted that, the client or the server receives the ethernet data packet sent from the user to the opposite-end user through the transparent mode or the gateway mode, and is configured to output the user IP address and the MAC address association record to the IP-MAC table, and intercept part of data in the ethernet data packet to output for the link aggregation service.
It should be noted that, after the server receives the data stream corresponding to the third data packet, when the head sending sequence number of the third data packet is consistent with the currently expected sequence number, the data in the receiving buffer corresponding to the aggregated TCP connection is copied to the receiving buffer of the server user. And when the packet segmentation symbol, the packet length and the check in the receiving cache of the service end user pass, acquiring the complete UDP message. And then, the server side directly forwards the complete UDP message obtained after the processing is finished to the destination IP address identified by the message. When it needs to be described, after the client receives the data packet sent by the server, the processing method is the same as that after the server receives the data packet, and is not described herein again.
It should be noted that, when the client has multiple link aggregation groups at the same time, the client sequentially processes according to the priority of each link aggregation group, but each link aggregation group needs to ensure that timeout events such as retransmission cannot be generated, so as to ensure the ordered reception of data packets, and improve the efficiency of link aggregation.
It should be noted that, the client or the server may configure different users and different service transceiving priorities of the same user, so as to preferentially process a user or a service with a high priority, thereby improving the efficiency of link aggregation.
In some embodiments of the present application, after step S520, the link aggregation method provided in the embodiments of the present application further includes: and when the client does not receive the confirmation response information of the server according to the third data packet within the preset response time threshold, sending the third data packet to the corresponding server through the service control channel again.
In some specific embodiments, the preset response time threshold may be set to be at least 3 times of the link transmission delay, and when the client does not receive the acknowledgement response information of the server according to the third data packet within the preset response time threshold, the unacknowledged third data packet is sent to the corresponding server through the service control channel again, so as to improve the bandwidth utilization rate during link aggregation.
It should be noted that, when the server sends a data stream to the client, it specifically uses which channel port in the link aggregation group sends the data stream to fill the IP address of the port into the destination IP of the packet, and the specifically used channel port may be processed in a packet-by-packet manner, a residual bandwidth calculation manner, and the like.
Referring to fig. 6, fig. 6 is another alternative flowchart of a link aggregation method provided in the present application, where the method is applied to a server. In some embodiments of the present application, the method specifically includes, but is not limited to, steps S610 to S680, which are described in detail below with reference to fig. 6.
Step S610, receiving standard transmission control connection request information sent by a client;
step S620, response information is sent to the client according to the standard transmission control connection request information so as to establish the transmission control communication connection between the client and the server;
step S630, receiving link aggregation control request information of each link aggregation group sent by the client according to the configuration requirement information, and obtaining a link aggregation group corresponding to the link aggregation control request information, a channel port in the link aggregation group, and an aggregation group priority of the link aggregation group, where the configuration requirement information, the link aggregation group, the channel port, and the aggregation group priority are obtained according to the method in the above embodiment;
step S640, sending reply information according to the link aggregation control request information to the client through the server;
step S650, establishing a service control channel with the client through each link aggregation group, and identifying all channel ports in each link aggregation group as the same aggregation transmission control connection information;
step S660, a fourth data packet received by the local user side of the service end is obtained, and the fourth data packet is cached to an aggregation sending buffer area of the link aggregation group according to a preset configuration strategy, wherein the service end is in communication connection with at least one local user side of the service end;
step S670, the data of the aggregation sending buffer area is sent to the corresponding client through the service control channel;
step S680, reading, by the aggregation receiving buffer of the link aggregation group, the second processed data sent by the client according to the fourth data packet, and forwarding the second processed data to the corresponding local user side of the server according to the sending order of the peer.
In steps S610 to S680 of some embodiments, the server receives the standard tcp connection request message sent by the client, and sends a response message to the client according to the standard tcp connection request message, so as to establish a tcp communication connection between the client and the server. After the transmission control communication connection is created, the server receives link aggregation control request information of each link aggregation group sent by the client according to the configuration requirement information, and obtains a link aggregation group corresponding to the link aggregation control request information, a channel port in the link aggregation group, and an aggregation group priority of the link aggregation group, where the configuration requirement information, the link aggregation group, the channel port, and the aggregation group priority are obtained according to the method in the embodiment. And sending reply information according to the link aggregation control request information to the client through the server, establishing a service control channel with the client through each link aggregation group by the server, and identifying all channel ports in each link aggregation group as the same aggregation transmission control connection information. After the aggregation transmission control connection between the client and the server is established, the server acquires a fourth data packet received by the local user side of the server, and caches the fourth data packet to an aggregation sending buffer area of the link aggregation group according to a preset configuration strategy, wherein the server is in communication connection with at least one local user side of the server. And then, the server side sends the data of the aggregation sending buffer area to the corresponding client side through the service control channel, reads second processing data sent by the client side according to the fourth data packet through the aggregation receiving buffer area of the link aggregation group, and forwards the second processing data to the corresponding local user side of the server side according to the sending sequence of the opposite end. The embodiment of the application provides a method for performing link aggregation based on a plurality of channels with large transmission delay difference, which can ensure the ordered reception of data packets and improve the bandwidth utilization rate during link aggregation.
It should be noted that the server provides multiple user interfaces to connect to multiple local user sides of the server, that is, a single user or multiple users can be accessed, and the accessed user can be in one network segment or multiple network segments, and meanwhile, the server provides an aggregation interface to connect to a router or a gateway.
It should be noted that the server may provide the link aggregation service to a single client or multiple clients simultaneously.
It should be noted that, UDP packets can be bi-directionally received and transmitted between users respectively accessed by the client and the server, and can be delivered to an opposite-end user according to a sending sequence after link aggregation, and can be automatically retransmitted when packet loss occurs, so as to improve the efficiency of link aggregation.
Referring to fig. 7, an embodiment of the present application further provides a link aggregation apparatus, which is applied to a client and can implement the link aggregation method, where the apparatus includes a client configuration module 710, a request information sending module 720, a first channel establishing module 730, a first data packet obtaining module 740, a first data sending module 750, and a client data reading module 760.
A client configuration module 710, configured to obtain configuration requirement information of a local user side of a client, and configure a corresponding link aggregation group, a channel port in the link aggregation group, and an aggregation group priority of the link aggregation group according to the configuration requirement information, where the client is in communication connection with at least one local user side of the client;
a request information sending module 720, configured to send link aggregation control request information to the server according to the configuration requirement information, and receive reply information sent by the server according to the link aggregation control request information;
a first channel establishing module 730, configured to establish a service control channel between each link aggregation group and the service end according to the reply information, and identify all channel ports in each link aggregation group as the same aggregation transmission control connection information;
a first packet obtaining module 740, configured to obtain a first packet received by a local user side of a client, and cache the first packet in an aggregation sending buffer of a corresponding link aggregation group according to a preset configuration policy;
a first data sending module 750, configured to send the data in the aggregate sending buffer to a corresponding server through a service control channel;
the client data reading module 760 is configured to read, through an aggregation receiving buffer of the link aggregation group, first processing data sent by the server according to the first data packet, and forward the first processing data to the corresponding client local user side according to the opposite-end sending order.
It should be noted that the link aggregation device in the embodiment of the present application is used to implement the link aggregation method, and the link aggregation device in the embodiment of the present application corresponds to the link aggregation method, and a specific processing procedure refers to the link aggregation method, which is not described herein again.
In a specific embodiment, as shown in fig. 8, a client according to an embodiment of the present invention includes a client user side access module 810 and a client link aggregation service module 820, where the client user side access module 810 and the link aggregation service module 820 are used to implement the link aggregation method according to the foregoing embodiment, and the client user side access module 810 includes a client user side input sub-module 811 and a client user side output sub-module 812. The server includes a server user side access module 830 and a server link aggregation service module 840, where the server user side access module 830 and the server link aggregation service module 840 are used to implement the link aggregation method of the above embodiment, and the server user side access module 830 includes a server user side input submodule 831 and a server user side output submodule 832. The client is connected to the wide area network through the satellite access gateway 850, and the server is connected to the wide area network through the router 860, so that link aggregation of the client and the server is realized. The client user side input submodule 811 includes a module for recording the IP address and MAC address association of the output user into the client IP-MAC table 813, and the client user side output submodule 812 includes a module for adding the obtained data packet to the client user side output queue 814 and forwarding the data packet to the corresponding client local user side in the peer-to-peer sending order. The server-side user-side input submodule 831 also includes a module for recording the association between the IP address and the MAC address of the output user in the server-side IP-MAC table 833, and the server-side user-side output submodule 832 also includes a module for adding the acquired data packet to the server-side user-side output queue 834 and forwarding the data packet to the corresponding server-side local user side according to the opposite-end transmission order.
Referring to fig. 9, an embodiment of the present application further provides a link aggregation apparatus, which is applied to a server and can implement the link aggregation method, where the apparatus includes a response information sending module 910, a transmission control connection module 920, a request information receiving module 930, a reply information sending module 940, a second channel establishing module 950, a second data packet obtaining module 960, a second data sending module 970, and a client data reading module 980.
A response message sending module 910, configured to receive standard transmission control connection request message sent by a client;
a transmission control connection module 920, configured to send response information to the client according to the standard transmission control connection request information, so as to establish a transmission control communication connection between the client and the server;
a request information receiving module 930, configured to receive link aggregation control request information of each link aggregation group sent by the client according to the configuration requirement information, and obtain a link aggregation group corresponding to the link aggregation control request information, a channel port in the link aggregation group, and an aggregation group priority of the link aggregation group, where the configuration requirement information, the link aggregation group, the channel port, and the aggregation group priority are obtained according to any one of the above methods;
a reply information sending module 940, configured to send, to the client through the server, reply information according to the link aggregation control request information;
a second channel establishing module 950, configured to establish a service control channel with the client through each link aggregation group, and identify all channel ports in each link aggregation group as the same aggregation transmission control connection information;
a second data packet obtaining module 960, configured to obtain a fourth data packet received by a local user side of a server, and cache the fourth data packet in an aggregation sending buffer of a link aggregation group according to a preset configuration policy, where the server is in communication connection with at least one local user side of the server;
a second data sending module 970, configured to send the data in the aggregation sending buffer to a corresponding client through a service control channel;
a client data reading module 980, configured to read the second processing data sent by the client through the aggregation receiving buffer of the link aggregation group, and forward the second processing data to the corresponding local user side of the server according to the peer-to-peer sending order.
It should be noted that the link aggregation device in the embodiment of the present application is used to implement the link aggregation method, and the link aggregation device in the embodiment of the present application corresponds to the link aggregation method, and a specific processing procedure refers to the link aggregation method, which is not described herein again.
An embodiment of the present application further provides an electronic device, including: at least one memory, at least one processor, at least one computer program, the at least one computer program stored in the at least one memory, the at least one processor executing the at least one computer program to implement the link aggregation method of any of the above embodiments. The electronic equipment can be any intelligent terminal including a tablet computer, a vehicle-mounted computer and the like.
Referring to fig. 10, fig. 10 illustrates a hardware structure of an electronic device according to another embodiment, where the electronic device includes:
the processor 1010 may be implemented by a general Central Processing Unit (CPU), a microprocessor, an Application Specific Integrated Circuit (ASIC), or one or more Integrated circuits, and is configured to execute a related program to implement the technical solution provided in the embodiment of the present Application;
the Memory 1020 may be implemented in the form of a Read Only Memory (ROM), a static storage device, a dynamic storage device, or a Random Access Memory (RAM). The memory 1020 may store an operating system and other application programs, and when the technical solution provided in the embodiments of the present specification is implemented by software or firmware, related program codes are stored in the memory 1020 and called by the processor 1010 to execute the link aggregation method according to the embodiments of the present application;
an input/output interface 1030 for implementing information input and output;
the communication interface 1040 is configured to implement communication interaction between the present device and another device, and may implement communication in a wired manner (for example, USB, a network cable, and the like), and may also implement communication in a wireless manner (for example, a mobile network, WIFI, bluetooth, and the like);
a bus 1050 that transfers information between various components of the device (e.g., the processor 1010, the memory 1020, the input/output interface 1030, and the communication interface 1040);
wherein the processor 1010, memory 1020, input/output interface 1030, and communication interface 1040 are communicatively coupled to each other within the device via bus 1050.
An embodiment of the present application further provides a storage medium, which is a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and the computer program is configured to enable a computer to execute the link aggregation method in any of the foregoing embodiments.
The memory, which is a non-transitory computer readable storage medium, may be used to store non-transitory software programs as well as non-transitory computer executable programs. Further, the memory may include high speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, the memory optionally includes memory located remotely from the processor, and these remote memories may be connected to the processor through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The embodiments described in the embodiments of the present application are for more clearly illustrating the technical solutions of the embodiments of the present application, and do not constitute a limitation to the technical solutions provided in the embodiments of the present application, and it is obvious to those skilled in the art that the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems with the evolution of technology and the emergence of new application scenarios.
It will be appreciated by those skilled in the art that the solutions shown in fig. 1 to 6 do not constitute a limitation of the embodiments of the present application, and may comprise more or less steps than those shown, or some steps may be combined, or different steps.
The above-described embodiments of the apparatus are merely illustrative, wherein the units illustrated as separate components may or may not be physically separate, i.e. may be located in one place, or may also be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment.
One of ordinary skill in the art will appreciate that all or some of the steps of the methods, systems, functional modules/units in the devices disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof.
The terms "first," "second," "third," "fourth," and the like in the description of the application and the above-described figures, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the application described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
It should be understood that, in this application, "at least one" means one or more, "a plurality" means two or more. "and/or" for describing an association relationship of associated objects, indicating that there may be three relationships, e.g., "a and/or B" may indicate: only A, only B and both A and B are present, wherein A and B may be singular or plural. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. "at least one of the following" or similar expressions refer to any combination of these items, including any combination of single item(s) or plural items. For example, at least one (one) of a, b, or c, may represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", wherein a, b, c may be single or plural.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the above-described division of units is only one type of division of logical functions, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed to by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes multiple instructions for causing a computer device (which may be a personal computer, a server, or a network device) to perform all or part of the steps of the method of the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing programs, such as a usb disk, a removable hard disk, a Read Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The foregoing description of the preferred embodiments of the present application with reference to the accompanying drawings is in no way intended to limit the scope of the embodiments of the application. Any modifications, equivalents and improvements that may occur to those skilled in the art without departing from the scope and spirit of the embodiments of the present application are intended to be within the scope of the claims of the embodiments of the present application.

Claims (10)

1. A link aggregation method is applied to a client, and comprises the following steps:
acquiring configuration demand information of a client local user side, and configuring a corresponding link aggregation group, a channel port in the link aggregation group and an aggregation group priority of the link aggregation group according to the configuration demand information, wherein the client is in communication connection with at least one client local user side;
sending link aggregation control request information to a server according to the configuration demand information, and receiving reply information sent by the server according to the link aggregation control request information;
establishing a service control channel of each link aggregation group and the server according to the reply information, and identifying all the channel ports in each link aggregation group as the same aggregation transmission control connection information;
acquiring a first data packet received by the local user side of the client, and caching the first data packet to a corresponding aggregation sending buffer area of the link aggregation group according to a preset configuration strategy;
transmitting the data of the aggregation transmission buffer to the corresponding server through the service control channel;
and reading first processing data sent by the server according to the first data packet through an aggregation receiving buffer area of the link aggregation group, and forwarding the first processing data to the corresponding client local user side according to an opposite end sending sequence.
2. The method according to claim 1, wherein the client includes at least one channel port, and the obtaining configuration requirement information of a local user side of the client and configuring a corresponding link aggregation group, a channel port in the link aggregation group, and an aggregation group priority of the link aggregation group according to the configuration requirement information includes:
establishing channel connection between the client and a local user side of the client through the channel port of the client;
after the channel connection is successful, configuring port parameter information for the channel port through the client, wherein the port parameter information is used for controlling data transmission between the local user side of the client and the client;
acquiring configuration demand information of the local user side of the client;
and configuring a corresponding link aggregation group, a channel port in the link aggregation group and the aggregation group priority of the link aggregation group according to the configuration requirement information.
3. The method according to claim 1, wherein the sending a link aggregation control request message to a server according to the configuration requirement information and receiving a reply message sent by the server according to the link aggregation control request message includes:
sending standard transmission control connection request information to a server;
receiving response information sent by the server according to the standard transmission control connection request information, and establishing transmission control communication connection between the client and the server according to the response information;
sending link aggregation control request information of each link aggregation group to the server according to the transmission control communication connection;
and receiving reply information sent by the server according to the link aggregation control request information, and storing port access information of the server corresponding to each link aggregation group according to the reply information record.
4. The method according to claim 1, wherein the obtaining a first packet received by the client local user side and caching the first packet to an aggregation sending buffer of the corresponding link aggregation group according to a preset configuration policy includes:
acquiring an Ethernet data packet received by the local user side of the client;
when the Ethernet data packet meets the preset data packet type, obtaining a first data packet;
recording the network address corresponding relation in the first data packet into a record table of the client;
removing the packet header of the first data packet to obtain a second data packet;
and caching the second data packet to an aggregation transmission buffer of the aggregation transmission control connection.
5. The method according to any one of claims 1 to 4, wherein the sending the data of the aggregated sending buffer to the corresponding server via the traffic control channel comprises:
performing data packaging processing on the data of the aggregation sending buffer area to obtain a third data packet;
and sending the third data packet to the corresponding server through the service control channel.
6. The method of claim 5, wherein after the sending the third data packet to the corresponding server through the traffic control channel, the method further comprises:
and when the client does not receive the confirmation response information of the server according to the third data packet within the preset response time threshold, sending the third data packet to the corresponding server through the service control channel again.
7. A link aggregation method is applied to a server side, and the method comprises the following steps:
receiving standard transmission control connection request information sent by a client;
sending response information to the client according to the standard transmission control connection request information so as to establish transmission control communication connection between the client and the server;
receiving link aggregation control request information of each link aggregation group sent by the client according to configuration demand information, and obtaining the link aggregation group corresponding to the link aggregation control request information, a channel port in the link aggregation group, and an aggregation group priority of the link aggregation group, wherein the configuration demand information, the link aggregation group, the channel port, and the aggregation group priority are obtained according to the method of any one of claims 1 to 6;
sending reply information according to the link aggregation control request information to the client through the server;
establishing a service control channel with the client through each link aggregation group, and identifying all the channel ports in each link aggregation group as the same aggregation transmission control connection information;
acquiring a fourth data packet received by a local user side of a server, and caching the fourth data packet into an aggregation sending buffer area of the link aggregation group according to a preset configuration strategy, wherein the server is in communication connection with at least one local user side of the server;
sending the data of the aggregation sending buffer area to the corresponding client through the service control channel;
and reading second processing data sent by the client according to the fourth data packet through the aggregation receiving buffer area of the link aggregation group, and forwarding the second processing data to the corresponding local user side of the server according to the opposite-end sending sequence.
8. A link aggregation device applied to a client, the device comprising:
the client configuration module is used for acquiring configuration demand information of a client local user side and configuring a corresponding link aggregation group, a channel port in the link aggregation group and an aggregation group priority of the link aggregation group according to the configuration demand information, wherein the client is in communication connection with at least one client local user side;
the request information sending module is used for sending link aggregation control request information to the server according to the configuration demand information and receiving reply information sent by the server according to the link aggregation control request information;
a first channel establishing module, configured to establish a service control channel between each link aggregation group and the server according to the reply information, and identify all channel ports in each link aggregation group as the same aggregation transmission control connection information;
a first data packet obtaining module, configured to obtain a first data packet received by the local user side of the client, and cache the first data packet in an aggregation sending buffer of the corresponding link aggregation group according to a preset configuration policy;
the first data sending module is used for sending the data of the aggregation sending buffer area to the corresponding server side through the service control channel;
and the client data reading module is used for reading first processing data sent by the server according to the first data packet through an aggregation receiving buffer area of the link aggregation group, and forwarding the first processing data to the corresponding client local user side according to an opposite end sending sequence.
9. An electronic device, comprising:
at least one memory;
at least one processor;
at least one computer program;
the at least one computer program is stored in the at least one memory, the at least one processor executing the at least one computer program to implement:
the method of any one of claims 1 to 6; or
The method of claim 7.
10. A storage medium that is a computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program for causing a computer to execute:
the method of any one of claims 1 to 6; or
The method of claim 7.
CN202210639694.8A 2022-06-08 Link aggregation method, link aggregation device, electronic equipment and storage medium Active CN115002023B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210639694.8A CN115002023B (en) 2022-06-08 Link aggregation method, link aggregation device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210639694.8A CN115002023B (en) 2022-06-08 Link aggregation method, link aggregation device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN115002023A true CN115002023A (en) 2022-09-02
CN115002023B CN115002023B (en) 2024-04-19

Family

ID=

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116545919A (en) * 2023-03-30 2023-08-04 中国舰船研究设计中心 UDP (user datagram protocol) message ordered transmission system and method based on multiple transmission paths
CN116962488A (en) * 2023-09-18 2023-10-27 腾讯科技(深圳)有限公司 Method, device, electronic equipment and readable medium for establishing cloud service connection

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140025736A1 (en) * 2012-07-23 2014-01-23 Cisco Technology, Inc. System and method for cluster link aggregation control in a network environment
CN106411731A (en) * 2015-07-27 2017-02-15 中兴通讯股份有限公司 Method and device of self-negotiation link aggregation control protocol (LACP) reference system and reference port
CN111654435A (en) * 2020-06-02 2020-09-11 中电科航空电子有限公司 Link protection fault processing system and method based on LACP

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140025736A1 (en) * 2012-07-23 2014-01-23 Cisco Technology, Inc. System and method for cluster link aggregation control in a network environment
CN104488238A (en) * 2012-07-23 2015-04-01 思科技术公司 System and method for cluster link aggregation control in a network environment
CN106411731A (en) * 2015-07-27 2017-02-15 中兴通讯股份有限公司 Method and device of self-negotiation link aggregation control protocol (LACP) reference system and reference port
CN111654435A (en) * 2020-06-02 2020-09-11 中电科航空电子有限公司 Link protection fault processing system and method based on LACP

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
佚名: "LACP system-priority question", Retrieved from the Internet <URL:https://community.cisco.com/t5/switching/lacp-system-priority-question/td-p/3051032> *
李泽杰: "面向流媒体传输的链路聚合技术的研究与实现", 硕士电子期刊, pages 55 - 57 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116545919A (en) * 2023-03-30 2023-08-04 中国舰船研究设计中心 UDP (user datagram protocol) message ordered transmission system and method based on multiple transmission paths
CN116962488A (en) * 2023-09-18 2023-10-27 腾讯科技(深圳)有限公司 Method, device, electronic equipment and readable medium for establishing cloud service connection
CN116962488B (en) * 2023-09-18 2023-12-19 腾讯科技(深圳)有限公司 Method, device, electronic equipment and readable medium for establishing cloud service connection

Similar Documents

Publication Publication Date Title
US10516751B2 (en) Optimization of enhanced network links
US7653075B2 (en) Processing communication flows in asymmetrically routed networks
US20190342117A1 (en) Method for controlling a remote service access path and relevant device
US11477130B2 (en) Transmission control method and apparatus
US7139268B1 (en) Performance of intermediate nodes with flow splicing
WO2020063298A1 (en) Method for processing tcp message, toe assembly, and network device
JPWO2012066824A1 (en) Communication apparatus and communication system
US20040133631A1 (en) Communication system
AU2007320794B2 (en) Selective session interception method
WO2014023003A1 (en) Method, apparatus, and system for controlling data transmission
US11115498B2 (en) Multi-path management
WO2021008591A1 (en) Data transmission method, device, and system
CN106464596A (en) Openflow communication method, system, controller, and service gateway
WO2013125109A1 (en) Communication device and communication system
Liu et al. Cross-layer design for UAV-based streaming media transmission
Gupta et al. Fast interest recovery in content centric networking under lossy environment
CN115002023B (en) Link aggregation method, link aggregation device, electronic equipment and storage medium
CN105072057A (en) Intermediate switch equipment for network data transmission, and network communication system
CN115002023A (en) Link aggregation method, link aggregation device, electronic equipment and storage medium
CN109981463B (en) Information processing method, device, gateway and storage medium
WO2020154872A1 (en) Transmission control protocol acceleration method and apparatus
CN107196819B (en) Network connection method and system and computer readable storage medium
EP2697950B1 (en) Technique for managing communications at a router
CN116545919A (en) UDP (user datagram protocol) message ordered transmission system and method based on multiple transmission paths
JP2013247632A (en) Tcp communication high speed device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant