Generalized network intelligent optimization method and generalized network intelligent optimization terminal

By determining the optimal DNS server and adopting full cone network address translation technology, combining BBR algorithm for network congestion control, the problems of slow DNS resolution speed, limited NAT type and poor network congestion control are solved, and efficient network transmission and stable network performance are achieved.

WO2025097998A1PCT designated stage expired Publication Date: 2025-05-15KUAISHANGYUN (SHANGHAI) NETWORK TECHNOLOGY CO LTD

Patent Information

Application Number
PCT/CN2024/117634
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-10
Filing Date
2024-09-09
Publication Date
2025-05-15

AI Technical Summary

Technical Problem

In the prior art, slow DNS resolution speed and limited NAT type lead to low network transmission efficiency and lack of effective network congestion control mechanisms, resulting in network delay and packet loss problems.

Method used

By obtaining the domain name access request of the user's network device, the optimal DNS server is determined for domain name resolution, and the full cone network address conversion technology is adopted, combined with the BBR algorithm for network congestion control, and network transmission is optimized.

Benefits of technology

It improves DNS resolution speed, improves network transmission efficiency, reduces network restrictions, and effectively distinguishes congested packet loss and error packet loss, improving network stability and performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024117634_15052025_PF_FP_ABST
    Figure CN2024117634_15052025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention relates to the field of computer networks, and provides a generalized network intelligent optimization method and a generalized network intelligent optimization terminal. The generalized network intelligent optimization method comprises: acquiring a domain name access request and a web request initiated by a user network device; on the basis of a target domain name, a custom upstream host, and a pre-established DNS set, determining an optimal DNS server, and analyzing the target domain name by means of the optimal DNS server to obtain a target IP address; acquiring performance parameters of each network address translation (NAT) server in a NAT server cluster; on the basis of the performance parameters of each NAT server, determining an optimal NAT server, and, by means of the optimal NAT server and on the basis of the target IP address, responding to the web request by using full-cone NAT technology; and controlling the transmission rate of the user network device by using a BBR algorithm. According to the present invention, domain name resolution speed is increased, and network transmission efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

A generalized network intelligent optimization method and generalized network intelligent optimization terminal

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on November 10, 2023, with application number 202311489314.8 and invention name “A generalized network intelligent optimization method and generalized network intelligent optimization terminal”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present invention relates to the field of computer networks, and in particular to a generalized network intelligent optimization method and a generalized network intelligent optimization terminal. Background Art

[0003] Currently, most users often encounter various network problems when using the Internet due to differences in network levels. The following are the problems that may exist in basic user networks.

[0004] 1) The Domain Name System (DNS) protocol defines an automated service that matches resource names with required numerical network addresses. It covers query formats, response formats, and data formats. However, serious DNS pollution currently exists. When a user accesses an address, a non-DNS server detects that the user is accessing a marked address and then disguises itself as a DNS server to send back an incorrect address. Furthermore, most users currently obtain DNS automatically for their local area, resulting in suboptimal performance of their resolution servers and unresponsiveness for certain domain names and services. The current primary DNS resolution process is shown in Figure 1, which lacks the basic optimization capabilities to prevent DNS pollution.

[0005] 2) Network Address Translation (NAT) is limited in type. NAT is used to enable intercommunication between private and public networks. NAT converts intranet addresses and port numbers into valid public addresses and port numbers, establishing a session and communicating with public hosts. In campus or educational settings, most NAT types are port-restricted cone NAT. This type of NAT imposes port number restrictions, meaning a public host can communicate with an intranet host only if the intranet host has previously sent a data packet to the public host. As shown in Figure 2, NAT maps the intranet address {A:b} to the public address {C:d} and binds them. Since the intranet host has previously communicated with the public hosts at address E and port f and at address G and port q, only packets from these two public addresses and ports can reach the intranet host. In Figure 2, packets from the public hosts at address G and port r and H cannot communicate with the intranet host. NAT restrictions can significantly impact P2P performance and increase exchange latency. More commonly, IP and port restrictions can lead to access errors. Furthermore, the connectionless nature and lack of reliability of User Datagram Protocol (UDP) transmissions can also affect UDP transmissions when facing NAT restrictions.

[0006] 3) Currently, mainstream networks lack effective congestion control mechanisms. Mainstream TCP congestion control algorithms are designed based on packet loss. Figure 3 shows a traditional congestion control algorithm based on packet loss. This approach has two problems: First, TCP assumes that all packet loss is due to congestion. However, in reality, transmission errors may cause packet loss in the network. Therefore, congestion control algorithms based on packet loss cannot distinguish between congestion-related and error-related packet loss. Second, networks have buffer capacity to absorb traffic fluctuations. Because standard TCP estimates the send window based on a fully loaded link, the buffer capacity tends to be full at the beginning of a connection. Subsequently, the buffer capacity usage gradually decreases, but never disappears completely. Therefore, this approach increases network latency and can cause packet loss when the buffer capacity is full. To address these issues, effective network congestion control mechanisms are needed to prevent excessive data from being injected into the network and thus prevent overloading of links.

[0007] Summary of the Invention

[0008] The purpose of the present invention is to provide a generalized network intelligent optimization method and a generalized network intelligent optimization terminal, which can improve the resolution speed of DNS and enhance network transmission efficiency.

[0009] To achieve the above objectives, the present invention provides a generalized network intelligent optimization method, comprising the following steps.

[0010] A domain name access request and a Web request initiated by a user network device are obtained; the domain name access request includes a target domain name.

[0011] According to the target domain name, the custom upstream host and the pre-established DNS set, the optimal DNS server is determined, and the target domain name is resolved by the optimal DNS server to obtain the target IP address; the DNS set includes multiple DNS servers; wherein, according to the target domain name, the custom upstream host and the pre-established DNS set, the optimal DNS server is determined, including: judging whether the target domain name is located in the custom upstream host; if the target domain name is located in the custom upstream host, performing remote domain name resolution; if the target domain name is not located in the custom upstream host, sending a ping command to each DNS server in the DNS set through the user network device; determining the network connectivity and communication delay between the user network device and each DNS server according to the detection results returned by each DNS server; determining the priority of each DNS server according to the network connectivity and communication delay between the user network device and each DNS server, and the DNS server with the highest priority is the optimal DNS server.

[0012] Get the performance parameters of each NAT server in the NAT server cluster.

[0013] An optimal NAT server is determined according to performance parameters of each NAT server, and the Web request is responded to by the optimal NAT server according to the target IP address using a full-cone network address translation technology.

[0014] The BBR algorithm is used to control the sending rate of user network devices.

[0015] To achieve the above objectives, the present invention also provides a generalized network intelligent optimization terminal, which includes the following three modules.

[0016] A domain name resolution module is used to obtain domain name access requests and Web requests initiated by user network devices; determine the optimal DNS server based on the target domain name, custom upstream host and a pre-established DNS set, and resolve the target domain name through the optimal DNS server to obtain a target IP address; the domain name access request includes the target domain name; the DNS set includes multiple DNS servers; wherein, according to the target domain name, custom upstream host and a pre-established DNS set, determining the optimal DNS server includes: judging whether the target domain name is located in the custom upstream host; if the target domain name is located in the custom upstream host, performing remote domain name resolution; if the target domain name is not located in the custom upstream host, sending a ping command to each DNS server in the DNS set through the user network device; determining the network connectivity and communication delay between the user network device and each DNS server based on the detection results returned by each DNS server; determining the priority of each DNS server based on the network connectivity and communication delay between the user network device and each DNS server, and the DNS server with the highest priority is the optimal DNS server.

[0017] The address translation module is used to obtain the performance parameters of each NAT server in the NAT server cluster; determine the optimal NAT server based on the performance parameters of each NAT server, and respond to the Web request through the optimal NAT server based on the target IP address using full-cone network address translation technology.

[0018] The congestion control module is used to control the sending rate of user network devices using the BBR algorithm.

[0019] According to the specific embodiments provided by the present invention, the present invention discloses the following technical effects: the present invention determines the optimal DNS server based on the target domain name, the custom upstream host, and the pre-established DNS set, resolves the target domain name through the optimal DNS server, and adopts both the custom upstream host and the DNS set to perform domain name resolution, thereby improving the DNS resolution speed. The use of full-cone network address translation technology effectively improves the transmission efficiency of the network while reducing network limitations. The use of the BBR algorithm to control the sending rate of the user network device can effectively distinguish between congestion packet loss and error packet loss, thereby improving the transmission efficiency of the network. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0021] Figure 1 shows the traditional DNS resolution process.

[0022] FIG2 is a schematic diagram of a port-restricted cone NAT.

[0023] FIG3 is a schematic diagram of a traditional congestion control algorithm based on packet loss.

[0024] FIG4 is a flow chart of the generalized network intelligent optimization method provided by the present invention.

[0025] FIG5 is a schematic diagram of full-cone network address translation.

[0026] FIG6 is a schematic diagram showing the connection relationship of the generalized network intelligent optimization terminal provided by the present invention.

[0027] FIG7 is an architecture diagram of the generalized network intelligent optimization terminal provided by the present invention.

[0028] FIG8 is a flowchart of the workflow of each module of the generalized network intelligent optimization terminal provided by the present invention.

[0029] FIG9 is a schematic diagram showing the hardware composition of the generalized network intelligent optimization terminal provided by the present invention. DETAILED DESCRIPTION

[0030] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. 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 making creative efforts are within the scope of protection of the present invention.

[0031] The purpose of the present invention is to provide a generalized network intelligent optimization method and a generalized network intelligent optimization terminal, which can perform local network optimization in various situations and optimize the user's network usage environment as much as possible.

[0032] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.

[0033] Example 1: As shown in FIG4 , this embodiment provides a generalized network intelligent optimization method, including steps 100 to 500 .

[0034] Step 100: Obtain a domain name access request and a web request initiated by a user network device. The domain name access request includes a target domain name.

[0035] Step 200: Determine the optimal DNS server based on the target domain name, the custom upstream host, and the pre-established DNS set, and resolve the target domain name through the optimal DNS server to obtain the target IP address.

[0036] Specifically, the DNS set is based on a DNS management website, and the DNS set includes multiple DNS servers. In step 200, the optimal DNS server is determined based on the target domain name, the custom upstream host, and the pre-established DNS set, specifically including steps (21) to (27).

[0037] (21) Determine whether the target domain name is located in the custom upstream host.

