Method and system for enhancing TCP message transmission performance in asymmetric satellite networks

By configuring gateways on both sides of the satellite link and optimizing flow control and bandwidth allocation, the problem of poor TCP transmission performance in satellite networks is solved, achieving faster connection establishment and higher transmission efficiency.

CN116346955BActive Publication Date: 2025-09-12BEIJING HUALONGTONG SCI & TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310164302.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-24
Publication Date
2025-09-12
Estimated Expiration
2043-02-24

AI Technical Summary

Technical Problem

In satellite networks, TCP transmission performance is significantly affected by long delays, high bit error rates, and asymmetric channel bandwidth, resulting in decreased throughput and deteriorated transmission performance.

Method used

Client gateways and server gateways are configured on both sides of the satellite link, and a new flow control and bandwidth allocation mechanism is adopted. The standard TCP protocol is used through the ground link between the client gateway and the server gateway to optimize the TCP message transmission of the satellite network.

Benefits of technology

It speeds up the connection establishment process, improves the transmission performance of the satellite link, avoids confirmation message congestion, ensures the fair allocation and utilization of bandwidth resources, and improves the overall transmission performance of the satellite network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116346955B_ABST
    Figure CN116346955B_ABST
Patent Text Reader

Abstract

The present invention discloses a method and system for enhancing the TCP message transmission performance of an asymmetric satellite network. In order to solve the shortcomings and problems of the existing TCP protocol message application on satellite links, the present invention adopts a new connection establishment, bandwidth allocation, flow control and reception confirmation mechanism between satellite link gateways. The present invention speeds up the establishment process of two gateways of the satellite link and shortens the connection waiting time; the present invention enables delay-sensitive, bandwidth-sensitive and non-sensitive services to obtain bandwidth allocation suitable for their own business characteristics and ensures fairness for each service; the present invention avoids congestion and message loss on the satellite link. The reception confirmation mechanism of the present invention avoids congestion of confirmation messages and improves transmission performance. The present invention outperforms the standard TCP protocol in a satellite network environment with long delays and asymmetric uplink and downlink bandwidths, and can fully utilize the bandwidth resources of the downlink satellite link.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of satellite communication technology, and specifically relates to a method and system for enhancing the TCP message transmission performance of an asymmetric satellite network, a method for enhancing the TCP message transmission performance of a TCP message client gateway and a TCP message server gateway of an asymmetric satellite network, a TCP message transmission performance enhancement platform and a computer storage medium, and are used to enhance the TCP message transmission performance of a wireless and wired hybrid satellite network with asymmetric uplink and downlink. Background Art

[0002] The TCP protocol is a very complex protocol in the TCP / IP system. It has the following characteristics: TCP is a connection-oriented transport layer protocol; each TCP connection can only be point-to-point; TCP provides reliable delivery; TCP provides full-duplex communication.

[0003] (1) Three-way handshake to establish a connection: ensure the reliability of the connection establishment.

[0004] (2) Port number: The port number is used to identify upper-layer protocols and services, thereby achieving multiplexing of network channels.

[0005] (3) Integrity check: By calculating the checksum of the protocol and payload data, the receiver can detect any errors that may occur during the transmission process.

[0006] (4) Confirmation mechanism: For correctly received data, the receiver notifies the sender by displaying a response. After a certain period of time, the sender will retransmit the unconfirmed segments to ensure the reliability of the transmission.

[0007] (5) Sequence number: All data sent has a unique sequence number, which not only uniquely identifies each segment, but also clarifies the position of each segment in the entire data stream. The receiver can use this information to implement functions such as confirmation, loss detection, and out-of-order reordering.

[0008] (6) Window mechanism: Through an adjustable window, the TCP receiver can announce the expected sending rate, thereby controlling the data flow.

[0009] 1. TCP connection establishment

[0010] TCP requires a connection to be established before each data transmission. Data transmission begins only after the connection is successfully established. TCP uses a three-way handshake to establish a connection.

[0011] 1) First, the initiator A sends a connection request to the receiver B, with the SYN bit in the request segment set to 1 and the initial sequence number seq = x;

[0012] 2) After receiving the connection request, if B agrees to establish the connection, it sends a confirmation message to A, setting both the SYN bit and the ACK bit in the confirmation message segment to 1, the confirmation number ack = x + 1, and also selecting an initial sequence number seq = y for itself.

[0013] 3) After receiving the connection confirmation from B, A also sends a confirmation to B. In the confirmation message segment, the ACK bit is set to 1, the confirmation number ack = y + 1, and its own sequence number seq = x + 1. After B receives the confirmation message, the connection is established.

[0014] 2. TCP reliable transmission mechanism

[0015] 1) Select Confirm

[0016] To ensure the reliability of data transmission, TCP requires confirmation of the transmitted data. TCP uses sequence numbers and acknowledgment numbers to ensure transmission reliability. Every time data is transmitted, TCP will mark the starting sequence number of the message segment for the other party to confirm.

[0017] First, TCP does not require a one-to-one acknowledgment for each segment. The receiver can use an ACK to acknowledge all previously received data. For example, if the received acknowledgment sequence number is N+1, it means that the receiver has correctly received all data up to N.

[0018] In addition, TCP does not require that acknowledgments be sent separately, but rather allows acknowledgments to be placed within the TCP data segments being transmitted to the other party. If a segment is not immediately transmitted to the other party after it is received, TCP will usually wait for a small delay, hoping to combine the acknowledgment with the subsequent data segments and send them.

[0019] Since each segment has a unique number, it is easy to detect when the other party receives a duplicate segment, it is easy to locate when a data segment is lost, and it can be rearranged after being out of order.

[0020] 2) Timeout retransmission

[0021] During TCP transmission, the sender sends a multi-segment message to the receiver. The second segment with sequence number x is lost en route. The receiver only acknowledges the segment with the highest sequence number that was received in order and without error. When the sender receives this acknowledgment, it cannot be sure that the receiver has not received the second segment. This is because the second segment may not have arrived at the receiver, or the second acknowledgment sent by the receiver may have been delayed. Therefore, the sender cannot immediately retransmit the second segment. Only when the second segment has been sent for more than the RTT (Round Trip Time) without receiving an acknowledgment does the sender consider the segment lost and retransmit it.

[0022] 3. Flow Control

[0023] Flow control aims to control the sender's sending rate so that the receiver has enough time to receive the messages. TCP uses a sliding window with variable size and defines a window size notification mechanism to enhance flow control. These mechanisms provide TCP with a dynamic method for adjusting the flow rate between the sending and receiving systems.

[0024] The TCP sliding window size is measured in bytes, starting with the value indicated in the acknowledgment field. This value represents the number of bytes the receiver is expecting to receive at once. During TCP transmission, both parties exchange window sizes to indicate their remaining buffer space and the maximum amount of data they can receive next time, thus preventing buffer overflows.

