VPP-based load balancing method, system and device supporting QUIC multipath transmission, and medium

By implementing load balancing and finding table generation in VPP, the VPP does not support the problem of QUIC protocol recognition and load balancing processing. And reliability.

CN119383128APending Publication Date: 2025-01-28SHANDONG FUTURE NETWORK RES INST (PURPLE MOUNTAIN LAB IND INTERNET INNOVATION APPL BASE)
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411511952.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-28
Publication Date
2025-01-28

AI Technical Summary

Technical Problem

In the prior art, VPP does not support the identification and load balancing processing of QUIC protocol, and the traditional five-tuple hash algorithm cannot effectively realize load balancing of QUIC multipath transmission.

Method used

By adding a load balancing configuration to the VPP, the load balancing search table is generated, and the receipted Quic traffic is reposted. The back -end service index is determined according to the destination IP and the connection logo ID, and the load balancing and multi -path transmission are achieved.

Benefits of technology

The high -performance load balancing of the QUIC multi -path transmission is achieved, the throughput of data transmission is improved, and the data is continued through other paths when the single path fails to ensure the reliability and stability of the data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119383128A_ABST
    Figure CN119383128A_ABST
Patent Text Reader

Abstract

The invention provides a VPP-based load balancing method, system and device supporting QUIC multipath transmission, and a medium, and belongs to the technical field of data communication. The method comprises the following steps of: adding load balancing configuration, namely adding an accessed virtual IP (Internet Protocol) and a destination port number, registering a data path object for the virtual IP, and setting a QUIC (Query Unified Integrated Circuit) back-end service list corresponding to the virtual IP; generating a load balancing lookup table, and uniformly distributing QUIC back-end service index information into the lookup table; and performing table lookup forwarding on the received QUIC flow, determining a back-end service index through a lookup table according to a destination IP (Internet Protocol) and a connection identification number ID of the flow, and completing data transmission according to the back-end service index so as to realize load balancing and multi-path transmission. According to the method, the transmission capability of a plurality of network paths can be fully utilized, parallel transmission of data is realized, the data transmission quantity on each path is dynamically adjusted, and the data is ensured to be transmitted on the optimal path, so that the overall transmission delay is further reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a load balancing method, system, device and medium supporting QUIC multipath transmission based on VPP, belonging to the field of data communication technology. Background Art

[0002] VPP is an extensible framework and a subproject of the open source project FD.io under the Linux Foundation, which provides out-of-the-box switch / router functions. To improve performance, the VPP data plane consists of a directed graph of forwarding nodes that process multiple packets on each call. This mode supports various microprocessor optimizations such as pipelining and prefetching functions to reduce the read latency of dependent data and improve processing efficiency by leveraging vector instructions. VPP also supports sending and receiving packets through the DPDK interface to achieve excellent packet processing performance, providing higher throughput and lower latency.

[0003] QUIC is a new multiplexed and secure transport protocol based on UDP. It provides multiplexing and flow control equivalent to HTTP / 2, security mechanisms equivalent to TLS, and connection semantics, reliability, and congestion control equivalent to TCP. In order to improve the performance of QUIC transmission, the industry has proposed multipath QUIC technology, the core of which is to ensure the reliability and stable rate of network communication through multiple (physical) links. The combination of QUIC and multipath technology forms multipath QUIC.

[0004] In the current cloud computing network architecture, Linux-based software solutions such as Nginx / HAPROXY are usually used to implement the load balancing function of application layer (the seventh layer in the OSI network model) traffic. However, with the continuous development of network technology, these traditional load balancing solutions can no longer meet the requirements of high performance and low cost in some scenarios. Especially in virtualized telecommunications equipment, VPP, as an efficient routing and forwarding software, is being used more and more widely, and its forwarding performance is much higher than that of the kernel network protocol stack.

[0005] Unfortunately, VPP currently does not have the QUIC protocol identification and load balancing capabilities. Therefore, when implementing QUIC multi-path transmission, a VPP-based QUIC load balancing solution is needed to ensure high performance and low cost. In addition, since QUIC messages support multi-path transmission, that is, the same message can be transmitted through different paths, the QUIC load balancing gateway needs to forward packets of the same message on different paths to the same QUIC service backend. However, since the source IP and source port of different paths may be inconsistent, the traditional five-tuple hash algorithm cannot effectively implement this function, so it is necessary to design a new hash algorithm to distribute QUIC messages of different paths to the same backend.

[0006] To sum up, there are problems in the existing technology, such as VPP does not support QUIC protocol identification and load balancing processing, and the traditional quintuple hash algorithm cannot be applied to load balancing of QUIC multi-path transmission. A new solution is urgently needed. Summary of the invention

