<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="exp" consensus="false" docName="draft-romo-iccrg-ccid5-00" indexInclude="true" ipr="trust200902" prepTime="2021-10-25T19:55:35" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <!-- xml2rfc v2v3 conversion 3.9.1 -->
  <front>
    <title abbrev="CCID5">Profile for Datagram Congestion Control Protocol (DCCP) Congestion Control ID 5</title>
    <seriesInfo name="Internet-Draft" value="draft-romo-iccrg-ccid5-00" stream="IETF"/>
    <author initials="N." surname="Romo" fullname="Nathalie Romo Moreno">
      <organization abbrev="DT" showOnFrontPage="true">Deutsche Telekom</organization>
      <address>
        <postal>
          <street>Deutsche-Telekom-Allee 9</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>nathalie.romo-moreno@telekom.de</email>
      </address>
    </author>
    <author initials="J." surname="Kim" fullname="Juhoon Kim">
      <organization abbrev="DT" showOnFrontPage="true">Deutsche Telekom</organization>
      <address>
        <postal>
          <street>Winterfeldstr. 21</street>
          <city>Berlin</city>
          <code>10781</code>
          <country>Germany</country>
        </postal>
        <email>j.kim@telekom.de</email>
      </address>
    </author>
    <author initials="M." surname="Amend" fullname="Markus Amend">
      <organization abbrev="DT" showOnFrontPage="true">Deutsche Telekom</organization>
      <address>
        <postal>
          <street>Deutsche-Telekom-Allee 9</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>Markus.Amend@telekom.de</email>
      </address>
    </author>
    <date month="10" year="2021" day="25"/>
    <area>IRTF</area>
    <workgroup>ICCRG Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">This document contains the profile for Congestion Control Identifier
5 (CCID 5), BBR-like Congestion Control, in the Datagram Congestion
Control Protocol (DCCP). CCID 5 is meant to be used by senders who have a strong demand on low latency
and require a steady throughput behavior.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
        This Internet-Draft is submitted in full conformance with the
        provisions of BCP 78 and BCP 79.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
        Internet-Drafts are working documents of the Internet Engineering Task
        Force (IETF). Note that other groups may also distribute working
        documents as Internet-Drafts. The list of current Internet-Drafts is
        at <eref target="https://datatracker.ietf.org/drafts/current/" brackets="none"/>.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
        Internet-Drafts are draft documents valid for a maximum of six months
        and may be updated, replaced, or obsoleted by other documents at any
        time. It is inappropriate to use Internet-Drafts as reference
        material or to cite them other than as "work in progress."
        </t>
        <t indent="0" pn="section-boilerplate.1-4">
        This Internet-Draft will expire on 28 April 2022.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2021 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Simplified BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Simplified BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-convention-and-notation">Convention and Notation</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-usage">Usage</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-relationship-with-tcp-bbr-a">Relationship with TCP BBR and CCID2</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multiple-path-communication">Multiple-path communications</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t indent="0" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-half-connection-example">Half-Connection Example</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-connection-establishment">Connection Establishment</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-congestion-control-on-data-">Congestion Control on Data Packets</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-state-machine">State machine</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-response-to-idle-and-applic">Response to Idle and Application-Limited Periods</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-discussion">Discussion</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-probertt-phase-transitions">ProbeRTT phase transitions</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgment">Acknowledgment</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="intro" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">This document contains the profile for Congestion Control Identifier 5, BBR-like Congestion Control, in the Datagram Congestion Control Protocol (DCCP) <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>. DCCP uses Congestion Control Identifiers, or CCIDs, to specify the congestion control mechanism in use on a half-connection.</t>
      <t indent="0" pn="section-1-2">The BBR-like Congestion Control CCID5 sends data following the guidelines and principles of TCP BBR <xref target="I-D.cardwell-iccrg-bbr-congestion-control" format="default" sectionFormat="of" derivedContent="I-D.cardwell-iccrg-bbr-congestion-control"/>. i.e, it estimates the path characteristics, to later update accordingly the sending data behavior. It achieves an optimal point of operation by keeping the amount of data in flight at the BDP (Bandwidth Delay Product) level, avoiding the abrupt Bandwidth changes typical of loss based congestion control algorithms.</t>
    </section>
    <section anchor="convention-and-notation" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-convention-and-notation">Convention and Notation</name>
      <t indent="0" pn="section-2-1">The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/>.</t>
      <t indent="0" pn="section-2-2">A DCCP half-connection consists of the application data sent by one endpoint and the corresponding acknowledgements sent by the other endpoint. The terms "HC-Sender" and "HC-Receiver" denote the endpoints sending application data and acknowledgements, respectively. Since CCIDs apply at the level of half-connections, we abbreviate HC-Sender to "sender" and HC-Receiver to "receiver" in this document. See <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/> for more discussion</t>
    </section>
    <section anchor="usage" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-usage">Usage</name>
      <t indent="0" pn="section-3-1">CCID5 congestion control algorithm is aimed to achieve a high bandwidth and
low latency by the active probe of the end-to-end link capacity. The active
probe helps hosts to adjust their sending rates before a packet loss happens at
a buffer on the path. As a result, the communication path experiences a
consistent and low latency by avoiding unnecessary packet drops at buffers.</t>
      <t indent="0" pn="section-3-2">Since CCID5 effectively avoids unnecessary packet losses, the spiky traffic
behavior, that is commonly caused by traditional TCP congestion control
mechanisms, is suppressed. This leads to a stable throughput throughout the
connection period and thus yields a higher throughput than that with a
loss-based congestion control mechanism.</t>
      <t indent="0" pn="section-3-3">Therefore, CCID5 suits applications that require consistent low latencies and
stable high bandwidth. This includes multimedia streaming, online video gaming,
video conferencing, and latency-sensitive industry applications such as
industrial robots and autonomous vehicles are usage examples of CCID5.</t>
      <section anchor="relationship-with-tcp-bbr-and-ccid2" numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-relationship-with-tcp-bbr-a">Relationship with TCP BBR and CCID2</name>
        <t indent="0" pn="section-3.1-1">The CCID5 congestion control mechanism closely follows TCP's
<xref target="I-D.cardwell-iccrg-bbr-congestion-control" format="default" sectionFormat="of" derivedContent="I-D.cardwell-iccrg-bbr-congestion-control"/>|BBR congestion control algorithm,
replicating the functions intended to estimate the path characteristics and to determine the pace and the amount of data to send.
However, CCID5 must also comply with the DCCP requirements for a CCID profile (<xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/> Section 10.4) and define how the data is going to be acknowledged.</t>
        <t indent="0" pn="section-3.1-2">For this purpose, CCID5 implements the format of the ACK packets, the timing of
their generation, and how they are congestion controlled. CCID5 uses the same
ACK format as CCID2, including ACK vectors containing the same information that
can be found in SACK options, and implements the ACK ratio as ACK congestion
control mechanism.</t>
        <t indent="0" pn="section-3.1-3">In addition, the different variables and functions used to track packets in
flight, packets acknowledged, and their corresponding sending and arrival times
as well as the function to detect application-limited periods are replicated
from the CCID2 implementation</t>
      </section>
      <section anchor="multiple-path-communications" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-multiple-path-communication">Multiple-path communications</name>
        <t indent="0" pn="section-3.2-1">CCID 5 congestion control algorithm is adopted from TCP's BBR congestion control
algorithm with a multiple-path communication as a representative use-case
example. Multiple-path communications do not only target to maximize the link
capacity, but also are aimed to improve the availability on critical situations
such as a link failure. With that regard, MP-DCCP has been proposed. MP-DCCP
extends capabilities of DCCP into multiple concurrent connections. A study
<xref target="paper" format="default" sectionFormat="of" derivedContent="paper"/> has shown that CCID5 improves the overall bandwidth and the
end-to-end latency compared to loss-based congestion control algorithms in an
MP-DCCP enabled network. The study has also shown that the latency difference
among multiple paths has an influence on the overall performance of the
communication. A smaller gap among available paths leads to a higher
aggregation performance of the link capacity. CCID5 is designed to provide a
low and stable latency over each of the available paths and thus has a
potential to improve the multi-path communication performance.</t>
      </section>
      <section anchor="half-connection-example" numbered="true" toc="include" removeInRFC="false" pn="section-3.3">
        <name slugifiedName="name-half-connection-example">Half-Connection Example</name>
        <t indent="0" pn="section-3.3-1">This example shows the typical progress of a half-connection using CCID 5's BBR-like Congestion Control, not including connection
initiation and termination. The example is informative, not normative.</t>
        <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-3.3-2"><li pn="section-3.3-2.1" derivedCounter="1.">The sender transmits DCCP-Data packets, each one of them identified with a sequence number. The sending behavior is governed by two control parameters: congestion window and pacing rate. The congestion window limits the amount of packets in flight and the pacing rate limits the sending rate.</li>
          <li pn="section-3.3-2.2" derivedCounter="2.">The Acknowledgment mechanism replicates CCID2 specifications. Thus, The sender sends an Ack Ratio feature option specifying the number of data packets to
