# Q1(d) · TCP congestion control

Subject: Computer Networks

Exam: TEE

Reader: https://deep-learning-study-room.vercel.app/cn/#tee/papers/paper-2023-jan-ai-reexam/q1d

Canonical: https://deep-learning-study-room.vercel.app/read/cn/tee/papers/paper-2023-jan-ai-reexam--q1d/

Exact historical variant. Current-syllabus questions solved; excluded topics and source limitations stated.

### Q1(d). What is congestion control in TCP and how is it implemented? [5 marks]

### Answer

A TCP sender is limited by receiver capacity and network capacity. The **receive window rwnd** comes from the receiver; the **congestion window cwnd** is maintained by the sender. Roughly, allowed outstanding data is min(rwnd,cwnd), with the existing bytes in flight subtracted before sending new bytes.



$$
\mathrm{new\ allowance}=\max(0,\min(rwnd,cwnd)-\mathrm{bytes\ in\ flight})
$$



1. In classic slow start, cwnd grows rapidly as ACKs arrive; under a simplified round-based model it approximately doubles each RTT.
2. At the slow-start threshold, congestion avoidance grows more cautiously; classic additive increase is approximately one MSS per RTT.
3. Loss/timeout or an explicit congestion signal causes the sender to reduce its sending allowance. Exact recovery behaviour depends on the TCP congestion-control algorithm.
4. Fast retransmit can infer a missing segment from duplicate ACK evidence. It is distinct from waiting for a retransmission timeout.
5. The simplified Reno-style outline is supporting detail for the syllabus’s congestion-control topic, not a claim that all modern TCP stacks use an identical curve.

#### Practical example

If rwnd=32 KB and cwnd=12 KB, the network estimate limits outstanding bytes to about 12 KB. With 8 KB already in flight, only 4 KB of new data fits.