[0025] Assume the initial send window size is 4096, each segment is 1024 bytes, and the sender sends four segments at a time to the receiver. After the receiver correctly receives these segments, it acknowledges them with confirmation number 4097. If the receiver's buffer is insufficient or its processing power is limited, it considers the sending rate too fast and requests that the send window be reduced by half. The receiver then sends back an acknowledgment that reduces the window size to 2048, requesting the sender to send only 2048 bytes at a time. Upon receiving this acknowledgment, the sender reduces the send window size as requested, thereby reducing the sending rate.

[0026] 4. Performance Enhancement Agent

[0027] Currently, the most widely used enhancement technology for improving TCP transmission performance is the Performance Enhancement Proxy (PEP) method. This method enhances protocol performance by adding hardware devices to disconnect TCP's end-to-end semantic connection. Depending on the implementation method, it can be categorized into two types: TCP spoofing and TCP segmentation.

[0028] like Figure 1 As shown in Figure 1, the main idea behind TCP spoofing is to mask the long propagation delay of the satellite channel to accelerate the increase in the TCP send window size. This method requires installing a PEP device on the sender. The PEP sends ACKs for TCP packets to the sender, making the sender believe that the propagation delay to the receiver is very short. This promotes a steady increase in the sliding window, thereby increasing the sending rate.

[0029] like Figure 2As shown in Figure 1, the TCP segmentation method involves installing PEP devices on both communicating parties, improving TCP throughput in both directions. This method is suitable for point-to-point communication scenarios. As terminal processing capabilities increase, PEP functionality can be embedded in terminals as software, with PEP servers installed at central stations. This allows TCP segmentation to be applied in star networks as well. During TCP segmentation, PEP not only performs the functions of a sender / receiver terminal but also performs the local confirmation function used in TCP spoofing.

[0030] Currently, the most widely used transport layer protocol in the Internet is TCP. However, when TCP is applied to satellite transmission networks, the characteristics of satellite transmission channels differ significantly from those of terrestrial network links, resulting in a significant decrease in throughput and a significant impact on transmission performance. This is primarily reflected in the following aspects:

[0031] 1) In satellite communication systems with significant transmission delays, TCP throughput is limited by the sliding window size. Without considering packet loss, TCP throughput is roughly calculated as sliding window size / RTT (RTT, propagation delay). The TCP protocol requires a large send window to fully utilize bandwidth. However, the standard TCP protocol has a maximum window size of 64KB, and many TCP implementations use an 8KB default send window. This results in very low throughput in satellite network communications, leading to significant communication delays.

[0032] 2) The bit error rate of satellite links is higher than that of terrestrial networks. The standard TCP protocol will treat all bit errors as network congestion and use the slow start algorithm to reduce the send window value to avoid congestion. This not only fails to alleviate congestion, but also worsens the transmission performance of satellite links.

[0033] 3) A notable feature of satellite communication networks is the asymmetry between the forward and reverse links. The TCP protocol requires the use of confirmation messages sent in the reverse link to trigger the data sender to continue sending data. However, this asymmetry in uplink and downlink bandwidth can lead to congestion of confirmation messages in the uplink, and the chain reaction reduces the transmission performance of the downlink. Summary of the Invention

[0034] The purpose of the present invention is to solve the problem of poor TCP transmission performance in a satellite network environment caused by factors such as long delay, high bit error rate and asymmetric channel bandwidth.

[0035] To achieve the above objectives, the present invention provides a method for enhancing the TCP message transmission performance of a client gateway in an asymmetric satellite network. The method comprises configuring a client gateway at each satellite link access point close to the client device side to communicate with a server gateway at the other end of the satellite link. The terrestrial links between the client and the client gateway, and between the server and the server gateway, adopt the standard TCP protocol.

[0036] The client gateway performs the following steps during the connection establishment process between the client and the server:

[0037] The step of receiving a first TCP connection request; in this step, the client gateway receives the first TCP connection request sent by the client to the server;

[0038] The step of establishing a TCP connection with the client; in this step, the client gateway establishes a TCP connection between the client and the client gateway as a server using the standard TCP protocol according to the first TCP connection request;

[0039] The step of receiving the client data message; in this step, after establishing a TCP connection with the client, the client gateway begins to receive the uplink data message sent by the client to the server;

[0040] The step of forwarding the TCP request to the server gateway; in this step, the client forwards the first TCP connection request to the server gateway at the same time as or after establishing a TCP connection with the client;

[0041] The step of forwarding downlink data packets; in this step, the client gateway receives the downlink data packet forwarded by the server gateway and forwards it to the client; wherein the first downlink data packet received contains a confirmation message, and the downlink data packet is forwarded to the client after intercepting the confirmation message;

[0042] The step of sending an uplink data message and an acknowledgment message; in this step, after receiving the first downlink data message containing the acknowledgment message, the client gateway forwards the uplink data message to the server gateway; wherein, the client gateway adds the re-acknowledgment message to the first uplink data message sent by the client and sends it to the server gateway. Furthermore, after the client gateway establishes a connection with the server gateway, during the data transmission process, the server gateway requires the client gateway to confirm the received data message, and the client gateway also performs the following steps:

[0043] A step of receiving a reception confirmation message, in which the client gateway receives a downlink data message with a reception confirmation message; the server gateway adds a reception confirmation message to the end of the last downlink data message every time it sends N downlink data messages, and the downlink data message carries the reception confirmation message;

[0044] The step of sending a reception reply message. In this step, after the client gateway receives the downlink data message with the reception confirmation message, it intercepts the reception confirmation message and forwards the remaining downlink data message to the client, and then adds the reception reply message to the uplink data message sent to the server gateway according to the reception confirmation message. If there is no uplink data message to be sent, a separate reception reply message is sent to the server gateway. The reception reply message confirms all data messages received previously.

[0045] The present invention also provides a method for enhancing the TCP message transmission performance of an asymmetric satellite network server gateway, wherein the server gateway is configured at a satellite link access point close to a server device, and communicates with a client gateway at the other end of the satellite link. The ground links between the client and the client gateway, and between the server and the server gateway adopt a standard TCP protocol; and

[0046] The server gateway performs the following steps during the process of establishing a connection between the client and the server:

[0047] The step of receiving a first TCP connection request; in this step, the server gateway receives the first TCP connection request sent by the client to the server from the client gateway;

[0048] The step of establishing a TCP connection with the server; in this step, the client gateway establishes a TCP connection between the server gateway and the server using the standard TCP protocol as the client according to the first TCP connection request;

[0049] The step of forwarding the downlink data message; in this step, after the TCP connection with the server is established, the server gateway begins to receive the downlink data message sent from the server and forwards it to the client gateway; wherein, the server gateway puts the confirmation message into the first downlink data message sent by the server and sends it to the client gateway;

[0050] The step of receiving and forwarding an uplink data message; in this step, the server gateway receives the uplink data message sent by the client gateway and forwards it to the server; wherein, the first uplink data message received contains a reconfirmation message, and the uplink data message is forwarded to the server after intercepting the reconfirmation message;

