5G data distribution method realized by using domestic FPGA (Field Programmable Gate Array) chip

By using domestic FPGA chips and improved RSS shunt algorithms in 5G data centers, the problems of incomplete sessions and computing resource consumption in 5G data load balancing are solved, and efficient and adaptive data shunt and load balancing are achieved.

CN119690681AInactive Publication Date: 2025-03-25NANJING FIBERHOME STARRYSKY CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202510193740.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-21
Publication Date
2025-03-25
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The existing 5G data load balancing method can easily lead to incomplete sessions when the terminal moves, and it relies on the server CPU for packet analysis and hash calculations, consuming computing resources.

Method used

The 5G data shunt method is used to implement the domestic FPGA chip, and adaptive load balancing and inner layer IP shunt are realized through improved RSS shunt algorithm and domestic hardware verification.

Benefits of technology

It ensures the session integrity of 5G data, reduces the consumption of server resources, improves data shunt efficiency, and realizes adaptive load balancing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119690681A_ABST
    Figure CN119690681A_ABST
Patent Text Reader

Abstract

The invention discloses a 5G data distribution method realized by using a domestic FPGA chip, which belongs to the technical field of 5G data distribution, and comprises three parts of realizing data distribution according to 5G data characteristics, improving an RSS distribution algorithm to realize adaptive load balancing and performing domestic hardware verification on the distribution algorithm. The 5G data acquisition system needs to use a data distribution method, data are hashed to a plurality of servers or a plurality of CPU logic cores, and the purpose of load balancing or lock-free programming is achieved; in order to reduce CPU participation, unload repeated and performance-consuming modules to hardware such as an intelligent network card, give full play to hardware performance and improve shunting efficiency, the method can be used in equipment such as data exchange equipment and the intelligent network card, and a shunting assembly is provided for collection, analysis, association and the like of 5G data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of data communication in data centers, and in particular to a 5G data offloading method implemented using a domestically produced FPGA chip. Background Art

[0002] With the rapid popularization of 5G networks, network security services based on 5G data are also developing rapidly. How to efficiently load balance 5G data and support data collection and analysis has become a research focus for security vendors. Currently, there are two main approaches to load balancing 5G data: 1. Load balancing is performed directly according to the outer IP of 5G data. Since the outer IP is the IP address of the base station and UPF, when the terminal moves, the base station may switch, causing the outer base station IP to change.

[0003] 2. The engineering approach is that the server program first parses the 5G message, parses the GTP inner source IP and destination IP, then uses the hash algorithm to calculate the hash value of the GTP inner source IP and destination IP, and finally performs load balancing based on the calculated hash value.

[0004] General switching chips or network card chips all use outer IP for load balancing and port selection. In business scenarios such as 4G / 5G where user data carries GTP tunnels, the disadvantage of outer IP load balancing is that when the terminal moves and the base station switches, the data of a session may be loaded to different ports or logical cores, resulting in an incomplete session, which affects the subsequent data parsing and analysis.

[0005] If the work of message identification, parsing and HASH calculation is offloaded to the server CPU, it will consume the performance of the computing server and affect business processing. Summary of the invention

[0006] The technical problem to be solved by the present invention is to provide a 5G data diversion method implemented by using a domestically produced FPGA chip in response to the shortcomings of the background technology, which is used in data exchange equipment, smart network cards and other equipment to provide diversion components for the collection, analysis, and association of 5G data.

[0007] The present invention adopts the following technical solutions to solve the above technical problems: A 5G data offloading method implemented using a domestically produced FPGA chip specifically comprises the following steps; Step 1: Implement data diversion based on 5G data characteristics; Step 2: Improve the RSS traffic distribution algorithm to achieve adaptive load balancing; Step 3: Domestic hardware verification of the diversion algorithm.