be covered by an Ack packet from the receiver and consequently, the receiver sends a DCCP-Ack packet acknowledging the data packets for every Ack Ratio data packets transmitted by the sender.</li>
          <li pn="section-3.3-2.3" derivedCounter="3.">The sender continues sending DCCP-Data packets. Upon receiving DCCP-Ack packets, the sender examines their Ack Vectors to learn about acknowledged and marked or dropped data packets. With the information of the acknowledged packets, it proceeds to estimate round-trip times (as TCP does) and the delivery rate, following the algorithm described in <xref target="I-D.cheng-iccrg-delivery-rate-estimation" format="default" sectionFormat="of" derivedContent="I-D.cheng-iccrg-delivery-rate-estimation"/>.</li>
          <li pn="section-3.3-2.4" derivedCounter="4.">The sender uses the round-trip time and delivery rate estimations to calculate the round-trip propagation delay (RTprop) and the bottleneck bandwidth (BtlBw) of the path, following the specifications in (<xref target="I-D.cardwell-iccrg-bbr-congestion-control" format="default" sectionFormat="of" derivedContent="I-D.cardwell-iccrg-bbr-congestion-control"/> Section 4.1) The RTprop and BtlBw are then used to update the values of the congestion window and pacing rate.</li>
          <li pn="section-3.3-2.5" derivedCounter="5.">As in CCID2, the sender responds to lost or marked DCCP-Ack packets by modifying the Ack Ratio sent to the receiver and acknowledges the receiver's acknowledgements at least once per congestion window.</li>
        </ol>
      </section>
    </section>
    <section anchor="connection-establishment" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-connection-establishment">Connection Establishment</name>
      <t indent="0" pn="section-4-1">The connection establishment is as specified in (<xref target="RFC4341" format="default" sectionFormat="of" derivedContent="RFC4341"/> Section 4)</t>
    </section>
    <section anchor="congestion-control-on-data-packets" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-congestion-control-on-data-">Congestion Control on Data Packets</name>
      <t indent="0" pn="section-5-1">CCID 5 is based on the BBR congestion control mechanisms described in <xref target="I-D.cardwell-iccrg-bbr-congestion-control" format="default" sectionFormat="of" derivedContent="I-D.cardwell-iccrg-bbr-congestion-control"/>. The subsequent sections, present a general description of such mechanisms and discuss the considerations to be addressed when used within the DCCP protocol.</t>
      <t indent="0" pn="section-5-2">BBR proposes an algorithm based on the characterization of the network path made through the estimation of the Bottleneck Bandwidth (BtlBW) and the Round Trip propagation time (RTProp) defined respectively as the maximum delivered rate and minimum RTT seen by the sender. The algorithm aims to achieve an optimal point of operation by fulfilling two conditions</t>
      <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-5-3"><li pn="section-5-3.1" derivedCounter="1.">The amount of data inflight must be equal to the Bandwidth Delay Product (BDP), guaranteeing that buffers are not being filled and therefore avoiding long delay
generation</li>
        <li pn="section-5-3.2" derivedCounter="2.">The bottleneck packet arrival must match the BtlBw to ensure its full utilization.</li>
      </ol>
      <t indent="0" pn="section-5-4">To match those conditions, the sending data behavior is updated, by using three control variables: Congestion window (which limits the amount of data
in flight), pacing rate, and send quantum (which limits the amount of aggregated packets in case of segmentation offload). The calculation of the control parameters uses as input the estimated values of BtlBW and RTprop along with two dynamic gain factors named pacing_gain and cwnd_gain.</t>
      <t indent="0" pn="section-5-5">The estimation of the path parameters Rtprop and BtlBw follow the guidelines and pseudo-code described in <xref target="I-D.cheng-iccrg-delivery-rate-estimation" format="default" sectionFormat="of" derivedContent="I-D.cheng-iccrg-delivery-rate-estimation"/> and <xref target="I-D.cardwell-iccrg-bbr-congestion-control" format="default" sectionFormat="of" derivedContent="I-D.cardwell-iccrg-bbr-congestion-control"/></t>
      <section anchor="state-machine" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-state-machine">State machine</name>
        <t indent="0" pn="section-5.1-1">The way the control parameters are updated is governed by the BBR state machine Illustrated in <xref target="ref_bbr_state_machine" format="default" sectionFormat="of" derivedContent="Figure 1"/>. In the initial Startup state, the sending rate will increase rapidly until the pipe is detected to be full. Afterwards, the data rate will be reduced so any possible queue can be drained, to finally enter into the ProbeBW state, where the amount of data in flight is slightly increased to probe for more possible bandwidth available. From any of these states, the algorithm can jump into the ProbeRTT phase. Here the data inflight is reduced to probe for lower RTTs. Each state defines specific values for two dynamic gains: cwnd_gain and pacing_gain, which will finally be used in the calculation of the aforementioned control variables.</t>
        <figure anchor="ref_bbr_state_machine" align="left" suppress-title="false" pn="figure-1">
          <name slugifiedName="name-bbr-state-machine">BBR State machine</name>
          <artwork name="" type="" align="left" alt="" pn="section-5.1-2.1"><![CDATA[
                   |
                   V
          +---> Startup  ----+
          |        |         |
          |        V         |
          |      Drain   ----+
          |        |         |
          |        V         |
          +---> ProbeBW -----+
          |      ^    |      |
          |      |    |      |
          |      +----+      |
          |                  |
          +---- ProbeRTT <---+
]]></artwork>
        </figure>
      </section>
      <section anchor="response-to-idle-and-application-limited-periods" numbered="true" toc="include" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-response-to-idle-and-applic">Response to Idle and Application-Limited Periods</name>
      </section>
    </section>
    <section anchor="acknowledgements" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-6-1">The Acknowledgement format and its generation mechanism SHOULD follow the same specifications established for CCID2<xref target="RFC4341" format="default" sectionFormat="of" derivedContent="RFC4341"/>. Thus, each Acknowledgment  MUST contain an ACK vector defined with the format described in (<xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/> section 1.3) And its generation frequency will be controlled by the sender by using the ACK ratio feature.</t>
    </section>
    <section anchor="discussion" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-discussion">Discussion</name>
      <section anchor="probertt-phase-transitions" numbered="true" toc="include" removeInRFC="false" pn="section-7.1">
        <name slugifiedName="name-probertt-phase-transitions">ProbeRTT phase transitions</name>
        <t indent="0" pn="section-7.1-1">The transition to and from the probeRTT phase MIGHT imply drastic changes of the congestion window, thus the synchronization of the ACK ratio between and receiver SHOULD be handled carefully. When entering this phase at least one Packet MUST be sent with the new value of the ACK ratio before the reduction of the congestion window to 4 packets is executed, otherwise, the receiver  MIGHT not be able to send ACK packets, preventing the sender from updating the measurement of the RTProp and BtlBW variables and remaining in this phase longer than required. Following a similar logic, before leaving the phase and restoring the congestion window value, at least one packet MUST be sent updating the ack ratio value, otherwise, the receiver MIGHT not be able to 
