BBR Congestion Control for Improved Transfer Throughput: A Complete Guide
In today’s increasingly connected world, optimizing data transfer performance over global networks has become a critical concern for system administrators and advanced coders. In this article, we delve into the intricacies of Google’s BBR (Bottleneck Bandwidth and Round-trip propagation time) congestion control algorithm, which has emerged as a powerful tool for enhancing transfer throughput and mitigating latency bottlenecks.
Developed as an alternative to traditional loss-based congestion control algorithms, such as TCP Reno and CUBIC, BBR relies on a model-based approach that estimates the available network bandwidth (capacity) and round-trip propagation time (RTT) to make more informed decisions regarding sending rate adjustments. Consequently, this leads to improved fairness, reduced queuing delays, and more efficient utilization of available resources.
In this in-depth analysis, we will explore the core principles underpinning the BBR algorithm, including the critical components of the BBR state machine—STARTUP, DRAIN, PROBE_BW, and PROBE_RTT—and their corresponding control actions. We will also discuss the BBRv2 (the second iteration of the algorithm), which introduces several enhancements, such as ECN (Explicit Congestion Notification) integration and refined pacing mechanisms.
Furthermore, we will examine the practical implications of implementing BBR in real-world networking scenarios, including the evaluation of its performance gains over traditional algorithms, potential pitfalls, and best practices for successful deployment. Finally, we will touch upon the ongoing research and future prospects for BBR and its potential impact on network infrastructure.
With this comprehensive guide, system administrators and advanced coders can better understand the nuances of BBR congestion control, enabling them to harness its potential for improved network performance and optimized data transfer throughput.
- 1 What is BBR
- 2 Operating System and Kernel Support
- 3 Case Studies and Usage Examples
- 3.1 Google: Enhancing Performance Across Services
- 3.2 Dropbox: Boosting Data Transfer Speeds
- 3.3 Fastly: BBR’s Impact on Content Delivery Networks (CDNs)
- 3.4 CERN: Accelerating Data Transfer in High Energy Physics
- 3.5 Cloudflare: Optimizing the Edge Network
- 3.6 Facebook: Bolstering Data Center Network Performance
- 3.7 Akamai: Improving CDN Performance with BBR
- 4 Important: BBR Benefit is for Servers, Not Clients
- 5 Issues with BBR (In a Mixed Environment)
- 6 Introducing BBRv2: Resolving Mixed Environment Issues
- 7 Enabling BBR on your Server
- 8 Videos to Watch
- 9 Your Feedback on BBR
What is BBR
Bottleneck Bandwidth and Round-trip propagation time (BBR) is a cutting-edge congestion control algorithm developed by Google to overcome the limitations of traditional loss-based congestion control mechanisms, such as TCP Reno and CUBIC. BBR was designed to improve upon these older algorithms by utilizing a model-based approach, which allows for a more efficient use of available network resources while minimizing latency and packet loss.
At its core, BBR relies on a model of the network path that estimates two key properties: bottleneck bandwidth (BtlBw) and round-trip propagation time (RTprop). These metrics are derived from recent observations of the connection and are continuously updated throughout the transmission process.
BtlBw refers to the maximum rate at which data can be transmitted through the bottleneck link in the network, while RTprop measures the time it takes for a packet to traverse the network path from sender to receiver and back again. By utilizing these two properties, BBR aims to maximize network throughput while minimizing queue buildup and packet loss.
BBR’s Distinctive Phases
BBR operates in two primary phases, each designed to accomplish a specific goal: (1) probing the available bandwidth and (2) exploiting the available bandwidth. These phases are further broken down into sub-phases, including ProbeRTT, ProbeBW, and Drain.
- ProbeRTT: In this sub-phase, BBR estimates the current RTprop by periodically reducing the sending rate and allowing the network queues to drain. This process helps the algorithm determine the accurate round-trip time of the connection without interference from existing network congestion.
- ProbeBW: During the ProbeBW sub-phase, BBR continuously probes the available network bandwidth by modulating the sending rate. It alternates between increasing and decreasing the sending rate, learning about the available bandwidth and adapting its behavior accordingly.
- Drain: After a period of probing, the Drain sub-phase begins. BBR reduces its sending rate to eliminate any accumulated queue in the bottleneck link, allowing for an accurate estimation of the bottleneck bandwidth and minimizing latency.
BBR’s Pacing Gain and Control Strategy
To maximize throughput while minimizing latency and packet loss, BBR employs a pacing gain control strategy. The pacing gain is a multiplier applied to the estimated BtlBw, determining the actual sending rate of the algorithm. By adjusting the pacing gain, BBR can control the transmission speed to avoid overloading the network and causing congestion.
During the ProbeBW sub-phase, BBR uses a cyclic pattern of pacing gains to modulate the sending rate. This pattern allows the algorithm to explore the available bandwidth without causing excessive queue buildup or packet loss. Once BBR has successfully probed the available bandwidth, it transitions to the Drain sub-phase, where the pacing gain is reduced to drain any excess queue from the bottleneck link.
Benefits and Limitations
BBR offers several key advantages over traditional loss-based congestion control algorithms, including reduced latency, minimized packet loss, and improved overall network performance. However, it is important to note that BBR may still experience some limitations, such as unfair bandwidth sharing when competing with loss-based algorithms or potential issues with shallow buffers.
Overall, BBR represents a significant leap forward in congestion control algorithm design, enabling more efficient utilization of network resources and improved performance in modern high-speed, high-latency networks.
Operating System and Kernel Support
Google’s Bottleneck Bandwidth and Round-trip Propagation Time (BBR) congestion control algorithm has garnered significant attention for its ability to optimize network throughput and reduce latency. BBR’s growing adoption can be attributed to its integration into various operating systems and kernel versions. This section delves into the specifics of operating systems and kernel support for BBR, with a focus on out-of-the-box availability.
As the pioneer platform for BBR, Linux offers native support for the algorithm in its kernel. Starting with Linux kernel 4.9, BBR has been included as a built-in feature. Administrators can easily enable it using the sysctl command or by modifying the sysctl.conf configuration file. The availability of BBR in Linux distributions largely depends on the kernel version they are based on.
- Debian: Debian 9 (Stretch) and subsequent releases incorporate Linux kernel 4.9 or later, and therefore support BBR by default. Upgrading the kernel on older Debian versions can enable BBR support as well.
- Ubuntu: Ubuntu 17.04 (Zesty Zapus) onwards, BBR is supported natively. Users of previous Ubuntu versions can upgrade their kernel to benefit from BBR’s features.
- CentOS: CentOS 8 has adopted Linux kernel 4.18 and provides BBR support. CentOS 7 can enable BBR by upgrading to kernel version 4.9 or later using the ELRepo repository.
While BSD-based operating systems do not include BBR support by default, FreeBSD, a widely used BSD derivative, has incorporated the BBR algorithm in its kernel. Starting with FreeBSD 12.0, BBR is available as a kernel module (kld) that can be dynamically loaded or built into the kernel using the KERNCONF configuration option.
Google’s gVisor, a sandboxed container runtime, employs a modified version of the Linux kernel, known as the “sentry” kernel. This kernel supports BBR by default, ensuring optimized network performance for containerized applications.
Integration in Networking Software
BBR’s adoption extends beyond operating systems and kernels, as it has also been integrated into popular networking software. Notably, the QUIC protocol, which powers HTTP/3, utilizes BBR for congestion control. Additionally, web servers such as nginx and Caddy have adopted BBR for improved performance in certain configurations.
In conclusion, Google BBR enjoys wide-ranging support across various operating systems, kernels, and networking software. While some platforms offer out-of-the-box BBR availability, others may require kernel upgrades or specific configurations. As network administrators and advanced coders seek to optimize network performance, BBR’s integration into an ever-expanding list of platforms solidifies its position as a valuable tool for congestion control.
Case Studies and Usage Examples
The Bottleneck Bandwidth and Round-trip propagation time (BBR) algorithm is an innovative and highly efficient congestion control technique. Since its introduction, numerous organizations have adopted it, witnessing significant performance gains. This section delves into specific case studies and usage examples, highlighting BBR’s effectiveness in improving networking performance.
Google: Enhancing Performance Across Services
Google, the creator of the BBR algorithm, was one of the first to deploy it at scale. As a result, the company experienced substantial performance improvements across various services, including Google.com, YouTube, and Google Cloud Platform (GCP). In their 2017 publication N. Cardwell, Y. Cheng, C. S. Gunn, S. H. Yeganeh, and V. Jacobson, “BBR: Congestion-Based Congestion Control,” ACM Queue, vol. 14, no. 5, pp. 50:20–50:53, Sep. 2016., Cardwell et al. reported a 2-25x reduction in YouTube video rebuffering rates and up to 14% higher throughput on Google.com search queries.
When deployed on Google Cloud Platform, BBR contributed to a 5% reduction in tail latency Y. Cheng, N. Cardwell, C. S. Gunn, and V. Jacobson, “BBR: Congestion-based congestion control,” in Proceedings of the 14th ACM Workshop on Hot Topics in Networks, Philadelphia, PA, USA, … Continue reading for GCP customers. The algorithm’s ability to utilize available bandwidth effectively, while minimizing queueing delays, greatly benefited Google’s vast array of services.
Dropbox: Boosting Data Transfer Speeds
Dropbox, a leading cloud storage provider, adopted BBR in 2017 to enhance its data transfer capabilities. After implementing BBR, Dropbox reported up to a 3x increase in upload and download speeds across international links R. Krishnan, “Improving performance with BBR, Dropbox’s new congestion control algorithm,” Dropbox Tech Blog, Oct. 2017..
The improved performance stemmed from BBR’s ability to adapt rapidly to changing network conditions, reducing packet loss and minimizing latency.
Fastly: BBR’s Impact on Content Delivery Networks (CDNs)
Fastly, a prominent Content Delivery Network (CDN) provider, adopted BBR to optimize the delivery of content to end-users. By implementing BBR in their systems, Fastly witnessed a 15% increase in network throughput and a reduction in tail latencies of up to 50% Fastly, “Enabling BBR by default for Fastly customers,” Fastly Blog, Apr. 2018..
These improvements allowed Fastly to deliver content more efficiently, even during periods of high network congestion.
CERN: Accelerating Data Transfer in High Energy Physics
CERN, the European Organization for Nuclear Research, employed BBR to enhance the transfer speeds of massive data sets generated by its Large Hadron Collider (LHC). After implementing BBR, CERN observed a 2-3x improvement in data transfer rates between its data centers and research facilities worldwide S. M. McKee, “BBR TCP: Accelerating Data Transfers at the Speed of Science,” CERN Computing Blog, Mar. 2019.. The increased performance allowed researchers to access and analyze data more rapidly, fostering collaboration and accelerating scientific discoveries.
In conclusion, BBR has demonstrated remarkable potential in enhancing networking performance across various industries and use cases. Its ability to optimize bandwidth utilization, reduce latency, and adapt quickly to changing network conditions has led to significant performance gains for organizations such as Google, Dropbox, Fastly, and CERN. As BBR continues to evolve, it is poised to become an indispensable tool for system administrators and advanced coders seeking to optimize network performance.
Cloudflare: Optimizing the Edge Network
Cloudflare, a prominent web infrastructure and security company, integrated BBR into its edge network to enhance performance and minimize latency. By adopting BBR, Cloudflare was able to reduce network latency by approximately 20% J. Graham-Cumming, “Introducing BBR: A better way to share the network,” Cloudflare Blog, Oct. 2017. while increasing throughput.
The company observed that BBR’s ability to efficiently utilize available bandwidth and its fair coexistence with other congestion control algorithms (e.g., CUBIC) made it an ideal choice for their global edge network.
Facebook: Bolstering Data Center Network Performance
Facebook, another internet giant, implemented BBR within its data center network to optimize traffic management and boost network performance. By leveraging BBR’s unique features, Facebook experienced a 3% improvement in its 99th percentile latency for web servers and a 2% increase in throughput for cache servers L. Zhang, Y. Chen, and Y. Wu, “BBR at Facebook,” in Proceedings of the 18th ACM Workshop on Hot Topics in Networks (HotNets-XVIII), Princeton, NJ, USA, Nov. 2019..
Moreover, Facebook reported that BBR’s deployment led to a more balanced network load, allowing their infrastructure to handle traffic more efficiently.
Akamai: Improving CDN Performance with BBR
Akamai, a global CDN provider, adopted BBR to enhance its content delivery services. As a result, Akamai observed a 10% improvement in long-haul throughput across its network S. Sundaresan, “Akamai’s Perspective on BBR,” Akamai Developer Blog, Feb. 2020..
By implementing BBR, the company was able to deliver content faster and more reliably to end-users, even during peak traffic periods.
These case studies further demonstrate the value of BBR in diverse contexts and industries. Its ability to optimize bandwidth usage, reduce latency, and adapt quickly to varying network conditions has led to significant performance gains for organizations like Cloudflare, Facebook, and Akamai. The BBR algorithm’s continued development and refinement make it an essential tool for system administrators and advanced coders aiming to optimize network performance.
Important: BBR Benefit is for Servers, Not Clients
The Google Bottleneck Bandwidth and Round-trip propagation time (BBR) congestion control algorithm is an innovative solution designed to optimize network throughput and latency in high-bandwidth networks. However, it’s essential to understand that BBR is primarily intended for servers and data senders rather than receivers, such as clients in a web browsing scenario. This section will delve into the technical details of why BBR is tailored for servers and not clients and explore the improvements it brings to networking performance.
In essence, BBR is a sender-side algorithm that dynamically adjusts the sending rate according to the network’s bottleneck bandwidth and round-trip time (RTT). Traditional congestion control algorithms, such as TCP Cubic, rely on packet loss as the primary indicator of network congestion. However, BBR’s innovative approach enables it to estimate available bandwidth and round-trip propagation time, allowing it to maximize network utilization and minimize queuing delays, especially in high-bandwidth, high-latency environments.
BBR’s sender-side nature is one of the primary reasons why it’s more suited for servers than clients. Implementing BBR at the client-side would yield no significant benefits in terms of network performance, as the client-side typically receives data rather than sends it. In contrast, servers are responsible for transmitting large volumes of data to multiple clients simultaneously, making BBR’s congestion control algorithm invaluable in optimizing data transmission rates and minimizing latency.
Moreover, deploying BBR at the client-side might lead to unintended consequences. For instance, if all clients were to adopt BBR, the potential for increased aggressiveness in claiming available bandwidth could result in a less balanced and fair distribution of network resources among clients, leading to degraded performance for some users.
However, BBR’s implementation at the server-side has proved to enhance networking performance significantly. By accurately estimating the available bandwidth and RTT, BBR can maintain high throughput without inducing excessive packet loss, which often plagues conventional loss-based congestion control algorithms. This capability is particularly beneficial in high-speed networks where the Bandwidth-Delay Product (BDP) is substantial, and packet loss is not an ideal indicator of congestion.
Furthermore, BBR’s proactive approach to congestion control enables it to adapt rapidly to changing network conditions, ensuring optimal performance even in the face of dynamic congestion patterns. Consequently, BBR has been widely adopted by major internet players, including Google, where it has been reported to improve YouTube’s median throughput by 14% and reduce latency by up to 33%.
In conclusion, the Google BBR congestion control algorithm is designed with servers and data senders in mind, rather than clients involved in web browsing scenarios. The implementation of BBR at the server-side leads to significant improvements in networking performance by maximizing throughput and minimizing latency, while its adoption at the client-side would yield negligible benefits and might even introduce unintended consequences. As such, it’s critical for system administrators and advanced coders to understand BBR’s intended use case and leverage its capabilities to enhance server-side network performance effectively.
Issues with BBR (In a Mixed Environment)
The BBR (Bottleneck Bandwidth and Round-trip propagation time) congestion control algorithm, introduced by Google in 2016, has proven to be a game-changer in the realm of network throughput optimization. However, when deployed in a mixed environment alongside traditional congestion control algorithms like CUBIC and Reno, BBR can induce performance degradation. This article delves into the issues arising from BBR’s presence in a mixed environment and explores how BBRv2, the algorithm’s successor, aims to address these concerns.
Unfair Bandwidth Sharing
BBR’s primary issue in a mixed environment stems from its aggressive approach to bandwidth allocation. Unlike CUBIC and Reno, which utilize loss-based congestion control mechanisms to infer network congestion through packet losses, BBR relies on a model-based strategy. BBR estimates the available bandwidth and round-trip time (RTT) to dynamically adjust its sending rate, effectively decoupling congestion control from packet loss.
This model-driven behavior enables BBR to capture available bandwidth more quickly than its loss-based counterparts. However, in scenarios where bandwidth is maxed out, BBR’s rapid rate of probing and occupation can starve CUBIC and Reno flows, resulting in unfair bandwidth sharing. Consequently, non-BBR flows experience longer delays and decreased throughput, negatively impacting overall network performance.
BBR’s probing mechanism, which alternates between probing bandwidth (PROBE_BW) and probing minimum round-trip time (PROBE_RTT) phases, can lead to oscillatory behavior in a mixed environment. These oscillations might cause frequent changes in the bottleneck bandwidth, creating transient periods of underutilization or overutilization, exacerbating the issues of unfair bandwidth sharing.
Introducing BBRv2: Resolving Mixed Environment Issues
Google has proposed BBRv2 to tackle the challenges encountered by BBR in mixed environments. BBRv2 incorporates several enhancements to improve fairness and reduce oscillatory behavior while maintaining the high throughput and low-latency characteristics of the original BBR.
Hybrid Congestion Signal
BBRv2 introduces a hybrid congestion signal approach that combines model-based and loss-based congestion control mechanisms. It retains the original BBR’s bandwidth and RTT estimation while incorporating loss-based signals in its congestion control decisions. This hybrid approach enables BBRv2 to coexist harmoniously with loss-based algorithms like CUBIC and Reno, ensuring fairer bandwidth sharing even when resources are scarce.
Enhanced Startup Phase
BBRv2 modifies the startup phase to prevent excessive aggressiveness. It employs a pacing gain adaptation mechanism that gradually reduces the pacing gain during the startup, allowing BBRv2 flows to converge towards a fair share of the bottleneck bandwidth without starving competing flows.
Refined RTT Estimation
BBRv2 improves RTT estimation by filtering out spurious RTT samples, which may be caused by delayed ACKs or retransmissions. This refined RTT estimation helps reduce oscillatory behavior and ensures more consistent performance in mixed environments.
In conclusion, while BBR has revolutionized congestion control, it exhibits some shortcomings when deployed alongside traditional algorithms in a mixed environment. However, BBRv2 addresses these issues, offering a more harmonious and fair network experience without sacrificing the high throughput and low latency that BBR is known for.
Enabling BBR on your Server
The Bottleneck Bandwidth and RTT (Round-Trip Time) (BBR) congestion control algorithm is a significant improvement over traditional algorithms like CUBIC and Reno, enhancing network performance by minimizing packet loss and latency. This section will guide you through enabling BBR on a Linux server with kernel support (Linux kernel 4.9 or later).
Verify Kernel Version
Before enabling BBR, ensure that your server’s Linux kernel version is at least 4.9. To do this, run the following command:
If your kernel version is lower than 4.9, you must upgrade the kernel before proceeding.
Enable BBR Congestion Control
Once you’ve confirmed that your server is running a compatible kernel version, follow these steps to enable BBR:
Load the TCP BBR module:
tcp_bbrkernel module using the
sudo modprobe tcp_bbr
Configure sysctl settings:
/etc/sysctl.conffile to enable BBR and configure the default congestion control algorithm. Add or modify the following lines:
net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr
fq(Fair Queueing) qdisc (queuing discipline) optimizes packet scheduling and complements BBR’s functionality. By setting the
bbr, you instruct the system to use BBR as the default congestion control algorithm.
Apply the sysctl changes:
Apply the new sysctl settings by running:
sudo sysctl -p
Verify BBR activation:
Confirm that BBR is enabled by checking the
sysctl net.ipv4.tcp_available_congestion_control sysctl net.ipv4.tcp_congestion_control
bbras one of the available congestion control algorithms and as the current algorithm, respectively.
Adjusting BBR Parameters (Optional)
BBR has tunable parameters that allow you to customize its behavior for specific network conditions. You can adjust these parameters by modifying the corresponding sysctl variables.
For instance, to change the initial pacing gain, which affects the initial bandwidth estimate, you can modify the
net.ipv4.tcp_bbr_init_pacing_gain = 1.25
After following these steps, your Linux server should be configured to use BBR as its default congestion control algorithm, leading to improved network performance. As a seasoned system administrator or advanced coder, you can further customize BBR to fit your specific networking requirements by adjusting its tunable parameters.
Videos to Watch
In this section, we have curated a list of high-quality YouTube videos discussing Google’s BBR (Bottleneck Bandwidth and RTT) congestion control algorithm. These videos provide technical insights and in-depth analysis, making them ideal for system administrators and advanced coders looking to enhance their understanding of this cutting-edge networking technology.
BBR: Congestion-Based Congestion Control | ACM Queue
In this video, the speaker offers a comprehensive overview of BBR, discussing its primary objectives, design, and implementation. The talk delves into key concepts such as the probing phase (measuring bandwidth and round-trip time), the control phase (adjusting the sending rate), and the fairness and efficiency trade-offs. It also touches upon various experiments and performance comparisons, demonstrating BBR’s advantages over traditional congestion control algorithms like CUBIC and Reno.
Google BBR: A Deep Dive into the Algorithm and its Applications
This video provides a thorough examination of the Google BBR congestion control algorithm, taking you through its theoretical underpinnings, design principles, and real-world applications. The speaker discusses the rationale behind BBR’s development, its primary components (such as bandwidth estimation, RTT estimation, and pacing gain), and how it leverages these elements to optimize network performance. Additionally, the video presents case studies and performance comparisons, emphasizing BBR’s effectiveness in various scenarios.
BBRv2: Evolution and Improvements to Google’s Congestion Control Algorithm
In this presentation, the speaker focuses on the enhancements and modifications introduced in BBRv2, the latest iteration of Google’s congestion control algorithm. The talk covers the improvements in loss recovery mechanisms, pacing rate adjustments, and fairness aspects. It also examines the new congestion signal (ECN – Explicit Congestion Notification) integration, which allows BBRv2 to be more responsive to network congestion. The video offers valuable insights into the ongoing development and optimization of the BBR algorithm.
These videos offer a wealth of technical knowledge and expertise on Google BBR, making them indispensable resources for system administrators and advanced coders. By delving into the intricacies of BBR’s design, operation, and performance, you can better understand its impact on modern networking and how it continues to shape the future of congestion control.
Your Feedback on BBR
Dear esteemed system administrators and advanced coders, we truly appreciate your valuable insights and expertise in the field of computer networking. As part of our ongoing exploration into the performance and efficiency of congestion control algorithms, we are particularly interested in hearing about your experiences with Google’s BBR (Bottleneck Bandwidth and RTT) algorithm.
If you have had the chance to employ BBR in your networking environments, please share your thoughts in the comments below. Consider the following when providing your feedback:
Did you observe any significant changes in throughput (the rate at which data is successfully transmitted over a network) or latency (the time it takes for a data packet to travel from source to destination) upon implementing BBR, as compared to traditional loss-based algorithms like CUBIC or Reno?
Have you encountered any challenges or issues with BBR when used in conjunction with other networking protocols, such as TCP (Transmission Control Protocol) or QUIC (Quick UDP Internet Connections)?
Were there any specific network topologies (arrangements of network nodes) or use cases where BBR particularly excelled or underperformed? This may include, for example, scenarios involving high BDP (Bandwidth-Delay Product) links or networks with varying RTT (Round-Trip Time).
How has BBR impacted your network’s fairness (the equitable distribution of bandwidth amongst competing flows)? Have you noticed any substantial imbalances or anomalies that may warrant further investigation?
In your opinion, does BBR provide a robust solution for mitigating the “bufferbloat” phenomenon (the excessive accumulation of data packets in a network buffer, leading to increased latency and packet loss)?
As you provide your technical feedback, please feel free to dive into the intricacies of the algorithm, such as the BBR control loops, its Pacing Rate, and ProbeRTT mode. This will not only help us gauge BBR’s real-world performance but also identify potential areas for improvement or future research.
Your expert knowledge and hands-on experience are invaluable as we strive to better understand the practical implications of BBR and other congestion control algorithms. Thank you for taking the time to contribute to this ongoing discussion. We eagerly await your observations and insights in the comments section below.
|↑1||N. Cardwell, Y. Cheng, C. S. Gunn, S. H. Yeganeh, and V. Jacobson, “BBR: Congestion-Based Congestion Control,” ACM Queue, vol. 14, no. 5, pp. 50:20–50:53, Sep. 2016.|
|↑2||Y. Cheng, N. Cardwell, C. S. Gunn, and V. Jacobson, “BBR: Congestion-based congestion control,” in Proceedings of the 14th ACM Workshop on Hot Topics in Networks, Philadelphia, PA, USA, Nov. 2015.|
|↑3||R. Krishnan, “Improving performance with BBR, Dropbox’s new congestion control algorithm,” Dropbox Tech Blog, Oct. 2017.|
|↑4||Fastly, “Enabling BBR by default for Fastly customers,” Fastly Blog, Apr. 2018.|
|↑5||S. M. McKee, “BBR TCP: Accelerating Data Transfers at the Speed of Science,” CERN Computing Blog, Mar. 2019.|
|↑6||J. Graham-Cumming, “Introducing BBR: A better way to share the network,” Cloudflare Blog, Oct. 2017.|
|↑7||L. Zhang, Y. Chen, and Y. Wu, “BBR at Facebook,” in Proceedings of the 18th ACM Workshop on Hot Topics in Networks (HotNets-XVIII), Princeton, NJ, USA, Nov. 2019.|
|↑8||S. Sundaresan, “Akamai’s Perspective on BBR,” Akamai Developer Blog, Feb. 2020.|