[0008] As a further preferred solution of the 5G data diversion method implemented by the domestic FPGA chip of the present invention, in step 1, the 5G user plane data is diverted to the same source and destination according to the session quintuple, or diverted according to the 5G user IP; since the outer layer of the 5G user plane message has a GTP tunnel header, the user IP and the accessed server IP are hidden inside the GTP tunnel, the tunnel information of the specified layer is pre-parsed, and the queue diversion is implemented in combination with the diversion algorithm; diversion is performed according to the user IP, and in the actual 5G DPI system, the 5G user data and signaling synthesis results can be load-balanced to the same CPU core according to the user IP to achieve associated lock-free; diversion according to the 5G user IP specifically includes the following steps: Step 1.1, pre-parse the packet header: According to the characteristics of 5G data, pre-parse the outer tunnel header information, including the network element IP address and PDU session type PDU_type field; pre-parse the innermost IP header and TCP / UDP header, including the user IP address, server IP address, protocol type, and port information; Step 1.2: User IP identification of 5G messages: The user IP of 5G is hidden inside the GTP tunnel of the 5G message. It needs to be combined with the message direction. If the current message is an uplink message, the source IP in the inner layer of GTP is the user IP. If it is a downlink message, the sink IP in the inner layer of GTP is the user IP. The message direction is determined based on the PDU_type field in the 5G GTP extension header. PDU_type is 1, indicating that the message is an uplink message, and PDU_type is 0, indicating that the message is a downlink message. Step 1.3: RSS flow rule setting based on 5G messages: Select pdu_t in the GTP Extent Header to determine the session direction first. When pdu_t is 1, use the source IP in the GTP layer to calculate the Hash and perform RSS diversion; when pdu_t is 0, use the destination IP in the GTP layer to calculate the Hash and perform RSS diversion, and set these two types of RSS rules to the device in the system program; when the message arrives, it is first processed by the RSS flow rule, matches the appropriate flow rule, calculates the Hash value according to the user IP, and queries the hash table according to the Hash value for RSS diversion, and finally a user's traffic can be diverted to a specific queue.

[0009] As a further preferred solution of the 5G data shunting method implemented by the domestic FPGA chip of the present invention, in step 2, RSS refers to the ability of the device to provide load balancing for the received message, firstly calculates the hash based on the message header information using the Toeplitz hash algorithm, and decides which receiving queue to put the message into according to the hash; the RSS shunting algorithm acts on any information in the message header, and more commonly, the message calculates the hash for the five-tuple information {source IP, destination IP, source port, destination port, protocol type}; the improved RSS shunting algorithm specifically includes the following steps; Step 2.1: When the device receives a data packet, it obtains Hash1 and Hash2 through the Compute_RSS_DOUBLEHASH function and searches in hash tables 1 and 2. If the mapping relationship exists, the data is stored in the corresponding queue according to the mapping relationship; Step 2.2: If the first step does not find a mapping relationship in both hash table 1 and hash table 2, it means that the data packet belongs to a new link / new user. Subsequent operations need to be classified and processed according to the load balancing situation: If the load balancing degree of the current queue is good, the data packet is stored in hash table 1 according to the mapping relationship between Hash1 and the queue, and the data packet is transferred to the corresponding queue according to the mapping relationship in hash table 1; If the current queue is unbalanced, and the packet data that was originally supposed to be put into the overloaded queue according to Hash1 is calculated, it needs to be recalculated according to Hash2 and loaded into other queues, thereby rebalancing the queues. Step 2.3: Repeat the above steps; In the above load balancing algorithm, it is necessary to evaluate whether the load of the queue is unbalanced and whether the specified queue is overloaded. The specific calculation method is as follows: a) First, we need to determine the load of each queue. In the actual implementation process, we count the number of packets per second for each queue, assuming N pps. At the same time, we evaluate the load weight w% based on the packet processing performance of the queue. The default weight is 100%, which means that all backend processing performance is the same. Then the load of the queue is: ; b) Evaluate whether the device has load imbalance; Assume that the loads of k queues are ,,Calculate the average load , calculate the maximum and minimum load , ;if or , then the load is considered unbalanced, where T is the unbalance coefficient; c) Determine whether a queue is overloaded: Determine whether a queue is overloaded based on the queue backlog. Assume that the length of the queue is , the length of queue backlog data is If the queue backlog exceeds the specified ratio v%, the queue is considered to be overloaded; v% is the adjustment sensitivity, which defaults to 5% and is configured according to actual conditions.

