CN117676695A - TCP transmission method, device and system - Google Patents

TCP transmission method, device and system Download PDF

Info

Publication number
CN117676695A
CN117676695A CN202311451513.XA CN202311451513A CN117676695A CN 117676695 A CN117676695 A CN 117676695A CN 202311451513 A CN202311451513 A CN 202311451513A CN 117676695 A CN117676695 A CN 117676695A
Authority
CN
China
Prior art keywords
checksum
tcp
data
target data
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311451513.XA
Other languages
Chinese (zh)
Inventor
王云飞
王占伟
孟祥宇
高二东
朱珊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Space Star Technology Co Ltd
Original Assignee
Space Star Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Space Star Technology Co Ltd filed Critical Space Star Technology Co Ltd
Priority to CN202311451513.XA priority Critical patent/CN117676695A/en
Publication of CN117676695A publication Critical patent/CN117676695A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • H04L47/225Determination of shaping rate, e.g. using a moving window

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

The invention is applicable to the technical field of satellite communication, and provides a TCP transmission method, a device and a system, wherein the TCP transmission method comprises the following steps: when receiving download request information sent by a first terminal, acquiring target data for TCP transmission in a network, wherein the target data comprises TCP packet checksum; calculating a first TCP header checksum; determining a data checksum of the target data according to the TCP packet checksum and the first TCP header checksum; and sending the data checksum to a small station so that the small station sends a TCP packet checksum of target data to the first terminal according to a second TCP header checksum and the data checksum, wherein the second TCP header checksum is the TCP header checksum calculated by the small station. The invention can reduce the consumption of the CPU of the small station and improve the efficiency of satellite communication.

Description