[0051] Confirmation message monitoring step; in this step, when sending a confirmation message to the client gateway, the server gateway starts timing monitoring. If a×RTT is exceeded and no reconfirmation message is received from the client gateway, the server gateway will resend the confirmation message and start timing monitoring again. If a×RTT time is exceeded and no reply is received, the server gateway stops sending data, terminates the connection with the client gateway, and stops data forwarding; where a is a coefficient greater than 1 and less than 2, and RTT is the round-trip time from the server gateway to the client gateway.

[0052] Furthermore, a method for enhancing the TCP message transmission performance of an asymmetric satellite network server gateway is characterized in that the server gateway is responsible for bandwidth allocation, and the bandwidth allocation is specifically:

[0053] Satellite link services are pre-classified into three types: services with high latency requirements, services with high bandwidth requirements, and services with no significant latency or bandwidth requirements.

[0054] The server gateway determines the service type based on the message. For the first type of service, R sending channels are set up according to the R priorities of the message. Each channel has exclusive access to the entire bandwidth C, where C is the total bandwidth of the downlink where the server responds to the client message. Messages with higher priorities are sent first, and low-priority messages are sent after high-priority messages are sent. After all messages of the first type of service are sent, messages of the second type of service are processed.

[0055] For the second type of business, S sending channels are set and a corresponding channel sending capacity is allocated to each sending channel. Messages are randomly allocated to each sending channel and sent starting from the first sending channel. When the message sending capacity is less than the channel sending capacity, all messages are sent out. When the message sending capacity is greater than the channel sending capacity, only messages with the channel sending capacity are sent, and then messages from the next sending channel are sent. After the Sth sending channel is sent, the message from the first sending channel is sent again, and this cycle repeats until all messages from all channels are sent. The message random allocation is to calculate the value of the corresponding channel in the S sending channels based on the source address, destination address, source port number, destination port number, protocol type, and interface ID of the message as inputs of the random algorithm, and send the message to the corresponding sending channel according to the value. When the second type of business is sent, the third type of business is processed.

[0056] For the third type of service, let the message priority be T, and correspondingly set T sending channels, and the weight of channel i is c i , i=1,2,…,T, the bandwidth occupied by channel i is C is the total downlink bandwidth of the server's response to the client's message. Messages are sent to the corresponding transmission channel based on their priority and are sent in order of priority. R, S, and T are all natural numbers greater than or equal to 2.

[0057] Furthermore, each TCP connection between the server gateway and the client gateway is allocated a to-be-sent buffer and a sent buffer. For each TCP connection, the server gateway sends the data message in the to-be-sent buffer, and caches the sent data message in the sent buffer for retransmission in case of an error.

[0058] When the rate at which the server gateway receives data from the server is greater than the rate at which the server gateway sends data to the satellite link, the server gateway performs flow control based on the to-be-sent buffer and the sent buffer. Specifically, the flow control is:

[0059] When the buffer to be sent is full, the prohibition flag of the buffer to be sent is set, prohibiting the reception of messages from the TCP connection with the server; when the data messages in the buffer to be sent decrease below the buffer threshold A1, data reception from the TCP connection with the server is restarted; the buffer threshold A1 is greater than or equal to zero and less than the maximum value of the buffer to be sent;

[0060] When the sent buffer is full, the sent buffer prohibition flag is set, and the server gateway no longer sends data to the satellite link; when the data message in the sent buffer decreases below the cache threshold A2, the server gateway restarts sending data to the satellite link, where the cache threshold A2 is greater than or equal to zero and less than the maximum value of the sent buffer.

[0061] Furthermore, after the client gateway establishes a connection with the server gateway, during the data transmission process, the server gateway requires the client gateway to confirm the received data message, and the server gateway also performs the following steps:

[0062] The step of sending a reception confirmation message; in this step, the server gateway adds a reception confirmation message to the last downlink data message and sends it to the client gateway every time it sends N downlink data messages;

[0063] Receiving a reply message; in this step, the server gateway receives an uplink data message with a received reply message or a separate received reply message from the client gateway, and clears the data message cached in the sent buffer;

[0064] Where, N=(C s / M s -C x / M x ) / (C x / M x ), where C sis the uplink bandwidth, M s To confirm the size of the uplink message, C x is the downlink bandwidth, M x The size of the downlink data packet.

[0065] The present invention also provides a method for enhancing the TCP message transmission performance of an asymmetric satellite, comprising a client gateway and a server gateway, wherein the client gateway is configured at each satellite link access point close to the client device side, and the server gateway is configured at each satellite link access point close to the server device side, and the ground links between the client and the client gateway and between the server and the server gateway adopt the standard TCP protocol; wherein,

[0066] The client gateway adopts a corresponding TCP message transmission performance enhancement method, and the server gateway adopts a corresponding TCP message transmission performance enhancement method.

[0067] The present invention also provides a TCP message transmission performance enhancement system for asymmetric satellites, comprising a client gateway and a server gateway. The client gateway is configured at each satellite link access point close to the client device side, and the server gateway is configured at each satellite link access point close to the server device side. The ground links between the client and the client gateway and between the server and the server gateway adopt the standard TCP protocol; wherein,

[0068] The client gateway executes the corresponding TCP message transmission performance enhancement method, and the server gateway executes the corresponding TCP message transmission performance enhancement method at the same time.

[0069] The present invention also provides a TCP message transmission performance enhancement platform, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the TCP message transmission performance enhancement method for an asymmetric satellite network client gateway, or can execute the TCP message transmission performance enhancement method for an asymmetric satellite network server gateway, or can execute the TCP message transmission performance enhancement method for an asymmetric satellite.

[0070] The present invention also provides a computer-readable storage medium storing a computer program, characterized in that when the computer program is executed by a processor, it implements the TCP message transmission performance enhancement method for an asymmetric satellite network client gateway, or implements the TCP message transmission performance enhancement method for an asymmetric satellite network server gateway, or implements the TCP message transmission performance enhancement method for an asymmetric satellite.

[0071] Beneficial effects

[0072] The present invention speeds up the process of establishing two gateways in a satellite link, shortening the connection waiting time caused by long delays. The bandwidth allocation mechanism adopted by the present invention enables delay-sensitive, bandwidth-sensitive, and non-sensitive services to receive bandwidth allocations tailored to their respective service characteristics, thus ensuring fairness for each service to the greatest extent possible. The flow control of the present invention can avoid congestion and message loss on the satellite link. The present invention adopts a reception confirmation mechanism based on the sender's active request, avoiding the TCP protocol's frequent message confirmations that can lead to message confirmation congestion in the satellite link, and improving the transmission performance of the entire system. The present invention outperforms the standard TCP protocol in satellite network environments with long delays and asymmetric uplink and downlink bandwidths, and the bandwidth resources of the downlink satellite link can be fully utilized. BRIEF DESCRIPTION OF THE DRAWINGS

[0073] Figure 1 This is a schematic diagram of TCP spoofing in the prior art.

[0074] Figure 2 Schematic diagram of TCP segmentation in the prior art.

[0075] Figure 3 This is a network structure diagram of the present invention.

[0076] Figure 4 This is the bandwidth allocation scheduling diagram in the present invention.