[0010] As a further preferred solution of the 5G data offloading method implemented by the domestic FPGA chip of the present invention, in step 3, a smart network card with the domestic Ziguang PG3T500 chip as the core is used for verification.

[0011] As a further preferred solution of the 5G data diversion method implemented by the domestic FPGA chip of the present invention, a smart network card with the domestic Ziguang PG3T500 chip as the core is used for verification, and the specific processing flow is as follows: the processing flow is used for the smart network card, which is inserted into a device with a PCIe slot. The smart network card is selected to receive the 5G message carrying the GTP tunnel. After message identification, rule filtering, message marking, RSS load balancing and other processing, it is transmitted to the server memory through DMA technology. The CPU of the server continues to perform in-depth business analysis on the marked 5G message. If there is a message to be forwarded, the forwarded message will continue to be directly forwarded by the FPGA through DMA technology.

[0012] Compared with the prior art, the present invention adopts the above technical solution and has the following technical effects: 1. The present invention realizes the network card queue diversion according to the 5G data characteristics, distinguishes the uplink and downlink data according to the PDU_type field of the 5G GTP extended header, and further determines the user IP, and sets RSS diversion according to the user IP address; improves the RSS diversion algorithm to realize adaptive load balancing, mainly including the generation algorithm of Hash1 and Hash2, and the method of adaptively realizing load rebalancing through Hash1 and Hash2 when the queue is overloaded; using the technology of the present invention, it is possible to realize inner IP diversion according to the 5G data characteristics; compared with outer IP diversion, 5G inner IP diversion can ensure session integrity; if the outer IP is diverted, the outer IP changes due to the movement of the terminal position, etc., resulting in the data of the same inner session being hashed into different queues, causing the session to be incomplete and thus affecting the backend business; 2. The traffic diversion algorithm of the present invention can run on domestically produced chips and can be integrated into smart network cards and smart switches, and the traffic diversion components can be unloaded from the server to the front-end hardware, thereby saving server resources; 3. The 5G data collection system of the present invention needs to use a data diversion method to hash data to multiple servers or multiple CPU logic cores to achieve the purpose of load balancing or lock-free programming; in order to reduce CPU participation, the repetitive and performance-consuming modules (including GTP inner layer information diversion) are unloaded to hardware such as smart network cards to give full play to hardware performance and improve diversion efficiency. The present invention can be used in data exchange equipment, smart network cards and other equipment to provide diversion components for 5G data collection, analysis, and association. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 It is a flow chart of RSS stream rule setting based on 5G messages of the present invention; Figure 2 This is a detailed flow chart of verification of the smart network card using the domestically produced Ziguang PG3T500 chip as the core; Figure 3 It is a schematic diagram of the load conditions of 12 queues after the present invention has been running for a period of time. DETAILED DESCRIPTION

[0014] The technical solution of the present invention is further described in detail below in conjunction with the accompanying drawings: 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 in 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. The present invention is described in detail below based on the drawings and preferred embodiments, and the purpose and effect of the present invention will become clearer. It should be understood that the specific embodiments described here are only used to explain the present invention and are not used to limit the present invention.

[0015] The present invention mainly provides a method for realizing diversion according to GTP inner layer information through domestic hardware, which mainly includes three parts: realizing data diversion according to 5G data characteristics, improving RSS diversion algorithm to realize adaptive load balancing and domestic hardware verification of diversion algorithm.

