The Transmission Control Protocol (TCP) forms the basis for data exchange on the Internet. It ensures that the data is transferred in the correct order, is connection-oriented, reliable, time-monitored, and transparent.
In the 1970s, DARPA sought a new technique for the transmission of digital data. However, the technicians had to deal with many different standards and protocols at that time, which made the data exchange extremely difficult. Finally, in 1974, the Institute of Electrical and Electronics Engineers (IEEE) succeeded in presenting a protocol that could transmit packets, even if the respective networks had different physical structures. The TCP was established. DARPA finally developed it for various operating systems into today’s IPv4.
In the meantime, various other network providers have tried to develop their own protocols. However, only with TCP/IP was it possible to exchange data in a heterogeneous network over various operating systems and devices.
If a connection is established between two devices via TCP, data can be sent in both directions. The protocol ensures that the recipient receives this data in the correct order. Once the data has been received, the transmitter receives a confirmation of receipt.
The data itself is sent in packets which are provided with the data of the receiver and the transmitter, as well as the length of the packet. When transmitting, each packet can take various routes via individual network nodes. There is no prescribed route. This means that the data can also be sent in parts with TCP. The packets are then reassembled in the right order by the protocol.
Data transmission in TCP takes place in three phases:
A one-to-one connection is established. This connection is maintained during the entire data exchange. Alternatively, this phase can also be started with two or more partners, as is usual with synchronization.
During the data transmission, a virtual connection is used for sending individual data blocks, and at the same time, an acknowledgment of receipt is sent of individual sequence numbers which have been assigned for the individual data blocks. Individual timers monitor this process and resend data blocks if they have not arrived. Flow control ensures the smooth data transfer with the help of algorithms.
In this phase, the connection is either disconnected when all the data has been transferred or when a higher protocol provides the disconnection.
The advantages of TCP are: