TCP is the primary transport layer protocol that is used to transport data between systems when communicating over a network. TCP is a connection oriented protocol that provides reliability, flow control, congestion control and multiplexing.

TCP establishes a connection between the systems when they want to send data with a 3-way handshake. The client starts the TCP by sending a SYN (Sync) packet to the server. The server responds back with SYN/ACK (Sync/Acknowledgement) to the client. Then the client sends back the ACK (Acknowledgement) to the server. This 3-way handshake establishes the connection between the client and server after which they start sending data between each other.