An end-to-end transmission method, system, device and medium for long-delay high-error communication environment

By sending NIL packets in the satellite network for fast start-up, congestion window adjustment, and fast retransmission, the throughput and transmission latency issues in long-latency, high-error-rate environments of satellite networks are solved, achieving higher network throughput and shorter transmission time.

CN116471239BActive Publication Date: 2026-05-12XIDIAN UNIV
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
XIDIAN UNIV
Filing Date
2023-04-20
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

The existing TCP transport layer protocol for satellite networks results in excessively high system throughput and transmission delay in long-latency and high-error-rate environments, and existing optimization methods have failed to effectively solve the problems of long latency and high error rates in satellite networks.

Method used

By sending NIL packets to probe network resources, fast startup, congestion window adjustment, fast retransmission, and recovery are performed to optimize the congestion control algorithm, improve network throughput, and shorten transmission latency.

Benefits of technology

It can effectively detect network resources, quickly adjust congestion windows, reduce retransmissions, increase network throughput, shorten transmission latency, and adapt to the long latency and high error rate environment of satellite networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116471239B_ABST
    Figure CN116471239B_ABST
Patent Text Reader

Abstract

A kind of end-to-end transmission method, system, device and medium for long-latency high error code communication environment, method includes: first, the connection of source end and destination is established, and low priority NIL packet is sent to detect network available resources for fast start, start timeout, then disconnect and reestablish the connection of source end and destination, start success, then the congestion window adjustment is carried out to the congestion that occurs, adjustment timeout, then disconnect and reestablish the connection of source end and destination, adjustment success, then the fast retransmission is carried out to lost packet, and lost packet is sent again, the fast recovery is carried out to NIL packet, continue to adjust congestion window if recovery is successful, recovery timeout, then disconnect and reestablish connection;System, device and medium are used to realize a kind of end-to-end transmission method for long-latency high error code communication environment;The present application improves network throughput by fast start, congestion adjustment, fast retransmission and fast recovery, and shortens the transmission delay of end-to-end.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of spatial information technology, specifically to an end-to-end transmission method, system, device, and medium for long-latency, high-error-rate communication environments. Background Technology

[0002] Satellite networks can provide communication services to areas that terrestrial mobile communication networks cannot cover, such as desert regions and open ocean areas. They can enable global broadband access and meet the transmission requirements of diverse future services, and have become an important component of next-generation mobile networks.

[0003] The existing satellite network transport layer protocol TCP (Transmission Control Protocol) completes end-to-end transmission through slow start, congestion avoidance, fast retransmission, and fast recovery. Initially, the source congestion window starts at 1 and increases exponentially by double. Once network congestion occurs, the destination's receive acknowledgment times out, the slow start threshold becomes half the current sending window, the congestion window drops to zero, and then increases exponentially by double until it reaches the slow start threshold, increasing linearly by one. When the source receives three retransmission requests with the same number from the destination, the source will no longer wait for a timeout and immediately retransmit the packet with that number. Simultaneously, the slow start threshold is set back to the current congestion window size, the congestion window becomes half its original size, and increases linearly by one. However, it has the following drawbacks:

[0004] (1) Slow start phase: The initial value of the congestion window starts from 1 and increases exponentially by two times, which affects the initial data transmission rate at the source end, reduces the system throughput, and increases the end-to-end transmission delay.

[0005] (2) Congestion avoidance phase: After receiving a successful transmission feedback message, the congestion window only increases by one unit length linearly, which slows down the increase of the source end transmission rate, reduces the system throughput, and increases the end-to-end transmission delay.

[0006] (3) Fast retransmission phase: The source end only performs the retransmission operation after receiving 3 repeated feedback messages, which increases the retransmission interval, causing the time for the source end to successfully send the retransmission packet to increase, reducing the system throughput and increasing the end-to-end transmission delay.

