CN115633099A - Transmission protocol method suitable for high-bandwidth delay system - Google Patents

Transmission protocol method suitable for high-bandwidth delay system Download PDF

Info

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
Application number
CN202211242609.0A
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.)
Feichi Yunlian Nanjing Technology Co ltd
Original Assignee
Feichi Yunlian Nanjing 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 Feichi Yunlian Nanjing Technology Co ltd filed Critical Feichi Yunlian Nanjing Technology Co ltd
Priority to CN202211242609.0A priority Critical patent/CN115633099A/en
Publication of CN115633099A publication Critical patent/CN115633099A/en
Pending legal-status Critical Current

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

Transmission protocol method suitable for high-bandwidth delay system
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.
CN202211242609.0A 2022-10-11 2022-10-11 Transmission protocol method suitable for high-bandwidth delay system Pending CN115633099A (en)

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)

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