What is Congestion control?

The mechanism by which senders adjust how much they send to avoid congestion, the state in which a network is so busy that packets are lost. TCP keeps a congestion window that grows quickly in slow start, then grows slowly, and is cut sharply when packet loss is detected (AIMD). Algorithms such as CUBIC and BBR use cues such as loss, rising delay or measured bandwidth. Its purpose differs from flow control, which matches the receiver's capacity.

Japanese name: 輻輳制御

Congestion control appears in 3 practice questions across 2 topics, including Computer Networking Basics, Web Technology Basics.

Field: Computer Networking Basics

Try it: questions about Congestion control

Which correctly describes the basic idea of TCP congestion control?

  1. AThe receiver reports its free buffer space to the sender so that its buffer does not overflow
  2. BThe sender treats signs such as packet loss as congestion, shrinks its congestion window to send less, and increases it gradually when there is no congestion
  3. CA congested router tells each sender a numerical rate at which it may send, and the senders comply
Show answer and explanation

Answer: B. The sender treats signs such as packet loss as congestion, shrinks its congestion window to send less, and increases it gradually when there is no congestion

When a router along the path becomes congested, its queue grows, delay increases and packets that overflow are dropped. A TCP sender infers loss from missing ACKs or duplicate ACKs and reduces the amount it sends on its own (the congestion window). At the start of a connection, slow start roughly doubles the window every round trip to find the available bandwidth quickly; after that the window grows gradually and is cut sharply when loss occurs (additive increase, multiplicative decrease). The amount actually sent is limited by the smaller of the congestion window and the receive window. Variants such as CUBIC and BBR differ in how they grow the window and how they judge congestion.

1.5 MB of text data is compressed with gzip to one third of its size and sent. The bandwidth is 10 Mbps and the RTT is 100 ms, and before the data starts to be sent, the TCP connection, the TLS handshake and the HTTP request take three round trips in total. Assume 1 MB = 10^6 bytes, and ignore compression and decompression time, headers and waiting caused by TCP congestion control. Which of the following is closest to the time until all the data has been received?

  1. AAbout 0.4 s
  2. BAbout 0.7 s
  3. CAbout 1.5 s
Show answer and explanation

Answer: B. About 0.7 s

The compressed size is 1.5 ÷ 3 = 0.5 MB, which is 0.5 × 8 = 4 Mbit. Sending this at 10 Mbps takes 4 ÷ 10 = 0.4 s, and adding the 3 × 0.1 = 0.3 s of the three round trips before sending begins gives about 0.7 s in total. Without compression, transferring 1.5 MB = 12 Mbit takes 12 ÷ 10 = 1.2 s, for a total of about 1.5 s.

Congestion control in the explanations

Questions that mention Congestion control (3)

  1. Which correctly describes the basic idea of TCP congestion control?
  2. 1.5 MB of text data is compressed with gzip to one third of its size and sent. The bandwidth is 10 Mbps and the RTT is 100 ms, and before the data starts to be sent, the TCP connection, the TLS handshake and the HTTP request take three round trips in total. Assume 1 MB = 10^6 bytes, and ignore compression and decompression time, headers and waiting caused by TCP congestion control. Which of the following is closest to the time until all the data has been received?
  3. In TCP flow control, what is the purpose of the receiver advertising its window size (receive window) to the sender?

Books on Computer Networking Basics Ad

As an Amazon Associate I earn from qualifying purchases.

Comparisons that include this term

Related terms

TCP (Transmission Control Protocol) Router Queue Packet Round-trip time (RTT) TLS HTTP (Hypertext Transfer Protocol) Flow control ARP ARQ (automatic repeat request)

Back to the glossary