[0038] (22) If the target domain name is located in the custom upstream host, remote domain name resolution is performed.

[0039] In this embodiment, the upstream host is set to NAMESERVER. When the user network device sends a domain name resolution instruction, it can pre-process the domain name according to the manually set upstream host. When the target domain name is located on the upstream host, forced remote pre-processing is performed.

[0040] (23) If the target domain name is not located in the custom upstream host, a ping command is sent to each DNS server in the DNS set through the user network device.

[0041] (24) Determine the network connectivity and communication delay between the user network device and each DNS server based on the detection results returned by each DNS server.

[0042] (25) Determine the priority of each DNS server based on the network connectivity and communication delay between the user network device and each DNS server. The DNS server with the highest priority is the optimal DNS server. The optimal DNS server and the priority order of each DNS server are stored in a cache to ensure the detection order in the event that the optimal DNS server fails.

[0043] (26) Monitor the usage time of the priority of the DNS server based on a preset timer.

[0044] (27) When the usage time reaches a preset management period, the network connectivity and communication delay between the user network device and each DNS server are re-determined to re-determine the priority of each DNS server.

[0045] Since it is impossible to assign the best DNS server according to the visited URL in a normal network environment, the DNS resolution speed is affected. Therefore, the present invention adopts two DNS optimization modes: custom upstream DNS and subscription to DNS query collection. Among them, the custom upstream DNS mode can be provided to professional users and can be regarded as a custom local host to perform remote domain name resolution to improve the DNS resolution speed. The subscription to DNS query collection mode is updated by operation and maintenance personnel, and includes different types of DNS and general query URLs in various regions. When a domain name is accessed for the first time, the resolution delay will be checked in the hardware, the resolution delay of all public DNS will be recorded, and the optimal DNS server will be selected and written into the hardware cache. At the same time, a ping value test is performed every 24 hours to update the DNS resolution of commonly used domain names, which can effectively improve the DNS resolution speed, but attention should be paid to factors such as update frequency and network load to ensure that it can achieve the maximum optimization effect.

[0046] Step 300: Obtain performance parameters of each NAT server in the NAT server cluster. Specifically, the performance parameters of the NAT server include the NAT server's central processing unit (CPU) frequency, memory size, disk I / O rate, network bandwidth, CPU usage, memory usage, disk I / O read rate, and network bandwidth occupancy.

[0047] Specifically, each server node in the NAT server cluster in the LVS / NAT mode feeds back the performance parameters of the current server to the DDNS server at intervals of a time period.

[0048] Step 400: Determine the optimal NAT server based on the performance parameters of each NAT server, and respond to the web request through the optimal NAT server based on the target IP address using the full cone network address translation technology. The full cone network address translation technology is shown in FIG5 .

[0049] Specifically, in step 400, determining the optimal NAT server based on the performance parameters of each NAT server includes: for any NAT server, calculating the overall load rate of the NAT server based on the performance parameters of the NAT server, and selecting the NAT server with the lowest overall load rate as the optimal NAT server.

[0050] The present invention integrates dynamic DNS, which provides a fixed name server for dynamic domains and enables external users to access the dynamic users' Web sites through real-time updates. The DDNS server regularly collects the performance parameters of each NAT server, calculates the overall load rate of each NAT server, that is, the proportion of the NAT server's response to the diversion service, and implements NAT service-related scheduling to ensure that the NAT server with the lowest load rate in the NAT server cluster gives priority to responding to a large number of client Web access requests, and evenly distributes query traffic to physical Web servers, thereby improving the performance and efficiency of the entire network. When the DDNS server collects the performance parameters of the NAT server, it will simultaneously regard the NAT server for which the performance parameters cannot be obtained as having failed, and delete the IP address of the failed NAT server from the domain name resolution configuration file on the DDNS server, effectively avoiding service interruption caused by the client accessing the failed NAT server.

[0051] A DDNS server can also ensure that all devices connected to the optimized hardware can access the network. However, in campus or public networks, where legitimate external IP addresses are rare, a port-reuse addressing method is used to convert a single external IP address into multiple internal IP addresses for each device to use. In most cases, DDNS can optimize NAT.

[0052] Furthermore, a weighted sum is first performed on the CPU frequency, memory size, disk I / O rate, and network bandwidth of the NAT server to obtain the static resource performance of the NAT server. A weighted sum is then performed on the CPU usage rate, memory usage rate, disk I / O read rate, and network bandwidth occupancy rate of the NAT server to obtain the dynamic resource performance of the NAT server. Finally, an overall load rate of the NAT server is determined based on the static resource performance and dynamic resource performance of the NAT server.

[0053] In this embodiment, the maximum available resource value of a NAT server i is determined using the formula Xi = Xcpui + Xmemi + Xdiski + Xbandwidthi. Here, Xi is the maximum available resource value of NAT server i, Xcpui is the CPU frequency of NAT server i, Xmemi is the memory size of NAT server i, Xdiski is the disk I / O rate of NAT server i, and Xbandwidthi is the bandwidth of the network where NAT server i is located.

[0054] The resource usage of NAT server i per unit time is determined using the formula Yi = Ycpui + Ymemi + Ydiski + Ybandwidthi. Yi is the resource usage of NAT server i per unit time, Ycpui is the CPU usage of NAT server i, Ymemi is the memory usage of NAT server i, Ydiski is the disk I / O read rate of NAT server i, and Ybandwidthi is the bandwidth usage of the network where NAT server i resides.

