CN115633099A - Transmission protocol method suitable for high-bandwidth delay system - Google Patents
Transmission protocol method suitable for high-bandwidth delay system Download PDFInfo
- Publication number
- CN115633099A CN115633099A CN202211242609.0A CN202211242609A CN115633099A CN 115633099 A CN115633099 A CN 115633099A CN 202211242609 A CN202211242609 A CN 202211242609A CN 115633099 A CN115633099 A CN 115633099A
- Authority
- CN
- China
- Prior art keywords
- sending
- receiving
- packet
- data
- buffer area
- 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
Links
Images
Abstract
The invention relates to a transmission protocol method suitable for a high-bandwidth delay system, wherein the complete data transmission process comprises connection establishment, data transmission, congestion control and disconnection. The invention provides a reliable transmission protocol which is suitable for a high-bandwidth delay network based on a UDP protocol, abandons the resource overhead generated by multiple times of handshake waiting in a TCP protocol, and also avoids the inadaptation characteristic of the TCP protocol to the high-bandwidth delay network. By applying a brand-new congestion control mechanism, the packet sending rate can be automatically adjusted in real time, the available bandwidth can be fully used, and the method can perfectly adapt to the network environment with uncertain available bandwidth and high bandwidth delay.
Description
Technical Field
The invention relates to the technical field of data transmission, in particular to a transmission protocol method suitable for a high-bandwidth delay system.
Background
At present, the transport layer protocols used for file transmission in a network are commonly used TCP (transmission control protocol) and UDP (user datagram protocol).
TCP is a connection-oriented, reliable, byte-stream-based transport-layer communication protocol intended to accommodate layered protocol hierarchies that support multi-network applications. Reliable communication services are provided by means of TCP between pairs of processes in host computers connected to different but interconnected computer communication networks. TCP can obtain simple, possibly unreliable, datagram service from lower level protocols. In principle, TCP should be able to operate over a variety of communication systems connected from hard wire to packet switched or circuit switched networks.
The TCP protocol is widely used for various data transmission at present, but in some cases, such as a high bandwidth delay environment, due to the characteristics of the TCP congestion control Algorithm (AIMD) used by it, it takes a long time for TCP to adapt to the change of available bandwidth. And it does not perform satisfactorily in situations where network congestion is severe. To solve this problem, modified TCP protocols such as BIC TCP, CUBIC TCP, FAST TCP, etc. have appeared. However, these protocols only partially ameliorate this problem.
UDP is a connectionless transport layer protocol in the OSI (Open System Interconnection) reference model, and is mainly used in transmission that does not require packet sequence arrival, and inspection and sequencing of packet transmission sequence are completed by an application layer, providing a transaction-oriented simple unreliable information transfer service. The UDP packet has no reliability guarantee, sequence guarantee, flow control field, and the like, and has poor reliability. However, just because the UDP protocol has fewer control options, the delay in the data transmission process is small, and the data transmission efficiency is high.
Compared with the TCP protocol, the UDP protocol has lower transmission cost and higher speed, but cannot ensure reliability or be used in a transmission system with high requirement on reliability, and because of its connectionless characteristic, it is more impossible to dynamically adjust congestion in real time to adapt to the change of available bandwidth.
Disclosure of Invention
The present invention is directed to a transmission protocol method suitable for a high bandwidth delay system to solve the above-mentioned problems encountered in the background art.
In order to achieve the purpose, the technical scheme of the invention is as follows:
a transmission protocol method suitable for high bandwidth delay system, the complete data transmission process includes connection establishment, data transmission, congestion control and disconnection, wherein:
the method for establishing the connection comprises the following steps: the handshake establishment connection can be completed through one message round trip, and the periodic message handshake replaces a heartbeat mechanism in the traditional reliable protocol;
the data transmission method comprises the following steps: by setting a sending buffer area and a receiving buffer area, data in the sending buffer area sends data packets to a receiving end according to the sequence number, the receiving end is placed in the receiving buffer area according to the packet sequence number, and the sending buffer area releases the space in front of the queue to allow a sending end application layer to place data;
the congestion control method comprises the following steps: comprehensively calculating the quantity of data packets to be sent in the next sending period through a smaller sending period according to the ACK quantity, the NAK quantity and the network delay RTT in the period so as to adapt to the current available bandwidth change;
the disconnection method comprises the following steps: the sending end sends a disconnection instruction to the receiving end, and the receiving end disconnects the connection after receiving the instruction.
Specifically, in the above scheme, the method for establishing a connection includes the following steps:
s11, the sending end sends a SYN packet to the receiving end;
s12, after receiving the SYN packet, the receiving end generates a token according to the address of the sending end and the key of the receiving end and returns the token to the sending end, and a response is returned after receiving SYN containing the token each time;
s13, after receiving the SYN response, the sending end sends a SYN packet holding connection containing token to the receiving end regularly;
and S14, the sending end immediately starts to transmit data after receiving the first SYN response, and the subsequently received SYN responses are discarded.
Specifically, in the above scheme, the data transmission method includes the following steps:
s21, a sending buffer area and a receiving buffer area are respectively arranged for the sending end and the receiving end and used for storing sent and received data;
s22, the application layer of the sending end puts data into the sending buffer area, the data is put into the sending buffer area in a pause mode after the sending buffer area is full, and the data is put into the sending buffer area continuously when the buffer area to be sent has free space;
s23, the transmission layer of the sending end extracts and sends the data packets from the sending buffer zone according to the sequence of the serial numbers, and the data packets are in a waiting response state in the buffer zone;
s24, after receiving the data packet, the transmission layer of the receiving end puts the data packet into a receiving buffer area according to the packet sequence number, and immediately returns ACK to the sending end;
and S25, after receiving the ACK, the sending end sets the corresponding data packet in the sending buffer area to be in a finished state, judges whether the window of the sending buffer area moves backwards or not, and moves backwards the window of the sending buffer area to release the pre-queue space so as to allow the application layer of the sending end to put in data.
Further, in step S21, the space of the receiving buffer is larger than that of the transmitting buffer.
Further, in step S24, since the sending end sends the data packets in sequence according to the sequence numbers, and the receiving end receives the data packets in sequence, when the packet loss occurs, the receiving end can immediately find the data packet and send a NAK packet containing the packet sequence number to the sending end; and the transmitting end retransmits the data packet according to the sequence number after receiving the NAK packet.
Specifically, in the foregoing scheme, the congestion control method includes the following steps:
s31, controlling the transmission rate by adjusting the number of data packets in a sending period, wherein the sending period is a time period with a fixed length;
s32, the sending end sends out the data packets in sequence, and the receiving end checks whether the data packets are lost or not after receiving the data packets;
s33, the receiving end sends an ACK packet to the sending end after receiving a data packet, and the receiving end sends an NAK packet to the sending end after detecting that a data packet is lost;
s34, the sending end counts the number of received NAK packets at the end of each sending period, and comprehensively calculates the number of data packets to be sent in the next sending period according to the network delay RTT in the ACK packets so as to adapt to the change of the current available bandwidth.
Specifically, in the above scheme, the method for disconnecting includes the following steps:
s41, the sending end sends a SHUTDOWN packet to the receiving end and does not send a SYN packet;
s42, after receiving the SHUTDOWN packet, the receiving end returns a response packet and closes the connection;
and S43, the sending end closes the connection after receiving the closing response packet.
Further, in S43, if the sending end does not receive the close response packet after sending the SHUTDOWN packet for a certain time, the connection is closed according to the timeout.
Further, in S43, if the sending end does not receive the SYN response packet within a certain time, the receiving end does not receive the SYN packet within a certain time, and the connection is closed according to the timeout.
Compared with the prior art, the invention has the beneficial effects that: the transmission protocol method is a reliable transmission protocol which is provided based on UDP protocol and can be suitable for high-bandwidth delay network, abandons the resource overhead caused by multiple handshake waiting in TCP protocol, and avoids the inadaptation characteristic of TCP protocol to high-bandwidth delay network. By applying a brand-new congestion control mechanism, the packet sending rate can be automatically adjusted in real time, the available bandwidth can be fully used, and the method can perfectly adapt to the network environment with uncertain available bandwidth and high bandwidth delay.
Drawings
The disclosure of the present invention is illustrated with reference to the accompanying drawings. It is to be understood that the drawings are designed solely for the purposes of illustration and not as a definition of the limits of the invention. In the drawings, like reference numerals are used to refer to like parts. Wherein:
FIG. 1 is a schematic overall flow diagram of the present invention;
FIG. 2 is a schematic diagram of a method for establishing a connection according to the present invention;
FIG. 3 is a diagram illustrating a method of data transmission according to the present invention;
fig. 4 is a schematic diagram of a congestion control method according to the present invention.
Detailed Description
In order to make the technical means, the creation features, the achievement purposes and the effects of the invention easy to understand, the invention is further described in detail with reference to the attached drawings. These drawings are simplified schematic views illustrating only the basic structure of the present invention in a schematic manner, and thus show only the constitution to which the present invention relates.
According to the technical scheme of the invention, a plurality of alternative structural modes and implementation modes can be provided by a person with ordinary skill in the art without changing the essential spirit of the invention. Therefore, the following detailed description and the accompanying drawings are merely illustrative of the technical aspects of the present invention, and should not be construed as all of the present invention or as limitations or limitations on the technical aspects of the present invention.
The technical solution of the present invention is further described in detail with reference to the accompanying drawings and examples.
As shown in fig. 1 to 4, a transmission protocol method suitable for a high bandwidth delay system, a complete data transmission process includes connection establishment, data transmission, congestion control and disconnection, wherein:
1. the method for establishing the connection comprises the following steps: the handshake connection can be established by one message round trip, and the periodic message handshake replaces the heartbeat mechanism in the traditional reliable protocol. According to the scheme, the handshake connection can be established by one-time message back-and-forth, the resource cost is less, a heartbeat mechanism in a traditional reliable protocol is replaced by periodic message handshake, and the validity of the connection can be ensured through token information in the handshake message.
Specifically, referring to fig. 2, the method for establishing a connection includes the following steps:
s11, the sending end sends a SYN packet to the receiving end;
s12, after receiving the SYN packet, the receiving end generates a token according to the address of the sending end and the key of the receiving end and returns the token to the sending end, and a response is returned after receiving SYN containing the token each time;
s13, after receiving the SYN response, the sending end sends a SYN packet holding connection containing token to the receiving end regularly;
and S14, the sending end immediately starts to transmit data after receiving the first SYN response, and the subsequently received SYN responses are discarded.
2. The data transmission method comprises the following steps: by setting a sending buffer area and a receiving buffer area, data packets are sent to a receiving end by data in the sending buffer area according to the sequence number, the receiving end is placed in the receiving buffer area according to the packet sequence number, and the space before the sending buffer area is released allows a sending end application layer to place data.
Specifically, referring to fig. 3, the data transmission method includes the following steps:
s21, a sending buffer area and a receiving buffer area are respectively arranged for the sending end and the receiving end and used for storing sent and received data; further, the space of the receiving buffer is larger than that of the transmitting buffer, and the space of the receiving buffer is generally twice as large as that of the transmitting buffer, so that sufficient space is provided for operating data.
S22, the application layer of the sending end puts data into the sending buffer area, the data is put into the sending buffer area in a pause mode after the sending buffer area is full, and the data is put into the sending buffer area continuously when the buffer area to be sent has free space;
s23, the transmission layer of the sending end extracts the data packets from the sending buffer area according to the sequence of the numbers and sends the data packets, and the data packets are in a waiting response state in the sending buffer area;
s24, after receiving the data packet, the transmission layer of the receiving end puts the data packet into a receiving buffer area according to the packet sequence number, and immediately returns ACK to the sending end;
and S25, after receiving the ACK, the sending end sets the corresponding data packet in the sending buffer area to be a completion state, judges whether the window of the sending buffer area moves backwards or not, and moves backwards the window of the sending buffer area to release the queue front space so as to allow the application layer of the sending end to put data.
Further, in step S24, since the sending end sends the data packets in sequence according to the sequence numbers, and the receiving end receives the data packets in sequence, when the packet loss occurs, the receiving end can immediately find the data packet and send a NAK packet containing the packet sequence number to the sending end; and the transmitting end retransmits the data packet according to the sequence number after receiving the NAK packet.
3. The congestion control method comprises the following steps: and comprehensively calculating the quantity of data packets to be sent in the next sending period through a smaller sending period according to the ACK quantity, the NAK quantity and the network delay RTT in the period so as to adapt to the current available bandwidth change.
Specifically, referring to fig. 4, the congestion control method includes the following steps:
s31, controlling the transmission rate by adjusting the number of data packets in a sending period, wherein the sending period is a time period with a fixed length;
s32, the sending end sends out the data packets in sequence, and the receiving end checks whether the data packets are lost or not after receiving the data packets;
s33, the receiving end sends an ACK packet to the sending end after receiving a data packet, and the receiving end sends an NAK packet to the sending end after detecting that a data packet is lost;
s34, the sending end counts the number of received NAK packets at the end of each sending period, and comprehensively calculates the number of data packets to be sent in the next sending period according to the network delay RTT (Round Trip Time) in the ACK packets so as to adapt to the current available bandwidth change.
Because the sending period is a fixed small value, the sending end can adapt to the change of the available bandwidth in real time by adjusting the number of the data packets sent in the sending period.
As can be seen from fig. 4, in the transmission cycle N, i +1 data packets are transmitted in total, the number of data packets is determined when the previous transmission cycle ends, and the ACK includes the sequence number of the data packet, so the last ACK sequence number is also i +1. The method for calculating the number of data packets in the next sending period is simply as follows: the number of 1/16 of data packets is reduced by receiving a NAK packet, thereby reducing the sending rate; the total transmission is successfully increased by 1/8 of the number of data packets, thereby increasing the transmission rate.
4. The disconnection method comprises the following steps: the sending end sends a disconnection instruction to the receiving end, and the receiving end disconnects the connection after receiving the instruction.
Specifically, in the above scheme, the method for disconnecting includes the following steps:
s41, the sending end sends a SHUTDOWN packet to the receiving end and does not send a SYN packet;
s42, after receiving the SHUTDOWN packet, the receiving end returns a response packet and closes the connection;
and S43, the sending end closes the connection after receiving the closing response packet.
Further, in S43, if the sending end does not receive the close response packet after sending the SHUTDOWN packet for a certain time, the connection is closed according to a timeout.
Further, in S43, if the sending end does not receive the SYN response packet within a certain time, the receiving end does not receive the SYN packet within a certain time, and the connection is closed according to the timeout.
The transmission protocol method provides a reliable transmission protocol suitable for a high-bandwidth delay network based on a UDP transmission protocol, the protocol can ensure the integrity and the orderliness of information, ensure the reliable sending and receiving of data, and can adaptively adjust the congestion control in real time according to the available bandwidth of the network.
The invention provides a reliable transmission protocol which is suitable for a high-bandwidth delay network based on a UDP protocol, abandons the resource overhead generated by multiple times of handshake waiting in a TCP protocol, and also avoids the inadaptation characteristic of the TCP protocol to the high-bandwidth delay network. And a brand-new high-efficiency handshake, response mechanism and packet sequencing mechanism are used, so that the reliability of data transmission is ensured. By applying a brand-new congestion control mechanism, the packet sending rate can be automatically adjusted in real time, the available bandwidth can be fully used, and the method can perfectly adapt to the network environment with uncertain available bandwidth and high bandwidth delay.
The above-mentioned embodiments, objects, technical solutions and advantages of the present invention are further described in detail, it should be understood that the above-mentioned embodiments are only examples of the present invention, and are not intended to limit the scope of the present invention, and any modifications, equivalent substitutions, improvements and the like made within the spirit and principle of the present invention should be included in the scope of the present invention.
Claims (9)
1. A transmission protocol method suitable for a high bandwidth delay system, wherein a complete data transmission process comprises connection establishment, data transmission, congestion control and disconnection, wherein:
the method for establishing the connection comprises the following steps: the handshake establishment connection can be completed through one message round trip, and the periodic message handshake replaces a heartbeat mechanism in the traditional reliable protocol;
the data transmission method comprises the following steps: by setting a sending buffer area and a receiving buffer area, data in the sending buffer area sends data packets to a receiving end according to the sequence number, the receiving end is placed in the receiving buffer area according to the packet sequence number, and the space before the sending buffer area releases queue allows an application layer of the sending end to place data;
the congestion control method comprises the following steps: comprehensively calculating the quantity of data packets to be sent in the next sending period through a smaller sending period according to the ACK quantity, the NAK quantity and the network delay RTT in the period so as to adapt to the current available bandwidth change;
the disconnection method comprises the following steps: the sending end sends a disconnection instruction to the receiving end, and the receiving end disconnects the connection after receiving the instruction.
2. A transmission protocol method suitable for high bandwidth delay system according to claim 1, wherein the method of establishing connection comprises the following steps:
s11, the sending end sends a SYN packet to the receiving end;
s12, after receiving the SYN packet, the receiving end generates a token according to the address of the sending end and the key of the receiving end and returns the token to the sending end, and a response is returned after receiving SYN containing the token each time;
s13, after receiving the SYN response, the sending end sends a SYN packet holding connection containing token to the receiving end regularly;
and S14, the sending end immediately starts to transmit data after receiving the first SYN response, and the subsequently received SYN responses are discarded.
3. The method of claim 1, wherein the method of data transmission comprises the following steps:
s21, a sending buffer area and a receiving buffer area are respectively arranged for the sending end and the receiving end and used for storing sent and received data;
s22, the application layer of the sending end puts data into the sending buffer area, the data is put into the sending buffer area in a pause mode after the sending buffer area is full, and the data is put into the sending buffer area continuously when the buffer area to be sent has free space;
s23, the transmission layer of the sending end extracts and sends the data packets from the sending buffer zone according to the sequence of the serial numbers, and the data packets are in a waiting response state in the buffer zone;
s24, after receiving the data packet, the transmission layer of the receiving end puts the data packet into a receiving buffer area according to the packet sequence number, and immediately returns ACK to the sending end;
and S25, after receiving the ACK, the sending end sets the corresponding data packet in the sending buffer area to be in a finished state, judges whether the window of the sending buffer area moves backwards or not, and moves backwards the window of the sending buffer area to release the pre-queue space so as to allow the application layer of the sending end to put in data.
4. A transmission protocol method suitable for high bandwidth delay system according to claim 3, characterized in that: in step S21, the space of the receiving buffer is larger than the space of the transmitting buffer.
5. A transmission protocol method suitable for high bandwidth delay system according to claim 3, characterized in that: in step S24, since the sending end sends the data packets in sequence of the sequence numbers, and the receiving end receives the data packets in sequence, when a packet loss occurs, the receiving end can immediately find out and send an NAK packet containing the packet sequence number to the sending end; and the transmitting end retransmits the data packet according to the sequence number after receiving the NAK packet.
6. The transport protocol method for high bandwidth delay system according to claim 1, wherein the congestion control method comprises the following steps:
s31, controlling the transmission rate by adjusting the number of data packets in a sending period, wherein the sending period is a time period with a fixed length;
s32, the sending end sends out the data packets in sequence, and the receiving end checks whether the data packets are lost or not after receiving the data packets;
s33, the receiving end sends an ACK packet to the sending end after receiving a data packet, and the receiving end sends an NAK packet to the sending end after detecting that a data packet is lost;
s34, the sending end counts the number of received NAK packets at the end of each sending period, and comprehensively calculates the number of data packets to be sent in the next sending period according to the network delay RTT in the ACK packets so as to adapt to the current available bandwidth change.
7. The transmission protocol method suitable for high bandwidth delay system according to claim 1, wherein the disconnection method comprises the following steps:
s41, the sending end sends a SHUTDOWN packet to the receiving end and does not send a SYN packet;
s42, after receiving the SHUTDOWN packet, the receiving end returns a response packet and closes the connection;
and S43, the sending end closes the connection after receiving the closing response packet.
8. The transmission protocol method for high bandwidth delay system of claim 7, wherein in S43, if the sending end does not receive the close response packet after sending the SHUTDOWN packet for a certain time, the connection is closed according to timeout.
9. The transmission protocol method of claim 7, wherein in step S43, if the sending end does not receive the SYN response packet within a certain time, the receiving end does not receive the SYN packet within a certain time, and the connection is closed according to timeout.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211242609.0A CN115633099A (en) | 2022-10-11 | 2022-10-11 | Transmission protocol method suitable for high-bandwidth delay system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211242609.0A CN115633099A (en) | 2022-10-11 | 2022-10-11 | Transmission protocol method suitable for high-bandwidth delay system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115633099A true CN115633099A (en) | 2023-01-20 |
Family
ID=84904331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211242609.0A Pending CN115633099A (en) | 2022-10-11 | 2022-10-11 | Transmission protocol method suitable for high-bandwidth delay system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115633099A (en) |
-
2022
- 2022-10-11 CN CN202211242609.0A patent/CN115633099A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100785293B1 (en) | System and Method for TCP Congestion Control Using Multiple TCP ACKs | |
US6118765A (en) | System method and computer program product for eliminating unnecessary retransmissions | |
US7940665B2 (en) | Transparent optimization for transmission control protocol flow control | |
KR101032512B1 (en) | Reliable delivery of multi-cast conferencing data | |
CN110830472B (en) | Flexible data transmission method of flexible data transmission protocol based on TCP/IP protocol | |
CN109639340B (en) | TCP acceleration method suitable for satellite link | |
CN106210924B (en) | Video network transmission control method and system | |
WO2014037760A1 (en) | Method and system for increasing data flow transmission | |
JP2009526494A (en) | System and method for improving transport protocol performance | |
JP5185955B2 (en) | Method for improving TCP data transmission process when physical transmission medium is interrupted | |
US6553032B1 (en) | Packeting timeout spoofing in a wireless data communications network | |
JP4648457B2 (en) | Method for providing message transmission using an appropriate communication protocol | |
WO2022083371A1 (en) | Data transmission method and device | |
WO2013152614A1 (en) | System and method for network access based on application layer data | |
CN105406915A (en) | File transmission method facing satellite-to-earth link | |
CN116074401B (en) | Method for realizing transmission layer protocol on programmable exchanger | |
CN104580171B (en) | The transmission method of Transmission Control Protocol, device and system | |
CN115633099A (en) | Transmission protocol method suitable for high-bandwidth delay system | |
CN112468513B (en) | Terminal management communication method for enterprise network | |
JP2000022744A (en) | Packet communication system, packet communication device and packet communication method | |
JP3741421B2 (en) | Data communication method and communication terminal device | |
Rohrer | Performance and disruption tolerance of transport protocols for airborne telemetry networks | |
CA2422919A1 (en) | Dynamic tcp configuration for low latency voice/data traffic | |
JP2001168871A (en) | Data transfer system | |
Chen et al. | An improved rudp for data transmission in embedded real-time system |
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 |