TCP transmission method, device and system
The application is a divisional application with the application name of 'a TCP transmission method, a TCP transmission device and a TCP transmission system', the application date is 2020, 02 and 19, and the application number is 202010103297.X.
Technical Field
The invention belongs to the technical field of satellite communication, and particularly relates to a TCP transmission method, a TCP transmission device and a TCP transmission system.
Background
In recent years, with the continuous development of satellite communications, satellite bandwidth is becoming larger and larger, and full use of satellite bandwidth resources has become a hot topic in the satellite application field, and at this time, TCP (Transmission Control Protocol ) is accelerating. TCP acceleration can solve the problem that satellite bandwidth resources are excessive, and user Internet surfing experience is improved.
The principle of TCP acceleration is to split a connection into three segments, a PC (Personal Computer ) and a small station, a small station and acceleration server, an acceleration server and a server. However, when the satellite link is unstable, the packet loss rate is high, even if the TCP is used for acceleration, the network rate is difficult to go up, so that satellite resources are wasted, and the calculation of the checksum of the TCP packet is very limited by the performance of the small station CPU (Central Processing Unit ), so that the performance of the small station for processing the data packet is not improved, and the user internet experience is affected.
Disclosure of Invention
In view of this, the embodiments of the present invention provide a TCP transmission method, apparatus, and system, so as to solve the problems that the existing TCP acceleration method does not go on the rate in the scene of large delay and large packet loss rate, and the performance of the small station for processing the data packet is low.
A first aspect of an embodiment of the present invention provides a TCP transmission method, including:
retransmitting packet loss data when at least three pieces of repeated response information of a receiving end are acquired, and judging whether the current network is a link jam or not;
if the current network is a link congestion, reducing the congestion window size of the current network to obtain a network with a first congestion window;
and carrying out TCP transmission in the network with the first congestion window.
Further, determining whether the current network is a link congestion includes:
acquiring a first round trip time of transmitted data;
judging whether the difference value between the first round trip time and the minimum round trip time meets a preset link blocking condition or not;
if the preset link blocking condition is met, determining that the current network is link blocking;
if the preset link blocking condition is not met, determining that the current network is not the link blocking.
Further, reducing the congestion window size of the current network results in a network having a first congestion window, comprising:
and reducing the congestion window size of the current network according to a CUBIC algorithm to obtain the network with the first congestion window.
A second aspect of an embodiment of the present invention provides another TCP transmission method, including:
when receiving download request information sent by a first terminal, acquiring target data for TCP transmission in a network with a first congestion window, wherein the target data comprises a TCP packet checksum;
calculating a first TCP header checksum;
determining a data checksum of the target data according to the TCP packet checksum and the first TCP header checksum;
and sending the data checksum to a small station so that the small station sends a TCP packet checksum of target data to the first terminal according to a second TCP header checksum and the data checksum, wherein the second TCP header checksum is the TCP header checksum calculated by the small station.
Further, determining a data checksum of the target data according to the TCP packet checksum and the first TCP header checksum includes: by passing through
data_chksum=sum-tcp_chk1
And obtaining the data checksum data_chksum, wherein sum is the TCP packet checksum, and tcp_chk1 is the first TCP header checksum.
Further, according to the second TCP header checksum and the data checksum, sending a TCP packet checksum of the target data to the first terminal, including: by passing through
sum=data_chksum+tcp_chk2
Obtaining a TCP packet checksum sum of the target data, wherein data_chksum is the data checksum, and tcp_chk2 is the second TCP header checksum;
and sending the TCP packet checksum of the target data to the first terminal.
A third aspect of an embodiment of the present invention provides a TCP transmission apparatus, including:
the judging module is used for retransmitting packet loss data when at least three pieces of repeated response information of the receiving end are acquired, and judging whether the current network is blocked;
the network conversion module is used for reducing the congestion window size of the current network to obtain a network with a first congestion window if the current network is a link congestion;
and the network transmission module is used for carrying out TCP transmission in the network with the first congestion window.
A fourth aspect of an embodiment of the present invention provides another TCP transmission apparatus, including:
the data acquisition module is used for acquiring target data for TCP transmission on a network with a first congestion window when receiving download request information sent by a first terminal, wherein the target data comprises a TCP packet checksum;
the TCP header checksum calculation module is used for calculating a first TCP header checksum;
the data checksum determining module is used for determining the data checksum of the target data according to the TCP packet checksum and the first TCP header checksum;
and the sending module is used for sending the data checksum to the small station so that the small station sends the TCP packet checksum of the target data to the first terminal according to the second TCP header checksum and the data checksum, wherein the second TCP header checksum is the TCP header checksum calculated by the small station.
A fifth aspect of an embodiment of the present invention provides a TCP transmission system, including:
the acceleration server is used for acquiring target data for TCP transmission on a network with a first congestion window when receiving download request information sent by a first terminal, wherein the target data comprises a TCP packet checksum, calculating a first TCP header checksum, determining a data checksum of the target data according to the TCP packet checksum and the first TCP header checksum, and sending the data checksum to a small station;
and the small station is used for sending the TCP packet checksum of the target data to the first terminal according to the second TCP header checksum and the data checksum, wherein the second TCP header checksum is calculated for the small station.
Further, the acceleration server is specifically configured to: by passing through
data_chksum=sum-tcp_chk1
Obtaining the data checksum data_chksum, wherein sum is the TCP packet checksum, and tcp_chk1 is the first TCP header checksum;
and sending the data checksum to the small station.
Compared with the prior art, the TCP transmission method, the TCP transmission device and the TCP transmission system have the following beneficial effects: under the condition of packet loss, judging whether the current network is a link congestion or not, if the current network is the link congestion, reducing the congestion window size of the current network to obtain a network with a first congestion window, and if the current network is not the link congestion, not changing the congestion window size, so that the condition of congestion window reduction caused by packet loss is reduced, the transmission rate is improved, and the efficiency of a transmitting end is improved; in addition, when receiving the download request information sent by the first terminal, the acceleration server acquires target data for TCP transmission on the network with the first congestion window, calculates a first TCP header checksum, determines a data checksum of the target data according to the TCP packet checksum and the first TCP header checksum, and sends the data checksum to the small station, so that the small station obtains the TCP packet checksum of the target data according to the second TCP header checksum and the data checksum and sends the TCP packet checksum to the first terminal, namely, the lightweight checksum is started, CPU consumption of the small station is reduced, reliability and expansibility of TCP transmission are improved, the satellite link can be effectively adapted, and the satellite communication efficiency is greatly improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings that are needed in the embodiments or the description of the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and that other drawings can be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic implementation flow chart of a TCP transmission method according to an embodiment of the present invention;
fig. 2 is a schematic flow chart of another implementation of a TCP transmission method according to an embodiment of the present invention;
fig. 3 is a schematic flow chart of an implementation of another TCP transmission method according to an embodiment of the present invention;
fig. 4 is a basic schematic diagram of packet loss fast retransmission provided in an embodiment of the present invention;
FIG. 5 is a basic schematic of a lightweight checksum provided by an embodiment of the present invention;
FIG. 6 is a test structure diagram of the TCP transmission method of FIG. 3;
fig. 7 is a schematic structural diagram of a TCP transmission device according to an embodiment of the present invention;
fig. 8 is a schematic structural diagram of another TCP transmission apparatus according to an embodiment of the present invention;
fig. 9 is a schematic structural diagram of a TCP transmission system according to an embodiment of the present invention.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth such as the particular system architecture, techniques, etc., in order to provide a thorough understanding of the embodiments of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail.
In order to illustrate the technical scheme of the invention, the following description is made by specific examples.
Referring to fig. 1, a schematic flow chart is implemented for one embodiment of the TCP transmission method provided in this embodiment, and the method is applicable to satellite communications, and is described in detail as follows:
step S101, retransmitting packet loss data when at least three pieces of repeated response information of the receiving end are obtained, and judging whether the current network is a link blockage or not.
Step S102, if the current network is a link congestion, reducing the congestion window size of the current network to obtain a network with a first congestion window.
Step S103, performing TCP transmission in the network with the first congestion window.
TCP transmissions are typically congestion controlled by maintaining a congestion window, the conventional congestion control principle being that the size of the congestion window may be increased to send more packets out as long as no congestion occurs in the network, but the size of the congestion window should be decreased to reduce the number of packets injected into the network as long as the network is congested.
In the prior art, a TCP congestion control algorithm is generally based on congestion control of packet loss, namely, packet loss is regarded as congestion, a congestion window is gradually increased by adopting a slow detection mode, and when packet loss occurs, the size of the congestion window is reduced, such as a Reno algorithm, a Cubic algorithm and the like. However, when the satellite link is unstable, the congestion window gradually decreases in size, but the congestion window may not be due to the link congestion and packet loss, so that even if TCP acceleration is used, the network rate is difficult to go up, resulting in satellite resource waste. Based on this, this embodiment provides an improved TCP acceleration method, while judging packet loss, judging whether the current network is a link congestion, if not, it is unnecessary to reduce the size of the congestion window, if the current network is a link congestion, then reducing the congestion window size of the current network to obtain a network with a first congestion window, and then performing TCP transmission on data in the network with the first congestion window, so that the situation that the congestion window is reduced due to packet loss is reduced, the transmission rate is improved, and the efficiency of the transmitting end is improved.
Optionally, the determining whether the current network is a link block in step S101 includes:
acquiring a first round trip time of transmitted data;
judging whether the difference value between the first round trip time and the minimum round trip time meets a preset link blocking condition or not;
if the preset link blocking condition is met, determining that the current network is link blocking;
if the preset link blocking condition is not met, determining that the current network is not the link blocking.
Round Trip Time (RTT) consists of three parts: propagation time of link, processing time of end system, queuing in router cache and processing time. The values of the first two parts are relatively fixed, and the queuing and processing time in the router cache can change along with the change of the congestion degree of the whole network, so that the change of RTT reflects the congestion degree of the network to a certain extent.
The present embodiment uses RTT to determine whether the current network is link congestion, and if the current network is link congestion, TCP packets will be queued in the link, resulting in an RTT that becomes long. Therefore, when the packet loss caused by the link congestion is judged, the size of the congestion window needs to be reduced, fewer packets are sent to the link, the network congestion is prevented from further aggravating, if the packet loss caused by the link congestion is not caused, the congestion window does not need to be reduced, so that the network can send more data packets, and network resources are fully utilized.
Specifically, whether the difference value between the first round trip time and the minimum round trip time meets a preset link blocking condition is judged, and if the difference value meets the preset link blocking condition, the current network is determined to be the link blocking. For example, if RTT-RTTmin is greater than 100ms, RTT is the first round trip time, RTTmin is the minimum round trip time, if RTT-RTTmin is greater than 100ms, it is determined that the current network is a link congestion, and if RTT-RTTmin is not greater than 100ms, it is determined that the current network is not a link congestion.
Alternatively, the present embodiment may obtain the first round trip time through the TCP timestamp, that is, the first round trip time=the current time—the echo time of the timestamp option in the transmitted data, where the echo time is the time when the data is sent out, that is, the receiving time (current time) and the sending time (echo time) of the data are obtained, and then the first round trip time of the transmitted data may be obtained.
Alternatively, the present embodiment may further obtain the first round trip time through the TCP control block, that is, a data packet that is not acknowledged and transmitted is held in the TCP retransmission queue, where the TCP control block in the buffer area of the data packet records the first transmission time of the data packet, and the first round trip time=the current time-the first transmission time.
Optionally, in this embodiment, congestion control may be performed by adding a judgment link capacity under the packet loss condition. Specifically, the current network bandwidth and time delay are obtained in real time, and when the total amount of the network messages is larger than the product of the bandwidth time delay, the link congestion is determined to occur.
Optionally, the specific implementation procedure for reducing the congestion window size of the current network to obtain the network with the first congestion window in step S102 may include:
and reducing the congestion window size of the current network according to a CUBIC algorithm to obtain the network with the first congestion window.
The traditional CUBIC algorithm is characterized in that the sending speed is not actively reduced as long as no packet is lost, so that the residual bandwidth of a network can be utilized to the greatest extent, and the throughput is improved, but the traditional CUBIC algorithm has the defects that the link congestion packet loss and the transmission error packet loss cannot be distinguished, namely, the congestion window is reduced as long as the packet loss is judged to be congestion, ssthresh (slow start threshold) is set to be 0.75 of cwnd (congestion window of the current network), cwnd is ssthread+ mss (maximum message segment length), the sending speed is reduced, the network reenters the congestion avoidance stage, and if the link frequently loses packets, the congestion window is reduced, the transmission efficiency is very low, and resources are wasted. Based on this, the present embodiment combines RTT estimation and the CUBIC algorithm, sets an RTT threshold (preset link congestion condition), adjusts the size of the congestion window according to the CUBIC algorithm if the difference between the first round trip time and the minimum round trip time exceeds the threshold, otherwise does not adjust the size of the congestion window, and especially under the condition that the satellite link frequently loses packets, the effect achieved by the improved CUBIC algorithm of the present embodiment is better than that achieved by the conventional CUBIC algorithm.
For example, referring to fig. 4, in order to illustrate a fast retransmission schematic for packet loss, after receiving A1 and A2, the receiving side respectively sends out acknowledgements, if A3 is lost, after receiving A4, A5 and A6, the receiving side sends out three dup_acks (repeated acknowledgement information), and after receiving the three dup acks, the sending side immediately retransmits A3, and determines whether the current network is a link block. Under the condition that three dup acks are received, if the RTT-RTTmin is larger than 100ms, the current network is determined to be the link blockage, the size of a congestion window is reduced, and if the RTT-RTTmin is not larger than 100ms, the current network is determined not to be the link blockage, the congestion window is not reduced, the full utilization of network resources is realized, and the efficiency of a transmitting end is improved.
According to the TCP transmission method, the packet loss data is retransmitted when at least three pieces of repeated response information of the receiving end are acquired, whether the current network is a link blockage is judged, if the current network is the link blockage, the congestion window size of the current network is reduced to obtain the network with the first congestion window, the congestion window reduction caused by the packet loss is reduced, and the efficiency of the sending end is improved.
Referring to fig. 2, a flowchart of another implementation of the TCP transmission method according to the present embodiment is described in detail as follows:
step S201, when receiving the download request information sent by the first terminal, obtaining target data for TCP transmission on the network with the first congestion window, where the target data includes a TCP packet checksum.
Step S202, a first TCP header checksum is calculated.
Step S203, determining a data checksum of the target data according to the TCP packet checksum and the first TCP header checksum.
And step S204, the data checksum is sent to the small station, so that the small station sends the TCP packet checksum of the target data to the first terminal according to a second TCP header checksum and the data checksum, and the second TCP header checksum is the TCP header checksum calculated by the small station.
In TCP transmission, the target data includes a TCP packet checksum. The TCP packet checksum is an end-to-end checksum that is calculated by the sender and then validated by the receiver in order to discover any changes in the TCP header and data that occur between the sender and receiver, and if the receiver detects that the checksum is in error, the destination data for the TCP segment is discarded directly. The TCP packet checksum includes a TCP header checksum and a data checksum. When the checksum of the TCP packet is calculated conventionally, the checksum of each TCP packet needs to be calculated once, and compared with the consumed CPU resource of the small station, the transmission performance of the small station is reduced, so the embodiment provides a method for calculating only the checksum of the TCP header.
According to the method, the first TCP header checksum in the target data is calculated, the data checksum of the target data is determined according to the TCP packet checksum and the first TCP header checksum, and then the data checksum is sent to the small station, so that the small station obtains the TCP packet checksum of the target data according to the second TCP header checksum and the data checksum and sends the TCP packet checksum to the first terminal, the processing process of a small station CPU on the data is reduced, and the performance of the small station for processing the data packet is improved. It should be understood that the first terminal is not limited to this embodiment, and may be a client or a server in one environment.
Optionally, according to the TCP packet checksum and the first TCP header checksum, a specific implementation process of determining the data checksum of the target data may include: by passing through
data_chksum=sum-tcp_chk1
And obtaining the data checksum data_chksum, wherein sum is the TCP packet checksum, and tcp_chk1 is the first TCP header checksum.
Optionally, according to the second TCP header checksum and the data checksum, a specific implementation procedure of sending the TCP packet checksum of the target data to the first terminal may include: by passing through
sum=data_chksum+tcp_chk2
Obtaining a TCP packet checksum sum of the target data, wherein data_chksum is the data checksum, and tcp_chk2 is the second TCP header checksum; and then sending the TCP packet checksum of the target data to the first terminal.
Referring to fig. 5, a flow chart of a data flow in the TCP transmission method provided by this embodiment is to reduce the calculation amount of the TCP header checksum by the lightweight checksum, and reduce the resource consumption of the small station CPU.
Assuming that the TCP header checksum sent by the client or the server is correct, referring to fig. 5, for example, the PC downloads the target data from the server through the small station and the acceleration server, the server sends a TCP packet checksum sum, after the acceleration server receives the TCP packet checksum sum, the acceleration server calculates a first TCP header checksum first, and the data checksum data_chksum is the TCP packet checksum sum minus the first TCP header checksum, and then the acceleration server sends the data checksum data_chksum to the small station.
After the small station receives the data checksum data_chksum, calculating a TCP packet checksum total_sum at the TCP side of the small station, namely, the TCP packet checksum total_sum is a second TCP header checksum added with the data checksum data_chksum, wherein the second TCP header checksum is the TCP header checksum calculated by the small station. The lightweight checksum method for calculating only the TCP header checksum greatly saves the CPU resources of the small station, improves the downloading performance, optimizes the TCP packet checksum accelerated by the small station, reduces the consumption of the CPU of the small station and improves the processing performance of the small station.
According to the TCP transmission method, when the downloading request information sent by the first terminal is received, the target data for TCP transmission in the network is obtained, the first TCP header checksum is calculated, the data checksum is sent to the small station according to the first TCP header checksum and the TCP packet checksum, the small station obtains the TCP packet checksum of the target data according to the second TCP header checksum and the data checksum and sends the TCP packet checksum to the first terminal, namely, the lightweight checksum is started, CPU consumption of the small station is reduced, reliability and expansibility of TCP transmission are improved, the satellite link can be effectively adapted, and the satellite communication efficiency is greatly improved.
Referring to fig. 3, a flowchart of another implementation of the TCP transmission method according to the present embodiment is described in detail as follows:
step S301, retransmitting packet loss data when at least three pieces of repeated response information of the receiving end are obtained, and judging whether the current network is a link blockage.
Step S302, if the current network is a link congestion, reducing the congestion window size of the current network to obtain a network with a first congestion window.
Step S303, performing TCP transmission in the network with the first congestion window.
Step S304, when receiving the download request information sent by the first terminal, obtaining target data for TCP transmission on the network with the first congestion window, wherein the target data comprises TCP packet checksum.
Step S305, a first TCP header checksum is calculated.
Step S306, determining the data checksum of the target data according to the TCP packet checksum and the first TCP header checksum.
Step S307, the data checksum is sent to the small station, so that the small station sends the TCP packet checksum of the target data to the first terminal according to the second TCP header checksum and the data checksum, and the second TCP header checksum is the TCP header checksum calculated by the small station.
Further, the specific implementation procedure for determining whether the current network is a link congestion in step S301 may include:
acquiring a first round trip time of transmitted data; and judging whether the difference value between the first round trip time and the minimum round trip time meets a preset link blocking condition or not.
And if the preset link blocking condition is met, determining that the current network is link blocking.
If the preset link blocking condition is not met, determining that the current network is not the link blocking.
Further, the specific implementation procedure of reducing the congestion window size of the current network to obtain the network with the first congestion window in step S302 may include: and reducing the congestion window size of the current network according to a CUBIC algorithm to obtain the network with the first congestion window.
Further, in step S306, the specific implementation process of determining the data checksum of the target data according to the TCP packet checksum and the first TCP header checksum includes: by passing through
data_chksum=sum-tcp_chk1
And obtaining the data checksum data_chksum, wherein sum is the TCP packet checksum, and tcp_chk1 is the first TCP header checksum.
Further, in step S307, sending a TCP packet checksum of the target data to the first terminal according to the second TCP header checksum and the data checksum, including: by passing through
sum=data_chksum+tcp_chk2
Obtaining a TCP packet checksum sum of the target data, wherein data_chksum is the data checksum, and tcp_chk2 is the second TCP header checksum; and sending the TCP packet checksum of the target data to the first terminal.
For example, as shown in fig. 6, a download scenario is tested by a wget tool on a client (client), the client downloads target data from a server through a small station and an acceleration server, an em2 network card adds 600ms delay by a tc tool, then adds different packet loss rates respectively, and the comparison download rate is performed by using the modified CUBIC algorithm (cubic_im) and the original CUBIC algorithm according to the embodiment, and the test results are shown in table 1:
table 1 download Rate comparing CUBIC_IM Algorithm with original CUBIC Algorithm
Packet loss rate Rate (KBps)/primitive CUBIC algorithm Rate (KBps)/CUBIC_IM
1% 55.8 1000
0.1% 268 1770
0.5% 350 1890
As can be seen from table 1, the larger the packet loss rate, the more obvious the TCP acceleration effect of the CUBIC algorithm improved based on the present embodiment is, and under the condition of 1% packet loss rate, the TCP acceleration of the CUBIC algorithm improved based on the present embodiment is 17.9 times that of the TCP acceleration based on the original CUBIC algorithm.
In addition, the consumption of the CPU of the small station is tested by using a gprof testing tool under the TI AM335X (context A8) environment, the TCP packet checksum is found to consume the CPU of the small station, the TCP transmission method for only calculating the TCP header checksum based on the embodiment is improved from the original 4MBps to 5MBps in performance, the testing result is ideal, and the transmission rate is improved while the consumption of the CPU of the small station is reduced.
According to the TCP transmission method, when the packet loss condition is determined, whether the current network is a link blockage is judged, if the current network is the link blockage, the congestion window size of the current network is reduced to obtain the network with the first congestion window, the condition that the congestion window is reduced due to the packet loss is reduced, and the efficiency of a transmitting end is improved; in addition, when receiving download request information sent by a first terminal, a TCP packet checksum of target data is obtained, a first TCP header checksum is calculated, and according to the first TCP header checksum and the TCP packet checksum, the data checksum is sent to a small station, so that the small station obtains the TCP packet checksum of the target data according to a second TCP header checksum and the data checksum and sends the TCP packet checksum to the first terminal, namely, a lightweight checksum is started, CPU consumption of the small station is reduced, reliability and expansibility of TCP transmission are improved, the satellite communication efficiency is effectively improved, and the satellite communication reliability is effectively adapted.
It will be understood by those skilled in the art that the sequence number of each step in the above embodiment does not mean that the execution sequence of each process should be determined by the function and the internal logic, and should not limit the implementation process of the embodiment of the present invention.
Corresponding to the TCP transmission method of the above embodiment, the present embodiment provides a TCP transmission apparatus. Referring specifically to fig. 7, a schematic structural diagram of a TCP transmission device in this embodiment is shown. For convenience of explanation, only the portions related to the present embodiment are shown.
The TCP transmission device mainly comprises: a judging module 710, a network converting module 720 and a network transmitting module 730.
The judging module 710 is configured to retransmit packet loss data when at least three repeated response messages of the receiving end are acquired, and judge whether the current network is a link congestion.
The network conversion module 720 is configured to reduce the congestion window size of the current network to obtain a network with a first congestion window if the current network is a link congestion.
The network transmission module 730 is configured to perform TCP transmission in a network having a first congestion window.
Optionally, the judging module 710 is specifically configured to: acquiring a first round trip time of transmitted data; judging whether the difference value between the first round trip time and the minimum round trip time meets a preset link blocking condition or not; if the preset link blocking condition is met, determining that the current network is link blocking; if the preset link blocking condition is not met, determining that the current network is not the link blocking.
Optionally, the network conversion module 720 is specifically configured to: and reducing the congestion window size of the current network according to the CUBIC algorithm to obtain the network with the first congestion window.
In the above TCP transmission device, the determining module 710 determines whether the current network is a link congestion when determining that a packet loss condition occurs, and the network switching module 720 reduces the congestion window size of the current network to obtain a network with a first congestion window when the current network is a link congestion, thereby reducing the congestion window reduction caused by packet loss and improving the efficiency of the transmitting end.
Corresponding to the TCP transmission method of the above embodiment, the present embodiment provides another TCP transmission apparatus. Referring specifically to fig. 8, a schematic structural diagram of another TCP transmitting apparatus in this embodiment is shown. For convenience of explanation, only the portions related to the present embodiment are shown.
The TCP transmission device mainly comprises: a data acquisition module 810, a TCP header checksum calculation module 820, a data checksum determination module 830, and a transmission module 840.
The data obtaining module 810 is configured to obtain, when receiving the download request information sent by the first terminal, target data for TCP transmission on a network having a first congestion window, where the target data includes a TCP packet checksum.
The TCP header checksum calculation module 820 is configured to calculate a first TCP header checksum.
The data checksum determining module 830 is configured to determine a data checksum of the target data according to the TCP packet checksum and the first TCP header checksum.
The sending module 840 is configured to send the data checksum to the small station, so that the small station sends the TCP packet checksum of the target data to the first terminal according to the second TCP header checksum and the data checksum, where the second TCP header checksum is the TCP header checksum calculated by the small station.
Optionally, the data checksum determination module 830 is specifically configured to: by passing through
data_chksum=sum-tcp_chk1
And obtaining a data checksum data_chksum, wherein sum is a TCP packet checksum, and tcp_chk1 is a first TCP header checksum.
Alternatively, by
sum=data_chksum+tcp_chk2
And obtaining a TCP packet checksum sum of the target data, wherein data_chksum is a data checksum and tcp_chk2 is a second TCP header checksum.
In the above TCP transmission device, when receiving the download request information sent by the first terminal, the data obtaining module 810 obtains the TCP packet checksum of the target data, and the TCP header checksum calculating module 820 calculates the first TCP header checksum, and the data checksum determining module 830 determines the data checksum of the target data according to the first TCP header checksum and the TCP packet checksum, and the sending module 840 sends the data checksum to the small station, so that the small station obtains the TCP packet checksum of the target data according to the second TCP header checksum and the data checksum and sends the TCP packet checksum to the first terminal, that is, the lightweight checksum is started, so that the consumption of the CPU of the small station is reduced, the reliability and the expansibility of TCP transmission are improved, the satellite link can be effectively adapted, and the satellite communication efficiency is greatly improved.
The embodiment also provides a TCP transmission system. Referring to fig. 9, a schematic structural diagram of a TCP transmission system according to the present embodiment is provided. For convenience of explanation, only the portions related to the present embodiment are shown.
The TCP transmission system mainly comprises: acceleration server 910 and small station 920. Acceleration server 910 is connected to receiving server, acceleration server 910 is connected to small station 920, and small station 920 is connected to first terminal client.
The acceleration server 910 is configured to, when receiving download request information sent by a first terminal, obtain target data for TCP transmission on a network having a first congestion window, where the target data includes a TCP packet checksum, calculate a first TCP header checksum, determine a data checksum of the target data according to the TCP packet checksum and the first TCP header checksum, and send the data checksum to the small station 920.
The small station 920 is configured to send a TCP packet checksum of the target data to the first terminal according to a second TCP header checksum and the data checksum, where the second TCP header checksum is a TCP header checksum calculated by the small station.
Optionally, the acceleration server 910 is specifically configured to: by passing through
data_chksum=sum-tcp_chk1
Obtaining a data checksum data_chksum, wherein sum is the TCP packet checksum, and tcp_chk1 is the first TCP header checksum; the data checksum is then sent to the small station.
Optionally, the small station 920 is specifically configured to: by passing through
sum=data_chksum+tcp_chk2
Obtaining a TCP packet checksum sum of the target data, wherein data_chksum is the data checksum, and tcp_chk2 is the second TCP header checksum; the TCP packet checksum of the target data is then sent to the first terminal.
In the above TCP transmission system, the acceleration server 910 calculates the first TCP header checksum first, determines the data checksum of the target data according to the first TCP header checksum and the TCP packet checksum, and sends the data checksum to the small station 920, and the small station 920 obtains the TCP packet checksum of the target data according to the second TCP header checksum and the data checksum and sends the TCP packet checksum to the first terminal, i.e. the system starts the lightweight checksum function, so that the consumption of the CPU of the small station is reduced, the reliability and expansibility of TCP transmission are improved, the system can effectively adapt to a satellite link, and the efficiency of satellite communication is greatly improved.
The above embodiments are only for illustrating the technical solution of the present invention, and not for limiting the same; although the invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention, and are intended to be included in the scope of the present invention.