keep the pace to acknowledge the arriving packets, and the missing ACKs MIGHT trigger a RTO timeout.</t>
        <t indent="0" pn="section-7.1-2">In addition to the synchronization of the ACK ratio, the sender and receiver MUST keep synchronized the Sequence and Acknowledgment validity windows, as defined in (<xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/> section 7.5) This adds an additional constraint to the BBR algorithm when leaving the ProbeRTT phase, as at least one RTT is necessary for the sender to ensure the synchronization before restoring the congestion window value, causing  again a longer duration of the probeRTT phase. Thus, it might be necessary to consider the possibility of restoring the congestion window even if this synchronization has not yet been confirmed by the arrival of the last Acknowledgement sent by the receiver.</t>
      </section>
    </section>
    <section anchor="iana-considerations" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
    </section>
    <section anchor="acknowledgment" numbered="true" toc="include" removeInRFC="false" pn="section-9">
      <name slugifiedName="name-acknowledgment">Acknowledgment</name>
    </section>
  </middle>
  <back>
    <references pn="section-10">
      <name slugifiedName="name-informative-references">Informative References</name>
      <reference anchor="I-D.cardwell-iccrg-bbr-congestion-control" target="https://www.ietf.org/archive/id/draft-cardwell-iccrg-bbr-congestion-control-00.txt" quoteTitle="true" derivedAnchor="I-D.cardwell-iccrg-bbr-congestion-control">
        <front>
          <title>BBR Congestion Control</title>
          <author fullname="Neal Cardwell">
            <organization showOnFrontPage="true">Google, Inc</organization>
          </author>
          <author fullname="Yuchung Cheng">
            <organization showOnFrontPage="true">Google, Inc</organization>
          </author>
          <author fullname="Soheil Hassas Yeganeh">
            <organization showOnFrontPage="true">Google, Inc</organization>
          </author>
          <author fullname="Van Jacobson">
            <organization showOnFrontPage="true">Google, Inc</organization>
          </author>
          <date day="3" month="July" year="2017"/>
          <abstract>
            <t indent="0">   This document specifies the BBR congestion control algorithm.  BBR
   uses recent measurements of a transport connection's delivery rate
   and round-trip time to build an explicit model that includes both the
   maximum recent bandwidth available to that connection, and its
   minimum recent round-trip delay.  BBR then uses this model to control
   both how fast it sends data and the maximum amount 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
   [draft-ietf-tcpm-cubic], 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").  This algorithm can be implemented in any
   transport protocol that supports packet-delivery acknowledgment (thus
   far, open source implementations are available for TCP [RFC793] and
   QUIC [draft-ietf-quic-transport-00]).

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-cardwell-iccrg-bbr-congestion-control-00"/>
        <refcontent>Work in Progress</refcontent>
      </reference>
      <reference anchor="I-D.cheng-iccrg-delivery-rate-estimation" target="https://www.ietf.org/archive/id/draft-cheng-iccrg-delivery-rate-estimation-00.txt" quoteTitle="true" derivedAnchor="I-D.cheng-iccrg-delivery-rate-estimation">
        <front>
          <title>Delivery Rate Estimation</title>
          <author fullname="Yuchung Cheng">
            <organization showOnFrontPage="true">Google, Inc</organization>
          </author>
          <author fullname="Neal Cardwell">
            <organization showOnFrontPage="true">Google, Inc</organization>
          </author>
          <author fullname="Soheil Hassas Yeganeh">
            <organization showOnFrontPage="true">Google, Inc</organization>
          </author>
          <author fullname="Van Jacobson">
            <organization showOnFrontPage="true">Google, Inc</organization>
          </author>
          <date day="3" month="July" year="2017"/>
          <abstract>
            <t indent="0">   This document describes a generic algorithm for a transport protocol
   sender to estimate the current delivery rate of its data.  At a high
   level, the algorithm estimates the rate at which the network
   delivered the most recent flight of outbound data packets for a
   single flow.  In addition, it tracks whether the rate sample was
   application-limited, meaning the transmission rate was limited by the
   application rather than the congestion control algorithm.  This
   algorithm can be implemented in any transport protocol that supports
   packet-delivery acknowledgment (thus far, open source implementations
   are available for TCP [RFC793] and QUIC
   [draft-ietf-quic-transport-00]).

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-cheng-iccrg-delivery-rate-estimation-00"/>
        <refcontent>Work in Progress</refcontent>
      </reference>
      <reference anchor="paper" quoteTitle="true" target="https://doi.org/10.1145/3472305.3472322" derivedAnchor="paper">
        <front>
          <title>CCID5 An implementation of the BBR Congestion Control algorithm for DCCP and its impact over multi-path scenarios</title>
          <author initials="N." surname="Romo Moreno" fullname="Nathalie Romo Moreno">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Amend" fullname="Markus Amend">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="V." surname="Rakocevic" fullname="Veselin Rakocevic">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Kassler" fullname="Andreas Kassler">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Brunstrom" fullname="Anna Brunstrom">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2021" month="June"/>
        </front>
        <seriesInfo name="DOI" value="10.1145/3472305.3472322"/>
      </reference>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner">
            <organization showOnFrontPage="true"/>
          </author>
          <date month="March" year="1997"/>
          <abstract>
            <t indent="0">In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC4340" target="https://www.rfc-editor.org/info/rfc4340" quoteTitle="true" derivedAnchor="RFC4340">
        <front>
          <title>Datagram Congestion Control Protocol (DCCP)</title>
          <author fullname="E. Kohler" initials="E." surname="Kohler">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="M. Handley" initials="M." surname="Handley">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="S. Floyd" initials="S." surname="Floyd">
            <organization showOnFrontPage="true"/>
          </author>
          <date month="March" year="2006"/>
          <abstract>
            <t indent="0">The Datagram Congestion Control Protocol (DCCP) is a transport protocol that provides bidirectional unicast connections of congestion-controlled unreliable datagrams.  DCCP is suitable for applications that transfer fairly large amounts of data and that can benefit from control over the tradeoff between timeliness and reliability.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4340"/>
        <seriesInfo name="DOI" value="10.17487/RFC4340"/>
      </reference>
      <reference anchor="RFC4341" target="https://www.rfc-editor.org/info/rfc4341" quoteTitle="true" derivedAnchor="RFC4341">
        <front>
          <title>Profile for Datagram Congestion Control Protocol (DCCP) Congestion Control ID 2: TCP-like Congestion Control</title>
          <author fullname="S. Floyd" initials="S." surname="Floyd">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="E. Kohler" initials="E." surname="Kohler">
            <organization showOnFrontPage="true"/>
          </author>
          <date month="March" year="2006"/>
          <abstract>
            <t indent="0">This document contains the profile for Congestion Control Identifier 2 (CCID 2), TCP-like Congestion Control, in the Datagram Congestion Control Protocol (DCCP).  CCID 2 should be used by senders who would like to take advantage of the available bandwidth in an environment with rapidly changing conditions, and who are able to adapt to the abrupt changes in the congestion window typical of TCP's Additive Increase Multiplicative Decrease (AIMD) congestion control.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4341"/>
        <seriesInfo name="DOI" value="10.17487/RFC4341"/>
      </reference>
    </references>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="N." surname="Romo" fullname="Nathalie Romo Moreno">
        <organization abbrev="DT" showOnFrontPage="true">Deutsche Telekom</organization>
        <address>
          <postal>
            <street>Deutsche-Telekom-Allee 9</street>
            <city>Darmstadt</city>
            <code>64295</code>
            <country>Germany</country>
          </postal>
          <email>nathalie.romo-moreno@telekom.de</email>
        </address>
      </author>
      <author initials="J." surname="Kim" fullname="Juhoon Kim">
        <organization abbrev="DT" showOnFrontPage="true">Deutsche Telekom</organization>
        <address>
          <postal>
            <street>Winterfeldstr. 21</street>
            <city>Berlin</city>
            <code>10781</code>
            <country>Germany</country>
          </postal>
          <email>j.kim@telekom.de</email>
        </address>
      </author>
      <author initials="M." surname="Amend" fullname="Markus Amend">
        <organization abbrev="DT" showOnFrontPage="true">Deutsche Telekom</organization>
        <address>
          <postal>
            <street>Deutsche-Telekom-Allee 9</street>
            <city>Darmstadt</city>
            <code>64295</code>
            <country>Germany</country>
          </postal>
          <email>Markus.Amend@telekom.de</email>
        </address>
      </author>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAJfvdmEAA8Va23IcOXJ9r69AaB4kxrDaJCXueBi2wxSpGXFXlGSKksLh