[0007] The purpose of the present invention is to provide a load balancing method, system, device and medium based on VPP that supports QUIC multi-path transmission, which can greatly improve the throughput of data transmission and continue to transmit data through other paths when a single path fails, thereby effectively ensuring the reliability and stability of data transmission.

[0008] In order to achieve the above object, the present invention is implemented through the following technical solutions: A load balancing method supporting QUIC multipath transmission based on VPP, comprising: Add load balancing configuration, including: adding the virtual IP and destination port number to be accessed, registering the data path object for the virtual IP, and setting the QUIC backend service list corresponding to the virtual IP; Generate a load balancing lookup table and evenly distribute the QUIC backend service index information into the lookup table; The received QUIC traffic is forwarded by table lookup. According to the destination IP and connection identification number ID of the traffic, the backend service index is determined by looking up the table, and data is sent accordingly to achieve load balancing and multi-path transmission.

[0009] Preferably, each service in the QUIC backend service list includes: an IP address and port number, a source address and source port number used for load balancing forwarding, and a data path object index corresponding to each backend IP queried according to the routing table.

[0010] Preferably, the specific method of generating the load balancing lookup table is as follows: Create an empty table of size M to be filled; Create a random permutation table between 0 and [M-1] for each QUIC backend service; Take values ​​from each backend random permutation table in turn as the coordinates of the empty table to be filled, and fill the backend into the empty table; if a conflict occurs, skip the coordinate and take the next value from the random permutation table of the backend until the entire lookup table is filled.

[0011] Preferably, the received QUIC traffic is forwarded by table lookup, and the backend service index is determined by table lookup according to the destination IP and connection identification number ID of the traffic, and data transmission is completed accordingly. The specific method is as follows: Find the registered data path object according to the destination IP, and jump to the node associated with the data path object; Determine whether the data packet is a QUIC data packet. If so, extract the connection identification number ID and perform hash calculation on the ID; Modulo the hash calculation result according to the length of the lookup table to obtain the lookup table coordinates and retrieve the backend service index information; Modify the source IP, source port number, destination IP, and destination port number information of the data packet according to the configuration obtained from the index information; According to the corresponding data path object index information saved by the backend, jump to the node associated with the data path object to modify the layer 2 address and send data.

[0012] Preferably, the hash calculation result is modulo the lookup table length to obtain the lookup table coordinates, as follows: The integer data generated by hash calculation and the lookup table length The coordinate value obtained by bitwise AND operation ; Specifically expressed as: .

[0013] A load balancing system supporting QUIC multipath transmission based on VPP, comprising: The configuration module is used to add load balancing configuration, including registering data path objects for virtual IPs and setting the corresponding QUIC backend service list for the virtual IP. Each backend service includes the IP address, port number, source address and source port number used for load balancing forwarding; A lookup table generation module is used to generate a load balancing lookup table according to a preset algorithm and evenly distribute the QUIC backend service index information into the lookup table; The traffic processing module is used to perform table lookup and forwarding processing on the received QUIC traffic, search for the corresponding data path object according to the destination IP address of the traffic, further determine the backend service index through the lookup table according to the connection identification number ID in the data packet, and modify the source IP address, source port number, destination IP address, destination port number and other information of the data packet according to the index information to achieve load balancing and multi-path transmission.

[0014] A VPP-based load balancing device supporting QUIC multipath transmission includes a processor and a memory storing program instructions, wherein the processor is configured to execute the VPP-based load balancing method supporting QUIC multipath transmission when running the program instructions.

[0015] A computer-readable storage medium having a computer program stored thereon, wherein the program is executed by a processor to implement the VPP-based load balancing method supporting QUIC multipath transmission.

[0016] The advantages of the present invention are: the present invention fully utilizes the transmission capacity of multiple network paths to realize parallel data transmission. The throughput of data transmission is greatly improved, and when a single path fails, data can continue to be transmitted through other paths, thereby effectively ensuring the reliability and stability of data transmission. In addition, the data transmission volume on each path is dynamically adjusted to avoid data transmission delays caused by overload of certain paths, and to ensure that data is transmitted on the optimal path, thereby further reducing the overall transmission delay. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The accompanying drawings are used to provide further understanding of the present invention and constitute a part of the specification. They are used to explain the present invention together with the embodiments of the present invention and do not constitute a limitation of the present invention.

[0018] Figure 1 It is a schematic diagram of the process of the present invention. DETAILED DESCRIPTION

[0019] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0020] Example 1 like Figure 1 As shown, a load balancing method supporting QUIC multipath transmission based on VPP includes: S1: Add load balancing configuration, including: adding the virtual IP and destination port number to be accessed, registering the data path object (DPO) for the virtual IP, and setting the QUIC backend service list corresponding to the virtual IP.