Claims (8)

1. A TCP transmission method, comprising:
when receiving download request information sent by a first terminal, acquiring target data for TCP transmission in a network, wherein the target data comprises TCP packet checksum;
calculating a first TCP header checksum;
determining a data checksum of the target data according to the TCP packet checksum and the first TCP header checksum;
and sending the data checksum to a small station so that the small station sends a TCP packet checksum of target data to the first terminal according to a second TCP header checksum and the data checksum, wherein the second TCP header checksum is the TCP header checksum calculated by the small station.
2. The TCP transmission method of claim 1 wherein said network is a network having a first congestion window, said generating of said network having a first congestion window comprising the steps of:
retransmitting packet loss data when at least three pieces of repeated response information of a receiving end are acquired, and judging whether the current network is a link jam or not;
if the current network is a link congestion, reducing the congestion window size of the current network to obtain a network with a first congestion window;
and carrying out TCP transmission in the network with the first congestion window.
3. The TCP transmission method of claim 2, wherein determining whether the current network is a link-down comprises:
acquiring a first round trip time of transmitted data;
judging whether the difference value between the first round trip time and the minimum round trip time meets a preset link blocking condition or not;
if the preset link blocking condition is met, determining that the current network is link blocking;
if the preset link blocking condition is not met, determining that the current network is not the link blocking.
4. The TCP transmission method of claim 1 wherein determining a data checksum of the target data based on the TCP packet checksum and said first TCP header checksum comprises: by data_chksum=sum-tcp_chk1
And obtaining the data checksum data_chksum, wherein sum is the TCP packet checksum, and tcp_chk1 is the first TCP header checksum.
5. The TCP transmission method of claim 4 wherein transmitting a TCP packet checksum of the target data to said first terminal based on a second TCP header checksum and said data checksum comprises:
by passing through
sum=data_chksum+tcp_chk2
Obtaining a TCP packet checksum sum of the target data, wherein data_chksum is the data checksum, and tcp_chk2 is the second TCP header checksum;
and sending the TCP packet checksum of the target data to the first terminal.
6. A TCP transmission apparatus, for implementing a TCP transmission method according to any one of claims 1 to 5, comprising:
the data acquisition module is used for acquiring target data for TCP transmission on a network with a first congestion window when receiving download request information sent by a first terminal, wherein the target data comprises a TCP packet checksum;
the TCP header checksum calculation module is used for calculating a first TCP header checksum;
the data checksum determining module is used for determining the data checksum of the target data according to the TCP packet checksum and the first TCP header checksum;
and the sending module is used for sending the data checksum to the small station so that the small station sends the TCP packet checksum of the target data to the first terminal according to the second TCP header checksum and the data checksum, wherein the second TCP header checksum is the TCP header checksum calculated by the small station.
7. A TCP transmission system, for implementing a TCP transmission method according to any one of claims 1 to 5, comprising:
the acceleration server is used for acquiring target data for TCP transmission on a network with a first congestion window when receiving download request information sent by a first terminal, wherein the target data comprises a TCP packet checksum, calculating a first TCP header checksum, determining a data checksum of the target data according to the TCP packet checksum and the first TCP header checksum, and sending the data checksum to a small station;
and the small station is used for sending the TCP packet checksum of the target data to the first terminal according to the second TCP header checksum and the data checksum, wherein the second TCP header checksum is calculated for the small station.
8. The TCP transmission system of claim 7, wherein said acceleration server is configured to: by passing through
data_chksum=sum-tcp_chk1
Obtaining the data checksum data_chksum, wherein sum is the TCP packet checksum, and tcp_chk1 is the first TCP header checksum;
and sending the data checksum to the small station.
CN202311451513.XA 2020-02-19 2020-02-19 TCP transmission method, device and system Pending CN117676695A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311451513.XA CN117676695A (en) 2020-02-19 2020-02-19 TCP transmission method, device and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010103297.XA CN111314961A (en) 2020-02-19 2020-02-19 TCP transmission method, device and system
CN202311451513.XA CN117676695A (en) 2020-02-19 2020-02-19 TCP transmission method, device and system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202010103297.XA Division CN111314961A (en) 2020-02-19 2020-02-19 TCP transmission method, device and system