[0016] 1) Data diversion based on 5G data characteristics: 5G user-plane data can be diverted to the same source and destination according to the session quintuple, or according to the 5G user IP. Since the 5G user-plane message has a GTP tunnel header on the outer layer, the user IP and the accessed server IP are hidden inside the GTP tunnel. Our equipment supports pre-parsing of tunnel information at a specified level and implements queue diversion in combination with the diversion algorithm. Diversion based on user IP is particularly suitable for business systems that need to be counted, analyzed, and associated by user. For example, it can improve the efficiency of signaling association. In the actual 5G DPI system, the 5G user data and signaling synthesis results can be load-balanced to the same CPU core according to the user IP, so that association can be achieved without locks.

[0017] The main steps of 5G user IP diversion are as follows: Step 1: Pre-parse the message header. According to the characteristics of 5G data, pre-parse the outer tunnel header information, including fields such as the network element IP address and PDU session type (PDU_type); pre-parse the innermost IP header and TCP / UDP header, including user IP address, server IP address, protocol type, port and other information.

[0018] Step 2: Identify the user IP of the 5G message. The 5G user IP is hidden inside the GTP tunnel of the 5G message. It needs to be combined with the message direction. If the current message is an uplink message, the source IP in the GTP inner layer is the user IP. If it is a downlink message, the destination IP in the GTP inner layer is the user IP. The message direction can be determined based on the PDU_type field in the 5G GTP extension header. PDU_type 1 indicates that the message is an uplink message, and PDU_type 0 indicates that the message is a downlink message.

[0019] Step 3: Set RSS flow rules based on 5G packets. Figure 1 As shown in the figure, we select pdu_t in the GTP Extent Header to determine the session direction first. When pdu_t is 1, the source IP in the GTP layer is used to calculate the Hash and perform RSS diversion; when pdu_t is 0, the destination IP in the GTP layer is used to calculate the Hash and perform RSS diversion, and these two types of RSS rules are set to the device in the system program. In this way, when the message arrives, it is first processed by the RSS flow rule, matches the appropriate flow rule, and then calculates the Hash value according to the user IP, and queries the hash table according to the Hash value for RSS diversion, and finally a user's traffic can be diverted to a specific queue.

[0020] 2) Improve the RSS traffic splitting algorithm to achieve adaptive load balancing: In actual use, it is found that due to the large amount of data and high connection multiplexing of 5G, it is difficult to load balance during data splitting. For this reason, the present invention improves the RSS traffic splitting algorithm to achieve adaptive load balancing.

[0021] RSS (Receive-side scaling) usually refers to the ability of a device to provide load balancing for received messages. It first calculates the hash based on the message header information using the Toeplitz hash algorithm, and then decides which receive queue to put the message into based on the hash. The RSS traffic diversion algorithm can act on any information in the message header. The most common method is to calculate the hash of the five-tuple information {source IP, destination IP, source port, destination port, protocol type (such as TCP / UDP, etc.)}.

[0022] Algorithm 1: RSS Hash Algorithm Function Compute_RSS_HASH(Input[],RSK) Result = 0 For each bit b in input[] from left to right If b == 1 then result ^= (left-most 32 bits of RSK) end if Shift RSK left 1bit position end for end function.

[0023] Algorithm 1 is the pseudo code of RSS hash, where Input is the concatenation of message header information as input, for example, the concatenation of the five-tuple information of the message can be used as input, and RSK is a random secret key, which is 40 bytes.

[0024] Although the RSS hash algorithm has performed very well in traffic distribution, there is still the problem of uneven traffic distribution when it is actually used in scenarios with large traffic and high connection reuse. In order to better load balancing, we support improving the RSS hash to support the output of multiple hash values.

[0025] Algorithm 2: Improved RSS Hash algorithm Function Compute_RSS_HASH(Input[],RSK) result = 0 For each bit b in input[] from left to right If b == 1 then result ^= (left-most 32 bits of RSK) end if Shift RSK left 1bit position end for return result end function Function Compute_RSS_DOUBLEHASH(Input[],RSK1,RSK2) result1 = Compute_RSS_HASH(Input[],RSK1) result2 = Compute_RSS_HASH(Input[],RSK2) return (result1, result2) end function.

