This article was automatically translated from the original Turkish version.

The Transmission Control Protocol (TCP) is a connection-oriented transport layer protocol designed to ensure reliable and ordered data transmission between two endpoint devices in computer networks. TCP was first developed by the Defense Advanced Research Projects Agency (DARPA), part of the United States Department of Defense, and today forms one of the fundamental pillars of data transmission over the Internet. Reliable data transfer is supported by functions such as error control, flow control, and congestion control. TCP divides data streams into packets (segments), assigns each segment a sequence number, and ensures they are delivered to the receiver in the correct order. Various techniques have been developed to improve TCP's performance in communication channels with high error rates, such as wireless environments.
TCP encompasses three phases: connection establishment, data transfer, and connection termination. Data transfer cannot begin until a session is established between the two devices. The most important functions of TCP are:
TCP operates fundamentally on a byte-stream basis; each data segment is identified by a byte number, and the receiver responds with an acknowledgment (ACK) message for each received segment.
TCP segments carry a header containing control information in addition to the data payload. The header includes the source port, destination port, sequence number, acknowledgment number, flags (such as SYN, ACK, FIN), window size, and a checksum used for error detection.
TCP connections are established and terminated using a three-way handshake mechanism.
The initiating device (client) sends a SYN segment. The target device (server) responds with a SYN-ACK segment. The client then confirms the connection by sending an ACK segment. This process involves the following steps:
At the end of a connection, both parties send segments with the FIN flag set to ensure the connection is closed in a controlled manner.
TCP aims to ensure efficient utilization of network resources through both flow control and congestion control mechanisms.
The receiver informs the sender of its buffer capacity by advertising a window size. The sender limits its data transmission rate according to this advertised window.
TCP interprets packet loss as an indicator of network congestion. When a segment is lost, the sender reduces its transmission rate. TCP's congestion control mechanisms include the following:
In environments with high error rates, such as wireless networks, classical congestion control methods can lead to unnecessary transmission rate reductions. To address this, new techniques have been developed that can distinguish the cause of packet loss.
The arrival of packets in an order different from the order in which they were sent is a significant issue for TCP. Packet reordering can cause the following problems:
To mitigate these issues, new algorithms have been developed; for example, methods such as the Eifel Algorithm attempt to detect spurious retransmissions.
In wireless environments, segment losses are typically caused by data corruption rather than congestion.
Therefore, TCP has been adapted to operate more efficiently in wireless environments by:
For example, protocols such as TCP Peach and TCP Westwood are variants developed to improve performance in wireless environments.

No Discussion Added Yet
Start discussion for "TCP (Transmission Control Protocol)" article
Key Features of TCP
TCP Header Structure
Connection Establishment
Connection Termination
Flow and Congestion Control in TCP
Flow Control
Congestion Control
Packet Reordering in TCP
Adaptation of TCP to Wireless Environments