Networking & Protocols
The physical link: audit and tame a real link
Reading about latency floors and bufferbloat is not the same as measuring them on a link you own. Take a real connection — your home router, a cloud VM, or a lab link — separate the physics from the engineering, drive it into bufferbloat, and bring the latency back with evidence at every step.
Turn the unit’s mental model into a reproducible measurement loop: compute the propagation floor, measure the real RTT and decompose the excess, expose bufferbloat under saturation, apply AQM, and verify the fix with before/after numbers.
Take a real link you control (home uplink, cloud VM, or lab link), characterise its physical limits, expose and fix bufferbloat under load, and prove every claim with measurements rather than the marketing numbers.
- A before/after table: propagation floor, idle RTT, loaded RTT (pre-SQM), loaded RTT (post-SQM), and measured up/down bandwidth — all measured, not estimated.
- A short decomposition of the near and far RTT: how many ms are propagation floor versus routing/queueing excess, with the percentage over floor.
- Evidence the link layer is clean: CRC/error counters at zero and the link negotiated at the expected speed/duplex, captured from ethtool / ip -s link.
- A one-paragraph write-up stating which numbers are physics you cannot change and which were engineering you fixed, and what you traded (peak throughput) for the latency win.
- Add a Shannon sanity check for your wireless link: read the channel width and SNR (iw / vendor tools), compute the theoretical capacity ceiling, and compare it to the real measured throughput — explain the gap.
- Script the whole audit so it runs unattended and emits the before/after table as JSON or a chart — a reusable link-health probe you could schedule.
- Compare two transports on the far path: a default loss-based sender versus BBR (sysctl net.ipv4.tcp_congestion_control=bbr), and measure throughput and latency-under-load on each.
- Write a one-page on-call runbook: how to tell physics from a bug at the link layer, the floor numbers for your common routes, the bufferbloat test procedure, and the SQM settings that fixed it.
This is the loop you run on any real link incident: compute the floor, measure the reality, decompose the excess into physics versus engineering, expose bufferbloat by pinging under load (never on an idle link), confirm the link layer is clean, then apply AQM shaped below line rate and verify with before/after numbers. Doing it once on a link you own turns the unit’s floor numbers and the bufferbloat signature into instinct you will reach for in production.