Congestion control: sharing the pipe
لم يُترجم بعد؛ يُعرض باللغة الإنجليزية
A TCP sender never learns how fast the path is. It has to find out by trying. Follow two uploads that share one slow link: slow start doubles the window, a full queue drops packets, the window is halved, and the slow climb that follows lets both senders end up with fair shares.
5 أسئلة سريعة
اختر إجابة لتعرف السبب. تُحفَظ نتيجتك مع تقدّمك.
01What does the congestion window (cwnd) limit?
cwnd is the sender's own guess at what the path can carry. It caps the data in flight, together with the receiver's window.
02In slow start, cwnd is 6 segments and every segment is acknowledged. What is cwnd one round trip later?
Each ACK adds one segment, and a full window brings 6 ACKs, so the window doubles to 12.
03Why did packets get dropped in this lesson?
The link carries 20 packets per round trip and the queue holds 10. When 41 arrived in one round trip, the rest had nowhere to go.
04After three duplicate ACKs, a Reno sender with cwnd 24 does what?
Fast retransmit resends the missing segment at once; multiplicative decrease halves the window. CUBIC would cut to 0.7 of it instead.
05How does ECN differ from a drop?
With ECN the signal is a mark in the IP header (CE), echoed by the receiver as ECE. The sender reacts as for a loss, but nothing has to be resent.
المسرد
- Congestion
- More traffic heading for a link than it can carry, so packets queue up and, once the queue is full, are dropped.
- Congestion window (cwnd)
- The sender's limit on segments in flight (sent but not yet acknowledged). TCP raises it while things go well and cuts it on loss.
- Round trip time (RTT)
- The time from sending a segment to hearing its ACK. TCP's window changes are counted per round trip.
- Slow start
- The start-up phase in which cwnd doubles every round trip, until a loss or until it reaches ssthresh.
- ssthresh
- The slow-start threshold: below it cwnd doubles, above it cwnd grows by about one segment per round trip. A loss sets it to half the window.
- Bottleneck
- The slowest link on a path. It decides how fast the whole path can go, and its queue is where packets wait or are dropped.
- AIMD
- Additive increase, multiplicative decrease: add a little each round trip, halve on loss. It produces the sawtooth and shares a link fairly.
- ECN
- Explicit Congestion Notification: routers mark packets instead of dropping them, and the sender slows down when the mark is echoed back.
الملاحظات والمصادر
- The trace is illustrative and counted in whole segments per round trip: a 20-packet link, a 10-packet queue, and both senders losing in the same round. Real losses are spread out and fast recovery briefly inflates cwnd.
- The initial window of 3 segments is RFC 5681's value for 1460-byte segments; RFC 6928 allows 10, which most servers use today.
- CUBIC (RFC 9438), the default in Linux, cuts to 0.7 of the window and regrows along a cubic curve, quickly at first and gently near the old peak. Newer algorithms such as BBR model the path's bandwidth and delay instead of waiting for loss.
- 192.0.2.10, 198.51.100.7 and 203.0.113.10 are RFC 5737 documentation addresses.
اختبار يتاح بعد الخطوة الأخيرة.