Congestion Control

3 important questions on Congestion Control

What is TCP Congestion Control?

Congestion Collapse
- originally there was no congestion control
- host could send packets when adv window allowed
- congestion results in dropped packets
- retransmission made for even more congestion

TCP congestion control:
- each source determines network capacity for itself
- based on implicit feedback
- use ACKs to pace transmission
- only assumes best effort network with FIFO routers

Challenge
- determining availability of router
- adjusting to changes in the available capacity

Solution: Additive Increase / Multiplicative Decrease (AIMD)

What is Fast Retransmit? And Fast Recovery?

Problem: coarse-grained TCP timeouts lead to long idle periods

Fast Retransmit: use duplicate ACKs to trigger retransmission sooner
- receiver always responds with an ACK
- if packet arrives out of order: receiver resends previous ACK
- sender retransmits missing packet after receiving three duplicate ACKs    

Fast Recovery
- skip the Slow Start phase between Fast Retransmit and Additive Increase
- go directly to half the last sucessful CongestionWindow
- Slow Start is only used initially and after coarse-grained timeout

What is TCP Vegas?

Idea: source watches for some sign that some router queue is building up and congestion will happen soon.

ExpectedRate = CongWindow / BaseRTT
Diff = ExpectedRate - ActualRate
if Diff > alpha --> increase CongWindow
if Diff < beta --> increase CongWindow

TCP proposes delay comes from congestion. This doesnt hold for wireless networks where many things can act up to cause timeouts. Thats why TCP needs to be finetuned for different occasions

The question on the page originate from the summary of the following study material:

  • A unique study and practice tool
  • Never study anything twice again
  • Get the grades you hope for
  • 100% sure, 100% understanding
Remember faster, study better. Scientifically proven.
Trustpilot Logo