[0026] Algorithm 2 is the pseudo code of the improved Hash algorithm, which supports calculation for two different random keys and provides two different Hash values. In order to ensure the efficiency of traffic diversion, the improved algorithm needs to meet the symmetric RSS, that is, it needs to ensure that the hash values ​​calculated for the uplink and downlink messages of the same RSK session are the same. The corresponding formula is as follows: ; In order to satisfy the above formula, the present invention uses RSK1 and RSK2 respectively: RSK1={0x6D, 0x5A, 0x56, 0xDA, 0x25, 0x5B, 0x0E, 0xC2, 0x41, 0x67, 0x25, 0x3D, 0x43, 0xA3, 0x8F, 0xB0, 0xD0, 0xCA, 0x2B, 0xCB, 0xAE, 0x7B, 0x30, 0xB4, 0x77, 0xCB, 0x2D, ​​0xA3, 0x80, 0x30, 0xF2, 0x0C, 0x6A, 0x42, 0xB7, 0x3B, 0xBE, 0xAC, 0x01, 0xFA} RSK2={0x6D, 0x5A, 0x6D, 0x5B, 0x6D, 0x5A, 0x6D, 0x5B, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x6A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x6A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x6A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x6A, 0x6D, 0x5A}.

[0027] Using a single hash value may cause hash collision and connection reuse in large-scale traffic, resulting in uneven distribution. The advantage of two hash values ​​is that the data stored in the overloaded queue can be balanced to other queues according to the load balance of the queue. The detailed steps of this improved RSS distribution algorithm are as follows: Step 1: When the device receives a data packet, it obtains Hash1 and Hash2 through the Compute_RSS_DOUBLEHASH function and searches in hash tables 1 and 2. If the mapping relationship exists, the data is stored in the corresponding queue according to the mapping relationship.

[0028] Step 2: If the first step does not find a mapping relationship in both hash table 1 and hash table 2, it means that the data packet belongs to a new link / new user. Subsequent operations need to be classified and processed according to the load balancing situation: If the load balancing degree of the current queue is good, the mapping relationship between Hash1 and the queue is stored in hash table 1, and the data packet is transferred to the corresponding queue according to the mapping relationship in hash table 1. If the current queue is unbalanced in load, the number of packets that originally need to be put into the overload queue is calculated according to Hash1. According to the data, it is necessary to recalculate according to Hash2 and transfer the load to other queues, so as to rebalance the queues.

[0029] Step 3: Repeat the above steps.

[0030] In the above load balancing algorithm, it is necessary to evaluate whether the load of the queue is unbalanced and whether the specified queue is overloaded. The specific calculation method is as follows: a) First, we need to determine the load of each queue. In the actual implementation of this algorithm, we need to count the load of each queue. The number of packets per second is assumed to be N pps. At the same time, based on the packet processing performance of the queue (for the smart network card, it is the bound CPU core performance), the load weight w% is evaluated. The default weight is 100%, that is, all backend processing performance is the same. Then the load of the queue is: ; b) Evaluate whether the device has load imbalance. Assume that the loads of the k queues are , calculate the average load , calculate the maximum and minimum load ,

[0031] .if or , the load is considered unbalanced, where T is the unbalance coefficient.

[0032] Specifies the overload judgment of the queue. To judge whether the queue is overloaded, we need to consider the backlog of the queue. Assume that the length of the queue is , the length of queue backlog data is If the queue backlog exceeds the specified ratio v%, the queue is considered overloaded. v% is the adjustment sensitivity, which defaults to 5% and can be configured according to actual conditions.

[0033] 3) Improve the localized hardware verification of the diversion algorithm.

[0034] The current international competition is intensifying, especially in the chip field, and domestic chip replacement is imminent. The present invention uses a smart network card with the domestically produced Tsinghua Unigroup PG3T500 chip as the core for verification.

