<?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-rfc2629 version 1.6.6 (Ruby 3.0.4) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-mops-streaming-opcons-10" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.4 -->
  <front>
    <title abbrev="Media Streaming Ops">Operational Considerations for Streaming Media</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-mops-streaming-opcons-10"/>
    <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="April" day="21"/>
    <area>OPS</area>
    <workgroup>MOPS</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document provides an overview of operational networking issues
that pertain to quality of experience when streaming video and other
high-bitrate media over the Internet.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro">
      <name>Introduction</name>
      <t>This document examines networking and transport protocol issues as they relate to quality of experience (QOE) in Internet media delivery, especially focusing on capturing characteristics of streaming video delivery that have surprised network designers or transport experts who lack specific video expertise, since streaming media highlights key differences between common assumptions in existing networking practices and observations of video delivery issues encountered when streaming media over those existing networks.</t>
      <t>This document specifically focuses on streaming applications and defines streaming as follows:</t>
      <ul spacing="normal">
        <li>Streaming is transmission of a continuous media from a server to a client and its simultaneous consumption by the client.</li>
        <li>Here, "continuous media" refers to media and associated streams such as video, audio, metadata, etc. In this definition, the critical term is "simultaneous", as it is not considered streaming if one downloads a video file and plays it after the download is completed, which would be called download-and-play.</li>
      </ul>
      <t>This has two implications.</t>
      <ul spacing="normal">
        <li>First, the server's transmission rate must (loosely or tightly) match to client's consumption rate in order to provide uninterrupted playback. That is, the client must not run out of data (buffer underrun) or accept more data than it can buffer before playback (buffer overrun) as any excess media that cannot be buffered is simply discarded.</li>
        <li>Second, the client's consumption rate is limited not only by bandwidth availability,but also media availability. The client cannot fetch media that is not available from a server yet.</li>
      </ul>
      <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"/> that we expect to be 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>A number of useful pointers for further reading on this rapidly changing subject (<xref target="further"/>).</li>
      </ul>
      <t>Making specific recommendations on operational practices aimed at mitigating the issues described in this document is out of scope, though some existing mitigations are mentioned in passing.  The intent is to provide a point of reference for future solution proposals to use in describing how new technologies address or avoid existing observed problems.</t>
      <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.
