Bufferbloat Mitigation in the Wifi Stack - Status and Next Steps

Total Page:16

File Type:pdf, Size:1020Kb

Bufferbloat Mitigation in the Wifi Stack - Status and Next Steps Bufferbloat mitigation in the WiFi stack - status and next steps Toke Høiland-Jørgensen Karlstad University [email protected] Abstract published elsewhere, most notably in our previous paper [2], and on the linux-wireless and make-wifi-fast mailing lists. Over the last year, patches for bufferbloat mitigation and air- time fairness have landed in the WiFi stack. The bufferbloat An important purpose of this paper and its associated talk patches improve performance across the board, and airtime is to solicit feedback from the community on the future di- fairness further improves performance in the presence of slow rections. This also means that several of the ideas for future stations. work are very much preliminary and subject to change. We provide an overview of these improvements and explain The rest of this paper first summarises some of the con- some of the peculiarities of WiFi that guided the design. Fol- straints imposed by the 802.11 protocol, then outlines the lowing this, we outline some of the proposed next steps. This previous improvements and their benefits, and finally outlines includes proposals for further reducing latency, a mechanism some ideas for future improvements. to set different policies for the airtime usage of stations, as well as a revamped queueing mechanism for dynamic QoS priority scheduling. 2 802.11 MAC protocol constraints There are three main constraints to take into account when 1 Introduction designing a queueing scheme for WiFi. First, we must be Linux has been the primary target platform for community able to handle aggregation; in 802.11, packets are assigned efforts to mitigate the unwanted network queueing latency different Traffic Identifiers (TIDs) (typically based on their known as bufferbloat. Numerous improvements have gone DiffServ markings [5]), and the standard specifies that aggre- into the Linux networking stack, such as the FQ-CoDel qdisc, gation be performed on a per-TID basis. Second, we must first introduced in Linux 3.5. However, the effects of apply- have enough data processed and ready to go when the hard- ing these improvements to a WiFi link has been limited until ware wins a transmit opportunity; there is not enough time to recently. This has changed dramatically over the last year, do a lot of processing at that time. Third, we must be able during which patches for bufferbloat mitigation and airtime to handle packets that are re-injected from the hardware after fairness have landed in the WiFi stack. The bufferbloat miti- a failed transmission; these must be re-transmitted ahead of gation patches reduce latency under load by an order of mag- other queued packets, as transmission can otherwise stall due nitude across the board, and an airtime fairness scheduler sig- to a full Block Acknowledgement Window. nificantly improves network performance in the presence of The need to support aggregation, in particular, has influ- slow stations. These changes are integrated directly into the enced the new queueing design in mac80211. A generic mac80211 subsystem and disable the qdisc layer entirely on packet queueing mechanism, such as that in the qdisc layer, WiFi interfaces, to be able to effectively deal with the con- does not have the protocol-specific knowledge to support the straints imposed by the 802.11 MAC protocol. splitting of packets into separate queues, as is required for In this paper we outline the properties of WiFi that have aggregation. And introducing an API to communicate this served as the basis for this design, and also describe the new knowledge to the qdisc layer would impose a large com- queueing structure itself and the performance benefits result- plexity cost on this layer, to the detriment of network inter- ing from it. In addition, we describe some of the current and faces that do not have the protocol-specific requirements. So planned features that are made possible because of the queue- rather than modifying the qdisc layer, our queue management ing structure. These include proposals for further reducing scheme bypasses it completely, and instead incorporates the queueing latency, as well as a mechanism to set different poli- smart queue management directly into mac80211. The main cies for the airtime usage of stations, and a revamped queue- drawback of doing this is, of course, a loss of flexibility. With ing mechanism for dynamic QoS priority scheduling. this design, there is no longer a way to turn off the smart The work presented here is the result of a community ef- queue management completely; and it does add some over- fort, and I can by no means take credit for all of it. This ex- head to the packet processing. However, the performance position is meant as a summary of work that has mostly been benefits by far outweigh the costs. Algorithm 1 802.11 queue management algorithm - enqueue. 1: function ENQUEUE(pkt, tid) Qdisc layer (bypassed) 2: if queue limit reached() then . Global limit FIND LONGEST QUEUE 3: drop queue () Assign TID 4: DROP(drop queue.head pkt) 5: queue HASH(pkt) 6: if queue.tid 6= NULL and queue.tid 6= tid then TID Split flows TID Split flows 7: queue tid.overflow queue . Hash collision 8: queue.tid tid TIMESTAMP MAC layer 8192 9: (pkt) . Used by CoDel at dequeue 8192 10: APPEND(pkt, queue) (Global limit) 11: if queue is not active then (Global limit) FQ- FQ- 12: LIST ADD(queue, tid.new queues) CoDel CoDel Retries 3 New queueing structure This section is based on the description and evaluation in our previous paper [2] describing these changes. Please see retry_q retry_q that for further details and a more thorough evaluation. The new WiFi queue management scheme is built on the Prio Prio principles of the FQ-CoDel qdisc. Because FQ-CoDel al- locates a number of sub-queues that are used for per-flow ath9k driver HW queue scheduling, simply assigning a full instance of FQ-CoDel to RR each TID is impractical. Instead, we modify FQ-CoDel to (x4) make it operate on a fixed total number of queues, and group queues based on which TID they are associated with. When a 2 aggr packet is hashed and assigned to a queue, that queue is in turn assigned to the TID the packet is destined for. In case that FIFO queue is already active and assigned to another TID (which means that a hash collision has occurred), the packet is in- 1 stead queued to a TID-specific overflow queue. To hardware The mac80211 stack does a lot of per-packet processing specific to the 802.11 protocol, which involves building head- ers, assigning sequence numbers, optional fragmentation, en- Figure 1: Our 802.11-specific queueing structure, as it looks cryption, etc. Some of these operations are sensitive to re- when applied to the Linux WiFi stack. ordering (notably, if sequence numbers or encryption IVs are out of order, packets will be discarded by the receiver). Since per-flow queueing can cause reordering when more than one The obvious way to handle the two other constraints men- flow is active, doing this packet processing before the queue- tioned above (keeping the hardware busy, and handling re- ing step would result in packet loss. On the other hand, ap- tries), is, respectively, to add a small queue of pre-processed plying everything at dequeue takes up valuable time in the aggregates, and to add a separate priority queue for packets loop that builds aggregates, which is time sensitive. To strike that need to be retried. And indeed, this is how the ath9k a balance between these factors, the mac80211 transmission driver already handled these issues, so we simply keep this. handling is split into two parts, with the latter part (containing The resulting queueing structure is depicted in Figure1. all reorder-sensitive actions) applied after the dequeue step, just before the packet is handed to the driver. 3.1 Airtime fairness A global queue size limit is kept, and when this is ex- ceeded, packets are dropped from the globally longest queue, Once we have the managed per-TID queues, it becomes which prevents a single flow from locking out other flows on straight forward to solve another long-standing WiFi perfor- overload. The enqueue logic is shown in Algorithm1. mance problem: The so-called ”performance anomaly”. This The lists of active queues are kept in a per-TID structure, anomaly is a well-known property of WiFi networks: if de- and when a TID needs to dequeue a packet, the FQ-CoDel vices on the network operate at different rates, the MAC pro- scheduler is applied to the TID-specific lists of active queues. tocol will ensure throughput fairness between them, mean- This is shown in Algorithm2. ing that all stations will effectively transmit at the lowest rate. The anomaly was first described in 2003, and sev- 1A hash collision can of course also mean that two flows assigned eral mitigation strategies have been proposed in the literature to the same TID end up in the same queue. In this case, no special (e.g., [3,6]). However, none of these have been implemented handling is needed, and the two flows will simply share a queue like in Linux until now. in any other hash-based fairness queueing scheme. Because we have a per-TID managed queueing struc- Algorithm 2 802.11 queue management algorithm - dequeue. Algorithm 3 Airtime fairness scheduler. The schedule function is 1: function DEQUEUE(tid) called on packet arrival and on transmission completion. 2: if tid.new queues is non-empty then 1: function SCHEDULE 3: queue LIST FIRST(tid.new queues) 2: while hardware queue is not full do 4: else if tid.old queues is non-empty then 3: if new stations is non-empty then 5: queue LIST FIRST(tid.old queues) 4: station LIST FIRST(new stations) 6: else 5: else if old stations is non-empty then 7: return NULL 6: station LIST FIRST(old stations) 8: if queue.deficit ≤ 0 then 7: else 9: queue.deficit queue.deficit + quantum 8: return 10: LIST MOVE(queue, tid.old queues) 9: deficit station.deficit[pkt.qoslvl] 11: restart 10: if deficit ≤ 0 then 12: pkt CODEL DEQUEUE(queue) 11: station.deficit[pkt.qoslvl] deficit + quantum 13: if pkt is NULL then .
Recommended publications
  • Buffer De-Bloating in Wireless Access Networks
    Buffer De-bloating in Wireless Access Networks by Yuhang Dai A thesis submitted to the University of London for the degree of Doctor of Philosophy School of Electronic Engineering & Computer Science Queen Mary University of London United Kingdom Sep 2018 TO MY FAMILY Abstract Excessive buffering brings a new challenge into the networks which is known as Bufferbloat, which is harmful to delay sensitive applications. Wireless access networks consist of Wi-Fi and cellular networks. In the thesis, the performance of CoDel and RED are investigated in Wi-Fi networks with different types of traffic. Results show that CoDel and RED work well in Wi-Fi networks, due to the similarity of protocol structures of Wi-Fi and wired networks. It is difficult for RED to tune parameters in cellular networks because of the time-varying channel. CoDel needs modifications as it drops the first packet of queue and thehead packet in cellular networks will be segmented. The major contribution of this thesis is that three new AQM algorithms tailored to cellular networks are proposed to alleviate large queuing delays. A channel quality aware AQM is proposed using the CQI. The proposed algorithm is tested with a single cell topology and simulation results show that the proposed algo- rithm reduces the average queuing delay for each user by 40% on average with TCP traffic compared to CoDel. A QoE aware AQM is proposed for VoIP traffic. Drops and delay are monitored and turned into QoE by mathematical models. The proposed algorithm is tested in NS3 and compared with CoDel, and it enhances the QoE of VoIP traffic and the average end- to-end delay is reduced by more than 200 ms when multiple users with different CQI compete for the wireless channel.
    [Show full text]
  • Performance Analysis of Receive-Side Real-Time Congestion Control for Webrtc
    Performance Analysis of Receive-Side Real-Time Congestion Control for WebRTC Varun Singh Albert Abello Lozano J¨org Ott Aalto University, Finland Aalto University, Finland Aalto University, Finland varun.singh@aalto.fi albert.abello.lozano@aalto.fi jorg.ott@aalto.fi Abstract—In the forthcoming deployments of WebRTC sys- congestion control, the IETF has chartered a new working tems, we speculate that high quality video conferencing will see group, RMCAT3, to standardize congestion-control for real- wide adoption. It is currently being deployed on Google Chrome time communication, which is expected to be a multi-year and Firefox web-browsers, meanwhile desktop and mobile clients are under development. Without a standardized signaling mech- process [1]; but early implementations are already available. anism, service providers can enable various types of topologies; In this paper, we evaluate the performance of WebRTC ranging from full-mesh to centralized video conferencing and video calls over different topologies and with varying amounts everything in between. In this paper, we evaluate the performance of cross-traffic. All experiments are conducted using the of various topologies using endpoints implementing WebRTC. Chrome browser and our testbed. With the testbed we are able We specifically evaluate the performance of the congestion con- trol currently implemented and deployed in these web-browser, to control the bottleneck link capacity, the end-to-end latency, Receive-side Real-Time Congestion Control (RRTCC). We use link loss rate and the queue size of intermediate routers. transport impairments like varying throughput, loss and delay, Consequently, in this testbed we can investigate the following: and varying amounts of cross-traffic to measure the performance.
    [Show full text]
  • Bufferbloat: Advertently Defeated a Critical TCP Con- Gestion-Detection Mechanism, with the Result Being Worsened Congestion and Increased Latency
    practice Doi:10.1145/2076450.2076464 protocol the presence of congestion Article development led by queue.acm.org and thus the need for compensating adjustments. Because memory now is significant- A discussion with Vint Cerf, Van Jacobson, ly cheaper than it used to be, buffering Nick Weaver, and Jim Gettys. has been overdone in all manner of net- work devices, without consideration for the consequences. Manufacturers have reflexively acted to prevent any and all packet loss and, by doing so, have in- BufferBloat: advertently defeated a critical TCP con- gestion-detection mechanism, with the result being worsened congestion and increased latency. Now that the problem has been di- What’s Wrong agnosed, people are working feverishly to fix it. This case study considers the extent of the bufferbloat problem and its potential implications. Working to with the steer the discussion is Vint Cerf, popu- larly known as one of the “fathers of the Internet.” As the co-designer of the TCP/IP protocols, Cerf did indeed play internet? a key role in developing the Internet and related packet data and security technologies while at Stanford Univer- sity from 1972−1976 and with the U.S. Department of Defense’s Advanced Research Projects Agency (DARPA) from 1976−1982. He currently serves as Google’s chief Internet evangelist. internet DeLays nOw are as common as they are Van Jacobson, presently a research maddening. But that means they end up affecting fellow at PARC where he leads the networking research program, is also system engineers just like all the rest of us. And when central to this discussion.
    [Show full text]
  • The Bufferbloat Problem Over Intermittent Multi-Gbps Mmwave Links
    The Bufferbloat Problem over Intermittent Multi-Gbps mmWave Links Menglei Zhang, Marco Mezzavilla, Jing Zhuy, Sundeep Rangan, Shivendra Panwar NYU WIRELESS, Brooklyn, NY, USA y Intel, Santa Clara, USA emails: fmenglei, mezzavilla, srangan, [email protected], [email protected] Abstract—Due to massive available spectrum in the millimeter transport layer mechanisms and buffering must rapidly adapt wave (mmWave) bands, cellular systems in these frequencies may to the link capacities that can dramatically change. This work provides orders of magnitude greater capacity than networks addresses one particularly important problem – bufferbloat. in conventional lower frequency bands. However, due to high susceptibility to blocking, mmWave links can be extremely inter- Bufferbloat: Bufferbloat is triggered by persistently filled mittent in quality. This combination of high peak throughputs or full buffers, and usually results in long latency and packet and intermittency can cause significant challenges in end-to-end drops. This phenomenon was first pointed out in late 2010 transport-layer mechanisms such as TCP. This paper studies [16]. Optimal buffer sizes should equal the bandwidth de- the particularly challenging problem of bufferbloat. Specifically, lay product (BDP), however, as the delay is usually hard with current buffering and congestion control mechanisms, high throughput-high variable links can lead to excessive buffers to estimate, larger buffers are deployed to prevent losses. incurring long latency. In this paper, we capture the performance Even though these oversized buffer prevent packet loss, the trends obtained while adopting two potential solutions that overall performance degrades, especially when transmitting have been proposed in the literature: Active queue manage- TCP flows,1 which is the main focus of this paper.
    [Show full text]
  • Lab 14: Router's Bufferbloat
    NETWORK TOOLS AND PROTOCOLS Lab 14: Router’s Bufferbloat Document Version: 07-07-2019 Award 1829698 “CyberTraining CIP: Cyberinfrastructure Expertise on High-throughput Networks for Big Science Data Transfers” Lab 14: Router’s Bufferbloat Contents Overview ............................................................................................................................. 3 Objectives............................................................................................................................ 3 Lab settings ......................................................................................................................... 3 Lab roadmap ....................................................................................................................... 3 1 Introduction to bufferbloat ......................................................................................... 3 1.1 Packet delays ........................................................................................................ 4 1.2 Bufferbloat ........................................................................................................... 4 2 Lab topology................................................................................................................ 6 2.1 Starting host h1, host h2, and host h3 ................................................................. 7 2.2 Emulating high-latency WAN ............................................................................... 8 2.4 Testing connection ..............................................................................................
    [Show full text]
  • Tackling the Challenge of Bufferbloat in Multi-Path Transport Over Heterogeneous Wireless Networks
    Tackling the Challenge of Bufferbloat in Multi-Path Transport over Heterogeneous Wireless Networks Simone Ferlin-Oliveira, Thomas Dreibholz, Ozg¨ u¨ Alay Simula Research Laboratory, Martin Linges vei 17, 1364 Fornebu, Norway fferlin,dreibh,[email protected] Abstract—Today, most of the smart phones are equipped with generic and can also be adopted by other multi-path transport two network interfaces: Mobile Broadband (MBB) and Wireless protocols, like e.g. CMT-SCTP, as well. Local Area Network (WLAN). Multi-path transport protocols provide increased throughput or reliability, by utilizing these II.B ACKGROUND interfaces simultaneously. However, multi-path transmission over A. Multi-Path TCP networks with very different QoS characteristics is a challenge. In this paper, we studied Multi-Path TCP (MPTCP) in hetero- Multi-path transport has shown to be beneficial for band- geneous networks, specifically MBB networks and WLAN. We width aggregation and to increase end-host robustness [2], first investigate the effect of bufferbloat in MBB on MPTCP per- [3], [9]. Although many devices support multi-path, the most formance. Then, we propose a bufferbloat mitigation algorithm: prominent transport protocol, i.e. TCP, is still single path. Multi-Path Transport Bufferbloat Mitigation (MPT-BM). Using our algorithm, we conduct experiments in real operational net- MPTCP [2] is a major extension of TCP that supports multi- works. The experimental results show that MPT-BM outperforms path transmission. From the application perspective, MPTCP the current MPTCP implementation by increasing the application utilizes a single standard TCP socket, whereas lower in the goodput quality and decreasing MPTCP’s buffer delay, jitter and stack, several subflows (conventional TCP connections) may buffer space requirements.1 be opened.
    [Show full text]
  • Passive Bufferbloat Measurement Exploiting Transport Layer Information
    1 Passive bufferbloat measurement exploiting transport layer information C. Chirichella1, D. Rossi1, C. Testa1, T. Friedman2 and A. Pescape3 1Telecom ParisTech – [email protected] 2 UPMC Sorbonne Universites – [email protected] 3 Univ. Federico II – [email protected] Abstract—“Bufferbloat” is the growth in buffer size that has a delay-based congestion control algorithm. When LEDBAT led Internet delays to occasionally exceed the light propagation has exclusive use of the bottleneck resources, however, it fully delay from the Earth to the Moon. Manufacturers have built exploits the available capacity. in large buffers to prevent losses on Wi-Fi, cable and ADSL links. But the combination of some links’ limited bandwidth Like TCP, LEDBAT maintains a congestion window. But with TCP’s tendency to saturate that bandwidth results in whereas mainstream TCP variants use loss-based congestion excessive queuing delays. In response, new congestion control control (growing with ACKs and shrinking with losses), LED- protocols such as BitTorrent’s uTP/LEDBAT aim at explicitly BAT estimates the queuing delay on the bottleneck link and limiting the delay that they add at the bottleneck link. This work tunes the window size in an effort to achieve a target level proposes a methodology to monitor the upstream queuing delay experienced by remote hosts, both those using LEDBAT, through of delay. The dynamic of TCP’s AIMD window management LEDBAT’s native one-way delay measurements, and those using systematically forces the buffer to fill until a loss occurs and TCP, through the Timestamp Option. We report preliminary the window size is halved.
    [Show full text]
  • BBR Bufferbloat in DASH Video
    BBR Bufferbloat in DASH Video Santiago Vargas∗ Rebecca Drucker∗ Aiswarya Renganathan Stony Brook University Stony Brook University Stony Brook University [email protected] [email protected] [email protected] Aruna Balasubramanian Anshul Gandhi Stony Brook University Stony Brook University [email protected] [email protected] ABSTRACT 1 INTRODUCTION BBR is a new congestion control algorithm and is seeing increased BBR (Bottleneck Bandwidth and RTT) [8] is a relatively new con- adoption especially for video traffic. BBR solves the bufferbloat gestion control algorithm which is seeing surging adoption in prac- problem in legacy loss-based congestion control algorithms where tice. Recent reports suggest that 40% of Internet traffic now uses application performance drops considerably when router buffers BBR [33]. BBR is especially popular for video applications and are deep. BBR regulates traffic such that router queues don’t build is adopted by popular video streaming services like YouTube [7]. up to avoid the bufferbloat problem while still maintaining high Given the prevalence of video traffic (accounting for 60.6% of total throughput. However, our analysis shows that video applications downstream traffic worldwide [44] in 2019) and the adoption of BBR experience significantly poor performance when using BBR under as the primary congestion control algorithm for video, it is critical deep buffers. In fact, we find that video traffic sees inflated latencies to understand the impact of BBR on video Quality of Experience because of long queues at the router, ultimately degrading video (QoE). Unfortunately, given its recency, BBR is not as well-studied performance. To understand this dichotomy, we study the inter- as other congestion control algorithms, especially in the context of action between BBR and DASH video.
    [Show full text]
  • Tackling the Internet Edge Problems Solving the Home Router Disaster
    Tackling the Internet Edge Problems Jim Gettys – [email protected] Dave Taht – [email protected] Version 0.0, July 21, 2011 Solving the Home Router Disaster Home routers are a mostly unrecognized major problem for the Internet. Home routers have serious problems with bufferbloat, IPv6, and security. Commercial firmware for most of the market is based upon Linux kernels and other open source projects, but the firmware is generally unmaintained after release; worse yet, the code base they use is over five years old! This dysfunctional behavior is all-too-common in the embedded Linux market, which both of us helped spark over a decade ago in our respective careers, but failed to prevent despite our attempts. The incumbent vendor's current code bases are therefore useless as a platform for research and development as any patches for problems are impossible to integrate easily into the upstream projects. Competitive pressures among vendors make it hard for major vendors to want to contribute to solving the problems if their competition will benefit. There is an alternative bleeding edge and open code base available in the OpenWrt project. OpenWrt is already good enough that older versions of OpenWrt are shipped in some of the smaller commercial home routers. Home routers using firmware from OpenWrt have matured to where modest amounts of labor can succeed in a such a technology demonstration, providing the “proof of principle” to encourage the embedded network industry to move quickly to address these issues. CeroWrt is an OpenWrt router platform for use by individuals, researchers, and students interested in advancing the state of the art of the Internet.
    [Show full text]
  • Throughput and Delay on the Packet Switched Internet (A Cross-Disciplinary Approach)
    University of California Santa Barbara Throughput and Delay on the Packet Switched Internet (A Cross-Disciplinary Approach) A dissertation submitted in partial satisfaction of the requirements for the degree Doctor of Philosophy in Computer Science by Daniel Mark Havey Committee in charge: Professor Kevin Almeroth, Chair Fred Baker, Fellow Cisco Systems, Inc. Professor Elizabeth Belding Professor Phill Conrad June 2015 The Dissertation of Daniel Mark Havey is approved. Fred Baker, Fellow Cisco Systems, Inc. Professor Elizabeth Belding Professor Phill Conrad Professor Kevin Almeroth, Committee Chair March 2015 Throughput and Delay on the Packet Switched Internet (A Cross-Disciplinary Approach) Copyright c 2015 by Daniel Mark Havey iii This dissertation is dedicated to the one true God who created the universe full of scientific wonder for us to explore and enjoy. iv Acknowledgements Funding for this PhD was provided by the University of California Santa Barbara, by Lockheed Martin, by Cisco Systems, Inc, and by Microsoft. This PhD would not have been possible without the support of many people students, professors and many others. I would like to offer thanks to all of my friends from San Bernardino who often said that someday you will be a doctor and I would love to see it. This is the day. We have made it. To all the professors in my undergraduate work who encouraged me along the way and guided me towards research in particular Keith Schubert and David Turner. To the students from my lab at UCSB. To Lara who started after, finished right before and often suffered through tough times with along with me.
    [Show full text]
  • BBR Bufferbloat in DASH Video
    BBR Bufferbloat in DASH Video Santiago Vargas∗ Rebecca Drucker∗ Aiswarya Renganathan Stony Brook University Stony Brook University Stony Brook University USA USA USA [email protected] [email protected] [email protected] Aruna Balasubramanian Anshul Gandhi Stony Brook University Stony Brook University USA USA [email protected] [email protected] ABSTRACT 1 INTRODUCTION BBR is a new congestion control algorithm and is seeing increased BBR (Bottleneck Bandwidth and RTT) [8] is a relatively new con- adoption especially for video traffic. BBR solves the bufferbloat gestion control algorithm which is seeing surging adoption in prac- problem in legacy loss-based congestion control algorithms where tice. Recent reports suggest that 40% of Internet traffic now uses application performance drops considerably when router buffers BBR [33]. BBR is especially popular for video applications and are deep. BBR regulates traffic such that router queues don’t build is adopted by popular video streaming services like YouTube [7]. up to avoid the bufferbloat problem while still maintaining high Given the prevalence of video traffic (accounting for 60.6% of total throughput. However, our analysis shows that video applications downstream traffic worldwide [44] in 2019) and the adoption of BBR experience significantly poor performance when using BBR under as the primary congestion control algorithm for video, it is critical deep buffers. In fact, we find that video traffic sees inflated latencies to understand the impact of BBR on video Quality of Experience because of long queues at the router, ultimately degrading video (QoE). Unfortunately, given its recency, BBR is not as well-studied performance.
    [Show full text]
  • Fixing the Internet: Congestion Control and Buffer Bloat
    Fixing the Internet: Congestion Control and Buffer Bloat Influential OS Research Julian Stecklina <[email protected]> Outline TCP Protocol TCP Implementation Queuing Algorithms Buffer Bloat Unreliable Packet Networks A packet can be: ● damaged, ● dropped, ● duplicated, ● reordered with other packets. Need an abstraction to deal with this! Transmission Control Protocol Provides bidirectional channel. Each direction is a reliable byte stream over unreliable best-effort packet network. TCPv4 specified in 1981. Later changes essentially backward compatible. Basis for advanced protocols (MPTCP, SCTP). TCP Header Position in byte +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+stream of first byte | Source Port in this packet | Destination Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Byte stream received | Sequence correctlyNumber upto this byte | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Acknowledgment Number Can receive this many | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+bytes additionally | Data | |U|A|P|R|S|F| | | Offset| Reserved |R|C|S|S|Y|I| Window | | | |G|K|H|T|N|N| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Checksum | Urgent Pointer | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ TCP Header Format [RFC 793] Receive Window
    [Show full text]