Publications (1)

Publication Number Publication Date
CN117676695A true CN117676695A (en) 2024-03-08

Family

ID=71147718

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311451513.XA Pending CN117676695A (en) 2020-02-19 2020-02-19 TCP transmission method, device and system
CN202010103297.XA Pending CN111314961A (en) 2020-02-19 2020-02-19 TCP transmission method, device and system

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202010103297.XA Pending CN111314961A (en) 2020-02-19 2020-02-19 TCP transmission method, device and system

Country Status (1)

Country Link
CN (2) CN117676695A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112822072A (en) * 2020-12-31 2021-05-18 鲸灵科技股份有限公司 TCP-based two-way communication protocol for lightweight computing task
CN114745273B (en) * 2022-06-10 2022-09-02 成都星联芯通科技有限公司 TCP acceleration proxy method, device, satellite ground station and readable storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101917342A (en) * 2010-08-25 2010-12-15 天津理工大学 Pervasive service-oriented adaptive network congestion control method
CN105991462B (en) * 2015-03-02 2019-05-28 华为技术有限公司 Sending method, sending device and the system of transmission control protocol TCP data packet
CN107800638B (en) * 2016-09-05 2020-07-31 北京金山云网络技术有限公司 Congestion control method and device
CN109639340B (en) * 2018-12-11 2021-05-28 成都天奥信息科技有限公司 TCP acceleration method suitable for satellite link

