<?xml version="1.0" encoding="US-ASCII"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [

<!ENTITY RFC2119 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2309 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2309.xml">
<!ENTITY RFC2481 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2481.xml">
<!ENTITY RFC3168 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3168.xml">
<!ENTITY RFC3649 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3649.xml">
<!ENTITY RFC3742 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3742.xml">
<!ENTITY RFC3758 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3758.xml">
<!ENTITY RFC4340 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4340.xml">
<!ENTITY RFC4774 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4774.xml">
<!ENTITY RFC5562 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5562.xml">
<!ENTITY RFC5670 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5670.xml">
<!ENTITY RFC5681 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5681.xml">
<!ENTITY RFC5696 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5696.xml">
<!ENTITY RFC6040 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6040.xml">
<!ENTITY RFC6679 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6679.xml">
<!ENTITY RFC6789 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6789.xml">
<!ENTITY RFC7713 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7713.xml">
<!ENTITY RFC7567 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7567.xml">
<!ENTITY RFC8033 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8033.xml">
<!ENTITY RFC8087 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8087.xml">
<!ENTITY RFC8257 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8257.xml">
<!ENTITY RFC8312 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8312.xml">
<!ENTITY RFC8289 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8289.xml">
<!ENTITY RFC8311 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8311.xml">
<!ENTITY RFC5226 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5226.xml">
<!ENTITY RFC8174 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">

]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="3"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>


<?xml-stylesheet type="text/xsl" href="rfc2629.xslt"?>

