TCP BBR Congestion Control & Custom Algorithms
Understand and extend BBR: the kernel source, BBR v2/v3, WAN and satellite tuning, and building your own algorithm.
Advanced30 lessons
written lessons≈ 15 h
High-Performance Networking & Cloud-Native · 30 illustrated lessons (text/HTML)
Outcomes
- Explain BBR's bandwidth and RTT model from the kernel source
- Build and test a custom congestion-control module
- Tune congestion control for WAN, mobile and data-centre traffic
Where we teach this
- PRF-220 · I/O & Network Performance Tuning live cohort
- TRN-301 · TCP BBR and Custom Congestion Control guided, self-paced
The lessons
Every lesson in this curriculum, in the order we teach it.
- 1TCP congestion control overview
- 2Why BBR was created
- 3BBR core ideas explained
- 4BBR v1 algorithm explained
- 5TCP implementation in the Linux kernel
- 6BBR kernel source walkthrough, part 1
- 7BBR kernel source walkthrough, part 2: bandwidth estimation and min-RTT tracking
- 8BBR kernel source walkthrough, part 3: state transitions and gain factors
- 9BBR v2 improvements explained
- 10BBR v3 and recent developments
- 11Setting up a custom development environment
- 12A framework for custom congestion-control modules
- 13Custom metric collection: recording kernel timing data
- 14Custom state-machine design: new probing and steady states for business needs
- 15Machine-learning-based TCP/BBR parameter tuning
- 16User-space and kernel-space communication in TCP/BBR algorithms
- 17eBPF and BBR: dynamic congestion control and monitoring
- 18Building simulation and test environments: ns-3 and Mininet for complex topologies and traffic patterns
- 19Algorithm performance evaluation methodology
- 20BBR with QUIC: applying BBR in QUIC and customising UDP congestion control
- 21Data-centre network customisation: BBR parameter tuning for RDMA and low-latency workloads
- 22WAN optimisation: handling high bandwidth-delay products, random loss and path changes
- 23Mobile network optimisation: adapting BBR to cellular network characteristics
- 24Satellite and high-latency networks: BBR behaviour and improvements on long fat networks
- 25Security and attack resistance: defending congestion control against ACK splitting and delay attacks
- 26Production deployment strategies for TCP/BBR
- 27Monitoring and visualisation: using Prometheus and Grafana to track custom algorithms in a cluster
- 28Open-source ecosystem and community: submitting Linux kernel patches and contributing to BBR
- 29Capstone, part 1: a jitter-resistant BBR variant for a live-video CDN
- 30Capstone: a congestion-control algorithm for a distributed database with high throughput and low tail latency
All-access library
Every curriculum on this page, with the labs and lab sequences, for a year.