Network Working Group                                       G. Fairhurst
Internet-Draft                                    University of Aberdeen
Intended status: Informational                                  M. Welzl
Expires: December 25, 2015                            University of Oslo
                                                           June 23, 2015


      The Benefits of using Explicit Congestion Notification (ECN)
                     draft-ietf-aqm-ecn-benefits-05

Abstract

   The goal of this document is to describe the potential benefits when
   applications use a transport that enables Explicit Congestion
   Notification (ECN).  The document outlines the principal gains in
   terms of increased throughput, reduced delay and other benefits when
   ECN is used over a network path that includes equipment that supports
   ECN-marking.  It also discusses challenges for successful deployment
   of ECN.  It does not propose new algorithms to use ECN, nor does it
   describe the details of implementation of ECN in endpoint devices
   (Internet hosts), routers or other network devices.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   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 http://datatracker.ietf.org/drafts/current/.

   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."

   This Internet-Draft will expire on December 25, 2015.

Copyright Notice

   Copyright (c) 2015 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents



Fairhurst & Welzl       Expires December 25, 2015               [Page 1]


Internet-Draft               Benefits of ECN                   June 2015


   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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Benefit of using ECN to avoid Congestion Loss . . . . . . . .   4
     2.1.  Improved Throughput . . . . . . . . . . . . . . . . . . .   4
     2.2.  Reduced Head-of-Line Blocking . . . . . . . . . . . . . .   5
     2.3.  Reduced Probability of RTO Expiry . . . . . . . . . . . .   5
     2.4.  Applications that do not Retransmit Lost Packets  . . . .   6
     2.5.  Making Incipient Congestion Visible . . . . . . . . . . .   7
     2.6.  Opportunities for new Transport Mechanisms  . . . . . . .   7
   3.  Network Support for ECN . . . . . . . . . . . . . . . . . . .   8
     3.1.  The ECN Field . . . . . . . . . . . . . . . . . . . . . .   9
     3.2.  Forwarding ECN-Capable IP Packets . . . . . . . . . . . .   9
     3.3.  Enabling ECN in Network Devices . . . . . . . . . . . . .   9
     3.4.  Co-existance of ECN and non-ECN flows . . . . . . . . . .  10
     3.5.  Bleaching and Middlebox Requirements to deploy ECN  . . .  10
     3.6.  Tunneling ECN and the use of ECN by Lower Layer Networks   11
   4.  Using ECN across the Internet . . . . . . . . . . . . . . . .  11
     4.1.  Partial Deployment  . . . . . . . . . . . . . . . . . . .  11
     4.2.  Detecting whether a Path Really Supports ECN  . . . . . .  12
     4.3.  Detecting ECN Receiver Feedback Cheating  . . . . . . . .  12
   5.  Summary: Enabling ECN in Network Devices and Hosts  . . . . .  12
   6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  14
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  14
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .  14
   9.  Revision Information  . . . . . . . . . . . . . . . . . . . .  15
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  16
     10.1.  Normative References . . . . . . . . . . . . . . . . . .  16
     10.2.  Informative References . . . . . . . . . . . . . . . . .  17
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  18

1.  Introduction

   Internet Transports (such as TCP and SCTP) are implemented in
   endpoints (Internet hosts) and are designed to detect and react to
   network congestion.  Congestion may be detected by loss of an IP
   packet or, if Explicit Congestion Notification (ECN) [RFC3168] is
   enabled, by the reception of a packet with a Congestion Experienced
   (CE)-marking in the IP header.  Both of these are treated by
   transports as indications of congestion.  ECN may also be enabled by
   other transports: UDP applications that provide congestion control



Fairhurst & Welzl       Expires December 25, 2015               [Page 2]


Internet-Draft               Benefits of ECN                   June 2015


   may enable ECN when they are able to correctly process the ECN
   signals [ID.RFC5405.bis] (e.g., ECN with RTP [RFC6679]).

   Active Queue Management (AQM) [ID.RFC2309.bis] is a class of
   techniques that can be used by network devices (a router, middlebox,
   or other device that forwards packets through the network) to manage
   the size of queues in network buffers.  A network device that does
   not support AQM typically uses a drop-tail policy to drop excess IP
   packets when its queue becomes full.  The discard of packets serves
   as a signal to the end-to-end transport that there may be congestion
   on the network path being used.  This results in a congestion control
   reaction by the transport to reduce the maximum rate permitted by the
   sending endpoint.

   When an application uses a transport that enables use of ECN
   [RFC3168], the transport layer sets the ECT(0) or ECT(1) codepoint in
   the IP header of packets that it sends.  This indicates to network
   devices that they may mark, rather than drop the ECN-capable IP
   packets.  An ECN-capable network device can then signal incipient
   congestion (network queueing) at a point before a transport
   experiences congestion loss or high queuing delay.  The marking is
   generally performed as the result of various AQM algorithms, where
   the exact combination of AQM/ECN algorithms does not need to be known
   by the transport endpoints.

   Since ECN makes it possible for the network to signal the presence of
   incipient congestion without incurring packet loss, it lets the
   network deliver some packets to an application that would otherwise
   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.  However, enabling ECN can also
   result in a number of beneficial side-effects, some of which may be
   much more significant than the immediate packet loss reduction from
   ECN-marking instead of dropping packets.  Several benefits reduce
   latency (e.g., reduced Head-of-Line Blocking).

   The focus of the document is on usage of ECN by transport and
   application layer flows, not its implementation in endpoint hosts, or
   in routers and other network devices.

1.1.  Terminology

   The following terms are used:

   AQM: Active Queue Management.

   CE: Congestion Experienced, a codepoint value marked in the IP packet
   header.



Fairhurst & Welzl       Expires December 25, 2015               [Page 3]


Internet-Draft               Benefits of ECN                   June 2015


   ECN-capable: An IP packet with a non-zero ECN value (i.e., with a
   ECT(0), ECT(1), or the CE codepoint).  An ECN-capable network device
   may forward, drop or queue an ECN-capable packet and may choose to
   CE-mark this packet when there is incipient congestion.

   ECN field: A 2-bit field specified for use explicit congestion
   signalling in the IPv4 and IPv6 packet headers.

   Endpoint: An Internet host that terminates a transport protocol
   connection across an Internet path.

   Incipient Congestion: The detection of congestion when it is
   starting, perhaps by a network device noting that the arrival rate
   exceeds the forwarding rate.

   Network device: A router, middlebox, or other device that forwards IP
   packets through the network.

   non-ECN-capable: An IP packet with a zero value ECN codepoint.  A
   non-ECN-capable packet may be forwarded, dropped or queued by a
   network device.

2.  Benefit of using ECN to avoid Congestion Loss

   An ECN-capable network device is expected to CE-mark an ECN-capable
   IP packet when an AQM method detects incipient congestion, rather
   than to drop the packet [ID.RFC2309.bis].  An application can benefit
   from this marking in several ways:

2.1.  Improved Throughput

   ECN seeks to avoid the inefficiency of dropping data that has already
   made it across at least part of the network path.

   ECN can improve the throughput of an application, although this
   increase in throughput is often not the most significant gain.  When
   an application uses a light to moderately loaded network path, the
   number of packets that are dropped due to congestion is small.  Using
   an example from Table 1 of [RFC3649], for a standard TCP sender with
   a Round Trip Time, RTT, of 0.1 seconds, a packet size of 1500 bytes
   and an average throughput of 1 Mbps, the average packet drop ratio
   would be 0.02 (i.e., 1 in 50 packets).  This translates into an
   approximate 2% throughput gain if ECN is enabled.  (Note that in
   heavy congestion, packet loss may be unavoidable with, or without,
   ECN.)






Fairhurst & Welzl       Expires December 25, 2015               [Page 4]


Internet-Draft               Benefits of ECN                   June 2015


2.2.  Reduced Head-of-Line Blocking

   Many Internet transports provide in-order delivery of received data
   segments to the applications they support.  For these applications,
   use of ECN can reduce the delay that can result when these
   applications experience packet loss.

   Packet loss may occur for various reasons.  One cause arises when an
   AQM scheme drops a packet as a signal of incipient congestion.
   Whatever the cause of loss, a missing packet needs to trigger a
   congestion control response.  A reliable transport also triggers
   retransmission to recover the lost data.  For a transport providing
   in-order delivery, this requires that the transport receiver stalls
   (or waits) for all data that was sent ahead of a lost segment to be
   correctly received before it can forward any later data to the
   application.  A loss therefore creates a delay of at least one RTT
   after a loss event before data can be delivered to an application.
   We call this Head-of-Line (HOL) blocking.  This is the usual
   requirement for TCP and SCTP.  (PR-SCTP [RFC3758], UDP
   [RFC0768][ID.RFC5405.bis], and DCCP [RFC4340] provide a transport
   that does not provide re-ordering).

   By enabling ECN, a transport continues to receive in-order data when
   there is incipient congestion, and can pass this data to the
   receiving application.  Use of ECN avoids the additional reordering
   delay in a reliable transport.  The sender still needs to make an
   appropriate congestion-response to reduce the maximum transmission
   rate for future traffic, which usually will require a reduction in
   the sending rate [ID.RFC5405.bis].)

2.3.  Reduced Probability of RTO Expiry

   Some patterns of packet loss can result in a retransmission time out
   (RTO), which causes a sudden and significant change in the allowed
   rate at which a transport/application can forward packets.  Because
   ECN provides an alternative to drop for network devices to signal
   incipient congestion, this can reduce the probability of loss and
   hence reduce the likelihood of RTO expiry.

   Internet transports/applications generally use a RTO timer as a last
   resort to detect and recover loss [ID.RFC5405.bis] [RFC5681]).
   Specifically, a RTO timer detects loss of a packet that is not
   followed by other packets, such as at the end of a burst of data
   segments or when an application becomes idle (either because the
   application has no further data to send or the network prevents
   sending further data, e.g., flow or congestion control at the
   transport layer).  This loss of the last segment (or last few
   segments) of a traffic burst is also known as a "tail loss".



Fairhurst & Welzl       Expires December 25, 2015               [Page 5]


Internet-Draft               Benefits of ECN                   June 2015


   Standard transport recovery methods, such as Fast Recovery (
   [RFC5681], are often unable to recover from a tail loss.  This is
   because the endpoint receiver is unaware that the lost segments were
   actually sent, and therefore generates no feedback [Fla13].
   Retransmission of these segments therefore relies on expiry of a
   transport retransmission timer.  This timer is also used to detect a
   lack of forwarding along a path.  Expiry of the RTO therefore results
   in the consequent loss of state about the network path being used.
   This typically includes resetting path estimates such as the RTT, re-
   initialising the congestion window, and possibly updates to other
   transport state.  This can reduce the performance of the transport
   until it again adapts to the path.

   An ECN-capable network device cannot eliminate the possibility of
   tail loss, because a drop may occur due to a traffic burst exceeding
   the instantaneous available capacity of a network buffer or as a
   result of the AQM algorithm (overload protection mechanisms, etc
   [ID.RFC2309.bis]).  However, an ECN-capable network device that
   observes incipient congestion may be expected to buffer the IP
   packets of an ECN-capable flow and set a CE-mark in one or more
   packet(s), rather than triggering packet drop.  Setting a CE-mark
   signals incipient congestion without forcing the transport/
   application to enter retransmission timeout.  This reduces
   application-level latency and can improve the throughput for
   applications that send intermittent bursts of data.

   The benefit of avoiding retransmission loss is expected to be
   significant when ECN is used on TCP SYN/ACK packets [RFC5562] where
   the RTO interval may be large because TCP cannot base the timeout
   period on prior RTT measurements from the same connection.

2.4.  Applications that do not Retransmit Lost Packets

   A transport that enables ECN can receive timely congestion signals
   without the need to retransmit packets each time it receives a
   congestion signal.

   Some latency-critical applications do not retransmit lost packets,
   yet may be able to adjust their sending rate following detection of
   incipient congestion.  Examples of such applications include UDP-
   based services that carry Voice over IP (VoIP), interactive video, or
   real-time data.  The performance of many such applications degrades
   rapidly with increasing packet loss and the transport/application may
   therefore employ mechanisms (e.g., packet forward error correction,
   data duplication, or media codec error concealment) to mitigate the
   immediate effect of congestion loss on the application.  Some
   mechanisms consume additional network capacity, some require
   additional processing and some contribute additional path latency



Fairhurst & Welzl       Expires December 25, 2015               [Page 6]


Internet-Draft               Benefits of ECN                   June 2015


   when congestion is experienced.  By decoupling congestion control
   from loss, ECN can allow transports that support these applications
   to reduce their rate before the application experiences loss from
   congestion.  This can reduce the negative impact of triggering loss-
   hiding mechanisms with a direct positive impact on the quality
   experienced by the users of these applications.

2.5.  Making Incipient Congestion Visible

   A characteristic of using ECN is that it exposes the presence of
   congestion on a network path to the transport and network layers
   allowing information to be collected about the presence of incipient
   congestion.

   Recording the presence of CE-marked packets can provide information
   about the current congestion level experienced on a network path.  A
   network flow that only experiences CE-marking and no loss implies
   that the sending endpoint is experiencing only congestion.  A network
   flow may also experience loss (e.g., due to queue overflow, AQM
   methods that protect other flows, link corruption or loss in
   middleboxes).  When a mixture of ECN-marking and packet loss is
   experienced, transports and measurements need to assume there is
   congestion [ID.RFC2309.bis].  An absence of CE-marks therefore does
   not indicate a path has not experienced congestion.

   The reception of CE-marked packets can be used to monitor the level
   of congestion by a transport/application or a network operator.  For
   example, ECN measurements are used by Congestion Exposure (ConEx)
   [RFC6789].  In contrast, metering packet loss is harder.

2.6.  Opportunities for new Transport Mechanisms

   ECN can enable design and deployment of new algorithms in network
   devices and Internet transports.  Internet transports need to regard
   both loss and CE-marking as an indication of congestion.  However,
   while the amount of feedback provided by drop ought naturally to be
   minimized, this is not the case for ECN.  In contrast, an ECN-Capable
   network device could provide richer (more frequent and fine-grained)
   indication of its congestion state to the transport.

   All ECN-capable receiving endpoints need to provide feedback to the
   transport sender to indicate that CE-marks have been
   received.[RFC3168] provides one method that signals once each round
   trip time that CE-marked packets have been received.

   A receiving endpoint may provide more detailed feedback to the
   congestion controller at the sender (e.g., describing the set of
   received ECN codepoints, or indicating each received CE-marked



Fairhurst & Welzl       Expires December 25, 2015               [Page 7]


Internet-Draft               Benefits of ECN                   June 2015


   packet).  Precise feedback about the number of CE-marks encountered
   is supported by the Real Time Protocol (RTP) when used over UDP
   [RFC6679] and has been proposed for SCTP [ST14] and TCP [ID.Acc.ECN].

   More detailed feedback is expected to enable evolution of transport
   protocols allowing the congestion control mechanism to make a more
   appropriate decision on how to react to congestion.  Designers of
   transport protocols need to consider not only how network devices CE-
   mark packets, but also how the control loop in the application/
   transport reacts to reception of these CE-marked packets.

   Benefit has been noted when packets are CE-marked early using an
   instantaneous queue, and if the receiving endpoint provides feedback
   about the number of packet marks encountered, an improved sender
   behavior has been shown to be possible, e.g, Datacenter TCP (DCTCP)
   [AL10].  DCTCP is targeted at controlled environments such as a
   datacenter.  This is work-in-progress and it is currently unknown
   whether or how such behaviour could be safely introduced into the
   Internet.  Any update to an Internet transport protocol requires
   careful consideration of the robustness of the behaviour when working
   with endpoints or network devices that were not designed for the new
   congestion reaction.

3.  Network Support for ECN

   For an application to use ECN requires that the endpoints first
   enable ECN within the transport being used, but also for all network
   devices along the path to at least forward IP packets that set a non-
   zero ECN codepoint.

   ECN can be deployed both in the general Internet and in controlled
   environments:

   o  ECN can be incrementally deployed in the general Internet.  The
      IETF has provided guidance on configuration and usage in
      [ID.RFC2309.bis].

   o  ECN may be deployed within a controlled environment, for example
      within a data centre or within a well-managed private network.
      This use of ECN may be tuned to the specific use-case.  An example
      is DCTCP [AL10] [ID.DCTCP].

   Early experience of using ECN across the general Internet encountered
   a number of operational difficulties when the network path either
   failed to transfer ECN-capable packets or inappropriately changed the
   ECN codepoints [BA11].  A recent survey reported a growing support
   for network paths to pass ECN codepoints [TR15].




Fairhurst & Welzl       Expires December 25, 2015               [Page 8]


Internet-Draft               Benefits of ECN                   June 2015


   The remainder of this section identifies what is needed for network
   devices to effectively support ECN.

3.1.  The ECN Field

   The current IPv4 and IPv6 specifications assign usage of 2 bits in
   the IP header to carry the ECN codepoint.  This 2-bit field was
   reserved in [RFC2474] and assigned in [RFC3168].

   [RFC4774] discusses some of the issues in defining alternate
   semantics for the ECN field, and specifies requirements for a safe
   coexistence in an Internet that could include routers that do not
   understand the defined alternate semantics.

3.2.  Forwarding ECN-Capable IP Packets

   Not all network devices along a path need to be ECN-capable (i.e.,
   perform CE-marking).  However, all network devices need to be
   configured not to drop packets solely because the ECT(0) or ECT(1)
   codepoints are used.

   Any network device that does not perform CE-marking of an ECN-capable
   packet can be expected to drop these packets under congestion.
   Applications that experience congestion at these network devices do
   not see any benefit from enabling ECN.  However, they may be expected
   to see benefit if the congestion were to occur within a network
   device that did support ECN.

3.3.  Enabling ECN in Network Devices

   Network devices should use an AQM algorithm that CE-marks ECN-capable
   traffic when making decisions about the response to congestion
   [ID.RFC2309.bis].  An ECN method should set a CE-mark on ECN-capable
   packets in the presence of incipient congestion.  A CE-marked packet
   will be interpreted as an indication of incipient congestion by the
   transport endpoints.

   There is opportunity to design an AQM method for an ECN-capable
   network device that differs from an AQM method designed to drop
   packets.  [ID.RFC2309.bis] states that the network device should
   allow this behaviour to be configurable.

   [RFC3168] describes a method in which a network device sets the CE-
   mark at the time that the network device would otherwise have dropped
   the packet.  While it has often been assumed that network devices
   should CE-mark packets at the same level of congestion at which they
   would otherwise have dropped them, [ID.RFC2309.bis] recommends that
   network devices allow independent configuration of the settings for



Fairhurst & Welzl       Expires December 25, 2015               [Page 9]


Internet-Draft               Benefits of ECN                   June 2015


   AQM dropping and ECN marking.  Such separate configuration of the
   drop and mark policies is supported in some network devices.

3.4.  Co-existance of ECN and non-ECN flows

   Network devices need to be able to forward all IP flows and provide
   appropriate treatment for both ECN and non-ECN traffic.

   The design considerations for an AQM scheme supporting ECN needs to
   consider the impact of queueing during incipient congestion.  For
   example, a simple AQM scheme could choose to queue ECN-capable and
   non-ECN capable flows in the same queue with an ECN scheme that CE-
   mark packets during incipient congestion.  The CE-marked packets that
   remain in the queue during congestion can continue to contribute to
   queueing delay.  In contrast, non-ECN-capable packets would normally
   be dropped by an AQM scheme under incipient congestion.  This
   difference in queueing is one motivation for consideration of more
   advanced AQM schemes, and may provide an incentive for enabling flow
   isolation using scheduling [ID.RFC2309.bis].  The IETF is defining
   methods to evaluate the suitability of AQM schemes for deployment in
   the general Internet [ID.AQM.eval].

3.5.  Bleaching and Middlebox Requirements to deploy ECN

   Network devices should not be configured to change the ECN codepoint
   in the packets that they forward, except to set the CE-codepoint to
   signal incipient congestion.

   Cases have been noted where an endpoint sends a packet with a non-
   zero ECN mark, but the packet is received by the remote endpoint with
   a zero ECN codepoint [TR15].  This could be a result of a policy that
   erases or "bleaches" the ECN codepoint values at a network edge
   (resetting the codepoint to zero).  Bleaching may occur for various
   reasons (including normalising packets to hide which equipment
   supports ECN).  This policy prevents use of ECN by applications.

   When ECN-capable IP packets, marked as ECT(0) or ECT(1), are remarked
   to non-ECN-capable (i.e., the ECN field is set to zero codepoint),
   this could result in the packets being dropped by ECN-capable network
   devices further along the path.  This eliminates the advantage of
   using of ECN.

   A network device must not change a packet with a CE mark to a zero
   codepoint, if the network device decides not to forward the packet
   with the CE-mark, it has to instead drop the packet and not bleach
   the marking.  This is because a CE-marked packet has already received
   ECN treatment in the network, and remarking it would then hide the
   congestion signal from the receiving endpoint.  This eliminates the



Fairhurst & Welzl       Expires December 25, 2015              [Page 10]


Internet-Draft               Benefits of ECN                   June 2015


   benefits of ECN.  It can also slow down the response to congestion
   compared to using AQM, because the transport will only react if it
   later discovers congestion by some other mechanism.

   Prior to RFC2474, a previous usage assigned the bits now forming the
   ECN field as a part of the now deprecated Type of Service (ToS) field
   [RFC1349].  A network device that conforms to this older
   specification was allowed to remark or erase the ECN codepoints, and
   such equipment needs to be updated to the current specifications to
   support ECN.

3.6.  Tunneling ECN and the use of ECN by Lower Layer Networks

   Some networks may use ECN internally or tunnel ECN (e.g., for traffic
   engineering or security).  These methods need to ensure that the ECN-
   field of the tunnel packets is handled correctly at the ingress and
   egress of the tunnel.  Guidance on the correct use of ECN is provided
   in [RFC6040].

   Further guidance on the encapsulation and use of ECN by non-IP
   network devices is provided in [ID.ECN-Encap].

4.  Using ECN across the Internet

   A receiving endpoint needs to report the loss it experiences when it
   uses loss-based congestion control.  So also, when ECN is enabled, a
   receiving endpoint must correctly report the presence of CE-marks by
   providing a mechanism to feed this congestion information back to the
   sending endpoint , [RFC3168], [ID.RFC5405.bis], enabling the sender
   to react to experienced congestion.  This mechanism needs to be
   designed to operate robustly across a wide range of Internet path
   characteristics.  This section describes partial deployment, how ECN-
   enabled endpoints can continue to work effectively over a path that
   experiences misbehaving network devices or when an endpoint does not
   correctly provide feedback of ECN congestion information.

4.1.  Partial Deployment

   Use of ECN is negotiated between the endpoints prior to using the
   mechanism.  This

   ECN has been designed to allow incremental partial deployment
   [RFC3168].  Any network device can choose to use either ECN or some
   other loss-based policy to manage its traffic.  Similarly, transport/
   application negotiation allows senders and receiving endpoints to
   choose whether ECN is to be used to manage congestion for a
   particular network flow.




Fairhurst & Welzl       Expires December 25, 2015              [Page 11]


Internet-Draft               Benefits of ECN                   June 2015


4.2.  Detecting whether a Path Really Supports ECN

   Internet transport and applications need to be robust to the variety
   and sometimes varying path characteristics that are encountered in
   the general Internet They need to monitor correct forwarding of ECN
   over the entire path and duration of a session.

   To be robust, applications and transports need to be designed with
   the expectation of heterogeneous forwarding (e.g., where some IP
   packets are CE-marked by one network device, and some by another,
   possibly using a different AQM algorithm, or when a combination of
   CE-marking and loss-based congestion indications are used. (
   [ID.AQM.eval] describes methodologies for evaluating AQM schemes.)

   A transport/application also needs to be robust to path changes.  A
   change in the set of network devices along a path could impact the
   ability to effectively signal or use ECN across the path, e.g., when
   a path changes to use a middlebox that bleaches ECN codepoints (see
   Section 3.5).

   A sending endpoint can check that any ECN-marks applied to packets
   received from the path are indeed delivered to the remote receiving
   endpoint and that appropriate feedback is provided.  (This could be
   done by a sender setting known ECN codepoints for specific packets in
   a network flow and then checking whether the remote endpoint
   correctly reports these marks [ID.Fallback], [TR15].)  If a sender
   detects misuse of ECN, it needs to either conservatively react to
   congestion or even fall back to using loss-based recovery instead of
   ECN.

4.3.  Detecting ECN Receiver Feedback Cheating

   Appropriate feedback requires that the endpoint receiver does not try
   to conceal reception of CE-marked packets in the ECN feedback
   information provided to the sending endpoint [ID.RFC2309.bis].
   Designers of applications/transports are therefore encouraged to
   include mechanisms that can detect this misbehavior.  If a sending
   endpoint detects that a receiver is not correctly providing this
   feedback, it can either conservatively react to congestion or fall
   back to using loss-based recovery instead of ECN.

5.  Summary: Enabling ECN in Network Devices and Hosts

   This section summarises the benefits of deploying and using ECN
   within the Internet.  It also provides a list of summary of
   prerequisites to achieve ECN deployment.





Fairhurst & Welzl       Expires December 25, 2015              [Page 12]


Internet-Draft               Benefits of ECN                   June 2015


   Application developers should where possible use transports that
   enable the benefits of ECN.  Applications that directly use UDP need
   to provide support to implement the functions required for ECN
   [ID.RFC5405.bis].  Once enabled, an application that uses a transport
   that supports ECN will experience the benefits of ECN as network
   deployment starts to enable ECN.  The application does not need to be
   rewritten to gain these benefits.  Table 1 summarises the key
   benefits.

   +---------+-----------------------------------------------------+
   | Section | Benefit                                             |
   +---------+-----------------------------------------------------+
   |   2.1   | Improved throughput                                 |
   |   2.2   | Reduced Head-of-Line blocking                       |
   |   2.3   | Reduced probability of RTO Expiry                   |
   |   2.4   | Applications that do not retransmit lost packets    |
   |   2.5   | Making incipient congestion visible                 |
   |   2.6   | Opportunities for new transport mechanisms          |
   +---------+-----------------------------------------------------+

   Table 1: Summary of Key Benefits


   Network operators and people configuring network devices should
   enable ECN [ID.RFC2309.bis].

   Prerequisites for network devices (including IP routers) to enable
   use of ECN include:

   o  A network device that updates the ECN field in IP packets must use
      IETF-specified methods (see Section 3.1).

   o  A network device may support alternate ECN semantics (see
      Section 3.1).

   o  Network devices need to be configured not to drop packets solely
      because the ECT(0) or ECT(1) codepoints are used (see
      Section 3.2).

   o  A network device must not change a packet with a CE mark to a zero
      codepoint, if the network device decides not to forward the packet
      with the CE-mark, it has to instead drop the packet and not bleach
      the marking (see Section 3.5).

   o  An ECN-capable network device should correctly update the ECN
      codepoint of ECN-capable packets in the presence of incipient
      congestion (see Section 3.3).




Fairhurst & Welzl       Expires December 25, 2015              [Page 13]


Internet-Draft               Benefits of ECN                   June 2015


   o  Network devices need to be able to forward both ECN-capable and
      non-ECN-capable flows (see Section 3.4).

   Prerequisites for network endpoints to enable use of ECN include:

   o  an application should use an Internet transport that can set and
      receive ECN marks (see Section 4).

   o  an ECN-capable transport/application must return feedback
      indicating congestion to the sending endpoint and perform an
      appropriate congestion response (see Section 4).

   o  an ECN-capable transport/application should detect paths where
      there is misuse of ECN and either conservatively react to
      congestion or even fall back to not using ECN (see Section 4.2).

   o  designers of applications/transports are encouraged to include
      mechanisms that can detect and react appropriately to misbehaving
      receivers that fail to report CE-marked packets (see Section 4.3).

6.  Acknowledgements

   The authors 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.

   The authors would like to thank the following people for their
   comments on prior versions of this document: Bob Briscoe, David
   Collier-Brown, Colin Perkins, Richard Scheffenegger, Dave Taht, Wes
   Eddy, Fred Baker, Mikael Abrahamsson, Mirja Kuehlewind, John Leslie,
   and other members of the AQM and TSV Working Groups.

7.  IANA Considerations

   XX RFC ED - PLEASE REMOVE THIS SECTION XXX

   This memo includes no request to IANA.

8.  Security Considerations

   This document introduces no new security considerations.  Each RFC
   listed in this document discusses the security considerations of the
   specification it contains.







Fairhurst & Welzl       Expires December 25, 2015              [Page 14]


Internet-Draft               Benefits of ECN                   June 2015


9.  Revision Information

   XXX RFC-Ed please remove this section prior to publication.

   Revision 00 was the first WG draft.

   Revision 01 includes updates to complete all the sections and a
   rewrite to improve readability.  Added section 2.  Author list
   reversed, since Gorry has become the lead author.  Corrections
   following feedback from Wes Eddy upon review of an interim version of
   this draft.

   Note: Wes Eddy raised a question about whether discussion of the ECN
   Pitfalls could be improved or restructured - this is expected to be
   addressed in the next revision.

   Revision 02 updates the title, and also the description of mechanisms
   that help with partial ECN support.

   We think this draft is ready for wider review.  Comments are welcome
   to the authors or via the IETF AQM or TSVWG mailing lists.

   Revision 03 includes updates from the mailing list and WG discussions
   at the Dallas IETF meeting.

   The section "Avoiding Capacity Overshoot" was removed, since this
   refers primarily to an AQM benefit, and the additional benefits of
   ECN are already stated.  Separated normative and informative
   references

   Revision 04 (WG Review during WGLC)

   Updated the abstract.

   Added a table of contents.

   Addressed various (some conflicting) comments during WGLC with new
   text.

   The section on Network Support for ECN was moved, and some
   suggestions for rewording sections were implemented.

   Decided not to remove section headers for 2.1 and 2.2 - to ensure the
   document clearly calls-out the benefits.

   Updated references.  Updated text to improve consistency of terms and
   added definitions for key terms.




Fairhurst & Welzl       Expires December 25, 2015              [Page 15]


Internet-Draft               Benefits of ECN                   June 2015


   Note: The group suggested this document should not define
   recommendations for end hosts or routers, but simply state the things
   needs to enable deployment to be sucessfull.

   Revision 05 (after WGLC comments)

   Updated abstract to avoid suggesting that this describes new methods
   for deployment.

   Added ECN-field definition, and sorted terms in order.

   Added an opening para to each "benefit" to say what this is.  Sought
   to remove redundnacy between sections.

   Added new section on Codepoints to avoid saying the same thing twice.

   Reworked sections 3 and 4 to clarify discussion and to remove
   unnecessary text.

   Reformatted Summary to refer to sections describing things, rather
   than appear as a list of new recommendations.  Reordered to match the
   new document order.

   Note: This version expects an update to RFC5405.bis that will
   indicate UDP ECN requirements (normative).

10.  References

10.1.  Normative References

   [ID.RFC2309.bis]
              Baker, F. and G. Fairhurst, "IETF Recommendations
              Regarding Active Queue Management", Internet-draft draft-
              ietf-aqm-recommendation-06, October 2014.

   [ID.RFC5405.bis]
              Eggert, Lars., Fairhurst, Gorry., and Greg. Shepherd,
              "Unicast UDP Usage Guidelines", 2015.

   [RFC2474]  "Definition of the Differentiated Services Field (DS
              Field) in the IPv4 and IPv6 Headers".

   [RFC3168]  Ramakrishnan, K., Floyd, S., and D. Black, "The Addition
              of Explicit Congestion Notification (ECN) to IP", RFC
              3168, September 2001.

   [RFC6040]  Briscoe, B., "Tunnelling of Explicit Congestion
              Notification", RFC 6040, November 2010.



Fairhurst & Welzl       Expires December 25, 2015              [Page 16]


Internet-Draft               Benefits of ECN                   June 2015


10.2.  Informative References

   [AL10]     Alizadeh, M., Greenberg, A., Maltz, D., Padhye, J., Patel,
              P., Prabhakar, B., Sengupta, S., and M. Sridharan, "Data
              Center TCP (DCTCP)", SIGCOMM 2010, August 2010.

   [BA11]     Bauer, Steven., Beverly, Robert., and Arthur. Berger,
              "Measuring the State of ECN Readiness in Servers, Clients,
              and Routers, ACM IMC", 2011.

   [Fla13]    Flach, Tobias., Dukkipati, Nandita., Terzis, Andreas.,
              Raghavan, Barath., Cardwell, Neal., Cheng, Yuchung., Jain,
              Ankur., Hao, Shuai., Katz-Bassett, Ethan., and Ramesh.
              Govindan, "Reducing web latency: the virtue of gentle
              aggression.", SIGCOMM 2013, October 2013.

   [ID.Acc.ECN]
              Briscoe, Bob., Scheffeneger, Richard., and Mirja.
              Kuehlewind, "More Accurate ECN Feedback in TCP, Work-in-
              Progress".

   [ID.AQM.eval]
              Kuhn, Nicolas., Natarajan, Preethi., Ros, David., and
              Naeem. Khademi, "AQM Characterization Guidelines (Work-in-
              progress, draft-ietf-aqm-eval-guidelines)", 2015.

   [ID.DCTCP]
              Bensley, S., Eggert, Lars., and D. Thaler, "Microsoft's
              Datacenter TCP (DCTCP): TCP Congestion Control for
              Datacenters (Work-in-progress, draft-bensley-tcpm-dctcp)",
              2015.

   [ID.ECN-Encap]
              Briscoe, B., Kaippallimalil, J., and P. Thaler,
              "Guidelines for Adding Congestion Notification to
              Protocols that Encapsulate IP", Internet-draft, IETF work-
              in-progress draft-ietf-tsvwg-ecn-encap-guidelines.

   [ID.Fallback]
              Kuehlewind, Mirja. and Brian. Trammell, "A Mechanism for
              ECN Path Probing and Fallback, draft-kuehlewind-tcpm-ecn-
              fallback, Work-in-Progress".

   [RFC0768]  Postel, J., "User Datagram Protocol", 1980.

   [RFC1349]  "Type of Service in the Internet Protocol Suite".





Fairhurst & Welzl       Expires December 25, 2015              [Page 17]


Internet-Draft               Benefits of ECN                   June 2015


   [RFC3649]  Floyd, S., "HighSpeed TCP for Large Congestion Windows",
              RFC 3649, December 2003.

   [RFC3758]  Stewart, R., Ramalho, M., Xie, Q., Tuexen, M., and P.
              Conrad, "Stream Control Transmission Protocol (SCTP)
              Partial Reliability Extension", RFC 3758, May 2004.

   [RFC4340]  Kohler, E., Handley, M., and S. Floyd, "Datagram
              Congestion Control Protocol (DCCP)", RFC 4340, March 2006.

   [RFC4774]  Floyd, S., "Specifying Alternate Semantics for the
              Explicit Congestion Notification (ECN) Field", BCP 124,
              RFC 4774, November 2006.

   [RFC5562]  Kuzmanovic, A., Mondal, A., Floyd, S., and K.
              Ramakrishnan, "Adding Explicit Congestion Notification
              (ECN) Capability to TCP's SYN/ACK Packets", RFC 5562, June
              2009.

   [RFC5681]  Allman, M., Paxson, V., and E. Blanton, "TCP Congestion
              Control", RFC 5681, September 2009.

   [RFC6679]  Westerlund, M., Johansson, I., Perkins, C., O'Hanlon, P.,
              and K. Carlberg, "Explicit Congestion Notification (ECN)
              for RTP over UDP", RFC 6679, August 2012.

   [RFC6789]  Briscoe, B., Woundy, R., and A. Cooper, "Congestion
              Exposure (ConEx) Concepts and Use Cases", RFC 6789,
              December 2012.

   [ST14]     Stewart, R., Tuexen, M., and X. Dong, "ECN for Stream
              Control Transmission Protocol (SCTP)", Internet-draft
              draft-stewart-tsvwg-sctpecn-05.txt, January 2014.

   [TR15]     Tranmmel, Brian., Kuehlewind, Mirja., Boppart, Damiano,
              Learmonth, Iain., and Gorry.  Fairhurst, "Enabling
              internet-wide deployment of Explicit Congestion
              Notification Tramwell, B., Kuehlewind, M., Boppart, D.,
              Learmonth, I., Fairhurst, G. & Scheffnegger, Passive and
              Active Measurement Conference (PAM)", March 2015.

Authors' Addresses









Fairhurst & Welzl       Expires December 25, 2015              [Page 18]


Internet-Draft               Benefits of ECN                   June 2015


   Godred Fairhurst
   University of Aberdeen
   School of Engineering, Fraser Noble Building
   Aberdeen  AB24 3UE
   UK

   Email: gorry@erg.abdn.ac.uk


   Michael Welzl
   University of Oslo
   PO Box 1080 Blindern
   Oslo  N-0316
   Norway

   Phone: +47 22 85 24 20
   Email: michawe@ifi.uio.no


































Fairhurst & Welzl       Expires December 25, 2015              [Page 19]