One document matched: draft-khademi-alternativebackoff-ecn-02.xml


<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
 which is available here: http://xml2rfc.ietf.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
There has to be one entity for each item to be referenced. 
An alternate method (rfc include) is described in the references. -->
<!-- http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml-->
<!ENTITY RFC2119 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2309 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2309.xml">
<!ENTITY RFC2481 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2481.xml">
<!ENTITY RFC3168 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3168.xml">
<!ENTITY RFC3649 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3649.xml">
<!ENTITY RFC3742 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3742.xml">
<!ENTITY RFC3758 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3758.xml">
<!ENTITY RFC4340 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4340.xml">
<!ENTITY RFC4774 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4774.xml">
<!ENTITY RFC5562 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5562.xml">
<!ENTITY RFC5670 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5670.xml">
<!ENTITY RFC5681 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5681.xml">
<!ENTITY RFC5696 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5696.xml">
<!ENTITY RFC6040 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6040.xml">
<!ENTITY RFC6679 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6679.xml">
<!ENTITY RFC6789 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6789.xml">
<!ENTITY RFC7567 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7567.xml">
<!ENTITY I-D.narten-iana-considerations-rfc2434bis SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.narten-iana-considerations-rfc2434bis.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
 please see http://xml2rfc.ietf.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
 (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="3"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
 (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt"?>
<rfc category="exp" docName="draft-khademi-alternativebackoff-ecn-02"
     ipr="trust200902" updates="3168">
  <!--	noModificationTrust200902 noDerivativesTrust200902 pre5378Trust200902">-->

  <!-- updates="6298"> -->

  <!-- ipr="full3978"> -->

  <!-- category values: std, bcp, info, exp, and historic
     ipr values: full3667, noModification3667, noDerivatives3667
     you can add the attributes updates="NNNN" and obsoletes="NNNN" 
     they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
         full title is longer than 39 characters -->

    <!-- <title abbrev="Abbreviated Title">Coupled congestion control</title> -->

    <title abbrev="ABE">TCP Alternative Backoff with ECN (ABE)</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

    <!-- Another author who claims to be an editor -->

    <author fullname="Naeem Khademi" initials="N." surname="Khademi">
      <organization>University of Oslo</organization>

      <address>
        <postal>
          <street>PO Box 1080 Blindern</street>

          <!-- Reorder these if your country does things differently -->

          <code>N-0316</code>

          <city>Oslo</city>

          <region></region>

          <country>Norway</country>
        </postal>

        <email>naeemk@ifi.uio.no</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <author fullname="Michael Welzl" initials="M." surname="Welzl">
      <organization>University of Oslo</organization>

      <address>
        <postal>
          <street>PO Box 1080 Blindern</street>

          <!-- Reorder these if your country does things differently -->

          <code>N-0316</code>

          <city>Oslo</city>

          <region></region>

          <country>Norway</country>
        </postal>

        <email>michawe@ifi.uio.no</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <author fullname="Grenville Armitage" initials="G." surname="Armitage">
      <organization abbrev="Swinburne University of Technology">Centre for
      Advanced Internet Architectures</organization>

      <address>
        <postal>
          <street>Swinburne University of Technology</street>

          <street>PO Box 218</street>

          <street>John Street, Hawthorn</street>

          <!-- Reorder these if your country does things differently -->

          <code>3122</code>

          <city>Victoria</city>

          <region></region>

          <country>Australia</country>
        </postal>

        <email>garmitage@swin.edu.au</email>

        <!-- uri and facsimile elements may also be added -->
      </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>

          <!-- Reorder these if your country does things differently -->

          <code>AB24 3UE</code>

          <city>Aberdeen</city>

          <region></region>

          <country>UK</country>
        </postal>

        <email>gorry@erg.abdn.ac.uk</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <date year="2015" />

    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
         in the current day for you. If only the current year is specified, xml2rfc will fill 
         in the current day and month for you. If the year is not the current one, it is 
         necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
         purpose of calculating the expiry date).  With drafts it is normally sufficient to 
         specify just the year. -->

    <!-- Meta-data Declarations -->

    <area>Transport</area>

    <workgroup></workgroup>

    <!-- WG name at the upperleft corner of the doc,
         IETF is fine for individual submissions.  
         If this element is not present, the default is "Network Working Group",
         which is used by the RFC Editor as a nod to the history of the IETF. -->

    <keyword>ecn, aqm, sctp, tcp</keyword>

    <!-- Keywords will be incorporated into HTML output
         files in a meta tag but they have no effect on text or nroff
         output. If you submit your draft to the RFC Editor, the
         keywords will be used for the search engine. -->

    <abstract>
      <t>This memo provides an experimental update to RFC3168. It updates the
      TCP sender-side reaction to a congestion notification received via
      Explicit Congestion Notification (ECN). The updated method reduces cwnd
      by a smaller amount than TCP does in reaction to loss. The intention is
      to achieve good throughput when the queue at the bottleneck is smaller
      than the bandwidth-delay-product of the connection. This is more likely
      when an Active Queue Management (AQM) mechanism has used ECN to CE-mark
      a packet, than when a packet was lost. Future versions of this document
      will discuss SCTP as well as other transports using ECN.</t>
    </abstract>
  </front>

  <middle>
    <!--    <section title="Definitions" anchor='sec-def'>
         <t>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">RFC 2119</xref>.</t>
         
         <t><list style="hanging" hangIndent="6">
         <t hangText="Wha'ever:">
         <vspace />
         Wha'ever is short for Whatever.</t>
         </list></t>
         
         </section>
         -->

    <section anchor="sec-intro" title="Introduction">
      <t>Explicit Congestion Notification (ECN) is specified in <xref
      target="RFC3168"></xref>. It allows a network device that uses Active
      Queue Management (AQM) to set the congestion experienced, CE, codepoint
      in the ECN field of the IP packet header, rather than drop
      ECN-capable packets when incipient congestion is detected. When an
      ECN-capable transport is used over a path that supports ECN, it provides
      the opportunity for flows to improve their performance in the presence
      of incipient congestion <xref target="I-D.AQM-ECN-benefits"></xref>.</t>

      <t><xref target="RFC3168"></xref> not only specifies the router use of
      the ECN field, it also specifies a TCP procedure for using ECN. This
      states that a TCP sender should treat the ECN indication of congestion
      in the same way as that of a non-ECN-Capable TCP flow experiencing loss,
      by halving the congestion window "cwnd" and by reducing the slow start
      threshold "ssthresh". <xref target="RFC5681"></xref> stipulates that TCP
      congestion control sets "ssthresh" to max(FlightSize / 2, 2*SMSS) in
      response to packet loss. Consequently, a standard TCP
      flow using this reaction needs significant network queue space: it can
      only fully utilise a bottleneck when the length of the link queue (or
      the AQM dropping threshold) is at least the bandwidth-delay product
      (BDP) of the flow.</t>

      <t>A backoff multipler of 0.5 (halving cwnd and sshthresh after packet
      loss) is not the only available strategy. As defined in <xref
      target="ID.CUBIC"></xref>, CUBIC multiplies the current cwnd by 0.8 in
      response to loss (although the Linux implementation of CUBIC has used a
      multiplier of 0.7 since kernel version 2.6.25 released in 2008).
      Consequently, CUBIC utilise paths well even when the
      bottleneck queue is shorter than the bandwidth-delay product of
      the flow. However, in the case of a DropTail (FIFO) queue without AQM,
      such less-aggressive backoff increases the risk of creating a standing
      queue <xref target="CODEL2012"></xref>.</t>

      <t>Devices implementing AQM are likely to be the dominant (and possibly
      only) source of ECN CE-marking for packets from ECN-capable senders. AQM
      mechanisms typically strive to maintain a small queue length, regardless
      of the bandwidth-delay product of flows passing through them. Receipt of
      an ECN CE-mark might therefore reasonably be taken to indicate that a
      small bottleneck queue exists in the path, and hence the TCP flow would
      benefit from using a less aggressive backoff multiplier.</t>

      <t>Results reported in <xref target="ABE2015"></xref> show significant
      benefits (improved throughput) when reacting to ECN-Echo by multiplying
      cwnd and sstthresh with a value in the range [0.7..0.85].
      <xref target="sec-rationale"></xref> describes the rationale for this change.
      <xref target="sec-update3168"></xref> specifies a change to the
      TCP sender backoff behaviour in response to an indication that CE-marks
      have been received by the receiver.</t>
    </section>

    <section anchor="sec-rationale" title="Discussion">
      <t>Much of the background to this proposal can be found in <xref
      target="ABE2015"></xref>. Using a mix of experiments, theory and
      simulations with standard NewReno and CUBIC, <xref
      target="ABE2015"></xref> recommends enabling ECN and "...letting
      individual TCP senders use a larger multiplicative decrease factor in
      reaction to ECN CE-marks from AQM-enabled bottlenecks." Such a change is
      noted to result in "...significant performance gains in
      lightly-multiplexed scenarios, without losing the delay-reduction
      benefits of deploying CoDel or PIE."</t>

      <section anchor="sec-rationale-context"
               title="Why use ECN to vary the degree of backoff?">
        <t>The classic rule-of-thumb dictates a BDP of bottleneck buffering if
        a TCP connection wishes to optimise path utilisation. A single TCP
        connection running through such a bottleneck will have opened cwnd up
        to 2*BDP by the time packet loss occurs. <xref
        target="RFC5681"></xref>'s halving of cwnd and ssthresh pushes the TCP
        connection back to allowing only a BDP of packets in flight -- just
        enough to maintain 100% utilisation of the network path.</t>

<t>AQM schemes like CoDel <xref target="I-D.CoDel"></xref> and PIE
    <xref target="I-D.PIE"></xref> 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 shallow buffered bottleneck (section II, <xref
        target="ABE2015"></xref>) while allowing short traffic bursts into the queue.
        This interacts acceptably for TCP
        connections over low BDP paths, or highly multiplexed scenarios (lmany
        concurrent TCP connections). However, it interacts badly with
        lightly-multiplexed cases (few concurrent connections) over high BDP
        paths. Conventional TCP backoff in such cases leads to gaps in packet
        transmission and under-utilisation of the path.</t>

        <t>In an ideal world, the TCP sender would adapt its backoff strategy
        to match the effective depth at which a bottleneck begins indicating
        congestion. In the practical world, <xref target="ABE2015"></xref>
        proposes using the existence of ECN CE-marks to infer whether a path's
        bottleneck is AQM-enabled (shallow queue) or classic DropTail (deep
        queue), and adjust backoff accordingly. This results in a change to
        <xref target="RFC3168"></xref>, which recommended that TCP
        senders respond in the same way following indication of a received ECN
        CE-mark and a packet loss, making these equivalent signals of
        congestion. (The idea to change this behaviour pre-dates ABE. <xref
        target="ICC2002"></xref> also proposed using ECN CE-marks to modify
        TCP congestion control behaviour, using a larger multiplicative
        decrease factor in conjunction with a smaller additive increase factor
        to deal with RED-based bottlenecks that were not necessarily
        configured to emulate a shallow queue.)</t>

        <t><xref target="RFC7567"></xref> states that "deployed AQM algorithms
        SHOULD support Explicit Congestion Notification (ECN) as well as loss
        to signal congestion to endpoints" and <xref
        target="I-D.AQM-ECN-benefits"></xref> encourages this deployment.
        Apple recently announced their intention to enable ECN in iOS 9 and OS
        X 10.11 devices <xref target="WWDC2015"></xref>. By 2014, server-side
        ECN negotiation was observed to be provided by the majority of the top
        million web servers <xref target="PAM2015"></xref>, and only 0.5% of
        websites incurred additional connection setup latency using
        RFC3168-compliant ECN-fallback mechanisms.</t>
      </section>

      <section anchor="sec-rationale-multiplier"
               title="Choice of ABE multiplier">
        <t>ABE decouples a TCP sender's reaction to loss and ECN CE-marks. The
        description respectively uses beta_{loss} and beta_{ecn} to refer to
        the multiplicative decrease factors applied in response to packet loss
        and in response to an indication of a received CN CE-mark on an
        ECN-enabled TCP connection (based on the terms used in <xref
        target="ABE2015"></xref>). For non-ECN-enabled TCP connections, no ECN
        CE-marks are received and only beta_{loss} applies.</t>

        <t>In other words, in response to detected loss: <list>
            <t>FlightSize_(n+1) = FlightSize_n * beta_{loss}</t>
          </list> and in response to an indication of a received ECN CE-mark:
        <list>
            <t>FlightSize_(n+1) = FlightSize_n * beta_{ecn}</t>
        </list> where, as in <xref target="RFC5681"></xref>, FlightSize is the amount of outstanding
        data in the network, upper-bounded by the sender's congestion window (cwnd)
        and the receiver's advertised window (rwnd). The higher the values of beta_*,
        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 underutilising
        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 value in
            <xref target="RFC5681"></xref> is 0.5, and Linux
        CUBIC uses 0.7. ABE proposes no change to beta_{loss} used by any current
        TCP implementations.</t>

        <t>beta_{ecn} depends on how we want to optimise the reponse of a TCP
        connection to shallow AQM marking thresholds. beta_{loss} reflects the
        preferred response of each TCP algorithm when faced with exhaustion of
        buffers (of unknown depth) signalled by packet loss. Consequently, for
        any given TCP algorithm the choice of beta_{ecn} is likely to be
        algorithm-specific, rather than a constant multiple of the algorithm's
        existing beta_{loss}.</t>

        <t>A range of experiments (section IV, <xref target="ABE2015"></xref>)
        with NewReno and CUBIC over CoDel and PIE in lightly multiplexed
        scenarios have explored this choice of
        parameter. These experiments 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 (c.f.,
        beta_{loss} = 0.5).</t>

      </section>
    </section>

    <section anchor="sec-update3168"
             title="Updating the Sender-side ECN Reaction">
      <t>This section specifies an experimental update to <xref
      target="RFC3168"></xref>. </t>

      <section title="RFC 2119">
        <t>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"></xref>.</t>
      </section>

      <section title="Update to RFC 3168">
        <t>This document specifies an update to the TCP sender reaction that
        follows when the TCP receiver signals that ECN CE-marked packets have
        been received.</t>

        <t>The first paragraph of Section 6.1.2, "The TCP Sender", in <xref
        target="RFC3168"></xref> contains the following text:</t>

        <t>"If the sender receives an ECN-Echo (ECE) ACK packet (that is, an
        ACK packet with the ECN-Echo flag set in the TCP header), then the
        sender knows that congestion was encountered in the network on the
        path from the sender to the receiver. 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"."</t>

        <t>This memo updates this by replacing this with the following
        text:</t>

        <t>"If the sender receives an ECN-Echo (ECE) ACK packet (that is, an
        ACK packet with the ECN-Echo flag set in the TCP header), then the
        sender knows that congestion was encountered in the network on the
        path from the sender to the receiver. The indication of congestion
        SHOULD induce a less conservative reaction than loss: the TCP source
        multiplies FlightSize with 0.8 and reduces the slow
        start threshold 'ssthresh'."</t>
      </section>

      <section title="Status of the Update">
        <t>XXX Author's note: Once ICCRG evaluation has been completed an
        appropriate outcome may be inserted here XXX</t>

        <t>The congestion control behaviour specified in this update will be
        evaluated by the IRTF Internet Congestion Control Research Group
        (ICCRG), to determine whether it is thought safe for deployment in the
        general Internet.</t>

        <t>XXX Author's note: If this is adopted for publication as an
        Experimental RFC we need to explain why this is not PS XXX</t>

        <t>The present specification has been assigned an Experimental status,
        because this is common practice for first introduction of changes to
        the TCP protocol specification, where deployment experience is usually
        required prior to publishing a Standards-Track document.</t>

        <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 (except to enable an ECN-marking
        algorithm <xref target="RFC3168"></xref> <xref
        target="RFC7567"></xref>). If the method is only deployed by some TCP
        senders, and not by others, the senders that use this method can gain
        advantage, possibly at the expense of other flows that do not use this
        updated method. This advantage applies only to ECN-marked packets and
        not to loss indications. Hence, the new method can not
        lead to congestion collapse.</t>
      </section>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>Authors N. Khademi, M. Welzl and G. Fairhurst were part-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>The authors would like to thank the following people for their
      contributions to <xref target="ABE2015"></xref>: Chamil Kulatunga, David
      Ros, Stein Gjessing, Sebastian Zander. Thanks to (in alphabetical order)
      Bob Briscoe, John Leslie, Dave Taht and the TCPM WG for providing
      valuable feedback on this document. </t>
    </section>

    <!-- Possibly a 'Contributors' section ... -->

    <section anchor="IANA" title="IANA Considerations">
      <t>XX RFC ED - PLEASE REMOVE THIS SECTION XXX</t>

      <t>This memo includes no request to IANA.</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>The described method is a sender-side only transport change, and does
      not change the protocol messages exchanged. The security considerations
      of RFC 3819 therefore still apply.</t>

      <t>This document describes 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. 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="ID.CUBIC"></xref>). Unfairness may also be a result of other
      factors, including the round trip time experienced by a flow. This
      advantage applies only to ECN-marked packets and not to loss
      indications, and will therefore not lead to congestion collapse.</t>
    </section>
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <!-- References split into informative and normative -->

    <!-- There are 2 ways to insert reference entries from the citation libraries:
         1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
         2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
         (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")
         
         Both are cited textually in the same manner: by using xref elements.
         If you use the PI option, xml2rfc will, by default, try to find included files in the same
         directory as the including file. You can also define the XML_LIBRARY environment variable
         with a value containing a set of directories to search.  These can be either in the local
         filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references title="Normative References">

      &RFC2119;
      
      &RFC3168;

      &RFC5681;

      &RFC7567;
    </references>
    
    <references title="Informative References">
      <reference anchor="ABE2015"
                 target="http://caia.swin.edu.au/reports/150710A/CAIA-TR-150710A.pdf">
        <front>
          <title>Alternative Backoff: Achieving Low Latency and High
          Throughput with ECN and AQM</title>

          <author fullname="N. Khademi" initials="N." surname="Khademi"></author>

          <author fullname="M. Welzl" initials="M." surname="Welzl"></author>

          <author fullname="G. Armitage" initials="G." surname="Armitage"></author>

          <author fullname="C. Kulatunga" initials="C." surname="Kulatunga"></author>

          <author fullname="D. Ros" initials="D." surname="Ros"></author>

          <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"></author>

          <author fullname="S. Gjessing" initials="S." surname="Gjessing"></author>

          <author fullname="S. Zander" initials="S." surname="Zander"></author>

          <date month="July" year="2015" />
        </front>

        <seriesInfo name="CAIA Technical Report CAIA-TR-150710A,"
                    value="Swinburne University of Technology" />
      </reference>

      <reference anchor="ID.CUBIC">
        <front>
          <title>CUBIC for Fast Long-Distance Networks</title>

          <author fullname="I. Rhee" initials="I." surname="Rhee"></author>

          <author fullname="L. Xu" initials="L." surname="Xu"></author>

          <author fullname="S. Ha" initials="S." surname="Ha"></author>

          <author fullname="A. Zimmermann" initials="A." surname="Zimmermann"></author>

          <author fullname="L. Eggert" initials="L." surname="Eggert"></author>

          <author fullname="R. Scheffenegger" initials="R."
                  surname="Scheffenegger"></author>

          <date month="June" year="2015" />
        </front>

        <seriesInfo name="Internet-draft, IETF work-in-progress"
                    value="draft-ietf-tcpm-cubic-00" />
      </reference>

      <reference anchor="I-D.AQM-ECN-benefits">
        <front>
          <title>The Benefits of using Explicit Congestion Notification
          (ECN)</title>

          <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"></author>

          <author fullname="M. Welzl" initials="M." surname="Welzl"></author>

          <date month="November" year="2015" />
        </front>

        <seriesInfo name="Internet-draft, IETF work-in-progress"
                    value="draft-ietf-aqm-ecn-benefits-08" />
      </reference>

      <reference anchor="CODEL2012"
                 target="http://queue.acm.org/detail.cfm?id=2209336">
        <front>
          <title>Controlling Queue Delay</title>

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

          <author fullname="Van Jacobson" initials="V" surname="Jacobson">
            <organization>Google, Inc</organization>
          </author>

          <!--<workgroup>Communications of the ACM Vol. 55 No. 11, July, 2012, pp.  42-50.</workgroup>-->

          <date month="July" year="2012" />

          <abstract>
            <t></t>
          </abstract>
        </front>

        <format octets="" target="http://queue.acm.org/detail.cfm?id=2209336"
                type="PDF" />
      </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="M. Kwon" initials="M." surname="Kwon"></author>

          <author fullname="S. Fahmy" initials="S." surname="Fahmy"></author>

          <date month="May" year="2002" />
        </front>

        <seriesInfo name="IEEE ICC" value="2002, New York, New York, USA" />
      </reference>

      <reference anchor="PAM2015" target="http://ecn.ethz.ch/ecn-pam15.pdf">
        <front>
          <title>Enabling Internet-wide Deployment of Explicit Congestion
          Notification</title>

          <author fullname="Brian Trammell" initials="B." surname="Trammell"></author>

          <author fullname="Mirja Kuhlewind" initials="M." surname="Kuhlewind"></author>

          <author fullname="Damiano Boppart" initials="D." surname="Boppart"></author>

          <author fullname="Iain Learmonth" initials="I." surname="Learmonth"></author>

          <author fullname="Gorry Fairhurst" initials="G." surname="Fairhurst"></author>

          <author fullname="Richard Scheffenegger" initials="R."
                  surname="Scheffenegger"></author>

          <date month="March" year="2015" />
        </front>

        <seriesInfo name="Proceedings of the"
                    value="2015 Passive and Active Measurement Conference, New York" />
      </reference>

      <reference anchor="WWDC2015"
                 target="https://developer.apple.com/videos/wwdc/2015/?id=719">
        <front>
          <title>Your App and Next Generation Networks</title>

          <author fullname="Prabhakar Lakhera" initials="P." surname="Lakhera"></author>

          <author fullname="Stuart Cheshire" initials="S." surname="Cheshire"></author>

          <date month="June" year="2015" />
        </front>

        <seriesInfo name="Apple Worldwide Developers Conference"
                    value="2015, San Francisco, USA" />
      </reference>
      
      
      
      <reference anchor="I-D.CoDel">
          <front>
              <title>The Benefits of using Explicit Congestion Notification
                  (ECN)</title>
              
              <author fullname="K. Nichols" initials="K." surname="Nichols"></author>
              
              <author fullname="V. Jacobson" initials="V." surname="Jacobson"></author>

              <author fullname="A. McGregor" initials="V." surname="McGregor"></author>

              <author fullname="J. Iyengar" initials="J." surname="Iyengar"></author>

              <date month="December" year="2015" />
          </front>
          
          <seriesInfo name="Internet-draft, IETF work-in-progress"
          value="draft-ietf-aqm-codel-02" />
      </reference>
      
      
      <reference anchor="I-D.PIE">
          <front>
              <title>PIE: A Lightweight Control Scheme To Address the
                  Bufferbloat Problem</title>
              
              <author fullname="R. Pan" initials="R." surname="Pan"></author>
              
              <author fullname="P. Natarajan" initials="P." surname="Natarajan"></author>
              
              <author fullname="F. Baker" initials="F." surname="Baker"></author>
              
              <author fullname="G. White" initials="G." surname="White"></author>
              
              <author fullname="B. VerSteeg" initials="B." surname="VerSteeg"></author>
              
              <author fullname="M.S. Prabhu" initials="M.S." surname="Prabhu"></author>
              
              <author fullname="C. Piglione" initials="C." surname="Piglione"></author>
              
              <author fullname="V. Subramanian" initials="V." surname="Subramanian"></author>


              <date month="November" year="2015" />
          </front>
          
          <seriesInfo name="Internet-draft, IETF work-in-progress"
          value="draft-ietf-aqm-pie-03" />
      </reference>
      
      
    </references>

    <!--        
         <section anchor="sec-internal" title="Internal comments">
         <t>This is a place for taking notes.</t>
         
         <t>It's interesting that our document proposes almost exactly what RFC3168 mentions in sec. 20.2: "   A second possible use for the fourth ECN codepoint would have been to
         give the router two separate codepoints for the indication of
         congestion, CE(0) and CE(1), for mild and severe congestion
         respectively.  While this could be useful in some cases, this
         certainly does not seem a compelling requirement at this point.  If
         there was judged to be a compelling need for this, the complications
         of incremental deployment would most likely necessitate more that
         just one codepoint for this function.".</t>
         
         
         </section>
         -->

    <!-- Change Log
         v00 2006-03-15  EBD   Initial version
         
         -->
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-23 14:28:10