Unit 12 · Networking research · Lesson 1 of 4
Transport and queueing foundations for research
Step 1: Learn the ideas
- Single-bottleneck model and the BDP
- Delivery rate and RTT versus inflight data
- Little's law for queues
- Good queues versus standing queues
- Buffer sizing: one BDP versus many flows
- Drop-tail, RED, CoDel and fair queuing
- Minimum-RTT estimation and its pitfalls
- Fairness metrics: Jain's index, max-min, RTT fairness, harm
Why it matters
Research interviews and thesis discussions in networking move quickly from "what does TCP do" to "what should happen at the bottleneck, and how would you know?". You may be asked to predict queue occupancy for a scenario, explain why an algorithm trades delay for throughput, or justify the buffer size in an experiment. These foundations also let you read evaluation sections critically.
Core ideas
The bottleneck model. For one flow, model the path as a pipe with bottleneck rate C and round-trip propagation delay R. The pipe itself holds C x R bytes, the BDP. With inflight data D below the BDP, the flow is window-limited and the RTT stays at R. Between the BDP and BDP + B, where B is the bottleneck buffer, the delivery rate is saturated at C and the extra data waits in the queue, so the RTT grows as R + (D - BDP) / C. Beyond BDP + B, packets are dropped. Loss-based algorithms operate near the buffer-full edge; the ideal point in this model is D = BDP, which gives full rate at minimum delay. This picture is the core of the BBR article and of many throughput-versus-delay arguments.
Little's law. Average occupancy equals arrival rate times average time in the system. For a queue drained at rate C, a standing queue of Q bytes adds Q / C seconds of delay: 1 MB at 100 Mbit/s adds 80 ms. The same law applies to switch queues, socket buffers and application queues.
Queue dynamics. Queues absorb bursts when arrivals briefly exceed service; a standing queue that never drains adds delay without throughput, the distinction behind CoDel. Delay variation mostly reflects changing occupancy, so measured RTT samples mix propagation and queueing. The minimum RTT approximates propagation delay only if the queue empties now and then.
Buffer sizing. The classic rule of thumb sized router buffers at one BDP so that a single loss-based flow keeps the link busy after halving its window. Work on core routers argued that with many desynchronized flows, buffers smaller by roughly the square root of the number of flows suffice. The right size depends on flow count, synchronization and the algorithms in use, which is why buffer depth, expressed in BDPs, is a first-class experimental parameter.
Queue disciplines. Drop-tail FIFO drops arrivals when full, penalizes bursts and tends to synchronize flows. RED and CoDel drop or mark early based on average queue length or packet sojourn time. Fair queuing, and FQ-CoDel, isolate flows from each other, which can change the outcome of a competition between algorithms entirely.
Fairness metrics. Jain's index summarizes how evenly throughput is shared; max-min and proportional fairness describe target allocations; RTT-unfairness describes flows whose share depends on their RTT. More recent work argues for measuring the harm a new algorithm causes to existing traffic rather than equality alone.
Common misconceptions
- "Minimum RTT equals propagation delay." Only if the queue drained during the measurement window; a permanently full queue hides the true base RTT.
- "Bigger buffers increase throughput." Beyond what keeps the link busy, they only add delay.
- "FIFO and fair queuing give similar results." The queue discipline can reverse which algorithm wins a competition experiment.
- "A Jain's index near 1 means a good outcome." It ignores efficiency, delay and whether existing traffic was harmed.
How to approach it
Draw the delivery-rate and RTT curves from memory and mark where loss-based and model-based algorithms operate. Practice Little's-law conversions between queue bytes and delay. Whenever you read an evaluation, write down bottleneck rate, base RTT, buffer depth and queue discipline before looking at results.
Suggested order
- 1Read Computer Networks: A Systems Approach Section 6.1 (Issues in Resource Allocation) for evaluation criteria and fairness, then Section 6.2 (Queuing Disciplines).
- 2Read TCP Congestion Control: A Systems Approach Chapter 6 (Active Queue Management) for RED, CoDel and ECN.
- 3Read the ACM Queue article "Controlling Queue Delay" for the distinction between good and standing queues.
- 4Read "Sizing Router Buffers" (Appenzeller, Keslassy, McKeown), focusing on the model and which assumptions drive the result.
- 5Write a half-page prediction for the Mininet bufferbloat project using the bottleneck model and Little's law, then run it and compare.
- 6Read the "Congestion and Bottlenecks" section of the BBR article (see its paper guide) and redraw its operating-point figure from memory.
Paper guides: BBR: Congestion-Based Congestion Control, Congestion Avoidance and Control
Step 2: Check off what you can do
Tap each one you can genuinely do or explain. Each earns 10 XP.
Step 3: Go deeper
Computer Networks: A Systems ApproachStart here
Systems Approach (open online edition)Section: 6.2 Queuing Disciplines
FIFO and fair queuing; read together with Section 6.1 on evaluation criteria and fairness.
Open(opens in a new tab)Link responded, 5 Oct 2026TCP Congestion Control: A Systems ApproachStart here
Systems Approach (open online edition)Section: Chapter 6: Active Queue Management
DECbit, RED, CoDel and ECN from the perspective of congestion-control design.
Open(opens in a new tab)Link responded, 5 Oct 2026Controlling Queue Delay
ACM QueueGood versus standing queues, and a delay-based AQM built on that distinction.
Open(opens in a new tab)Not checked, 5 Oct 2026Sizing Router Buffers
Stanford University (author copy)Buffer-sizing argument for many flows; read for how assumptions about flow count and synchronization shape the conclusion.
Open(opens in a new tab)Link responded, 5 Oct 2026Bufferbloat: Dark Buffers in the Internet
ACM QueuePractical consequences of oversized buffers on access links.
Open(opens in a new tab)Not checked, 5 Oct 2026
Step 4: Practice
Before the Mininet bufferbloat project, write down your prediction: with a 10 Mbit/s bottleneck, a 20 ms base RTT and a 100-packet versus a 1000-packet buffer, what RTT should ping report during a bulk transfer? Then measure and explain any gap. In the tc bottleneck project, repeat the run with fq_codel as the bottleneck queue discipline and explain the difference with Little's law.
- Reproduce bufferbloat on a Mininet dumbbell topologyOpen(opens in a new tab)Not attemptedHands-on project (Mininet walkthrough as starting point)
- Emulate a bottleneck with tc (netem and tbf) and compare congestion controllersOpen(opens in a new tab)Not attemptedHands-on project (Linux tc-netem and tc-tbf manual pages)
Record attempts on each problem’s page (+15 XP, +10 more when solved on your own).
Step 5: Test yourself
Answer each one out loud or on paper before you finish the lesson.
- Question 1A 50 Mbit/s bottleneck has a 2 MB standing queue. How much delay does it add?
- Question 2Why can a loss-based flow not observe the true propagation RTT while it keeps the buffer full?
- Question 3What assumption makes small buffers sufficient on core routers, and when does it fail?
- Question 4How does fair queuing change the outcome when a loss-based and a delay-based flow compete?
- Question 5What does Jain's index fail to capture about a new algorithm's effect on existing traffic?
You’re done when you can
- Draw the delivery-rate and RTT versus inflight curves from memory and label the BDP and buffer limits.
- Convert between queue bytes, link rate and queueing delay for three cases without errors.
- Predict how RTT changes with buffer depth in a single-flow emulation before running it, then check the prediction.
- Explain why the queue discipline must be reported in any congestion-control comparison.
Finish the lesson
Unlocks next: Congestion-control research and its evaluation dependencies, Network measurement: emulation, simulation and deployment


