TCP stands for Transmission Control Protocol

The Transmission Control Protocol (TCP) is one of the core protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol. For most of its existence, TCP has been the dominant transport layer protocol on the Internet. The primary purpose of TCP is to provide reliable communication over computer networks by ensuring data delivery and retransmitting lost or corrupted packets until they reach their destination.[1]

Definition

TCP is a connection-oriented, end-to-end protocol. TCP provides a reliable, flow-controlled, byte-stream delivery service that guarantees the delivery of data across the internetwork and in the correct sequence. It completes the full three-way handshake before starting to send any data and remains in constant contact with its peer while they are communicating.

TCP is based on congestion control: if one host transmits more than another can accept, their transmission rate will be slowed down until it matches the receiving side’s capacity (or until one host closes). This means that even if packets get lost or corrupted along the way, TCP will still make sure all of them arrive at their destination correctly—it does so by retransmitting any packets that don’t turn up after a certain amount of time (and thus doesn’t cause excessive retransmissions).

RFC 793

The Transmission Control Protocol (TCP) is a connection-oriented, byte-stream protocol designed to provide reliable delivery of data between applications running on hosts communicating across a network. TCP is sometimes referred to as a transport layer protocol because it provides services at the network layer of the OSI model.

Most importantly, TCP provides mechanisms that allow applications to detect and recover from errors in the transmission or delivery of packets. In addition, TCP includes features that allow it to be used in many different types of networks using different underlying protocols (for example, IP).

TCP three-way handshake — SYN, SYN-ACK, ACK

As you know, TCP is a three-way handshake protocol. The first step is the SYN (synchronize) flag, which initiates a connection request. In response to this request, the responder sends back an SYN-ACK (synchronize and acknowledge) packet with an ACK flag set. Finally, the initiator confirms that the end of the connection has been established by sending another ACK packet.

If you are having trouble understanding these packets, try imagining how it would be if someone were to bring up their mobile phone and dial your phone number in order for you both to speak on the line together:

Initiator: Hello? Are you there? Do I have your attention yet? Responder: Yes! I’m listening now! Initiator: Good! Here’s what I want from this call… Responder: Sorry but no can do until our relationship gets off on a better foot…

Connection termination — four-way handshake method

The TCP connection termination process is initiated by either the sender or receiver. The receiver sends a FIN message to the sender, and then both parties send an ACK message. If an RST message is received, the original connection terminates immediately.

TCP code diagram

TCP is a connection-oriented protocol that operates at the transport layer of the open systems interconnection (OSI) model. TCP is considered to be reliable and stream-oriented, in that it provides error correction, congestion control, flow control, and multiplexing services.

These qualities make TCP well suited for applications such as file transfer over the Internet; however, they result in an extra overhead when used with web browsing or other less demanding applications that require low latency and jitter. These qualities also make it difficult to use TCP with multimedia applications as they generally require low delay but not necessarily reliability or capacity sharing between flows. This can be addressed by using different protocols such as UDP where possible instead of TCP.

By admin

Leave a Reply

Your email address will not be published.