[0077] Figure 5 The diagram is a schematic diagram of the communication process between the client gateway and the server gateway in the method of the present invention.

[0078] Figure 6 The figure is a schematic diagram of the process of server gateway monitoring confirmation message in the method of the present invention.

[0079] Figure 7 This is a block diagram of the TCP message transmission performance enhancement platform of the present invention. DETAILED DESCRIPTION

[0080] The specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings.

[0081] The purpose of the present invention is to improve the transmission performance of TCP messages in satellite networks. Therefore, a set of TCP message transmission performance enhancement methods and devices suitable for satellite networks with asymmetric wireless and wired hybrid uplink and downlink transmission are proposed. The present invention adopts a new flow control algorithm and optimizes satellite network transmission performance, thereby improving the throughput and bandwidth resource utilization of satellite downlinks in the network. The present invention provides a gateway at each access point on both sides of the satellite link, thereby dividing a TCP connection into three segments. The ground links on both sides of the gateway still use the standard TCP protocol, and the transmission performance enhancement method designed by the present invention is used between the two gateways. In addition to considering the optimization issues of satellite network communication between gateways, the present invention does not require changes to the protocol stack of the terminal node, thus having good compatibility and facilitating practical application.

[0082] Example 1

[0083] This embodiment is used to explain in detail the method for enhancing the TCP message transmission performance of an asymmetric satellite network client gateway and a server gateway according to the present invention.

[0084] 1) Network structure

[0085] Satellite network structure Figure 3 As shown, the client connects to the Internet through an asymmetric satellite network and accesses the server resources thereon. An access gateway (client gateway 1 to client gateway n) is configured at each satellite ground station on the side close to the client; a server gateway is configured at the satellite ground station on the side close to the server, which is called a server gateway. The transmission enhancement method of the present invention is performed between client gateways 1 to n and the server gateway. The method is bidirectionally interactive. The link from the client's client gateway n to the server gateway is called an uplink, and the link from the server gateway to the client gateway n is called a downlink. As a server gateway, the server gateway can interact with multiple client gateways, and multiple client gateways share the same downlink bandwidth resources.

[0086] 2) Connection establishment

[0087] In order to speed up the connection establishment, the method of the present invention designs a new connection establishment process to shorten the connection waiting time caused by long delays.

[0088] When a client initiates a TCP connection request to a server, the request is first intercepted by the client gateway, establishing a TCP connection between the client and the client gateway. The client gateway then sends a connection request to the server gateway, and the client begins sending data packets to its corresponding client gateway as needed. After receiving the client's connection request to the server, the server gateway first establishes a TCP connection with the server. The server then immediately enters the data transmission state, and the server gateway begins forwarding downlink data packets sent by the server to the client gateway. The server gateway includes the confirmation message for the connection with the client gateway in the first downlink data packet and then sends the first data packet containing the confirmation message to the client gateway. After receiving the first downlink data packet from the server, the client gateway begins sending uplink data packets sent by the client to the server gateway. After receiving the first downlink data packet containing the confirmation message from the server gateway, the client gateway sends a reconfirmation message to the server gateway, which is also included in the first uplink data packet for transmission.

[0089] From the above process, it can be seen that from the time the client gateway initiates the connection establishment to the time it receives the first data packet from the server, there is only a round-trip time (RTT) waiting in between. Compared with the standard TCP connection's three-way handshake, which requires at least 2 RTT waiting times, this method can increase the response speed by about 2 times.

[0090] Since the server gateway starts transmitting data without receiving a confirmation from the client gateway, this will lead to a situation where if the confirmation message sent by the server gateway to the client gateway is lost on the way, the client gateway will re-establish the connection with the server gateway if it times out without receiving the confirmation message. However, the server gateway does not know this and will continue to transmit data to the client gateway. To prevent this from happening, we set up a time controller on the server gateway. When the server gateway sends a confirmation message to the client gateway, the time controller is started. If the controller times out more than 1.25RTT and has not received a reconfirmation message from the client gateway, the server gateway will resend the confirmation message and wait for the client gateway to reply. If there is no reply within 1.25RTT, the server gateway will stop sending data and terminate the current connection.

[0091] 3) Bandwidth allocation

[0092] When the total throughput of the TCP connection between the server and the server gateway is greater than the fixed bandwidth of the satellite link between the server gateway and the client gateway, if each connection between the server gateway and the client gateway n is still sent on the satellite link at the rate received by the server gateway to the server connection, it will definitely cause satellite link transmission congestion and TCP message loss, thereby reducing the transmission performance of the satellite link. In order to solve this problem, the method of the present invention adopts the introduction of a bandwidth allocation mechanism at the server gateway. The bandwidth allocation mechanism first calculates the transmission rate of each client connection on the satellite link, and then calls a suitable bandwidth allocation algorithm to allocate bandwidth for each connection. Since connections are constantly joining and exiting during the operation of the transmission system, and the rate of each connection also changes over time, the bandwidth allocation algorithm should also be able to dynamically adapt to changes in connections to ensure that the bandwidth utilization of the downlink can reach the optimal level at each moment, and each connection can receive relatively fair service. The above problem can be expressed in mathematical form as follows:

[0093] Assume that the total bandwidth of the downlink where the server responds to the client message is C, and there are n TCP connections at a certain time T, then the result we need to achieve is to allocate bandwidth C1, C2, ..., C for each TCP connection. n , and two conditions must be met: and the bandwidth allocated to each connection remains fair.

[0094] like Figure 4 As shown in the figure, to ensure bandwidth fairness, we define bandwidth allocation based on the priority of the message. Messages with higher priorities are allocated more bandwidth, while messages with lower priorities are allocated less bandwidth. Messages of every priority can be allocated bandwidth for transmission. Based on the possible service types in satellite networks, we classify common message types into three types:

[0095] The first type: services with high latency requirements, mainly including interactive real-time applications, which need to minimize network latency;

[0096] The second type: services with high bandwidth requirements, mainly including large file distribution, which need to meet certain bandwidth requirements;

[0097] The third type is the best-effort service that has no obvious requirements for latency and bandwidth, such as web browsing and email.

[0098] To meet the scenario where all three of the above services can be transmitted through satellite networks, we have designed the following bandwidth allocation and scheduling mechanism:

[0099] a) First, determine the service type. For the first type of service, four priorities are assigned: P1, P2, P3, and P4. The priority order is P1>P2>P3>P4. Each priority corresponds to a sending channel, and each channel has exclusive access to the entire bandwidth. Messages with higher priorities are sent first. After high-priority messages are sent, low-priority messages are sent. After all messages of the first type of service are sent, messages of the second type of service are processed.

[0100] b) When processing the second type of service, the message is sent to 10 different transmission channels based on the result calculated by a random algorithm based on the source address, destination address, source port number, destination port number, protocol type, and interface ID of the message. The transmission volume of each channel is calculated: in this embodiment, the transmission volume is equal to the number of transmission channels N (1 to 10) plus 10 multiplied by 1000. Transmission starts from the first channel. When the message transmission volume is less than the channel transmission volume, all messages are sent. When the message volume is greater than the channel transmission volume, only messages equal to the channel transmission volume are sent, and then messages from channel N+1 are sent. This cycle repeats until all messages from all channels have been sent.

[0101] c) After the second type of service is sent, the third type of service is processed. In this phase, eight sending channels are set, corresponding to the eight priorities of the packets to be processed. Messages with priorities 1 to 8 enter sending channels 1 to 8. The bandwidth weights assigned to sending channels 1 to 8 are 100, 200, 300, 400, 500, 600, 700, and 800, respectively. For example, if the bandwidth is 1000 Mb / s and a message with priority 8 enters sending channel 8, the sending rate is 1000 × 800 / (100 + 200 + 300 + 400 + 500 + 600 + 700 + 800) = 222 Mb / s.

[0102] 4) Flow control

[0103] To avoid network congestion and packet loss when the total throughput of all TCP connections from server to server gateway is greater than the fixed bandwidth of the satellite link between the server gateway and each terminal gateway, we introduce a flow control mechanism at the server gateway. Two buffers are allocated in the TCP connection between the server gateway and each terminal gateway: a to-be-sent buffer and a sent buffer. For each connection, the data packets in the to-be-sent buffer are sent to the satellite link at the transmission rate calculated in the previous section. The sent packets are cached in the sent buffer for retransmission in case of errors.

[0104] Flow control controls data transmission and reception by setting two flow control flags. First, set storage limits for the pending and sent buffers. The pending buffer should be configured based on the server gateway's actual memory size. Here, the pending buffer is configured to hold 30% of the server gateway's memory, while the sent buffer is set to the product of three times the bandwidth and latency. When the server gateway receives data from the server faster than it sends data to the satellite link, appropriate flow control is required to prevent overflows in the pending and sent buffers, leading to data loss. When the pending buffer is full, the pending buffer's prohibit send flag is set, prohibiting data from being received from the TCP connection with the server. When the pending buffer size decreases to two-fifths of its maximum length, the pending buffer's allow send flag is set, resuming data reception from the TCP connection with the server. When the sent buffer is full, the sent buffer's prohibit send flag is set, halting data transmission to the satellite link. When the sent buffer size decreases to two-fifths of its maximum length, the sent buffer's allow send flag is set, resuming data transmission to the satellite link.

[0105] 5. Receipt confirmation

[0106] The traditional TCP protocol requires the data receiver to confirm each message it receives. In the network with asymmetric uplink and downlink bandwidth of the present invention, if confirmation is required for each message received, it will cause congestion of confirmation messages in the uplink, affecting the normal data transmission of the sender.

[0107] The new confirmation method adopted by the present invention does not require the receiver to confirm the received message. Instead, the sender needs to actively send a confirmation message, and then the receiver replies to confirm. The sender clears the cached messages in the sent message buffer based on the confirmation message. The specific implementation process is described as follows:

[0108] 1) Every time the server gateway sends N data packets, it adds a confirmation message field at the end of the last data packet. This field is used to indicate the message information that needs to be confirmed;

[0109] 2) When the terminal gateway receives the Nth data message, it parses the confirmation message field at the end and encapsulates the reply confirmation message in the tail field of the data message sent to the server gateway. If there is no reply message, it constructs a separate reply message and replies to the server gateway with a confirmation message field to confirm all previously received data messages;

[0110] 3) After receiving the confirmation message sent by the terminal gateway, the server gateway clears the messages cached in the sent buffer.

[0111] The N value should ensure that the uplink is not congested and the server gateway waits for the reply confirmation as much as possible. Assuming the uplink bandwidth is C s , the size of the uplink confirmation message is M s , the downlink bandwidth is C x , the downlink data message size is M x According to the calculation, N=(C s / M s -C x / M x ) / (C x / M x ).

[0112] Example 2

[0113] This embodiment is used to explain in detail the method for enhancing the TCP message transmission performance of an asymmetric satellite network client gateway according to the present invention.

[0114] In the TCP message transmission performance enhancement method for an asymmetric satellite network client gateway of this embodiment, a client gateway is configured at each satellite link access point close to the client device side to communicate with the server gateway at the other end of the satellite link. The ground links between the client and the client gateway and between the server and the server gateway use the standard TCP protocol.

[0115] like Figure 5 As shown in the figure, the client gateway performs the following steps during the process of establishing a connection between the client and the server:

[0116] Step S110 of receiving a first TCP connection request: In this step, the client gateway receives the first TCP connection request sent by the client to the server;

[0117] Step S120 of establishing a TCP connection with the client; in this step, the client gateway establishes a TCP connection between the client and the client gateway as a server using the standard TCP protocol according to the first TCP connection request;

[0118] Step S130 of receiving client data packets: In this step, after establishing a TCP connection with the client, the client gateway begins to receive uplink data packets sent by the client to the server;

[0119] Step S140 of forwarding the TCP request to the server gateway; in this step, the client forwards the first TCP connection request to the server gateway while or after establishing a TCP connection with the client;

[0120] Step S150 of forwarding downlink data packets; in this step, the client gateway receives the downlink data packets forwarded by the server gateway and forwards them to the client; wherein, the first downlink data packet received contains a confirmation packet, and after intercepting the confirmation packet, the downlink data packet is forwarded to the client;

[0121] Step S160 of sending an uplink data message and a confirmation message; in this step, after receiving the first downlink data message containing the confirmation message, the client gateway forwards the uplink data message to the server gateway; wherein, the client gateway adds the reconfirmation message to the first uplink data message sent by the client and sends it to the server gateway.

[0122] Furthermore, after the client gateway establishes a connection with the server gateway, during the data transmission process, the server gateway requires the client gateway to confirm the received data message. The client gateway also performs the following steps:

[0123] Step S170 of receiving a reception confirmation message: in this step, the client gateway receives a downlink data message with a reception confirmation message; the server gateway adds a reception confirmation message to the end of the last downlink data message every time it sends N downlink data messages, and the downlink data message carries the reception confirmation message;

[0124] Step S180 of sending a reception reply message. In this step, after the client gateway receives the downlink data message with the reception confirmation message, it intercepts the reception confirmation message and forwards the remaining downlink data message to the client, and then adds the reception reply message to the uplink data message sent to the server gateway based on the reception confirmation message. If there is no uplink data message to be sent, a separate reception reply message is sent to the server gateway. The reception reply message confirms all data messages received previously.

[0125] Example 3

[0126] This embodiment is used to explain in detail the method for enhancing the TCP message transmission performance of an asymmetric satellite network server gateway according to the present invention.

[0127] In the TCP message transmission performance enhancement method for an asymmetric satellite network server gateway of this embodiment, a server gateway is configured at a satellite link access point close to the server device side, and the ground links between the client and the client gateway and between the server and the server gateway communicate with the client gateway at the other end of the satellite link using the standard TCP protocol.

[0128] like Figure 5 、 Figure 6 As shown, the server gateway performs the following steps during the process of establishing a connection between the client and the server:

