<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.14 (Ruby 2.6.8) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-mops-streaming-opcons-11" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.13.0 -->
  <front>
    <title abbrev="Media Streaming Ops">Operational Considerations for Streaming Media</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-mops-streaming-opcons-11"/>
    <author initials="J." surname="Holland" fullname="Jake Holland">
      <organization>Akamai Technologies, Inc.</organization>
      <address>
        <postal>
          <street>150 Broadway</street>
          <city>Cambridge, MA 02144</city>
          <country>United States of America</country>
        </postal>
        <email>jakeholland.net@gmail.com</email>
      </address>
    </author>
    <author initials="A." surname="Begen" fullname="Ali Begen">
      <organization>Networked Media</organization>
      <address>
        <postal>
          <country>Turkey</country>
        </postal>
        <email>ali.begen@networked.media</email>
      </address>
    </author>
    <author initials="S." surname="Dawkins" fullname="Spencer Dawkins">
      <organization>Tencent America LLC</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>spencerdawkins.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2022" month="July" day="11"/>
    <area>OPS</area>
    <workgroup>MOPS</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document provides an overview of operational networking and transport protocol issues that pertain to the quality of experience when streaming video and other high-bitrate media over the Internet.</t>
      <t>This document is intended to explain characteristics of streaming media delivery that have surprised network designers or transport experts who lack specific media expertise, since streaming media highlights key differences between common assumptions in existing networking practices and observations of media delivery issues encountered when streaming media over those existing networks.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro">
      <name>Introduction</name>
      <t>This document provides an overview of operational networking and transport protocol issues that pertain to the quality of experience (QoE) when streaming video and other high-bitrate media over the Internet.</t>
      <t>This document is intended to explain characteristics of streaming media delivery that have surprised network designers or transport experts who lack specific media expertise, since streaming media highlights key differences between common assumptions in existing networking practices and observations of media delivery issues encountered when streaming media over those existing networks.</t>
      <t>This document defines "high-bitrate streaming media" as follows:</t>
      <ul spacing="normal">
        <li>"High-bitrate" is a context-sensitive term broadly intended to capture rates that can be sustained over some but not all of the target audience's network connections. A snapshot of values commonly qualifying as high-bitrate on today's internet is given by the higher-value entries in <xref target="bvr"/>.</li>
        <li>
          <t>"Streaming" means the continuous transmission of media segments from a server to a client and its simultaneous consumption by the client.
          </t>
          <ul spacing="normal">
            <li>The term "simultaneous" is critical, as media segment transmission is not considered "streaming" if one downloads a media file and plays it after the download is completed. Instead, this would be called "download and play".</li>
            <li>This has two implications. First, the sending rate for media segments must match the client's consumption rate (whether loosely or tightly) to provide uninterrupted playback. That is, the client must not run out of media segments (buffer underrun), and must not accept more media segments than it can buffer before playback (buffer overrun).</li>
            <li>Second, the client's media segment consumption rate is limited not only by the path's available bandwidth, but also by media segment availability. The client cannot fetch media segments that a media server cannot provide (yet).</li>
          </ul>
        </li>
        <li>"Media" refers to any type of media and associated streams such as video, audio, metadata, etc.</li>
      </ul>
      <section anchor="document-scope">
        <name>Document Scope</name>
        <t>A full review of all streaming media considerations for all types of media over all types of network paths is too broad a topic to cover comprehensively in a single document.</t>
        <t>This document focuses chiefly on large-scale delivery of streaming high-bitrate media to end users.
It is primarily intended for those controlling endpoints involved in delivering streaming media traffic.
This can include origin servers publishing content, intermediaries like content delivery networks (CDNs), and providers for client devices and media players.</t>
        <t>Most of the considerations covered in this document apply both to "live media" (created and streamed as an event is in progress) and "media on demand" (previously recorded media that is streamed from storage), except where noted.</t>
        <t>Most of the considerations covered in this document apply both to media that is consumed by a media player, for viewing by a human, and media that is consumed by a machine, such as a media recorder that is executing an ABR algorithm, except where noted.</t>
        <t>This document contains</t>
        <ul spacing="normal">
          <li>A short description of streaming video characteristics in <xref target="sd"/>, to set the stage for the rest of the document,</li>
          <li>General guidance on bandwidth provisioning (<xref target="bwprov"/>) and latency considerations (<xref target="latency-cons"/>) for streaming video delivery,</li>
          <li>A description of adaptive encoding and adaptive delivery techniques in common use for streaming video, along with a description of the challenges media senders face in detecting the bitrate available between the media sender and media receiver, and collection of measurements by a third party for use in analytics (<xref target="sec-abr"/>),</li>
          <li>A description of existing transport protocols used for video streaming and the issues encountered when using those protocols, along with a description of the QUIC transport protocol <xref target="RFC9000"/> more recently used for streaming media (<xref target="sec-trans"/>),</li>
          <li>A description of implications when streaming encrypted media (<xref target="stream-encrypt-media"/>), and</li>
          <li>Several pointers for further reading on this rapidly changing subject (<xref target="further"/>).</li>
        </ul>
        <t>Topics outside this scope include:</t>
        <ul spacing="normal">
          <li>in-depth examination of real-time two-way interactive media, such as video conferencing; although this document touches lightly on topics related to this space, the intent is to let readers know that for more in-depth coverage they should look to other documents, since the techniques and issues for interactive real-time two-way media differ so dramatically from those in large-scale one-way delivery of streaming media.</li>
          <li>specific recommendations on operational practices to mitigate issues described in this document; although some known mitigations are mentioned in passing, the primary intent is to provide a point of reference for future solution proposals to describe how new technologies address or avoid existing problems.</li>
          <li>generalized network performance techniques; while things like datacenter design and transit network design can be crucial dependencies for a performant streaming media service, these are considered independent topics better addressed by other documents.</li>
          <li>transparent tunnels; while tunnels can have an impact on streaming media via issues like the round trip time and the maximum transmission unit (MTU) of packets carried over tunnels, for the purposes of this document these issues are considered as part of the set of network path properties.</li>
        </ul>
        <t>It is worth pointing out explicitly, because questions about "Web Real-Time Communication" or "WebRTC" have come up often, that some WebRTC protocols (<xref target="RFC8834"/>, <xref target="RFC8835"/>) are mentioned in this document, including RTP, WebRTC's principal media transport protocol. However, (as noted in <xref target="sd"/>) it is difficult to give general guidance for unreliable media transport protocols used to carry interactive real-time media.</t>
      </section>
      <section anchor="notes-for-contributors-and-reviewers">
        <name>Notes for Contributors and Reviewers</name>
        <t>Note to RFC Editor: Please remove this section and its subsections
before publication.</t>
        <t>This section is to provide references to make it easier to review the
development and discussion on the draft so far.</t>
        <section anchor="venue">
          <name>Venues for Contribution and Discussion</name>
          <t>This document is in the GitHub repository at:</t>
          <t><eref target="https://github.com/ietf-wg-mops/draft-ietf-mops-streaming-opcons">https://github.com/ietf-wg-mops/draft-ietf-mops-streaming-opcons</eref></t>
          <t>Readers are welcome to open issues and send pull requests for this document.</t>
          <t>Substantial discussion of this document should take place on the MOPS working group mailing list (mops@ietf.org).</t>
          <ul spacing="normal">
            <li>Join: <eref target="https://www.ietf.org/mailman/listinfo/mops">https://www.ietf.org/mailman/listinfo/mops</eref></li>
            <li>Search: <eref target="https://mailarchive.ietf.org/arch/browse/mops/">https://mailarchive.ietf.org/arch/browse/mops/</eref></li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="sd">
      <name>Our Focus on Streaming Video</name>
      <t>As the Internet has grown, an increasingly large share of the traffic delivered to end users has become video.
The most recent available estimates found that 75% of the total traffic to end users was video in 2019 (as described in <xref target="RFC8404"/>, such traffic surveys have since become impossible to conduct due to ubiquitous encryption).
At that time, the share of video traffic had been growing for years and was projected to continue growing (Appendix D of <xref target="CVNI"/>).</t>
      <t>A substantial part of this growth is due to the increased use of streaming video. However, video traffic in real-time communications (for example, online videoconferencing) has also grown significantly.
While both streaming video and videoconferencing have real-time delivery and latency requirements, these requirements vary from one application to another.
For additional discussion of latency requirements, see <xref target="latency-cons"/>.</t>
      <t>In many contexts, video traffic can be handled transparently as
generic application-level traffic.  However, as the volume of
video traffic continues to grow, it is becoming increasingly
important to consider the effects of network design decisions
on application-level performance, with considerations for
the impact on video delivery.</t>
      <t>Much of the focus of this document is on media streaming over HTTP. HTTP is widely used for media streaming because</t>
      <ul spacing="normal">
        <li>support for HTTP is widely available in a wide range of operating systems,</li>
        <li>HTTP is also used in a wide variety of other applications,</li>
        <li>HTTP has been demonstrated to provide acceptable performance over the open Internet,</li>
        <li>HTTP includes state of the art standardized security mechanisms, and</li>
        <li>HTTP can use already-deployed caching infrastructure such as content delivery networks (CDN), local proxies, and browser caches.</li>
      </ul>
      <t>Various HTTP versions have been used for media delivery. HTTP/1.0, HTTP/1.1 and HTTP/2 are carried over TCP <xref target="I-D.ietf-tcpm-rfc793bis"/>, and TCP's transport behavior is described in <xref target="reliable-behavior"/>. HTTP/3 is carried over QUIC, and QUIC's transport behavior is described in <xref target="quic-behavior"/>.</t>
      <t>Unreliable media delivery using RTP and other UDP-based protocols is also discussed in <xref target="ultralow"/>, <xref target="unreliable-behavior"/>, and <xref target="hop-by-hop-encrypt"/>, but it is difficult to give general guidance for these applications. For instance, when packet loss occurs, the most appropriate response may depend on the type of codec being used.</t>
    </section>
    <section anchor="bwprov">
      <name>Bandwidth Provisioning</name>
      <section anchor="scaling">
        <name>Scaling Requirements for Media Delivery</name>
        <section anchor="bvr">
          <name>Video Bitrates</name>
          <t>Video bitrate selection depends on many variables including the resolution (height and width), frame rate, color depth, codec, encoding parameters, scene complexity and amount of motion. Generally speaking, as the resolution, frame rate, color depth, scene complexity and amount of motion increase, the encoding bitrate increases. As newer codecs with better compression tools are used, the encoding bitrate decreases. Similarly, a multi-pass encoding generally produces better quality output compared to single-pass encoding at the same bitrate or delivers the same quality at a lower bitrate.</t>
          <t>Here are a few common resolutions used for video content, with typical ranges of bitrates for the two most popular video codecs <xref target="Encodings"/>.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">Width x Height</th>
                <th align="left">H.264</th>
                <th align="left">H.265</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">DVD</td>
                <td align="left">720 x 480</td>
                <td align="left">1.0 Mbps</td>
                <td align="left">0.5 Mbps</td>
              </tr>
              <tr>
                <td align="left">720p (1K)</td>
                <td align="left">1280 x 720</td>
                <td align="left">3-4.5 Mbps</td>
                <td align="left">2-4 Mbps</td>
              </tr>
              <tr>
                <td align="left">1080p (2K)</td>
                <td align="left">1920 x 1080</td>
                <td align="left">6-8 Mbps</td>
                <td align="left">4.5-7 Mbps</td>
              </tr>
              <tr>
                <td align="left">2160p (4k)</td>
                <td align="left">3840 x 2160</td>
                <td align="left">N/A</td>
                <td align="left">10-20 Mbps</td>
              </tr>
            </tbody>
          </table>
          <ul spacing="normal">
            <li>Note that these codecs do not take the actual "available bandwidth" between streaming video servers and streaming video receivers into account when encoding, because the codec does not have any idea what network paths and network path conditions will carry the encoded video, at some point in the future.</li>
            <li>Note that video receivers attempting to receive encoded video across a network path with insufficient available path bandwidth might request the video server to provide video encoded for lower bitrates, as described in <xref target="adapt-deliver"/>.</li>
            <li>In order to provide multiple encodings for video resources, the codec must produce multiple versions of the video resource encoded at various bitrates, as described in <xref target="adapt-encode"/>.</li>
          </ul>
        </section>
        <section anchor="virtual-reality-bitrates">
          <name>Virtual Reality Bitrates</name>
          <t>The bitrates given in <xref target="bvr"/> describe video streams that provide the user with a single, fixed, point of view - so, the user has no "degrees of freedom," and the user sees all of the video image that is available.</t>
          <t>Even basic virtual reality (360-degree) videos that allow users to look around freely (referred to as "three degrees of freedom" or 3DoF) require substantially larger bitrates when they are captured and encoded as such videos require multiple fields of view of the scene. Yet, due to smart delivery methods such as viewport-based or tile-based streaming, there is no need to send the whole scene to the user. Instead, the user needs only the portion corresponding to its viewpoint at any given time (<xref target="Survey360o"/>).</t>
          <t>In more immersive applications, where limited user movement ("three degrees of freedom plus" or 3DoF+) or full user movement ("six degrees of freedom" or 6DoF) is allowed, the required bitrate grows even further. In this case, immersive content is typically referred to as volumetric media. One way to represent the volumetric media is to use point clouds, where streaming a single object may easily require a bitrate of 30 Mbps or higher. Refer to <xref target="MPEGI"/> and <xref target="PCC"/> for more details.</t>
        </section>
      </section>
      <section anchor="sec-band-constraints">
        <name>Path Bandwidth Constraints</name>
        <t>Even when the bandwidth requirements for video streams along a path are well understood, additional analysis is required to understand the constraints on bandwidth at various points in the network. This analysis is necessary because media servers may react to bandwidth constraints using two independent feedback loops:</t>
        <ul spacing="normal">
          <li>Media servers often respond to application-level feedback from the media player that indicates a bottleneck somewhere along the path by adjusting the number of media segments that the media server will send to the media player in a given timeframe. This is described in greater detail in <xref target="sec-abr"/>.</li>
          <li>Media servers also typically rely on transport protocols with capacity-seeking congestion controllers that probe for available path bandwidth and adjust the media segment sending rate based on transport mechanisms. This is described in greater detail in <xref target="sec-trans"/>.</li>
        </ul>
        <t>The result is that these two (potentially competing) "helpful" mechanisms each respond to the same bottleneck with no coordination between themselves, so that each is unaware of actions taken by the other, and this can result in QoE for users that is significantly lower than what could have been achieved.</t>
        <t>One might wonder why media servers and transport protocols are each unaware of what the other is doing, and there are multiple reasons for that. One reason is that media servers are often implemented as applications executing in user space, relying on a general-purpose operating system that typically has its transport protocols implemented in the operating system kernel, making decisions that the media server never knows about.</t>
        <t>In one example, if a media server overestimates the available bandwidth to the media player,</t>
        <ul spacing="normal">
          <li>the transport protocol detects loss due to congestion and reduces its sending window size per round trip,</li>
          <li>the media server adapts to application-level feedback from the media player and reduces its own sending rate,</li>
          <li>the transport protocol sends media segments at the new, lower rate and confirms that this new, lower rate is "safe" because no transport-level loss is occurring, but</li>
          <li>because the media server continues to send at the new, lower rate, the transport protocol's maximum sending rate is now limited by the amount of information the media server queues for transmission, so</li>
          <li>the transport protocol cannot probe for available path bandwidth by sending at a higher rate, until the media receiver signals the media server that the media server can increase its media segment sending rate.</li>
        </ul>
        <t>To avoid these types of situations, which can potentially affect all the users whose streaming media segments traverse a bottleneck, there are several possible mitigations that streaming operators can use. However, the first step toward mitigating a problem is knowing that a problem is occurring.</t>
        <section anchor="sec-know-your-traffic">
          <name>Recognizing Changes from a Baseline</name>
          <t>There are many reasons why path characteristics might change in normal operation, for example:</t>
          <ul spacing="normal">
            <li>If the path topology changes. For example, routing changes, which can happen in normal operation, may result in traffic being carried over a new path topology that that is partially or entirely disjoint from the previous path, especially if the new path topology includes one or more path segments that are more heavily loaded, offer lower total bandwidth, change the overall Path MTU size, or simply cover more distance between the path endpoints.</li>
            <li>If cross traffic that also traverses part or all of the same path topology increases or decreases, especially if this new cross traffic is "inelastic," and does not respond to indications of path congestion.</li>
            <li>Wireless links (Wi-Fi, 5G, LTE, etc.) may see rapid changes to capacity from changes in radio interference and signal strength as endpoints move.</li>
          </ul>
          <t>To recognize that a path carrying streaming media segments has experienced a change, maintaining a baseline that captures its prior properties is fundamental.
