CN115002023B - 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 PDFInfo
- Publication number
- CN115002023B CN115002023B CN202210639694.8A CN202210639694A CN115002023B CN 115002023 B CN115002023 B CN 115002023B CN 202210639694 A CN202210639694 A CN 202210639694A CN 115002023 B CN115002023 B CN 115002023B
- 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.)
- Active
Links
- 230000002776 aggregation Effects 0.000 title claims abstract description 412
- 238000004220 aggregation Methods 0.000 title claims abstract description 412
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000005540 biological transmission Effects 0.000 claims abstract description 104
- 238000012545 processing Methods 0.000 claims abstract description 49
- 238000004891 communication Methods 0.000 claims abstract description 44
- 230000004044 response Effects 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000012790 confirmation Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
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 requirement information of a local user side of a client, and configuring information of a corresponding link aggregation group according to the configuration requirement information; transmitting link aggregation control request information to a server side, and receiving reply information transmitted by the server side; establishing a service control channel of each link aggregation group and a service end, and marking the channel ports in each link aggregation group as same aggregation transmission control connection information; caching the received first data packet to an aggregation transmitting buffer area of a link aggregation group; transmitting the data of the aggregation transmission buffer area to a server through a service control channel; and reading the first processing data sent by the server side, and forwarding the first processing data to the corresponding local client side according to the sending order of the opposite side. The embodiment of the application can effectively improve the efficiency of link aggregation.
Description
Technical Field
The present application relates to the field of communications technologies, and in particular, to a link aggregation method, a link aggregation device, an electronic device, and a storage medium.
Background
In order to fully utilize the bandwidths of multiple physical links aggregated together to achieve orderly and reliable transmission of standard user datagram protocol (User Datagram Protocol, UDP) messages, a link aggregation method is generally adopted to achieve scheduling and traffic allocation on the multiple physical links. The existing method for realizing link aggregation comprises the following steps: (1) packet-by-packet load sharing: by having a first data frame of the data stream transmitted over a physical link; and a second data frame is transmitted over the other physical link. The method makes it possible for the second data frame of the same data stream to arrive at the opposite device earlier than the first data frame, thereby creating a case where the received data packets are out of order. (2) per-stream load sharing: the addresses in the data frames are generated into Hash key values through a Hash algorithm, and then corresponding outgoing interfaces are searched in a forwarding table according to the key values. However, the use of this stream-by-stream load sharing method, while guaranteeing sequential transmission of packets, cannot guarantee its bandwidth utilization. Therefore, how to provide a more efficient link aggregation method is a technical problem to be solved.
Disclosure of Invention
The embodiment of the application mainly aims to provide a link aggregation method, a link aggregation device, electronic equipment and a storage medium, which can effectively improve the link aggregation efficiency.
To achieve the above object, a first aspect of an embodiment of the present application provides a link aggregation method, applied to a client, where the method includes:
acquiring configuration requirement 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 requirement information, wherein the client is in communication connection with at least one local user side of the client;
Transmitting link aggregation control request information to a server according to the configuration requirement information, and receiving reply information transmitted 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 marking all channel ports in each link aggregation group as same aggregation transmission control connection information;
acquiring a first data packet received by a local user side of the client, and caching the first data packet into an aggregation transmitting buffer area of the corresponding link aggregation group according to a preset configuration strategy;
transmitting the data of the aggregation transmission buffer area to the corresponding server through the service control channel;
And reading the first processing data sent by the server according to the first data packet through the aggregation receiving buffer zone of the link aggregation group, and forwarding the first processing data to the corresponding local user side of the client according to the sending order of the opposite terminal.
In some embodiments, the client includes at least one channel port, 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, including:
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 requirement information of a local user of the client;
and configuring a corresponding link aggregation group, channel ports in the link aggregation group and aggregation group priority of the link aggregation group according to the configuration requirement information.
In some embodiments, the 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, 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;
Transmitting link aggregation control request information of each link aggregation group to the server according to the transmission control communication connection;
And receiving the reply information sent by the server according to the link aggregation control request information, and recording and storing the port access information of the server corresponding to each link aggregation group according to the reply information.
In some embodiments, the obtaining the first data packet received by the local user side of the client, and caching the first data packet to the aggregation sending buffer area of the corresponding link aggregation group according to a preset configuration policy includes:
acquiring an Ethernet data packet received by a local user of the client;
When the Ethernet data packet meets the preset data packet type, a first data packet is obtained;
Recording the corresponding relation of the network address 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 sending buffer area of the aggregation transmission control connection.
In some embodiments, the sending, by the service control channel, the data of the aggregate sending buffer to the corresponding server side includes:
Carrying out data packaging treatment on the data in the aggregation transmitting 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 service end through the service control channel, the method further includes:
and when the client side does not receive the confirmation response information of the third data packet according to the third data packet within a preset response time threshold, the third data packet is sent to the corresponding server side 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;
Transmitting 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 acquiring 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 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 channel ports in each link aggregation group as same aggregation transmission control connection information;
a fourth data packet received by a local user side of a server is obtained, and the fourth data packet is cached to an aggregation transmitting buffer zone 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;
transmitting the data of the aggregation transmission 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 zone of the link aggregation group, and forwarding the second processing data to the corresponding local user side of the server according to the sending order of the opposite terminal.
To achieve the above object, a third aspect of the embodiments of the present application provides a link aggregation apparatus, applied to a client, including:
The client configuration module is used for acquiring configuration requirement information of a local client 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 requirement information, wherein the client side is in communication connection with at least one local client side;
The request information sending module is used for 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;
The first channel establishing module is used for establishing a service control channel of each link aggregation group and the service end according to the reply information, and identifying all the channel ports in each link aggregation group as same aggregation transmission control connection information;
The first data packet acquisition module is used for acquiring a first data packet received by the local user side of the client, and caching the first data packet to the aggregation transmitting buffer area of the corresponding link aggregation group according to a preset configuration strategy;
The first data sending module is used for sending the data of the aggregation sending buffer area to the corresponding server through the service control channel;
And the client data reading module is used for reading the first processing data sent by the server according to the first data packet through the aggregation receiving buffer zone of the link aggregation group, and forwarding the first processing data to the corresponding local client side according to the sending order of the opposite terminal.
To achieve the above object, a fourth aspect of an embodiment of the present application provides an electronic device, 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, the at least one processor executing the at least one computer program to implement the method of the first aspect described above; or a method as described in the second aspect above.
To achieve the above object, a fifth aspect of the embodiments of the present application proposes a storage medium that is a computer-readable storage medium storing a computer program for causing a computer to execute the method described in the first aspect; or a method as described in the second aspect above.
The application provides a link aggregation method, a link aggregation device, electronic equipment and a storage medium. In order to realize link aggregation of the client and the server, the link aggregation control request information is sent to the server according to the configuration requirement information, and the 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 marking all channel ports in each link aggregation group as same aggregation transmission control connection information so as to carry out data interaction on the client and the service end through the same aggregation transmission control connection. When link aggregation is carried out on the client and the server, the first data packet received by the local user side of the client is obtained, the first data packet is cached to an aggregation transmitting buffer area of a corresponding link aggregation group according to a preset configuration strategy, and data of the aggregation transmitting buffer area is transmitted to the corresponding server through a service control channel. After the server side sends the processed first processing data to the client side, the client side reads the first processing data sent by the server side according to the first data packet through the aggregation receiving buffer zone of the link aggregation group, and forwards the first processing data to the corresponding local user side of the client side according to the sending order of the opposite side. The embodiment of the application carries out link aggregation on the client and the server through the same aggregation transmission control connection information, can effectively improve the efficiency of link aggregation, can ensure the orderly reception of the data packet, and can improve the bandwidth utilization rate during link aggregation.
Drawings
Fig. 1 is a first flowchart of a link aggregation method according to 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 according to an embodiment of the present application;
Fig. 7 is a schematic structural diagram of a link aggregation apparatus 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 application;
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 diagram of a hardware structure of an electronic device according to an embodiment of the present application.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application.
It should be noted that although functional block division is performed in a device diagram and a logic sequence is shown in a flowchart, in some cases, the steps shown or described may be performed in a different order than the block division in the device, or in the flowchart. The terms first, second and the like in the description and in the claims and in the above-described figures, 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 application only and is not intended to be limiting of the application.
First, several nouns involved in the present application are parsed:
Link Aggregation (Link Aggregation): the method is that a plurality of physical ports are converged together to form a logic port so as to realize the load sharing of the throughput of the output/input flow at each member port, and the switch determines which member port a network packet is sent to the switch of the opposite end according to the port load sharing strategy configured by a user. When the switch detects that the link of one member port fails, the switch stops sending packets on the port, and recalculates the sending port of the message in the rest links according to the load sharing strategy, and the failed port is used as a receiving and transmitting port again after recovery. Link aggregation is an important technology in terms of increasing link bandwidth, realizing link transmission elasticity, engineering redundancy, and the like.
Internetworking protocol (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 the network layer of the transmission control protocol/internet protocol (Transmission Control Protocol/Internet Protocol, TCP/IP) model, which can provide the transport layer with information of various protocols.
Transmission control protocol (Transmission Control Protocol, TCP): is a connection-oriented, reliable, byte stream based transport layer communication protocol.
User datagram protocol (User Datagram Protocol, UDP): is a connectionless transport layer protocol in the open systems interconnection (Open System Interconnection, OSI) reference model that provides a transaction-oriented simple unreliable information delivery service.
Media access Control Address (MEDIA ACCESS Control Address, MAC Address): also known as a local area network address (LAN ADDRESS), an ethernet address (ETHERNET ADDRESS) or a physical address (PHYSICAL ADDRESS) is an address used to identify the location of a network device.
Maximum transmission unit (Maximum Transmission Unit, MTU): is used to inform the opposite party of the maximum size of the acceptable data service units, indicating the size of the payload that the sender can accept.
In order to fully utilize the bandwidths of multiple physical links aggregated together to achieve orderly and reliable transmission of standard user datagram protocol (User Datagram Protocol, UDP) messages, a link aggregation method is generally adopted to achieve scheduling and traffic allocation on the multiple physical links. The existing method for realizing link aggregation comprises the following steps: (1) packet-by-packet load sharing: by having a first data frame of the data stream transmitted over a physical link; and a second data frame is transmitted over the other physical link. The method makes it possible for the second data frame of the same data stream to arrive at the opposite device earlier than the first data frame, thereby creating a case where the received data packets are out of order. (2) per-stream load sharing: the addresses in the data frames are generated into Hash key values through a Hash algorithm, and then corresponding outgoing interfaces are searched in a forwarding table according to the key values. However, the use of this stream-by-stream load sharing method, while guaranteeing sequential transmission of packets, cannot guarantee its bandwidth utilization. Therefore, how to provide a more efficient link aggregation method is a technical problem to be solved.
Based on the above, the embodiment of the application provides a link aggregation method, a link aggregation device, electronic equipment and a storage medium, which can effectively improve the efficiency of link aggregation.
The link aggregation method, the link aggregation device, the electronic device and the storage medium provided by the embodiment of the application are specifically described through the following embodiments, and the link aggregation method in the embodiment of the application is described first.
The link aggregation method provided by the embodiment of the application can be applied to the terminal, can be applied to the server side, and can also be software running in the terminal or the server side. In some embodiments, the terminal may be a smart phone, tablet, notebook, desktop, etc.; the server side can be configured as an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, and a cloud server for providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (Content Delivery Network, CDN), basic cloud computing services such as big data and artificial intelligent platforms and the like; the software may be an application or the like for realizing 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 computer system environments or configurations. For example: personal computers, server computers, hand-held or portable devices, tablet 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 according to 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, steps S110 to S160.
Step S110, obtaining configuration requirement 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 requirement 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 a server according to 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 a service end according to the reply information, and marking all channel ports in each link aggregation group as same aggregation transmission control connection information;
Step S140, a first data packet received by a local user side of a client is obtained, and the first data packet is cached to an aggregation transmitting buffer area of a corresponding link aggregation group according to a preset configuration strategy;
Step S150, data of the aggregation transmission buffer area is transmitted to a corresponding server through a service control channel;
Step S160, the service end reads the first processing data sent by the first data packet through the aggregation receiving buffer area of the link aggregation group, and forwards the first processing data to the corresponding local user side of the client according to the sending order of the opposite end.
In step S110 of some embodiments, due to the difference between the service transmission bandwidth and the transmission real-time requirement of each service corresponding to the local user side of the client, configuration requirement information of the local user side of the client is first obtained, where the configuration requirement information includes service transmission bandwidth information, transmission real-time information, an IP address and a port number of the client, and the like, 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, where the client is communicatively connected to at least one local user side of the client.
It should be noted that, when configuring the local user side of the client, the link aggregation group may be configured by default to forward all the unconfigured service ports and the corresponding priorities.
It should be noted that the client provides a plurality of user interfaces to connect to at least one client local user side, and the accessed client local user side may be in one network segment or in a plurality of network segments. Meanwhile, the client provides a plurality of channel interfaces to establish a channel connection, wherein the client can connect a single channel or a plurality of channels, and the transmission delay and the transmission bandwidth of the connected channels can be greatly different, which is not limited herein.
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 switch interface of the client local user sides is connected with the user port of the client; when the client is connected with a plurality of client local user sides and the plurality of client local user sides are distributed on a plurality of network segments, gateway interfaces of the plurality of network segments are respectively connected to connect user ports of the client. 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 by the client is abnormal, that is, the channel connection is not enabled, the client can automatically aggregate the remaining available channels in the link aggregation group to continue to provide data interaction operation.
In step S120 of some embodiments, in order to implement link aggregation between the client and the server, the link aggregation control request information is sent to the server according to the configuration requirement information, and the 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 at the signaling control layer. Specifically, the client sends link aggregation control request information to the signaling control port of the server according to the configuration requirement information, namely, sends a standard TCP connection, wherein the source IP address of the TCP connection is the channel port address of the sent client, and the destination IP address of the TCP connection is the channel port address of the received server. It should be noted that, the client may also send TCP connections to all the servers at each channel port, so as to respectively establish a plurality of channel connections to detect the current on-off state of the channel.
It should be noted that, when the connection of the link aggregation control request information sent by the client to the server fails, that is, the client does not receive the reply information returned by the server, the client performs round robin sending through different channel ports with a preset sending period, so as to complete the TCP link establishment interaction between the client and the server at the signaling control layer.
In step S130 of some embodiments, when receiving the reply information sent by the server according to the link aggregation control request information, a service control channel between each link aggregation group and the server is established according to the reply information, so as to improve the efficiency of link aggregation, and all the channel ports in each link aggregation group are identified as the same aggregation transmission control connection information. Specifically, when receiving the reply information sent by the server according to the link aggregation control request information, the client sends an aggregate TCP connection to the server according to the reply information for each link aggregation group to establish a service control channel with the server. The source IP address in the aggregate TCP data packet corresponding to the aggregate TCP connection is the IP address of the sending channel port, all the channel ports in each link aggregation group are identified as the same aggregate transmission control connection information, namely, the IP addresses of all the channel ports of the client side, the IP addresses of the server side and the corresponding ports in the same link aggregation group are identified as the same aggregate transmission control connection information. For example, the channel port and the IP address of the client, the IP address of the server, and the corresponding ports thereof are formed into a quadruple, and the quadruple formed by the three channel ports IPa, IPb, and IPc corresponding to the client is respectively: (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) identify the same aggregated transmission control connection information, i.e. the same aggregated TCP connection, at both client and server.
It should be noted that, the client and the server may perform an interactive operation through the same aggregated TCP connection, and the destination IP address responded by the server may be any reachable channel port IP address 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 at the same time, when a plurality of aggregated TCP connections perform processing, perform protocol processing according to priorities corresponding to the aggregated TCP connections.
It should be noted that, when the server receives the link aggregation control request information sent by the client, it detects whether the current resources such as the remaining memory of the server meet the response to the link aggregation control request information, and when the resources such as the remaining memory meet the response to the link aggregation control request information, the server sends reply information to the client according to the link aggregation control request information.
In step S140 of some embodiments, the client obtains a first data packet received by a local user side of the client, and caches the first data packet in an aggregation transmitting buffer of a corresponding link aggregation group according to a preset configuration policy. Specifically, the client receives a first data packet of the local user side of the client from the user port, and caches the first data packet to an aggregate TCP transmit queue of an aggregate transmit buffer of a corresponding link aggregation group according to a preset configuration policy, that is, according to a configured link aggregation group, a channel port in the link aggregation group, and an aggregation group priority of the link aggregation group.
In step S150 of some embodiments, in order to improve the efficiency of link aggregation, the client sends the data of the aggregate sending buffer to the corresponding server through the service control channel. Specifically, the client and the server perform data transceiving, packet loss retransmission and out-of-order queuing processing on the same aggregated TCP connection through a plurality of channels, and the aggregated TCP connections can be subjected to protocol processing according to priority.
In step S160 of some embodiments, in order to ensure orderly reception of the data packets, so as to improve the link aggregation efficiency, 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 local client side according to the sending order of the opposite ends. Specifically, the client or the server reads the first processing data sent by the server according to the first data packet through the aggregated TCP connection from the aggregated receiving buffer of the link aggregation group, and forwards the first processing data to the users of the local user sides according to the sending order of the opposite ends.
Referring to fig. 2, fig. 2 is a flowchart illustrating a specific method of step S110 according to some embodiments of the present application. In some embodiments of the present application, the client includes at least one channel port, and step S110 includes, but is not limited to, steps S210 to S240, which are described in detail below in conjunction with fig. 2.
Step S210, establishing channel connection between the client and the local user side of the client through a channel port of the client;
step S220, 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 the data transmission between the local user side of the client and the client;
step S230, obtaining configuration requirement information of a local user side of a client;
Step S240, configuring the corresponding link aggregation group, the channel ports in the link aggregation group and the aggregation group priority of the link aggregation group according to the configuration requirement information.
In step S210 and step S220 of some embodiments, before link aggregation between the client and the server is performed, a channel connection between the client and the client local user side 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 client local user side 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, wherein the port parameter information comprises an IP address and an IP address of a connected gateway, and the port parameter information is used for controlling data transmission between a local user side of the client and the client. Meanwhile, under the condition that channel parameters are configured, the connected channel transmission bandwidth and transmission delay are configured at the client.
It should be noted that, when the channel connection is successful, the IP address of the port of the router connected to the server and the IP address of the router connected to the server are configured at the same time.
In step S230 and step S240 of some embodiments, in order to implement link aggregation of channels with larger delay differences, configuration requirement information of a local user side of a client is obtained, and a corresponding link aggregation group, channel ports 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 that in the above embodiment, and will not be described here again.
When a local user side of a client and an opposite user of the client communicate, the IP address range of the opposite user and the IP address of the service end corresponding to the opposite user are configured in the client according to the communication relationship, and the IP address of the service end may be configured by default to forward all the unconfigured opposite users.
Referring to fig. 3, fig. 3 is a flowchart illustrating a specific method of step S120 according to some embodiments of the present application. In some embodiments of the present application, step S120 specifically includes, but is not limited to, steps S310 to S340, and these four steps are described in detail below in conjunction with 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, the link aggregation control request information of each link aggregation group is sent to the server according to the transmission control communication connection;
Step S340, receiving the reply information sent by the server according to the link aggregation control request information, and recording and storing the port access information of the server corresponding to each link aggregation group according to the reply information.
In step S310 of some embodiments, in order to implement link aggregation between the client and the server, the client sends standard transmission control connection request information, i.e. a standard TCP connection, to a signaling control port of the server.
In step S320 and step 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, in the standard TCP connection, the client sends link aggregation control request information to the server for each link aggregation group, and the link aggregation control request information is accompanied by a transmission priority of the link aggregation group, an IP address of each channel port in the link aggregation group, an IP address range of the client access user, and the like.
In step S340 of some embodiments, the client receives the reply information sent by the server according to the link aggregation control request information, and records and stores the port access information of the server corresponding to each link aggregation group according to the reply information. Specifically, after receiving the link aggregation control request information of each link aggregation group sent by the client, the server starts a corresponding service port of the server to monitor, sets a service port processing priority, records the IP address of each channel port of the client in the link aggregation group and the IP address range of the client user, and sends reply information to the client according to the link aggregation control request information, wherein the reply information is attached with the service port of the server and the service access user IP address range. Therefore, after receiving the reply information, the client records and stores the port access information of the corresponding service end of each link aggregation group, wherein the port access information comprises the service port of the service end and the service end access user IP address range.
Referring to fig. 4, fig. 4 is a flowchart illustrating a specific method of step S140 according to some embodiments of the present application. In some embodiments of the present application, step S140 includes, but is not limited to, steps S410 to S450, and these five steps are described in detail below in conjunction with fig. 4.
Step S410, an Ethernet data packet received by a local user side of a client is obtained;
step S420, when the Ethernet data packet meets the preset data packet type, a first data packet is obtained;
Step S430, recording the corresponding relation of the network address 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;
in step S450, the second data packet is buffered in an aggregate transmit buffer of the aggregate transmission control connection.
In steps S410 to S450 of some embodiments, the client receives an ethernet packet of the local user side of the client from the user port, performs type judgment on the ethernet packet, and when the ethernet packet meets 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. The corresponding relation of the network address in the first data packet is recorded in a record table of the client, specifically, the corresponding relation of the IP address and the MAC address in the first data packet is recorded in the record table, namely, the corresponding relation of the IP address and the MAC address is refreshed. And then, removing the packet 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 IP header data and subsequent field data corresponding to the first data packet, and caching the obtained second data packet in an aggregation transmitting buffer area of aggregation transmission control connection. The embodiment of the application improves the efficiency of link aggregation by processing the data cached in the aggregation sending buffer area in advance.
It should be noted that, when the ethernet packet does not satisfy the preset packet type, for example, the preset 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 application. In some embodiments of the present application, step S150 includes, but is not limited to, step S510 and step S520, which are described in detail below in conjunction with fig. 5.
Step S510, data in the aggregation transmission buffer area is subjected to data packaging processing to obtain a third data packet;
step S520, the third data packet is sent to the corresponding service end through the service control channel.
In step S510 and step S520 of some embodiments, in order to ensure orderly reception of the data packet and improve the bandwidth utilization rate during link aggregation, when the client sends the data in the aggregate sending buffer to the corresponding server through the service control channel, the data in the aggregate sending buffer is subjected to data packaging processing, so as to obtain a third data packet. Specifically, the client performs data packaging processing on the data in the transmission buffer area of the link aggregation group, specifically, adds the data into the packet separator, the packet length and the verification to obtain a third data packet, and sends the third data packet to the server through the service control channel.
It should be noted that, when the data stream length of the third data packet sent by the client exceeds the maximum transmission unit MTU, the data of the third data packet is divided into a plurality of packets to be sent, and a data format and an interaction flow of a TCP protocol stack are adopted, and when it is determined that a certain channel port of the link aggregation group is adopted to send a data packet, an IP address corresponding to the channel port is filled into a source IP of the data packet, where both an IP address of the channel port in the link aggregation group and a corresponding port identify a unique aggregation TCP connection in the link aggregation group, and specifically, which channel port can be processed by using a packet-by-packet, a residual bandwidth calculation, and other modes are not repeated herein.
After receiving the data stream corresponding to the third data packet, the server side 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, that is, the query result is obtained, the data packet is cached in the receiving buffer area of the link aggregation group, that is, the data packet is inserted into the output queue of the user side, and ARP query is sent and acknowledgement response information is sent to the client side. After the corresponding relation between the IP address and the MAC address is obtained, the data packets of the output queue of the user side are sequentially added with the Ethernet frame header, and then the Ethernet packets are output through the user port.
It should be noted that, the client or the server receives the ethernet packet sent from the user to the user at the opposite end through the transparent mode or the gateway mode, and is used for outputting the IP address and the MAC address of the user, associating and recording the IP address and the MAC address to the IP-MAC table, and intercepting part of the data output in the ethernet packet for performing 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 current expected sequence number, the data in the receiving buffer area corresponding to the aggregate TCP connection is copied to the receiving buffer area of the user at the server. And when the packet separator, the packet length and the verification in the buffer memory are received by the service end user, acquiring a complete UDP message. And then, the server directly forwards the complete UDP message obtained after the processing is completed to a 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 manner of the data packet is the same as that of the data packet sent by the server, and will not be described herein.
It should be noted that, when the client side has multiple link aggregation groups at the same time, the client side processes the link aggregation groups in sequence 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, thereby ensuring orderly reception of the data packets so as to 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 to preferentially process the users or services with high priority, thereby improving the efficiency of link aggregation.
In some embodiments of the present application, after step S520, the link aggregation method provided by the embodiment of the present application further includes: and when the client side does not receive the confirmation response information of the third data packet according to the third data packet within the preset response time threshold, the third data packet is sent to the corresponding server side 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 link transmission delay, when the client side does not receive the acknowledgement response information of the third data packet according to the third data packet within the preset response time threshold, the unacknowledged third data packet is sent to the corresponding server side through the service control channel again, so that the bandwidth utilization rate during link aggregation is improved.
When the server sends a data stream to the client, the server specifically adopts which channel port in the link aggregation group is sent to fill the IP address of the port into the destination IP of the message, and the specifically adopted channel port can be processed in a packet-by-packet manner, a residual bandwidth calculation manner, and the like, which can refer to the link aggregation method from the client to the server, and will not be described herein.
Referring to fig. 6, fig. 6 is another alternative flowchart of a link aggregation method according to an embodiment of 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 in conjunction with 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 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, wherein the configuration requirement information, the link aggregation group, the channel port and the aggregation group priority are obtained according to the method of 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 marking all channel ports in each link aggregation group as same aggregation transmission control connection information;
Step S660, a fourth data packet received by a local user side of the server is obtained, and the fourth data packet is cached to an aggregation transmitting buffer zone of a 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;
Step S670, data of the aggregation transmission buffer area is transmitted to a corresponding client through a service control channel;
in step S680, the second processing data sent by the client according to the fourth data packet is read through the aggregation receiving buffer of the link aggregation group, and the second processing data is forwarded to the corresponding local user side of the server according to the sending order of the opposite end.
In steps S610 to S680 of some embodiments, the server receives the standard transmission control connection request information sent by the client, and sends 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. After the transmission control communication connection is created, the server receives the link aggregation control request information of each link aggregation group sent by the client according to the configuration requirement information, and obtains the link aggregation group corresponding to the link aggregation control request information, the channel port in the link aggregation group and the aggregation group priority of the link aggregation group, wherein the configuration requirement information, the link aggregation group, the channel port and the aggregation group priority are obtained according to the method of the above embodiment. And the server side establishes a service control channel with the client side through each link aggregation group and marks 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 created, the server acquires a fourth data packet received by the local user side of the server, and caches the fourth data packet into an aggregation transmission buffer zone 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 transmits the data of the aggregation transmitting buffer area to the corresponding client through the service control channel, reads the second processing data transmitted by the client 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 according to the transmitting order of the opposite terminal. The embodiment of the application provides a method for link aggregation based on a plurality of channels with larger transmission delay differences, which can ensure the ordered receiving of data packets and improve the bandwidth utilization rate during link aggregation.
It should be noted that, the server side provides multiple user interfaces to connect to local user sides of multiple server sides, i.e. a single or multiple users can be accessed, and the accessed users can be in one network segment or multiple network segments, and at the same time, the server side provides an aggregate interface to connect to a router or gateway.
It should be noted that, the server may provide the link aggregation service to a single or multiple clients at the same time.
It should be noted that, the user to which the client and the server are respectively connected may send and receive UDP messages in both directions, and may be delivered to the user of the opposite terminal according to the sending sequence after link aggregation, and may be retransmitted automatically when the packet is lost, so as to improve the efficiency of link aggregation.
Referring to fig. 7, the embodiment of the present application further provides a link aggregation apparatus, which is applied to a client and can implement the link aggregation method described above, and the apparatus includes a client configuration module 710, a request information sending module 720, a first channel establishment module 730, a first data packet acquisition module 740, a first data sending module 750, and a client data reading module 760.
The client configuration module 710 is configured to obtain configuration requirement information of a local client user side, 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 client user side;
the request information sending module 720 is 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 server according to the reply information, and identify all channel ports in each link aggregation group as the same aggregated transmission control connection information;
the first data packet obtaining module 740 is configured to obtain a first data packet received by the local user side of the client, and cache the first data packet to an aggregation sending buffer area of a corresponding link aggregation group according to a preset configuration policy;
The first data sending module 750 is configured to send 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, by using the aggregation receiving buffer of the link aggregation group, the first processing data sent by the server according to the first data packet, and forward the first processing data to the corresponding local client side according to the sending order of the peer.
It should be noted that, the link aggregation apparatus in the embodiment of the present application is configured to implement the above link aggregation method, and the link aggregation apparatus in the embodiment of the present application corresponds to the above link aggregation method, and specific processing procedures refer to the above link aggregation method and are not repeated herein.
In a specific embodiment, as shown in fig. 8, the client in the embodiment of the present application 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 in the above 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 configured to implement the link aggregation method of the foregoing embodiments, and the server user side access module 830 includes a server user side input sub-module 831 and a server user side output sub-module 832. The client connects to the wide area network through satellite access gateway 850 and the server connects to the wide area network through router 860, thereby implementing link aggregation between the client and the server. The client-side input sub-module 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-side output sub-module 812 includes a module for adding the acquired data packet to the client-side output queue 814 and forwarding it to the corresponding client-side local user side in the order of sending the opposite end. The server side input sub-module 831 also includes a function for recording the IP address and MAC address association of the output user into the server side IP-MAC table 833, and the server side output sub-module 832 also includes a function for adding the acquired data packet to the server side output queue 834 and forwarding the data packet to the corresponding server side local user side according to the opposite end sending order.
Referring to fig. 9, the 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 user data reading module 980.
A response information sending module 910, configured to receive standard transmission control connection request information sent by the client;
The transmission control connection module 920 is 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 methods described above;
A reply information sending module 940, configured to send reply information according to the link aggregation control request information to a client through a server;
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 aggregate 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 into an aggregation sending buffer area 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 aggregate sending buffer to a corresponding client through a service control channel;
The user side data reading module 980 is 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 sending order of the opposite end.
It should be noted that, the link aggregation apparatus in the embodiment of the present application is configured to implement the above link aggregation method, and the link aggregation apparatus in the embodiment of the present application corresponds to the above link aggregation method, and specific processing procedures refer to the above link aggregation method and are not repeated herein.
The embodiment of the application also provides electronic equipment, which comprises: at least one memory, at least one processor, 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 personal 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, the electronic device includes:
The processor 1010 may be implemented by a general-purpose central processing unit (Central Processing Unit, CPU), a microprocessor, an Application SPECIFIC INTEGRATED Circuit (ASIC), or one or more integrated circuits, for executing related programs, so as to implement the technical solution provided by the embodiments 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 (Random Access Memory, RAM). Memory 1020 may store an operating system and other application programs, and when the technical solutions provided by the embodiments of the present disclosure are implemented by software or firmware, relevant program codes are stored in memory 1020, and the processor 1010 invokes a link aggregation method for executing the embodiments of the present disclosure;
An input/output interface 1030 for implementing information input and output;
the communication interface 1040 is configured to implement communication interaction between the device and other devices, and may implement communication in a wired manner (such as USB, network cable, etc.), or may implement communication in a wireless manner (such as mobile network, WIFI, bluetooth, etc.);
A bus 1050 that transfers information between the various components of the device (e.g., processor 1010, memory 1020, input/output interface 1030, and communication interface 1040);
wherein processor 1010, memory 1020, input/output interface 1030, and communication interface 1040 implement communication connections therebetween within the device via a bus 1050.
The embodiment of the application also provides a storage medium, which is a computer readable storage medium, and the computer readable storage medium stores a computer program, and the computer program is used for making a computer execute the link aggregation method in any one of the above embodiments.
The memory, as a non-transitory computer readable storage medium, may be used to store non-transitory software programs as well as non-transitory computer executable programs. In addition, the memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, the memory optionally includes memory remotely located relative to the processor, the remote memory being connectable 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 describing the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application, and those skilled in the art can know that, with the evolution of technology and the appearance of new application scenarios, the technical solutions provided by the embodiments of the present application are equally applicable to similar technical problems.
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 include more or fewer steps than shown, or may combine certain steps, or different steps.
The above described apparatus embodiments 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 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 this embodiment.
Those 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 in the above figures, if any, are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the application described herein may be implemented in sequences other than those illustrated or otherwise 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 the present application, "at least one (item)" means one or more, and "a plurality" means two or more. "and/or" for describing the association relationship of the association object, the representation may have three relationships, for example, "a and/or B" may represent: only a, only B and both a and B are present, wherein a, B may be singular or plural. The character "/" generally indicates that the context-dependent object is an "or" relationship. "at least one of" or the like means any combination of these items, including any combination of single item(s) or plural items(s). 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 by the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the above-described division of units is merely a logical function division, and there may be another division manner in actual implementation, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described above as separate components may or may not be physically separate, and components shown as units may or may not be physical units, may be located in one place, or may be distributed over a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be embodied in essence or a part contributing to the prior art or all or part of the technical solution in the form of a software product stored in a storage medium, including multiple instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method of the various embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read Only Memory (ROM), a random access memory (Random Access Memory RAM), a magnetic disk, or an optical disk, or other various media capable of storing a program.
The foregoing description of the preferred embodiments of the present application has been presented with reference to the drawings and is not intended to limit the scope of the claims. Any modifications, equivalent substitutions and improvements made by those skilled in the art without departing from the scope and spirit of the embodiments of the present application shall fall within the scope of the claims of the embodiments of the present application.
Claims (6)
1. A link aggregation method applied to a client, the method comprising:
acquiring configuration requirement 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 requirement information, wherein the client is in communication connection with at least one local user side of the client;
Transmitting link aggregation control request information to a server according to the configuration requirement information, and receiving reply information transmitted by the server according to the link aggregation control request information; the sending the link aggregation control request information to the server according to the configuration requirement information, and receiving the reply information sent by the server according to the link aggregation control request information, including: 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; transmitting link aggregation control request information of each link aggregation group to the server according to the transmission control communication connection; receiving reply information sent by the server according to the link aggregation control request information, and recording and storing port access information of the server corresponding to each link aggregation group according to the reply information; the port access information comprises a service port of the service end and an IP address range of a user accessed by the service end;
Establishing a service control channel of each link aggregation group and the server according to the reply information, and marking all channel ports in each link aggregation group as same aggregation transmission control connection information;
Acquiring an Ethernet data packet received by a local user of the client; when the Ethernet data packet meets the preset data packet type, a first data packet is obtained; recording the network address corresponding relation in the first data packet into a record table of the client 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; removing the packet header of the first data packet to obtain a second data packet; caching the second data packet in an aggregation sending buffer area of the aggregation transmission control connection;
transmitting the data of the aggregation transmission buffer area to the corresponding server through the service control channel; the sending the data of the aggregate sending buffer to the corresponding server through the service control channel includes: carrying out data packaging treatment on the data in the aggregation transmitting buffer area to obtain a third data packet; transmitting the third data packet to the corresponding server through the service control channel; when the client side does not receive the confirmation response information of the server side according to the third data packet within a preset response time threshold, the third data packet is sent to the corresponding server side through the service control channel again;
And reading the first processing data sent by the server according to the first data packet through the aggregation receiving buffer zone of the link aggregation group, and forwarding the first processing data to the corresponding local user side of the client according to the sending order of the opposite terminal.
2. The method according to claim 1, wherein the client includes at least one channel port, 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 requirement information of a local user of the client;
and configuring a corresponding link aggregation group, channel ports in the link aggregation group and aggregation group priority of the link aggregation group according to the configuration requirement information.
3. A link aggregation method applied to a server, the method comprising:
receiving standard transmission control connection request information sent by a client;
Transmitting 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 acquiring 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 requirement information, the link aggregation group, the channel port and the aggregation group priority are obtained according to the method of claim 1 or 2;
Sending reply information according to the link aggregation control request information to the client through the server; the sending, by the server, reply information according to the link aggregation control request information to the client includes: transmitting response information of the transmission control connection request information according to the standard to the client through the server so as to establish transmission control communication connection between the client and the server according to the response information; receiving link aggregation control request information of each link aggregation group sent by the client according to the transmission control communication connection; the server side sends reply information according to the link aggregation control request information to the client side, so that the client side records and stores port access information of the server side corresponding to each link aggregation group according to the reply information; the port access information comprises a service port of the service end and an IP address range of a user accessed by the service end;
Establishing a service control channel with the client through each link aggregation group, and identifying all channel ports in each link aggregation group as same aggregation transmission control connection information;
a fourth data packet received by a local user side of a server is obtained, and the fourth data packet is cached to an aggregation transmitting buffer zone 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;
transmitting the data of the aggregation transmission 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 zone of the link aggregation group, and forwarding the second processing data to the corresponding local user side of the server according to the sending order of the opposite terminal.
4. A link aggregation apparatus for use with a client, the apparatus comprising:
The client configuration module is used for acquiring configuration requirement information of a local client 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 requirement information, wherein the client side is in communication connection with at least one local client side;
The request information sending module is used for 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; the sending the link aggregation control request information to the server according to the configuration requirement information, and receiving the reply information sent by the server according to the link aggregation control request information, including: 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; transmitting link aggregation control request information of each link aggregation group to the server according to the transmission control communication connection; receiving reply information sent by the server according to the link aggregation control request information, and recording and storing port access information of the server corresponding to each link aggregation group according to the reply information; the port access information comprises a service port of the service end and an IP address range of a user accessed by the service end;
The first channel establishing module is used for establishing a service control channel of each link aggregation group and the service end according to the reply information, and identifying all the channel ports in each link aggregation group as same aggregation transmission control connection information;
The first data packet acquisition module is used for 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, a first data packet is obtained; recording the network address corresponding relation in the first data packet into a record table of the client 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; removing the packet header of the first data packet to obtain a second data packet; caching the second data packet in an aggregation sending buffer area of the aggregation transmission control connection;
The first data sending module is used for sending the data of the aggregation sending buffer area to the corresponding server through the service control channel; the sending the data of the aggregate sending buffer to the corresponding server through the service control channel includes: carrying out data packaging treatment on the data in the aggregation transmitting buffer area to obtain a third data packet; transmitting the third data packet to the corresponding server through the service control channel; when the client side does not receive the confirmation response information of the server side according to the third data packet within a preset response time threshold, the third data packet is sent to the corresponding server side through the service control channel again;
And the client data reading module is used for reading the first processing data sent by the server according to the first data packet through the aggregation receiving buffer zone of the link aggregation group, and forwarding the first processing data to the corresponding local client side according to the sending order of the opposite terminal.
5. 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 claim 1 or 2; or (b)
A method as claimed in claim 3.
6. A storage medium that is a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program for causing a computer to execute:
The method of claim 1 or 2; or (b)
A method as claimed in claim 3.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210639694.8A CN115002023B (en) | 2022-06-08 | 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 | 2022-06-08 | Link aggregation method, link aggregation device, electronic equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115002023A CN115002023A (en) | 2022-09-02 |
CN115002023B true CN115002023B (en) | 2024-04-19 |
Family
ID=83032461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210639694.8A Active CN115002023B (en) | 2022-06-08 | 2022-06-08 | Link aggregation method, link aggregation device, electronic equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115002023B (en) |
Families Citing this family (2)
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 |
CN116962488B (en) * | 2023-09-18 | 2023-12-19 | 腾讯科技(深圳)有限公司 | Method, device, electronic equipment and readable medium for establishing cloud service connection |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
-
2022
- 2022-06-08 CN CN202210639694.8A patent/CN115002023B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 (1)
Title |
---|
面向流媒体传输的链路聚合技术的研究与实现;李泽杰;硕士电子期刊;第18、30、33、51、55-57页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115002023A (en) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210135990A1 (en) | Systems, Apparatuses and Methods for Network Packet Management | |
US9923987B2 (en) | Optimization of enhanced network links | |
JP4829896B2 (en) | Method, system and article for improved network performance by avoiding data corruption | |
CN115002023B (en) | Link aggregation method, link aggregation device, electronic equipment and storage medium | |
CN110875799B (en) | Transmission control method and device | |
EP1892887A1 (en) | Communication method between communication devices and communication apparatus | |
WO2009091485A1 (en) | Content compression in networks | |
AU2007320794B2 (en) | Selective session interception method | |
US10063444B2 (en) | Network traffic capture analysis | |
Liu et al. | Cross-layer design for UAV-based streaming media transmission | |
EP3539235B1 (en) | Systems, apparatuses and methods for cooperating routers | |
Shamieh et al. | Dynamic cross-layer signaling exchange for real-time and on-demand multimedia streams | |
WO2019196853A1 (en) | Tcp acceleration method and apparatus | |
WO2020154872A1 (en) | Transmission control protocol acceleration method and apparatus | |
CN107196819B (en) | Network connection method and system and computer readable storage medium | |
JP5699985B2 (en) | TCP communication acceleration device | |
JP2005011267A (en) | Real-time data communication system, real-time data communication device and method for real-time communication | |
CN116545919A (en) | UDP (user datagram protocol) message ordered transmission system and method based on multiple transmission paths | |
Garcia-Luna-Aceves et al. | A Connection-Free Reliable Transport Protocol | |
CN116016396A (en) | Processing method, processing device, processing equipment and medium for resending message |
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 | ||
GR01 | Patent grant |