<rfc number="8511" category="exp" submissionType="IETF" consensus="yes"
     ipr="trust200902" >
  <front>
    <title abbrev="ABE">TCP Alternative Backoff with ECN (ABE)</title>

    <author fullname="Naeem Khademi" initials="N." surname="Khademi">
      <organization>University of Oslo</organization>
      <address>
        <postal>
          <street>PO Box 1080 Blindern</street>
          <code>N-0316</code>
          <city>Oslo</city>
          <country>Norway</country>
        </postal>
        <email>naeemk@ifi.uio.no</email>
      </address>
    </author>

    <author fullname="Michael Welzl" initials="M." surname="Welzl">
      <organization>University of Oslo</organization>
      <address>
        <postal>
          <street>PO Box 1080 Blindern</street>
          <code>N-0316</code>
          <city>Oslo</city>
          <region></region>
          <country>Norway</country>
        </postal>
        <email>michawe@ifi.uio.no</email>
      </address>
    </author>

    <author fullname="Grenville Armitage" initials="G." surname="Armitage">
      <organization abbrev="Netflix">Netflix Inc.</organization>
      <address>
        <email>garmitage@netflix.com</email>
      </address>
    </author>

    <author fullname="Godred Fairhurst" initials="G." surname="Fairhurst">
      <organization>University of Aberdeen</organization>
      <address>
        <postal>
          <street>School of Engineering, Fraser Noble Building</street>
          <code>AB24 3UE</code>
          <city>Aberdeen</city>
          <country>United Kingdom</country>
        </postal>
        <email>gorry@erg.abdn.ac.uk</email>
      </address>
    </author>

    <date  month="December" year="2018" />

    <area>Transport</area>

    <workgroup>TCP Maintenance and Minor Extensions</workgroup>

    <keyword>ecn, aqm, congestion control, tcp</keyword>

    <abstract>
      <t>Active Queue Management (AQM) mechanisms allow for burst tolerance
      while enforcing short queues to minimise the time that packets spend
      enqueued at a bottleneck. This can cause noticeable performance
      degradation for TCP connections traversing such a bottleneck, especially
      if there are only a few flows or their bandwidth-delay product (BDP) is large.
      The reception of a Congestion Experienced (CE) Explicit Congestion
      Notification (ECN) mark indicates that
      an AQM mechanism is used at the bottleneck, and the bottleneck
      network queue is therefore likely to be short. Feedback of this signal allows the
      TCP sender-side ECN reaction in congestion avoidance to reduce the
      Congestion Window (cwnd) by a smaller amount than the congestion control
      algorithm's reaction to inferred packet loss. Therefore, this specification
      defines an experimental change to the TCP reaction specified
      in RFC 3168, as permitted by RFC 8311.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="sec-intro" title="Introduction">
      <t>Explicit Congestion Notification (ECN) <xref target="RFC3168"></xref>
      makes it possible for an Active Queue Management (AQM) mechanism to
      signal the presence of incipient congestion without necessarily
      incurring packet loss. This lets the network deliver some packets to an
      application that would have been dropped if the application or transport
      did not support ECN. This packet loss reduction is the most obvious
      benefit of ECN, but it is often relatively modest. Other benefits of
      deploying ECN have been documented in <xref
      target="RFC8087"></xref>.</t>

      <t>The rules for ECN were originally written to be very conservative,
      and they required the congestion control algorithms of ECN-Capable Transport (ECT)
      protocols to treat indications of congestion signalled by ECN exactly
      the same as they would treat an inferred packet loss <xref
      target="RFC3168"></xref>. Research has demonstrated the benefits of
      reducing network delays that are caused by interaction of loss-based TCP
      congestion control and excessive buffering <xref
      target="BUFFERBLOAT"></xref>. This has led to the
      creation of AQM mechanisms like Proportional Integral Controller
      Enhanced (PIE) <xref target="RFC8033"></xref> and Controlling Queue
      Delay (CoDel) <xref
      target="RFC8289"></xref>, which prevent bloated queues that are common
      with unmanaged and excessively large buffers deployed across the
      Internet <xref target="BUFFERBLOAT"></xref>.</t>

      <t>The AQM mechanisms mentioned above aim to keep a sustained queue
      short while tolerating transient (short-term) packet bursts. However,
      currently used loss-based congestion control mechanisms are not always
      able to effectively utilise a bottleneck link where there are short
      queues. For example, a TCP sender using the Reno congestion control
      needs to be able to store at least an end-to-end bandwidth-delay product
      (BDP) worth of data at the bottleneck buffer if it is to maintain full
      path utilisation in the face of loss- induced reduction of the
      congestion window (cwnd) <xref target="RFC5681"></xref>. This amount of
      buffering effectively doubles the amount of data that can be in flight
      and the maximum round-trip time (RTT) experienced by the TCP sender.</t>

      <t>Modern AQM mechanisms can use ECN to signal the early signs of
      impending queue buildup long before a tail-drop queue would be forced to
      resort to dropping packets. It is therefore appropriate for the
      transport protocol congestion control algorithm to have a more measured
      response when it receives an indication with an early warning of
      congestion after the remote endpoint receives an ECN CE-marked packet.
      Recognizing these changes in modern AQM practices, the strict
      requirement that ECN CE signals be treated identically to inferred
      packet loss has been relaxed <xref target="RFC8311"></xref>. This
      document therefore defines a new sender-side-only congestion control
      response called "ABE" (Alternative Backoff with ECN). ABE improves
      TCP's average throughput when routers use AQM-controlled buffers that
      allow only for short queues.</t>
    </section>

    <section anchor="sec-def" title="Definitions">
        <t>
    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
    NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
    "MAY", and "OPTIONAL" in this document are to be interpreted as
    described in BCP&nbsp;14 <xref target="RFC2119"/> <xref target="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
        </t>


    </section>

    <section title="Specification">
      <t>This specification changes the congestion control algorithm of an
      ECN-Capable TCP transport protocol by changing the TCP-sender response
      to feedback from the TCP receiver that indicates the reception of a
      CE-marked packet, i.e., receipt of a packet with the ECN-Echo flag
      (defined in <xref target="RFC3168"></xref>) set, following the process
      defined in <xref target="RFC8311"></xref>.</t>



      <t>The TCP-sender response is currently specified in Section 6.1.2 of
      the ECN specification <xref target="RFC3168"></xref> and has been slightly updated by Section
      4.1 of <xref target="RFC8311"></xref> to read as:</t>

      <t><list style="empty">
          <t>The indication of congestion should be treated just
          as a congestion loss in non-ECN-Capable TCP. That is, the TCP source
          halves the congestion window "cwnd" and reduces the slow start
          threshold "ssthresh", unless otherwise specified by an Experimental
          RFC in the IETF document stream.</t>

        </list>As permitted by RFC 8311, this document specifies a
	sender-side change to TCP where receipt of a packet with the ECN-Echo flag SHOULD
          trigger the TCP source to set the slow start threshold (ssthresh) to
          0.8 times the FlightSize, with a lower bound of 2 * SMSS applied to
          the result (where SMSS stands for Sender Maximum Segment Size)). As in <xref target="RFC5681"></xref>, the TCP sender
          also reduces the cwnd value to no more than the new ssthresh value.
          Section 6.1.2 of RFC 3168 provides guidance on setting a cwnd less than
          2 * SMSS.</t>
     

      <section anchor="sec-rationale-multiplier"
               title="Choice of ABE Multiplier">


        <t>ABE decouples the reaction of a TCP sender to inferred packet loss from the indication of ECN-signalled congestion in the congestion avoidance phase. To achieve this, ABE uses a different scaling factor for
        Equation 4 in Section 3.1 of <xref target="RFC5681"></xref>. The
        description respectively uses beta_{loss} and beta_{ecn} to refer to
        the multiplicative decrease factors applied in response to inferred
        packet loss, and in response to a receiver indicating ECN-signalled
        congestion. For non-ECN-enabled TCP connections, only beta_{loss}
        applies.</t>

        <t>In other words, in response to inferred packet loss: <list>
            <t>ssthresh = max (FlightSize * beta_{loss}, 2 * SMSS)</t>
          </list> and in response to an indication of an ECN-signalled
        congestion: <list>
            <t>ssthresh = max (FlightSize * beta_{ecn}, 2 * SMSS)</t>

            <t>and</t>

            <t>cwnd = ssthresh</t>

            <t>(If ssthresh == 2 * SMSS, Section 6.1.2 of RFC 3168 provides
            guidance on setting a cwnd lower than 2 * SMSS.)</t>

            <t></t>
          </list>where FlightSize is the amount of outstanding data in the
        network, upper-bounded by the smaller of the sender's cwnd and the
        receiver's advertised window (rwnd) <xref target="RFC5681"></xref>.
        The higher the values of beta_{loss} and beta_{ecn}, the less
        aggressive the response of any individual backoff event.</t>

        <t>The appropriate choice for beta_{loss} and beta_{ecn} values is a
        balancing act between path utilisation and draining the bottleneck
        queue.


	More aggressive backoff (smaller beta_*) risks the underutilisation of
        the path, while less-aggressive backoff (larger beta_*) can result in
        slower draining of the bottleneck queue.</t>


        <t>The Internet has already been running with at least two different
        beta_{loss} values for several years: the standard value is 0.5 <xref
        target="RFC5681"></xref>, and the Linux implementation of CUBIC <xref
        target="RFC8312"></xref> has used a multiplier of 0.7 since kernel
        version 2.6.25 released in 2008. ABE does not change the value of
        beta_{loss} used by current TCP implementations.</t>

        <t>The recommendation in this document specifies a value of
        beta_{ecn}=0.8. This recommended beta_{ecn} value is only applicable
        for the standard TCP congestion control <xref
        target="RFC5681"></xref>. The selection of beta_{ecn} enables tuning
        the response of a TCP connection to shallow AQM-marking thresholds.
        beta_{loss} characterizes the response of a congestion control
        algorithm to packet loss, i.e., exhaustion of buffers (of unknown
        depth). Different values for beta_{loss} have been suggested for TCP
        congestion control algorithms. Consequently, beta_{ecn} is likely to
        be an algorithm-specific parameter rather than a constant multiple of
        the algorithm's existing beta_{loss}.</t>

        <t>A range of tests (Section IV of <xref target="ABE2017"></xref>) with
        NewReno and CUBIC over CoDel and PIE in lightly multiplexed scenarios
        have explored this choice of parameter. The results of these tests
        indicate that CUBIC connections benefit from beta_{ecn} of 0.85 (cf.
        beta_{loss} = 0.7), and NewReno connections see improvements with
        beta_{ecn} in the range 0.7 to 0.85 (cf. beta_{loss} = 0.5).</t>
      </section>
    </section>


    <section anchor="sec-rationale" title="Discussion">



      <t>Much of the technical background for ABE can be found in <xref
      target="ABE2017"></xref>, which uses a mix of 
      experiments, theory, and simulations with NewReno <xref
      target="RFC5681"></xref> and CUBIC <xref target="RFC8312"></xref> to
      evaluate its performance. ABE was shown to present significant performance gains in
      lightly-multiplexed (few concurrent flows) scenarios, without losing the
      delay-reduction benefits of deploying CoDel or PIE.      The
      performance improvement is achieved when reacting to ECN-Echo in
      congestion avoidance (when ssthresh &gt; cwnd) by multiplying cwnd and
      ssthresh with a value in the range [0.7,0.85].


      Applying ABE when cwnd 
      is smaller than or equal to ssthresh is not currently recommended, but its use in that scenario may benefit from
      additional attention, experimentation, and specification.</t>

      <section anchor="sec-rationale-why"
               title="Rationale for Using ECN to Vary the Degree of Backoff">

        <t>AQM mechanisms such as CoDel <xref target="RFC8289"></xref> and PIE
        <xref target="RFC8033"></xref> set a delay target in routers and use
        congestion notifications to constrain the queuing delays experienced
        by packets rather than in response to impending or actual bottleneck
        buffer exhaustion. With current default delay targets, CoDel and PIE
        both effectively emulate a bottleneck with a short queue (Section II of
        <xref target="ABE2017"></xref>) while also allowing short traffic
        bursts into the queue. This provides acceptable performance for TCP
        connections over a path with a low BDP, or in highly multiplexed
        scenarios (many concurrent transport flows). However, in a
        lightly multiplexed case over a path with a large BDP, conventional
        TCP backoff leads to gaps in packet transmission and underutilisation
        of the path.</t>

        <t>Instead of discarding packets, an AQM mechanism is allowed to mark
        ECN-Capable packets with an ECN CE mark. The reception of CE-mark
        feedback not only indicates congestion on the network path, it also
        indicates that an AQM mechanism exists at the bottleneck along the
        path. Therefore, the CE mark likely came from a bottleneck with a
        controlled short queue. Reacting differently to an ECN-signalled
        congestion than to an inferred packet loss can then yield the benefit
        of a reduced backoff when queues are short. Using ECN can also be
        advantageous for several other reasons <xref
        target="RFC8087"></xref>.</t>

        <t>The idea of reacting differently to inferred packet loss and
        detection of an ECN-signalled congestion predates this specification,
	e.g., previous research proposed using ECN CE-marked feedback
        to modify TCP congestion control behaviour via a larger multiplicative
        decrease factor in conjunction with a smaller additive increase factor
        <xref target="ICC2002"></xref>. The goal of this former work was to
        operate across AQM bottlenecks (using Random Early Detection (RED)) that
        were not necessarily configured to emulate a short queue. (The current
        usage of RED as an Internet AQM method is limited <xref
        target="RFC7567"></xref>.)</t>
      </section>

      <section anchor="sec-rationale-scope"
               title="An RTT-Based Response to Indicated Congestion">
        <t>This specification applies to the use of ECN feedback as defined in
        <xref target="RFC3168"></xref>, which specifies a response to
        indicated congestion that is no more frequent than once per path
	round-trip time. Since ABE responds to indicated congestion once per
	RTT, it does not respond to any further loss within the same RTT
        because an ABE sender has already reduced the congestion window. If
        congestion persists after such reduction, ABE continues to reduce the
        congestion window in each consecutive RTT. This consecutive reduction
        can protect the network against long-standing unfairness in the case
        of AQM algorithms that do not keep a small average queue length. The
        mechanism does not rely on Accurate ECN <xref
        target="ACC-ECN-FEEDBACK"></xref>.</t>

        <t>In contrast, transport protocol mechanisms can also be designed to
        utilise more frequent and detailed ECN feedback (e.g., Accurate ECN
        <xref target="ACC-ECN-FEEDBACK"></xref>), which then permit
        a congestion control response that adjusts the sending rate more
        frequently. Data Center TCP (DCTCP) <xref target="RFC8257"></xref> is
        an example of this approach.</t>
      </section>
    </section>

    <section title="ABE Deployment Requirements">
      <t>This update is a sender-side-only change. Like other changes to
      congestion control algorithms, it does not require any change to the TCP
      receiver or to network devices. It does not require any ABE-specific
      changes in routers or the use of Accurate ECN feedback <xref
      target="ACC-ECN-FEEDBACK"></xref> by a receiver.</t>

      <t>If the method is only deployed by some senders, and not by others,
      the senders using it can gain some advantage, possibly at
      the expense of other flows that do not use this updated method. Because this advantage applies only to ECN-marked packets and not to
 packet-loss indications, an ECN-Capable bottleneck will still fall
 back to dropping packets if a TCP sender using ABE is too
 aggressive. The result is no different than if the TCP sender were
 using traditional loss-based congestion control.</t>

      <t>When used with bottlenecks that do not support ECN marking, the
      specification does not modify the transport protocol.</t>
    </section>

    <section title="ABE Experiment Goals">
      <t><xref target="RFC3168"></xref> states that the congestion control
      response following an indication of ECN-signalled congestion is the same
      as the response to a dropped packet. <xref target="RFC8311"></xref>
      updates this specification to allow systems to provide a different
      behaviour when they experience ECN-signalled congestion rather than
      packet loss.  The present
   specification defines such an experiment and is an Experimental RFC.
   We expect to propose it as a Standards-Track document in the future.</t>



      <t>The purpose of the Internet experiment is to collect experience with
      the deployment of ABE and confirm acceptable safety in deployed networks
      that use this update to TCP congestion control. To evaluate ABE, this
      experiment requires support in AQM routers for the ECN-marking of
      packets carrying the ECN-Capable Transport codepoint ECT(0) <xref
      target="RFC3168"></xref>.</t>

      <t>The result of this Internet experiment ought to include an
      investigation of the implications of experiencing an ECN-CE mark
      followed by loss within the same RTT. At the end of the experiment, this
      will be reported to the TCPM Working Group or the IESG.</t>

            <t>ABE is implemented as a patch for Linux and
            FreeBSD. This is meant for research and experimentation and is available for
            download at
            &lt;https://heim.ifi.uio.no/michawe/research/abe/&gt;. This
            code was used to produce the test results that are
            reported in <xref target="ABE2017"></xref>. The FreeBSD
            code was committed to the mainline kernel on March 19,
            2018 <xref target="ABE-REVISION"></xref>.</t>
    </section>


    <section anchor="IANA" title="IANA Considerations">


      <t>This document has no IANA actions.</t>
    </section>




    <section anchor="Security" title="Security Considerations">
      <t>The described method is a sender-side-only transport change, and it does
      not change the protocol messages exchanged. Therefore, the security considerations
      for ECN <xref target="RFC3168"></xref> still apply.</t>

      <t>This is a change to TCP congestion control with ECN that will
      typically lead to a change in the capacity achieved when flows share a
      network bottleneck. This could result in some flows receiving more than
      their fair share of capacity. Similar unfairness in the way that
      capacity is shared is also exhibited by other congestion control
      mechanisms that have been in use in the Internet for many years (e.g.,
      CUBIC <xref target="RFC8312"></xref>). Unfairness may also be a result
      of other factors, including the round-trip time experienced by a flow.
      ABE applies only when ECN-marked packets are received, not when packets
      are lost. Therefore, use of ABE cannot lead to congestion collapse.</t>
    </section>

  </middle>



  <back>

    <references title="Normative References">
      &RFC2119;
      &RFC3168;
      &RFC5681;
      &RFC7567;
      &RFC8257;
      &RFC8311;
      &RFC8174;
    </references>

    <references title="Informative References">

      &RFC8312;
      &RFC8087;
      &RFC8033;
      &RFC8289;


      <reference anchor="ABE2017">
        <front>
          <title>Alternative backoff: Achieving low latency and high
          throughput with ECN and AQM</title>

          <author fullname="Naeem Khademi" initials="N." surname="Khademi"></author>
          <author fullname="Grenville Armitage" initials="G." surname="Armitage"></author>
          <author fullname="Michael Welzl" initials="M." surname="Welzl"></author>
          <author fullname="Sebastian Zander" initials="S." surname="Zander"></author>
          <author fullname="Gorry Fairhurst" initials="G." surname="Fairhurst"></author>
          <author fullname="David Ros" initials="D." surname="Ros"></author>
          <date month="June" year="2017" />
        </front>
        <seriesInfo name="IFIP Networking Conference and Workshops" value="Stockholm, Sweden" />
        <seriesInfo name="DOI" value="10.23919/IFIPNetworking.2017.8264863"/>
      </reference>


      <reference anchor="ABE-REVISION"
                 target="https://svnweb.freebsd.org/base?view=revision&amp;revision=331214">
        <front>
          <title>ABE patch review in FreeBSD</title>

          <author fullname="Lawrence Stewart" initials="L." surname="Stewart"> </author>

          <date month="March" year="2018"/>
        </front>
	<seriesInfo name="Revision" value="331214"/>
      </reference>


      <reference anchor="BUFFERBLOAT" target="https://queue.acm.org/detail.cfm?id=2071893">
        <front>
          <title>Bufferbloat: Dark Buffers in the Internet
          </title>

          <author fullname="Jim Gettys" initials="J." surname="Gettys"></author>

          <author fullname="Kathleen Nichols" initials="K." surname="Nichols"></author>

          <date month="November" year="2011" />
        </front>
        <seriesInfo name="ACM Queue," value="Volume 9, Issue 11"/>
        <seriesInfo name="DOI" value="10.1145/2063166.2071893"/>

      </reference>


      <reference anchor="ICC2002" target="http://dx.doi.org/10.1109/ICC.2002.997262">
        <front>
          <title>TCP increase/decrease behavior with explicit congestion
          notification (ECN)</title>
          <author fullname="Minseok Kwon" initials="M." surname="Kwon"></author>
          <author fullname="S. Fahmy" initials="S." surname="Fahmy"></author>
        <date month="May" year="2002" />
        </front>
        <seriesInfo name="2002 IEEE International Conference on Communications"
		    value="Conference Proceedings" />
	<seriesInfo name="ICC" value="2002"/>
	<seriesInfo name="Cat." value="No.02CH37333"/>
	<seriesInfo name="DOI" value="10.1109/ICC.2002.997262"/>
      </reference>




    
<!-- draft-ietf-tcpm-accurate-ecn-07: I-D Exists -->

<reference anchor='ACC-ECN-FEEDBACK'>
<front>
<title>More Accurate ECN Feedback in TCP</title>
<author initials='B' surname='Briscoe' fullname='Bob Briscoe'>
    <organization />
</author>
<author initials='M' surname='Kuehlewind' fullname='Mirja Kuehlewind'>
    <organization />
</author>
<author initials='R' surname='Scheffenegger' fullname='Richard Scheffenegger'>
    <organization />
</author>
<date month='July' day='2' year='2018' />
</front>
<seriesInfo name='Work in Progress, ' value='draft-ietf-tcpm-accurate-ecn-07' />
</reference>


    </references>


<section anchor="Acknowledgements" title="Acknowledgements" numbered="no">
      <t>Authors N.&nbsp;Khademi, M.&nbsp;Welzl, and G.&nbsp;Fairhurst were
      partly funded by the
      European Community under its Seventh Framework Programme through the
      Reducing Internet Transport Latency (RITE) project (ICT-317700). The
      views expressed are solely those of the authors.</t>

      <t>Author G.&nbsp;Armitage performed most of his work on this document while
      employed by Swinburne University of Technology, Melbourne,
      Australia.</t>

      <t>The authors would like to thank Stuart Cheshire for many suggestions
      when revising this document. They would also like to thank the following people for their
      contributions to <xref target="ABE2017"></xref>: Chamil Kulatunga, David
      Ros, Stein Gjessing, and Sebastian Zander. Thanks also to (in alphabetical
      order) David Black, Roland Bless, Bob Briscoe, Markku Kojo, John Leslie,
      Lawrence Stewart, and the TCPM Working Group for providing
      valuable feedback on this document.</t>

      <t>Finally, the authors would like to thank everyone who provided
      feedback on the congestion control behaviour specified in this document
      that was received from the IRTF Internet Congestion Control Research Group
      (ICCRG).</t>
    </section>

  </back>
</rfc>