At that time, the share of traffic that was video 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 increased use of streaming video, although the amount of 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 reliable media using HTTP. HTTP is widely used 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 make use of already-deployed caching infrastructure such as CDNs (Content Delivery Networks), 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, and TCP's transport behavior is described in <xref target="tcp-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="udp-behavior"/>, and <xref target="hop-by-hop-encrypt"/>, but it is difficult to give general guidance for these applications. For instance, when 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>
        </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 tiled-based streaming, we do not 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 contraints on bandwidth at various points in the network. This analysis is necessary because media servers may react to bandwith 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 link somewhere along the path, by adjusting the amount of media 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 implement transport protocols with capacity-seeking congestion controllers that probe for bandwidth, and adjust the 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>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 at the new, lower rate, and confirms that this new, lower rate is "safe", because no transport-level loss is occuring, 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 can't probe for available path bandwidth by sending at a higher rate.</li>
        </ul>
        <t>In order to avoid these types of situations, which can potentially affect all the users whose streaming media traverses a bottleneck link, there are several possible mitigations that streaming operators can use, but the first step toward mitigating a problem is knowing when that problem occurs.</t>
        <section anchor="sec-know-your-traffic">
          <name>Recognizing Changes from an Expected Baseline</name>
          <t>There are many reasons why path characteristics might change suddenly, for example,</t>
          <ul spacing="normal">
            <li>"cross traffic" that traverses part of the path, especially if this traffic is "inelastic", and does not, itself, respond to indications of path congestion.</li>
            <li>routing changes, which can happen in normal operation, especially if the new path now includes path segments that are more heavily loaded, offer lower total bandwidth, or simply cover more distance.</li>
          </ul>
          <t>In order to recognize that a path carrying streaming media is "not behaving the way it normally does", having an expected baseline that describes "the way it normally does" is fundamental. Analytics that aid in that recognition can be more or less sophisticated, and can be as simple as noticing that the apparent round trip times for media traffic carried over TCP transport on some paths are suddenly and significantly longer than usual. Passive monitors can detect changes in the elapsed time between the acknowledgements for specific TCP segments from a TCP receiver, since TCP octet sequence numbers and acknowledgements for those sequence numbers are "carried in the clear", even if the TCP payload itself is encrypted. See <xref target="tcp-behavior"/> for more information.</t>
          <t>As transport protocols evolve to encrypt their transport header fields, one side effect of increasing encryption is that the kind of passive monitoring, or even "performance enhancement" (<xref target="RFC3135"/>) that was possible with the older transport protocols (UDP, described in <xref target="udp-behavior"/> and TCP, described in <xref target="tcp-behavior"/>) is no longer possible with newer transport protocols such as QUIC (described in <xref target="quic-behavior"/>). The IETF has specified a "latency spin bit" mechanism in Section 17.4 of <xref target="RFC9000"/> to allow passive latency monitoring from observation points on the network path throughout the duration of a connection, but currently chartered work in the IETF is focusing on end-point monitoring and reporting, rather than on passive monitoring.</t>
          <t>One example is the "qlog" mechanism <xref target="I-D.ietf-quic-qlog-main-schema"/>, a protocol-agnostic mechanism used to provide better visibility for encrypted protocols such as QUIC (<xref target="I-D.ietf-quic-qlog-quic-events"/>) and for HTTP/3 (<xref target="I-D.ietf-quic-qlog-h3-events"/>).</t>
        </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 router on the 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 in order 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 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 content 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"/>, <xref target="sec-extreme"/>).</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 at a higher bit rate than they did in the past on their connected devices. Improvements in the codecs that help with reducing 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 as well as conversational video.</t>
      </section>
      <section anchor="sec-unpredict">
        <name>Unpredictable Usage Profiles</name>
        <t>Although TCP/IP has been used with a number of widely used applications that have symmetric bandwidth requirements (similar bandwidth requirements in each direction between endpoints), many widely-used Internet applications operate in client-server roles, with asymmetric bandwidth requirements. A common example might be an HTTP GET operation, where a client sends a relatively small HTTP GET request for a resource to an HTTP server, and often receives a significantly larger response carrying the requested resource. When HTTP is commonly used to stream movie-length video, the ratio between response size and request size can become arbitrarily large.</t>
        <t>For this reason, operators may pay more attention to downstream bandwidth utilization when planning and managing capacity. In addition, operators have been able to deploy access networks for end users using underlying technologies that are inherently asymmetric, favoring downstream bandwidth (e.g. ADSL, cellular technologies, most IEEE 802.11 variants), assuming that users will need less upstream bandwidth than downstream bandwidth. This strategy usually works, except when it fails because application bandwidth usage patterns have changed in ways that were not predicted.</t>
        <t>One example of this type of change was when peer-to-peer file sharing applications gained popularity in the early 2000s. To take one well-documented case (<xref target="RFC5594"/>), the Bittorrent application created "swarms" of hosts, uploading and downloading files to each other, rather than communicating with a server. Bittorrent favored peers who uploaded as much as they downloaded, so that new Bittorrent users had an incentive to significantly increase their upstream bandwidth utilization.</t>
        <t>The combination of the large volume of "torrents" and the peer-to-peer characteristic of swarm transfers meant that end user hosts were suddenly uploading higher volumes of traffic to more destinations than was the case before Bittorrent. This caused at least one large Internet service provider (ISP) to attempt to "throttle" these transfers in order to to mitigate the load that these hosts placed on their network. These efforts were met by increased use of encryption in Bittorrent, and complaints to regulators calling for regulatory action.</t>
        <t>The BitTorrent case study is just one example, but the example is included here to make it clear that unpredicted and unpredictable massive traffic spikes may not be the result of natural disasters, but they can still have significant impacts.</t>
        <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="sec-extreme">
        <name>Extremely Unpredictable Usage Profiles</name>
        <t>The causes of unpredictable usage described in <xref target="sec-unpredict"/> were more or less the result of human choices, but we were reminded during a post-IETF 107 meeting that humans are not always in control, and forces of nature can cause enormous fluctuations in traffic patterns.</t>
        <t>In his talk, Sanjay Mishra <xref target="Mishra"/> reported that after the CoViD-19 pandemic broke out in early 2020,</t>
        <ul spacing="normal">
          <li>Comcast's streaming and web video consumption rose by 38%, with their reported peak traffic up 32% overall between March 1 to March 30,</li>
          <li>AT&amp;T reported a 28% jump in core network traffic (single day in April, as compared to pre stay-at-home daily average traffic), with video accounting for nearly half of all mobile network traffic, while