[0021] S2: Generate a load balancing lookup table and evenly distribute the QUIC backend service index information into the lookup table.

[0022] S3: Forward the received QUIC traffic by looking up the table. According to the destination IP and connection identification number ID of the traffic, determine the backend service index by looking up the table, and complete data transmission accordingly to achieve load balancing and multi-path transmission.

[0023] As a refinement of the above embodiment, each service in the QUIC backend service list includes: an IP address and port number, a source address and source port number used for load balancing forwarding, and a data path object index corresponding to each backend IP queried according to the routing table.

[0024] As a refinement of the above embodiment, a slot lookup table is established for each VIP (virtual IP), and the slot stores the QUIC backend service index information. It is necessary to use a certain algorithm to ensure the uniformity of the distribution of the index value of the lookup table and reduce the change of the query value caused by the increase or decrease of the backend service. The specific method of generating the load balancing lookup table is as follows: S201: Create an empty table of size M to be filled.

[0025] S202: Create a random permutation table between 0 and [M-1] for each QUIC backend service.

[0026] S203: Take values ​​from each backend random permutation table in turn as the coordinates of the empty table to be filled, and fill the backend into the empty table; if a conflict occurs (the coordinate is occupied by other backends), skip the coordinate and take the next value from the random permutation table of the backend until the entire lookup table is filled.

[0027] As a refinement of the above embodiment, the received QUIC traffic is forwarded by looking up a table, and the backend service index is determined by looking up the table according to the destination IP and connection identification number ID of the traffic, and data transmission is completed accordingly. The specific method is as follows: S301: Find the registered data path object according to the destination IP, and jump to the node associated with the data path object.

[0028] S302: Determine whether the data packet is a QUIC data packet. If so, extract the connection identification number ID and perform hash calculation on the ID.

[0029] S303: Taking the hash calculation result modulo the length of the lookup table to obtain the lookup table coordinates, and extracting the backend service index information. Taking the hash calculation result modulo the length of the lookup table to obtain the lookup table coordinates, as follows: The integer data generated by hash calculation and the lookup table length The coordinate value obtained by bitwise AND operation ; Specifically expressed as: .

[0030] S304: Modify the source IP, source port number, destination IP, and destination port number information of the data packet according to the configuration obtained from the index information.

[0031] S305: Jump to the node associated with the data path object according to the corresponding data path object index information stored in the back end, modify the layer 2 address and send data.

[0032] It should be noted that this embodiment can fully utilize the transmission capacity of multiple network paths to achieve parallel data transmission. This can not only significantly improve the data transmission throughput, but also continue to transmit data through other paths when a single path fails, thereby effectively ensuring the reliability and stability of data transmission.

[0033] The present invention can dynamically adjust the data transmission volume on each path according to multiple factors such as network conditions, server load, and client requirements. This intelligent resource allocation method can not only avoid data transmission delays caused by overload on certain paths, but also ensure that data is transmitted on the optimal path, thereby further reducing overall transmission delays.

[0034] Example 2 A load balancing system supporting QUIC multipath transmission based on VPP, comprising: The configuration module is used to add load balancing configuration, including registering data path objects for the virtual IP and setting the corresponding QUIC backend service list for the virtual IP. Each backend service contains the IP address, port number, source address and source port number used for load balancing forwarding.

[0035] The lookup table generation module is used to generate a load balancing lookup table according to a preset algorithm and evenly distribute the QUIC backend service index information into the lookup table.

[0036] The traffic processing module is used to perform table lookup and forwarding processing on the received QUIC traffic, search for the corresponding data path object according to the destination IP address of the traffic, further determine the backend service index through the lookup table according to the connection identification number ID in the data packet, and modify the source IP address, source port number, destination IP address, destination port number and other information of the data packet according to the index information to achieve load balancing and multi-path transmission.

[0037] The embodiment of the present disclosure also provides a load balancing device supporting QUIC multipath transmission based on VPP, including a processor and a memory. Optionally, the device may also include a communication interface and a bus. Among them, the processor, the communication interface, and the memory can communicate with each other through the bus. The communication interface can be used for information transmission. The processor can call the logic instructions in the memory to execute the load balancing method supporting QUIC multipath transmission based on VPP of the above embodiment.

[0038] In addition, the logic instructions in the above-mentioned memory can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product.

[0039] As a computer-readable storage medium, the memory can be used to store software programs and computer executable programs, such as program instructions / modules corresponding to the method in the embodiment of the present disclosure. The processor executes functional applications and data processing by running the program instructions / modules stored in the memory, that is, implementing the load balancing method supporting QUIC multipath transmission based on VPP in the above embodiment.

