From 745bfda3f498f67f850c0747176c0c1e5125d946 Mon Sep 17 00:00:00 2001 From: Mathis Engelbart Date: Fri, 18 Mar 2022 12:16:20 +0100 Subject: [PATCH 1/3] Draft post about reasons for congestion control --- content/en/blog/why-congestion-control.md | 97 +++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 content/en/blog/why-congestion-control.md diff --git a/content/en/blog/why-congestion-control.md b/content/en/blog/why-congestion-control.md new file mode 100644 index 0000000..198f303 --- /dev/null +++ b/content/en/blog/why-congestion-control.md @@ -0,0 +1,97 @@ +--- +title: Congestion Control and Bandwidth Estimation for Real-time Media +Description: The reasons for using congestion control and bandwidth estimation +date: 2022-03-18 +authors: ["Mathis Engelbart"] +--- + +### Internet Congestion + +The internet protocol (IP) provides a best-effort transmission service. Packets +travel between endpoints on a path of nodes. IP packets are forwarded hop-by-hop +until they reach their destination, and they may be lost or re-ordered on the +way. Nodes can temporarily buffer packets when they arrive faster than they can +be forwarded. When the buffer of a node is full, packets may be dropped. + +Any additional features, such as reliability or ordered delivery, must be added +on top of the IP protocol. For example, transport protocols can use +acknowledgments to identify and retransmit lost packets or sequence numbers and +receive buffers to restore the correct order of re-ordered packets. + +The bandwidth between two endpoints is determined by the bandwidth of the +slowest node on the path, the *bottleneck bandwidth*. Nodes can be shared by +different paths, and thus the bottleneck is also shared among the connections. + +If an endpoint wants to send data to a peer, it must not send more data than the +network path can handle. Otherwise, packets will get lost, causing the sender to +retransmit them, putting even more load on the network. Thus, transport +protocols need to apply *congestion control* to avoid overloading the network +with too much data. + +Congestion control ensures the sender does not send more data into the network +than it can handle. Since network paths can change all the time and connections +can come and go, the bandwidth between two endpoints can change anytime. To +quickly adapt to the changing environment, transport protocols constantly need +to monitor the network and update the speed at which they exchange data. + +### Congestion Signaling + +Different protocols and applications can use different algorithms for congestion +control, depending on their specific requirements. A class of congestion control +algorithms operates on packet loss. Loss-based algorithms are widely used in +TCP, where the protocol is optimized for bulk transmissions such as file +transfers. Loss-based algorithms utilize the buffering of nodes on the network +path between sender and receiver. To find the bottleneck bandwidth, they +increase the speed of sending data into the network until they observe packet +loss. Then, they treat the packet loss as a signal that a buffer is overflowing +on the bottleneck node and reduce their sending speed. Examples of loss-based +congestion control algorithms are Reno, NewReno, and Cubic. The differences +between these algorithms are mainly the functions by which they increase and +decrease the sending speed. Another signal that can be used as a congestion +signal is the growth of the end-to-end delay between sender and receiver. +Growing delays signal a growing buffer. Shrinking delays indicate that a packet +queue is being emptied. + +Congestion Control for Real-time Media Real-time media transmission has some +notable differences to file transfers that impact how congestion control can be +implemented. While a file is basically an array of bytes, present on a drive or +in memory. Each byte can be sent as fast as congestion control allows. On the +other hand, real-time media is - as the name suggests - created in real-time. +The frame needs to be sent at low latency to be played out in real-time at the +receiver. Each byte of a real-time media stream has a deadline, after which it +becomes useless to transmit. Since video data can become quite large, senders +can switch between different resolutions and frame rates or change the target +bitrate of the encoding. Applications use congestion control mechanisms to +estimate the available bandwidth and then calculate the optimal settings for a +media encoder. Due to the low latency requirement, loss-based algorithms are +less applicable to real-time media. As seen before, loss-based algorithms +usually fill the buffers of network nodes to cause packet loss. However, filled +network queues lead to longer delays, increasing the latency at which the media +can be played out at the receiver. Therefore, real-time media applications need +to use congestion control algorithms based on the end-to-end delay. The encoder +settings can be set to higher quality levels as long as the end-to-end delays +stay constant or are decreasing. As soon as the delay increases, there must be +some buffer on a network node filling up, leading to higher latencies. As a +response to the filling buffer, the sender can update the encoder settings to a +lower target bitrate, leading to lower delays due to the shrinking network +queue. + +### Fairness + +One aspect of congestion control we have not looked at yet is fairness. +As we have seen before, nodes can be part of different paths between different +endpoints simultaneously. Each connection should receive a fair share of the +available bandwidth. Thus, congestion control algorithms should not always try +to send as much data as possible because that could starve other flows +traversing the same bottleneck node. Instead, they should behave reasonably fair +when new flows arrive or are already present on the path. There are [different +measures](https://en.wikipedia.org/wiki/Fairness_measure) available to evaluate +the fairness of congestion control algorithms. + +### Conclusion + +This post describes the reasons for using congestion control and the basic +functionality of congestion control algorithms for different purposes. In a +follow-up post, we will look into the details of congestion control and +bandwidth estimation for real-time media and how it is implemented in Pion. + From ef80ee7b1e4747992ffd786e4a95b44a3d8c70a2 Mon Sep 17 00:00:00 2001 From: Mathis Engelbart Date: Fri, 25 Mar 2022 16:56:36 +0100 Subject: [PATCH 2/3] Extend why cc and combine with RT CC algorithms --- content/en/blog/why-congestion-control.md | 298 +++++++++++++++------- 1 file changed, 208 insertions(+), 90 deletions(-) diff --git a/content/en/blog/why-congestion-control.md b/content/en/blog/why-congestion-control.md index 198f303..14b1a11 100644 --- a/content/en/blog/why-congestion-control.md +++ b/content/en/blog/why-congestion-control.md @@ -1,97 +1,215 @@ --- title: Congestion Control and Bandwidth Estimation for Real-time Media -Description: The reasons for using congestion control and bandwidth estimation -date: 2022-03-18 +Description: Solving Congestion Collapse for Real-time Media Streaming +date: 2022-03-25 authors: ["Mathis Engelbart"] --- -### Internet Congestion - -The internet protocol (IP) provides a best-effort transmission service. Packets -travel between endpoints on a path of nodes. IP packets are forwarded hop-by-hop -until they reach their destination, and they may be lost or re-ordered on the -way. Nodes can temporarily buffer packets when they arrive faster than they can -be forwarded. When the buffer of a node is full, packets may be dropped. - -Any additional features, such as reliability or ordered delivery, must be added -on top of the IP protocol. For example, transport protocols can use -acknowledgments to identify and retransmit lost packets or sequence numbers and -receive buffers to restore the correct order of re-ordered packets. - -The bandwidth between two endpoints is determined by the bandwidth of the -slowest node on the path, the *bottleneck bandwidth*. Nodes can be shared by -different paths, and thus the bottleneck is also shared among the connections. - -If an endpoint wants to send data to a peer, it must not send more data than the -network path can handle. Otherwise, packets will get lost, causing the sender to -retransmit them, putting even more load on the network. Thus, transport -protocols need to apply *congestion control* to avoid overloading the network -with too much data. - -Congestion control ensures the sender does not send more data into the network -than it can handle. Since network paths can change all the time and connections -can come and go, the bandwidth between two endpoints can change anytime. To -quickly adapt to the changing environment, transport protocols constantly need -to monitor the network and update the speed at which they exchange data. - -### Congestion Signaling - -Different protocols and applications can use different algorithms for congestion -control, depending on their specific requirements. A class of congestion control -algorithms operates on packet loss. Loss-based algorithms are widely used in -TCP, where the protocol is optimized for bulk transmissions such as file -transfers. Loss-based algorithms utilize the buffering of nodes on the network -path between sender and receiver. To find the bottleneck bandwidth, they -increase the speed of sending data into the network until they observe packet -loss. Then, they treat the packet loss as a signal that a buffer is overflowing -on the bottleneck node and reduce their sending speed. Examples of loss-based -congestion control algorithms are Reno, NewReno, and Cubic. The differences -between these algorithms are mainly the functions by which they increase and -decrease the sending speed. Another signal that can be used as a congestion -signal is the growth of the end-to-end delay between sender and receiver. -Growing delays signal a growing buffer. Shrinking delays indicate that a packet -queue is being emptied. - -Congestion Control for Real-time Media Real-time media transmission has some -notable differences to file transfers that impact how congestion control can be -implemented. While a file is basically an array of bytes, present on a drive or -in memory. Each byte can be sent as fast as congestion control allows. On the -other hand, real-time media is - as the name suggests - created in real-time. -The frame needs to be sent at low latency to be played out in real-time at the -receiver. Each byte of a real-time media stream has a deadline, after which it -becomes useless to transmit. Since video data can become quite large, senders -can switch between different resolutions and frame rates or change the target -bitrate of the encoding. Applications use congestion control mechanisms to -estimate the available bandwidth and then calculate the optimal settings for a -media encoder. Due to the low latency requirement, loss-based algorithms are -less applicable to real-time media. As seen before, loss-based algorithms -usually fill the buffers of network nodes to cause packet loss. However, filled -network queues lead to longer delays, increasing the latency at which the media -can be played out at the receiver. Therefore, real-time media applications need -to use congestion control algorithms based on the end-to-end delay. The encoder -settings can be set to higher quality levels as long as the end-to-end delays -stay constant or are decreasing. As soon as the delay increases, there must be -some buffer on a network node filling up, leading to higher latencies. As a -response to the filling buffer, the sender can update the encoder settings to a -lower target bitrate, leading to lower delays due to the shrinking network -queue. - -### Fairness - -One aspect of congestion control we have not looked at yet is fairness. -As we have seen before, nodes can be part of different paths between different -endpoints simultaneously. Each connection should receive a fair share of the -available bandwidth. Thus, congestion control algorithms should not always try -to send as much data as possible because that could starve other flows -traversing the same bottleneck node. Instead, they should behave reasonably fair -when new flows arrive or are already present on the path. There are [different -measures](https://en.wikipedia.org/wiki/Fairness_measure) available to evaluate -the fairness of congestion control algorithms. - -### Conclusion +## Congestion Collapse and Fair Resources Sharing -This post describes the reasons for using congestion control and the basic -functionality of congestion control algorithms for different purposes. In a -follow-up post, we will look into the details of congestion control and -bandwidth estimation for real-time media and how it is implemented in Pion. +The internet protocol (IP) provides a best-effort transmission service. IP +packets sent by an endpoint are forwarded hop-by-hop until they reach their +destination. Depending on the path they take, they may be re-ordered or even +lost on the way. Any additional features, such as reliability (guaranteed +delivery) or ordered delivery, must be added on top of the IP protocol. +Transport protocols, like TCP, use acknowledgments and retransmission-timers to +identify and retransmit lost packets: If a packet has not been acknowledged by +the receiver before a timer expires, the packet is assumed to be lost and will +be retransmitted. + +On their path from the sender to the receiver, packets can pass several nodes +that the connection shares with other connections: + + + +When the amount of packets going over one of the links exceeds the capacity of +the link, packets may be buffered on the node before being forwarded. Buffering +increases the delay between sending and receiving a packet and thus also +increases the RTT. If the RTT becomes too large, the retransmission timer will +expire while the packet is still in transit and the sender will send another +copy of the same packet. The duplicate of the packet adds further load on the +network, increasing the amount of data to transmit and buffer and in turn +increasing the RTT even further, causing more retransmisisons. At some point, a +buffer at a network node might be full and the node starts dropping packets. +Although eventually some copy of each packet will arrive at the receiver, the +throughput will only be a fraction of the actual capacity. This situation is +called congestion collapse and was first described for TCP in the 1980s. + + + +Another type of congestion collapse leads to degraded performance occurs when a +high amount of packets is dropped by a downstream link: When the sender +continous to send more packets into the network even though most of the packets +are dropped at the last link, it creates congestion even on earlier links in the +path, which is degrading the performance of other network connections sharing +the earlier links, even when these connections themselves don't use the link +with the high drop rate. + +To avoid congestion collapse, using congestion control ensures that senders +don't send more data into the network than it can handle. Since network paths +can change all the time and connections can come and go, the bandwidth between +two endpoints can change anytime. The best-effort network doesn't provide any +information on current congestion and thus the endpoints have to implement +congestion control *end-to-end*. To quickly adapt to the changing environment, +transport protocols constantly need to monitor the network and update the rate +at which they send data. + +Another aspect of congestion control is fairness. Each connection should receive +a fair share of the available bandwidth. Thus, congestion control algorithms +should not always try to send as much data as possible because that could starve +other flows traversing the same bottleneck node. Instead, they should behave +reasonably fair when new flows arrive or are already present on the path. There +are [different measures](https://en.wikipedia.org/wiki/Fairness_measure) +available to evaluate the fairness of congestion control algorithms. + +## AIMD: Additive Increase, Multiplicative Decrease + +The basic idea of end-to-end congestion control is to prevent the sender from +overloading the network with too much data. A lot of research has gone into +developing different algorithms to achieve this goal over the past decades. +Today there are many different congestion control algorithms available for +different transport protocols and applications that fullfil different +requirements. + +Window-based congestion control uses a congestion window (CWND). The idea of the +congestion control window is similar to the flow control window: A sender +maintains a window size that indicates how many un-acknowledged bytes (in-flight +bytes) it can send. A counter keeps track of how many bytes are actually in +flight and when the number of bytes in flight reaches the size of the congestion +window, the sender must pause until more acknowledgments arrive. The size of the +congestion window can be changed dynamically and determines how fast a sender +pushes data to the network. + +The first implementations of TCP congestion control detected congestion through +packet loss. Assuming congested nodes start dropping packets, the sender assumes +that as long as no packet loss occurs, the link is uncongested. An AIMD sender +starts with a small congestion window which it gradually increases as long as no +congestion is detected. With each round trip, the congestion window is increased +by adding some constant. When congestion increases and packets get lost, the +congestion window is decreased by a factor between 0 and 1. + +This method leads to a pattern of alternating between filling and draining +buffers on the network nodes. As long as no congestion occurs and the congestion +window is increased, the buffer on the slowest node fills up. When packets start +to get lost and the congestion window (and thus the rate at which packets are +sent) is decreased, the bottleneck buffer can slowly drain and reduce congestion +again. + + + + +## Real-time Media Streaming + +Alternating between high and low buffer fillings is fine when you want to +transmit a file or perform any other kind of bulk transfer, where the only +requirement is that some bytes be transferred to a receiver. In real-time media +transmissions, however, things are slightly different. We might for example want +to transmit a video stream and an audio stream from a webcam and microphone in a +videoconference using the Real-time Transport Protocol (RTP). A crucial +requirement for the videoconference is interactivity, which means that the +participants can talk to each other without delays. The higher the delay, the +harder it gets to have a useful conversation. Since filled network buffers as +created by loss-based congestion control also leads to higher RTTs and thus +higher end-to-end latencies, we need different algorithms for congestion +controlling real-time media. + + + +Instead of waiting for packet loss to occur, low-latency congestion control uses +the end-to-end delay to monitor congestion. This works by monitoring the growth +of the delay between the packet departure from the sender and its arrival at the +receiver. The IETF had a [working group working on congestion control for +interactive real-time media](https://datatracker.ietf.org/wg/rmcat/about/). +Within this working group, three different algorithms were proposed: [Google +Congestion Control +(GCC)](https://datatracker.ietf.org/doc/draft-ietf-rmcat-gcc/), [Self-Clocked +Rate Adaptation for Multimedia +(SCReAM)](https://datatracker.ietf.org/doc/rfc8298/) and [Network-Assisted +Dynamic Adaptation (NADA)](https://datatracker.ietf.org/doc/rfc8698/). GCC, +SCReAM and NADA all make use of different signals of congestion, including in +some form the delay between packet departure and arrival. + +### Media Encoding and Bandwidth Estimation + +Another difference between real-time media streaming and bulk transfers is how +the data to send is generated. In a file transfer for example, the whole file +eventually needs to be sent and thus all the bytes of which the file consists +will eventually be queued for sending on the network. Live-media on the other +hand is created at a steady rate and needs to be transmitted at roughly the same +rate to avoid growing a queue. Instead of directly sending the raw media, the +media is usually first encoded by some media encoder and to adapt to the +available bandwidth, media producers can for example choose different video +resolutions, frame rates or encoder compression rates. + +To help a sender choose the corrrect media encoding configurations and adapt to +new bandwidths over time, GCC, NADA and SCReAM provide a bandwidth estimation. +The estimation can guide the sender to re-configure the encoder to an +appropriate target bitrate. + +Media encoders can only be configured to a target bitrate, which they try to +achieve on average but they do not guarantee to output encoded media at exactly +this rate. The actual output can change very dynamically, key frames tend to +create spikes, while non-key frames produce less data. Additionally, frequent +rate changes can have a negative impact on the perceived quality and thus most +of the time, we only want to use a small number of pre-configured different +configurations. The sender can then switch to higher or lower levels depending +on the level of congestion observed on the network. This makes it harder to +probe for higher bandwidth, though, since it is now impossible to send more data +than generated by the encoder. To solve this, we can send additional data +packets just to probe for higher bandwidths before switching to the next higher +encoder configuration. Instead of sending empty or padding only packets it is +also possible to use redundant data such as [Forward Error Correction +(FEC)](https://datatracker.ietf.org/doc/rfc8854/) packets for probing. + +## Congestion Signaling + +We have talked a lot about how loss and delay can be used to infer congestion to +implement different congestion control algorithms. One thing we ignored so far +is how the sender can actually monitor loss and delay. In TCP, acknowledgments +and retransmission timeouts can be used to infer packet loss. RTP doesn't have +acknowledgments itself. Retransmissions are also not always desirable in RTP, +since we do not need to retransmit frames if we know they would arrive to late +to be played out in real-time at the receiver. But next to RTP we do have the +RTP Control Protocol (RTCP). RTCP offers a lot of features to exchange control +data such as synchronization information or quality statistics between peers. +RTCP offers different message types for different kinds of control data and +specifically for implementing congestion control there are two proposed formats +available: [Transport-wide Congestion +Control (TWCC)](https://datatracker.ietf.org/doc/html/draft-holmer-rmcat-transport-wide-cc-extensions-01) +and [RTP Control Protocol (RTCP) Feedback for Congestion +Control (RFC 8888)](https://datatracker.ietf.org/doc/rfc8888/). + +Both proposals provide a message format for media receivers to give feedback +about the received RTP packets to the sender. The feedback reports include +information about which exact RTP packets arrived and for each packet a +timestamp describing the time at which the packet arrived at the receiver. Using +TWCC or RFC 8888 senders can implement any of the algorithms GCC, SCReAM or +NADA. + + + +An alternative to using the proposed feedback formats to send the feedback from +the receiver to the sender is to run the bandwidth estimation algorithm at the +receiver side. In this case, we still need some RTCP feedback, but here it will +not include detailed information about the received packets, but instead give +the sender periodic updates about the estimated available bandwidth, so that it +can reconfigure the encoder. One way to implement this setup is to use the [RTCP +message for Receiver Estimated Maximum Bitrate +(REMB)](https://datatracker.ietf.org/doc/draft-alvestrand-rmcat-remb/). Since +the receiver side bandwidth estimation still relies on the growths of the +end-to-end delay, which it can only calculate if it knows the departure and +arrival times of the packets, the sender can use an RTP header extension called +"Absoulte Sender Time", to give this information to the receiver. The "Absoulte +Sender Time" header extension is described in the same document as REMB. + +## Conclusion + +This post describes the reasons for using congestion control and the basic +functionality of congestion control algorithms for different purposes. While the +first congestion control algorithms relied on packet loss to detect congestion +control, this is not applicable to real-time streaming. To achieve low-latency +streaming, we have to make use of congestion control algorithms that minimize +end-to-end delay instead. In a follow-up post, we will look into the details of +congestion control techniques such as GCC and TWCC/RFC 8888 and how they are +implemented in Pion. From 97460a493cc1e3a6395bdbe0fec2a64722909b0d Mon Sep 17 00:00:00 2001 From: Mathis Engelbart Date: Mon, 28 Mar 2022 14:43:44 +0200 Subject: [PATCH 3/3] Finish revised version of CC/BWE introduction post --- content/en/blog/cc.drawio | 1 + content/en/blog/why-congestion-control.md | 312 ++++++++++++---------- static/img/cc-example-topology.png | Bin 0 -> 194626 bytes 3 files changed, 169 insertions(+), 144 deletions(-) create mode 100644 content/en/blog/cc.drawio create mode 100644 static/img/cc-example-topology.png diff --git a/content/en/blog/cc.drawio b/content/en/blog/cc.drawio new file mode 100644 index 0000000..2ac649f --- /dev/null +++ b/content/en/blog/cc.drawio @@ -0,0 +1 @@ +7VhNk5swDP01Oe5MsIFwzWazbWfaQ5tDZ3pzQIBbB1Fj8tFfXxNsEvLVbCdstklP4CcZy3p+EtCjo9nynWR5+gkjED3Sj5Y9+tQjxHGdQF8qZFUjA69fA4nkkXHaABP+Cwxo3UoeQdFyVIhC8bwNhphlEKoWxqTERdstRtFeNWcJ7AGTkIl99CuPVFqjgd1Fhb8HnqR2ZadvLDNmnQ1QpCzCxRZExz06koiqvpstRyCq5Nm81POej1ibwCRk6pwJT/SRfFYfFuNvxSCNS+65lD441ASnVnbHEOkEmGGGmb48SiyzCKrn9PUIpUoxwYyJj4i5Bh0NfgelVoY+VirUUKpmwlhjzJQxEk+PC8WkGlb0aCQUrCh4aOFnLuy0OrYqoKN7NlCBpQzhxEaJOTtMJqBO+PkNM/pIA85AyZWeJ0EwxeftOJg5W0njt0m/vjEMvIANE+ScidKs1CO+UCaBLZr8nyVaw0OxTu1QOxAvX26M+i6prhPQ9MnKbJ83ldZmER1wvYiFd47F5gxUzCxSrmCSs3XOF1r6O3xrDkcoUK7n0jgIIawJlvgDtizTwHO9frPeHKSC5Wmy98kxpYVapS02QnV8g6VbIg36HfHnuHeiJvovqIl2rSbnOmqKPAgi95CaAjKlvn8ZNTXKuZqa3I74+wIh6MN3u/XQTBhYtt5MffS6Z9S5AQUe4e/6irQv5R33t9fvZ/6Z/WxwzX7mH1VPxOd/L54LSRBLVQnwiPgaeB1qG30D0Q9f0AcOb2VXFkLoL1T4c2VhRV5/tsZ8WWlmr1XEMTncKiJ/6nsXKjVNyTClhhxqFeRAqWnAy9caZz+pN1FrBmfWGu+atcYhd55995rZH/yv9F1F/3jnld4jr1jp9XDzf3Nt2/pLTMe/AQ== \ No newline at end of file diff --git a/content/en/blog/why-congestion-control.md b/content/en/blog/why-congestion-control.md index 14b1a11..0d3ba4b 100644 --- a/content/en/blog/why-congestion-control.md +++ b/content/en/blog/why-congestion-control.md @@ -7,52 +7,43 @@ authors: ["Mathis Engelbart"] ## Congestion Collapse and Fair Resources Sharing -The internet protocol (IP) provides a best-effort transmission service. IP +The Internet Protocol (IP) provides a best-effort transmission service. IP packets sent by an endpoint are forwarded hop-by-hop until they reach their -destination. Depending on the path they take, they may be re-ordered or even -lost on the way. Any additional features, such as reliability (guaranteed -delivery) or ordered delivery, must be added on top of the IP protocol. -Transport protocols, like TCP, use acknowledgments and retransmission-timers to -identify and retransmit lost packets: If a packet has not been acknowledged by -the receiver before a timer expires, the packet is assumed to be lost and will -be retransmitted. +destination. Depending on their path, they may be re-ordered or even lost on the +way. Any additional features, such as reliability (guaranteed delivery) or +ordered delivery, must be added by transport protocols on top of IP. TCP, for +example, uses acknowledgments and retransmission-timers to identify and +retransmit lost packets: If a packet has not been acknowledged by the receiver +before a timer expires, the packet is assumed to be lost and will be +retransmitted. On their path from the sender to the receiver, packets can pass several nodes that the connection shares with other connections: - +![Topology](/img/cc-example-topology.png) -When the amount of packets going over one of the links exceeds the capacity of -the link, packets may be buffered on the node before being forwarded. Buffering +When the amount of packets going over one of the links exceeds the link's +capacity, packets may be buffered on the node before being forwarded. Buffering increases the delay between sending and receiving a packet and thus also -increases the RTT. If the RTT becomes too large, the retransmission timer will -expire while the packet is still in transit and the sender will send another -copy of the same packet. The duplicate of the packet adds further load on the -network, increasing the amount of data to transmit and buffer and in turn -increasing the RTT even further, causing more retransmisisons. At some point, a -buffer at a network node might be full and the node starts dropping packets. -Although eventually some copy of each packet will arrive at the receiver, the -throughput will only be a fraction of the actual capacity. This situation is -called congestion collapse and was first described for TCP in the 1980s. - - - -Another type of congestion collapse leads to degraded performance occurs when a -high amount of packets is dropped by a downstream link: When the sender -continous to send more packets into the network even though most of the packets -are dropped at the last link, it creates congestion even on earlier links in the -path, which is degrading the performance of other network connections sharing -the earlier links, even when these connections themselves don't use the link -with the high drop rate. - -To avoid congestion collapse, using congestion control ensures that senders -don't send more data into the network than it can handle. Since network paths -can change all the time and connections can come and go, the bandwidth between -two endpoints can change anytime. The best-effort network doesn't provide any -information on current congestion and thus the endpoints have to implement -congestion control *end-to-end*. To quickly adapt to the changing environment, -transport protocols constantly need to monitor the network and update the rate -at which they send data. +increases the Round-Trip Time (RTT). If the RTT becomes too large, the +retransmission timer will expire while the packet is still in transit. The +sender will then send another copy of the same packet. The duplicate of the +packet adds additional load on the network, increasing the amount of data to +transmit and buffer and, in turn, increasing the RTT even further, causing more +retransmissions. When a buffer at a network node becomes full, the node starts +dropping packets. Although eventually, some copy of each packet will arrive at +the receiver, the throughput will only be a fraction of the actual capacity. +This situation is called congestion collapse and was first [described for TCP in +the 1980s](https://datatracker.ietf.org/doc/html/rfc896). + +A second type of congestion collapse that leads to degraded performance occurs +when a high amount of packets is dropped by a downstream link. In the +illustration above, this could happen, when a lot of packets are dropped on the +link between *Router B* and *Receiver 2*. If *Sender 2* continous to send more +packets than the last link can handle, it creates congestion on the link between +*Router A* and *Router B*, which negatively impacts the connection between +*Sender 1* and *Receiver 1*, even if this connection doesn't use the link with +the high drop rate. Another aspect of congestion control is fairness. Each connection should receive a fair share of the available bandwidth. Thus, congestion control algorithms @@ -62,38 +53,53 @@ reasonably fair when new flows arrive or are already present on the path. There are [different measures](https://en.wikipedia.org/wiki/Fairness_measure) available to evaluate the fairness of congestion control algorithms. -## AIMD: Additive Increase, Multiplicative Decrease +Congestion control ensures that senders don't send more data into the network +than the network can handle. Since network paths can change all the time and +connections can come and go, the bandwidth between two endpoints can change +anytime, too. The best-effort network doesn't provide any information on current +congestion, and thus the endpoints have to implement congestion control in the +endpoints, which is called *end-to-end* congestion control. Transport protocols +must constantly monitor the network and update the send rate to quickly adapt to +the changing environment. + +## Window based Congestion Control The basic idea of end-to-end congestion control is to prevent the sender from -overloading the network with too much data. A lot of research has gone into -developing different algorithms to achieve this goal over the past decades. -Today there are many different congestion control algorithms available for -different transport protocols and applications that fullfil different -requirements. - -Window-based congestion control uses a congestion window (CWND). The idea of the -congestion control window is similar to the flow control window: A sender -maintains a window size that indicates how many un-acknowledged bytes (in-flight -bytes) it can send. A counter keeps track of how many bytes are actually in -flight and when the number of bytes in flight reaches the size of the congestion -window, the sender must pause until more acknowledgments arrive. The size of the -congestion window can be changed dynamically and determines how fast a sender -pushes data to the network. - -The first implementations of TCP congestion control detected congestion through -packet loss. Assuming congested nodes start dropping packets, the sender assumes -that as long as no packet loss occurs, the link is uncongested. An AIMD sender -starts with a small congestion window which it gradually increases as long as no -congestion is detected. With each round trip, the congestion window is increased -by adding some constant. When congestion increases and packets get lost, the -congestion window is decreased by a factor between 0 and 1. - -This method leads to a pattern of alternating between filling and draining -buffers on the network nodes. As long as no congestion occurs and the congestion -window is increased, the buffer on the slowest node fills up. When packets start +overloading the network with too much data. A lot of research has been done to +develop different algorithms to achieve this goal over the past decades. Today, +many different congestion control algorithms are available for different +transport protocols and applications that fulfill different requirements. + +Window-based congestion control uses a congestion window (CWND) to control the +sending speed. The idea of the congestion control window is similar to the flow +control window: A sender maintains a window size that indicates how many +un-acknowledged bytes it can send. A counter keeps track of how many bytes are +actually in flight, and when the number of bytes in flight reaches the size of +the congestion window, the sender must pause until more acknowledgments arrive. +The size of the congestion window can be changed dynamically and determines how +fast a sender pushes data to the network. Depending on the current level of +congestion, a sender can either increase the congestion window size to send +faster or decrease the congestion window size to send slower. + +Many TCP congestion control algorithms detect congestion through packet loss. +Assuming congested nodes start dropping packets, the sender assumes that the +link is uncongested as long as no packet loss occurs. An AIMD sender starts with +a small congestion window which gradually increases as long as no congestion is +detected. With each round trip, the congestion window increases by adding some +constant. When congestion increases and packets get lost, the congestion window +is decreased by a factor between 0 and 1. + +This method leads to an alternating pattern between filling and draining buffers +on the network nodes. The slowest node's buffer fills up as long as no +congestion is observed and the congestion window increases. When packets start to get lost and the congestion window (and thus the rate at which packets are -sent) is decreased, the bottleneck buffer can slowly drain and reduce congestion -again. +sent) decreases, the bottleneck buffer can slowly drain and reduce congestion +again. Alternating between high and low buffer fillings is fine when you want to +transmit a file or perform any other kind of bulk transfer, where the only +requirement is that some bytes be transferred to a receiver. However, +alternating between filling and draining queues also leads to frequent RTT +changes which together with the frequently changing sending rate is problematic +for real-time media streaming. @@ -101,115 +107,133 @@ again. ## Real-time Media Streaming -Alternating between high and low buffer fillings is fine when you want to -transmit a file or perform any other kind of bulk transfer, where the only -requirement is that some bytes be transferred to a receiver. In real-time media -transmissions, however, things are slightly different. We might for example want -to transmit a video stream and an audio stream from a webcam and microphone in a +In real-time media transmissions, we might, for example, want to transmit a +video stream and an audio stream from a webcam and microphone in a videoconference using the Real-time Transport Protocol (RTP). A crucial -requirement for the videoconference is interactivity, which means that the +requirement for videoconferences is interactivity, which means that the participants can talk to each other without delays. The higher the delay, the -harder it gets to have a useful conversation. Since filled network buffers as -created by loss-based congestion control also leads to higher RTTs and thus +harder it gets to have an interactive conversation. Since filled network buffers +created by loss-based congestion control also lead to higher RTTs and thus higher end-to-end latencies, we need different algorithms for congestion -controlling real-time media. +controlling real-time media. Additionally, sending media at frequently changing +sending rates leads to a lot of quality changes of the transmitted media stream. -Instead of waiting for packet loss to occur, low-latency congestion control uses -the end-to-end delay to monitor congestion. This works by monitoring the growth -of the delay between the packet departure from the sender and its arrival at the -receiver. The IETF had a [working group working on congestion control for -interactive real-time media](https://datatracker.ietf.org/wg/rmcat/about/). -Within this working group, three different algorithms were proposed: [Google -Congestion Control +Instead of waiting for packet loss, low-latency congestion control uses the +end-to-end delay to monitor congestion. The core idea of delay based congestion +control is based on an observation of the interplay between buffers in the +network and the available bandwidth. On each path between two endpoints, there +is one link, which acts as the bottleneck link, that determines the available +bandwidth between the two nodes. While the buffer on the bottleneck node is +empty, the available bandwidth is not reached, but as soon as the buffer starts +filling up, the bandwidth is determined by the speed at which the node can send +packets from the buffer to the next hop. The level to which the buffer is filled +does not make any difference to the bandwidth, but the higher the filling level, +the more increases the one-way delay. The one-way delay reaches a maximum, when +the buffer overflows and packets start being dropped. ([There is a nice +illustration of this observation in the publication of BBR, a new congestion +control algorithm developed by +Google](https://queue.acm.org/detail.cfm?id=3022184)) + +Delay based congestion controllers monitor this one-way delay and try to achieve +a sending rate at the point between fully utilizing the available bandwidth and +keeping the buffer as empty as possible. The IETF had a [working group working +on congestion control for interactive real-time +media](https://datatracker.ietf.org/wg/rmcat/about/). Within this working group, +three different algorithms were proposed: [Google Congestion Control (GCC)](https://datatracker.ietf.org/doc/draft-ietf-rmcat-gcc/), [Self-Clocked Rate Adaptation for Multimedia (SCReAM)](https://datatracker.ietf.org/doc/rfc8298/) and [Network-Assisted Dynamic Adaptation (NADA)](https://datatracker.ietf.org/doc/rfc8698/). GCC, -SCReAM and NADA all make use of different signals of congestion, including in -some form the delay between packet departure and arrival. +SCReAM, and NADA all use different congestion signals, including the delay +between packet departure and arrival, to keep the end-to-end delay as low as +possible. By keeping the sending rate close to the point between highest +bandwidth and lowest delay instead of alternating between increasing and +decreasing rates, delay based algorithms also solve the problem that frequent +sending rate changes lead to unpleasently frequent changes in the received media +stream. ### Media Encoding and Bandwidth Estimation Another difference between real-time media streaming and bulk transfers is how -the data to send is generated. In a file transfer for example, the whole file -eventually needs to be sent and thus all the bytes of which the file consists -will eventually be queued for sending on the network. Live-media on the other -hand is created at a steady rate and needs to be transmitted at roughly the same -rate to avoid growing a queue. Instead of directly sending the raw media, the -media is usually first encoded by some media encoder and to adapt to the -available bandwidth, media producers can for example choose different video -resolutions, frame rates or encoder compression rates. - -To help a sender choose the corrrect media encoding configurations and adapt to -new bandwidths over time, GCC, NADA and SCReAM provide a bandwidth estimation. -The estimation can guide the sender to re-configure the encoder to an -appropriate target bitrate. - -Media encoders can only be configured to a target bitrate, which they try to -achieve on average but they do not guarantee to output encoded media at exactly -this rate. The actual output can change very dynamically, key frames tend to -create spikes, while non-key frames produce less data. Additionally, frequent -rate changes can have a negative impact on the perceived quality and thus most -of the time, we only want to use a small number of pre-configured different -configurations. The sender can then switch to higher or lower levels depending -on the level of congestion observed on the network. This makes it harder to -probe for higher bandwidth, though, since it is now impossible to send more data -than generated by the encoder. To solve this, we can send additional data -packets just to probe for higher bandwidths before switching to the next higher -encoder configuration. Instead of sending empty or padding only packets it is -also possible to use redundant data such as [Forward Error Correction +the data to send is generated. For example, in a file transfer, the whole file +eventually needs to be sent. Thus, all the bytes of which the file consists will +be queued for shipping on the network. Live media, on the other hand, is created +at a steady rate and needs to be transmitted at roughly the same speed to avoid +growing a queue. Instead of directly sending the raw media, the media is usually +first encoded by some media encoder, and to adapt to the available bandwidth, +media producers can, for example, choose different video resolutions, frame +rates, or encoder compression rates. (See [WebRTC for the +Curious](https://webrtcforthecurious.com/docs/06-media-communication/#video-101) +for a brief introduction to video compression for RTP). + +To help a sender choose the correct media encoding configurations and adapt to +new bandwidths over time, GCC, NADA, and SCReAM provide a bandwidth estimation. +The estimation can guide the sender to reconfigure the encoder to an appropriate +target bitrate. When a media encoder is configured to a target bitrate, it tries +to achieve this rate on average, but it doesn't guarantee to output encoded +media at precisely this rate. The actual output can change very dynamically. +Keyframes tend to create spikes, while non-key frames result in fewer bytes to +send. Again, frequent rate changes can harm the perceived quality. Thus, we only +want to use a small number of pre-configured configurations most of the time. +The sender can then switch to higher or lower levels depending on the congestion +observed on the network. This makes it harder to probe for higher bandwidth, +though, since it is now impossible to send more data than generated by the +encoder. To solve this, we can send additional data packets just to probe for +higher bandwidths before switching to the next higher encoder configuration. +Instead of sending empty or padding only packets, it is also possible to use +redundant data such as [Forward Error Correction (FEC)](https://datatracker.ietf.org/doc/rfc8854/) packets for probing. ## Congestion Signaling We have talked a lot about how loss and delay can be used to infer congestion to -implement different congestion control algorithms. One thing we ignored so far -is how the sender can actually monitor loss and delay. In TCP, acknowledgments -and retransmission timeouts can be used to infer packet loss. RTP doesn't have -acknowledgments itself. Retransmissions are also not always desirable in RTP, -since we do not need to retransmit frames if we know they would arrive to late -to be played out in real-time at the receiver. But next to RTP we do have the -RTP Control Protocol (RTCP). RTCP offers a lot of features to exchange control -data such as synchronization information or quality statistics between peers. -RTCP offers different message types for different kinds of control data and -specifically for implementing congestion control there are two proposed formats -available: [Transport-wide Congestion -Control (TWCC)](https://datatracker.ietf.org/doc/html/draft-holmer-rmcat-transport-wide-cc-extensions-01) -and [RTP Control Protocol (RTCP) Feedback for Congestion -Control (RFC 8888)](https://datatracker.ietf.org/doc/rfc8888/). +implement different congestion control algorithms. One thing we have ignored so +far is how the sender can actually monitor loss and delay. In TCP, +acknowledgments and retransmission timeouts can infer packet loss. RTP doesn't +have acknowledgments itself. Retransmissions are also not always desirable in +RTP since we do not need to retransmit frames if we know they would arrive too +late to be played out in real-time at the receiver. But next to RTP, we have the +RTP Control Protocol (RTCP). RTCP offers many features to exchange control data, +such as synchronization information or quality statistics between peers. RTCP +offers different message types for different kinds of control data. +Specifically, for implementing congestion control, there are two proposed +formats available: [Transport-wide Congestion Control +(TWCC)](https://datatracker.ietf.org/doc/html/draft-holmer-rmcat-transport-wide-cc-extensions-01) +and [RTP Control Protocol (RTCP) Feedback for Congestion Control (RFC +8888)](https://datatracker.ietf.org/doc/rfc8888/). Both proposals provide a message format for media receivers to give feedback about the received RTP packets to the sender. The feedback reports include -information about which exact RTP packets arrived and for each packet a +information about which exact RTP packets arrived and, for each packet, a timestamp describing the time at which the packet arrived at the receiver. Using -TWCC or RFC 8888 senders can implement any of the algorithms GCC, SCReAM or +TWCC or RFC 8888, senders can implement any of the algorithms GCC, SCReAM, or NADA. An alternative to using the proposed feedback formats to send the feedback from the receiver to the sender is to run the bandwidth estimation algorithm at the -receiver side. In this case, we still need some RTCP feedback, but here it will -not include detailed information about the received packets, but instead give -the sender periodic updates about the estimated available bandwidth, so that it -can reconfigure the encoder. One way to implement this setup is to use the [RTCP +receiver side. In this case, we still need some RTCP feedback. This time, it +will not include detailed information about the received packets but instead +give the sender periodic updates about the estimated available bandwidth to +reconfigure the encoder. One way to implement this setup is to use the [RTCP message for Receiver Estimated Maximum Bitrate -(REMB)](https://datatracker.ietf.org/doc/draft-alvestrand-rmcat-remb/). Since -the receiver side bandwidth estimation still relies on the growths of the -end-to-end delay, which it can only calculate if it knows the departure and -arrival times of the packets, the sender can use an RTP header extension called -"Absoulte Sender Time", to give this information to the receiver. The "Absoulte -Sender Time" header extension is described in the same document as REMB. +(REMB)](https://datatracker.ietf.org/doc/draft-alvestrand-rmcat-remb/). The +receiver side bandwidth estimation still relies on the growths of the end-to-end +delay, which it can only calculate if it knows the departure and arrival times +of the packets. The sender can use an RTP header extension called "Absoulte +Sender Time" to give this information to the receiver. The "Absoulte Sender +Time" header extension is described in the same document as REMB. ## Conclusion This post describes the reasons for using congestion control and the basic functionality of congestion control algorithms for different purposes. While the first congestion control algorithms relied on packet loss to detect congestion -control, this is not applicable to real-time streaming. To achieve low-latency -streaming, we have to make use of congestion control algorithms that minimize -end-to-end delay instead. In a follow-up post, we will look into the details of -congestion control techniques such as GCC and TWCC/RFC 8888 and how they are -implemented in Pion. +control, this does not apply to real-time streaming. To achieve low-latency +streaming, we have to use congestion control algorithms that minimize end-to-end +delay. In a follow-up post, we will look into the details of congestion control +techniques such as GCC and TWCC/RFC 8888 and how they are implemented in Pion. + diff --git a/static/img/cc-example-topology.png b/static/img/cc-example-topology.png new file mode 100644 index 0000000000000000000000000000000000000000..c868da8d35a71d74aa9ff8a08b8af650b8cbf0f1 GIT binary patch literal 194626 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�$M~r`7+aP*`fRg2JP97?`{Mt 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 JrANGf`!{{oeM$fT literal 0 HcmV?d00001