social networking and web browsing remained the highest percentage (almost a quarter each) of overall mobility traffic, and</li>
          <li>Verizon reported similar trends with video traffic up 36% over an average day (pre COVID-19)}.</li>
        </ul>
        <t>We note that other operators saw similar spikes during this time period. Craig Labowitz <xref target="Labovitz"/> reported</t>
        <ul spacing="normal">
          <li>Weekday peak traffic increases over 45%-50% from pre-lockdown levels,</li>
          <li>A 30% increase in upstream traffic over their pre-pandemic levels, and</li>
          <li>A steady increase in the overall volume of DDoS traffic, with amounts exceeding the pre-pandemic levels by 40%. (He attributed this increase to the significant rise in gaming-related DDoS attacks (<xref target="LabovitzDDoS"/>), as gaming usage also increased.)</li>
        </ul>
        <t>Subsequently, the Internet Architecture Board (IAB) held a COVID-19 Network Impacts Workshop <xref target="IABcovid"/> in November 2020. Given a larger number of reports and more time to reflect, the following observations from the draft 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>
      </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 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>Streaming media can be usefully categorized according to the application's latency requirements into a few rough categories:</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 for the media transport as well as 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>
        <t>Applications with further-specialized latency requirements are out of scope for this document.</t>
      </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, or delivering a lower quality video, or 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, shorter segments means 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 a LL-HLS client retrieves each chunk with a separate HTTP GET request, a 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 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 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 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>
      <section anchor="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 ad workflows are introduced.</t>
        <t>The challenges in filling the buffer in a timely way fall into two broad categories: 1. content selection and 2. content variation.
Content selection comprises all of the steps needed to determine which content variation to offer the client.
Content variation is the number of content options that exist at any given selection point.
A common example, easily visualized, is Adaptive BitRate (ABR), described in more detail below.
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>ABR is a sort of application-level response strategy in which the streaming client attempts to detect the available bandwidth of the network path by observing the successful application-layer download speed, then chooses a bitrate for each of the video, audio, subtitles and metadata (among the limited number of available options) 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 that describes the media being requested by the media player, 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 a 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 highest achievable video quality or lowest chances for a rebuffering event (playback stall).</t>
      </section>
      <section anchor="advertising">
        <name>Advertising</name>
        <t>A variety of business models exist for producers of streaming media. Some content providers derive the majority of the revenue associated with streaming media directly from consumer subscriptions or one-time purchases. Others derive the majority of their streaming media associated revenue from advertising. Many content providers derive income from a mix of these and other sources of funding. The inclusion of advertising alongside or interspersed with streaming media content is therefore 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 evolving space, but a complete coverage of the potential issues is out of scope for this document.</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 (herafter referred to as "ads").</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) are able to be accessed quickly.
The less targeted, the more likely the ad requests can be consolidated and can leverage the same caching techniques as 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, either of which can sometimes 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>Additionally, this market historically has had incidents of ad fraud (misreporting of ad delivery to end users for financial gain).
As a mitigation for concerns driven by those incidents, some SSPs have required the use of players with features like reporting of ad delivery, or providing information that can be used for user tracking.
Some of these and other measures have raised privacy concerns for end users.</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 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="hol-blocking">
          <name>Head-of-Line Blocking</name>
          <t>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 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>
          <t>It is worth noting that more modern transport protocols such as QUIC have mitigation of head-of-line blocking as a protocol design goal. See <xref target="quic-behavior"/> for more details.</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 connectivity for the final hop (Wi-Fi, 5G, or LTE), new problems in bandwidth detction have emerged from radio interference and signal strength effects.</t>
          <t>Each of these technologies can experience sudden changes in capacity as the end user device moves from place to place and encounters new sources of interference.
Microwave ovens, for example, can cause a throughput degradation of more than a factor of 2 while active <xref target="Micro"/>.
5G and LTE likewise can easily see rate variation by a factor of 2 or more over a span of seconds as users move around.</t>
          <t>These swings in actual transport capacity can result in user experience issues that can be exacerbated by insufficiently responsive ABR algorithms.</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, 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 is 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 into 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>Evolution of Transport Protocols and Transport Protocol Behaviors</name>
      <t>Because networking resources are shared between users, a good place to start our discussion is how contention between users, and mechanisms to resolve that contention in ways that are "fair" between users, impact streaming media users. These topics are closely tied to transport protocol behaviors.</t>
      <t>As noted in <xref target="sec-abr"/>, ABR response strategies such as HLS <xref target="RFC8216"/> or DASH <xref target="MPEG-DASH"/> are attempting to respond to changing path characteristics, and underlying transport protocols are also attempting to respond to changing path characteristics.</t>
      <t>For most of the history of the Internet, these transport protocols, described in <xref target="udp-behavior"/> and <xref target="tcp-behavior"/>, have had relatively consistent behaviors that have changed slowly, if at all, over time. Newly standardized transport protocols like QUIC <xref target="RFC9000"/> can behave differently from existing transport protocols, and these behaviors may evolve over time more rapidly than currently-used transport protocols.</t>
      <t>For this reason, we have included a description of how the path characteristics that streaming media providers may see are likely to evolve over time.</t>
      <section anchor="udp-behavior">
        <name>UDP and Its Behavior</name>
        <t>For most of the history of the Internet, we have trusted UDP-based applications to limit their impact on other users. One of the strategies used was to use UDP for simple query-response application protocols, such as DNS, which is often used to send a single-packet request to look up the IP address for a DNS name, and return a single-packet response containing the IP address. Although it is possible to saturate a path between a DNS client and DNS server with DNS requests, in practice, that was rare enough that DNS included few mechanisms to resolve contention between DNS users and other users (whether they are also using DNS, or using other application protocols that share the same pathways).</t>
        <t>In recent times, the usage of UDP-based applications that were not simple query-response protocols has grown substantially, and since UDP does not provide any feedback mechanism to senders to help limit impacts on other users, application-level protocols such as RTP <xref target="RFC3550"/> 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 in Best Current Practice <xref target="RFC8085"/>.</t>
        <t>In contrast to adaptive segmented delivery over a reliable tansport as described in <xref target="adapt-deliver"/>, some applications deliver streaming media 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 loss and repair some limited reordering,</li>
          <li>SCTP <xref target="RFC4960"/>, 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 experiences 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 in order 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 is carried in tunnels encapsulated in UDP, these media streams may encounter "tripped circuit breakers", with resulting user-visible impacts.</t>
      </section>
      <section anchor="tcp-behavior">
        <name>TCP and Its Behavior</name>
        <t>For most of the history of the Internet, we have trusted TCP to limit the impact of applications that sent a significant number of packets, in either or both directions, on other users. Although early versions of TCP were not particularly good at limiting this impact <xref target="RFC0793"/>, the addition of Slow Start and Congestion Avoidance, as described in <xref target="RFC2001"/>, were critical in allowing TCP-based applications to "use as much bandwidth as possible, but to avoid using more bandwidth than was possible". Although dozens of RFCs have been written refining TCP decisions about what to send, how much to send, and when to send it, since 1988 <xref target="Jacobson-Karels"/> the signals available for TCP senders remained unchanged - end-to-end acknowledgements for packets that were successfully sent and received, and packet timeouts for packets that were not.</t>
        <t>The success of the largely TCP-based Internet is evidence that the mechanisms TCP used to achieve equilibrium quickly, at a point where TCP senders do not interfere with other TCP senders for sustained periods of time, have been largely successful. The Internet continued to work even when the specific mechanisms used to reach equilibrium changed over time. Because TCP provides a common tool to avoid contention, as some TCP-based applications like FTP were largely replaced by other TCP-based applications like HTTP, the transport behavior remained consistent.</t>
        <t>In recent times, the TCP goal of probing for available bandwidth, and "backing off" when a network path is saturated, has been supplanted by the goal of avoiding growing queues along network paths, which prevent TCP senders from reacting quickly when a network path is 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 receiver can accept them, so the sender should adjust its sending rate accordingly.</t>
        <t>Although TCP behavior has changed over time, 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="quic-behavior">
        <name>QUIC and Its 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="udp-behavior"/> and <xref target="tcp-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="I-D.ietf-quic-http"/>, which describes how QUIC transport features 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. Since earlier versions of HTTP(S) rely on 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 HTTP/3 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="hol-blocking"/>, 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 the lost packet is retransmitted, 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="tcp-behavior"/>, there is an increasing interest in transport protocol behaviors that respond to delay measurements, instead of responding to packet loss. These behaviors may deliver 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 algorithm with transport behavior 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 in order 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="tcp-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>In this document, we will focus on media encrypted at the transport layer, whether encrypted "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 steam 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 do have 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="I-D.ietf-quic-http"/>, 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, with the exception of 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 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>
      </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 content provider's perspective, a number of considerations are in play. The first question is likely whether the content provider intends that intermediaries are explicitly addressed from endpoints, or whether the content provider is willing to allow intermediaries to "intercept" streaming content transparently, with no awareness or permission from either endpoint.</t>
        <t>If a content 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 content 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 in order 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, in order to maintain the same level of network health and user experience across networks whose users would have benefitted from this intervention a media streaming operator sometimes needs to choose between adding intermediaries who are authorized to change the manifests or adding significant extra 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 can't decrypt streaming media, the intermediary can't 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>Unfortunately, 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 in order 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 streaming operator who is explicitly authorized 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 forseeable future.</t>
      </section>
    </section>
    <section anchor="further">
      <name>Further Reading and References</name>
      <t>The Media Operations 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 link 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 it was briefly touched on in <xref target="gen-encrypt"/>. 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, Lucas Pardue, Mark Nottingham, Matt Stock, Mike English, Renan Krishna, Roni Even, Sanjay Mishra, and Will Law 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="Mishra" 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>An update on Streaming Video Alliance</title>
          <author initials="S." surname="Mishra">
            <organization/>
          </author>
          <author initials="J." surname="Thibeault">
            <organization/>
          </author>
          <date year="2020" month="April"/>
        </front>
      </reference>
      <reference anchor="Labovitz" target="https://www.nokia.com/blog/network-traffic-insights-time-covid-19-april-9-update/">
        <front>
          <title>Network traffic insights in the time of COVID-19: April 9 update</title>
          <author initials="C." surname="Labovitz">
            <organization/>
          </author>
          <date year="2020" month="April"/>
        </front>
      </reference>
      <reference anchor="LabovitzDDoS" target="https://venturebeat.com/2018/05/13/why-the-game-industry-is-still-vulnerable-to-distributed-denial-of-service-attacks/">
        <front>
          <title>Why the game industry is still vulnerable to DDoS attacks</title>
          <author initials="D." surname="Takahashi">
            <organization/>
          </author>
          <date year="2018" month="May"/>
        </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="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="I-D.ietf-quic-http">
        <front>
          <title>Hypertext Transfer Protocol Version 3 (HTTP/3)</title>
          <author fullname="Mike Bishop">
            <organization>Akamai</organization>
          </author>
          <date day="2" month="February" year="2021"/>
          <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.

