- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
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.
Causes
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.