Skip to content
  • There are no suggestions because the search field is empty.

TCP Characteristics

TCP stands as one of the fundamental building blocks of modern computer networking. It is pivotal in ensuring reliable, orderly, and connection-oriented data transmission across networks. TCP offers a range of characteristics that make it well-suited for various applications, including those where data integrity and sequencing are paramount. 

TCP's key characteristics include:

  • Reliability: TCP ensures data arrives intact and in the correct order. It uses acknowledgments and retransmissions to guarantee successful delivery.
  • Connection-oriented: It establishes a connection between sender and receiver before data exchange. This connection setup and teardown add an overhead but guarantee reliable data transfer.
  • Sequencing: Each data segment is numbered, allowing the receiver to reassemble them correctly, which is crucial for applications requiring ordered delivery.
  • Flow Control: It manages data flow to prevent congestion. TCP uses windowing to regulate the amount of data in transit.
  • Error Detection and Correction: TCP employs checksums to detect errors and request retransmission of corrupted data.
  • Full Duplex Communication: Simultaneous two-way communication between sender and receiver.
  • Congestion Control: TCP adapts to network conditions, avoiding excessive data transmission that could lead to congestion.

As a connection-oriented protocol, TCP always initiates a TCP session through a three-way handshake. This occurs during the initial connection setup, ensuring reliable and ordered data exchange readiness. The handshake establishes initial sequence numbers and validates the connection. This process is essential for TCP's reliability, ordered data delivery, error detection, flow control, and congestion management during the communication session.

The TCP Three-way handshake procedure

As you can see in the image above, three steps are included in the three-way handshake:

  1. SYN (Synchronize): The initiating device sends a SYN segment to the receiving device to request a connection. This segment includes the client's randomly generated initial sequence number (ISN).
  2. SYN-ACK (Synchronize-Acknowledge): Upon receiving the SYN, the server acknowledges the request with a SYN-ACK segment. It also sends its own ISN.
  3. ACK (Acknowledge): The client confirms the server's response with an ACK segment. This marks the completion of the three-way handshake.

Due to its numerous supported features, the TCP header is complex, consisting of multiple fields that perform various functions. This 20-byte segment, positioned at the beginning of a TCP packet, contains crucial information such as source and destination ports, sequence and acknowledgment numbers, and control flags, among many other parameters, all vital for ensuring reliable data communication.

TCP header and its content

Several common types of applications rely on TCP for reliable and ordered data transmission, such as:

  • Web browsing
  • Email
  • File transfer
  • Database access 
  • Remote connection