sCfAKnQ3hnVzoYq9vZpx+Df8e/4Sn8wEUBc2qZmNjTAfpOq6AIm8nDyZQJqm
SWe7wpyo9229tIVRy7pV57rTq1aX6qyuVsZ1tq7osmvrgt7r6gwXz87Pzt7v
7Xrl4lwdJ/rmpjV3J+rs7OL8OMnrrNIlpslbvezSti7r1GZZu0qzzObH6cFB
kusOz48Ojg7Tw4P06DjJdHeizJ+bJLFNe6K6tnfd0cHB9wdHSaJbo0/UxdX1
D8lmhYuzs6sf1ee6vbXVSv3Y1n2T3Jrtpm5zPKw601amS89p7iTJ6hxvnaje
pdpl1iau01X+ky7qyvA0Jkkae6L+DevcV65uu9YsHa62JV38O2bvu3XdniQq
TZSylTtRbxfqCmvCT1nmW92tdWEN31WXdWsqeli3mPfc9J3L1kZdm8Lc1iXu
B2WdX+OHw3ymG95L/XvpaVEYo77HK5nttnhBtyVkzzu6U+eY9g8vjr4/5l89
TIFXfjRtqastbplS2+IE4olgCzZByYL9cycTLHIzWtIfF+pPtowr+mO/rmFj
ufW71vHZkgGWpshxZ6GODuMCXpq2sFWU/vDgu78/fFT6nxe3ttwt7uVCnZam
yqPAl7q97V28+f+vehFowQJN1qASWyHsSt3ZOwOvUhfp+SLTbb4xReHDBFKm
WQw1uqRQiy+vTbXyb+amwDDtNm0RUCm9TwPXFb179cPZ0eHh9/7yxfMXB8Pl
IV02ujHk2PjzuMDxq04rZcumMJC949FUvVQdFPny5dUuCNDFqm5tty4FT4AU
CjGmbOdoHJ11qoaMquyLzqYNfFK5zFS6tbXjyWOE8V/q/1fTaBviyv89Gnu7
Bho5zWSIme/s+vQTZNC3dWbubDb//JNxMEJ174X5GKcIMe1cYdr5CKdVDoRz
s8c7vn/Z9hW8ll15NkKlZ08FYZ8yxB78IX1+8JRvO9Na48gFg77P311QNC4O
D18c/93zF98dPT84XvD/R0dJmqYIGowKKyZJcr22TgHee3INRX6pIRv7RjNK
KbvSRI4v7NJiecfqGfmZOt7bJ49KC3trdnyyj2XzyDsSVPJAglooGVlBzNJo
yNjV6sYA/U2ubrZYfZWb1qnNulZrfWeUJhTAsCpH3MJnMX1Rb1QB5VXZNqFb
rfnP3rbyqtH5FjIh5azWTd9haIxiawCdSlhXpc3zAinlG0pEbZ33GS/pyzeW
fv76N1GgOv6r9fZgYv/yxUPEr78uJIKhMve4HMiSJCoUjivo2TUms8stzz2g
l/LoBXtka11ZV5J8GJ10rWGFYkkAVxnW1IJ8zDy2PI9RZElHTq6hsAI2Iy5A
M696S6BYQXqyXtPaKrMAM0cgdo2FEYh9+fKbUZcUYhcGWu2Ux1fjDUZIhjVR
bCCq8CwTRZD3tKpvKASVzjIQE0hXiGZIcJKVRR/856LDm2tr7lhuVTc0U6Ga
Go5DkteAasFiuPGtMU1Yry4pB9ErPCJ0uyzsao3hOsHs8/fq2UuoYmNzyHtu
Cr0l85Nr7qkCE8Jj9F1t8zjiTds3nRq+IbutaNHbxmYQCnMVtXPqRlNY7TB1
TAhuQaEAy92R05DBYZK3tWQVtjSImyLm5tSTy48frp/sy//q7Tu+vnr1Lx8v
rl6d0/WH16dv3sSL8MaH1+8+vjkfroYvz95dXr56ey4fX57+K/6j6Z+8e399
8e7t6ZsnEijjgATT9IjBNKZpTYcVAppz47LW3uAHvuFgodQK30iSU4mXmSOT
Lhx8woXcqZumgPb4GVvK0YQwJoiogk+IpUlAiZ+2Na6pxVd0dlvVm8LkK87J
Ln5Lr9b4p40jLBRpFbKX0Ojrs/QDI94TWTl+X5nMEGN4giVVNfyThggfu+id
96Sl7+di7CuSkdYLJ9ou1AeEmhFA4AG2wQfZy0gRMyVhhI3xpMxSsESByQpP
3Ej2kej8rI3rmBsRcoC9jQCNEZXIr8qty3rnyPfILz86vTKJ4MljXkzZRNsS
xsfMPkoJuhBmiIEQJbhIRrkjmEezegjd4VXeF7CutKtT/KeAVLcq02BJoJpi
PPkikS/WpmicWtfkSTR7/jMKIxrEttFYLUPSjVnWnKYw1q3pJETXsINBgtFd
ArTpl0uor64ifIER4RmZEdxs33teWfZVsD1jHMoyYg0wLl5OvGMb762zJUck
6cnIxjndboNEeVs3JIoXhMBhcJljZXDT+5IM43YNQssyTmR1jb2FllHpLUG7
ApjSM0wCo9Fa6grDZTowALycW1oacIyywX27JzFRYRYM4voGOIBJczIPbhRg
AWIMMAJ9U5gxI/CXNV+aZAQIpMM69xEOvrm1VCR5PyKvHg+iK1nExpJnJbTo
9EG4jQIvFKfPlj1hP2TKnoj4KKCdDB14zciegy2tpM/EL3Dq6l4PMF3RAxiF
2CM8LLMpo0vYH9ygoiys7pCOa7WSm4n8wpSwP01DL7IXiQelcGlnOWBslcPT
YfeJ5K7PoA+X+KcWVkSY1J0kexQSdYU6ANq9M2ubUdYnSO8p0OHGugxEgFVD
yekbdYWMyIOvbSP6DiyBhqQXjzhTPYgTA7HJYCfyXmEkjgZ66pLfRTZ+oYkf
A6P9pDVeIT5fL/tK0JSTFiCTcSpwlQepinhijTxA2YJMJW8iHkMWmnEL4ngY
f5G8rjeAwDZ4WEmQpAtHhi0J9lmLTEEpM3pHk8xFWKyFpQfC+2yM1R98tKAg
ebHHguRmScKt4Zs0pLAcp1Y1r5+T9Sgx5RQDP9St5ISmbxuYJAgaq1ohcFKG
B1A+PfuTxxiPLtAfTVEvE4Hblak8BxOf9RJt2cXum6wgWWRe5tIMWKjWEprI
Tw1mwQ6274OJ5qPHd9BC3bpQIARL0+cqtg9qwYgkA1jc0Gr6iunJBxqBCCQn
WK7Ep+um57wQmp9+DMIn9zElSS7A23JBTdFMbpccv526QxVPCCHeNHgiwy2M
Q4XjbVArhEuEnO7HW2PT7QfHg7KnBCjSEgrytrV3iHuCHJdgBRRVtJJxLATH
zroxfqCmKC0xOsFiAYcQTiZPliieeRg2yqwJwmBxSVCHu9LGmORKl/ja86tU
IodxIATPxhChdgd9MnwmeUCQdvf0pAHK5JSrROQ7rnvTDGkj8di3eHQBoFAK
nFBxyux0uzJcP5f6z1DbXwQfiK8kga/sI5P7yCdNRo4ExbX1nXyg77Qt9I0t
8D5RD9DojqsI4HzvFedRHfIzHVrii76FsJ8FRzhZrYCf++ryferZNhEeUxGI
UIQj1PwjLLXj2pCE5GmtQD5/B4SsoxZJz1nftr4UD6QUpAh5rM+3QG5ukQGW
aD6HgPdpOcIJLVM8j1pcGo44IYTMAcZszxMlwklojJX1eG4fSikKbV0lQQOm
orjLVWU61E+3Qh1ZbBaWjTKSmG3nZw/hm5kECI+wigohp3DyfUVAU/T0VmCM
YYlQCUMQP1p6njNyJFYgqtcCrGalGyWTeEeIs4xolDCgRK9WZOfAlmZzzKmy
twHXZnZViTLJIKAYTJk2bAHPYMLauRNpQOJjXTYTK/Iz1kLS1MSMiGfM/HrU
zZxR5kFyykWEGq+p7DkbqOAriUbpBvnQZGOJK4U6G5OtiHmSqPc6JYhtQkTB
nP/97/9xj/eEKK6HHDMMAyaFCNGxOBcu4M1ILhXEY8IXG9cyYBV+Ikkceg/0
5VurK1cS8SRnTakVNSRXUX8VDAtQDD2lPACdA2dg16v68sa0w9gkfSD6QgPu
aL9HuP2mjnGD8EKyxGrcyTisNiCO3jHIj3zxJMPff43ThZtRoSGZxU6Lp0uj
Ecefjss08ogjme40Zj5uPQwsMiYkTw58Yy2gNH3dQ4sjbUszDCGLMdUVZ/al
0R0w1POA0JsLREK0GoldWFJXo4iCHqBS0agf0pdeMT2G4ptXTvUDW6srtvvT
x14u8YHRQEPSDwJNxCCOSPxyO1rPVE7vXZ23e9QE/PD5xA/JHWzVm6Gzcc8f
F+ojaIYXOr4xSBtqTRmQwoGbi0JT6LVPnqwRlhvdIo5uqPwbMxtWVKnbW1xi
cVQIN7jMJ2J8Dqx5zPACSo0Hi3LZjjAiM0aANFL+lqhgivKoEZaknmkuRpDg
jduL/ho2j9gz92d91IF7zHpfv3ULihqnSfJiYo5IhGcSeqI/EkcNA/HagIdZ
X4R6ZvQ5EQDtk0bOzc1nV9d0c1gn6sOuAHmHrYbs/OxlV7zc7AUFE5DPVTCN
O1r9s99Vy8Vi5sXicI/VIJKxYDy9NByhzEiYfdeYpgfJ7U3sH34dxJLkmPs5
kNMXFSO/9WTaecbRkRt6h5z7O4VUWecjuBjCkBuPxOvnKDByUDd5yqnpXgMT
jASxQmIQyDcSqdP1LRLfO45Zk1O5dWsaIvGIHR6a8UNm2S7YTxw3VpmHY8Ps
+Tnmmwy4ZIx4LypJhm0lYWqeET1QrA8dpJ3B81u3HThw+huPrtB9aJp6jg9k
lZq08NM0ATKYUI+k4PCS5mdwJoek2w7xRVV0nkufS22iR1I6DttJxDobv29E
xqHFe/rNyWdAjImOhrbDXyaQ5omr9CZKncc2mrRIY/jHzechil9Oo/jzEOpX
XARfz4GBMQa48J5xQToK+aR7HQpILnb6MoARvcW7OITfoEr06Or6GrYw1Sz1
SO826gDFkJv0i7+2qbPsi6UtCo45ITJScrvIre5t9Xj+wf0XGBB+IjyV1bV7
ywcaO3+/t69WPaxSdcZIjA9NWYYkInc3/IhEMqFr6TuLQ5O3kK1TjJ8M3ZFA
cEawG/K+L91ZYFg3E1sLFFICqxxxFiJO0Eah+g71m3gNbQzW8Ru43EhBA9Dd
21ijiBVIRfEIJQtphqMZE6M19jBOxkjgQfbZZm0x5U4mSDMlkQbu7Y/RWHoZ
JJOCVaoOfvPYUKH0GbI74QWV7hzOZjU+i7Esap3vedLq8+IoUO5TYMm7msaU
9nKML8w3pBmOJZY75Cm2r3Tz4JL5tgL5yVDT0aK1sB46gBDy0E/8hEnhpsr5
l9/QvR/OHPYjEa+6WWqUXLxzT9eZPq9TOorz15MTHul3ATKXch86goOSoroy
vLSN3j6kdu49i/fdq1V89nDj8dRFUVBbWz6g9SDgfoI8P/FrP/nXKDdcVJ4q
Wi5OIVbb9Y0MN40Hxq8NwpjqPzpngtysG5sD8+B8thBr2MZILU09M6Ei1FNE
FIJTLLGaDZTkI40jbBj2hpI9sAVfUSOo2gLgnLNUUiNx9eSj3KDMW02wy1vk
AGBdQAJD26zSlaGR39OeF3zQL2NDiPP4Ljdt0PAVBgvrC52AGzNs/UWRRv2Z
UPkv1A9U2ZDk4pzOiAR+vQOo00p+7stmJjFlhGaNmRfqdZB4CtEQM+hoIhs8
HOvH9+D/r6gsFn+QDBUZTBaClD6ZRyIVuCHaRpyQf5MKCXPYTkHn4TyMz+s7
EEQTypeyZS9tqSlQIqj/C3/DKaTh75ddNz+Nbn6bpuk/RX9V+JV+O3r8y72L
yZDx7qfHHp+Tp6m/9eAieXDR9IHB/2N0vWPwXx5//C2P+ohoo1sz0dLBF/+B
RWMTfTlR3+wEETny949PCYQmoPYUQJf4nTGqGRwfibjIC2FBp6N2+hvfTn8v
7XTi0qczpp9MWx18M+5++EOCA3UYdUH8aY5RFuDdj1lNFmk/9dP9aaSjEdMP
zRJuOc06LooPmvgtFm51xJ2XSBHjTpYXeZJuJhtXLmxcLZ7v0Ym++cqWrbS0
thE0h32iKZMc85TxZo1v6fCRmvPRSQZYaopC0h/x5JGPg8TfzEirfGjlNNMv
Ly9+fH3NGx9bwmvaKIzHfx4qRPelX8oL2FYZSHw1o/rDGm5A+ok6y8E6Xz96
U9NpB9wnfSAjG8o924X6TLUIpwnRCO3qsaijEtL4Ok0semOkTI22q8xGAHSX
PExopWANp/UerLihvBcDP6PWrcl6ppZ8CGdjnZl1wLxChU8rOSwgu6jT/UZU
dHxEKnQexBHYSkwgwoMSK+4Fm4OYUtVE4vR5tifX0oFk3kEMB2VEfUTt+NSB
rsIObY5EGBsgWjlEd6EpR61sth9UBZ3fBWm8IXgWh7AJ9+9rjtW/P7VZs8Nm
k8XS1qGYyX/+kJZ3KjmhU3LDnjaXYhGGZHwqR2iyaIZQRpbWOb8X6/zoXWtX
pDANhb/jgrLuOyqDR7ujofb6WhhMOjOTUGBlsODDGEZk+hBa4ozCUyiDflCQ
dVuvblqJixj2EFJ9tzjek5MckF8q+DyejaEOQUdpNLZ7+ETEsCFJYTn2hSkE
sQATa9MjTDWc52EuM9oxiOXfLg165/uNbkbHfegllFUM7cHZ876d1iAz8ia5
wqI2ZdJ2Y0bidnXsmsi3TCj9tubyq5JReCu7lAicr462msh7t6aTXU06IGPb
csgMoXIOW2Gk1XlWHR8KDA7FyeLi9O0plbajls80VXND7f8AaEYrLR80AAA=

-->

</rfc>