[0129] Step S210 of receiving a first TCP connection request: In this step, the server gateway receives the first TCP connection request sent by the client to the server from the client gateway;

[0130] Step S220 of establishing a TCP connection with the server; in this step, the client gateway establishes a TCP connection between the server gateway and the server using the standard TCP protocol as the client according to the first TCP connection request;

[0131] Step S230 of forwarding the downlink data message; in this step, after the TCP connection with the server is established, the server gateway begins to receive the downlink data message sent from the server and forwards it to the client gateway; wherein the server gateway places the confirmation message in the first downlink data message sent by the server and sends it to the client gateway;

[0132] Step S240 of receiving and forwarding an uplink data message; in this step, the server gateway receives the uplink data message sent by the client gateway and forwards it to the server; wherein, the first uplink data message received contains a reconfirmation message, and the uplink data message is forwarded to the server after intercepting the reconfirmation message;

[0133] Confirmation message monitoring step S250: In this step, when sending a confirmation message to the client gateway, the server gateway begins timing monitoring. If the uplink data message with the confirmation message sent by the client gateway is not received for more than a × RTT, the server gateway resends the confirmation message and starts timing monitoring again. If it is not received for more than a × RTT, the server gateway stops sending data, terminates the connection with the client gateway, and stops data forwarding. Where a is a coefficient greater than 1 and less than 2, and the size of a is determined by factors such as the distance between the client gateway and the server gateway and the transmission bandwidth. RTT is the round-trip time from the server gateway to the client gateway.

[0134] Furthermore, the server gateway is responsible for bandwidth allocation, which is specifically:

[0135] Satellite link services are pre-classified into three types: services with high latency requirements, services with only high bandwidth requirements, and services with no significant latency or bandwidth requirements.

[0136] The server gateway determines the service type based on the message. For the first type of service, R sending channels are set up according to the R priorities of the message. Each channel has exclusive access to the entire bandwidth C, where C is the total bandwidth of the downlink where the server responds to the client message. Messages with higher priorities are sent first, and low-priority messages are sent after high-priority messages are sent. After all messages of the first type of service are sent, messages of the second type of service are processed.

[0137] For the second type of business, S sending channels are set and a corresponding channel sending capacity is allocated to each sending channel. Messages are randomly allocated to each sending channel and sent starting from the first sending channel. When the message sending capacity is less than the channel sending capacity, all messages are sent out. When the message sending capacity is greater than the channel sending capacity, only messages with the channel sending capacity are sent, and then messages from the next sending channel are sent. After the Sth sending channel is sent, the message from the first sending channel is sent again, and this cycle repeats until all messages from all channels are sent. The message random allocation is to calculate the value of the corresponding channel in the S sending channels based on the source address, destination address, source port number, destination port number, protocol type, and interface ID of the message as inputs of the random algorithm, and send the message to the corresponding sending channel according to the value. When the second type of business is sent, the third type of business is processed.

[0138] For the third type of service, let the message priority be T, and correspondingly set T sending channels, and the weight of channel i is c i , i=1,2,…,T, the bandwidth occupied by channel i is C is the total downlink bandwidth of the server's response to the client's message. Messages are sent to the corresponding transmission channel based on their priority and are sent in order of priority. R, S, and T are all natural numbers greater than or equal to 2.

[0139] Furthermore, each TCP connection between the server gateway and the client gateway is allocated a to-be-sent buffer and a sent buffer. For each TCP connection, the server gateway sends the data message in the to-be-sent buffer, and caches the sent data message in the sent buffer for retransmission in case of an error.

[0140] When the rate at which the server gateway receives data from the server is greater than the rate at which the server gateway sends data to the satellite link, the server gateway performs flow control based on the to-be-sent buffer and the sent buffer. Specifically, the flow control is:

[0141] When the buffer to be sent is full, the prohibition flag of the buffer to be sent is set, and the reception of messages from the TCP connection with the server is prohibited; when the data message in the buffer to be sent decreases below the buffer threshold A1, the permission flag of the buffer to be sent is set, and the reception of data from the TCP connection with the server is restarted; the buffer threshold A1 is greater than or equal to zero and less than the maximum value of the buffer to be sent;

[0142] When the sent buffer is full, the sent buffer prohibits sending flag is set, and the server gateway no longer sends data to the satellite link; when the data message in the sent buffer decreases below the cache threshold A2, the sent buffer allows sending flag is set, and the server gateway restarts sending data to the satellite link, where the cache threshold A2 is greater than or equal to zero and less than the maximum value of the sent buffer.

[0143] Further, such as Figure 5 As shown, after the client gateway establishes a connection with the server gateway, during the data transmission process, the server gateway needs the client gateway to confirm the received data message. The server gateway also performs the following steps:

[0144] Step S260 of sending a reception confirmation message; in this step, the server gateway adds a reception confirmation message to the last downlink data message and sends it to the client gateway every time it sends N downlink data messages;

[0145] Receiving a reply message step S270; in this step, the server gateway receives an uplink data message with a reception reply message or a separate reception reply message from the client gateway, and clears the data message cached in the sent buffer;

[0146] Where, N=(C s / M s -C x / M x ) / (C x / M x ), where C s is the uplink bandwidth, M s To confirm the size of the uplink message, C x is the downlink bandwidth, M x The size of the downlink data packet.

[0147] Example 4

[0148] This embodiment is used to explain in detail the method for enhancing TCP message transmission performance for an asymmetric satellite according to the present invention.

[0149] See also Figure 3 In the TCP message transmission performance enhancement method for asymmetric satellites of this embodiment, a client gateway is configured at each satellite link access point close to the client device side, and a server gateway is configured at the satellite link access point close to the server device side. The ground links between the client and the client gateway and between the server and the server gateway adopt the standard TCP protocol; wherein, the client gateway adopts the TCP message transmission performance enhancement method of embodiment 2, and the server gateway adopts the TCP message transmission performance enhancement method of embodiment 3.

[0150] Example 5

[0151] This embodiment is used to explain in detail the TCP message transmission performance enhancement system for asymmetric satellites according to the present invention.

[0152] See also Figure 3 The TCP message transmission performance enhancement system for asymmetric satellites of this embodiment includes a client gateway and a server gateway. The client gateway is configured at each satellite link access point close to the client device side, and the server gateway is configured at the satellite link access point close to the server device side. The ground links between the client and the client gateway and between the server and the server gateway adopt the standard TCP protocol; wherein, the client gateway performs TCP message transmission performance enhancement according to the TCP message transmission performance enhancement method in Example 2, and the server gateway performs TCP message transmission performance enhancement according to the TCP message transmission performance enhancement method in Example 3.

[0153] Example 6

[0154] like Figure 7 As shown, the third embodiment of the present invention relates to a TCP message transmission performance enhancement platform, including at least one processor and a memory communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the TCP message transmission performance enhancement method for an asymmetric satellite network client gateway in Example 2, or the TCP message transmission performance enhancement method for an asymmetric satellite network server gateway in Example 3, or the TCP message transmission performance enhancement method for an asymmetric satellite network in Example 4.

