Mani Raj Paul - TCP - Congestion Control

Congestion Control

When large amount of data is fed to system which is not capable of handling it, congestion occurs. TCP controls congestion by means of Window mechanism. TCP sets a window size telling the other end how much data segment to send. 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.

Retransmission timer:

  • This timer maintains stateful session of data sent.
  • If the acknowledgement of sent data does not receive within the Retransmission 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).

Comments

Popular posts from this blog

Mani Raj Paul - DPCM

Mani Raj Paul - Quantization