What are issues and solutions related to TCP in networks?

Some the issues and solution related to Transmission Control Protocol (TCP) are as follows −

  • Silly window syndrome.

  • Congestion window management.

Silly Window Syndrome

This is a problem which arises in TCP flow control. In this the sender window size shrinks to an extremely low value due that the data being sent in each trip is even smaller than the TCP header. Due to which TCP protocol becomes extremely inefficient.


The silly window syndrome can occur due to two main reasons, which are as follows −

  • The application which needs to send the data produces a short amount of data (1 byte), again and again and the TCP protocol is implemented in such a way that it sends the data as soon as received.

The solution to this is keeping a buffer at the sender end and storing data in it while it’s generating and after sufficient data is generated or a time limit is reached (usually a Round Trip Time) then the next data packet will be sent. This is called Nagle’s algorithm.

  • Another cause can be the receiver can process very low amounts of data, so keep sending updates to decrease the window size to the sender.

The solution to this is the receiver should not send updates to the sender to decrease the window size beyond a certain limit. It must wait for some time limit till it has decent space and then send the update for window size. This is called Clark’s algorithm.

Congestion Window Management

This is a method of changing the sender window size based on the network traffic. In this, the window size is initially set to 1 and then increased based on the following phases −

Phase 1 Slow Start

In this phase the size of the window is increased exponentially, that is, the window size doubles for every RTT. This phase is continued till a threshold window size is reached.

Phase 2 Congestion Avoidance

In this phase the window size is increased additively, i.e. the window size is increased by 1 for every RTT. It continues till Congestion is discovered.

Phase 3 Congestion Detection

It occurs when congestion is detected, i.e. a packet was resent. It can be due to 1 of the two reasons given below −

  • Timeout − In this case, the threshold is reduced to half of current window size and the window size is decreased to 1 and again Phase 1 is started.

  • Acknowledgement Duplicates − In this case the threshold is reduced to half of current window size and the window size is decreased to the threshold value and again Phase 2 is started.

Updated on: 15-Sep-2021


Kickstart Your Career

Get certified by completing the course

Get Started