TCP/IP: 5 Advantages and Disadvantages

This page explores the benefits and drawbacks of TCP/IP (Transmission Control Protocol/Internet Protocol).

What is TCP/IP? (Introduction)

  • It establishes a connection-oriented service.
  • It is defined in RFC793.
  • It’s considered a highly reliable connection due to the presence of SYN/ACK fields.
  • The TCP header, containing the protocol field with a value of “0x06” in the IP header, is detailed below.

The TCP header includes: source port, destination port, sequence number, acknowledgment number, header length, flags (U, A, P, R, S, F), window, checksum, pointer, and some padding bits.

  • TCP/IP uses a continuous stream of ordered data, fed from the upper layer and segmented before transmission. It utilizes a window size to protect buffer space and manage packet routing. This flow control mechanism is crucial in TCP/IP.
  • It performs multiplexing and demultiplexing of applications based on unique port address fields.
  • It’s a reliable in-order byte-stream protocol.
  • As depicted in Figure 1, TCP is used at the 4th layer (Transport Layer) and IP is used at the 3rd layer (Network Layer) of the OSI model.

TCP-IP

Figure 1: TCP/IP stack compared to OSI stack

TCP Header

Figure 2: TCP Header

IPV4 header

Figure 3: IPV4 header

Figures 2 and 3 illustrate the fields within the TCP and IP headers, respectively.

TCP Connection Establishment and Termination

Figure 4: TCP Connection Establishment and Termination

Figure 4 outlines the TCP connection establishment and termination procedures. It employs a 3-way handshake (SYN, SYN-ACK, ACK) for connection establishment and the “FIN” flag for termination.

Benefits or Advantages of TCP/IP

Here are the benefits and advantages of TCP/IP:

  1. It’s an industry-standard and open protocol with a scalable architecture.
  2. TCP protocol is connection-oriented and utilizes sequence numbers unique to each packet. This ensures data delivery in the correct order without duplication.
  3. It incorporates flow control, error control, and congestion control mechanisms.
  4. Since the stack is embedded within the Operating System (OS), the kernel handles reassembly, acknowledgments, flow control, etc. This simplifies the tasks usually managed by the programmer.
  5. Routers can read TCP packets and prioritize them accordingly.
  6. TCP provides relatively better throughput, especially on modem or LAN connections.

Drawbacks or Disadvantages of TCP/IP

The following are the drawbacks or disadvantages of TCP/IP:

  1. It can be more complex to set up and maintain compared to NetBEUI or IPX/SPX.
  2. It can be slower than IPX/SPX and NetBEUI on networks with light to medium traffic.
  3. Handoff overhead can be significant.
  4. Centralized TCP/IP domain assignment requires registration and associated costs.
  5. TCP/IP cannot conclude transmission until all data in transit has been explicitly acknowledged.
  6. TCP doesn’t inherently define block boundaries; the programmer needs to implement their own.