How does TCP ensure reliable transmission?
How does TCP ensure reliable transmission?
There are many factors in the network that may cause data to be lost, damaged or disordered during transmission, such as instability of the transmission medium, congestion, packet loss, etc. To deal with these problems, TCP introduces a series of mechanisms to ensure reliable transmission of data.
picture
picture
1 Connection management mechanism
TCP is a connection-oriented reliable transmission protocol. TCP uses a three-way handshake and a four-way wave to establish and terminate connections. Through the three-way handshake, the sender and receiver exchange information such as sequence numbers and window sizes to ensure that both parties are ready for data transmission. During the transmission process, the connection is terminated normally by waving four times to ensure that the final data can be transmitted completely.
picture
picture
2 Serial number and confirmation response mechanism
TCP tracks the transmission of data by assigning a sequence number to each byte. The sender divides the data into multiple segments according to sequence numbers and sends them to the network. The receiver informs the sender that the data has been successfully received through the acknowledgment response (ACK) mechanism. If the sender does not receive a confirmation response within a certain period of time, the corresponding data will be resent.
picture
picture
picture
3 Retransmission mechanism
In order to ensure reliable transmission of data, TCP starts a timer after sending data. If no acknowledgment is received within the timer time, the data is considered lost and the sender will resend the data (timeout retransmission). In addition, if multiple acknowledgments are received for the same data packet, it means there is data loss and retransmission (fast retransmission) will also be triggered.
picture
picture
4 flow control
Flow control is a mechanism by which the receiver controls the sending speed of the sender not to be too fast. The sliding window mechanism allows the sender to send multiple data message segments before receiving a confirmation response, improving transmission efficiency. The receiver uses the window size to tell the sender how much data it can receive. The sender performs flow control based on the window size to ensure that no more data is sent than the receiver can handle.
picture
picture
picture
picture
5 Congestion Control
TCP also optimizes network performance and avoids network congestion through congestion control mechanisms. The congestion control algorithm adaptively adjusts the sending rate of the sender according to the congestion situation of the network to prevent excessive data from being injected into the network and avoid network congestion and data loss.
picture
picture
picture
picture
TCP uses the above mechanisms to ensure reliable transmission of data and ensure the integrity, consistency and correctness of data in the network. Whether dealing with network packet loss, out-of-order, congestion or other abnormal situations, TCP can adaptively adjust the transmission strategy and provide reliable transmission services.