[0155] The memory and processor are connected using a bus, which can include any number of interconnected buses and bridges. The bus connects various circuits of one or more processors and memories. The bus can also connect various other circuits such as peripheral devices, voltage regulators, and power management circuits through interfaces, which are all well known in the art. The interface provides an interface between the bus and the transceiver, such as a communication interface or a user interface. The transceiver can be a single component or multiple components, such as multiple receivers and transmitters, providing a unit for communicating with various other devices on a transmission medium. Data processed by the processor is transmitted on a wireless medium via an antenna. Furthermore, the antenna also receives data and transmits the data to the processor.

[0156] The processor is responsible for managing the bus and general processing, and can also provide various functions, including timing, peripheral interfaces, voltage regulation, power management, and other control functions. Memory can be used to store data used by the processor when performing operations.

[0157] Example 6

[0158] A fourth embodiment of the present invention relates to a computer-readable storage medium storing a computer program, which implements the above method embodiment when executed by a processor.

[0159] Those skilled in the art will understand from the above description that all or part of the steps in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a program, which is stored in a storage medium and includes a number of instructions for causing a device (which may be a single-chip microcomputer, chip, etc.) or a processor to execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes, but is not limited to, various media that can store program code, such as USB flash drives, mobile hard drives, magnetic storage devices, and optical storage devices.

[0160] In summary, the present invention discloses a method for enhancing TCP message transmission performance in satellite networks with asymmetric uplink and downlink links. The method also provides detailed descriptions of the applicable network architecture and key technologies involved in implementing the method, including connection establishment, bandwidth allocation, flow control, and receipt confirmation. In satellite network environments with long latency and asymmetric uplink and downlink bandwidth, the method outperforms the standard TCP protocol, fully utilizing bandwidth resources in the downlink satellite link. This method effectively addresses some of the shortcomings and issues associated with existing TCP protocol message transmission over satellite links.

[0161] To speed up the establishment process of two gateways in a satellite link and shorten the connection waiting time caused by long delays, the present invention designs a connection establishment mechanism that only waits for a round-trip time (RTT) from the time the client gateway initiates the connection establishment to the time it receives the first data packet from the server. Compared with the standard TCP connection's three-way handshake, which requires at least two RTTs, the present invention can increase the establishment response speed by about 2 times.

[0162] The bandwidth allocation mechanism adopted by the present invention is a bandwidth allocation scheme designed based on three types of messages, so that delay-sensitive, bandwidth-sensitive and insensitive services can all obtain bandwidth allocation suitable for their own business characteristics, and also maximize the fairness of each business.

[0163] The flow control of the present invention can avoid congestion and message loss on the satellite link when the total throughput of the TCP connection between the server gateway and the server exceeds the fixed bandwidth of the satellite link between the server gateway and the client gateway. The flow control of the present invention controls the transmission and reception of data by setting two flow control flags. This flow control prevents buffer overflows and data loss caused by different rates between different nodes in the server gateway and each client gateway.

[0164] The TCP protocol requires the data receiver to confirm each message it receives. In networks with asymmetric uplink and downlink bandwidth, frequent message confirmations can lead to congestion of confirmation messages in the uplink. The present invention adopts a reception confirmation mechanism based on active requests from the sender. This mechanism eliminates the need for confirmations from the receiver to ensure the sender continues to send data normally. However, it does require the sender to request confirmation of each message it sends, and the receiver to confirm receipt. In satellite networks with asymmetric uplink and downlink bandwidth, this mechanism not only prevents the uplink from being congested by a large number of confirmation messages, thereby affecting the normal transmission and reception of data on the link, but also improves the transmission performance of the entire system.

[0165] The above are only preferred embodiments of the invention and are not intended to limit the present invention. Any modifications, equivalent replacements, improvements, etc. made within the conceptual principles of the present invention should be included in the scope of protection of the present invention.

Claims

1. A method for enhancing the TCP message transmission performance of an asymmetric satellite network client gateway, characterized in that: A client gateway is configured at each satellite link access point close to the client device side to communicate with the server gateway at the other end of the satellite link. The ground links between the client and the client gateway, and between the server and the server gateway use the standard TCP protocol; The client gateway performs the following steps during the connection establishment process between the client and the server: The step of receiving a first TCP connection request; in this step, the client gateway receives the first TCP connection request sent by the client to the server; The step of establishing a TCP connection with the client; in this step, the client gateway establishes a TCP connection between the client and the client gateway as a server using the standard TCP protocol according to the first TCP connection request; The step of receiving the client data message; in this step, after establishing a TCP connection with the client, the client gateway begins to receive the uplink data message sent by the client to the server; The step of forwarding the TCP request to the server gateway; in this step, the client forwards the first TCP connection request to the server gateway at the same time as or after establishing a TCP connection with the client; The step of forwarding downlink data packets; in this step, the client gateway receives the downlink data packet forwarded by the server gateway and forwards it to the client; wherein the first downlink data packet received contains a confirmation message, and the downlink data packet is forwarded to the client after intercepting the confirmation message; The step of sending an uplink data message and a confirmation message; in this step, after receiving the first downlink data message containing the confirmation message, the client gateway forwards the uplink data message to the server gateway; wherein, the client gateway adds the reconfirmation message to the first uplink data message sent by the client and sends it to the server gateway.

2. The method for enhancing TCP message transmission performance for an asymmetric satellite network client gateway according to claim 1, wherein: After the client gateway establishes a connection with the server gateway, during the data transmission process, the server gateway requires the client gateway to confirm the received data message. The client gateway also performs the following steps: A step of receiving a reception confirmation message, in which the client gateway receives a downlink data message with a reception confirmation message; and the server gateway adds a reception confirmation message to the end of the last downlink data message every time it sends N downlink data messages, where the downlink data message carries the reception confirmation message. The step of sending a reception reply message. In this step, after the client gateway receives the downlink data message with the reception confirmation message, it intercepts the reception confirmation message and forwards the remaining downlink data message to the client, and then adds the reception reply message to the uplink data message sent to the server gateway according to the reception confirmation message. If there is no uplink data message to be sent, a separate reception reply message is sent to the server gateway. The reception reply message confirms all data messages received previously.

3. A method for enhancing the TCP message transmission performance of an asymmetric satellite network server gateway, characterized in that: A server gateway is configured at the satellite link access point close to the server device, communicating with the client gateway at the other end of the satellite link. The ground links between the client and the client gateway, and between the server and the server gateway use the standard TCP protocol; and The server gateway performs the following steps during the process of establishing a connection between the client and the server: The step of receiving a first TCP connection request; in this step, the server gateway receives the first TCP connection request sent by the client to the server from the client gateway; The step of establishing a TCP connection with the server; in this step, the client gateway establishes a TCP connection between the server gateway and the server using the standard TCP protocol as the client according to the first TCP connection request; The step of forwarding the downlink data message; in this step, after the TCP connection with the server is established, the server gateway begins to receive the downlink data message sent from the server and forwards it to the client gateway; wherein, the server gateway puts the confirmation message into the first downlink data message sent by the server and sends it to the client gateway; The step of receiving and forwarding an uplink data message; in this step, the server gateway receives the uplink data message sent by the client gateway and forwards it to the server; wherein, the first uplink data message received contains a reconfirmation message, and the uplink data message is forwarded to the server after intercepting the reconfirmation message; Confirmation message monitoring step; in this step, when sending a confirmation message to the client gateway, the server gateway starts timing monitoring. If a×RTT is exceeded and no reconfirmation message is received from the client gateway, the server gateway will resend the confirmation message and start timing monitoring again. If a×RTT time is exceeded and no reply is received, the server gateway stops sending data, terminates the connection with the client gateway, and stops data forwarding; where a is a coefficient greater than 1 and less than 2, and RTT is the round-trip time from the server gateway to the client gateway.

4. The method for enhancing TCP message transmission performance for an asymmetric satellite network server gateway according to claim 3, wherein: The server gateway is responsible for bandwidth allocation, which is specifically: Satellite link services are pre-classified into three types: services with high latency requirements, services with high bandwidth requirements, and services with no significant latency or bandwidth requirements. The server gateway determines the service type based on the message. For the first type of service, R sending channels are set up according to the R priorities of the message. Each channel has exclusive access to the entire bandwidth C, where C is the total bandwidth of the downlink where the server responds to the client message. Messages with higher priorities are sent first, and low-priority messages are sent after high-priority messages are sent. After all messages of the first type of service are sent, messages of the second type of service are processed. For the second type of business, S sending channels are set and a corresponding channel sending capacity is allocated to each sending channel. Messages are randomly allocated to each sending channel and sent starting from the first sending channel. When the message sending capacity is less than the channel sending capacity, all messages are sent out. When the message sending capacity is greater than the channel sending capacity, only messages with the channel sending capacity are sent, and then messages from the next sending channel are sent. After the Sth sending channel is sent, the message from the first sending channel is sent again. This cycle repeats until all messages from all channels are sent. The random allocation of messages is based on the source address, destination address, source port number, destination port number, protocol type, and interface ID of the message as input to the random algorithm to calculate the value of the corresponding channel in the S sending channels, and the message is sent to the corresponding sending channel according to the value. When the second type of business is sent, the third type of business is processed; For the third type of service, let the message priority be T, and correspondingly set T sending channels, and the weight of channel i is c i , i=1,2,…,T, the bandwidth occupied by channel i is C is the total downlink bandwidth of the server's response to the client's message. Messages are sent to the corresponding transmission channel based on their priority and are sent in order of priority. R, S, and T are all natural numbers greater than or equal to 2.

5. The method for enhancing TCP message transmission performance for an asymmetric satellite network server gateway according to claim 3 or 4, wherein: Each TCP connection between the server gateway and the client gateway is allocated with a to-be-sent buffer and a sent buffer. For each TCP connection, the server gateway sends the data message in the to-be-sent buffer and caches the sent data message in the sent buffer for retransmission in case of an error. When the rate at which the server gateway receives data from the server is greater than the rate at which the server gateway sends data to the satellite link, the server gateway performs flow control based on the to-be-sent buffer and the sent buffer. Specifically, the flow control is: When the buffer to be sent is full, the prohibition flag of the buffer to be sent is set, prohibiting the reception of messages from the TCP connection with the server; when the data messages in the buffer to be sent decrease below the cache threshold A1, data reception from the TCP connection with the server is restarted; The buffer threshold A1 is greater than or equal to zero and less than the maximum value of the buffer to be sent; When the sent buffer is full, the sent buffer prohibition flag is set, and the server gateway no longer sends data to the satellite link; when the data message in the sent buffer decreases below the cache threshold A2, the server gateway restarts sending data to the satellite link, where the cache threshold A2 is greater than or equal to zero and less than the maximum value of the sent buffer.

6. The method for enhancing TCP message transmission performance for an asymmetric satellite network server gateway according to claim 5, wherein: After the client gateway establishes a connection with the server gateway, during the data transmission process, the server gateway needs the client gateway to confirm the received data message. The server gateway also performs the following steps: The step of sending a reception confirmation message; in this step, the server gateway adds a reception confirmation message to the last downlink data message and sends it to the client gateway every time it sends N downlink data messages; Receiving a reply message; in this step, the server gateway receives an uplink data message with a received reply message or a separate received reply message from the client gateway, and clears the data message cached in the sent buffer; Where, N=(C s / M s -C x / M x ) / (C x / M x ), where C s is the uplink bandwidth, M s To confirm the size of the uplink message, C x is the downlink bandwidth, M x The size of the downlink data packet.

7. A method for enhancing TCP message transmission performance for asymmetric satellites, characterized in that It includes client gateway and server gateway. The client gateway is configured at each satellite link access point close to the client device side, and the server gateway is configured at the satellite link access point close to the server device side. The ground link between the client and the client gateway, and between the server and the server gateway adopts the standard TCP protocol; The client gateway adopts the method for enhancing the TCP message transmission performance as described in claim 1, and the server gateway adopts the method for enhancing the TCP message transmission performance as described in any one of claims 3 to 5; or, The client gateway adopts the TCP message transmission performance enhancement method as described in claim 2, and the server gateway adopts the TCP message transmission performance enhancement method as described in claim 6.

8. A TCP message transmission performance enhancement system for asymmetric satellites, characterized in that It includes client gateway and server gateway. The client gateway is configured at each satellite link access point close to the client device side, and the server gateway is configured at the satellite link access point close to the server device side. The ground link between the client and the client gateway, and between the server and the server gateway adopts the standard TCP protocol; The client gateway executes the method for enhancing the TCP packet transmission performance as claimed in claim 1, and the server gateway executes the method for enhancing the TCP packet transmission performance as claimed in any one of claims 3 to 5; or, The client gateway executes the TCP message transmission performance enhancement method as described in claim 2, and the server gateway executes the TCP message transmission performance enhancement method as described in claim 6.

9. A TCP message transmission performance enhancement platform, characterized in that include: at least one processor; as well as, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the TCP message transmission performance enhancement method for an asymmetric satellite network client gateway as described in any one of claims 1 to 2, or can execute the TCP message transmission performance enhancement method for an asymmetric satellite network server gateway as described in any one of claims 3-6, or can execute the TCP message transmission performance enhancement method for an asymmetric satellite as described in claim 7.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, it implements the TCP message transmission performance enhancement method for an asymmetric satellite network client gateway according to claims 1 to 2, or implements the TCP message transmission performance enhancement method for an asymmetric satellite network server gateway according to any one of claims 3 to 6, or implements the TCP message transmission performance enhancement method for an asymmetric satellite according to claim 7.

Citation Information

Patent Citations

  • Point-to-multipoint UDP real-time data transmitting and confirming method based on FPGA

    CN101335602A

  • Block verification and acknowledgement-based satellite network TCP (Transmission Control Protocol) performance enhancement method

    CN104092707A