If the Internet had its own superhero, it might be the congestion control algorithm (CCA), an essential piece of code internet giants use to ensure that the web isn't crippled by a massive data traffic jam. They've been used since the 1980s to slow data transfers when they sense a network is becoming overloaded.
Like any great superhero, CCAs try to work fairly. When the network is becoming overloaded, they won't prioritize one company's services over another. But new research out of Carnegie Mellon University shows that a CCA called BBR, recently developed by Google, can be unfair when competing with other services in overloaded networks. Those findings are being presented this week at the Internet Measurement Conference in Amsterdam.
"In a given network, our model shows that BBR would take up 40% of the bandwidth, leaving the remaining 60% to be split between the rest of the parties on the network," said Justine Sherry, a CyLab faculty member and an assistant professor in CMU's Computer Science Department (CSD). "This goes against the concept of internet fairness."
What does this mean for users? Imagine your home uses a 50 megabit per second (Mbps) connection from an internet service provider. Most CCAs try to split the bandwidth evenly when many users want to use the network. If two users are each connected to a different internet service, the CCA should try to give 25 Mbps to one user and 25 Mbps to the other.
CSD Ph.D. student Ranysha Ware, who leads the research project on internet fairness, was surprised when she ran experiments modeling network links and saw BBR exhibit different behavior.
"When only two users are sharing the network, BBR's share is more than fair at 40 percent," Ware said. "But as we added more users to the network, BBR did not give up any bandwidth as more users joined the network. It kept using 40 percent."
Imagine six people want to share the same 50 Mbps connection. A user connected to a service using BBR would get 20 Mbps of bandwidth, leaving the remaining 30 Mbps to be split between the other five users. Each user would get only 6 Mbps to work with. For video, this variation in bandwidth could be the difference between ultra-high definition video and standard definition.
In 2017, when Google first announced its algorithm, the company claimed the design was fundamentally different from most current CCAs.
"People told us that it would be too hard to say anything mathematically provable about BBR because it works differently from traditional CCAs," Sherry said. But her team found that BBR could be compared with other existing CCAs in terms of how it treats data using a mathematical approach based on congestion control windowing.
Is BBR going to harm internet performance for its competitors?
"Only in the most congested links," Sherry said. "At my house, I have a 1 Gbps connection and it would be very hard to generate the kind of congestion that would make BBR hurt its competitors."
"BBR is a new and evolving algorithm," Sherry says. "We believe that BBR will probably change because of these findings."
Other authors on the study included CSD Department Head Srinivasan Seshan and Nefeli Networks software engineer and CSD alumnus Matthew Mukerjee.