[0055] The static resource performance of NAT server i is calculated using the formula Mi = Mcpui + Mmemi + Mdiski + Mbandwidthi. Mi is the static resource performance of NAT server i, Mcpui is the static performance of the CPU node of NAT server i, Mmemi is the static performance of the memory node of NAT server i, Mdiski is the static performance of the disk node of NAT server i, and Mbandwidthi is the static performance of the network node of NAT server i. Mcpui = Xcpui × w1, Mmemi = Xmemi × w2, Mdiski = Xdiski × w3, and Mbandwidthi = Xbandwidthi × w4, where w1 is the CPU weight, w2 is the memory weight, w3 is the disk weight, and w4 is the network weight.

[0056] The static and dynamic resource performance of NAT server i is calculated using the formula Ni = Ncpui + Nmemi + Ndiski + Nbandwidthi. Ni represents the static and dynamic resource performance of NAT server i, Ncpui represents the dynamic performance of the CPU node of NAT server i, Nmemi represents the dynamic performance of the memory node of NAT server i, Ndiski represents the dynamic performance of the disk node of NAT server i, and Nbandwidthi represents the dynamic performance of the network node of NAT server i. Ncpui = Ycpui × w1, Nmemi = Ymemi × w2, Ndiski = Ydiski × w3, and Nbandwidthi = Ybandwidthi × w4.

[0057] The overall load rate of NAT server i is calculated using the formula Zi=NiMi, where Zi is the overall load rate of NAT server i.

[0058] Assume that the number of physical web servers that a NAT server can load is N. When the actual number of physical web servers is n and the actual number of physical NAT servers is m, the following rules apply.

[0059] The WEB server device set can be defined as WEB = {WEB1, WEB2, ..., WEBn}.

[0060] The NAT server device set may be defined as NAT={NAT1, NAT2, ..., NATm}.

[0061] In this embodiment, after calculating the overall load rate of each NAT server, the DDNS server deletes the record of the corresponding NAT server in the domain name system according to the load rate. Then, based on the real-time load situation, the domain name accessed by the client is dynamically re-resolved to the IP address of the NAT server with a lighter load, so that the NAT server has priority in responding to the client's request within a time period, and the client's request is evenly distributed to a web server in the web server cluster according to the corresponding load balancing algorithm.

[0062] In NAT technology, port-restricted NAT requires that when external network data reaches the router, the IP address and port number of the corresponding host on the internal network be provided in order to effectively forward the data. In comparison, full-cone NAT allows external network data to be directly forwarded when it reaches the router as long as the router has recorded the host and port mapping rules of the internal network, without the need to provide the IP address and port number of the corresponding host on the internal network. Full-cone NAT can even achieve full access, that is, external network data can actively enter the internal network as long as it meets the mapping rules. When an internal network host establishes a UDP socket and uses the socket to send data to an external host for the first time, NAT will assign it a public IP address. Subsequent data sent to any external host using the socket will use this pair of public IPs. At this point, full-cone NAT can effectively improve network transmission efficiency and reduce network restrictions, especially in a P2P environment where it can greatly improve the network environment.

[0063] Step 500: Use the BBR algorithm to control the sending rate of the user network device.

[0064] Specifically, the present invention measures the instantaneous traffic data rate, detects the maximum bandwidth and the minimum round-trip delay, and then calculates the maximum capacity of the TCP pipe. The maximum capacity is used to calculate the congestion window, thereby adjusting the interval for sending window data per unit time. Step 500 includes steps (51) to (55).

[0065] (51) The BBR algorithm is used to estimate the link bandwidth.

[0066] (52) For any data packet sent by the user network device, the delay of the data packet is calculated based on the sending time and confirmation time of the data packet: RTT = T1-T2; where RTT is the delay of the data packet, T1 is the sending time of the data packet, and T2 is the time of receiving the confirmation of the data packet.

[0067] (53) The current congestion window control parameters are determined based on the delay of each data packet in the network.

[0068] Specifically, when detecting packet loss, the ratio of the buffer to the bandwidth-delay product is calculated based on the packet's RTT: K = (RTT - RTP) / RTP, where K is the ratio of the buffer to the bandwidth-delay product and RTP is the physical delay, which is the minimum delay of all packets in the network. The current congestion window control parameter is calculated based on the ratio of the buffer to the bandwidth-delay product: cwnd = min[(1 + h * K), M]; where cwnd is the current congestion window control parameter, h is the proportion of the buffer occupied by the data flow, and M is the pre-set maximum congestion window threshold.

[0069] (54) Adjust the congestion window according to the current congestion window control parameter and the link bandwidth, and control the total amount of data transmitted by the network to be less than or equal to the congestion window, so as to control the sending rate of the network user equipment.

[0070] In this embodiment, the congestion window is determined using the formula cwnd_n = cwnd * RTP * BTW; where cwnd_n is the congestion window, cwnd is the current congestion window control parameter, RTP is the minimum delay of data packets in the network, and BTW is the link bandwidth, which is the maximum RTT delay of each data packet in the network.

[0071] (55) When the network user equipment receives a data packet confirmation within one round trip time after the congestion window is adjusted, the current congestion window control parameter is adjusted based on the current congestion window control parameter, the size of the data packet, the delay of each data packet in the network, and the link bandwidth to readjust the congestion window.

[0072] Specifically, if no packet loss is detected within one round trip time after the congestion window is adjusted, that is, when a data packet acknowledgment is received, the congestion window control parameter is adjusted and then used as the current congestion control parameter to calculate a new congestion window. cwnd' = min{cwnd + a*[S / (RTP*BTW], M}; where cwnd' is the adjusted congestion window control parameter, a is a parameter that controls excessive congestion window growth, and S is the packet size.

[0073] Based on step 500, the generalized network intelligent optimization method further includes the following steps.

[0074] The amount of data sent and received by the user network device within a set time period is obtained, and the benefit score before adjusting the link bandwidth is calculated based on the amount of data sent and received by the user network device within the set time period.

[0075] For any data packet sent by the user network device, the reception rate of the data packet is calculated based on the delay of the data packet, the total amount of data confirmed by the user network device when the user network device sends the data packet, and the total amount of data confirmed by the network user device when the network user device receives the data packet confirmation: RATE = (N1-N2) / RTT; where RATE is the reception rate of the data packet, N1 is the total amount of data confirmed by the user network device when the user network device sends the data packet, N2 is the total amount of data confirmed by the network user device when the network user device receives the data packet confirmation, and RTT is the delay of the data packet.

[0076] Specifically, the delay and receiving rate of the data packet must satisfy RATE < 0.75*BTW, RTT > (M+0.5)*RTP.

[0077] The link bandwidth is adjusted according to the reception rate of each data packet sent by the user network device.

[0078] Specifically, after obtaining 100 data packet samples, the link bandwidth is adjusted using the formula BTWn=max{RATE'}, where BTWn is the adjusted link bandwidth and RATE' includes the receiving rate of the 100 data packet samples.

[0079] The amount of data sent and received by the user network device within a set period after the link bandwidth is adjusted is obtained, and the benefit score after the link bandwidth adjustment is calculated based on the amount of data sent and received by the user network device within the set period after the link bandwidth is adjusted.

[0080] Specifically, the data transmission time is divided into multiple time periods, and the amount of data in each time period is calculated: Delivered = d(ΔT), where Delivered is the amount of data received in the ΔT time period, ΔT is any time period, and d(ΔT) is the amount of data that can be sent at the start and end times.

[0081] Then calculate the amount of unacknowledged data: Unlocked = Δs(ΔT) - Delivered; where Unlocked is the amount of unacknowledged data within the ΔT period, and s(ΔT) is the sum of data sent within the differential time at a certain moment.

[0082] For the adjusted sending rate, the benefit score after link bandwidth adjustment is calculated by combining the packet loss rate and throughput: P = Delivered - 33.3 * Unlocked; where P is the benefit score after link bandwidth adjustment.

[0083] If the benefit score after adjusting the link bandwidth is less than the benefit score before adjusting the link bandwidth, the adjustment of the link bandwidth is canceled.

[0084] Specifically, the efficiency scores are calculated for two time periods before and after the link bandwidth adjustment, and the average values ​​are taken to compare the efficiency of data transmission after the adjustment. If the efficiency score decreases after the link bandwidth adjustment, the link bandwidth adjustment is canceled.

[0085] In order to solve the problem that TCP assumes that all packet loss is due to congestion, the present invention adopts a delay-based congestion control algorithm, such as BBR, to effectively distinguish between congestion-induced packet loss and error-induced packet loss, and improve network performance. BBR is a congestion control algorithm that calculates the actual transmission rate through the RTT information and the number of bytes sent in the response packet, and then adjusts the client's subsequent sending rate to maintain a reasonable amount of inflight data, maximize the transmission bandwidth and reduce transmission delay. Compared with traditional TCP, BBR can run completely on the sending end, and the implementation code is several times simpler, easy to implement and maintain, without the need for changes to the protocol, the receiving end or the network. The use of the BBR algorithm can effectively improve the transmission efficiency of the network, especially in a high-latency, high-bandwidth network environment. It should be noted that the BBR algorithm needs to be deployed on both the server and the client.

[0086] At the same time, network buffer capacity must be properly utilized to prevent buffer overflows, which can lead to packet loss and increased network latency. Flow control methods, such as Random Early Detection (RED), can be used to adjust the buffer size to accommodate fluctuations in network traffic. Furthermore, network performance can be optimized by increasing node processing power and improving link quality.

[0087] Embodiment 2: This embodiment provides a generalized network intelligent optimization terminal. As shown in FIG6 , the generalized network intelligent optimization terminal 2 is connected to the Internet 1 and the user network device 3 respectively.

[0088] As shown in Figures 7 and 8 , the generalized network intelligent optimization terminal 2 provided in this embodiment includes a domain name resolution module 21, an address translation module 22, and a congestion control module 23. The domain name resolution module 21, the address translation module 22, and the congestion control module 23 are all deployed on a Linux system. These three modules operate in parallel.

[0089] The domain name resolution module 21 is used to obtain domain name access requests and web requests initiated by user network devices. Based on the target domain name, the custom upstream host, and a pre-established DNS set, it determines the optimal DNS server and resolves the target domain name using the optimal DNS server to obtain the target IP address. The domain name access request includes the target domain name.

[0090] Specifically, a user initiates a domain name access request from the front-end, which then initiates a web request encapsulated with a UUID to the web server. After loading, a unique identifier, or UUID, is dynamically generated. At this point, a web request encapsulated with the UUID is initiated by the browser to the web server. The domain name resolution module sends a recursive query request to a pre-set DNS server to resolve the URL containing the encapsulated UUID. The web server stores the front-end IP address and UUID corresponding to the HTTP request in a first cache on a storage medium. The DNS server stores the IP address and UUID of the local domain name server (LDNS) in a second cache on a storage medium. The domain name resolution module analyzes the IP and LDNS distribution in the first and second caches, normalizes them, and merges the data sets. From the data sets, it obtains the standard deviation data of the client IP addresses generated by the LDNS in response to the web request initiated by the front-end, optimizes the LDNS scheduling strategy, and records it in the domain name resolution module. The optimized LDNS scheduling strategy matches the user with the edge node server closest to the user's region. Data tools for normalization can be Pandas, MapReduce, or Spark. The merged data set is grouped using the IP address of the LDNS as the public key value to calculate the standard deviation of each LDNS.

[0091] The standard deviation can accurately reflect the source discreteness of the LDNS. When the discrete value is high, if the geographical location of the LDNS is inconsistent with the geographical location where the source is more concentrated, it means that the edge node servers matched by the Content Delivery Network (CDN) server for the front end are not in the same geographical location or are far away from each other. This will cause the LDNS to respond to the front end with delays and network congestion, thereby providing a reliable reference for the CDN server to match the front end to the most reasonable edge node server for rational scheduling, thereby improving the accuracy and rationality of LDNS scheduling. In this embodiment, the threshold of the standard deviation data is set to 0.3.

[0092] The address translation module 22 is used to obtain the performance parameters of each NAT server in the NAT server cluster; determine the optimal NAT server based on the performance parameters of each NAT server, and respond to the Web request through the optimal NAT server based on the target IP address using full-cone network address translation technology.

[0093] The address translation module 22 utilizes the Netfilter framework to modify the network data packet. After running the preset script, the iptables rule is used to perform NAT optimization, i.e., modify the nat table in Linux, which has three built-in chains.

[0094] (1) PREROUTING, used for rules executed before routing decisions, such as DNAT on received data packets.

[0095] (2) POSTROUTING, used for rules executed after routing judgment, such as SNAT or MASQUERADE on sent or forwarded data packets.

[0096] (3) OUTPUT, similar to PREROUTING, but only processes packets sent from the local machine.

[0097] The present invention relies on the Netfilter framework to implement NAT optimization and performs the following operations in hardware.

[0098] ①SNAT (Source Address Translation) needs to be configured in the POSTROUTING chain of the nat table, that is, SNAT is configured uniformly for a subnet, and the default egress IP is selected by Linux.

[0099] ②DNAT (Destination Address Translation) needs to be configured in the PREROUTING or OUTPUT chain of the NAT table.

[0100] ③ Bidirectional address translation, that is, adding SNAT and DNAT rules at the same time.

[0101] ④ Enable Linux IP forwarding function.

[0102] The congestion control module 23 is used to control the sending rate of the user network device by using the BBR algorithm.

[0103] In order to better understand the solution of the present invention, the working process of the congestion control module 23 is described in detail below.

[0104] (1) Window adjustment.

[0105] The congestion control module 23 sets the congestion window size to a smaller value. Every time an acknowledgment segment is received, the congestion window is doubled compared to the initial window size. The congestion control module 23 gradually increases the amount of data sent to test the available bandwidth of the network.

[0106] When the congestion window size reaches the congestion window threshold, the congestion control module 23 enters the congestion avoidance phase. Thereafter, the rate of increase of the congestion window size decreases with each acknowledgment segment received, and the size of one segment increases for each round trip time.

[0107] If lost segments are detected (i.e., no acknowledgment is received), network congestion is present. Congestion control module 23 then halves the size of the congestion window and sets the congestion window threshold to half the current congestion window. Furthermore, the network enters a fast recovery phase, in which the congestion window size increases by one segment each time an acknowledgment is received.

[0108] (2) Bandwidth update and reassessment.

[0109] After adjusting the congestion window, the congestion control module 23 calculates the estimated bandwidth and adjusts the sending rate in a timely manner based on the collected data packet delay and rate samples. The sending rate is calculated using the following formula: deliveryRate = (delivered - packet.delivered) / (now - packet.delivered_time), where deliveryRate is the sending rate, delivered is the number of successfully received data packets, if the received ACK is an acknowledgment of a data packet, delivered is increased by 1, packet.delivered is the number of data packets received by the sender when the packet is sent, now is the current time, and packet.delivered_time is the timestamp of the latest ACK received.

[0110] To better understand the solution of the present invention, the following specifically describes the hardware components of the generalized network intelligent optimization terminal 2. As shown in Figure 9, the chip, flash memory, and physical design structure of the generalized network intelligent optimization terminal are mainly composed of the following parts.

[0111] ① The present invention is based on Qualcomm's IPQ8071A SoC main processor. The IPQ8071A is equipped with a dual-core 1.7GHz network acceleration engine. Its unique design is specifically designed to process network traffic, allowing the CPU to focus on other upper-layer applications, resulting in higher operating efficiency, faster traffic forwarding, and more stable long-term operation.

[0112] ② Data traffic is received through the RJ45 network port and the VT6528. The VT6528 is a single-chip Layer 2+ Ethernet switch controller with 8.8Gbps core switching bandwidth and 6.6Mbps data transmission speed. It provides non-blocking data filtering and switching between 24 10 / 100BaseX Ethernet ports and two 10 / 100 / 1000BaseX Ethernet ports. Data transmission between the RJ45 network port and the VT6528 is performed through an isolation transformer H82407S.

[0113] ③ The Realtek RTL8153B-VB-CG 10 / 100 / 1000M Ethernet controller combines a triple-speed IEEE 802.3-compliant media access controller with a triple-speed Ethernet transceiver, a USB 3.0 bus controller, and embedded memory. The RTL8153B-VB utilizes state-of-the-art DSP and mixed-mode signaling technology, enabling high-speed transmission over CAT 5 UTP or CAT 3 UTP (10Mbps only) cables. The RTL8153B-VB-CG communicates with the RJ45 network port via a single-ended transformer H82405SP.

[0114] ④ The present invention is equipped with 256MB of flash memory and 1G of running memory to ensure the operation of the Linux microsystem and the operation of the logic function module program.

[0115] ⑤ The present invention is equipped with multiple RJ45 network ports to ensure the scalability of the generalized network intelligent optimization terminal.

[0116] When the generalized network intelligent optimization terminal provided by the present invention is actually used, a virtual network card eth1 can be added to this architecture, and 8 to 16 local IP network segment addresses can be bound to this network card. This IP address is a network segment not used by users (a reserved address segment in the VPC network), and the user is not aware of the existence of this address. This network segment can be interconnected with the user network segment at three layers. In the EVPN network of the data center, the networking configuration information is distributed through the SDN control configuration, and the logical routers and switches of OVN are used to interconnect the networks of the same tenant. The newly added virtual network card is linked to a logical switching chip VT6528, and then connected to the Realtek RTL8153B-VB-CG through the switching chip. At this time, the virtual network card eth1 can be accessed by other nodes in the VPC network.

[0117] After network traffic passes through the VT6528 chip and reaches the load balancing node, it undergoes full NAT, modifying the packet's source and destination IP addresses to local and real IP addresses outside the user network segment. The modified packet is then sent from an input logical network port. The logical switching chip selects a backend server based on the load balancing policy. The response packet from the backend server, with a destination IP address outside the user network segment, passes through the logical switching chip to the Ethernet controller chip (Realtek RTL8153B-VB-CG), and then through the virtual network card (eth1) to the VT6528 switch controller chip. This represents a Layer 3 switching process outside the same network segment. The VT6528 converts the packet's source IP address to a virtual IP address and the destination IP address to the client IP address before sending it from an input logical network port. The EIP network node converts the virtual IP address to an EIP address and sends it to the client.

[0118] The hardware of this invention supports custom configuration and expansion, enabling users to flexibly configure and manage networks as needed, meeting diverse network requirements and facilitating maintenance. The generalized network intelligent optimization terminal utilizes a low-cost, simple, and easy-to-maintain ARM architecture design. Furthermore, interchangeable hardware and software components enable product upgrades, resulting in enhanced network, CPU, and storage performance. This significantly improves P2P performance and UDP stability, particularly in multi-user environments, enhancing network stability and better meeting user network needs.

[0119] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0120] This document uses specific examples to illustrate the principles and implementation methods of the present invention. The above examples are only intended to help understand the method and core concept of the present invention. At the same time, those skilled in the art will find that the specific implementation methods and application scopes may vary based on the concept of the present invention. In summary, the contents of this specification should not be construed as limiting the present invention.