Analytics that aid in that recognition can be more or less sophisticated and can usefully operate on several different time scales, from milliseconds to hours or days.</t>
          <t>Useful properties to monitor for changes can include:</t>
          <ul spacing="normal">
            <li>round-trip times</li>
            <li>loss rate (and explicit congestion notification (ECN) (<xref target="RFC3168"/> when in use)</li>
            <li>out of order packet rate</li>
            <li>packet and byte receive rate</li>
            <li>application level goodput</li>
            <li>properties of other connections carrying competing traffic, in addition to the connections carrying the streaming media segments</li>
            <li>externally provided measurements, for example from network cards or metrics collected by the operating system</li>
          </ul>
        </section>
      </section>
      <section anchor="pathreq">
        <name>Path Requirements</name>
        <t>The bitrate requirements in <xref target="scaling"/> are per end user actively
consuming a media feed, so in the worst case, the bitrate demands
can be multiplied by the number of simultaneous users to find the bandwidth
requirements for a delivery path with that
number of users downstream. For example, at a node with 10,000
downstream users simultaneously consuming video streams,
approximately 80 Gbps might be necessary for all of them
to get typical content at 1080p resolution.</t>
        <t>However, when there is some overlap in the feeds being consumed by
end users, it is sometimes possible to reduce the bandwidth
provisioning requirements for the network by performing some kind
of replication within the network.  This can be achieved via object
caching with the delivery of replicated objects over individual
connections and/or by packet-level replication using multicast.</t>
        <t>To the extent that replication of popular content can be performed,
bandwidth requirements at peering or ingest points can be reduced to
as low as a per-feed requirement instead of a per-user requirement.</t>
      </section>
      <section anchor="caching">
        <name>Caching Systems</name>
        <t>When demand for content is relatively predictable, and especially when that content is relatively static, caching content close to requesters and pre-loading caches to respond quickly to initial requests is often useful (for example, HTTP/1.1 caching is described in <xref target="I-D.ietf-httpbis-cache"/>). This is subject to the usual considerations for caching - for example, how much data must be cached to make a significant difference to the requester and how the benefits of caching and pre-loading caches balances against the costs of tracking stale content in caches and refreshing that content.</t>
        <t>It is worth noting that not all high-demand content is "live" content. One relevant example is when popular streaming content can be staged close to a significant number of requesters, as can happen when a new episode of a popular show is released. This content may be largely stable, so low-cost to maintain in multiple places throughout the Internet. This can reduce demands for high end-to-end bandwidth without having to use mechanisms like multicast.</t>
        <t>Caching and pre-loading can also reduce exposure to peering point congestion, since less traffic crosses the peering point exchanges if the caches are placed in peer networks, especially when the content can be pre-loaded during off-peak hours, and especially if the transfer can make use of "Lower-Effort Per-Hop Behavior (LE PHB) for Differentiated Services" <xref target="RFC8622"/>, "Low Extra Delay Background Transport (LEDBAT)" <xref target="RFC6817"/>, or similar mechanisms.</t>
        <t>All of this depends, of course, on the ability of a media provider  to predict usage and provision bandwidth, caching, and other mechanisms to meet the needs of users. In some cases (<xref target="sec-predict"/>), this is relatively routine, but in other cases, it is more difficult (<xref target="sec-unpredict"/>).</t>
        <t>And as with other parts of the ecosystem, new technology brings new challenges. For example, with the emergence of ultra-low-latency streaming, responses have to start streaming to the end user while still being transmitted to the cache, and while the cache does not yet know the size of the object.  Some of the popular caching systems were designed around cache footprint and had deeply ingrained assumptions about knowing the size of objects that are being stored, so the change in design requirements in long-established systems caused some errors in production.  Incidents occurred where a transmission error in the connection from the upstream source to the cache could result in the cache holding a truncated segment and transmitting it to the end user's device. In this case, players rendering the stream often had the video freeze until the player was reset.  In some cases the truncated object was even cached that way and served later to other players as well, causing continued stalls at the same spot in the video for all players playing the segment delivered from that cache node.</t>
      </section>
      <section anchor="sec-predict">
        <name>Predictable Usage Profiles</name>
        <t>Historical data shows that users consume more videos and these videos are encoded at a higher bitrate than they were in the past. Improvements in the codecs that help reduce the encoding bitrates with better compression algorithms could not have offset the increase in the demand for the higher quality video (higher resolution, higher frame rate, better color gamut, better dynamic range, etc.). In particular, mobile data usage has shown a large jump over the years due to increased consumption of entertainment and conversational video.</t>
      </section>
      <section anchor="sec-unpredict">
        <name>Unpredictable Usage Profiles</name>
        <t>It is also possible for usage profiles to change significantly and suddenly. These changes are more difficult to plan for, but at a minimum, recognizing that sudden changes are happening is critical.</t>
        <t>Two examples are instructive.</t>
        <section anchor="p2p">
          <name>Peer-to-peer Applications</name>
          <t>In the first example, described in "Report from the IETF Workshop on Peer-to-Peer (P2P) Infrastructure, May 28, 2008" (<xref target="RFC5594"/>), when the BitTorrent filesharing application came into widespread use in 2005, sudden and unexpected growth in peer-to-peer traffic led to complaints from ISP customers about the performance of delay-sensitive traffic (VoIP and gaming). These performance issues resulted from at least two causes:</t>
          <ul spacing="normal">
            <li>Many access networks for end users used underlying technologies that are inherently asymmetric, favoring downstream bandwidth (e.g. ADSL, cellular technologies, most IEEE 802.11 variants), assuming that most users will need more downstream bandwidth than upstream bandwidth. This is a good assumption for client-server applications such as streaming video or software downloads, but BitTorrent rewarded peers that uploaded as much as they downloaded, so BitTorrent users had much more symmetric usage profiles which interacted badly with these assymetric access network technologies.</li>
            <li>BitTorrent also used distributed hash tables to organize peers into a ring topology, where each peer knew its "next peer" and "previous peer". There was no connection between the application-level ring topology and the lower-level network topology, so a peer's "next peer" might be anywhere on the reachable Internet. Traffic models that expected most communication to take place with a relatively small number of servers were unable to cope with peer-to-peer traffic that was much less predictable.</li>
          </ul>
          <t>Especially as end users increase use of video-based social networking applications, it will be helpful for access network providers to watch for increasing numbers of end users uploading significant amounts of content.</t>
        </section>
        <section anchor="impact-of-global-pandemic">
          <name>Impact of Global Pandemic</name>
          <t>Early in 2020, the CoViD-19 pandemic and resulting quarantines and shutdowns led to significant changes in traffic patterns, due to a large number of people who suddenly started working and attending school remotely and using more interactive applications (video conferencing, in addition to streaming media). Subsequently, the Internet Architecture Board (IAB) held a COVID-19 Network Impacts Workshop <xref target="IABcovid"/> in November 2020. The following observations from the workshop report are worth considering.</t>
          <ul spacing="normal">
            <li>Participants describing different types of networks reported different kinds of impacts, but all types of networks saw impacts.</li>
            <li>Mobile networks saw traffic reductions and residential networks saw significant increases.</li>
            <li>Reported traffic increases from ISPs and Internet Exchange Points (IXP) over just a few weeks were as big as the traffic growth over the course of a typical year, representing a 15-20% surge in growth to land at a new normal that was much higher than anticipated.</li>
            <li>At DE-CIX Frankfurt, the world's largest Internet Exchange Point in terms of data throughput, the year 2020 has seen the largest increase in peak traffic within a single year since the IXP was founded in 1995.</li>
            <li>The usage pattern changed significantly as work-from-home and videoconferencing usage peaked during normal work hours, which would have typically been off-peak hours with adults at work and children at school. One might expect that the peak would have had more impact on networks if it had happened during typical evening peak hours for video streaming applications.</li>
            <li>The increase in daytime bandwidth consumption reflected both significant increases in essential applications such as videoconferencing and virtual private networks (VPN), and entertainment applications as people watched videos or played games.</li>
            <li>At the IXP level, it was observed that physical link utilization increased. This phenomenon could probably be explained by a higher level of uncacheable traffic such as videoconferencing and VPNs from residential users as they stopped commuting and switched to work-at-home.</li>
          </ul>
          <t>Again, it will be helpful for streaming operators to monitor traffic as described in <xref target="measure-coll"/>, watching for sudden changes in performance.</t>
        </section>
      </section>
    </section>
    <section anchor="latency-cons">
      <name>Latency Considerations</name>
      <t>Streaming media latency refers to the "glass-to-glass" time duration, which is the delay between the real-life occurrence of an event and the streamed media being appropriately displayed on an end user's device.  Note that this is different from the network latency (defined as the time for a packet to cross a network from one end to another end) because it includes video encoding/decoding and buffering time, and for most cases also the ingest to an intermediate service such as a CDN or other video distribution service, rather than a direct connection to an end user.</t>
      <t>The team working on this document found these rough categories to be useful when considering a streaming media application's latency requirements:</t>
      <ul spacing="normal">
        <li>ultra-low-latency    (less than 1 second)</li>
        <li>low-latency live     (less than 10 seconds)</li>
        <li>non-low-latency live (10 seconds to a few minutes)</li>
        <li>on-demand            (hours or more)</li>
      </ul>
      <section anchor="ultralow">
        <name>Ultra-Low-Latency</name>
        <t>Ultra-low-latency delivery of media is defined here as having a glass-to-glass delay target under one second.</t>
        <t>Some media content providers aim to achieve this level of latency for live media events. This introduces new challenges relative to less-restricted levels of latency requirements because this latency is the same scale as commonly observed end-to-end network latency variation (for example, due to effects such as bufferbloat (<xref target="CoDel"/>), Wi-Fi error correction, or packet reordering). These effects can make it difficult to achieve this level of latency for the general case, and may require tradeoffs in relatively frequent user-visible media artifacts. However, for controlled environments or targeted networks that provide mitigations against such effects, this level of latency is potentially achievable with the right provisioning.</t>
        <t>Applications requiring ultra-low latency for media delivery are usually tightly constrained on the available choices for media transport technologies and sometimes may need to operate in controlled environments to reliably achieve their latency and quality goals.</t>
        <t>Most applications operating over IP networks and requiring latency this low use the Real-time Transport Protocol (RTP) <xref target="RFC3550"/> or WebRTC <xref target="RFC8825"/>, which uses RTP as its Media Transport Protocol, along with several other protocols necessary for safe operation in browsers.</t>
        <t>Worth noting is that many applications for ultra-low-latency delivery do not need to scale to more than a few users at a time, which simplifies many delivery considerations relative to other use cases.</t>
        <t>Recommended reading for applications adopting an RTP-based approach also includes <xref target="RFC7656"/>. For increasing the robustness of the playback by implementing adaptive playout methods, refer to <xref target="RFC4733"/> and <xref target="RFC6843"/>.</t>
        <section anchor="near-realtime-latency">
          <name>Near-Realtime Latency</name>
          <t>Some internet applications that incorporate media streaming have specific interactivity or control-feedback requirements that drive much lower glass-to-glass media latency targets than one second.
These include videoconferencing or voice calls, remote video gameplay, remote control of hardware platforms like drones, vehicles, or surgical robots, and many other envisioned or deployed interactive applications.</t>
          <t>Applications with latency targets in these regimes are out of scope for this document.</t>
        </section>
      </section>
      <section anchor="low-latency-live">
        <name>Low-Latency Live</name>
        <t>Low-latency live delivery of media is defined here as having a glass-to-glass delay target under 10 seconds.</t>
        <t>This level of latency is targeted to have a user experience similar to traditional broadcast TV delivery.  A frequently cited problem with failing to achieve this level of latency for live sporting events is the user experience failure from having crowds within earshot of one another who react audibly to an important play, or from users who learn of an event in the match via some other channel, for example, social media, before it has happened on the screen showing the sporting event.</t>
        <t>Applications requiring low-latency live media delivery are generally feasible at scale with some restrictions.  This typically requires the use of a premium service dedicated to the delivery of live video, and some tradeoffs may be necessary relative to what is feasible in a higher latency service. The tradeoffs may include higher costs, delivering a lower quality video, reduced flexibility for adaptive bitrates or reduced flexibility for available resolutions so that fewer devices can receive an encoding tuned for their display. Low-latency live delivery is also more susceptible to user-visible disruptions due to transient network conditions than higher latency services.</t>
        <t>Implementation of a low-latency live video service can be achieved with the use of low-latency extensions of HLS (called LL-HLS) <xref target="I-D.draft-pantos-hls-rfc8216bis"/> and DASH (called LL-DASH) <xref target="LL-DASH"/>. These extensions use the Common Media Application Format (CMAF) standard <xref target="MPEG-CMAF"/> that allows the media to be packaged into and transmitted in units smaller than segments, which are called chunks in CMAF language. This way, the latency can be decoupled from the duration of the media segments. Without a CMAF-like packaging, lower latencies can only be achieved by using very short segment durations. However, using shorter segments means using more frequent intra-coded frames and that is detrimental to video encoding quality. CMAF allows us to still use longer segments (improving encoding quality) without penalizing latency.</t>
        <t>While an LL-HLS client retrieves each chunk with a separate HTTP GET request, an LL-DASH client uses the chunked transfer encoding feature of the HTTP <xref target="CMAF-CTE"/> which allows the LL-DASH client to fetch all the chunks belonging to a segment with a single GET request. An HTTP server can transmit the CMAF chunks to the LL-DASH client as they arrive from the encoder/packager. A detailed comparison of LL-HLS and LL-DASH is given in <xref target="MMSP20"/>.</t>
      </section>
      <section anchor="non-low-latency-live">
        <name>Non-Low-Latency Live</name>
        <t>Non-low-latency live delivery of media is defined here as a live stream that does not have a latency target shorter than 10 seconds.</t>
        <t>This level of latency is the historically common case for segmented video delivery using HLS <xref target="RFC8216"/> and DASH <xref target="MPEG-DASH"/>. This level of latency is often considered adequate for content like news or pre-recorded content.  This level of latency is also sometimes achieved as a fallback state when some part of the delivery system or the client-side players do not have the necessary support for the features necessary to support low-latency live streaming.</t>
        <t>This level of latency can typically be achieved at scale with commodity CDN services for HTTP(s) delivery, and in some cases, the increased time window can allow for the production of a wider range of encoding options relative to the requirements for a lower latency service without the need for increasing the hardware footprint, which can allow for wider device interoperability.</t>
      </section>
      <section anchor="on-demand">
        <name>On-Demand</name>
        <t>On-demand media streaming refers to the playback of pre-recorded media based on a user's action.  In some cases, on-demand media is produced as a by-product of a live media production, using the same segments as the live event, but freezing the manifest that describes the media available from the media server after the live event has finished.  In other cases, on-demand media is constructed out of pre-recorded assets with no streaming necessarily involved during the production of the on-demand content.</t>
        <t>On-demand media generally is not subject to latency concerns, but other timing-related considerations can still be as important or even more important to the user experience than the same considerations with live events.  These considerations include the startup time, the stability of the media stream's playback quality, and avoidance of stalls and video artifacts during the playback under all but the most severe network conditions.</t>
        <t>In some applications, optimizations are available to on-demand video that are not always available to live events, such as pre-loading the first segment for a startup time that doesn't have to wait for a network download to begin.</t>
      </section>
    </section>
    <section anchor="sec-abr">
      <name>Adaptive Encoding, Adaptive Delivery, and Measurement Collection</name>
      <t>This section describes one of the best known ways to provide a good user experience over a given network path, but one thing to keep in mind is that application-level mechanisms cannot provide a better experience than the underlying network path can support.</t>
      <section anchor="abr-overview">
        <name>Overview</name>
        <t>A simple model of video playback can be described as a video stream consumer, a buffer, and a transport mechanism that fills the buffer.
The consumption rate is fairly static and is represented by the content bitrate.
The size of the buffer is also commonly a fixed size.
The fill process needs to be at least fast enough to ensure that the buffer is never empty, however, it also can have significant complexity when things like personalization or advertising insertion workflows are introduced.</t>
        <t>The challenges in filling the buffer in a timely way fall into two broad categories:</t>
        <ul spacing="normal">
          <li>Content selection comprises all of the steps needed to determine which content variation to offer the client.</li>
          <li>Content variation is the number of content options that exist at any given selection point.</li>
        </ul>
        <t>The mechanism used to select the bitrate is part of the content selection, and the content variation are all of the different bitrate renditions.</t>
        <t>Adaptive bitrate streaming ("ABR streaming", or simply "ABR") is a commonly used technique for dynamically adjusting the compression level and video quality of a stream to match bandwidth availability. When this goal is achieved, the media server will tend to send enough media that the media player does not "stall", without sending so much media that the media player cannot accept it without exhausting all available receive buffers.</t>
        <t>ABR uses an application-level response strategy in which the streaming client attempts to detect the available bandwidth of the network path by first observing the successful application-layer download speed, and then, given the available bandwidth, the client chooses a bitrate for each of the video, audio, subtitles and metadata (among a limited number of available options for each type of media) that fits within that bandwidth, typically adjusting as changes in available bandwidth occur in the network or changes in capabilities occur during the playback (such as available memory, CPU, display size, etc.).</t>
      </section>
      <section anchor="adapt-encode">
        <name>Adaptive Encoding</name>
        <t>Media servers can provide media streams at various bitrates because the media has been encoded at various bitrates. This is a so-called "ladder" of bitrates that can be offered to media players as part of the manifest, so that the media player can select among the available bitrate choices.</t>
        <t>The media server may also choose to alter which bitrates are made available to players by adding or removing bitrate options from the ladder delivered to the player in subsequent manifests built and sent to the player. This way, both the player, through its selection of bitrate to request from the manifest, and the server, through its construction of the bitrates offered in the manifest, are able to affect network utilization.</t>
      </section>
      <section anchor="adapt-deliver">
        <name>Adaptive Segmented Delivery</name>
        <t>ABR playback is commonly implemented by streaming clients using HLS <xref target="RFC8216"/> or DASH <xref target="MPEG-DASH"/> to perform a reliable segmented delivery of media over HTTP. Different implementations use different strategies <xref target="ABRSurvey"/>, often relying on proprietary algorithms (called rate adaptation or bitrate selection algorithms) to perform available bandwidth estimation/prediction and the bitrate selection.</t>
        <t>Many systems will do an initial probe or a very simple throughput speed test at the start of video playback. This is done to get a rough sense of the highest video bitrate in the ABR ladder that the network between the server and player will likely be able to provide under initial network conditions. After the initial testing, clients tend to rely upon passive network observations and will make use of player side statistics such as buffer fill rates to monitor and respond to changing network conditions.</t>
        <t>The choice of bitrate occurs within the context of optimizing for one or more metrics monitored by the client, such as the highest achievable video quality or lowest chances for a rebuffering event (playback stall).</t>
      </section>
      <section anchor="advertising">
        <name>Advertising</name>
        <t>The inclusion of advertising alongside or interspersed with streaming media content is common in today's media landscape.</t>
        <t>Some commonly used forms of advertising can introduce potential user experience issues for a media stream.
This section provides a very brief overview of a complex and rapidly evolving space.</t>
        <t>The same techniques used to allow a media player to switch between renditions of different bitrates at segment or chunk boundaries can also be used to enable the dynamic insertion of advertisements (hereafter referred to as "ads"), but this does not mean that the insertion of ads has no effect on the user's quality of experience.</t>
        <t>Ads may be inserted either with Client-side Ad Insertion (CSAI) or Server-side Ad Insertion (SSAI).
- In CSAI, the ABR manifest will generally include links to an external ad server for some segments of the media stream, while in SSAI the server will remain the same during advertisements, but will include media segments that contain the advertising.
- In SSAI, the media segments may or may not be sourced from an external ad server like with CSAI.</t>
        <t>In general, the more targeted the ad request is, the more requests the ad service needs to be able to handle concurrently.
If connectivity is poor to the ad service, this can cause rebuffering even if the underlying video assets (both content and ads) can be accessed quickly.
The less targeted the ad request is, the more likely that ad requests can be consolidated, and that ads can be cached similarly to the video content.</t>
        <t>In some cases, especially with SSAI, advertising space in a stream is reserved for a specific advertiser and can be integrated with the video so that the segments share the same encoding properties such as bitrate, dynamic range, and resolution.
However, in many cases, ad servers integrate with a Supply Side Platform (SSP) that offers advertising space in real-time auctions via an Ad Exchange, with bids for the advertising space coming from Demand Side Platforms (DSPs) that collect money from advertisers for delivering the advertisements.
Most such Ad Exchanges use application-level protocol specifications published by the Interactive Advertising Bureau <xref target="IAB-ADS"/>, an industry trade organization.</t>
        <t>This ecosystem balances several competing objectives, and integrating with it naively can produce surprising user experience results.
For example, ad server provisioning and/or the bitrate of the ad segments might be different from that of the main video, and either of these differences can result in video stalls.
For another example, since the inserted ads are often produced independently, they might have a different base volume level than the main video, which can make for a jarring user experience.</t>
        <t>Another major source of competing objectives comes from user privacy considerations vs. the advertiser's incentives to target ads to user segments based on behavioral data.
Multiple studies, for example <xref target="BEHAVE"/> and <xref target="BEHAVE2"/>, have reported large improvements in ad effectiveness when using behaviorally targeted ads, relative to untargeted ads.
This provides a strong incentive for advertisers to gain access to the data necessary to perform behavioral targeting, leading some to engage in what is indistinguishable from a pervasive monitoring attack (<xref target="RFC7258"/>) based on user tracking in order to collect the relevant data,
A more complete review of issues in this space is available in <xref target="BALANCING"/>.</t>
        <t>On top of these competing objectives, this market historically has had incidents of misreporting of ad delivery to end users for financial gain <xref target="ADFRAUD"/>.
As a mitigation for concerns driven by those incidents, some SSPs have required the use of specific media players that include features like reporting of ad delivery, or providing additional user information that can be used for tracking.</t>
        <t>In general, this is a rapidly developing space with many considerations, and media streaming operators engaged in advertising may need to research these and other concerns to find solutions that meet their user experience, user privacy, and financial goals.
For further reading on mitigations, <xref target="BAP"/> has published some standards and best practices based on user experience research.</t>
      </section>
      <section anchor="bitrate-detection-challenges">
        <name>Bitrate Detection Challenges</name>
        <t>This kind of bandwidth-measurement system can experience trouble in several ways that are affected by networking and transport protocol issues.
Because adaptive application-level response strategies are often using rates as observed by the application layer, there are sometimes inscrutable transport-level protocol behaviors that can produce surprising measurement values when the application-level feedback loop is interacting with a transport-level feedback loop.</t>
        <t>A few specific examples of surprising phenomena that affect bitrate detection measurements are described in the following subsections.
As these examples will demonstrate, it is common to encounter cases that can deliver application-level measurements that are too low, too high, and (possibly) correct but varying more quickly than a lab-tested selection algorithm might expect.</t>
        <t>These effects and others that cause transport behavior to diverge from lab modeling can sometimes have a significant impact on bitrate selection and on user QoE, especially where players use naive measurement strategies and selection algorithms that don't account for the likelihood of bandwidth measurements that diverge from the true path capacity.</t>
        <section anchor="idle-time">
          <name>Idle Time between Segments</name>
          <t>When the bitrate selection is chosen substantially below the available capacity of the network path, the response to a segment request will typically complete in much less absolute time than the duration of the requested segment, leaving significant idle time between segment downloads. This can have a few surprising consequences:</t>
          <ul spacing="normal">
            <li>TCP slow-start when restarting after idle requires multiple RTTs to re-establish a throughput at the network's available capacity.  When the active transmission time for segments is substantially shorter than the time between segments, leaving an idle gap between segments that triggers a restart of TCP slow-start, the estimate of the successful download speed coming from the application-visible receive rate on the socket can thus end up much lower than the actual available network capacity.  This, in turn, can prevent a shift to the most appropriate bitrate. <xref target="RFC7661"/> provides some mitigations for this effect at the TCP transport layer for senders who anticipate a high incidence of this problem.</li>
            <li>Mobile flow-bandwidth spectrum and timing mapping can be impacted by idle time in some networks. The carrier capacity assigned to a physical or virtual link can vary with activity. Depending on the idle time characteristics, this can result in a lower available bitrate than would be achievable with a steadier transmission in the same network.</li>
          </ul>
          <t>Some receiver-side ABR algorithms such as <xref target="ELASTIC"/> are designed to try to avoid this effect.</t>
          <t>Another way to mitigate this effect is by the help of two simultaneous TCP connections, as explained in <xref target="MMSys11"/> for Microsoft Smooth Streaming. In some cases, the system-level TCP slow-start restart can also be disabled, for example, as described in <xref target="OReilly-HPBN"/>.</t>
        </section>
        <section anchor="noisy-measurements">
          <name>Noisy Measurements</name>
          <t>In addition to smoothing over an appropriate time scale to handle network jitter (see <xref target="RFC5481"/>), ABR systems relying on measurements at the application layer also have to account for noise from the in-order data transmission at the transport layer.</t>
          <t>For instance, in the event of a lost packet on a TCP connection with SACK
support (a common case for segmented delivery in practice), loss
of a packet can provide a confusing bandwidth signal to the
receiving application.  Because of the sliding window in TCP,
many packets may be accepted by the receiver without being available
to the application until the missing packet arrives.  Upon the arrival
of the one missing packet after retransmit, the receiver will
suddenly get access to a lot of data at the same time.</t>
          <t>To a receiver measuring bytes received per unit time at the
application layer and interpreting it as an estimate of the
available network bandwidth, this appears as a high jitter in
the goodput measurement, presenting as a stall followed by a sudden leap that can far exceed the actual
capacity of the transport path from the server when the hole in
the received data is filled by a later retransmission.</t>
        </section>
        <section anchor="wide-and-rapid-variation-in-path-capacity">
          <name>Wide and Rapid Variation in Path Capacity</name>
          <t>As many end devices have moved to wireless connections for the final hop (such as Wi-Fi, 5G, LTE, etc.), new problems in bandwidth detection have emerged.</t>
          <t>In most real-world operating environments, wireless links can often experience sudden changes in capacity as the end user device moves from place to place or encounters new sources of interference.
Microwave ovens, for example, can cause a throughput degradation in Wi-Fi of more than a factor of 2 while active <xref target="Micro"/>.</t>
          <t>These swings in actual transport capacity can result in user experience issues when interacting with ABR algorithms that aren't tuned to handle the capacity variation gracefully.</t>
        </section>
      </section>
      <section anchor="measure-coll">
        <name>Measurement Collection</name>
        <t>Media players use measurements to guide their segment-by-segment adaptive streaming requests, but may also provide measurements to streaming media providers.</t>
        <t>In turn, media providers may base analytics on these measurements, to guide decisions such as whether adaptive encoding bitrates in use are the best ones to provide to media players, or whether current media content caching is providing the best experience for viewers.</t>
        <t>To that effect, the Consumer Technology Association (CTA), who owns the Web Application Video Ecosystem (WAVE) project, has published two important specifications.</t>
        <ul spacing="normal">
          <li>CTA-2066: Streaming Quality of Experience Events, Properties and Metrics</li>
        </ul>
        <t><xref target="CTA-2066"/> specifies a set of media player events, properties, QoE metrics and associated terminology for representing streaming media QoE across systems, media players and analytics vendors. While all these events, properties, metrics and associated terminology are used across a number of proprietary analytics and measurement solutions, they were used in slightly (or vastly) different ways that led to interoperability issues. CTA-2066 attempts to address this issue by defining a common terminology as well as how each metric should be computed for consistent reporting.</t>
        <ul spacing="normal">
          <li>CTA-5004: Common Media Client Data (CMCD)</li>
        </ul>
        <t>Many assume that the CDNs have a holistic view of the health and performance of the streaming clients. However, this is not the case. The CDNs produce millions of log lines per second across hundreds of thousands of clients and they have no concept of a "session" as a client would have, so CDNs are decoupled from the metrics the clients generate and report. A CDN cannot tell which request belongs to which playback session, the duration of any media object, the bitrate, or whether any of the clients have stalled and are rebuffering or are about to stall and will rebuffer. The consequence of this decoupling is that a CDN cannot prioritize delivery for when the client needs it most, prefetch content, or trigger alerts when the network itself may be underperforming. One approach to couple the CDN to the playback sessions is for the clients to communicate standardized media-relevant information to the CDNs while they are fetching data. <xref target="CTA-5004"/> was developed exactly for this purpose.</t>
      </section>
    </section>
    <section anchor="sec-trans">
      <name>Transport Protocol Behaviors and Their Implications for Media Transport Protocols</name>
      <t>Within this document, the term "Media Transport Protocol" is used to describe any protocol that carries media metadata and media segments in its payload, and the term "Transport Protocol" describes any protocol that carries a Media Transport Protocol, or another Transport Protocol, in its payload. This is easier to understand if the reader assumes a protocol stack that looks something like this:</t>
      <artwork><![CDATA[
          Media Segments
    ---------------------------
           Media Format
    ---------------------------
      Media Transport Protocol
    ---------------------------
       Transport Protocol(s)
]]></artwork>
      <t>where</t>
      <ul spacing="normal">
        <li>"Media Segments" would be something like the output of a codec, or some other source of media segments, such as closed-captioning,</li>
        <li>"Media Format" would be something like an RTP payload format <xref target="RFC2736"/> or an ISOBMFF <xref target="ISOBMFF"/> profile,</li>
        <li>"Media Transport Protocol" would be something like RTP <xref target="RFC3550"/> or DASH <xref target="MPEG-DASH"/>, and</li>
        <li>"Transport Protocol" would be a protocol that provides appropriate transport services, as described in Section 5 of <xref target="RFC8095"/>.</li>
      </ul>
      <t>Not all possible streaming media applications follow this model, but for the ones that do, it seems useful to distinguish between the protocol layer that is aware it is transporting media segments, and underlying protocol layers that are not aware.</t>
      <t>As described in the <xref target="RFC8095"/> Abstract, the IETF has standardized a number of protocols that provide transport services. Although these protocols, taken in total, provide a wide variety of transport services, <xref target="sec-trans"/> will distinguish between two extremes:</t>
      <ul spacing="normal">
        <li>Transport protocols used to provide reliable, in-order media delivery to an endpoint, typically providing flow control and congestion control (<xref target="reliable-behavior"/>) and</li>
        <li>Transport protocols used to provide unreliable, unordered media delivery to an endpoint, without flow control or congestion control (<xref target="unreliable-behavior"/>).</li>
      </ul>
      <t>Because newly standardized transport protocols such as QUIC <xref target="RFC9000"/> that are typically implemented in userspace can evolve their transport behavior more rapidly than currently-used transport protocols that are typically implemented in operating system kernel space, this document includes a description of how the path characteristics that streaming media providers may see are likely to evolve in <xref target="quic-behavior"/>.</t>
      <t>It is worth noting explicitly that the Transport Protocol layer might include more than one protocol. For example, a specific Media Transport Protocol might run over HTTP, or over WebTransport, which in turn runs over HTTP.</t>
      <t>It is worth noting explicitly that more complex network protocol stacks are certainly possible - for instance, when packets with this protocol stack are carried in a tunnel or in a VPN, the entire packet  would likely appear in the payload of other protocols. If these environments are present, streaming media operators may need to analyze their effects on applications as well.</t>
      <section anchor="reliable-behavior">
        <name>Media Transport Over Reliable Transport Protocols</name>
        <t>The HLS <xref target="RFC8216"/> and DASH <xref target="MPEG-DASH"/> media transport protocols are typically carried over HTTP, and HTTP has used TCP as its only standardized transport protocol until HTTP/3 <xref target="RFC9114"/>. These media transport protocols use ABR response strategies as described in <xref target="sec-abr"/> to respond to changing path characteristics, and underlying transport protocols are also attempting to respond to changing path characteristics.</t>
        <t>The past success of the largely TCP-based Internet is evidence that the various flow control and congestion control mechanisms TCP has used to achieve equilibrium quickly, at a point where TCP senders do not interfere with other TCP senders for sustained periods of time (<xref target="RFC5681"/>), have been largely successful. The Internet has continued to work even when the specific TCP mechanisms used to reach equilibrium changed over time (<xref target="RFC7414"/>). Because TCP provided a common tool to avoid contention, even when significant TCP-based applications like FTP were largely replaced by other significant TCP-based applications like HTTP, the transport behavior remained safe for the Internet.</t>
        <t>Modern TCP implementations (<xref target="I-D.ietf-tcpm-rfc793bis"/>) continue to probe for available bandwidth, and "back off" when a network path is saturated, but may also work to avoid growing queues along network paths, which can prevent older TCP senders from detecting quickly when a network path is becoming saturated. Congestion control mechanisms such as COPA <xref target="COPA18"/> and BBR <xref target="I-D.cardwell-iccrg-bbr-congestion-control"/> make these decisions based on measured path delays, assuming that if the measured path delay is increasing, the sender is injecting packets onto the network path faster than the network can forward them (or the receiver can accept them) so the sender should adjust its sending rate accordingly.</t>
        <t>Although common TCP behavior has changed significantly since the days of <xref target="Jacobson-Karels"/> and <xref target="RFC2001"/>, even adding new congestion controllers such as CUBIC <xref target="RFC8312"/>, the common practice of implementing TCP as part of an operating system kernel has acted to limit how quickly TCP behavior can change. Even with the widespread use of automated operating system update installation on many end-user systems, streaming media providers could have a reasonable expectation that they could understand TCP transport protocol behaviors, and that those behaviors would remain relatively stable in the short term.</t>
      </section>
      <section anchor="unreliable-behavior">
        <name>Media Transport Over Unreliable Transport Protocols</name>
        <t>Because UDP does not provide any feedback mechanism to senders to help limit impacts on other users, UDP-based application-level protocols have been responsible for the decisions that TCP-based applications have delegated to TCP - what to send, how much to send, and when to send it. Because UDP itself has no transport-layer feedback mechanisms, UDP-based applications that send and receive substantial amounts of information are expected to provide their own feedback mechanisms, and to respond to the feedback the application receives. This expectation is most recently codified as a Best Current Practice <xref target="RFC8085"/>.</t>
        <t>In contrast to adaptive segmented delivery over a reliable transport as described in <xref target="adapt-deliver"/>, some applications deliver streaming media segments using an unreliable transport, and rely on a variety of approaches, including:</t>
        <ul spacing="normal">
          <li>raw MPEG Transport Stream ("MPEG-TS")-formatted video <xref target="MPEG-TS"/> over UDP, which makes no attempt to account for reordering or loss in the transport,</li>
          <li>RTP <xref target="RFC3550"/>, which can notice packetloss and repair some limited reordering,</li>
          <li>SCTP <xref target="RFC9260"/>, which can use partial reliability <xref target="RFC3758"/> to recover from some loss, but can abandon recovery to limit head-of-line blocking, and</li>
          <li>SRT <xref target="SRT"/>, which can use forward error correction and time-bound retransmission to recover from loss within certain limits, but can abandon recovery to limit head-of-line blocking.</li>
        </ul>
        <t>Under congestion and loss, approaches like the above generally experience transient video artifacts more often and delay of playback effects less often, as compared with reliable segment transport. Often one of the key goals of using a UDP-based transport that allows some unreliability is to reduce latency and better support applications like videoconferencing, or for other live-action video with interactive components, such as some sporting events.</t>
        <t>Congestion avoidance strategies for deployments using unreliable transport protocols vary widely in practice, ranging from being entirely unresponsive to congestion, to using feedback signaling to change encoder settings (as in <xref target="RFC5762"/>), to using fewer enhancement layers (as in <xref target="RFC6190"/>), to using proprietary methods to detect QoE issues and turn off video to allow less bandwidth-intensive media such as audio to be delivered.</t>
        <t>RTP relies on RTCP Sender and Receiver Reports <xref target="RFC3550"/> as its own feedback mechanism, and even includes Circuit Breakers for Unicast RTP Sessions <xref target="RFC8083"/> for situations when normal RTP congestion control has not been able to react sufficiently to RTP flows sending at rates that result in sustained packet loss.</t>
        <t>The notion of "Circuit Breakers" has also been applied to other UDP applications in <xref target="RFC8084"/>, such as tunneling packets over UDP that are potentially not congestion-controlled (for example, "Encapsulating MPLS in UDP," as described in <xref target="RFC7510"/>). If streaming media segments are carried in tunnels encapsulated in UDP, these media streams may encounter "tripped circuit breakers," with resulting user-visible impacts.</t>
      </section>
      <section anchor="quic-behavior">
        <name>QUIC and Changing Transport Protocol Behavior</name>
        <t>The QUIC protocol, developed from a proprietary protocol into an IETF standards-track protocol <xref target="RFC9000"/>, turns many of the statements made in <xref target="reliable-behavior"/> and <xref target="unreliable-behavior"/>  on their heads.</t>
        <t>Although QUIC provides an alternative to the TCP and UDP transport protocols, QUIC is itself encapsulated in UDP. As noted elsewhere in <xref target="gen-encrypt"/>, the QUIC protocol encrypts almost all of its transport parameters, and all of its payload, so any intermediaries that network operators may be using to troubleshoot HTTP streaming media performance issues, perform analytics, or even intercept exchanges in current applications will not work for QUIC-based applications without making changes to their networks. <xref target="stream-encrypt-media"/> describes the implications of media encryption in more detail.</t>
        <t>While QUIC is designed as a general-purpose transport protocol, and can carry different application-layer protocols, the current standardized mapping is for HTTP/3 <xref target="RFC9114"/>, which describes how QUIC transport services are used for HTTP. The convention is for HTTP/3 to run over UDP port 443 <xref target="Port443"/> but this is not a strict requirement.</t>
        <t>When HTTP/3 is encapsulated in QUIC, which is then encapsulated in UDP, streaming operators (and network operators) might see UDP traffic patterns that are similar to HTTP(S) over TCP. UDP ports may be blocked for any port numbers that are not commonly used, such as UDP 53 for DNS. Even when UDP ports are not blocked and QUIC packets can flow, streaming operators (and network operators) may severely rate-limit this traffic because they do not expect to see legitimate high-bandwidth traffic such as streaming media over the UDP ports that HTTP/3 is using.</t>
        <t>As noted in <xref target="noisy-measurements"/>, because TCP provides a reliable, in-order delivery service for applications, any packet loss for a TCP connection causes head-of-line blocking, so that no TCP segments arriving after a packet is lost will be delivered to the receiving application until retransmission of the lost packet has been received, allowing in-order delivery to the application to continue. As described in <xref target="RFC9000"/>, QUIC connections can carry multiple streams, and when packet losses do occur, only the streams carried in the lost packet are delayed.</t>
        <t>A QUIC extension currently being specified (<xref target="I-D.ietf-quic-datagram"/>) adds the capability for "unreliable" delivery, similar to the service provided by UDP, but these datagrams are still subject to the QUIC connection's congestion controller, providing some transport-level congestion avoidance measures, which UDP does not.</t>
        <t>As noted in <xref target="reliable-behavior"/>, there is an increasing interest in congestion control algorithms that respond to delay measurements, instead of responding to packet loss. These algorithms may deliver an improved user experience, but in some cases, have not responded to sustained packet loss, which exhausts available buffers along the end-to-end path that may affect other users sharing that path. The QUIC protocol provides a set of congestion control hooks that can be used for algorithm agility, and <xref target="RFC9002"/> defines a basic congestion control algorithm that is roughly similar to TCP NewReno <xref target="RFC6582"/>. However, QUIC senders can and do unilaterally choose to use different algorithms such as loss-based CUBIC <xref target="RFC8312"/>, delay-based COPA or BBR, or even something completely different.</t>
        <t>The Internet community does have experience with deploying new congestion controllers without melting the Internet. As noted in <xref target="RFC8312"/>, both the CUBIC congestion controller and its predecessor BIC have significantly different behavior from Reno-style congestion controllers such as TCP NewReno <xref target="RFC6582"/>, but both CUBIC and BIC were added to the Linux kernel to allow experimentation and analysis, and both were then selected as the default TCP congestion controllers in Linux, and both were deployed globally.</t>
        <t>The point mentioned in <xref target="reliable-behavior"/> about TCP congestion controllers being implemented in operating system kernels is different with QUIC. Although QUIC can be implemented in operating system kernels, one of the design goals when this work was chartered was "QUIC is expected to support rapid, distributed development and testing of features," and to meet this expectation, many implementers have chosen to implement QUIC in user space, outside the operating system kernel, and to even distribute QUIC libraries with their own applications. It is worth noting that streaming operators using HTTP/3, carried over QUIC, can expect more frequent deployment of new congestion controller behavior than has been the case with HTTP/1 and HTTP/2, carried over TCP.</t>
        <t>It is worth considering that if TCP-based HTTP traffic and UDP-based HTTP/3 traffic are allowed to enter operator networks on roughly equal terms, questions of fairness and contention will be heavily dependent on interactions between the congestion controllers in use for TCP-based HTTP traffic and UDP-based HTTP/3 traffic.</t>
      </section>
    </section>
    <section anchor="stream-encrypt-media">
      <name>Streaming Encrypted Media</name>
      <t>"Encrypted Media" has at least three meanings:</t>
      <ul spacing="normal">
        <li>Media encrypted at the application layer, typically using some sort of Digital Rights Management (DRM) system, and typically remaining encrypted at rest, when senders and receivers store it.</li>
        <li>Media encrypted by the sender at the transport layer, and remaining encrypted until it reaches the ultimate media consumer (in this document, referred to as end-to-end media encryption).</li>
        <li>Media encrypted by the sender at the transport layer, and remaining encrypted until it reaches some intermediary that is <em>not</em> the ultimate media consumer, but has credentials allowing decryption of the media content. This intermediary may examine and even transform the media content in some way, before forwarding re-encrypted media content (in this document referred to as hop-by-hop media encryption).</li>
      </ul>
      <t>This document focuses on media encrypted at the transport layer, whether encryption is performed hop-by-hop or end-to-end. Because media encrypted at the application layer will only be processed by application-level entities, this encryption does not have transport-layer implications. Of course, both hop-by-hop and end-to-end encrypted transport may carry media that is, in addition, encrypted at the application layer.</t>
      <t>Each of these encryption strategies is intended to achieve a different goal. For instance, application-level encryption may be used for business purposes, such as avoiding piracy or enforcing geographic restrictions on playback, while transport-layer encryption may be used to prevent media stream manipulation or to protect manifests.</t>
      <t>This document does not take a position on whether those goals are "valid" (whatever that might mean).</t>
      <t>Both end-to-end and hop-by-hop media encryption have specific implications for streaming operators. These are described in <xref target="hop-by-hop-encrypt"/> and <xref target="e2em-encrypt"/>.</t>
      <section anchor="gen-encrypt">
        <name>General Considerations for Media Encryption</name>
        <t>The use of strong encryption does provide confidentiality for encrypted streaming media, from the sender to either an intermediary or the ultimate media consumer, and this does prevent Deep Packet Inspection by any intermediary that does not possess credentials allowing decryption. However, even encrypted content streams may be vulnerable to traffic analysis. An intermediary that can identify an encrypted media stream without decrypting it, may be able to "fingerprint" the encrypted media stream of known content, and then match the targeted media stream against the fingerprints of known content. This protection can be lessened if a media provider is repeatedly encrypting the same content. <xref target="CODASPY17"/> is an example of what is possible when identifying HTTPS-protected videos over TCP transport, based either on the length of entire resources being transferred, or on characteristic packet patterns at the beginning of a resource being transferred.</t>
        <t>If traffic analysis is successful at identifying encrypted content and associating it with specific users, this breaks privacy as certainly as examining decrypted traffic.</t>
        <t>Because HTTPS has historically layered HTTP on top of TLS, which is in turn layered on top of TCP, intermediaries have historically had access to unencrypted TCP-level transport information, such as retransmissions, and some carriers exploited this information in attempts to improve transport-layer performance <xref target="RFC3135"/>. The most recent standardized version of HTTPS, HTTP/3 <xref target="RFC9114"/>, uses the QUIC protocol <xref target="RFC9000"/> as its transport layer. QUIC relies on the TLS 1.3 initial handshake <xref target="RFC8446"/> only for key exchange <xref target="RFC9001"/>, and encrypts almost all transport parameters itself except for a few invariant header fields. In the QUIC short header, the only transport-level parameter which is sent "in the clear" is the Destination Connection ID <xref target="RFC8999"/>, and even in the QUIC long header, the only transport-level parameters sent "in the clear" are the Version, Destination Connection ID, and Source Connection ID. For these reasons, HTTP/3 is significantly more "opaque" than HTTPS with HTTP/1 or HTTP/2.</t>
        <t><xref target="I-D.ietf-quic-manageability"/> discusses the manageability of the QUIC transport protocol that is used to encapsulate HTTP/3, focusing on the implications of QUIC's design and wire image on network operations involving QUIC traffic. It discusses what network operators can consider in some detail.</t>
        <t>More broadly, RFC 9065 <xref target="RFC9065"/>, "Considerations around Transport Header Confidentiality, Network Operations, and the Evolution of Internet Transport Protocols" describes the impact of increased encryption of transport headers in general terms.</t>
        <t>It is also worth noting that considerations for heavily-encrypted transport protocols also come into play when streaming media is carried over IP-level VPNs and tunnels, with the additional consideration that an intermediary that does not possess credentials allowing decryption will not have visibility to the source and destination IP addresses of the packets being carried inside the tunnel.</t>
      </section>
      <section anchor="hop-by-hop-encrypt">
        <name>Considerations for Hop-by-Hop Media Encryption</name>
        <t>Although the IETF has put considerable emphasis on end-to-end streaming media encryption, there are still important use cases that require the insertion of intermediaries.</t>
        <t>There are a variety of ways to involve intermediaries, and some are much more intrusive than others.</t>
        <t>From a media provider's perspective, a number of considerations are in play. The first question is likely whether the media provider  intends that intermediaries are explicitly addressed from endpoints, or whether the media provider  is willing to allow intermediaries to "intercept" streaming content transparently, with no awareness or permission from either endpoint.</t>
        <t>If a media provider  does not actively work to avoid interception by intermediaries, the effect will be indistinguishable from "impersonation attacks," and endpoints cannot be assumed of any level of privacy.</t>
        <t>Assuming that a media provider does intend to allow intermediaries to participate in content streaming and does intend to provide some level of privacy for endpoints, there are a number of possible tools, either already available or still being specified. These include</t>
        <ul spacing="normal">
          <li>Server And Network assisted DASH <xref target="MPEG-DASH-SAND"/> - this specification introduces explicit messaging between DASH clients and network elements or between various network elements for the purpose of improving the efficiency of streaming sessions by providing information about real-time operational characteristics of networks, servers, proxies, caches, CDNs, as well as DASH client's performance and status.</li>
          <li>"Double Encryption Procedures for the Secure Real-Time Transport Protocol (SRTP)" <xref target="RFC8723"/> - this specification provides a cryptographic transform for the Secure Real-time Transport Protocol that provides both hop-by-hop and end-to-end security guarantees.</li>
          <li>Secure Media Frames <xref target="SFRAME"/> - <xref target="RFC8723"/> is closely tied to SRTP, and this close association impeded widespread deployment, because it could not be used for the most common media content delivery mechanisms. A more recent proposal, Secure Media Frames <xref target="SFRAME"/>, also provides both hop-by-hop and end-to-end security guarantees, but can be used with other transport protocols beyond SRTP.</li>
        </ul>
        <t>The choice of whether to involve intermediaries sometimes requires careful consideration.
As an example, when ABR manifests were commonly sent unencrypted, some networks would modify manifests during peak hours by removing high-bitrate renditions to prevent players from choosing those renditions, thus reducing the overall bandwidth consumed for delivering these media streams and thereby improving the network load and the user experience for their customers.
Now that ubiquitous encryption typically prevents this kind of modification, a streaming media provider who used intermediaries in the past, and who now wishes to maintain the same level of network health and user experience, must choose between adding intermediaries who are authorized to change the manifests or adding some other form of complexity to their service.</t>
        <t>Some resources that might inform other similar considerations are further discussed in <xref target="RFC8824"/> (for WebRTC) and <xref target="I-D.ietf-quic-manageability"/> (for HTTP/3 and QUIC).</t>
      </section>
      <section anchor="e2em-encrypt">
        <name>Considerations for End-to-End Media Encryption</name>
        <t>End-to-end media encryption offers the potential of providing privacy for streaming media consumers, with the idea being that if an unauthorized intermediary cannot decrypt streaming media, the intermediary cannot use Deep Packet Inspection to examine HTTP request and response headers and identify the media content being streamed.</t>
        <t>End-to-end media encryption has become much more widespread in the years since the IETF issued "Pervasive Monitoring Is an Attack" <xref target="RFC7258"/> as a Best Current Practice, describing pervasive monitoring as a much greater threat than previously appreciated. After the Snowden disclosures, many content providers made the decision to use HTTPS protection - HTTP over TLS - for most or all content being delivered as a routine practice, rather than in exceptional cases for content that was considered sensitive.</t>
        <t>However, as noted in <xref target="RFC7258"/>, there is no way to prevent pervasive monitoring by an attacker, while allowing monitoring by a more benign entity who only wants to use DPI to examine HTTP requests and responses to provide a better user experience. If a modern encrypted transport protocol is used for end-to-end media encryption, intermediary streaming operators are unable to examine transport and application protocol behavior. As described in <xref target="hop-by-hop-encrypt"/>, only an intermediary explicitly authorized by the streaming media provider who is  to examine packet payloads, rather than intercepting packets and examining them without authorization, can continue these practices.</t>
        <t><xref target="RFC7258"/> said that "The IETF will strive to produce specifications that mitigate pervasive monitoring attacks," so streaming operators should expect the IETF's direction toward preventing unauthorized monitoring of IETF protocols to continue for the foreseeable future.</t>
      </section>
    </section>
    <section anchor="further">
      <name>Further Reading and References</name>
      <t>The MOPS community maintains a list of references and resources for further reading at this location:</t>
      <ul spacing="normal">
        <li>
          <eref target="https://github.com/ietf-wg-mops/draft-ietf-mops-streaming-opcons/blob/main/living-doc-mops-streaming-opcons.md">https://github.com/ietf-wg-mops/draft-ietf-mops-streaming-opcons/blob/main/living-doc-mops-streaming-opcons.md</eref></li>
      </ul>
      <t>Editor's note: The URL above might or might not be changed during IESG Evaluation.  See <eref target="https://github.com/ietf-wg-mops/draft-ietf-mops-streaming-opcons/issues/114">https://github.com/ietf-wg-mops/draft-ietf-mops-streaming-opcons/issues/114</eref> for updates.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requires no actions from IANA.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Security is an important matter for streaming media applications and the topic of media encryption was explained in <xref target="stream-encrypt-media"/>. This document itself introduces no new security issues.</t>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Alexandre Gouaillard, Aaron Falk, Chris Lemmons, Dave Oran, Eric Vyncke, Glenn Deen, Kyle Rose, Leslie Daigle, Linda Dunbar, Lucas Pardue, Mark Nottingham, Matt Stock, Mike English, Renan Krishna, Roni Even, Sanjay Mishra, Kiran Makhjani, Chris Lemmons, Tommy Pauly, Will Law, Michael Scharf, Eric Vyncke, Erik Kline, Roman Danyliw, Valery Smyslov, Robert Wilton, Lars Eggert, Zahed Sarker, Warren Kumari, John Scudder, Martin Duke, and Nancy Cam-Winget for very helpful suggestions, reviews and comments.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>Informative References</name>
      <reference anchor="CVNI" target="https://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/white-paper-c11-741490.html">
        <front>
          <title>Cisco Visual Networking Index: Forecast and Trends, 2017-2022 White Paper</title>
          <author>
            <organization/>
          </author>
          <date year="2019" month="February" day="27"/>
        </front>
      </reference>
      <reference anchor="PCC" target="https://ieeexplore.ieee.org/document/8571288">
        <front>
          <title>Emerging MPEG Standards for Point Cloud Compression</title>
          <author initials="S." surname="Schwarz">
            <organization/>
          </author>
          <author initials="" surname="et al">
            <organization/>
          </author>
          <date year="2019" month="March"/>
        </front>
        <seriesInfo name="IEEE Journal on Emerging and Selected Topics in Circuits and Systems" value=""/>
      </reference>
      <reference anchor="MPEGI" target="https://ieeexplore.ieee.org/document/9374648">
        <front>
          <title>MPEG Immersive Video Coding Standard</title>
          <author initials="J. M." surname="Boyce">
            <organization/>
          </author>
          <author initials="" surname="et al">
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
        <seriesInfo name="Proceedings of the IEEE" value=""/>
      </reference>
      <reference anchor="MMSys11" target="https://dl.acm.org/doi/10.1145/1943552.1943574">
        <front>
          <title>An experimental evaluation of rate-adaptation algorithms in adaptive streaming over HTTP</title>
          <author initials="S." surname="Akhshabi">
            <organization/>
          </author>
          <author initials="A. C." surname="Begen">
            <organization/>
          </author>
          <author initials="C." surname="Dovrolis">
            <organization/>
          </author>
          <date year="2011" month="February"/>
        </front>
        <seriesInfo name="ACM MMSys" value=""/>
      </reference>
      <reference anchor="MMSP20" target="https://ieeexplore.ieee.org/document/9287117">
        <front>
          <title>Evaluating the performance of Apple's low-latency HLS</title>
          <author initials="K." surname="Durak">
            <organization/>
          </author>
          <author initials="" surname="et al">
            <organization/>
          </author>
          <date year="2020" month="September"/>
        </front>
        <seriesInfo name="IEEE MMSP" value=""/>
      </reference>
      <reference anchor="LL-DASH" target="https://dashif.org/docs/CR-Low-Latency-Live-r8.pdf">
        <front>
          <title>Low-latency Modes for DASH</title>
          <author initials="" surname="DASH-IF">
            <organization/>
          </author>
          <date year="2020" month="March"/>
        </front>
      </reference>
      <reference anchor="CMAF-CTE" target="https://www.akamai.com/us/en/multimedia/documents/white-paper/low-latency-streaming-cmaf-whitepaper.pdf">
        <front>
          <title>Ultra-Low-Latency Streaming Using Chunked-Encoded and Chunked Transferred CMAF</title>
          <author initials="W." surname="Law" fullname="Will Law">
            <organization>Akamai Technologies, Inc.</organization>
          </author>
          <date year="2018" month="October"/>
        </front>
      </reference>
      <reference anchor="ABRSurvey" target="https://ieeexplore.ieee.org/abstract/document/8424813">
        <front>
          <title>A Survey on Bitrate Adaptation Schemes for Streaming Media Over HTTP</title>
          <author initials="B." surname="Taani">
            <organization/>
          </author>
          <author initials="A. C." surname="Begen">
            <organization/>
          </author>
          <author initials="C." surname="Timmerer">
            <organization/>
          </author>
          <author initials="R." surname="Zimmermann">
            <organization/>
          </author>
          <author initials="A." surname="Bentaleb et al" fullname="Abdelhak Bentaleb et al.">
            <organization/>
          </author>
          <date year="2019"/>
        </front>
        <seriesInfo name="IEEE Communications Surveys &amp; Tutorials" value=""/>
      </reference>
      <reference anchor="Encodings" target="https://developer.apple.com/documentation/http_live_streaming/hls_authoring_specification_for_apple_devices">
        <front>
          <title>HLS Authoring Specification for Apple Devices</title>
          <author initials="" surname="Apple, Inc">
            <organization/>
          </author>
          <date year="2020" month="June"/>
        </front>
      </reference>
      <reference anchor="IABcovid" target="https://datatracker.ietf.org/doc/draft-iab-covid19-workshop/">
        <front>
          <title>Report from the IAB COVID-19 Network Impacts Workshop 2020</title>
          <author initials="J." surname="Arkko">
            <organization/>
          </author>
          <author initials="S." surname="Farrel">
            <organization/>
          </author>
          <author initials="M." surname="Kühlewind">
            <organization/>
          </author>
          <author initials="C." surname="Perkins">
            <organization/>
          </author>
          <date year="2020" month="November"/>
        </front>
      </reference>
      <reference anchor="CTA-2066" target="https://shop.cta.tech/products/streaming-quality-of-experience-events-properties-and-metrics">
        <front>
          <title>Streaming Quality of Experience Events, Properties and Metrics</title>
          <author>
            <organization>Consumer Technology Association</organization>
          </author>
          <date year="2020" month="March"/>
        </front>
      </reference>
      <reference anchor="CTA-5004" target="https://shop.cta.tech/products/web-application-video-ecosystem-common-media-client-data-cta-5004">
        <front>
          <title>Common Media Client Data (CMCD)</title>
          <author initials="" surname="CTA">
            <organization/>
          </author>
          <date year="2020" month="September"/>
        </front>
      </reference>
      <reference anchor="ELASTIC" target="https://ieeexplore.ieee.org/document/6691442">
        <front>
          <title>ELASTIC: A client-side controller for dynamic adaptive streaming over HTTP (DASH)</title>
          <author initials="L." surname="De Cicco">
            <organization/>
          </author>
          <author initials="V." surname="Caldaralo">
            <organization/>
          </author>
          <author initials="V." surname="Palmisano">
            <organization/>
          </author>
          <author initials="S." surname="Mascolo">
            <organization/>
          </author>
          <date year="2013" month="December"/>
        </front>
        <seriesInfo name="Packet Video Workshop" value=""/>
      </reference>
      <reference anchor="OReilly-HPBN" target="https://hpbn.co/building-blocks-of-tcp/">
        <front>
          <title>High Performance Browser Networking (Chapter 2: Building Blocks of TCP)</title>
          <author>
            <organization/>
          </author>
          <date year="2021" month="May"/>
        </front>
      </reference>
      <reference anchor="Jacobson-Karels" target="https://ee.lbl.gov/papers/congavoid.pdf">
        <front>
          <title>Congestion Avoidance and Control</title>
          <author initials="V." surname="Jacobson">
            <organization/>
          </author>
          <author initials="M." surname="Karels">
            <organization/>
          </author>
          <date year="1988" month="November"/>
        </front>
      </reference>
      <reference anchor="COPA18" target="https://web.mit.edu/copa/">
        <front>
          <title>Copa: Practical Delay-Based Congestion Control for the Internet</title>
          <author initials="V." surname="Arun">
            <organization/>
          </author>
          <author initials="H." surname="Balakrishnan">
            <organization/>
          </author>
          <date year="2018" month="April"/>
        </front>
        <seriesInfo name="USENIX NSDI" value=""/>
      </reference>
      <reference anchor="Port443" target="https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt">
        <front>
          <title>Service Name and Transport Protocol Port Number Registry</title>
          <author>
            <organization/>
          </author>
          <date year="2021" month="April"/>
        </front>
      </reference>
      <reference anchor="CODASPY17" target="https://dl.acm.org/doi/10.1145/3029806.3029821">
        <front>
          <title>Identifying HTTPS-Protected Netflix Videos in Real-Time</title>
          <author initials="A." surname="Reed">
            <organization/>
          </author>
          <author initials="M." surname="Kranch">
            <organization/>
          </author>
          <date year="2017" month="March"/>
        </front>
        <seriesInfo name="ACM CODASPY" value=""/>
      </reference>
      <reference anchor="MPEG-DASH" target="https://www.iso.org/standard/79329.html">
        <front>
          <title>ISO/IEC 23009-1:2019 Dynamic adaptive streaming over HTTP (DASH) - Part 1: Media presentation description and segment formats</title>
          <author>
            <organization/>
          </author>
          <date year="2019" month="December"/>
        </front>
      </reference>
      <reference anchor="MPEG-DASH-SAND" target="https://www.iso.org/standard/69079.html">
        <front>
          <title>ISO/IEC 23009-5:2017 Dynamic adaptive streaming over HTTP (DASH) - Part 5: Server and network assisted DASH (SAND)</title>
          <author>
            <organization/>
          </author>
          <date year="2017" month="February"/>
        </front>
      </reference>
      <reference anchor="MPEG-CMAF" target="https://www.iso.org/standard/79106.html">
        <front>
          <title>ISO/IEC 23000-19:2020 Multimedia application format (MPEG-A) - Part 19: Common media application format (CMAF) for segmented media</title>
          <author>
            <organization/>
          </author>
          <date year="2020" month="March"/>
        </front>
      </reference>
      <reference anchor="MPEG-TS" target="https://www.itu.int/rec/T-REC-H.222.0">
        <front>
          <title>H.222.0 : Information technology - Generic coding of moving pictures and associated audio information: Systems</title>
          <author>
            <organization/>
          </author>
          <date year="2018" month="August" day="29"/>
        </front>
      </reference>
      <reference anchor="SFRAME" target="https://datatracker.ietf.org/doc/charter-ietf-sframe/">
        <front>
          <title>Secure Media Frames Working Group (Home Page)</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="SRT" target="https://datatracker.ietf.org/meeting/interim-2020-mops-01/materials/slides-interim-2020-mops-01-sessa-april-15-2020-mops-interim-an-update-on-streaming-video-alliance">
        <front>
          <title>Secure Reliable Transport (SRT) Protocol Overview</title>
          <author initials="M." surname="Sharabayko" fullname="Maxim Sharabayko">
            <organization/>
          </author>
          <date year="2020" month="April" day="15"/>
        </front>
      </reference>
      <reference anchor="Micro">
        <front>
          <title>Microwave Oven Signal Interference Mitigation For Wi-Fi Communication Systems</title>
          <author initials="T. M." surname="Taher" fullname="Tanim M. Taher">
            <organization/>
          </author>
          <author initials="M. J." surname="Misurac" fullname="Matthew J. Misurac">
            <organization/>
          </author>
          <author initials="J. L." surname="LoCicero" fullname="Joseph L. LoCicero">
            <organization/>
          </author>
          <author initials="D. R." surname="Ucci" fullname="Donald R. Ucci">
            <organization/>
          </author>
          <date year="2008"/>
        </front>
        <seriesInfo name="2008 5th IEEE Consumer Communications and Networking Conference 5th IEEE, pp. 67-68" value=""/>
      </reference>
      <reference anchor="BEHAVE" target="https://dl.acm.org/doi/abs/10.1145/1526709.1526745">
        <front>
          <title>How much can behavioral targeting help online advertising?</title>
          <author initials="J." surname="Yan" fullname="Jun Yan">
            <organization/>
          </author>
          <author initials="N." surname="Liu" fullname="Ning Liu">
            <organization/>
          </author>
          <author initials="G." surname="Wang" fullname="Gang Wang">
            <organization/>
          </author>
          <author initials="W." surname="Zhang" fullname="Wen Zhang">
            <organization/>
          </author>
          <author initials="Y." surname="Jiang" fullname="Yun Jiang">
            <organization/>
          </author>
          <author initials="Z." surname="Chen" fullname="Zheng Chen">
            <organization/>
          </author>
          <date year="2009" month="April" day="20"/>
        </front>
        <seriesInfo name="WWW '09: Proceedings of the 18th international conference on World wide webApril 2009 Pages 261-270" value=""/>
      </reference>
      <reference anchor="BEHAVE2" target="https://dl.acm.org/doi/abs/10.1145/1941487.1941498">
        <front>
          <title>Online advertising, behavioral targeting, and privacy</title>
          <author initials="A." surname="Goldfarb" fullname="Avi Goldfarb">
            <organization/>
          </author>
          <author initials="C. E." surname="Tucker" fullname="Catherine E. Tucker">
            <organization/>
          </author>
          <date year="2011" month="May" day="01"/>
        </front>
        <seriesInfo name="Communications of the ACMVolume 54Issue 5May 2011 pp 25-27" value=""/>
      </reference>
      <reference anchor="ADFRAUD" target="https://doi.org/10.3390/jcp1040039">
        <front>
          <title>Ads and Fraud: A Comprehensive Survey of Fraud in Online Advertising</title>
          <author initials="S." surname="Sadeghpour" fullname="Shadi Sadeghpour">
            <organization/>
          </author>
          <author initials="N." surname="Vlajic" fullname="Natalija Vlajic">
            <organization/>
          </author>
          <date year="2021" month="December" day="16"/>
        </front>
        <seriesInfo name="Journal of Cybersecurity and Privacy 1, no. 4: 804-832." value=""/>
      </reference>
      <reference anchor="BALANCING" target="https://digitalcommons.law.scu.edu/chtlj/vol27/iss1/2/">
        <front>
          <title>Balancing Consumer Privacy with Behavioral Targeting</title>
          <author initials="D. D." surname="Berger" fullname="Dustin D. Berger">
            <organization/>
          </author>
          <date year="2010"/>
        </front>
        <seriesInfo name="27 Santa Clara High Technology Law Journal, Vol. 27 Issue 1 Article 2" value=""/>
      </reference>
      <reference anchor="IAB-ADS" target="https://www.iab.com/">
        <front>
          <title>IAB</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="BAP" target="https://www.betterads.org/">
        <front>
          <title>The Coalition for Better Ads</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="CoDel">
        <front>
          <title>Controlling Queue Delay</title>
          <author initials="K." surname="Nichols">
            <organization/>
          </author>
          <author initials="V." surname="Jacobson">
            <organization/>
          </author>
          <date year="2012" month="July"/>
        </front>
        <seriesInfo name="Communications of the ACM, Volume 55, Issue 7, pp. 42-50" value=""/>
      </reference>
      <reference anchor="Survey360o" target="https://ieeexplore.ieee.org/document/9133103">
        <front>
          <title>A Survey on Adaptive 360° Video Streaming: Solutions, Challenges and Opportunities</title>
          <author initials="A." surname="Yaqoob">
            <organization/>
          </author>
          <author initials="T." surname="Bi">
            <organization/>
          </author>
          <author initials="G." surname="Muntean">
            <organization/>
          </author>
          <date year="2020" month="July"/>
        </front>
        <seriesInfo name="IEEE Communications Surveys &amp; Tutorials" value=""/>
      </reference>
      <reference anchor="ISOBMFF" target="https://www.iso.org/standard/83102.html">
        <front>
          <title>ISO/IEC 14496-12:2022 Information technology — Coding of audio-visual objects — Part 12: ISO base media file format</title>
          <author>
            <organization/>
          </author>
          <date year="2022" month="January"/>
        </front>
      </reference>
      <reference anchor="I-D.ietf-quic-manageability">
        <front>
          <title>Manageability of the QUIC Transport Protocol</title>
          <author fullname="Mirja Kuehlewind">
            <organization>Ericsson</organization>
          </author>
          <author fullname="Brian Trammell">
            <organization>Google Switzerland GmbH</organization>
          </author>
          <date day="11" month="July" year="2022"/>
          <abstract>
            <t>   This document discusses manageability of the QUIC transport protocol,
   focusing on the implications of QUIC's design and wire image on
   network operations involving QUIC traffic.  Its intended audience is
   network operators and equipment vendors who rely on the use of
   transport-aware network functions.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-quic-manageability-17"/>
      </reference>
      <reference anchor="I-D.ietf-quic-datagram">
        <front>
          <title>An Unreliable Datagram Extension to QUIC</title>
          <author fullname="Tommy Pauly">
            <organization>Apple Inc.</organization>
          </author>
          <author fullname="Eric Kinnear">
            <organization>Apple Inc.</organization>
          </author>
          <author fullname="David Schinazi">
            <organization>Google LLC</organization>
          </author>
          <date day="4" month="February" year="2022"/>
          <abstract>
            <t>This document defines an extension to the QUIC transport protocol to add support for sending and receiving unreliable datagrams over a QUIC connection.
            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-quic-datagram-10"/>
      </reference>
      <reference anchor="I-D.cardwell-iccrg-bbr-congestion-control">
        <front>
          <title>BBR Congestion Control</title>
          <author fullname="Neal Cardwell">
            <organization>Google</organization>
          </author>
          <author fullname="Yuchung Cheng">
            <organization>Google</organization>
          </author>
          <author fullname="Soheil Hassas Yeganeh">
            <organization>Google</organization>
          </author>
          <author fullname="Ian Swett">
            <organization>Google</organization>
          </author>
          <author fullname="Van Jacobson">
            <organization>Google</organization>
          </author>
          <date day="7" month="March" year="2022"/>
          <abstract>
            <t>   This document specifies the BBR congestion control algorithm.  BBR
   ("Bottleneck Bandwidth and Round-trip propagation time") uses recent
   measurements of a transport connection's delivery rate, round-trip
   time, and packet loss rate to build an explicit model of the network
   path.  BBR then uses this model to control both how fast it sends
   data and the maximum volume of data it allows in flight in the
   network at any time.  Relative to loss-based congestion control
   algorithms such as Reno [RFC5681] or CUBIC [RFC8312], BBR offers
   substantially higher throughput for bottlenecks with shallow buffers
   or random losses, and substantially lower queueing delays for
   bottlenecks with deep buffers (avoiding "bufferbloat").  BBR can be
   implemented in any transport protocol that supports packet-delivery
   acknowledgment.  Thus far, open source implementations are available
   for TCP [RFC793] and QUIC [RFC9000].  This document specifies version
   2 of the BBR algorithm, also sometimes referred to as BBRv2 or bbr2.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-cardwell-iccrg-bbr-congestion-control-02"/>
      </reference>
      <reference anchor="I-D.draft-pantos-hls-rfc8216bis">
        <front>
          <title>HTTP Live Streaming 2nd Edition</title>
          <author fullname="Roger Pantos">
            <organization>Apple Inc.</organization>
          </author>
          <date day="11" month="May" year="2022"/>
          <abstract>
            <t>   This document obsoletes RFC 8216.  It describes a protocol for
   transferring unbounded streams of multimedia data.  It specifies the
   data format of the files and the actions to be taken by the server
   (sender) and the clients (receivers) of the streams.  It describes
   version 10 of this protocol.


            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-pantos-hls-rfc8216bis-11"/>
      </reference>
      <reference anchor="I-D.ietf-httpbis-cache">
        <front>
          <title>HTTP Caching</title>
          <author fullname="Roy T. Fielding">
            <organization>Adobe</organization>
          </author>
          <author fullname="Mark Nottingham">
            <organization>Fastly</organization>
          </author>
          <author fullname="Julian Reschke">
            <organization>greenbytes GmbH</organization>
          </author>
          <date day="12" month="September" year="2021"/>
          <abstract>
            <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document defines HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages.

 This document obsoletes RFC 7234.
            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-cache-19"/>
      </reference>
      <reference anchor="I-D.ietf-tcpm-rfc793bis">
        <front>
          <title>Transmission Control Protocol (TCP) Specification</title>
          <author fullname="Wesley M. Eddy">
            <organization>MTI Systems</organization>
          </author>
          <date day="7" month="March" year="2022"/>
          <abstract>
            <t>   This document specifies the Transmission Control Protocol (TCP).  TCP
   is an important transport layer protocol in the Internet protocol
   stack, and has continuously evolved over decades of use and growth of
   the Internet.  Over this time, a number of changes have been made to
   TCP as it was specified in RFC 793, though these have only been
   documented in a piecemeal fashion.  This document collects and brings
   those changes together with the protocol specification from RFC 793.
   This document obsoletes RFC 793, as well as RFCs 879, 2873, 6093,
   6429, 6528, and 6691 that updated parts of RFC 793.  It updates RFCs
   1011 and 1122, and should be considered as a replacement for the
   portions of those document dealing with TCP requirements.  It also
   updates RFC 5961 by adding a small clarification in reset handling
   while in the SYN-RECEIVED state.  The TCP header control bits from
   RFC 793 have also been updated based on RFC 3168.

   RFC EDITOR NOTE: If approved for publication as an RFC, this should
   be marked additionally as "STD: 7" and replace RFC 793 in that role.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-tcpm-rfc793bis-28"/>
      </reference>
      <reference anchor="RFC2001">
        <front>
          <title>TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms</title>
          <author fullname="W. Stevens" initials="W." surname="Stevens">
            <organization/>
          </author>
          <date month="January" year="1997"/>
          <abstract>
            <t>Modern implementations of TCP contain four intertwined algorithms that have never been fully documented as Internet standards: slow start, congestion avoidance, fast retransmit, and fast recovery.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2001"/>
        <seriesInfo name="DOI" value="10.17487/RFC2001"/>
      </reference>
      <reference anchor="RFC2736">
        <front>
          <title>Guidelines for Writers of RTP Payload Format Specifications</title>
          <author fullname="M. Handley" initials="M." surname="Handley">
            <organization/>
          </author>
          <author fullname="C. Perkins" initials="C." surname="Perkins">
            <organization/>
          </author>
          <date month="December" year="1999"/>
          <abstract>
            <t>This document provides general guidelines aimed at assisting the authors of RTP Payload Format specifications in deciding on good formats.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="36"/>
        <seriesInfo name="RFC" value="2736"/>
        <seriesInfo name="DOI" value="10.17487/RFC2736"/>
      </reference>
      <reference anchor="RFC3135">
        <front>
          <title>Performance Enhancing Proxies Intended to Mitigate Link-Related Degradations</title>
          <author fullname="J. Border" initials="J." surname="Border">
            <organization/>
          </author>
          <author fullname="M. Kojo" initials="M." surname="Kojo">
            <organization/>
          </author>
          <author fullname="J. Griner" initials="J." surname="Griner">
            <organization/>
          </author>
          <author fullname="G. Montenegro" initials="G." surname="Montenegro">
            <organization/>
          </author>
          <author fullname="Z. Shelby" initials="Z." surname="Shelby">
            <organization/>
          </author>
          <date month="June" year="2001"/>
          <abstract>
            <t>This document is a survey of Performance Enhancing Proxies (PEPs) often employed to improve degraded TCP performance caused by characteristics of specific link environments, for example, in satellite, wireless WAN, and wireless LAN environments.  This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3135"/>
        <seriesInfo name="DOI" value="10.17487/RFC3135"/>
      </reference>
      <reference anchor="RFC3168">
        <front>
          <title>The Addition of Explicit Congestion Notification (ECN) to IP</title>
          <author fullname="K. Ramakrishnan" initials="K." surname="Ramakrishnan">
            <organization/>
          </author>
          <author fullname="S. Floyd" initials="S." surname="Floyd">
            <organization/>
          </author>
          <author fullname="D. Black" initials="D." surname="Black">
            <organization/>
          </author>
          <date month="September" year="2001"/>
          <abstract>
            <t>This memo specifies the incorporation of ECN (Explicit Congestion Notification) to TCP and IP, including ECN's use of two bits in the IP header.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3168"/>
        <seriesInfo name="DOI" value="10.17487/RFC3168"/>
      </reference>
      <reference anchor="RFC3550">
        <front>
          <title>RTP: A Transport Protocol for Real-Time Applications</title>
          <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne">
            <organization/>
          </author>
          <author fullname="S. Casner" initials="S." surname="Casner">
            <organization/>
          </author>
          <author fullname="R. Frederick" initials="R." surname="Frederick">
            <organization/>
          </author>
          <author fullname="V. Jacobson" initials="V." surname="Jacobson">
            <organization/>
          </author>
          <date month="July" year="2003"/>
          <abstract>
            <t>This memorandum describes RTP, the real-time transport protocol.  RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services.  RTP does not address resource reservation and does not guarantee quality-of- service for real-time services.  The data transport is augmented by a control protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide minimal control and identification functionality.  RTP and RTCP are designed to be independent of the underlying transport and network layers.  The protocol supports the use of RTP-level translators and mixers. Most of the text in this memorandum is identical to RFC 1889 which it obsoletes.  There are no changes in the packet formats on the wire, only changes to the rules and algorithms governing how the protocol is used. The biggest change is an enhancement to the scalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess of the intended rate when many participants join a session simultaneously.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="64"/>
        <seriesInfo name="RFC" value="3550"/>
        <seriesInfo name="DOI" value="10.17487/RFC3550"/>
      </reference>
      <reference anchor="RFC3758">
        <front>
          <title>Stream Control Transmission Protocol (SCTP) Partial Reliability Extension</title>
          <author fullname="R. Stewart" initials="R." surname="Stewart">
            <organization/>
          </author>
          <author fullname="M. Ramalho" initials="M." surname="Ramalho">
            <organization/>
          </author>
          <author fullname="Q. Xie" initials="Q." surname="Xie">
            <organization/>
          </author>
          <author fullname="M. Tuexen" initials="M." surname="Tuexen">
            <organization/>
          </author>
          <author fullname="P. Conrad" initials="P." surname="Conrad">
            <organization/>
          </author>
          <date month="May" year="2004"/>
          <abstract>
            <t>This memo describes an extension to the Stream Control Transmission Protocol (SCTP) that allows an SCTP endpoint to signal to its peer that it should move the cumulative ack point forward.  When both sides of an SCTP association support this extension, it can be used by an SCTP implementation to provide partially reliable data transmission service to an upper layer protocol.  This memo describes the protocol extensions, which consist of a new parameter for INIT and INIT ACK, and a new FORWARD TSN chunk type, and provides one example of a partially reliable service that can be provided to the upper layer via this mechanism.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3758"/>
        <seriesInfo name="DOI" value="10.17487/RFC3758"/>
      </reference>
      <reference anchor="RFC4733">
        <front>
          <title>RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals</title>
          <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne">
            <organization/>
          </author>
          <author fullname="T. Taylor" initials="T." surname="Taylor">
            <organization/>
          </author>
          <date month="December" year="2006"/>
          <abstract>
            <t>This memo describes how to carry dual-tone multifrequency (DTMF) signalling, other tone signals, and telephony events in RTP packets. It obsoletes RFC 2833.</t>
            <t>This memo captures and expands upon the basic framework defined in RFC 2833, but retains only the most basic event codes.  It sets up an IANA registry to which other event code assignments may be added. Companion documents add event codes to this registry relating to modem, fax, text telephony, and channel-associated signalling events. The remainder of the event codes defined in RFC 2833 are conditionally reserved in case other documents revive their use.</t>
            <t>This document provides a number of clarifications to the original document.  However, it specifically differs from RFC 2833 by removing the requirement that all compliant implementations support the DTMF events.  Instead, compliant implementations taking part in out-of-band negotiations of media stream content indicate what events they support.  This memo adds three new procedures to the RFC 2833 framework: subdivision of long events into segments, reporting of multiple events in a single packet, and the concept and reporting of state events.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4733"/>
        <seriesInfo name="DOI" value="10.17487/RFC4733"/>
      </reference>
      <reference anchor="RFC5481">
        <front>
          <title>Packet Delay Variation Applicability Statement</title>
          <author fullname="A. Morton" initials="A." surname="Morton">
            <organization/>
          </author>
          <author fullname="B. Claise" initials="B." surname="Claise">
            <organization/>
          </author>
          <date month="March" year="2009"/>
          <abstract>
            <t>Packet delay variation metrics appear in many different standards documents.  The metric definition in RFC 3393 has considerable flexibility, and it allows multiple formulations of delay variation through the specification of different packet selection functions.</t>
            <t>Although flexibility provides wide coverage and room for new ideas, it can make comparisons of independent implementations more difficult.  Two different formulations of delay variation have come into wide use in the context of active measurements.  This memo examines a range of circumstances for active measurements of delay variation and their uses, and recommends which of the two forms is best matched to particular conditions and tasks.  This memo provides  information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5481"/>
        <seriesInfo name="DOI" value="10.17487/RFC5481"/>
      </reference>
      <reference anchor="RFC5594">
        <front>
          <title>Report from the IETF Workshop on Peer-to-Peer (P2P) Infrastructure, May 28, 2008</title>
          <author fullname="J. Peterson" initials="J." surname="Peterson">
            <organization/>
          </author>
          <author fullname="A. Cooper" initials="A." surname="Cooper">
            <organization/>
          </author>
          <date month="July" year="2009"/>
          <abstract>
            <t>This document reports the outcome of a workshop organized by the Real-time Applications and Infrastructure Area Directors of the IETF to discuss network delay and congestion issues resulting from increased Peer-to-Peer (P2P) traffic volumes.  The workshop was held on May 28, 2008 at MIT in Cambridge, MA, USA.  The goals of the workshop were twofold: to understand the technical problems that ISPs and end users are experiencing as a result of high volumes of P2P traffic, and to begin to understand how the IETF may be helpful in addressing these problems.  Gaining an understanding of where in the IETF this work might be pursued and how to extract feasible work items were highlighted as important tasks in pursuit of the latter goal.  The workshop was very well attended and produced several work items that have since been taken up by members of the IETF community.   This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5594"/>
        <seriesInfo name="DOI" value="10.17487/RFC5594"/>
      </reference>
      <reference anchor="RFC5681">
        <front>
          <title>TCP Congestion Control</title>
          <author fullname="M. Allman" initials="M." surname="Allman">
            <organization/>
          </author>
          <author fullname="V. Paxson" initials="V." surname="Paxson">
            <organization/>
          </author>
          <author fullname="E. Blanton" initials="E." surname="Blanton">
            <organization/>
          </author>
          <date month="September" year="2009"/>
          <abstract>
            <t>This document defines TCP's four intertwined congestion control algorithms: slow start, congestion avoidance, fast retransmit, and fast recovery.  In addition, the document specifies how TCP should begin transmission after a relatively long idle period, as well as discussing various acknowledgment generation methods.  This document obsoletes RFC 2581.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5681"/>
        <seriesInfo name="DOI" value="10.17487/RFC5681"/>
      </reference>
      <reference anchor="RFC5762">
        <front>
          <title>RTP and the Datagram Congestion Control Protocol (DCCP)</title>
          <author fullname="C. Perkins" initials="C." surname="Perkins">
            <organization/>
          </author>
          <date month="April" year="2010"/>
          <abstract>
            <t>The Real-time Transport Protocol (RTP) is a widely used transport for real-time multimedia on IP networks.  The Datagram Congestion Control Protocol (DCCP) is a transport protocol that provides desirable services for real-time applications.  This memo specifies a mapping of RTP onto DCCP, along with associated signalling, such that real- time applications can make use of the services provided by DCCP. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5762"/>
        <seriesInfo name="DOI" value="10.17487/RFC5762"/>
      </reference>
      <reference anchor="RFC6190">
        <front>
          <title>RTP Payload Format for Scalable Video Coding</title>
          <author fullname="S. Wenger" initials="S." surname="Wenger">
            <organization/>
          </author>
          <author fullname="Y.-K. Wang" initials="Y.-K." surname="Wang">
            <organization/>
          </author>
          <author fullname="T. Schierl" initials="T." surname="Schierl">
            <organization/>
          </author>
          <author fullname="A. Eleftheriadis" initials="A." surname="Eleftheriadis">
            <organization/>
          </author>
          <date month="May" year="2011"/>
          <abstract>
            <t>This memo describes an RTP payload format for Scalable Video Coding (SVC) as defined in Annex G of ITU-T Recommendation H.264, which is technically identical to Amendment 3 of ISO/IEC International Standard 14496-10.  The RTP payload format allows for packetization of one or more Network Abstraction Layer (NAL) units in each RTP packet payload, as well as fragmentation of a NAL unit in multiple RTP packets. Furthermore, it supports transmission of an SVC stream over a single as well as multiple RTP sessions.  The payload format defines a new media subtype name "H264-SVC", but is still backward compatible to RFC 6184 since the base layer, when encapsulated in its own RTP stream, must use the H.264 media subtype name ("H264") and the packetization method specified in RFC 6184.  The payload format has wide applicability in videoconferencing, Internet video streaming, and high-bitrate entertainment-quality video, among others.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6190"/>
        <seriesInfo name="DOI" value="10.17487/RFC6190"/>
      </reference>
      <reference anchor="RFC6582">
        <front>
          <title>The NewReno Modification to TCP's Fast Recovery Algorithm</title>
          <author fullname="T. Henderson" initials="T." surname="Henderson">
            <organization/>
          </author>
          <author fullname="S. Floyd" initials="S." surname="Floyd">
            <organization/>
          </author>
          <author fullname="A. Gurtov" initials="A." surname="Gurtov">
            <organization/>
          </author>
          <author fullname="Y. Nishida" initials="Y." surname="Nishida">
            <organization/>
          </author>
          <date month="April" year="2012"/>
          <abstract>
            <t>RFC 5681 documents the following four intertwined TCP congestion control algorithms: slow start, congestion avoidance, fast retransmit, and fast recovery.  RFC 5681 explicitly allows certain modifications of these algorithms, including modifications that use the TCP Selective Acknowledgment (SACK) option (RFC 2883), and modifications that respond to "partial acknowledgments" (ACKs that cover new data, but not all the data outstanding when loss was detected) in the absence of SACK.  This document describes a specific algorithm for responding to partial acknowledgments, referred to as "NewReno".  This response to partial acknowledgments was first proposed by Janey Hoe.  This document obsoletes RFC 3782.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6582"/>
        <seriesInfo name="DOI" value="10.17487/RFC6582"/>
      </reference>
      <reference anchor="RFC6817">
        <front>
          <title>Low Extra Delay Background Transport (LEDBAT)</title>
          <author fullname="S. Shalunov" initials="S." surname="Shalunov">
            <organization/>
          </author>
          <author fullname="G. Hazel" initials="G." surname="Hazel">
            <organization/>
          </author>
          <author fullname="J. Iyengar" initials="J." surname="Iyengar">
            <organization/>
          </author>
          <author fullname="M. Kuehlewind" initials="M." surname="Kuehlewind">
            <organization/>
          </author>
          <date month="December" year="2012"/>
          <abstract>
            <t>Low Extra Delay Background Transport (LEDBAT) is an experimental delay-based congestion control algorithm that seeks to utilize the available bandwidth on an end-to-end path while limiting the consequent increase in queueing delay on that path.  LEDBAT uses changes in one-way delay measurements to limit congestion that the flow itself induces in the network.  LEDBAT is designed for use by background bulk-transfer applications to be no more aggressive than standard TCP congestion control (as specified in RFC 5681) and to yield in the presence of competing flows, thus limiting interference with the network performance of competing flows.  This document defines  an Experimental Protocol for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6817"/>
        <seriesInfo name="DOI" value="10.17487/RFC6817"/>
      </reference>
      <reference anchor="RFC6843">
        <front>
          <title>RTP Control Protocol (RTCP) Extended Report (XR) Block for Delay Metric Reporting</title>
          <author fullname="A. Clark" initials="A." surname="Clark">
            <organization/>
          </author>
          <author fullname="K. Gross" initials="K." surname="Gross">
            <organization/>
          </author>
          <author fullname="Q. Wu" initials="Q." surname="Wu">
            <organization/>
          </author>
          <date month="January" year="2013"/>
          <abstract>
            <t>This document defines an RTP Control Protocol (RTCP) Extended Report (XR) block that allows the reporting of delay metrics for use in a range of Real-time Transport Protocol (RTP) applications.   [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6843"/>
        <seriesInfo name="DOI" value="10.17487/RFC6843"/>
      </reference>
      <reference anchor="RFC7258">
        <front>
          <title>Pervasive Monitoring Is an Attack</title>
          <author fullname="S. Farrell" initials="S." surname="Farrell">
            <organization/>
          </author>
          <author fullname="H. Tschofenig" initials="H." surname="Tschofenig">
            <organization/>
          </author>
          <date month="May" year="2014"/>
          <abstract>
            <t>Pervasive monitoring is a technical attack that should be mitigated in the design of IETF protocols, where possible.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="188"/>
        <seriesInfo name="RFC" value="7258"/>
        <seriesInfo name="DOI" value="10.17487/RFC7258"/>
      </reference>
      <reference anchor="RFC7414">
        <front>
          <title>A Roadmap for Transmission Control Protocol (TCP) Specification Documents</title>
          <author fullname="M. Duke" initials="M." surname="Duke">
            <organization/>
          </author>
          <author fullname="R. Braden" initials="R." surname="Braden">
            <organization/>
          </author>
          <author fullname="W. Eddy" initials="W." surname="Eddy">
            <organization/>
          </author>
          <author fullname="E. Blanton" initials="E." surname="Blanton">
            <organization/>
          </author>
          <author fullname="A. Zimmermann" initials="A." surname="Zimmermann">
            <organization/>
          </author>
          <date month="February" year="2015"/>
          <abstract>
            <t>This document contains a roadmap to the Request for Comments (RFC) documents relating to the Internet's Transmission Control Protocol (TCP).  This roadmap provides a brief summary of the documents defining TCP and various TCP extensions that have accumulated in the RFC series.  This serves as a guide and quick reference for both TCP implementers and other parties who desire information contained in the TCP-related RFCs.</t>
            <t>This document obsoletes RFC 4614.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7414"/>
        <seriesInfo name="DOI" value="10.17487/RFC7414"/>
      </reference>
      <reference anchor="RFC7510">
        <front>
          <title>Encapsulating MPLS in UDP</title>
          <author fullname="X. Xu" initials="X." surname="Xu">
            <organization/>
          </author>
          <author fullname="N. Sheth" initials="N." surname="Sheth">
            <organization/>
          </author>
          <author fullname="L. Yong" initials="L." surname="Yong">
            <organization/>
          </author>
          <author fullname="R. Callon" initials="R." surname="Callon">
            <organization/>
          </author>
          <author fullname="D. Black" initials="D." surname="Black">
            <organization/>
          </author>
          <date month="April" year="2015"/>
          <abstract>
            <t>This document specifies an IP-based encapsulation for MPLS, called MPLS-in-UDP for situations where UDP (User Datagram Protocol) encapsulation is preferred to direct use of MPLS, e.g., to enable UDP-based ECMP (Equal-Cost Multipath) or link aggregation.  The MPLS- in-UDP encapsulation technology must only be deployed within a single network (with a single network operator) or networks of an adjacent set of cooperating network operators where traffic is managed to avoid congestion, rather than over the Internet where congestion control is required.  Usage restrictions apply to MPLS-in-UDP usage for traffic that is not congestion controlled and to UDP zero checksum usage with IPv6.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7510"/>
        <seriesInfo name="DOI" value="10.17487/RFC7510"/>
      </reference>
      <reference anchor="RFC7656">
        <front>
          <title>A Taxonomy of Semantics and Mechanisms for Real-Time Transport Protocol (RTP) Sources</title>
          <author fullname="J. Lennox" initials="J." surname="Lennox">
            <organization/>
          </author>
          <author fullname="K. Gross" initials="K." surname="Gross">
            <organization/>
          </author>
          <author fullname="S. Nandakumar" initials="S." surname="Nandakumar">
            <organization/>
          </author>
          <author fullname="G. Salgueiro" initials="G." surname="Salgueiro">
            <organization/>
          </author>
          <author fullname="B. Burman" initials="B." role="editor" surname="Burman">
            <organization/>
          </author>
          <date month="November" year="2015"/>
          <abstract>
            <t>The terminology about, and associations among, Real-time Transport Protocol (RTP) sources can be complex and somewhat opaque.  This document describes a number of existing and proposed properties and relationships among RTP sources and defines common terminology for discussing protocol entities and their relationships.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7656"/>
        <seriesInfo name="DOI" value="10.17487/RFC7656"/>
      </reference>
      <reference anchor="RFC7661">
        <front>
          <title>Updating TCP to Support Rate-Limited Traffic</title>
          <author fullname="G. Fairhurst" initials="G." surname="Fairhurst">
            <organization/>
          </author>
          <author fullname="A. Sathiaseelan" initials="A." surname="Sathiaseelan">
            <organization/>
          </author>
          <author fullname="R. Secchi" initials="R." surname="Secchi">
            <organization/>
          </author>
          <date month="October" year="2015"/>
          <abstract>
            <t>This document provides a mechanism to address issues that arise when TCP is used for traffic that exhibits periods where the sending rate is limited by the application rather than the congestion window.  It provides an experimental update to TCP that allows a TCP sender to restart quickly following a rate-limited interval.  This method is expected to benefit applications that send rate-limited traffic using TCP while also providing an appropriate response if congestion is experienced.</t>
            <t>This document also evaluates the Experimental specification of TCP Congestion Window Validation (CWV) defined in RFC 2861 and concludes that RFC 2861 sought to address important issues but failed to deliver a widely used solution.  This document therefore reclassifies the status of RFC 2861 from Experimental to Historic.  This document obsoletes RFC 2861.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7661"/>
        <seriesInfo name="DOI" value="10.17487/RFC7661"/>
      </reference>
      <reference anchor="RFC8083">
        <front>
          <title>Multimedia Congestion Control: Circuit Breakers for Unicast RTP Sessions</title>
          <author fullname="C. Perkins" initials="C." surname="Perkins">
            <organization/>
          </author>
          <author fullname="V. Singh" initials="V." surname="Singh">
            <organization/>
          </author>
          <date month="March" year="2017"/>
          <abstract>
            <t>The Real-time Transport Protocol (RTP) is widely used in telephony, video conferencing, and telepresence applications.  Such applications are often run on best-effort UDP/IP networks.  If congestion control is not implemented in these applications, then network congestion can lead to uncontrolled packet loss and a resulting deterioration of the user's multimedia experience.  The congestion control algorithm acts as a safety measure by stopping RTP flows from using excessive resources and protecting the network from overload.  At the time of this writing, however, while there are several proprietary solutions, there is no standard algorithm for congestion control of interactive RTP flows.</t>
            <t>This document does not propose a congestion control algorithm.  It instead defines a minimal set of RTP circuit breakers: conditions under which an RTP sender needs to stop transmitting media data to protect the network from excessive congestion.  It is expected that, in the absence of long-lived excessive congestion, RTP applications running on best-effort IP networks will be able to operate without triggering these circuit breakers.  To avoid triggering the RTP circuit breaker, any Standards Track congestion control algorithms defined for RTP will need to operate within the envelope set by these RTP circuit breaker algorithms.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8083"/>
        <seriesInfo name="DOI" value="10.17487/RFC8083"/>
      </reference>
      <reference anchor="RFC8084">
        <front>
          <title>Network Transport Circuit Breakers</title>
          <author fullname="G. Fairhurst" initials="G." surname="Fairhurst">
            <organization/>
          </author>
          <date month="March" year="2017"/>
          <abstract>
            <t>This document explains what is meant by the term "network transport                          Circuit Breaker".  It describes the need for Circuit Breakers (CBs) for network tunnels and applications when using non-congestion- controlled traffic and explains where CBs are, and are not, needed. It also defines requirements for building a CB and the expected outcomes of using a CB within the Internet.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="208"/>
        <seriesInfo name="RFC" value="8084"/>
        <seriesInfo name="DOI" value="10.17487/RFC8084"/>
      </reference>
      <reference anchor="RFC8085">
        <front>
          <title>UDP Usage Guidelines</title>
          <author fullname="L. Eggert" initials="L." surname="Eggert">
            <organization/>
          </author>
          <author fullname="G. Fairhurst" initials="G." surname="Fairhurst">
            <organization/>
          </author>
          <author fullname="G. Shepherd" initials="G." surname="Shepherd">
            <organization/>
          </author>
          <date month="March" year="2017"/>
          <abstract>
            <t>The User Datagram Protocol (UDP) provides a minimal message-passing transport that has no inherent congestion control mechanisms.  This document provides guidelines on the use of UDP for the designers of applications, tunnels, and other protocols that use UDP.  Congestion control guidelines are a primary focus, but the document also provides guidance on other topics, including message sizes, reliability, checksums, middlebox traversal, the use of Explicit Congestion Notification (ECN), Differentiated Services Code Points (DSCPs), and ports.</t>
            <t>Because congestion control is critical to the stable operation of the Internet, applications and other protocols that choose to use UDP as an Internet transport must employ mechanisms to prevent congestion collapse and to establish some degree of fairness with concurrent traffic.  They may also need to implement additional mechanisms, depending on how they use UDP.</t>
            <t>Some guidance is also applicable to the design of other protocols (e.g., protocols layered directly on IP or via IP-based tunnels), especially when these protocols do not themselves provide congestion control.</t>
            <t>This document obsoletes RFC 5405 and adds guidelines for multicast UDP usage.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="145"/>
        <seriesInfo name="RFC" value="8085"/>
        <seriesInfo name="DOI" value="10.17487/RFC8085"/>
      </reference>
      <reference anchor="RFC8095">
        <front>
          <title>Services Provided by IETF Transport Protocols and Congestion Control Mechanisms</title>
          <author fullname="G. Fairhurst" initials="G." role="editor" surname="Fairhurst">
            <organization/>
          </author>
          <author fullname="B. Trammell" initials="B." role="editor" surname="Trammell">
            <organization/>
          </author>
          <author fullname="M. Kuehlewind" initials="M." role="editor" surname="Kuehlewind">
            <organization/>
          </author>
          <date month="March" year="2017"/>
          <abstract>
            <t>This document describes, surveys, and classifies the protocol mechanisms provided by existing IETF protocols, as background for determining a common set of transport services.  It examines the Transmission Control Protocol (TCP), Multipath TCP, the Stream Control Transmission Protocol (SCTP), the User Datagram Protocol (UDP), UDP-Lite, the Datagram Congestion Control Protocol (DCCP), the Internet Control Message Protocol (ICMP), the Real-Time Transport Protocol (RTP), File Delivery over Unidirectional Transport / Asynchronous Layered Coding (FLUTE/ALC) for Reliable Multicast, NACK- Oriented Reliable Multicast (NORM), Transport Layer Security (TLS), Datagram TLS (DTLS), and the Hypertext Transport Protocol (HTTP), when HTTP is used as a pseudotransport.  This survey provides background for the definition of transport services within the TAPS working group.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8095"/>
        <seriesInfo name="DOI" value="10.17487/RFC8095"/>
      </reference>
      <reference anchor="RFC8216">
        <front>
          <title>HTTP Live Streaming</title>
          <author fullname="R. Pantos" initials="R." role="editor" surname="Pantos">
            <organization/>
          </author>
          <author fullname="W. May" initials="W." surname="May">
            <organization/>
          </author>
          <date month="August" year="2017"/>
          <abstract>
            <t>This document describes a protocol for transferring unbounded streams of multimedia data.  It specifies the data format of the files and the actions to be taken by the server (sender) and the clients (receivers) of the streams.  It describes version 7 of this protocol.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8216"/>
        <seriesInfo name="DOI" value="10.17487/RFC8216"/>
      </reference>
      <reference anchor="RFC8312">
        <front>
          <title>CUBIC for Fast Long-Distance Networks</title>
          <author fullname="I. Rhee" initials="I." surname="Rhee">
            <organization/>
          </author>
          <author fullname="L. Xu" initials="L." surname="Xu">
            <organization/>
          </author>
          <author fullname="S. Ha" initials="S." surname="Ha">
            <organization/>
          </author>
          <author fullname="A. Zimmermann" initials="A." surname="Zimmermann">
            <organization/>
          </author>
          <author fullname="L. Eggert" initials="L." surname="Eggert">
            <organization/>
          </author>
          <author fullname="R. Scheffenegger" initials="R." surname="Scheffenegger">
            <organization/>
          </author>
          <date month="February" year="2018"/>
          <abstract>
            <t>CUBIC is an extension to the current TCP standards.  It differs from the current TCP standards only in the congestion control algorithm on the sender side.  In particular, it uses a cubic function instead of a linear window increase function of the current TCP standards to improve scalability and stability under fast and long-distance networks.  CUBIC and its predecessor algorithm have been adopted as defaults by Linux and have been used for many years.  This document provides a specification of CUBIC to enable third-party implementations and to solicit community feedback through experimentation on the performance of CUBIC.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8312"/>
        <seriesInfo name="DOI" value="10.17487/RFC8312"/>
      </reference>
      <reference anchor="RFC8404">
        <front>
          <title>Effects of Pervasive Encryption on Operators</title>
          <author fullname="K. Moriarty" initials="K." role="editor" surname="Moriarty">
            <organization/>
          </author>
          <author fullname="A. Morton" initials="A." role="editor" surname="Morton">
            <organization/>
          </author>
          <date month="July" year="2018"/>
          <abstract>
            <t>Pervasive monitoring attacks on the privacy of Internet users are of serious concern to both user and operator communities.  RFC 7258 discusses the critical need to protect users' privacy when developing IETF specifications and also recognizes that making networks unmanageable to mitigate pervasive monitoring is not an acceptable outcome: an appropriate balance is needed.  This document discusses current security and network operations as well as management practices that may be impacted by the shift to increased use of encryption to help guide protocol development in support of manageable and secure networks.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8404"/>
        <seriesInfo name="DOI" value="10.17487/RFC8404"/>
      </reference>
      <reference anchor="RFC8446">
        <front>
          <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla">
            <organization/>
          </author>
          <date month="August" year="2018"/>
          <abstract>
            <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol.  TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
            <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961.  This document also specifies new requirements for TLS 1.2 implementations.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8446"/>
        <seriesInfo name="DOI" value="10.17487/RFC8446"/>
      </reference>
      <reference anchor="RFC8622">
        <front>
          <title>A Lower-Effort Per-Hop Behavior (LE PHB) for Differentiated Services</title>
          <author fullname="R. Bless" initials="R." surname="Bless">
            <organization/>
          </author>
          <date month="June" year="2019"/>
          <abstract>
            <t>This document specifies properties and characteristics of a Lower- Effort Per-Hop Behavior (LE PHB).  The primary objective of this LE PHB is to protect Best-Effort (BE) traffic (packets forwarded with the default PHB) from LE traffic in congestion situations, i.e., when resources become scarce, BE traffic has precedence over LE traffic and may preempt it.  Alternatively, packets forwarded by the LE PHB can be associated with a scavenger service class, i.e., they scavenge otherwise-unused resources only.  There are numerous uses for this PHB, e.g., for background traffic of low precedence, such as bulk data transfers with low priority in time, non-time-critical backups, larger software updates, web search engines while gathering information from web servers and so on.  This document recommends a standard Differentiated Services Code Point (DSCP) value for the LE PHB.</t>
            <t>This specification obsoletes RFC 3662 and updates the DSCP recommended in RFCs 4594 and 8325 to use the DSCP assigned in this specification.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8622"/>
        <seriesInfo name="DOI" value="10.17487/RFC8622"/>
      </reference>
      <reference anchor="RFC8723">
        <front>
          <title>Double Encryption Procedures for the Secure Real-Time Transport Protocol (SRTP)</title>
          <author fullname="C. Jennings" initials="C." surname="Jennings">
            <organization/>
          </author>
          <author fullname="P. Jones" initials="P." surname="Jones">
            <organization/>
          </author>
          <author fullname="R. Barnes" initials="R." surname="Barnes">
            <organization/>
          </author>
          <author fullname="A.B. Roach" initials="A.B." surname="Roach">
            <organization/>
          </author>
          <date month="April" year="2020"/>
          <abstract>
            <t>In some conferencing scenarios, it is desirable for an intermediary to be able to manipulate some parameters in Real-time Transport Protocol (RTP) packets, while still providing strong end-to-end security guarantees. This document defines a cryptographic transform for the Secure Real-time Transport Protocol (SRTP) that uses two separate but related cryptographic operations to provide hop-by-hop and end-to-end security guarantees.  Both the end-to-end and hop-by-hop cryptographic algorithms can utilize an authenticated encryption with associated data (AEAD) algorithm or take advantage of future SRTP transforms with different properties.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8723"/>
        <seriesInfo name="DOI" value="10.17487/RFC8723"/>
      </reference>
      <reference anchor="RFC8824">
        <front>
          <title>Static Context Header Compression (SCHC) for the Constrained Application Protocol (CoAP)</title>
          <author fullname="A. Minaburo" initials="A." surname="Minaburo">
            <organization/>
          </author>
          <author fullname="L. Toutain" initials="L." surname="Toutain">
            <organization/>
          </author>
          <author fullname="R. Andreasen" initials="R." surname="Andreasen">
            <organization/>
          </author>
          <date month="June" year="2021"/>
          <abstract>
            <t>This document defines how to compress Constrained Application Protocol (CoAP) headers using the Static Context Header Compression and fragmentation (SCHC) framework. SCHC defines a header compression mechanism adapted for Constrained Devices. SCHC uses a static description of the header to reduce the header's redundancy and size. While RFC 8724 describes the SCHC compression and fragmentation framework, and its application for IPv6/UDP headers, this document applies SCHC to CoAP headers. The CoAP header structure differs from IPv6 and UDP, since CoAP uses a flexible header with a variable number of options, themselves of variable length. The CoAP message format is asymmetric: the request messages have a header format different from the format in the response messages. This specification gives guidance on applying SCHC to flexible headers and how to leverage the asymmetry for more efficient compression Rules.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8824"/>
        <seriesInfo name="DOI" value="10.17487/RFC8824"/>
      </reference>
      <reference anchor="RFC8825">
        <front>
          <title>Overview: Real-Time Protocols for Browser-Based Applications</title>
          <author fullname="H. Alvestrand" initials="H." surname="Alvestrand">
            <organization/>
          </author>
          <date month="January" year="2021"/>
          <abstract>
            <t>This document gives an overview and context of a protocol suite intended for use with real-time applications that can be deployed in browsers -- "real-time communication on the Web".</t>
            <t>It intends to serve as a starting and coordination point to make sure that (1) all the parts that are needed to achieve this goal are findable and (2) the parts that belong in the Internet protocol suite are fully specified and on the right publication track.</t>
            <t>This document is an applicability statement -- it does not itself specify any protocol, but it specifies which other specifications implementations are supposed to follow to be compliant with Web Real-Time Communication (WebRTC).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8825"/>
        <seriesInfo name="DOI" value="10.17487/RFC8825"/>
      </reference>
      <reference anchor="RFC8834">
        <front>
          <title>Media Transport and Use of RTP in WebRTC</title>
          <author fullname="C. Perkins" initials="C." surname="Perkins">
            <organization/>
          </author>
          <author fullname="M. Westerlund" initials="M." surname="Westerlund">
            <organization/>
          </author>
          <author fullname="J. Ott" initials="J." surname="Ott">
            <organization/>
          </author>
          <date month="January" year="2021"/>
          <abstract>
            <t>The framework for Web Real-Time Communication (WebRTC) provides support for direct interactive rich communication using audio, video, text, collaboration, games, etc. between two peers' web browsers. This memo describes the media transport aspects of the WebRTC framework. It specifies how the Real-time Transport Protocol (RTP) is used in the WebRTC context and gives requirements for which RTP features, profiles, and extensions need to be supported.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8834"/>
        <seriesInfo name="DOI" value="10.17487/RFC8834"/>
      </reference>
      <reference anchor="RFC8835">
        <front>
          <title>Transports for WebRTC</title>
          <author fullname="H. Alvestrand" initials="H." surname="Alvestrand">
            <organization/>
          </author>
          <date month="January" year="2021"/>
          <abstract>
            <t>This document describes the data transport protocols used by Web Real-Time Communication (WebRTC), including the protocols used for interaction with intermediate boxes such as firewalls, relays, and NAT boxes.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8835"/>
        <seriesInfo name="DOI" value="10.17487/RFC8835"/>
      </reference>
      <reference anchor="RFC8999">
        <front>
          <title>Version-Independent Properties of QUIC</title>
          <author fullname="M. Thomson" initials="M." surname="Thomson">
            <organization/>
          </author>
          <date month="May" year="2021"/>
          <abstract>
            <t>This document defines the properties of the QUIC transport protocol that are common to all versions of the protocol.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8999"/>
        <seriesInfo name="DOI" value="10.17487/RFC8999"/>
      </reference>
      <reference anchor="RFC9000">
        <front>
          <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
          <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar">
            <organization/>
          </author>
          <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson">
            <organization/>
          </author>
          <date month="May" year="2021"/>
          <abstract>
            <t>This document defines the core of the QUIC transport protocol.  QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances.  Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9000"/>
        <seriesInfo name="DOI" value="10.17487/RFC9000"/>
      </reference>
      <reference anchor="RFC9001">
        <front>
          <title>Using TLS to Secure QUIC</title>
          <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson">
            <organization/>
          </author>
          <author fullname="S. Turner" initials="S." role="editor" surname="Turner">
            <organization/>
          </author>
          <date month="May" year="2021"/>
          <abstract>
            <t>This document describes how Transport Layer Security (TLS) is used to secure QUIC.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9001"/>
        <seriesInfo name="DOI" value="10.17487/RFC9001"/>
      </reference>
      <reference anchor="RFC9002">
        <front>
          <title>QUIC Loss Detection and Congestion Control</title>
          <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar">
            <organization/>
          </author>
          <author fullname="I. Swett" initials="I." role="editor" surname="Swett">
            <organization/>
          </author>
          <date month="May" year="2021"/>
          <abstract>
            <t>This document describes loss detection and congestion control mechanisms for QUIC.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9002"/>
        <seriesInfo name="DOI" value="10.17487/RFC9002"/>
      </reference>
      <reference anchor="RFC9065">
        <front>
          <title>Considerations around Transport Header Confidentiality, Network Operations, and the Evolution of Internet Transport Protocols</title>
          <author fullname="G. Fairhurst" initials="G." surname="Fairhurst">
            <organization/>
          </author>
          <author fullname="C. Perkins" initials="C." surname="Perkins">
            <organization/>
          </author>
          <date month="July" year="2021"/>
          <abstract>
            <t>To protect user data and privacy, Internet transport protocols have supported payload encryption and authentication for some time. Such encryption and authentication are now also starting to be applied to the transport protocol headers. This helps avoid transport protocol ossification by middleboxes, mitigate attacks against the transport protocol, and protect metadata about the communication. Current operational practice in some networks inspect transport header information within the network, but this is no longer possible when those transport headers are encrypted.</t>
            <t>This document discusses the possible impact when network traffic uses a protocol with an encrypted transport header. It suggests issues to consider when designing new transport protocols or features.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9065"/>
        <seriesInfo name="DOI" value="10.17487/RFC9065"/>
      </reference>
      <reference anchor="RFC9114">
        <front>
          <title>HTTP/3</title>
          <author fullname="M. Bishop" initials="M." role="editor" surname="Bishop">
            <organization/>
          </author>
          <date month="June" year="2022"/>
          <abstract>
            <t>The QUIC transport protocol has several features that are desirable in a transport for HTTP, such as stream multiplexing, per-stream flow control, and low-latency connection establishment.  This document describes a mapping of HTTP semantics over QUIC.  This document also identifies HTTP/2 features that are subsumed by QUIC and describes how HTTP/2 extensions can be ported to HTTP/3.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9114"/>
        <seriesInfo name="DOI" value="10.17487/RFC9114"/>
      </reference>
      <reference anchor="RFC9260">
        <front>
          <title>Stream Control Transmission Protocol</title>
          <author fullname="R. Stewart" initials="R." surname="Stewart">
            <organization/>
          </author>
          <author fullname="M. Tüxen" initials="M." surname="Tüxen">
            <organization/>
          </author>
          <author fullname="K. Nielsen" initials="K." surname="Nielsen">
            <organization/>
          </author>
          <date month="June" year="2022"/>
          <abstract>
            <t>This document describes the Stream Control Transmission Protocol (SCTP) and obsoletes RFC 4960.  It incorporates the specification of the chunk flags registry from RFC 6096 and the specification of the I bit of DATA chunks from RFC 7053. Therefore, RFCs 6096 and 7053 are also obsoleted by this document. In addition, RFCs 4460 and 8540, which describe errata for SCTP, are obsoleted by this document. </t>
            <t>SCTP was originally designed to transport Public Switched Telephone Network (PSTN) signaling messages over IP networks. It is also suited to be used for other applications, for example, WebRTC.</t>
            <t>SCTP is a reliable transport protocol operating on top of a connectionless packet network, such as IP. It offers the following services to its users:</t>
            <t>The design of SCTP includes appropriate congestion avoidance behavior and resistance to flooding and masquerade attacks.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9260"/>
        <seriesInfo name="DOI" value="10.17487/RFC9260"/>
      </reference>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAHJ1zGIAA+y9624bWZYu+J9PEVDiTEp1GNTFki35NHpaluRMZ9lOlSU7
u7rRKAQZQTHSZAQrIihZ5fZBv8PMn3mLeYD5NfMm/SSzvnXZlyDpdBYOBoPB
FNCdMsnYsS9rr+u31krTdNCV3bx4nvy8LJqsK+sqmycXddWWuf67TaZ1k9x0
TZEtyuoueVPkZTbIxuOmuH8u/wq+/XnZDvJ6UmULGjNvsmmXlkU3TRf1sk1b
+1laLyc0cnp4OMizrng+mND/v6ubx+dJWU3rQblsnidds2q7o4ODs4OjgTz5
PHl1dftykNHfNOHrm8FD3Xy8a+rVkiaCf38sHumjnH5XdUVTFV16iSkM6Pms
yv+SzeuKpvVYtINl+Tz5166eDJO2bmjwaUt/PS7kD1rAIlsuaaL/Nhhkq25W
N88HSZLS/yU0wfZ58tMo+bGez2lQ/kyW+1P2sYg+rpu758n5x2yRlcltMZlV
9by+Kwt6w6tqMuKfYGFF9zw5PDlIXjR1lj9kj/zFpOxoNy6yxbgp87timLw5
Tw6ODo+P5dt6VXXYrvdV2RU5HQBtYJvU0+R8UTTlJONfFfTi+fPkV5rXTKY1
oj35pzt8PJrUi3hN56PkRXFXVMGKzudl8Bkv523RYdfpnUII0WxuV/TNY/ju
bF6Oxhjhnyp7cLTQB4N334ySy+zhI/0dvP1mWVSToom+4Tnc4vOqs7Umr19f
/P5daWX0XAYfgUqDnRmADpsF3YB7Ik967uLD21fP+fkua+5wZLOuW7bP9/cf
Hh5Gk7Kd1Hhwf7JfVPurdr+t5yu+PvsTbD2RYzbfb4vmvpwU6bKp73HB9u/L
dpXNU90b3IyyyotP6X1V7j/MaBHpMqOLmU4OD9Nnx4fHZwejWbeY8zz45iRH
B0cH6cETmZlc5Z0LzCb5wGPbgeFyvsLYz5OXdVNMsrZLiCCS26aocqLIo4PD
ZykNdpT8gvcm13jvTvSiw7P04Cg9eobtuL642LwbZVEUn5ZzesUIf47owPbp
Pq0WdGD7pyfPDo9OT6PJXtHR3DFjub76AUdW5VmTC9e5rks65ot5vcqJKS2W
TdG2tKcyLX8x8b/UEdLNZPaQNX+LPy9otfPR2nJk3+hY6FbixMFhrq6Sn+pV
A0ZYV4mbHjbrppgXE1DWbb0sJy0NnVyUzWRVdq18/9h2xaLFBmE1Wwjmq1t0
9uTZ8dPjeIt4Z14taCYtkSMdbF7UtB85pmUbtr4nqWNVb+hm14+TYrB5Q8Ll
Xzf1pCgwMt+bblbwjvCK3tDyDg83rymfj7LJQpdS7h8ejA4Pj0/2D8+On5yc
HI34v8+Oo1WdVwltA70b66bNLu6z+YpFDt5MwqdIszxbdvJRNif5UHazBe86
f4G9cCIlqe+JVfx4e3v9deo4/zhrZ9m4jL8g3ncRsj/3BX16Wd839bxsY+I5
pLuwtnvnF29km3S/ro8O/h4SODp9dnj4LL4lujm0UJwJbRuzJ+JgzN6Wy3nx
fZvM64cUvKaaPCY/vr75yk78kda1arKPv3lLwF3ONt8SLBALff06vTy/+XEL
YWTtrJzaAtv9i3fpa5rla5ll+poOMW1OR8t8Gq33dbCSN3VeCD/Aa76yKHyd
vnq5gTuCgb85f5le3F5tZ+IZS2rm4sTAiY0vVvOuZGnlDqcN2fJ+sN+BckPK
wzTln/Gv1tb2ft41WbgLgf70vsX/v5itKpKU6VU1obXnzFv0M2LYWdVOi6ah
v7Gmjfuh/zVJ+ks5nyevswf3MW/XL6PoMxatO1vVlZ4sOE0PD7Ct5y/e3aya
++Lx2wk9G9NeZZMukAvHR8enh7EQO09kXDDhF2UHfpCce35AXL5YFBuV0+Tn
b2AFL0bJbZZVv4MP3JbgwEUTf/FulPwLf0GXsepvv2pR47yYz7KPNC4YXTEO
71kSal/rX3thtfkOklRcrCpSbURVly1rk/+JVLGO+GU2Z1bEdASevuWOFvfF
vAapZmAkfAPsbHjgffzyL3O6q39xZL4/m7d/ka2lf/2F1KlJOdWJ/IVO5S88
1l9obNJ42uhoiTUl5/Yk1Dz/JJ8ns7PkUp78yhny7wJlOrzzT7HuV+cvJtC0
trEmWh0R4kdaONQ/Y1L7ardk45SfJkUBGlQ7q5f74TreFUuyHZJpUy9EUJ6/
SC5+/vDqMj08M7WLxPaSSL1NftEReHrbl0TS+rz5+LFek1svM7rx8/hjkut/
/L/+j9m8eCjV4gjp9bponNoc7AzZXOCGt+ek7T19unlnMNHRpMtGHbGBfdJW
8xWtYd+zuL+SZkkGSlpPU5Hh0KVTIiPikNBu6aOOCDUlxpUuio5074gC/IX9
kwwEIXblBkqueKAhtBEdiVngm2Ck/u4x94LhSlTbePb1mJy3bT0pmbi2CAba
ipODg+PftRUPxTgFgSvZplDn67SY1C2rgEQ4iwV9zMIjncxpWV0KektpKH5b
uB0X/GNlXhf8YzJ6uizZvXhzcbm3nVpo6huENS786/Ob21d/j4r+9OkZGZlH
sfKhoyXniS4F7gEyt8jaIuOG9hu3Nn8kdldOvqqbJbuQ0XtfudOvSTEpSKue
THp34AOx5mxOqi5Z8WvfXGfzRdlm1fq9eZORLaRPOGb6JD1cV96uwQk61a7t
umIzf35XkPx8TH+8fvF2847OluOKuOb+eFXOwWfT8byefGxxPbpJzDR2fizv
ZribTn8js/+B5hEaarsXM9pD+uyIBJWOmbzgMXFTbi+u92JxfETq6Anm+lM2
qcctUd4fM2IXW/g9nfl8PB/d1ff7rKHARq3usvu6zPvKCt2ou6JlznyO73nG
rI7I4W8/SDoVm8w61+LJBSs4PDs9Nc708/X54ekWLa0YjxZlNyryFU15mcU7
e0GfwIIhfkvXck50NM8e0xdZW+ThOnTmTLPMttVX9BWi/ACuvOqtI/mRRHY2
zz42ZTurspi7kH6kdzwksfc3V29f/XPy9ubyFRvRJD6Oj59s10jLrMpEZSK7
964SBdScCFAuiNnSGGm1WoxxjNu/GnWfumizbuSnyVv6qToCSK9kgUZct6vp
0vD8krc8AAm7u5Iu9OM63R3LqdHFvv7z4bPfZR4+OTg6Oz14OuL/Hh1GE3yV
02rL6SNIH6zjJsW8xPymqzKdl5/krrJB+K7I5ilpaMXX1IUR/azI16mRVj6Z
xcf3bJNvAOadLtRM/K9YPnyAbc2LbtVK33929uTozPtw3GJvft5/dXWRHD05
ODhLD59D4Usuv52h0mquMzqsQ/PIwlVi2ltC5tOkKZdiR9NRt8UdSCkRD1e7
5uUh5hguL705f3v5O9b49Ozg2W+u8QRrfPb3rPGE+DoRL32JtajrLMENaUEb
+G2yiyn3eCTO1C8MptPvOrdDotOvrolUq7PnkMHJG2c3JoGOoNud7PL7z/2Z
nTkNYPszmO4esyw9PFop/7p3H02p4Xfc3jyPRc/o6OhodJDAP67eTXpF53Wl
NPmhqOApTcRegLBZkApMfy3LSbdqVBHLVKeCabrKyzop/XjPzQu2s313u9Wo
JF2jKSb7t+m7q4tUZ7bGQk/TI9Znbl6+O3+zxXTfqsZPZrS9RSMBiHbaEKfb
7/HACS1Jb8xLfC96Otb7A8IKye6P9QK+0LuCiAnzeHf7fNMQ74o5mQtktHgu
uku/3fO8FDbpfVk8fNVcF3vxTfapXCQ3NPtsnD06W8Dxq94337Qfi6KA82i/
hLArFymTCgdlDg73F3BPw1bcb+fEUdt006/StmjbjJTeppynhyfBd/brrEpX
S5xeSvqHtxVENc7mtEOV+iBDcj2mwZhiy0lTx5vLHz1kxBVo98jkJxFIYp3l
9ZQscagib8quvBM6fkmX45cyfVnGRnFMjl/3k9xmFe38G7gGZt7Q7/3oTdaR
2vDAjtWyXdFOb/nhT3VbLGfQaF/XpNAWTb3lh5eIuuVwJbyfTMo1sbNzdHBw
mpx0MzP51cjp2f64mIEOST+zTbJHh8lyOUqePkufnsZs4+AUJ/Di6sfzD9su
WSzAs3HrfbwnR0+fHZyN+L/HJzHHqR+SxWoySyZZlYyLWXZf1qTA6/CY5qyY
L5O6mpcVqSH5Paw9uMD+5285rp9WVfLnbM3rot++xfCvy9WWr3/I6Otf6P9t
+f4Xorh/mW3//s/08p/K7d//y6xgT556kqID/eWXX5LvD842utsPT+m0+EpV
Fo+d+KMkeiYORcTyAAuM9OFz3Ecc4RmzqTY5enr4n//xvxw9O+gd8Rmu2tGB
P+ij33/SZ8eHx6fPRvzfszhG8fPaEQ43HviQ6ZQmfZ9NHr/lkM/vy+SHep5P
s2a85ScXGW1cg9df0dVdgfOt73nvtuhuk0r3oZ7TdUpOjl+17Yr++yZ7ZAc/
XZbk6IT3sqdIwNgijsjuz0uSTO+3aEe0f7yPtH9Pnpwd7P86WR4eHB8cPDmL
tu48l8tLEmiVw8iWUBdRDod7zA06lR9A29XNPveb/S07SXIjL5ObLC/uZst6
tY2/vSX5MS9/zZIP8+zXcrK+ky46Nk0uHmFcQAbCiYNFXMvJJofDpKpHyfHz
5JTo7vTJ0WjNcjg8Sg/ZTffi/PX524tXb3/Yso3lXUlTEpdKO5pnD6N2shIj
cNbNf92/r+dHz/bLtj3cP4olPOyzaqLsULimTfChpHv2wlPorVHot2zl5Yps
ySq5hNOWHttAbkfPaKdJAU8u5iStE7b6A6/U6+zBoozDhChwlNADQoCHZGuS
AUvKxFGP7g7Up5meX958zWgcswc33Ah6SDb6evtz46JDlDpvmWbDp2/polzU
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
AQA=

-->

</rfc>
