Skip to content

Five algorithms, one identical link

Algorithm comparison

Same link, same scenario, different congestion control. All of them run through one sender.

Algorithm

Same link, same scenario, different congestion control. All of them run through one sender.

How much fits in the wire

100.0 Mbps × 100 ms ÷ 8 = 1.19 MiB = 863 × MSS

Capacity times round trip, divided by eight because capacity is quoted in bits and everything else here in bytes. That is how much data can be in transit at once, so it is the amount worth having in flight — and the number the buffer below is measured against. Send less and the wire idles; send more and the extra waits in a queue.

The link
Bandwidth100.0 Mbps
1 Mbps200 Mbps

How fast the narrowest link on the path can forward packets — the .

One-way delay50.0 ms · Base RTT 100 ms
1 ms200 ms

Distance, as time. Doubled it is the — the fastest a round trip can possibly be.

Buffer1.19 MiB · 1.00 × BDP
0.05 × BDP8 × BDP

How much may wait at the bottleneck. Read it as a multiple of the : below 0.5 the link goes idle, above 1 the extra is pure latency.

Random loss0
05%

Packets dropped for reasons other than a full queue — radio interference, a bad cable. Leave at zero to see congestion alone.

The bottleneck queue

What the bottleneck does when it runs out of room. DropTail waits until it is full; RED and CoDel drop early on purpose — .

Run settings60 s · #1
Duration60 s
5 s120 s

How long to simulate. Longer runs show more sawtooth cycles and take longer to compute.

Seed#1
164

Which this run used. Same settings and same seed give a byte-identical result.

Simulating packets…