Also Published As

Publication number Publication date
CN111314961A (en) 2020-06-19

Similar Documents

Publication Publication Date Title
US6622172B1 (en) Dynamically delayed acknowledgement transmission system
US7940665B2 (en) Transparent optimization for transmission control protocol flow control
EP3780542B1 (en) Data transmission method and device
US7489637B2 (en) Method of enhancing the efficiency of data flow in communication systems
KR20040068880A (en) Reactive bandwidth control for streaming data
JP2008508817A (en) High performance TCP suitable for low frequency ACK system
JP2006157918A (en) High-throughput communications system, communications terminal, session relay device, and communication protocol
CN113014505B (en) Transmission control method for time delay differentiation in high dynamic topology satellite network
Wang et al. TCP congestion control algorithm for heterogeneous Internet
Liu et al. Improving explicit congestion notification with the mark-front strategy
CN104683259A (en) TCP congestion control method and device
CN117676695A (en) TCP transmission method, device and system
US8279756B2 (en) Communication terminal, communication control method, and communication control program
CN110602568B (en) Video stream transmission packet loss retransmission method, device and storage device based on RTP
CA2940077C (en) Buffer bloat control
CN114422425B (en) Method, system, device and storage medium for transmitting multilink aggregated data
TWI308012B (en) Method for adaptive estimation of retransmission timeout in wireless communication systems
Preveze A novel method for performance improvement of slow start congestion control method in packet switched networks
Guduru et al. Reliable Session Initiation Protocol (RSIP) signaling with UDP transport using piggybacking method
Villela et al. Improving scalability on reliable multicast communications
Wang et al. TCP enhancement for transmission in a variable bandwidth wireless environment
CN116471239A (en) End-to-end transmission method, system, equipment and medium for long-delay high-error code communication environment
CN116886616A (en) Congestion control method and device based on TCP, electronic equipment and storage medium
Ho et al. Snug-Vegas and Snug-Reno: efficient mechanisms for performance improvement of TCP over heterogeneous networks
Zhang et al. SNOOP-based TCP Enhancements with FDA in wireless cellular networks: A comparative study

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination