Congestion Control
- When large amount of data is transferred to system (which is not capable of handling it) congestion occurs.
- Congestion control refers to the techniques used to control or prevent congestion.
- TCP may use three algorithms for congestion control:
TCP may use three algorithms for congestion control:
- Additive increase, Multiplicative Decrease
- Slow Start
- Timeout React
Timer Management
- TCP uses different types of timer to control and management various tasks:
Keep-alive timer
- This timer is used to check the integrity and validity of a connection.
- When keep-alive time expires, the host sends a probe to check if the connection still exists.
Re-transmission timer
- This timer maintains statefull session of data sent.
- If the acknowledgement of sent data does not receive within the Re-transmission time, the data segment is sent again.
Persist timer
- TCP session can be paused by either host by sending Window Size 0.
- To resume the session a host needs to send Window Size with some larger value.
- If this segment never reaches the other end, both ends may wait for each other for infinite time.
- When the Persist timer expires, the host re-sends its window size to let the other end know.
- Persist Timer helps avoid deadlocks in communication.
Timed-Wait
- After releasing a connection, either of the hosts waits for a Timed-Wait time to terminate the connection completely.
- This is in order to make sure that the other end has received the acknowledgement of its connection termination request.
- Timed-out can be a maximum of 240 seconds (4 minutes).
Crash Recovery
- TCP
is very reliable protocol. It provides sequence number to each of byte
sent in segment.
- It provides the feedback mechanism i.e. when a host
receives a packet, it is bound to ACK that packet having the next
sequence number expected (if it is not the last segment).
- When
a TCP Server crashes mid-way communication and re-starts its process it
sends TPDU broadcast to all its hosts. The hosts can then send the last
data segment which was never unacknowledged and carry onwards.
Congestion control is a network mechanism webspacekit designed to prevent too much data from being sent across a network too quickly, which could lead to network overload or congestion.
ReplyDelete