DO NOT DEPLOY THIS VERSION OF HTTP

   DO NOT DEPLOY THIS VERSION OF HTTP/3 UNTIL IT IS IN AN RFC.  This
   version is still a work in progress.  For trial deployments, please
   use earlier versions.

Note to Readers

   Discussion of this draft takes place on the QUIC working group
   mailing list (quic@ietf.org), which is archived at
   https://mailarchive.ietf.org/arch/search/?email_list=quic.

   Working Group information can be found at https://github.com/quicwg;
   source code and issues list for this draft can be found at
   https://github.com/quicwg/base-drafts/labels/-http.
            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-quic-http-34"/>
      </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="6" month="April" 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.  It is intended as a
   "user's manual" for the wire image, providing guidance for 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-16"/>
      </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.ietf-quic-qlog-main-schema">
        <front>
          <title>Main logging schema for qlog</title>
          <author fullname="Robin Marx">
            <organization>KU Leuven</organization>
          </author>
          <author fullname="Luca Niccolini">
            <organization>Facebook</organization>
          </author>
          <author fullname="Marten Seemann">
            <organization>Protocol Labs</organization>
          </author>
          <date day="7" month="March" year="2022"/>
          <abstract>
            <t>   This document describes a high-level schema for a standardized
   logging format called qlog.  This format allows easy sharing of data
   and the creation of reusable visualization and debugging tools.  The
   high-level schema in this document is intended to be protocol-
   agnostic.  Separate documents specify how the format should be used
   for specific protocol data.  The schema is also format-agnostic, and
   can be represented in for example JSON, csv or protobuf.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-quic-qlog-main-schema-02"/>
      </reference>
      <reference anchor="I-D.ietf-quic-qlog-h3-events">
        <front>
          <title>HTTP/3 and QPACK qlog event definitions</title>
          <author fullname="Robin Marx">
            <organization>KU Leuven</organization>
          </author>
          <author fullname="Luca Niccolini">
            <organization>Facebook</organization>
          </author>
          <author fullname="Marten Seemann">
            <organization>Protocol Labs</organization>
          </author>
          <date day="7" month="March" year="2022"/>
          <abstract>
            <t>   This document describes concrete qlog event definitions and their
   metadata for HTTP/3 and QPACK-related events.  These events can then
   be embedded in the higher level schema defined in [QLOG-MAIN].

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-quic-qlog-h3-events-01"/>
      </reference>
      <reference anchor="I-D.ietf-quic-qlog-quic-events">
        <front>
          <title>QUIC event definitions for qlog</title>
          <author fullname="Robin Marx">
            <organization>KU Leuven</organization>
          </author>
          <author fullname="Luca Niccolini">
            <organization>Facebook</organization>
          </author>
          <author fullname="Marten Seemann">
            <organization>Protocol Labs</organization>
          </author>
          <date day="7" month="March" year="2022"/>
          <abstract>
            <t>   This document describes concrete qlog event definitions and their
   metadata for QUIC events.  These events can then be embedded in the
   higher level schema defined in [QLOG-MAIN].

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-quic-qlog-quic-events-01"/>
      </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="8" month="November" year="2021"/>
          <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-10"/>
      </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="RFC0793">
        <front>
          <title>Transmission Control Protocol</title>
          <author fullname="J. Postel" initials="J." surname="Postel">
            <organization/>
          </author>
          <date month="September" year="1981"/>
        </front>
        <seriesInfo name="STD" value="7"/>
        <seriesInfo name="RFC" value="793"/>
        <seriesInfo name="DOI" value="10.17487/RFC0793"/>
      </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="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="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="RFC4960">
        <front>
          <title>Stream Control Transmission Protocol</title>
          <author fullname="R. Stewart" initials="R." role="editor" surname="Stewart">
            <organization/>
          </author>
          <date month="September" year="2007"/>
          <abstract>
            <t>This document obsoletes RFC 2960 and RFC 3309.  It describes the Stream Control Transmission Protocol (SCTP).  SCTP is designed to transport Public Switched Telephone Network (PSTN) signaling messages over IP networks, but is capable of broader applications.</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>--  acknowledged error-free non-duplicated transfer of user data,</t>
            <t>--  data fragmentation to conform to discovered path MTU size,</t>
            <t>--  sequenced delivery of user messages within multiple streams, with an option for order-of-arrival delivery of individual user messages,</t>
            <t>--  optional bundling of multiple user messages into a single SCTP packet, and</t>
            <t>--  network-level fault tolerance through supporting of multi-homing at either or both ends of an association.</t>
            <t> The design of SCTP includes appropriate congestion avoidance behavior and resistance to flooding and masquerade attacks.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4960"/>
        <seriesInfo name="DOI" value="10.17487/RFC4960"/>
      </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="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="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="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="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="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>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA9W923IbWZIt+M6vCGNanST7AOBF1NXa2g5FMjNVJSnZIjOz