Claims

1. A generalized network intelligent optimization method, characterized in that: The generalized network intelligent optimization method comprises: Obtaining a domain name access request and a Web request initiated by a user network device; the domain name access request includes a target domain name; According to the target domain name, the custom upstream host and the pre-established DNS set, the optimal DNS server is determined, and the target domain name is resolved by the optimal DNS server to obtain the target IP address; the DNS set includes multiple DNS servers; wherein, according to the target domain name, the custom upstream host and the pre-established DNS set, the optimal DNS server is determined, including: judging whether the target domain name is located in the custom upstream host; if the target domain name is located in the custom upstream host, performing remote domain name resolution; if the target domain name is not located in the custom upstream host, sending a ping command to each DNS server in the DNS set through the user network device; determining the network connectivity and communication delay between the user network device and each DNS server according to the detection results returned by each DNS server; determining the priority of each DNS server according to the network connectivity and communication delay between the user network device and each DNS server, and the DNS server with the highest priority is the optimal DNS server; Obtain the performance parameters of each NAT server in the NAT server cluster; Determine an optimal NAT server according to the performance parameters of each NAT server, and respond to the Web request through the optimal NAT server according to the target IP address using a full cone network address translation technology; The BBR algorithm is used to control the sending rate of user network devices.

2. The generalized network intelligent optimization method according to claim 1, characterized in that: Determining the optimal DNS server according to the target domain name, the custom upstream host and the pre-established DNS set, further comprising: Monitor the usage time of the priority DNS server based on the preset timer; When the usage time reaches the preset management period, the network connectivity and communication delay between the user network device and each DNS server are re-determined to re-determine the priority of each DNS server.

