Where delay comes from
Your laptop sends a 1,200-byte video call packet. The router's queue is empty, so it goes straight out. Clocking its bits onto the 10 Mb/s uplink takes 0.96 ms; the trip to the ISP adds 0.25 ms.
Each hop adds four delays. Processing: the router reads the header. Queueing: waiting in line. Transmission: packet size ÷ link speed. Propagation: travel time, about 5 µs per km of fibre. Only queueing changes with other people's traffic.
Packets pile up
Another computer starts backing up photos to the cloud. Its 1,500-byte packets reach the router over the 1 Gb/s LAN, up to 100 times faster than the uplink can send them.
The extras wait in the router's buffer: memory where packets queue, first in, first out. The upload's TCP keeps speeding up until a packet is lost, so it fills the whole 1 MB buffer: 666 packets.
With no room left, the router throws away each new arrival. This is tail drop. The loss tells the upload's TCP to slow down, but it soon speeds up again, so the queue stays nearly full.
Your next video packet joins the back of the line. All 665 upload packets ahead of it must go first, at 1.20 ms each: 798 ms of waiting.
Its trip through this hop now takes 0.8 s instead of 1.22 ms. Calls feel laggy above about 150 ms one way. This is bufferbloat: the buffer is so big that delay soars long before the drop that would slow TCP arrives.
On average, packets waiting = arrival rate × time each waits. In a steady queue, 833 packets arrive each second, as many as the uplink sends; 666 waiting means each waits 0.8 s.
Keeping queues short
Active queue management watches how long packets wait. CoDel (RFC 8289) drops one when waits stay above 5 ms for 100 ms, so TCP slows before the line grows. About 4 packets wait: under 5 ms.
FQ-CoDel (RFC 8290) gives each flow (one conversation, such as your call) its own short queue and serves them in turn, quiet flows first. Your call packet waits only for the upload packet already being sent: 1.20 ms. Total: 2.42 ms.
The arithmetic
;; step 1/10 · one-packet · send ;; your laptop → isp UDP/RTP 192.168.1.20 → 192.0.2.40 1,200 bytes LAN 1,200 B × 8 / 1 Gb/s = 9.6 µs queue 0 packets ahead = 0 ms uplink 1,200 B × 8 / 10 Mb/s = 0.96 ms fibre 50 km × 5 µs/km = 0.25 ms one way through this hop ≈ 1.22 ms
The tray draws at most 8 envelopes; the count above it gives the real number of packets waiting. Downloads queue the same way, but at the ISP's end of the link, where traffic from the fast internet meets your slower line.