MIMO- Multi input and multi output is wireless technology that multiplies the capcity of a radio link using multiple transmit and receive antennas.
https://en.wikipedia.org/wiki/MIMO
FDD (Frequency Division Duplex): A transmission mode where uplink and downlink channels operate on different frequency bands. In FDD systems, the base station typically relies on user feedback to obtain downlink CSI because channel reciprocity does not hold.
https://www.rfwireless-world.com/articles/fdd-vs-tdd-difference-in-wireless-communication#:~:text=What%20is%20FDD?,chains%20operating%20at%20different%20frequencies.
TDD (Time Division Duplex): A transmission mode where uplink and downlink utilize the same frequency band but at different times. In TDD systems, the base station can obtain downlink CSI through channel estimation on uplink pilots due to channel reciprocity.
BBRv2: a modern network congestion control algorithm developed primarily by engineers at Google.
BBR represents a fundamental shift in how the internet manages data traffic compared to traditional methods like CUBIC or Reno.
https://www.ietf.org/archive/id/draft-cardwell-iccrg-bbr-congestion-control-01.html
1. The Core Problem: Loss vs. Reality
Traditional congestion control (like CUBIC) is loss-based. It assumes that if a packet is lost, the network is congested, so it slows down significantly.
- The Issue: On modern fast links, loss often happens for reasons other than congestion (random noise). On slow links with large buffers, “Bufferbloat” occurs – the network fills up with a massive queue of data, causing high lag (latency) before any packets are actually dropped.
2. The BBR Solution: Model-Based Control
Instead of waiting for a packet to drop, BBR builds a mathematical model of the network path in real-time. It tries to find the “Sweet Spot” by measuring two things:
- Maximum Bandwidth (BBR.max_bw): How fast can the “pipe” actually deliver data?
- Minimum RTT (BBR.min_rtt): How long does it take a signal to go back and forth when the pipe is empty?
By multiplying these, BBR calculates the Bandwidth-Delay Product (BDP) – the exact amount of data that fits in the pipe without creating a bottleneck.
BBR3: BBRv3 is a “model-based” algorithm. Unlike traditional methods (like CUBIC) that wait for a packet to drop before slowing down, BBRv3 continuously estimates the network’s capacity.
- The Big Picture: It is essentially BBRv2 + major bug fixes and performance tuning.
- New Signals: It responds to more than just speed. It uses:
- Bandwidth & RTT (standard).
- Packet Loss: It has an explicit “Loss Rate Cap” of 2%.
- ECN (Explicit Congestion Notification): It listens to signals from routers (like L4S/DCTCP) to slow down before the network actually breaks.

BBR3: The Control Architecture
The diagram illustrates how BBRv3 uses a feedback loop to control data transmission:
- Input Signals: BBRv3 collects four key signals from the network: throughput (delivery rate), RTT, packet loss, and ECN (Explicit Congestion Notification).
- The Model: These signals are fed into an internal Model that estimates the network path’s capacity, specifically its maximum bandwidth (BW) and minimum round-trip time (RTT).
- Probing State Machine: This component uses the model to cycle through different states (Startup, Drain, ProbeBW, and ProbeRTT) to explore the network’s limits.
- Control Parameters: The state machine outputs three “knobs” used by the Pacing Engine to send data:
- Rate (pacing_rate): The maximum rate at which data is sent.
- Quantum: The maximum size of a data aggregate scheduled for transmission at once.
- cwnd (Congestion Window): The maximum volume of data allowed in flight in the network at any time.
BBR3: The Inflight vs. Time Plot
The plot shows how BBRv3 manages data “in flight” (data sent but not yet acknowledged) over time:
- Startup Phase: The initial steep curve represents the Startup state, where BBR rapidly increases the volume of data to find the bottleneck bandwidth.
- Overshoot & Drain: The peak and subsequent drop show BBR overfilling the “pipe” and then entering the Drain state to clear the resulting queue.
- Steady State (Sawtooth): Once established, BBR maintains a level near the target inflight, which is the estimated BDP (Bandwidth-Delay Product).
- Probing Spikes: The small “bumps” after the drain represent the ProbeBW cycles, where BBR briefly increases inflight data to test if more bandwidth has become available, then decreases it to ensure low queue pressure.