[0007] J. Qu et al. studied the congestion avoidance problem in satellite networks (An Enhanced TCP Vegas Algorithm Based on Route Surveillance and Bandwidth Estimation over GEO Satellite Networks," 2010 International Conference on Measuring Technology and Mechatronics Automation, 2010, pp. 464-467, doi:10.1109 / ICMTMA.2010.663.), but did not consider the long latency problem in large-scale satellite networks. In real-world scenarios, satellite networks experience significant propagation delays due to their high altitudes. The round-trip latency from LEO to the ground is approximately 50ms, from MEO to the ground approximately 250ms, and from high-orbit satellites to the ground approximately 239-280ms. This magnitude of latency inevitably affects the overall congestion control outcome. Similarly, J. Wang and K. Pham et al. optimized congestion control in satellite networks by optimizing queue management, considering the queuing problems and high error rate / packet loss caused by long latency (Design of Nonlinear Control for Active Satellites). Queue Management in TCP Satellite Communication Networks, "2020 IEEE Aerospace Conference, 2020, pp. 1-9, doi: 10.1109 / AERO47225.2020.9172560.", but its method of distinguishing packet loss by marking and reporting based on master queue management is not perfect. Moreover, it changes the TCP framework, dividing it into high and low layers for control. It only provides the low-layer control design, and the design of the high layer is still imperfect. It is incompatible with the existing protocol framework and cannot be practically applied in existing satellite network systems. Summary of the Invention

[0008] To overcome the shortcomings of the prior art, the present invention aims to provide an end-to-end transmission method, system, device, and medium for long-latency, high-error-rate communication environments. By sending NIL packets to probe network resources during the connection establishment phase and adjusting the congestion window and rapidly retransmitting lost packets after congestion occurs, the network throughput is improved, and the end-to-end transmission latency is shortened.

[0009] To achieve the above objectives, the technical solution adopted by the present invention is as follows:

[0010] An end-to-end transmission method for long-delay, high-error-rate communication environments includes the following steps:

[0011] Step 1: Establish a connection between the source and destination, and send low-priority NIL packets to probe available network resources and perform a fast start. If the start is successful, proceed to Step 2. If the start times out, disconnect and re-establish the connection between the source and destination.

[0012] Step 2: When congestion occurs in Step 1, adjust the congestion window. If the adjustment is successful, proceed to Step 3. If the adjustment times out, disconnect the connection and re-establish the connection between the source and destination.

[0013] Step 3: If packets are lost in Step 1 and Step 2, perform fast retransmission;

[0014] Step 4: Send lost packets and perform fast recovery of NIL packets. If recovery is successful, return to step 2 to continue adjusting the congestion window. If recovery times out, disconnect and re-establish the connection.

[0015] Step 1 specifically includes the following steps:

[0016] Step 1.1: When the source sends a SYN packet to establish a connection, the NIL packet is in the packet format specified by the TCP protocol. , Using the unspecified extension bits to set the NIL flag, NIL packets without data are sent. The number of NIL packets sent is shown in equation (1):

[0017] num=ssthresh / seg_size Formula (1)

[0018] In equation (1), num is the number of NIL groups, ssthresh is the slow start gate, and seg_size is the size of the NIL group;

[0019] Step 1.2: NIL packets are set to low priority. After receiving packets in intermediate ground relay nodes and satellite nodes, they are parsed and the NIL flag bit in the packet is checked to see if it is 1. When congestion occurs, the order of dropping packets is: NIL packets > NILACK packets > non-NIL packets.

[0020] Step 1.3: After the destination receives the NIL packet, it sends a NIL ACK packet back to the source. For each NIL packet received by the source, it increases the congestion window by one packet size. Before the third handshake connection is established, it increases by one packet. Once the connection is established and the sending of packets begins, the source receives the NIL packet and destroys it directly. The congestion window no longer increases by one packet size. At this point, the startup is successful.

[0021] Step 1.4: If the source end does not send a connection establishment request to the destination end within the specified time after sending the connection establishment request, the connection will be closed and the connection between the source end and the destination end will be re-established.

[0022] Step 2 specifically includes the following steps:

[0023] Step 2.1: When congestion occurs in step 1, calculate the ideal throughput under the current network conditions using equation (2):

[0024] Expected=cwnd(t-1) / RTT_min Formula (2)

[0025] In equation (2), Expected is the ideal throughput under the current network conditions, cwnd is the congestion window value at the previous moment, and RTT_min is the minimum round-trip time.

[0026] Step 2.2: Calculate the actual throughput under the current network conditions using equation (3):

[0027] Actual = cwnd(t-1) / RTT Equation (3)

[0028] In equation (3), Actual is the actual throughput under the current network conditions, cwnd is the congestion window value at the previous moment, and RTT is the current round-trip time.

[0029] Step 2.3: Calculate the difference between the ideal throughput and the actual throughput using equation (4), and estimate the amount of buffer space in the router:

[0030]

[0031] In equation (4), Diff is the estimated amount of cache in the router;

[0032] Step 2.4: Compare the estimated router buffer size Diff from Step 2.3 with the thresholds α and β, and adjust the size of the congestion window cwnd according to Equation (5):

[0033]

[0034] Step 2.5: When the slow start threshold drops to half the current window size and the congestion window becomes one packet size, disconnect the connection and re-establish the connection between the source and destination.

[0035] Step 3 specifically includes the following steps:

[0036] Step 3.1: Select retransmission via the SACK option of the TCP protocol. Only retransmit the lost packets. The destination will send back the information of the received and buffered discontinuous data packets to the source. The source can use this information to check which packet was lost and send the corresponding data packets to the destination.

[0037] Step 3.2: The destination sends a feedback response via the reverse link, informing the source of the data packet number that was not received correctly;

[0038] Step 3.3: The source end retransmits the data packets that were not successfully transmitted, based on the data packet number that was not received correctly provided by the destination end.

[0039] Step 4 specifically includes the following steps:

[0040] Step 4.1: After receiving NIL packets, the routers of satellite nodes in the satellite network increase the congestion window according to the number of NIL ACK packets received. For each NIL ACK packet received, the congestion window is increased by one data packet size.

[0041] Step 4.2: If the data packet loss is caused by congestion, the router will prioritize discarding the sent NIL packets;

[0042] Step 4.3: The source determines whether the packet loss is caused by congestion according to Step 4.2. If congestion exists, the congestion window is kept at the maximum window size when no congestion occurs. If the packet loss is due to bit errors, the sent NIL packets without bit errors can receive NIL ACK packets, while the NIL packets with bit errors cannot receive NIL ACK packets. The congestion window can be restored to the size before the window was halved due to congestion. When packet loss occurs again during the retransmission phase, the SACK option can also be used in the NIL packet. The NIL ACK packet notifies the source that the packet has been received by the destination. At this point, fast recovery is completed and the process returns to Step 2.

[0043] Step 4.4: If the source end does not send a connection establishment request to the destination end within the specified time after sending the connection establishment request, the connection will be closed and the connection between the source end and the destination end will be re-established.

[0044] An end-to-end transmission system for long-delay, high-error-rate communication environments includes:

[0045] Fast Startup Module: Increases the packet sending rate during startup and improves startup throughput;

[0046] Congestion avoidance module: When the fast start module loses packets, it detects whether the packet loss is caused by bit errors or congestion, and implements congestion avoidance according to the different situations;

[0047] Fast retransmission module: Retransmits lost packets that occur in the fast start module and congestion avoidance module, speeding up the retransmission rate and improving network throughput;

[0048] Fast recovery module: When window congestion occurs during packet transmission by the fast start module, congestion avoidance module, and fast retransmission module, the congestion window is quickly restored to the level before congestion avoidance, thereby accelerating the improvement of network throughput.

[0049] An end-to-end transmission device for long-delay, high-error-rate communication environments includes:

[0050] Memory: for storing a computer program that implements an end-to-end transmission method for a long-delay, high-error-rate communication environment as described in any one of claims 1-5;

[0051] Processor: Used to implement the end-to-end transmission method for long-delay, high-error-rate communication environments as described in any one of claims 1-5 when executing the computer program.

[0052] A computer-readable storage medium storing a computer program that, when executed by a processor, implements the end-to-end transmission method for long-latency, high-error-rate communication environments.

[0053] Compared with the prior art, the beneficial effects of the present invention are as follows:

[0054] 1. In the connection establishment phase, this invention sends NIL packets to probe network resources. When SYN packets encounter errors or are lost, NIL packets can serve as a substitute for SYN packets. When SYN packets are abnormal, NIL packets can replace SYN packets to establish a connection, effectively detecting available resources in the network. When network resources are limited, the window is expanded to a suitable window value, effectively solving the problem of excessively long startup time under long latency in traditional transmission protocols, thereby improving network throughput.

[0055] 2. The congestion avoidance algorithm of the present invention calculates the difference between the actual throughput and the ideal throughput of the network based on the round-trip time and the congestion window of the previous moment, infers the current router cache of the network, and adjusts the window to avoid congestion.

[0056] 3. In the retransmission stage, this invention adopts SACK technology for fast retransmission, which reduces the amount of data retransmission and avoids some timeout retransmissions, especially for some consecutive sixty packets, which has a good effect.

[0057] 4. This invention uses NIL packets for fast recovery. For packets lost due to bit errors, NIL packets can restore the congestion window value to the size before the packet loss within 1 second. For packets lost due to congestion, the congestion window can be kept at the maximum window size before congestion occurs, thereby improving throughput. Attached Figure Description

[0058] Figure 1 This is a flowchart of the method of the present invention.

[0059] Figure 2 The figure shows the simulation results of network throughput under ideal conditions provided in the embodiments of the present invention.

[0060] Figure 3 The figure shows the simulation results of network throughput under a high bit error rate environment provided in the embodiments of the present invention.

[0061] Figure 4 The simulation results of network throughput under light load are shown in the embodiment of the present invention.

[0062] Figure 5 The simulation results of network throughput under heavy load are shown in the embodiment of the present invention.

[0063] Figure 6 The simulation results of the network throughput of three connections accessing the same path are shown in the embodiment of the present invention. Detailed Implementation

[0064] The present invention will now be described in detail with reference to the accompanying drawings.

[0065] The application scenario of this invention is a large-scale satellite network, which includes 144 low-Earth orbit (LEO) satellites and 12 medium-Earth orbit (MEO) satellites. The LEO satellites have an orbital altitude of 1150 km, a satellite link rate of 100 Mbps, and a ground link rate of 44.5 Mbps. The network supports communication between ground users and communication between ground and satellite nodes.

[0066] See Figure 1 An end-to-end transmission method for long-delay, high-error-rate communication environments includes the following steps:

[0067] Step 1: Establish a connection between the source and destination, and send low-priority NIL packets to probe available network resources and perform a fast start. If the start is successful, proceed to Step 2. If the start times out, disconnect and re-establish the connection between the source and destination.

[0068] Step 2: When congestion occurs in Step 1, adjust the congestion window. If the adjustment is successful, proceed to Step 3. If the adjustment times out, disconnect the connection and re-establish the connection between the source and destination.

[0069] Step 3: If packets are lost in Step 1 and Step 2, perform fast retransmission;

[0070] Step 4: Send lost packets and perform fast recovery of NIL packets. If recovery is successful, return to step 2 to continue adjusting the congestion window. If recovery times out, disconnect and re-establish the connection.

[0071] Step 1 specifically includes the following steps:

[0072] Step 1.1: When the source sends a SYN packet to establish a connection, the NIL packet is in the packet format specified by the TCP protocol. , Using the unspecified extension bits to set the NIL flag, NIL packets without data are sent. The number of NIL packets sent is shown in equation (1):

[0073] num=ssthresh / seg_size Formula (1)

[0074] In equation (1), num is the number of NIL groups, ssthresh is the slow start gate, and seg_size is the size of the NIL group;

[0075] Step 1.2: NIL packets are set to low priority. After receiving the packets in the intermediate ground relay nodes and satellite nodes, they are parsed and the NIL flag bit in the packet is checked to see if it is 1. When congestion occurs, the order of dropping is: NIL packets > NILACK packets > non-NIL packets, so as to avoid affecting other services due to sending NIL packets.

[0076] Step 1.3: After receiving the NIL packet, the destination sends a NIL ACK packet back to the source. For each NIL packet received, the source increases the congestion window by one packet size. To prevent some packets from arriving late due to reasons such as satellite switching and affecting the real-time performance of the congestion window, an additional packet is added before the third handshake connection is established. Once the connection is established and packet transmission begins, the source receives the NIL packet and destroys it directly. The congestion window no longer increases by one packet size, and the startup is successful.

[0077] Step 1.4: After the source sends a connection establishment request to the destination, if the destination fails to respond in a timely manner due to network congestion or transmission errors within the specified time, it is considered a timeout. If the timeout occurs, the connection is disconnected and the connection between the source and the destination is re-established.

[0078] Step 2 specifically includes the following steps:

[0079] Step 2.1: When congestion occurs in Step 1, calculate the ideal throughput under the current network conditions using equation (2). The ideal throughput is the ratio of the congestion window size to the minimum round-trip time at the previous moment.

[0080] Expected=cwnd(t-1) / RTT_min Formula (2)

[0081] In equation (2), Expected is the ideal throughput under the current network conditions, cwnd is the congestion window value at the previous moment, and RTT_min is the minimum round-trip time.

[0082] Step 2.2: Calculate the actual throughput under the current network conditions using equation (3):

[0083] Actual = cwnd(t-1) / RTT Equation (3)

[0084] In equation (3), Actual is the actual throughput under the current network conditions, cwnd is the congestion window value at the previous moment, and RTT is the current round-trip time.

[0085] Step 2.3: Calculate the difference between the ideal throughput and the actual throughput using equation (4), and estimate the amount of buffer space in the router:

[0086]

[0087] In equation (4), Diff is the estimated amount of cache in the router;

[0088] Step 2.4: Compare the estimated router buffer size Diff from Step 2.3 with the thresholds α and β, and adjust the size of the congestion window cwnd according to Equation (5):

[0089]

[0090] Step 2.5: When the slow start threshold drops to half of the current window size and the congestion window becomes 1 packet size, it is considered an adjustment timeout. If the adjustment timeout occurs, the connection is disconnected and the connection between the source and destination is re-established.

[0091] Step 3 specifically includes the following steps:

[0092] Step 3.1: Select retransmission through the SACK option of the TCP protocol. Only retransmit lost packets to avoid continuous packet loss due to a large number of retransmissions in the case of severe congestion. At the same time, save network resources. The destination will feed back the information of the non-contiguous data packets that have been received and buffered to the source. The source can use this information to check which packet was lost and send the corresponding data packet to the destination.

[0093] Step 3.2: The destination sends a feedback response via the reverse link, informing the source of the data packet number that was not received correctly;

[0094] Step 3.3: The source end retransmits the data packets that were not successfully transmitted based on the data packet number that was not received correctly provided by the destination end. The retransmission operation is the same as the normal transmission operation process.

[0095] Step 4 specifically includes the following steps:

[0096] Step 4.1: After receiving NIL packets, the routers of satellite nodes in the satellite network increase the congestion window according to the number of NIL ACK packets received. For each NIL ACK packet received, the congestion window is increased by one data packet size.

[0097] Step 4.2: If the data packet loss is caused by congestion, the router will prioritize discarding the sent NIL packets;

[0098] Step 4.3: The source end determines whether the packet loss is caused by congestion according to Step 4.2. If congestion exists, the sending window size is reduced and the sending rate of the source end is reduced to keep the congestion window at the maximum window size when no congestion occurs. If the packet loss is caused by bit errors, then the sent NIL packets without bit errors can receive NIL ACK packets, and the NIL packets with bit errors cannot receive NIL ACK packets. The congestion window can be restored to the size before the window was halved due to congestion. When packet loss occurs again during the retransmission stage, the SACK option can also be used in the NIL packet. The NIL ACK packet notifies the source end that the packet has been received by the destination end. At this point, the fast recovery is completed and the process returns to Step 2.

[0099] Step 4.4: After the source sends a connection establishment request to the destination, if the destination fails to respond in a timely manner due to network congestion or transmission errors within the specified time, it is considered a recovery timeout. If the recovery timeout occurs, the connection will be disconnected and the connection between the source and the destination will be re-established.

[0100] The effects of the present invention will be further illustrated below with reference to the embodiments.

[0101] Simulation conditions for the example:

[0102] The network consists of 144 low-Earth orbit satellites distributed across 12 orbital planes, with 12 satellites per orbit, at an altitude of 1150 km. The ground link rate is 44.5 Mbps, the satellite link rate is 100 Mbps, and the link error rate ranges from 0 to 0.05%. The service type is FTP service, with each user requesting an FTP service of 25.6 Mbit. In the simulation scenario, the background stream unrelated to the service is 4.26 Mbit.

[0103] Simulation content and results of the example:

[0104] The following ISL protocol is the end-to-end transmission method for long-latency, high-error-rate communication environments described in this invention.

[0105] Example 1: The router cache is set to infinite length to test the algorithm's detection of the network's maximum throughput under ideal conditions. Ideally, the congestion control algorithm should reach the network's maximum rate. Simulation results are as follows: Figure 2 As shown.

[0106] Satellite networks are long-bandwidth networks, resulting in a large latency-bandwidth product, which leads to a longer time for the TCP protocol to reach the network's maximum capacity. (See [link / reference]). Figure 2 The ISL protocol enables data transmission to begin reaching a threshold value, with a larger rate value, and reaches the maximum link rate faster. Its average throughput is greater than that of the TCP protocol, and the overall transmission time is shorter.

[0107] As can be seen from Example 1, compared with the existing TCP protocol, the present invention has the advantages and innovations of shorter transmission time in terms of data transmission rate.

[0108] Example 2: The queue is set to unlimited length, and the link error rate is set to 0.05%. A comparison of this invention and the TCP protocol is tested in a high error environment. The results are as follows: Figure 3 As shown.

[0109] See Figure 3 In the face of the long latency and high bit error rate environment of satellite networks, the ISL protocol can effectively avoid the problem of slow congestion window increase during the startup phase caused by long latency. At the same time, in the case of high bit error rate packet loss, NIL fast recovery can recover to the window before packet loss more quickly, and SACK can reduce the situation of continuously small congestion windows and reduced throughput caused by continuous packet loss.

[0110] As can be seen from Example 2, compared with the existing TCP protocol, the present invention has the advantage and innovation of increasing the congestion window more quickly during the startup phase.

[0111] Example 3: The queue size was set to a bandwidth-delay product, and the link error rate was set to 0.05%. The throughput of different protocols was compared under light network load and in a high-error-rate environment within a satellite network. The results are as follows: Figure 4 As shown.

[0112] See Figure 4Under conditions of mild network congestion, the maximum throughput of the ISL protocol is higher than that of the TCP protocol. This is because the network is not congested at the beginning of transmission, and the decrease in throughput is mainly due to network errors. The ISL protocol has already achieved a high throughput from the beginning and recovers quickly from packet loss caused by errors. Furthermore, the ISL protocol avoids packet loss caused by congestion through congestion avoidance algorithms, thereby improving throughput.

[0113] As can be seen from Example 3, compared with the existing TCP protocol, the present invention has the advantages and innovations of achieving higher throughput at the beginning of packet loss and recovering packet loss faster under mild network congestion.

[0114] Example 4: The queue size was set to a bandwidth-delay product, and the link error rate was set to 0.05%. The throughput of different protocols was compared under heavy network load and in a high-error-rate environment within a satellite network. The results are as follows: Figure 5 As shown.

[0115] See Figure 5 In cases of severe network congestion, the throughput of the ISL protocol can reach the slow start threshold at the beginning, and then congestion avoidance is performed according to the network conditions. Unlike the TCP protocol, the congestion window does not rise blindly, which effectively avoids the decrease in throughput caused by network congestion. The file transfer time is also less than that of the TCP protocol.

[0116] As can be seen from Example 4, compared with the existing TCP protocol, the present invention avoids a decrease in throughput in the case of severe network congestion, and has the advantages and innovations of shorter file transfer time.

[0117] Example 5: Fairness reflects whether different connections in a network can share network resources equally. To test the fairness of the algorithm, three different ISL protocol connections are accessed along the same path at different times, and the throughput of the different connections is compared. The simulation results are as follows: Figure 6 As shown.

[0118] See Figure 6 Given a fixed amount of network resources, the throughput difference between different connections is relatively small, indicating good algorithm fairness.

[0119] As can be seen from Example 5, when network resources are fixed, the throughput difference between different connections is small, and the algorithm has good fairness.

[0120] The above description is merely a preferred simulation result of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

[0121] An end-to-end transmission system for long-delay, high-error-rate communication environments includes:

[0122] Fast Startup Module: Accelerates the transmission rate during startup and increases startup throughput, used in step 1 of end-to-end transmission methods for long-latency, high-error-rate communication environments;

[0123] Congestion avoidance module: When the fast start module loses packets, it detects whether the packet loss is caused by bit error or congestion, and implements congestion avoidance according to the different situations. This is used as step 2 of the end-to-end transmission method for long-latency and high-bit error communication environments.

[0124] Fast retransmission module: Retransmits lost packets in the case of fast start module and congestion avoidance module, speeds up retransmission rate and improves network throughput. It is used in step 3 of the end-to-end transmission method for long-latency and high-error communication environments.

[0125] Fast recovery module: When window congestion occurs during packet transmission by the fast start module, congestion avoidance module, and fast retransmission module, the congestion window is quickly restored to the level before congestion avoidance, thereby accelerating network throughput. This is the corresponding step 4 of the end-to-end transmission method for long-latency, high-error-rate communication environments.

[0126] An end-to-end transmission device for long-delay, high-error-rate communication environments includes:

[0127] Memory: Used to store the computer program for implementing the end-to-end transmission method for long-delay, high-error-rate communication environments;

[0128] Processor: Used to implement the end-to-end transmission method for long-delay, high-error-rate communication environments when executing the computer program.

[0129] The processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor, or any conventional processor. The processor is the control center of the end-to-end transmission equipment for long-latency, high-error-rate communication environments, connecting various parts of the equipment via various interfaces and lines.

[0130] When the processor executes the computer program, it implements the aforementioned steps for end-to-end transmission in a long-latency, high-error-rate communication environment. For example: establishing a connection between the source and destination; sending low-priority NIL packets to probe available network resources for fast startup; if startup times out, disconnecting and re-establishing the connection between the source and destination; adjusting the congestion window for any congestion; if adjustment times out, disconnecting and re-establishing the connection between the source and destination; performing fast retransmission of lost packets; sending lost packets; performing fast recovery of NIL packets; if recovery is successful, continuing to adjust the congestion window; if recovery times out, disconnecting and re-establishing the connection. This achieves the end-to-end transmission for a long-latency, high-error-rate communication environment.

[0131] Alternatively, when the processor executes the computer program, it implements the functions of each module in the above system, such as: a fast start module: accelerating the transmission rate during startup and increasing startup throughput; a congestion avoidance module: detecting whether the lost packets are caused by bit errors or congestion, and implementing congestion avoidance according to different situations; a fast retransmission module: accelerating the retransmission rate and improving network throughput; a fast recovery module: quickly restoring the congestion window to the level before congestion avoidance, accelerating the improvement of network throughput; and outputting the end-to-end transmission result for the long-latency, high-bit-error communication environment.

[0132] For example, the computer program can be divided into one or more modules / units, which are stored in the memory and executed by the processor to complete the present invention. The one or more modules / units can be a series of computer program instruction segments capable of performing preset functions. These instruction segments describe the execution process of the computer program in the end-to-end transmission device for long-latency, high-error-rate communication environments. For example, the computer program can be divided into a fast start module, a congestion avoidance module, a fast retransmission module, and a fast recovery module. The specific functions of each module are as follows: Fast start module: accelerates the transmission rate at startup and increases startup throughput; Congestion avoidance module: detects whether the lost packets are due to bit errors or congestion, and implements congestion avoidance according to different situations; Fast retransmission module: accelerates the retransmission rate and improves network throughput; Fast recovery module: quickly restores the congestion window to the level before congestion avoidance, accelerates network throughput improvement, and outputs the result of the end-to-end transmission for long-latency, high-error-rate communication environments.

[0133] The end-to-end transmission device for long-latency, high-error-rate communication environments can be a computing device such as a desktop computer, laptop, handheld computer, or cloud server. This device may include, but is not limited to, processors and memory. Those skilled in the art will understand that the above are examples of devices for end-to-end transmission in long-latency, high-error-rate communication environments and do not constitute a limitation on such devices. The device may include more components than described above, or combine certain components, or use different components. For example, the end-to-end transmission device for long-latency, high-error-rate communication environments may also include input / output devices, network access devices, buses, etc.

[0134] The memory can be used to store the computer program and / or modules. The processor implements various functions of the end-to-end transmission device for long-latency, high-error-rate communication environments by running or executing the computer program and / or modules stored in the memory and calling the data stored in the memory.

[0135] The memory may primarily include a program storage area and a data storage area. The program storage area may store the operating system and at least one application program required for a given function (such as sound playback or image playback). The data storage area may store data created based on the use of the phone (such as audio data or a phonebook). Furthermore, the memory may include high-speed random access memory (RAM) and non-volatile memory, such as hard disks, RAM, plug-in hard disks, SmartMediaCards (SMC), Secure Digital (SD) cards, flash cards, at least one disk storage device, flash memory device, or other volatile solid-state storage devices.

[0136] The present invention also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the end-to-end transmission method for long-latency, high-error-rate communication environments.

[0137] If the module / unit of the end-to-end transmission system integrated for long-delay, high-error-rate communication environments is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.

[0138] This invention implements all or part of the processes in the end-to-end transmission for long-latency, high-error-rate communication environments described above. It can also be accomplished by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium. When executed by a processor, the computer program implements the steps of the end-to-end transmission for long-latency, high-error-rate communication environments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or preset intermediate forms, etc.

[0139] The computer-readable storage medium may include: any entity or device capable of carrying the computer program code, recording media, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal, and software distribution medium, etc.

[0140] It should be noted that the content contained in the computer-readable storage medium may be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable storage medium does not include electrical carrier signals and telecommunication signals.

[0141] It should be noted that embodiments of the present invention can be implemented using hardware, software, or a combination of both. The hardware portion can be implemented using dedicated logic; the software portion can be stored in memory and executed by an appropriate instruction execution system, such as a microprocessor or dedicated hardware.

[0142] Those skilled in the art will understand that the above-described devices and methods can be implemented using computer-executable instructions and / or included in processor control code, for example, such code provided on a carrier medium such as a disk, CD, or DVD-ROM, a programmable memory such as read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. The devices and modules of the present invention can be implemented by hardware circuitry of semiconductors such as very large-scale integrated circuits or gate arrays, logic chips, transistors, etc., or programmable hardware devices such as field-programmable gate arrays, programmable logic devices, etc., or by software executed by various types of processors, or by a combination of the above-described hardware circuitry and software, such as firmware.

[0143] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any modifications, equivalent substitutions, and improvements made by those skilled in the art within the scope of the technology disclosed in the present invention, and within the spirit and principles of the present invention, should be covered within the scope of protection of the present invention.

Claims

1. An end-to-end transmission method for long-delay, high-error-rate communication environments, characterized in that, Includes the following steps: Step 1: Establish a connection between the source and destination, and send low-priority NIL packets to probe available network resources for a fast start. If the start is successful, proceed to Step 2. If the start times out, disconnect and re-establish the connection between the source and destination. The specific steps are as follows: Step 1.1: When the source sends a SYN packet to establish a connection, the NIL packet sets the NIL flag bit using an unspecified extension bit in the packet format specified by the TCP protocol, and sends a NIL packet without carrying data. The number of NIL packets sent is shown in equation (1): Equation (1) In equation (1), num is the number of NIL groups, ssthresh is the slow start gate, and seg_size is the size of the NIL group; Step 1.2: NIL packets are set to low priority. After receiving packets in intermediate ground relay nodes and satellite nodes, they are parsed and the NIL flag bit in the packet is checked to see if it is 1. When congestion occurs, the order of dropping packets is: NIL packets > NIL ACK packets > non-NIL packets. Step 1.3: After the destination receives the NIL packet, it sends a NIL ACK packet back to the source. For each NIL packet received by the source, it increases the congestion window by one packet size. Before the third handshake connection is established, it increases by one packet. Once the connection is established and packet sending begins, the source receives the NIL packet and destroys it directly. The congestion window no longer increases by one packet size. At this point, the startup is successful. Step 1.4: If the source end does not send a connection establishment request to the destination end within the specified time after sending the request, the connection will be closed and the connection between the source end and the destination end will be re-established. Step 2: When congestion occurs in Step 1, adjust the congestion window. If the adjustment is successful, proceed to Step 3. If the adjustment times out, disconnect the connection and re-establish the connection between the source and destination. Step 3: If packets are lost in Step 1 and Step 2, perform fast retransmission; Step 4: Send lost packets and perform fast recovery on NIL packets. If recovery is successful, return to Step 2 to continue adjusting the congestion window. If recovery times out, disconnect and re-establish the connection. The specific steps are as follows: Step 4.1: After receiving NIL packets, the routers of satellite nodes in the satellite network increase the congestion window according to the number of NIL ACK packets received. For each NIL ACK packet received, the congestion window is increased by one data packet size. Step 4.2: If the data packet loss is caused by congestion, the router will prioritize discarding the sent NIL packets; Step 4.3: The source end determines whether the packet loss is caused by congestion according to step 4.

2. If congestion exists, the congestion window is kept at the maximum window size when no congestion occurs. If the packet loss is due to a bit error, the NIL packet that was sent without a bit error can receive a NIL ACK packet, while the NIL packet that was bit errored cannot receive a NIL ACK packet. The congestion window can be restored to the size before the window was halved due to congestion. When another packet loss occurs during the retransmission phase, the SACK option can also be used in the NIL packet. The NIL ACK packet notifies the source end that the packet has been received by the destination end. At this point, the fast recovery is completed and the process returns to step 2. Step 4.4: If the source end does not send a connection establishment request to the destination end within the specified time after sending the connection establishment request, the connection will be closed and the connection between the source end and the destination end will be re-established.

2. The end-to-end transmission method for long-delay, high-error-rate communication environments according to claim 1, characterized in that, Step 2 specifically includes the following steps: Step 2.1: When congestion occurs in step 1, calculate the ideal throughput under the current network conditions using equation (2): Equation (2) In equation (2), For the ideal throughput under current network conditions, The congestion window value from the previous time step. Minimum round-trip time; Step 2.2: Calculate the actual throughput under the current network conditions using equation (3): Equation (3) In equation (3), This represents the actual throughput under current network conditions. The congestion window value from the previous time step. This is the current round-trip time delay; Step 2.3: Calculate the difference between the ideal throughput and the actual throughput using equation (4), and estimate the amount of buffer space in the router: Equation (4) In equation (4), Diff is the estimated amount of cache in the router; Step 2.4: Compare the estimated router buffer size Diff from Step 2.3 with the thresholds α and β, and adjust the size of the congestion window cwnd according to equation (5): Equation (5) Step 2.5: When the slow start threshold drops to half the current window size and the congestion window becomes one packet size, disconnect the connection and re-establish the connection between the source and destination.

3. The end-to-end transmission method for long-delay, high-error-rate communication environments according to claim 1, characterized in that, Step 3 specifically includes the following steps: Step 3.1: Select retransmission via the SACK option of the TCP protocol, retransmit only the lost packets. The destination will send back the information of the received and buffered discontinuous data packets to the source. The source will use this information to check which packet was lost and send the corresponding data packet to the destination. Step 3.2: The destination sends a feedback response via the reverse link, informing the source of the data packet number that was not received correctly; Step 3.3: The source end retransmits the data packets that were not successfully transmitted, based on the data packet number that was not received correctly provided by the destination end.

4. An end-to-end transmission system for long-delay, high-error-rate communication environments, characterized in that, The method described in any one of claims 1-3 includes: Fast Startup Module: Increases the packet sending rate during startup and improves startup throughput; Congestion avoidance module: When the fast start module loses packets, it detects whether the packet loss is caused by bit errors or congestion, and implements congestion avoidance according to the different situations; Fast retransmission module: Retransmits lost packets that occur in the fast start module and congestion avoidance module, speeding up the retransmission rate and improving network throughput; Fast recovery module: When window congestion occurs during packet transmission by the fast start module, congestion avoidance module, and fast retransmission module, the congestion window is quickly restored to the level before congestion avoidance, thereby accelerating the improvement of network throughput.

5. An end-to-end transmission device for long-delay, high-error-rate communication environments, characterized in that, include: Memory: for storing a computer program that implements an end-to-end transmission method for long-delay, high-error-rate communication environments as described in any one of claims 1-3; Processor: Used to implement the end-to-end transmission method for long-delay, high-error-rate communication environments as described in any one of claims 1-3 when executing the computer program.

6. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the end-to-end transmission method for long-delay, high-error-rate communication environments as described in any one of claims 1-3.