e9raygJAgIgSgEBFBESx1Gk2vzF/MR8wTzN/Ml8yvpa7770jACqz6sw8TJl1
JwUEduyLb78udx8Oh3tt2S6KV9mP66LO27Ja5Yvsolo15dT+3WSzqs5u2rrI
l+XqLntXTMt8Lx+P6+LTK/1X8u2P62ZvWk1W+VLGnNb5rB2WRTsbLqt1M2z8
sWG1nsjIw5PjvWneFq/2JvL/76r64VVWrmbVXrmuX2VtvWna0+Pjl8ene7n8
UOZ4fbN3X9Uf7+pqs5Z3498fiwf5aPoqe7Nqi3pVtMNLvHVvr2nz1fTP+aJa
yUweimZvXb7K/qOtJoOsqWqZyayRvx6W+ofMeZmv1zK3/9zbyzftvKpf7WXZ
UP4vkzk1r7I/jrIfqsVCBuVnusI/5h+LzsdVffcqO/+YL/Myuy0m81W1qO7K
Qt7wZjUZ8RHsQtG+yk6eHmev6yqf3ucP/GJStrIBF/lyXJfTu2KQvTvPjk9P
zs7022qzarFDP63KtpjKnsueNVk1y86XRV1Ocj5VyIsXr7K/yLzmOq2R7Mn/
uMPHo0m17K7pfJS9Lu6KVbKi80WZfMblvC9a7Lq8U8++M5vbjXzzkL47X5Sj
MUb4Hyv/4WhpP0zefTPKLvP7j/J38vabdbGaFHXnG87hFp+vWl9r9vbtxd+/
K42OPtXBRyDMZGf2QHr1Uoj+k1Ck/O7i5/dvXvH3bV7f4cjmbbtuXh0d3d/f
jyZlM6nww6PJUbE62jRHTbXY8MYcTbD1Qo754qgp6k/lpBiu6+oT7tTRp7LZ
5Iuh7Q0uQ7maFp+Hn1bl0f1cFjFc53IXh5OTk+Hzs5Ozl8ejebtccB68LNnp
8enx8PiJzkxv7/4FZpP9zLH9wHAf32DsV9l3VV1M8qbNhCCy27pYTYUiT49P
ng9lsNPsF7w3u8Z79zsvOnk5PD4dnj7HdlxfXOzejbIois/rhbxihD9HcmBH
cp82SzmwoxdPn5+cvnjRmeyVHM0decn11fc4stU0r6fKaK6rUo75YlFtpsKH
luu6aBrZU51WvJj43zAQ0s1kfp/Xf+t+XshqF6Ot5ei+ybHIrcSJC+e4urrK
/lhtavC+apWF6WGzbopFMQFl3VbrctLI0NlFWU82Zdvo9w9NWywbbBBW8wjB
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
pXwoiuk2NcrKJ/Pu8T3f5V6Dh8QW6l6yrzgPeIBNxUU35ug6ev7yyenL6AYN
i7358ejN1UV2+uT4+OXw5BVspuzy9zNUWc11Lod14nEMeBvdAMpE3Z/U5Vpd
UXLUTXEHUsrUSdxsOUqFOabLG96cv7/8O9b47OXx899c41Os8fk/ssanwteF
eOVLrMWU9gw3pAFt4NnsAFPu8UicaVwYvA9/17mdCJ1+dU3H0Ochg7N3wfWS
JTqCbXd2wPefxzN7GTSAx3+D6R6SZdnhyUr5dO8+ulLDd9y6HeCiZ3R6ejo6
zhBisgCBvKKNutIw+75YIdiQqckNYbMUFVj+WpcT2A6qiOWmU8G7s5mWVVbG
8V65I3n/8d1tNyMxKI/qYnJ0O/xwdTG0mW2x0BfDU+ozN999OH/3iPfrUTV+
MpftLWoN2zWzWjjdUY8HTmRJdmO+w/eqp2O93yMylx38UC0RTrgrhJgwjw+3
r3YN8aEQOxbWS+SiB/LsYeSlcOt8Kov7r3q81OXyLv9cLrMbmX0+zh+CLRD4
Ve+b/x/6Bjq2qwym7o5JXXU3lx/d58IVZPdW2Y2IQBHrlNezoqal8K5syzul
4+/kcvxSDr8ru36lLjl+3dV4m69k59/BrpxHX1nvoXdimc6Le8YmymYjO/3I
g3+smmI9h0b7thKFtqirRx68RKx6Cm/cT5NJuSV29k+Pj19kT9u5e83MyOm5
z3AxEx1SHvNN8p8OsvV6lD17Pnz2oss2jl+YtTw8v3zEd6DqyJh+g/SQ5Efy
z9fn14//bFy0iCBOG1Ji+uNbUb8uKliA7j17zWez8yldfxeV6HBdmjDtbaHG
Y7EpVM37erTgfTmZV6ZwPqqg6mb8cbN4APPZtg/2e/ttESZRCgbZz9VCjiR7
+nSQvWkamdRz3euzUzH2lHPQufnk2XH1DxhlL0+ePDk5ftzFfO7SU8b/P/93
M2GCkS0c2eO5g0wsC7HYoAyTYH5cg1nJqmBkf113+vf8r1U17n58O3rdc0J/
P8qGcoHebeSWdnTiJ9zaQfR/pHsrkvT3OYS5l2+Gl+Rsw79uyskQO/hq61Ox
rYRr5+MS7oXtr8Ek74Tjb3/zV5GE8utSWBi89PkjT8yfmLvjke/5V/eJiSgS
98ViMRTjthYbcVwPJ8EsGZo17Q+rD2qdr9qqGc4XzbCeTURFfjYuu2/E6uWz
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
1kIDJou9zLB67D6SNDMJakbc02+bHT7kBTC9Ec/vzRs7lS8muyIfXqrG2XAK
Oti6Zn1cV6vqUaP1pkIbH6oMrFG3K12rD/dK4t5qc3WTKKDiwyYQ1mtPmqaT
urUNGdhFY3lMWfu8FdPtmjQ4hm7LJEMnh1kZsmeXL913rPg8l7vfpi4vheS6
tW15Tu7fokloXYkfvJJICnIBMCXYpnhaBXZX20y4mqUk7AosVJX36e5XMoo1
OfK7MnaI8ct8SgVrRrQ3Wx+hMF34idpsOwpzWLc+5lQtHtLrAKb3vrj/UKys
L/Czpy9O0W8sINK5Pnc80DJGBLRCBibTBbUcRKiU3q1XvSOXGmdkqufFT68d
+/fiyckpSJek5l/DDyHTf/36Q9R7WUNkrqUdtATFItHyzGGY+M2INW4f9PJo
ll1MN+GGaVSxpP/lfvcdThTjYtEGeJe9JTFOQtDFlhPKrutSdw6ueaotm+NM
2ZYJa/aMycTHny40Hi6tRpzfsGkftIDkrgX49j9y4HrpOF2dKp0+8l867lDw
Oki4tyJvPruPYTuQqNsbW5iGPJimNNnCt3BcapZaz0RVfAUszXIEy0yS71qM
vJWz6I+nRylD3S2qMQjT6EEduUvVq3dzTfO/f+WlKqDSmvHlo74XrTQeE2ZA
Z7hISZxAxUcoy/B7Bh2kAIEkMTYg+jVL9yNjEwCbttRM8K99N6hSIJTH/omE
ZZ8KMRbGG8UT0SuxdAe+lRpnQWWzYPYDRMrqi3VRTwN1PcSl1Y1DiFmypq3i
d2buWfqjlRxGaMBgWo/tSJgBWUOcv44Hd7ca6e7MMrhXqkeOsseym3dp6NYQ
gGrvIKg9VI/VaPJM20nba6QasQvYw0c5TYdpr6JL2XOBdCmcwEk0LE57c4Gt
1E3b9mJ0qXM1Ot3pkHAjwFw1yVewPv1LbYPD9HWWuoJ27PsT3AMwwFzYoBnl
gq4yoV9iVd1kQ6YBy6HnqzSoEHTrOcrXsMaeVWfMqlWEl9CdnFTcf5xVGIbp
H1kvU0Ni0uKV+i2KqeWMfflmpxNkb2+/96SF770PVjuvC+p4iANqXaJ3qWOk
mHp5hF2l3kIRJqVGBdRYn6HLUmw8QBpgbTcopZ5rvC47uPzw7tCuj92bpE/5
0mDLcQL7qgO2iJErm1YVIAnnQay02qF9tGMJFvswr7ktaKsWjo63/X41mcpW
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
xDhuNwEA

-->

</rfc>
