BBR Congestion Talk is Online

A talk describing Google’s new TCP congestion control algorithm, BBR, is now online. Such a beautiful and simple solution to a long standing problem. This one of those situations when you have to wonder why this wasn’t done before. On a related note, it’s interesting how BBR separates the retransmission and congestion control (rate) logic. […]

Packet Queueing Article Published in Linux Journal

Some time ago I started writing a blog post to help myself better understand where packets can be queued within the Linux kernel. This relates to my long time interest in optimizing for latency and experimenting with the kernel’s QoS features. By the time I was ready to hit the publish button, the blog post […]

Improving my home Internet performance

For a long time I’ve experimented with shaping my upstream traffic via Linux’s traffic management functionality (tc command) with the goal of improving my Internet connection’s performance. The latest incarnation of this configuration can be found in this script. Anecdotally this configuration greatly improves interactive performance. Use cases such as Skype calls work without a […]

Per packet overhead on VDSL2 – part 3

Previous instalments: Per packet overhead on VDSL Per packet overhead on VDSL2 – part 2 Related Bufferbloat list thread For tonight’s edition I have increased the number of small packet sizes in the experiment and dropped the larger sizes. For each of the following data sizes (iperf -l) there are five seconds of traffic: 0, […]

Per packet overhead on VDSL2 – part 2

A few days ago I wrote about some interesting latency results I observed on my home Internet connection with small packets. This post adds a bit more data. In this experiment I disabled all upstream traffic shaping and then used iperf to blast UDP packets of various sizes to a destination host I control. The […]

Per packet overhead on VDSL2

My home router (Linux box) is configured to shape upstream traffic to just below the link rate to avoid Bufferbloat – this greatly improves interactive performance under load. Recently I’ve experimented with various packet sizes. The charts below show the effect of small packets. Between 0-6 seconds the link is idle. From 6-14 seconds the […]