[0035] Detailed process as Figure 2 As shown: The above processing flow is mainly used for smart network cards, which are inserted into devices with PCIe slots. The first choice is for smart network cards to receive 5G messages carrying GTP tunnels. After message identification, rule filtering, message tagging, RSS load balancing and other processing, they are transmitted to the server memory through DMA technology. The server's CPU continues to perform in-depth business analysis on the tagged 5G messages. If there are messages to be forwarded, the forwarded messages are directly forwarded by FPGA through DMA technology. For this smart network card device, the diversion method of the present invention mainly involves message identification and RSS diversion modules. Other parts are not within the scope of the patent and are not described in detail.

[0036] We copied a 100G line traffic (average of about 19Mpps / 70Gbps) to the Smart NIC running the original RSS splitting algorithm and the improved splitting algorithm, such as Figure 3 The figure shows the load of 12 queues after running for a period of time. It can be seen that our improved traffic diversion algorithm can alleviate some overloaded queues, thereby providing better load balancing.

[0037] Those skilled in the art can understand that the above are only preferred examples of the invention and are not intended to limit the invention. Although the invention is described in detail with reference to the above examples, those skilled in the art can still modify the technical solutions recorded in the above examples or replace some of the technical features with equivalents. Any modification, equivalent replacement, etc. made within the spirit and principle of the invention should be included in the protection scope of the invention. All technical features in this embodiment can be freely combined according to actual needs.

[0038] Finally, it should be noted that the above 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, it is still possible for those skilled in the art to modify the technical solutions described in the aforementioned embodiments or to make equivalent substitutions for some of the technical features therein. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the protection scope of the present invention.

Claims

1. A 5G data offloading method implemented using a domestically produced FPGA chip, characterized in that: The specific steps include: Step 1: Implement data diversion based on 5G data characteristics; Step 2: Improve the RSS traffic distribution algorithm to achieve adaptive load balancing; Step 3: Domestic hardware verification of the diversion algorithm.

2. According to claim 1, a 5G data offloading method implemented using a domestically produced FPGA chip is characterized in that: In step 1, 5G user plane data is split according to the session quintuple to achieve the same source and destination splitting, or splitting according to the 5G user IP; because the outer layer of the 5G user plane message has a GTP tunnel header, the user IP and the accessed server IP are hidden inside the GTP tunnel, the tunnel information of the specified layer is pre-parsed, and the queue splitting is realized in combination with the splitting algorithm; splitting is performed according to the user IP, and in the actual 5G DPI system, the 5G user data and signaling synthesis results are load-balanced to the same CPU core according to the user IP to achieve associated lock-free; splitting according to the 5G user IP specifically includes the following steps: Step 1.1, pre-parse the packet header: According to the characteristics of 5G data, pre-parse the outer tunnel header information, including the network element IP address and PDU session type PDU_type field; pre-parse the innermost IP header and TCP / UDP header, including the user IP address, server IP address, protocol type, and port information; Step 1.2: User IP identification of 5G messages: The user IP of 5G is hidden inside the GTP tunnel of the 5G message. It needs to be combined with the message direction. If the current message is an uplink message, the source IP in the inner layer of GTP is the user IP. If it is a downlink message, the sink IP in the inner layer of GTP is the user IP. The message direction is determined based on the PDU_type field in the 5G GTP extension header. PDU_type is 1, indicating that the message is an uplink message, and PDU_type is 0, indicating that the message is a downlink message. Step 1.3: RSS flow rule setting based on 5G messages: Select pdu_t in the GTP Extent Header to determine the session direction first. When pdu_t is 1, use the source IP in the GTP layer to calculate the Hash and perform RSS diversion; when pdu_t is 0, use the destination IP in the GTP layer to calculate the Hash and perform RSS diversion, and set these two types of RSS rules to the device in the system program; when the message arrives, it is first processed by the RSS flow rule, matches the appropriate flow rule, calculates the Hash value according to the user IP, and queries the hash table according to the Hash value for RSS diversion, and finally diverts a user's traffic to a specific queue.