3. The generalized network intelligent optimization method according to claim 1, characterized in that: Determine the optimal NAT server based on the performance parameters of each NAT server, including: For any NAT server, calculating the overall load rate of the NAT server according to the performance parameters of the NAT server; The NAT server with the lowest overall load rate is selected as the optimal NAT server.

4. The generalized network intelligent optimization method according to claim 3, characterized in that: The performance parameters of the NAT server include the CPU frequency, memory size, disk I / O rate, network bandwidth, CPU usage, memory usage, disk I / O read rate and network bandwidth occupancy of the NAT server; Calculating the overall load rate of the NAT server according to the performance parameters of the NAT server includes: Performing weighted summation on the CPU frequency, memory size, disk I / O rate, and network bandwidth of the NAT server to obtain static resource performance of the NAT server; Performing weighted summation on the CPU usage, memory usage, disk I / O read rate, and network bandwidth occupancy of the NAT server to obtain the dynamic resource performance of the NAT server; The overall load rate of the NAT server is determined according to the static resource performance and the dynamic resource performance of the NAT server.

5. The generalized network intelligent optimization method according to claim 1, characterized in that: The BBR algorithm is used to control the sending rate of user network devices, including: Use the BBR algorithm to estimate link bandwidth; For any data packet sent by the user network device, calculate the delay of the data packet according to the sending time and confirmation time of the data packet; Determine the current congestion window control parameters based on the delay of each data packet in the network; According to the current congestion window control parameter and the link bandwidth, the congestion window is adjusted, and the total amount of data transmitted by the network is controlled to be less than or equal to the congestion window, so as to control the sending rate of the network user equipment; When the network user equipment receives a data packet confirmation within one round trip time after adjusting the congestion window, the current congestion window control parameter is adjusted according to the current congestion window control parameter, the size of the data packet, the delay of each data packet in the network and the link bandwidth to readjust the congestion window.

6. The generalized network intelligent optimization method according to claim 5, characterized in that: The congestion window is determined using the formula cwnd_n=cwnd*RTP*BTW; where cwnd_n is the congestion window, cwnd is the current congestion window control parameter, RTP is the minimum delay of the data packet in the network, and BTW is the link bandwidth.

7. The generalized network intelligent optimization method according to claim 5, characterized in that: The generalized network intelligent optimization method also includes: Acquire the amount of data sent and received by the user network device within a set period of time, and calculate the benefit score before adjusting the link bandwidth according to the amount of data sent and received by the user network device within the set period of time; For any data packet sent by the user network device, calculate the receiving rate of the data packet according to the delay of the data packet, the total amount of data confirmed by the user network device when the user network device sends the data packet, and the total amount of data confirmed by the network user device when the network user device receives the data packet confirmation; adjusting the link bandwidth according to the receiving rate of each data packet sent by the user network device; Obtaining the amount of data sent and received by the user network device within a set period after the link bandwidth is adjusted, and calculating the benefit score after the link bandwidth is adjusted according to the amount of data sent and received by the user network device within the set period after the link bandwidth is adjusted; If the benefit score after adjusting the link bandwidth is less than the benefit score before adjusting the link bandwidth, the adjustment of the link bandwidth is canceled.

8. A generalized network intelligent optimization terminal, characterized in that: The generalized network intelligent optimization terminal includes: A domain name resolution module, used to obtain domain name access requests and Web requests initiated by user network devices; determine the optimal DNS server according to the target domain name, custom upstream host and a pre-established DNS set, and resolve the target domain name through the optimal DNS server to obtain a target IP address; the domain name access request includes the target domain name; the DNS set includes multiple DNS servers; wherein, according to the target domain name, custom upstream host and a pre-established DNS set, determining the optimal DNS server includes: determining whether the target domain name is located in the custom upstream host; if the target domain name is located in the custom upstream host, performing remote domain name resolution; if the target domain name is not located in the custom upstream host, sending a ping command to each DNS server in the DNS set through the user network device; determining the network connectivity and communication delay between the user network device and each DNS server according to the detection results returned by each DNS server; determining the priority of each DNS server according to the network connectivity and communication delay between the user network device and each DNS server, and the DNS server with the highest priority is the optimal DNS server; An address translation module is used to obtain performance parameters of each NAT server in the NAT server cluster; determine the optimal NAT server according to the performance parameters of each NAT server, and respond to the Web request through the optimal NAT server according to the target IP address using a full cone network address translation technology; The congestion control module is used to control the sending rate of user network devices using the BBR algorithm.

9. The generalized network intelligent optimization terminal according to claim 8, characterized in that: The domain name resolution module, the address conversion module and the congestion control module are all deployed in a Linux system.

Citation Information

Patent Citations

  • Domain name system DNS processing method and device, storage medium and electronic device

    CN108924274A

  • Method and server for managing network address translation NAT gateway

    CN109995890A

  • Optimization method for data retransmission of BBR congestion control algorithm

    CN116155825A

  • Generalized network intelligent optimization method and generalized network intelligent optimization terminal

    CN117240823A

  • Device, method, and program for DNS server selection, and name resolution system

    JP2007189540A

Cited By

  • Broadband speed measurement method based on TCP protocol

    CN121418327A