[0040] The memory may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application required for at least one function; the data storage area may store data created according to the use of the terminal device, etc. In addition, the memory may include a high-speed random access memory and may also include a non-volatile memory.

[0041] An embodiment of the present disclosure provides a computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions are configured to execute the above-mentioned VPP-based load balancing method supporting QUIC multipath transmission.

[0042] The computer-readable storage medium mentioned above may be a transient computer-readable storage medium or a non-transitory computer-readable storage medium.

[0043] The technical solution of the embodiment of the present disclosure can be embodied in the form of a software product, which is stored in a storage medium and includes one or more instructions for enabling 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 described in the embodiment of the present disclosure. The aforementioned storage medium may be a non-transient storage medium, including: a USB flash drive, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a disk or an optical disk, and other media that can store program codes, or a transient storage medium.

[0044] Finally, it should be noted that the above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art can still modify the technical solutions described in the aforementioned embodiments or replace some of the technical features therein by equivalents. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A load balancing method supporting QUIC multipath transmission based on VPP, characterized in that: include: Add load balancing configuration, including: adding the virtual IP and destination port number to be accessed, registering the data path object for the virtual IP, and setting the QUIC backend service list corresponding to the virtual IP; Generate a load balancing lookup table and evenly distribute the QUIC backend service index information into the lookup table; The received QUIC traffic is forwarded by table lookup. According to the destination IP and connection identification number ID of the traffic, the backend service index is determined by looking up the table, and data is sent accordingly to achieve load balancing and multi-path transmission.

2. According to claim 1, the load balancing method supporting QUIC multipath transmission based on VPP is characterized in that: Each service in the QUIC backend service list includes: an IP address and port number, a source address and source port number used for load balancing forwarding, and a data path object index corresponding to each backend IP queried according to the routing table.

3. The load balancing method supporting QUIC multipath transmission based on VPP according to claim 1, characterized in that: The specific method of generating a load balancing lookup table is as follows: Create an empty table of size M to be filled; Create a random permutation table between 0 and [M-1] for each QUIC backend service; Take values ​​from each backend random permutation table in turn as the coordinates of the empty table to be filled, and fill the backend into the empty table; if a conflict occurs, skip the coordinate and take the next value from the random permutation table of the backend until the entire lookup table is filled.

4. The load balancing method supporting QUIC multipath transmission based on VPP according to claim 1, characterized in that: The received QUIC traffic is forwarded by table lookup. According to the destination IP and connection ID of the traffic, the backend service index is determined by table lookup, and data is sent accordingly. The specific method is as follows: Find the registered data path object according to the destination IP, and jump to the node associated with the data path object; Determine whether the data packet is a QUIC data packet. If so, extract the connection identification number ID and perform hash calculation on the ID; The hash calculation result is modulo the lookup table length to obtain the lookup table coordinates, and the backend service index information is retrieved through the lookup table; Modify the source IP, source port number, destination IP, and destination port number information of the data packet according to the configuration obtained from the index information; According to the corresponding data path object index information saved by the backend, jump to the node associated with the data path object to modify the layer 2 address and send data.

5. The load balancing method supporting QUIC multipath transmission based on VPP according to claim 4, characterized in that: The hash calculation result is modulo the lookup table length to get the lookup table coordinates, as follows: The integer data generated by hash calculation and the lookup table length The coordinate value obtained by bitwise AND operation ; Specifically expressed as: .

6. A load balancing system based on VPP supporting QUIC multipath transmission using any of the methods described in claims 1-5, characterized in that: include: The configuration module is used to add load balancing configuration, including registering data path objects for virtual IPs and setting the corresponding QUIC backend service list for the virtual IP. Each backend service includes the IP address, port number, source address and source port number used for load balancing forwarding; A lookup table generation module is used to generate a load balancing lookup table according to a preset algorithm and evenly distribute the QUIC backend service index information into the lookup table; The traffic processing module is used to perform table lookup and forwarding processing on the received QUIC traffic, search for the corresponding data path object according to the destination IP address of the traffic, further determine the backend service index through the lookup table according to the connection identification number ID in the data packet, and modify the source IP address, source port number, destination IP address, destination port number and other information of the data packet according to the index information to achieve load balancing and multi-path transmission.

7. A load balancing device supporting QUIC multipath transmission based on VPP, comprising a processor and a memory storing program instructions, characterized in that: The processor is configured to execute the VPP-based load balancing method supporting QUIC multipath transmission as described in any one of claims 1-5 when running the program instructions.

8. A computer-readable storage medium, characterized in that: A computer program is stored thereon, and when the program is executed by a processor, the method described in any one of claims 1 to 5 is implemented.

Citation Information

Cited By

  • Data acquisition method and device for edge gateway of Internet of Things, and medium

    CN120034559A