3. According to claim 1, a 5G data offloading method implemented using a domestically produced FPGA chip is characterized in that: In step 2, RSS refers to the ability of the device to provide load balancing for received messages. It first calculates the hash based on the message header information using the Toeplitz hash algorithm, and then determines which receiving queue to put the message into based on the hash. The RSS traffic diversion algorithm acts on any information in the header of the message. The most common method is to calculate the hash of the five-tuple information {source IP, destination IP, source port, destination port, protocol type} of the message. The improved RSS traffic diversion algorithm specifically includes the following steps: Step 2.1: When the device receives a data packet, it obtains Hash1 and Hash2 through the Compute_RSS_DOUBLEHASH function and searches in hash tables 1 and 2. If the mapping relationship exists, the data is stored in the corresponding queue according to the mapping relationship; Step 2.2: If the first step does not find a mapping relationship in both hash table 1 and hash table 2, it means that the data packet belongs to a new link / new user. Subsequent operations need to be classified and processed according to the load balancing situation: If the load balancing degree of the current queue is good, the mapping relationship between Hash1 and the queue is stored in hash table 1, and the data packet is transferred to the corresponding queue according to the mapping relationship in hash table 1; If the current queue has an unbalanced load, the number of packets that originally need to be put into the overload queue is calculated according to Hash1 According to the data, it is necessary to recalculate according to Hash2 and transfer the load to other queues, so as to rebalance the queues. Step 2.3: Repeat the above steps; In the above load balancing algorithm, it is necessary to evaluate whether the load of the queue is unbalanced and whether the specified queue is overloaded. The specific calculation method is as follows: a) First, we need to determine the load of each queue. In the actual implementation process, we count the number of packets per second for each queue, assuming N pps. At the same time, we evaluate the load weight w% based on the packet processing performance of the queue. The default weight is 100%, which means that all backend processing performance is the same. Then the load of the queue is: ; b) Evaluate whether the device has load imbalance; Assume that the loads of k queues are , calculate the average load , calculate the maximum and minimum load , ;if or , then the load is considered unbalanced, where T is the unbalance coefficient; c) Overload determination of a specified queue: To determine whether a queue is overloaded, we need to consider the backlog of the queue. Assume that the length of the queue is , the length of queue backlog data is If the queue backlog exceeds the specified ratio v%, the queue is considered to be overloaded; v% is the adjustment sensitivity, which defaults to 5% and is configured according to actual conditions.

4. A 5G data offloading method implemented using a domestically produced FPGA chip according to claim 1, characterized in that: In step 3, a smart network card with the domestically produced Tsinghua Unigroup PG3T500 chip as the core is used for verification.

5. A 5G data offloading method implemented using a domestically produced FPGA chip according to claim 3, characterized in that: The smart network card with the domestically produced Tsinghua Unigroup PG3T500 chip as the core was used for verification. The specific processing flow is as follows: the processing flow is used for the smart network card, which is inserted into a device with a PCIe slot. The smart network card is selected to receive 5G messages carrying the GTP tunnel. After message identification, rule filtering, message tagging, RSS load balancing and other processing, it is transmitted to the server memory through DMA technology. The server's CPU continues to perform in-depth business analysis on the tagged 5G messages. If there are messages to be forwarded, the forwarded messages will continue to be forwarded directly by the FPGA through DMA technology.

Citation Information

Patent Citations

  • Flow balance output method and device

    CN105591965A

  • Dynamic flow load balancing method based on DPDK

    CN107196870A

  • Network shunting method, device and system for high-performance probe under SOC

    CN110417675A

  • DNS load balancing performance optimization scheme based on single port

    CN115858152A

  • Traffic distribution method and device, equipment and storage medium

    CN118250235A