Transmission Control Protocol (TCP)

The TCP (Transmission Control Protocol) is a fundamental communication protocol used for transmitting data over a network. It is a core component of the Internet Protocol Suite and operates at the Transport Layer of the OSI Model. Unlike its counterpart UDP, TCP is a connection-oriented protocol, which means it establishes a dedicated virtual connection between the sender and the receiver before any data is exchanged.

One of the primary functions of TCP is to ensure the reliable delivery of data. It achieves this through a process called the Three-Way Handshake, where the client and server exchange SYN (synchronize) and ACK (acknowledge) packets to synchronize sequence numbers. TCP provides Error Detection and correction by assigning a sequence number to each packet, allowing the receiver to reorder segments and request retransmission of lost data. According to the IETF RFC 9293, which updates the original RFC 793, TCP also implements Flow Control and Congestion Control mechanisms to prevent the sender from overwhelming the receiver or the network infrastructure.

Common applications that rely on TCP include HTTP for web browsing, SMTP for email transmission, and FTP for file transfers. These services require the high level of integrity and ordering that TCP provides. Detailed specifications and historical context of the protocol can be explored via the IANA Service Name and Port Number Registry.