draft-ietf-tsvwg-ecn-experimentation-06.txt   draft-ietf-tsvwg-ecn-experimentation-07.txt 
Transport Area Working Group D. Black Transport Area Working Group D. Black
Internet-Draft Dell EMC Internet-Draft Dell EMC
Updates: 3168, 4341, 4342, 5622, 6679 September 20, 2017 Updates: 3168, 4341, 4342, 5622, 6679 October 20, 2017
(if approved) (if approved)
Intended status: Standards Track Intended status: Standards Track
Expires: March 24, 2018 Expires: April 23, 2018
Explicit Congestion Notification (ECN) Experimentation Relaxing Restrictions on Explicit Congestion Notification (ECN)
draft-ietf-tsvwg-ecn-experimentation-06 Experimentation
draft-ietf-tsvwg-ecn-experimentation-07
Abstract Abstract
This memo updates RFC 3168, which specifies Explicit Congestion This memo updates RFC 3168, which specifies Explicit Congestion
Notification (ECN) as a replacement for packet drops as indicators of Notification (ECN) as an alternative to packet drops for indicating
network congestion. It relaxes restrictions in RFC 3168 that would network congestion to endpoints. It relaxes restrictions in RFC 3168
otherwise hinder experimentation towards benefits beyond just removal that hinder experimentation towards benefits beyond just removal of
of loss. This memo summarizes the anticipated areas of loss. This memo summarizes the anticipated areas of experimentation
experimentation and updates RFC 3168 to enable experimentation in and updates RFC 3168 to enable experimentation in these areas. An
these areas. An Experimental RFC is required to take advantage of Experimental RFC in the IETF document stream is required to take
any of these enabling updates. In addition, this memo makes related advantage of any of these enabling updates. In addition, this memo
updates to the ECN specifications for RTP in RFC 6679 and for DCCP in makes related updates to the ECN specifications for RTP in RFC 6679
RFC 4341, RFC 4342 and RFC 5622. This memo also records the and for DCCP in RFC 4341, RFC 4342 and RFC 5622. This memo also
conclusion of the ECN nonce experiment in RFC 3540, and provides the records the conclusion of the ECN nonce experiment in RFC 3540, and
rationale for reclassification of RFC 3540 as Historic; this provides the rationale for reclassification of RFC 3540 as Historic;
reclassification enables new experimental use of the ECT(1) this reclassification enables new experimental use of the ECT(1)
codepoint. codepoint.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on March 24, 2018. This Internet-Draft will expire on April 23, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 37 skipping to change at page 2, line 37
outside the IETF Standards Process, and derivative works of it may outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other it for publication as an RFC or to translate it into languages other
than English. than English.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. ECN Terminology . . . . . . . . . . . . . . . . . . . . . 3 1.1. ECN Terminology . . . . . . . . . . . . . . . . . . . . . 3
1.2. Requirements Language . . . . . . . . . . . . . . . . . . 4 1.2. Requirements Language . . . . . . . . . . . . . . . . . . 4
2. Proposed ECN Experiments: Background . . . . . . . . . . . . 4 2. ECN Experimentation: Overview . . . . . . . . . . . . . . . . 4
3. ECN Nonce and RFC 3540 . . . . . . . . . . . . . . . . . . . 5 2.1. Effective Congestion Control is Required . . . . . . . . 5
4. Updates to RFC 3168 . . . . . . . . . . . . . . . . . . . . . 6 2.2. Considerations for Other Protocols . . . . . . . . . . . 5
4.1. Congestion Response Differences . . . . . . . . . . . . . 6 2.3. Operational and Management Considerations . . . . . . . . 6
4.2. Congestion Marking Differences . . . . . . . . . . . . . 8 3. ECN Nonce and RFC 3540 . . . . . . . . . . . . . . . . . . . 7
4.3. TCP Control Packets and Retransmissions . . . . . . . . . 10 4. Updates to RFC 3168 . . . . . . . . . . . . . . . . . . . . . 8
4.4. Effective Congestion Control is Required . . . . . . . . 11 4.1. Congestion Response Differences . . . . . . . . . . . . . 8
5. ECN for RTP Updates to RFC 6679 . . . . . . . . . . . . . . . 12 4.2. Congestion Marking Differences . . . . . . . . . . . . . 9
6. ECN for DCCP Updates to RFCs 4341, 4342 and 5622 . . . . . . 13 4.3. TCP Control Packets and Retransmissions . . . . . . . . . 12
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 5. ECN for RTP Updates to RFC 6679 . . . . . . . . . . . . . . . 13
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 6. ECN for DCCP Updates to RFCs 4341, 4342 and 5622 . . . . . . 14
9. Security Considerations . . . . . . . . . . . . . . . . . . . 14 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 15
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
10.1. Normative References . . . . . . . . . . . . . . . . . . 14 9. Security Considerations . . . . . . . . . . . . . . . . . . . 16
10.2. Informative References . . . . . . . . . . . . . . . . . 15 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 16
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 18 10.1. Normative References . . . . . . . . . . . . . . . . . . 16
10.2. Informative References . . . . . . . . . . . . . . . . . 17
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 21
1. Introduction 1. Introduction
This memo updates RFC 3168 [RFC3168] which specifies Explicit This memo updates RFC 3168 [RFC3168] which specifies Explicit
Congestion Notification (ECN) as a replacement for packet drops as Congestion Notification (ECN) as an alternative to packet drops for
indicators of network congestion. It relaxes restrictions in RFC indicating network congestion to endpoints. It relaxes restrictions
3168 that would otherwise hinder experimentation towards benefits in RFC 3168 that hinder experimentation towards benefits beyond just
beyond just removal of loss. This memo summarizes the proposed areas removal of loss. This memo summarizes the proposed areas of
of experimentation and updates RFC 3168 to enable experimentation in experimentation and updates RFC 3168 to enable experimentation in
these areas. An Experimental RFC MUST be published for any protocol these areas. An Experimental RFC in the IETF document stream
or mechanism that takes advantage of any of these enabling updates. [RFC4844] is required to take advantage of any of these enabling
Putting all of these updates into a single document enables updates. Putting all of these updates into a single document enables
experimentation to proceed without requiring a standards process experimentation to proceed without requiring a standards process
exception for each Experimental RFC that needs changes to RFC 3168, a exception for each Experimental RFC that needs changes to RFC 3168, a
Proposed Standard RFC. Proposed Standard RFC.
There is no need to make changes for protocols and mechanisms that There is no need for this memo to update RFC 3168 to simplify
are documented in Standards Track RFCs, as any Standards Track RFC standardization of protocols and mechanisms that are documented in
can update RFC 3168 without needing a standards process exception. Standards Track RFCs, as any Standards Track RFC can update RFC 3168
directly without either relying on updates in this memo or using a
standards process exception.
In addition, this memo makes related updates to the ECN specification In addition, this memo makes related updates to the ECN specification
for RTP [RFC6679] and for three DCCP profiles ([RFC4341], [RFC4342] for RTP [RFC6679] and for three DCCP profiles ([RFC4341], [RFC4342]
and [RFC5622]) for the same reason. Each experiment is still and [RFC5622]) for the same reason. Each experiment is still
required to be documented in one or more separate RFCs, but use of required to be documented in one or more separate RFCs, but use of
Experimental RFCs for this purpose does not require a process Experimental RFCs for this purpose does not require a process
exception to modify any of these Proposed Standard RFCs when the exception to modify any of these Proposed Standard RFCs when the
modification falls within the bounds established by this memo (RFC modification falls within the bounds established by this memo (RFC
5622 is an Experimental RFC; it is modified by this memo for 5622 is an Experimental RFC; it is modified by this memo for
consistency with modifications to the other two DCCP RFCs). consistency with modifications to the other two DCCP RFCs).
skipping to change at page 4, line 16 skipping to change at page 4, line 19
node sets to indicate congestion. A node sets an increasing node sets to indicate congestion. A node sets an increasing
proportion of ECT packets to CE as the level of congestion increases. proportion of ECT packets to CE as the level of congestion increases.
1.2. Requirements Language 1.2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in RFC "OPTIONAL" in this document are to be interpreted as described in RFC
2119 [RFC2119]. 2119 [RFC2119].
2. Proposed ECN Experiments: Background 2. ECN Experimentation: Overview
Three areas of ECN experimentation are covered by this memo; the Three areas of ECN experimentation are covered by this memo; the
cited Internet-Drafts should be consulted for the detailed goals and cited Internet-Drafts should be consulted for the detailed goals and
rationale of each proposed experiment: rationale of each proposed experiment:
Congestion Response Differences: As discussed further in Congestion Response Differences: An ECN congestion indication
Section 4.1, an ECN congestion indication communicates a higher communicates a higher likelihood that a shorter queue exists at
likelihood that a shorter queue exists at the network bottleneck the network bottleneck node by comparison to a longer queue that
node by comparison to a packet drop that indicates congestion is more likely when a packet drop occurs that indicates congestion
[I-D.ietf-tcpm-alternativebackoff-ecn]. This difference suggests [I-D.ietf-tcpm-alternativebackoff-ecn]. This difference suggests
that for congestion indicated by ECN, a different sender that for congestion indicated by ECN, a different sender
congestion response (e.g., reduce the response so that the sender congestion response (e.g., sender backs off by a smaller amount)
backs off by a smaller amount) may be appropriate by comparison to may be appropriate by comparison to the sender response to
the sender response to congestion indicated by loss, e.g., as congestion indicated by loss. Two examples of proposed sender
proposed in [I-D.ietf-tcpm-alternativebackoff-ecn] and congestion response changes are described in
[I-D.ietf-tsvwg-ecn-l4s-id] - the experiment in the latter draft [I-D.ietf-tcpm-alternativebackoff-ecn] and
couples the backoff change to Congestion Marking Differences [I-D.ietf-tsvwg-ecn-l4s-id] - the proposal in the latter draft
changes (next bullet). This is at variance with RFC 3168's couples the sender congestion response change to Congestion
requirement that a sender's congestion control response to ECN Marking Differences changes (see next paragraph). This is at
congestion indications be the same as to drops. IETF approval, variance with RFC 3168's requirement that a sender's congestion
e.g., via an Experimental RFC, is required for any sender control response to ECN congestion indications be the same as to
congestion response used in this area of experimentation. drops. IETF approval, e.g., via an Experimental RFC in the IETF
document stream, is required for any sender congestion response
used in this area of experimentation. See Section 4.1 for further
discussion.
Congestion Marking Differences: As discussed further in Section 4.2, Congestion Marking Differences: Congestion marking at network nodes
when taken to its limit, congestion marking at network nodes can can be configured to maintain very shallow queues in conjunction
be configured to maintain very shallow queues in conjunction with with a different sender response to congestion indications (CE
a different IETF-approved congestion response to congestion marks), e.g., as proposed in [I-D.ietf-tsvwg-ecn-l4s-id]. The
indications (CE marks) at the sender, e.g., as proposed in traffic involved needs to be identified by the senders to the
[I-D.ietf-tsvwg-ecn-l4s-id]. The traffic involved needs to be network nodes in order to avoid damage to other network traffic
identified by the senders to the network nodes in order to avoid whose senders do not expect the more frequent congestion marking
damage to other network traffic whose senders do not expect the used to maintain very shallow queues. Use of different ECN
more frequent congestion marking used to maintain very shallow codepoints, specifically ECT(0) and ECT(1), is a promising means
queues. Use of different ECN codepoints, specifically ECT(0) and of traffic identification for this purpose, but that technique is
ECT(1), is a promising means of traffic identification for this at variance with RFC 3168's requirement that ECT(0)-marked traffic
purpose, but that technique is at variance with RFC 3168's and ECT(1)-marked traffic not receive different treatment in the
requirement that ECT(0)-marked traffic and ECT(1)-marked traffic network. IETF approval, e.g., via an Experimental RFC in the IETF
not receive different treatment in the network. document stream, is required for any sender congestion response
used in this area of experimentation. See Section 4.2 for further
discussion.
TCP Control Packets and Retransmissions: RFC 3168 limits the use of TCP Control Packets and Retransmissions: RFC 3168 limits the use of
ECN with TCP to data packets, excluding retransmissions. With the ECN with TCP to data packets, excluding retransmissions. With the
successful deployment of ECN in large portions of the Internet, successful deployment of ECN in large portions of the Internet,
there is interest in extending the benefits of ECN to TCP control there is interest in extending the benefits of ECN to TCP control
packets (e.g., SYNs) and retransmitted packets, e.g., as proposed packets (e.g., SYNs) and retransmitted packets, e.g., as proposed
in [I-D.bagnulo-tcpm-generalized-ecn]. This is at variance with in [I-D.bagnulo-tcpm-generalized-ecn]. This is at variance with
RFC 3168's prohibition of use of ECN for TCP control packets and RFC 3168's prohibition of use of ECN for TCP control packets and
retransmitted packets. retransmitted packets. See Section 4.3 for further discussion.
The scope of this memo is limited to these three areas of The scope of this memo is limited to these three areas of
experimentation. This memo expresses no view on the likely outcomes experimentation. This memo expresses no view on the likely outcomes
of the proposed experiments and does not specify the experiments in of the proposed experiments and does not specify the experiments in
detail. Additional experiments in these areas are possible, e.g., on detail. Additional experiments in these areas are possible, e.g., on
use of ECN to support deployment of a protocol similar to DCTCP use of ECN to support deployment of a protocol similar to DCTCP
[I-D.ietf-tcpm-dctcp] beyond DCTCP's current applicability that is [I-D.ietf-tcpm-dctcp] beyond DCTCP's current applicability that is
limited to data center environments. The purpose of this memo is to limited to data center environments. The purpose of this memo is to
remove constraints in standards track RFCs that stand in the way of remove constraints in standards track RFCs that stand in the way of
these areas of experimentation. these areas of experimentation.
2.1. Effective Congestion Control is Required
Congestion control remains an important aspect of the Internet
architecture [RFC2914]. Any Experimental RFC in the IETF document
stream that takes advantage of this memo's updates to any RFC is
required to discuss the congestion control implications of the
experiment(s) in order to provide assurance that deployment of the
experiment(s) does not pose a congestion-based threat to the
operation of the Internet.
2.2. Considerations for Other Protocols
ECN is widely deployed in the Internet and is being designed into
additional protocols such as TRILL [I-D.ietf-trill-ecn-support].
While the responsibility for coexistence with other protocols and
transition from current ECN functionality falls primary upon the
designers of experimental changes to ECN, this subsection provides
some general guidelines for designers and users of other protocols
that minimize the likelihood of interaction with the areas of ECN
experimentation enabled by this memo.
1. RFC 3168's forwarding behavior remains the preferred approach for
routers that are not involved in ECN experiments, in particular
continuing to treat the ECT(0) and ECT(1) codepoints as
equivalent, as specified in Section 4.2 below.
2. The ECN CE codepoint SHOULD NOT be assumed to indicate that the
packet would have been dropped if ECN were not in use, as that is
not the case for either Congestion Response Differences
experiments (see Section 4.1 below) or Congestion Marking
Differences experiments (see Section 4.2 below). This is already
the case when the ECN field is used for Pre-Congestion
Notification (PCN) [RFC6660].
3. Traffic marked with ECT(1) MUST NOT be originated, as specified
in Section 4.2 below.
4. ECN may now be used on packets where it has not been used
previously, specifically TCP control packets and retransmissions,
see Section 4.3 below, and in particular its new requirements for
middlebox behavior. In general, any system or protocol that
inspects or monitors network traffic SHOULD be prepared to
encounter ECN usage on packets and traffic that currently do not
use ECN.
5. Requirements for handling of the ECN field by tunnel
encapsulation and decapsulation are specified in [RFC6040].
Additional related guidance can be found in
[I-D.ietf-tsvwg-ecn-encap-guidelines] and
[I-D.ietf-tsvwg-rfc6040update-shim].
2.3. Operational and Management Considerations
Changes in network traffic behavior that result from ECN
experimentation are likely to impact network operations and
management. Designers of ECN experiments are expected to anticipate
possible impacts and consider how they may be dealt with. Specific
topics to consider include possible network management changes or
extensions, monitoring of the experimental deployment, collection of
data for evaluation of the experiment and possible interactions with
other protocols, particularly protocols that encapsulate network
traffic.
For further discussion, see [RFC5706]; the questions in Appendix A
provide a concise survey of some important aspects to consider.
3. ECN Nonce and RFC 3540 3. ECN Nonce and RFC 3540
As specified in RFC 3168, ECN uses two ECN Capable Transport (ECT) As specified in RFC 3168, ECN uses two ECN Capable Transport (ECT)
codepoints to indicate that a packet supports ECN, ECT(0) and ECT(1), codepoints to indicate that a packet supports ECN, ECT(0) and ECT(1).
with the second codepoint used to support ECN nonce functionality to The second codepoint, ECT(1), is used to support ECN nonce
discourage receivers from exploiting ECN to improve their throughput functionality that discourages receivers from exploiting ECN to
at the expense of other network users, as specified in experimental improve their throughput at the expense of other network users, as
RFC 3540 [RFC3540]. This section explains why RFC 3540 is being specified in Experimental RFC 3540 [RFC3540]. This section explains
reclassified as Historic and makes associated updates to RFC 3168. why RFC 3540 is being reclassified as Historic and makes associated
updates to RFC 3168.
While the ECN nonce works as specified, and has been deployed in While the ECN nonce works as specified, and has been deployed in
limited environments, widespread usage in the Internet has not limited environments, widespread usage in the Internet has not
materialized. A study of the ECN behaviour of the top one million materialized. A study of the ECN behaviour of the top one million
web servers using 2014 data [Trammell15] found that after ECN was web servers using 2014 data [Trammell15] found that after ECN was
negotiated, none of the 581,711 IPv4 servers tested were using both negotiated, none of the 581,711 IPv4 servers tested were using both
ECT codepoints, which would have been a possible sign of ECN nonce ECT codepoints, which would have been a possible sign of ECN nonce
usage. Of the 17,028 IPv6 servers tested, 4 set both ECT(0) and usage. Of the 17,028 IPv6 servers tested, 4 set both ECT(0) and
ECT(1) on data packets. This might have been evidence of use of the ECT(1) on data packets. This might have been evidence of use of the
ECN nonce by these 4 servers, but might equally have been due to re- ECN nonce by these 4 servers, but might equally have been due to
marking of the ECN field by an erroneous middlebox or router. erroneous re-marking of the ECN field by a middlebox or router.
With the emergence of new experimental functionality that depends on With the emergence of new experimental functionality that depends on
use of the ECT(1) codepoint for other purposes, continuing to reserve use of the ECT(1) codepoint for other purposes, continuing to reserve
that codepoint for the ECN nonce experiment is no longer justified. that codepoint for the ECN nonce experiment is no longer justified.
In addition, other approaches to discouraging receivers from In addition, other approaches to discouraging receivers from
exploiting ECN have emerged, see Appendix B.1 of exploiting ECN have emerged, see Appendix B.1 of
[I-D.ietf-tsvwg-ecn-l4s-id]. Therefore, in support of ECN [I-D.ietf-tsvwg-ecn-l4s-id]. Therefore, in support of ECN
experimentation with the ECT(1) codepoint, this memo: experimentation with the ECT(1) codepoint, this memo:
o Declares that the ECN nonce experiment [RFC3540] has concluded, o Declares that the ECN nonce experiment [RFC3540] has concluded,
and notes the absence of widespread deployment. and notes the absence of widespread deployment.
o Updates RFC 3168 [RFC3168] to remove discussion of the ECN nonce o Updates RFC 3168 [RFC3168] to remove discussion of the ECN nonce
and use of ECT(1) for that nonce. and use of ECT(1) for that nonce.
The four primary updates to RFC 3168 that remove discussion of the The four primary updates to RFC 3168 that remove discussion of the
skipping to change at page 6, line 32 skipping to change at page 8, line 10
entirety. entirety.
3. Remove the last paragraph of Section 12, which states that ECT(1) 3. Remove the last paragraph of Section 12, which states that ECT(1)
may be used as part of the implementation of the ECN nonce. may be used as part of the implementation of the ECN nonce.
4. Remove the first two paragraphs of Section 20.2, which discuss 4. Remove the first two paragraphs of Section 20.2, which discuss
the ECN nonce and alternatives. No changes are made to the rest the ECN nonce and alternatives. No changes are made to the rest
of Section 20.2, which discusses alternate uses for the fourth of Section 20.2, which discusses alternate uses for the fourth
ECN codepoint. ECN codepoint.
Additional minor changes remove other mentions of the ECN nonce and In addition, other less substantive RFC 3168 changes are required to
implications that ECT(1) is intended for use by the ECN nonce; the remove all other mentions of the ECN nonce and to remove implications
specific text updates are omitted for brevity. that ECT(1) is intended for use by the ECN nonce; these specific text
updates are omitted for brevity.
4. Updates to RFC 3168 4. Updates to RFC 3168
The following subsections specify updates to RFC 3168 to enable the The following subsections specify updates to RFC 3168 to enable the
three areas of experimentation summarized in Section 2. three areas of experimentation summarized in Section 2.
4.1. Congestion Response Differences 4.1. Congestion Response Differences
RFC 3168 specifies that senders respond identically to packet drops RFC 3168 specifies that senders respond identically to packet drops
and ECN congestion indications. ECN congestion indications are and ECN congestion indications. ECN congestion indications are
skipping to change at page 7, line 9 skipping to change at page 8, line 37
particularly non-AQM drop-based mechanisms such as tail-drop, as AQM particularly non-AQM drop-based mechanisms such as tail-drop, as AQM
mechanisms indicate congestion before the queue overflows. While the mechanisms indicate congestion before the queue overflows. While the
occurrence of loss does not easily enable the receiver to determine occurrence of loss does not easily enable the receiver to determine
if AQM is used, the receipt of an ECN Congestion Experienced (CE) if AQM is used, the receipt of an ECN Congestion Experienced (CE)
mark conveys a strong likelihood that AQM was used to manage the mark conveys a strong likelihood that AQM was used to manage the
bottleneck queue. Hence an ECN congestion indication communicates a bottleneck queue. Hence an ECN congestion indication communicates a
higher likelihood that a shorter queue exists at the network higher likelihood that a shorter queue exists at the network
bottleneck node by comparison to a packet drop that indicates bottleneck node by comparison to a packet drop that indicates
congestion [I-D.ietf-tcpm-alternativebackoff-ecn]. This difference congestion [I-D.ietf-tcpm-alternativebackoff-ecn]. This difference
suggests that for congestion indicated by ECN, a different sender suggests that for congestion indicated by ECN, a different sender
congestion response (e.g., reduce the response so that the sender congestion response (e.g., sender backs off by a smaller amount) may
backs off by a smaller amount) may be appropriate by comparison to be appropriate by comparison to the sender response to congestion
the sender response to congestion indicated by loss. However, indicated by loss. However, section 5 of RFC 3168 specifies that:
section 5 of RFC 3168 specifies that:
Upon the receipt by an ECN-Capable transport of a single CE Upon the receipt by an ECN-Capable transport of a single CE
packet, the congestion control algorithms followed at the end- packet, the congestion control algorithms followed at the end-
systems MUST be essentially the same as the congestion control systems MUST be essentially the same as the congestion control
response to a *single* dropped packet. response to a *single* dropped packet.
This memo updates this RFC 3168 text to allow the congestion control This memo updates this RFC 3168 text to allow the congestion control
response (including the TCP Sender's congestion control response) to response (including the TCP Sender's congestion control response) to
a CE-marked packet to differ from the response to a dropped packet, a CE-marked packet to differ from the response to a dropped packet,
provided that the changes from RFC 3168 are documented in an provided that the changes from RFC 3168 are documented in an
Experimental RFC. The specific change to RFC 3168 is to insert the Experimental RFC in the IETF document stream. The specific change to
words "unless otherwise specified by an Experimental RFC" at the end RFC 3168 is to insert the words "unless otherwise specified by an
of the sentence quoted above. Experimental RFC in the IETF document stream" at the end of the
sentence quoted above.
RFC 4774 [RFC4774] quotes the above text from RFC 3168 as background, RFC 4774 [RFC4774] quotes the above text from RFC 3168 as background,
but does not impose requirements based on that text. Therefore no but does not impose requirements based on that text. Therefore no
update to RFC 4774 is required to enable this area of update to RFC 4774 is required to enable this area of
experimentation. experimentation.
Section 6.1.2 of RFC 3168 specifies that: Section 6.1.2 of RFC 3168 specifies that:
If the sender receives an ECN-Echo (ECE) ACK packet (that is, an 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 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 sender knows that congestion was encountered in the network on the
path from the sender to the receiver. The indication of path from the sender to the receiver. The indication of
congestion should be treated just as a congestion loss in non- congestion should be treated just as a congestion loss in non-
ECN-Capable TCP. That is, the TCP source halves the congestion ECN-Capable TCP. That is, the TCP source halves the congestion
window "cwnd" and reduces the slow start threshold "ssthresh". window "cwnd" and reduces the slow start threshold "ssthresh".
This memo also updates this RFC 3168 text to allow the congestion This memo also updates this RFC 3168 text to allow the congestion
control response (including the TCP Sender's congestion control control response (including the TCP Sender's congestion control
response) to a CE-marked packet to differ from the response to a response) to a CE-marked packet to differ from the response to a
dropped packet, provided that the changes from RFC 3168 are dropped packet, provided that the changes from RFC 3168 are
documented in an Experimental RFC. The specific change to RFC 3168 documented in an Experimental RFC in the IETF document stream. The
is to insert the words "Unless otherwise specified by an Experimental specific change to RFC 3168 is to insert the words "Unless otherwise
RFC" at the beginning of the second sentence quoted above. specified by an Experimental RFC in the IETF document stream" at the
beginning of the second sentence quoted above.
4.2. Congestion Marking Differences 4.2. Congestion Marking Differences
Taken to its limit, an AQM algorithm that uses ECN congestion Taken to its limit, an AQM algorithm that uses ECN congestion
indications can be configured to maintain very shallow queues, indications can be configured to maintain very shallow queues,
thereby reducing network latency by comparison to maintaining a thereby reducing network latency by comparison to maintaining a
larger queue. Significantly more aggressive sender responses to ECN larger queue. Significantly more aggressive sender responses to ECN
are needed to make effective use of such very shallow queues; are needed to make effective use of such very shallow queues;
Datacenter TCP (DCTCP) [I-D.ietf-tcpm-dctcp] provides an example. In Datacenter TCP (DCTCP) [I-D.ietf-tcpm-dctcp] provides an example. In
this case, separate network node treatments are essential, both to this case, separate network node treatments are essential, both to
prevent the aggressive low latency traffic starving conventional prevent the aggressive low latency traffic from starving conventional
traffic (if present) and to prevent any conventional traffic traffic (if present) and to prevent any conventional traffic
disruption to any lower latency service that uses the very shallow disruption to any lower latency service that uses the very shallow
queues. Use of different ECN codepoints is a promising means of queues. Use of different ECN codepoints is a promising means of
identifying these two classes of traffic to network nodes, and hence identifying these two classes of traffic to network nodes, and hence
this area of experimentation is based on the use of the ECT(1) this area of experimentation is based on the use of the ECT(1)
codepoint to request ECN congestion marking behavior in the network codepoint to request ECN congestion marking behavior in the network
that differs from ECT(0) counterbalanced by use of a different IETF- that differs from ECT(0) counterbalanced by use of a different IETF-
approved congestion response to CE marks at the sender, e.g., as approved congestion response to CE marks at the sender, e.g., as
proposed in [I-D.ietf-tsvwg-ecn-l4s-id]. proposed in [I-D.ietf-tsvwg-ecn-l4s-id].
Section 5 of RFC 3168 specifies that: Section 5 of RFC 3168 specifies that:
Routers treat the ECT(0) and ECT(1) codepoints as equivalent. Routers treat the ECT(0) and ECT(1) codepoints as equivalent.
This memo updates RFC 3168 to allow routers to treat the ECT(0) and This memo updates RFC 3168 to allow routers to treat the ECT(0) and
ECT(1) codepoints differently, provided that the changes from RFC ECT(1) codepoints differently, provided that the changes from RFC
3168 are documented in an Experimental RFC. The specific change to 3168 are documented in an Experimental RFC in the IETF document
RFC 3168 is to insert the words "unless otherwise specified by an stream. The specific change to RFC 3168 is to insert the words
Experimental RFC" at the end of the above sentence. "unless otherwise specified by an Experimental RFC in the IETF
document stream" at the end of the above sentence.
When an AQM is configured to use ECN congestion indications to When an AQM is configured to use ECN congestion indications to
maintain a very shallow queue, congestion indications are marked on maintain a very shallow queue, congestion indications are marked on
packets that would not have been dropped if ECN was not in use. packets that would not have been dropped if ECN was not in use.
Section 5 of RFC 3168 specifies that: Section 5 of RFC 3168 specifies that:
For a router, the CE codepoint of an ECN-Capable packet SHOULD For a router, the CE codepoint of an ECN-Capable packet SHOULD
only be set if the router would otherwise have dropped the packet only be set if the router would otherwise have dropped the packet
as an indication of congestion to the end nodes. When the as an indication of congestion to the end nodes. When the
router's buffer is not yet full and the router is prepared to drop router's buffer is not yet full and the router is prepared to drop
a packet to inform end nodes of incipient congestion, the router a packet to inform end nodes of incipient congestion, the router
should first check to see if the ECT codepoint is set in that should first check to see if the ECT codepoint is set in that
packet's IP header. If so, then instead of dropping the packet, packet's IP header. If so, then instead of dropping the packet,
the router MAY instead set the CE codepoint in the IP header. the router MAY instead set the CE codepoint in the IP header.
This memo updates RFC 3168 to allow congestion indications that are This memo updates RFC 3168 to allow congestion indications that are
not equivalent to drops, provided that the changes from RFC 3168 are not equivalent to drops, provided that the changes from RFC 3168 are
documented in an Experimental RFC. The specific change is to change documented in an Experimental RFC in the IETF document stream. The
"For a router," to "Unless otherwise specified by an Experimental specific change is to change "For a router," to "Unless otherwise
RFC" at the beginning of the first sentence of the above paragraph. specified by an Experimental RFC in the IETF document stream" at the
beginning of the first sentence of the above paragraph.
A larger update to RFC 3168 is necessary to enable sender usage of A larger update to RFC 3168 is necessary to enable sender usage of
ECT(1) to request network congestion marking behavior that maintains ECT(1) to request network congestion marking behavior that maintains
very shallow queues at network nodes. When using loss as a very shallow queues at network nodes. When using loss as a
congestion signal, the number of signals provided should be reduced congestion signal, the number of signals provided should be reduced
to a minimum and hence only presence or absence of congestion is to a minimum and hence only presence or absence of congestion is
communicated. In contrast, ECN can provide a richer signal, e.g., to communicated. In contrast, ECN can provide a richer signal, e.g., to
indicate the current level of congestion, without the disadvantage of indicate the current level of congestion, without the disadvantage of
a larger number of packet losses. A proposed experiment in this a larger number of packet losses. A proposed experiment in this
area, Low Latency Low Loss Scalable throughput (L4S) area, Low Latency Low Loss Scalable throughput (L4S)
skipping to change at page 9, line 27 skipping to change at page 11, line 7
probability for ECT(1)-marked traffic in a fashion that would probability for ECT(1)-marked traffic in a fashion that would
interact badly with existing sender congestion response functionality interact badly with existing sender congestion response functionality
because that functionality assumes that the network marks ECT packets because that functionality assumes that the network marks ECT packets
as frequently as it would drop Not-ECT packets. If network traffic as frequently as it would drop Not-ECT packets. If network traffic
that uses such a conventional sender congestion response were to that uses such a conventional sender congestion response were to
encounter L4S's increased marking probability (and hence rate) at a encounter L4S's increased marking probability (and hence rate) at a
network bottleneck queue, the resulting traffic throughput is likely network bottleneck queue, the resulting traffic throughput is likely
to be much less than intended for the level of congestion at the to be much less than intended for the level of congestion at the
bottleneck queue. bottleneck queue.
To avoid that interaction, this memo reserves ECT(1) for This memo updates RFC 3168 to remove that interaction for ECT(1).
experimentation, initially for L4S. The specific update to Section 5 The specific update to Section 5 of RFC 3168 is to replace the
of RFC 3168 is to remove the following two paragraphs: following two paragraphs:
Senders are free to use either the ECT(0) or the ECT(1) codepoint Senders are free to use either the ECT(0) or the ECT(1) codepoint
to indicate ECT, on a packet-by-packet basis. to indicate ECT, on a packet-by-packet basis.
The use of both the two codepoints for ECT, ECT(0) and ECT(1), is The use of both the two codepoints for ECT, ECT(0) and ECT(1), is
motivated primarily by the desire to allow mechanisms for the data motivated primarily by the desire to allow mechanisms for the data
sender to verify that network elements are not erasing the CE sender to verify that network elements are not erasing the CE
codepoint, and that data receivers are properly reporting to the codepoint, and that data receivers are properly reporting to the
sender the receipt of packets with the CE codepoint set, as sender the receipt of packets with the CE codepoint set, as
required by the transport protocol. Guidelines for the senders required by the transport protocol. Guidelines for the senders
and receivers to differentiate between the ECT(0) and ECT(1) and receivers to differentiate between the ECT(0) and ECT(1)
codepoints will be addressed in separate documents, for each codepoints will be addressed in separate documents, for each
transport protocol. In particular, this document does not address transport protocol. In particular, this document does not address
mechanisms for TCP end-nodes to differentiate between the ECT(0) mechanisms for TCP end-nodes to differentiate between the ECT(0)
and ECT(1) codepoints. Protocols and senders that only require a and ECT(1) codepoints. Protocols and senders that only require a
single ECT codepoint SHOULD use ECT(0). single ECT codepoint SHOULD use ECT(0).
and replace it with this paragraph: with this paragraph:
Protocols and senders MUST use the ECT(0) codepoint to indicate Protocols and senders MUST use the ECT(0) codepoint to indicate
ECT unless otherwise specified by an Experimental RFC. Guidelines ECT unless otherwise specified by an Experimental RFC in the IETF
for senders and receivers to differentiate between the ECT(0) and document stream. Protocols and senders MUST NOT use the ECT(1)
codepoint to indicate ECT unless otherwise specified by an
Experimental RFC in the IETF document stream. Guidelines for
senders and receivers to differentiate between the ECT(0) and
ECT(1) codepoints will be addressed in separate documents, for ECT(1) codepoints will be addressed in separate documents, for
each transport protocol. In particular, this document does not each transport protocol. In particular, this document does not
address mechanisms for TCP end-nodes to differentiate between the address mechanisms for TCP end-nodes to differentiate between the
ECT(0) and ECT(1) codepoints. ECT(0) and ECT(1) codepoints.
Congestion Marking Differences experiments SHOULD modify the network Congestion Marking Differences experiments SHOULD modify the network
behavior for ECT(1)-marked traffic rather than ECT(0)-marked traffic behavior for ECT(1)-marked traffic rather than ECT(0)-marked traffic
if network behavior for only one ECT codepoint is modified. if network behavior for only one ECT codepoint is modified.
Congestion Marking Differences experiments MUST NOT modify the Congestion Marking Differences experiments MUST NOT modify the
network behavior for ECT(0)-marked traffic in a fashion that requires network behavior for ECT(0)-marked traffic in a fashion that requires
changes to sender congestion response to obtain desired network changes to sender congestion response to obtain desired network
behavior. If a Congestion Marking Differences experiment modifies behavior. If a Congestion Marking Differences experiment modifies
the network behavior for ECT(1)-marked traffic, e.g., CE-marking the network behavior for ECT(1)-marked traffic, e.g., CE-marking
behavior, in a fashion that requires changes to sender congestion behavior, in a fashion that requires changes to sender congestion
response to obtain desired network behavior, then the Experimental response to obtain desired network behavior, then the Experimental
RFC for that experiment MUST specify: RFC in the IETF document stream for that experiment MUST specify:
o The sender congestion response to CE marking in the network, and o The sender congestion response to CE marking in the network, and
o Router behavior changes, or the absence thereof, in forwarding CE- o Router behavior changes, or the absence thereof, in forwarding CE-
marked packets that are part of the experiment. marked packets that are part of the experiment.
In addition, until the conclusion of the L4S experiment, use of
ECT(1) in IETF RFCs is not appropriate, as the IETF may decide to
allocate ECT(1) exclusively for L4S usage if the L4S experiment is
successful.
In addition, this memo updates RFC 3168 to remove discussion of the In addition, this memo updates RFC 3168 to remove discussion of the
ECN nonce, as noted in Section 3 above. ECN nonce, as noted in Section 3 above.
4.3. TCP Control Packets and Retransmissions 4.3. TCP Control Packets and Retransmissions
With the successful use of ECN for traffic in large portions of the With the successful use of ECN for traffic in large portions of the
Internet, there is interest in extending the benefits of ECN to TCP Internet, there is interest in extending the benefits of ECN to TCP
control packets (e.g., SYNs) and retransmitted packets, e.g., as control packets (e.g., SYNs) and retransmitted packets, e.g., as
proposed by ECN++ [I-D.bagnulo-tcpm-generalized-ecn]. proposed by ECN++ [I-D.bagnulo-tcpm-generalized-ecn].
skipping to change at page 11, line 22 skipping to change at page 12, line 49
ignore the ECN field on arriving data packets that are outside of ignore the ECN field on arriving data packets that are outside of
the receiver's current window." (Section 6.1.5) the receiver's current window." (Section 6.1.5)
o "the TCP data sender MUST NOT set either an ECT codepoint or the o "the TCP data sender MUST NOT set either an ECT codepoint or the
CWR bit on window probe packets." (Section 6.1.6) CWR bit on window probe packets." (Section 6.1.6)
This memo updates RFC 3168 to allow the use of ECT codepoints on SYN This memo updates RFC 3168 to allow the use of ECT codepoints on SYN
and SYN-ACK packets, pure acknowledgement packets, window probe and SYN-ACK packets, pure acknowledgement packets, window probe
packets and retransmissions of packets that were originally sent with packets and retransmissions of packets that were originally sent with
an ECT codepoint, provided that the changes from RFC 3168 are an ECT codepoint, provided that the changes from RFC 3168 are
documented in an Experimental RFC. The specific change to RFC 3168 documented in an Experimental RFC in the IETF document stream. The
is to insert the words "unless otherwise specified by an Experimental specific change to RFC 3168 is to insert the words "unless otherwise
RFC" at the end of each sentence quoted above. specified by an Experimental RFC in the IETF document stream" at the
end of each sentence quoted above.
In addition, beyond requiring TCP senders not to set ECT on TCP In addition, beyond requiring TCP senders not to set ECT on TCP
control packets and retransmitted packets, RFC 3168 is silent on control packets and retransmitted packets, RFC 3168 is silent on
whether it is appropriate for a network element, e.g. a firewall, to whether it is appropriate for a network element, e.g. a firewall, to
discard such a packet as invalid. For this area of ECN discard such a packet as invalid. For this area of ECN
experimentation to be useful, middleboxes ought not to do that, experimentation to be useful, middleboxes ought not to do that,
therefore RFC 3168 is updated by adding the following text to the end therefore RFC 3168 is updated by adding the following text to the end
of Section 6.1.1.1 on Middlebox Issues: of Section 6.1.1.1 on Middlebox Issues:
Unless otherwise specified by an Experimental RFC, middleboxes Unless otherwise specified by an Experimental RFC in the IETF
SHOULD NOT discard TCP control packets and retransmitted TCP document stream, middleboxes SHOULD NOT discard TCP control
packets solely because the ECN field in the IP header does not packets and retransmitted TCP packets solely because the ECN field
contain Not-ECT. An exception to this requirement occurs in in the IP header does not contain Not-ECT. An exception to this
responding to an ongoing attack. For example, as part of the requirement occurs in responding to an attack that uses ECN
response, it may be appropriate to drop more ECT-marked TCP SYN codepoints other than Not-ECT. For example, as part of the
packets than TCP SYN packets marked with not-ECT. Any such response, it may be appropriate to drop ECT-marked TCP SYN packets
exceptional discarding of TCP control packets and retransmitted with higher probability than TCP SYN packets marked with not-ECT.
TCP packets in response to an attack MUST NOT be done routinely in Any such exceptional discarding of TCP control packets and
the absence of an attack and SHOULD only be done if it is retransmitted TCP packets in response to an attack MUST NOT be
determined that the ECT capability is contributing to the attack. done routinely in the absence of an attack and SHOULD only be done
if it is determined that the use of ECN is contributing to the
4.4. Effective Congestion Control is Required attack.
Congestion control remains an important aspect of the Internet
architecture [RFC2914]. Any Experimental RFC that takes advantage of
this memo's updates to any RFC is required to discuss the congestion
control implications of the experiment(s) in order to provide
assurance that deployment of the experiment(s) does not pose a
congestion-based threat to the operation of the Internet.
5. ECN for RTP Updates to RFC 6679 5. ECN for RTP Updates to RFC 6679
RFC 6679 [RFC6679] specifies use of ECN for RTP traffic; it allows RFC 6679 [RFC6679] specifies use of ECN for RTP traffic; it allows
use of both the ECT(0) and ECT(1) codepoints, and provides the use of both the ECT(0) and ECT(1) codepoints, and provides the
following guidance on use of these codepoints in section 7.3.1 : following guidance on use of these codepoints in section 7.3.1 :
The sender SHOULD mark packets as ECT(0) unless the receiver The sender SHOULD mark packets as ECT(0) unless the receiver
expresses a preference for ECT(1) or for a random ECT value using expresses a preference for ECT(1) or for a random ECT value using
the "ect" parameter in the "a=ecn-capable-rtp:" attribute. the "ect" parameter in the "a=ecn-capable-rtp:" attribute.
The Congestion Marking Differences area of experimentation increases The Congestion Marking Differences area of experimentation increases
the potential consequences of using ECT(1) instead of ECT(0), and the potential consequences of using ECT(1) instead of ECT(0), and
hence the above guidance is updated by adding the following two hence the above guidance is updated by adding the following two
sentences: sentences:
Random ECT values MUST NOT be used, as that may expose RTP to Random ECT values MUST NOT be used, as that may expose RTP to
differences in network treatment of traffic marked with ECT(1) and differences in network treatment of traffic marked with ECT(1) and
ECT(0) and differences in associated endpoint congestion ECT(0) and differences in associated endpoint congestion
responses, e.g., as proposed in [I-D.ietf-tsvwg-ecn-l4s-id]. In responses. In addition, ECT(0) MUST be used unless otherwise
addition, ECT(0) MUST be used unless otherwise specified in an specified in an Experimental RFC in the IETF document stream.
Experimental RFC.
Section 7.3.3 of RFC 6679 specifies RTP's response to receipt of CE Section 7.3.3 of RFC 6679 specifies RTP's response to receipt of CE
marked packets as being identical to the response to dropped packets: marked packets as being identical to the response to dropped packets:
The reception of RTP packets with ECN-CE marks in the IP header is The reception of RTP packets with ECN-CE marks in the IP header is
a notification that congestion is being experienced. The default a notification that congestion is being experienced. The default
reaction on the reception of these ECN-CE-marked packets MUST be reaction on the reception of these ECN-CE-marked packets MUST be
to provide the congestion control algorithm with a congestion to provide the congestion control algorithm with a congestion
notification that triggers the algorithm to react as if packet notification that triggers the algorithm to react as if packet
loss had occurred. There should be no difference in congestion loss had occurred. There should be no difference in congestion
response if ECN-CE marks or packet drops are detected. response if ECN-CE marks or packet drops are detected.
In support of Congestion Response Differences experimentation, this In support of Congestion Response Differences experimentation, this
memo updates this text in a fashion similar to RFC 3168 to allow the memo updates this text in a fashion similar to RFC 3168 to allow the
RTP congestion control response to a CE-marked packet to differ from RTP congestion control response to a CE-marked packet to differ from
the response to a dropped packet, provided that the changes from RFC the response to a dropped packet, provided that the changes from RFC
6679 are documented in an Experimental RFC. The specific change to 6679 are documented in an Experimental RFC in the IETF document
RFC 6679 is to insert the words "Unless otherwise specified by an stream. The specific change to RFC 6679 is to insert the words
Experimental RFC" and reformat the last two sentences to be subject "Unless otherwise specified by an Experimental RFC in the IETF
to that condition, i.e.: document stream" and reformat the last two sentences to be subject to
that condition, i.e.:
The reception of RTP packets with ECN-CE marks in the IP header is The reception of RTP packets with ECN-CE marks in the IP header is
a notification that congestion is being experienced. Unless a notification that congestion is being experienced. Unless
otherwise specified by an Experimental RFC: otherwise specified by an Experimental RFC in the IETF document
stream:
* The default reaction on the reception of these ECN-CE-marked * The default reaction on the reception of these ECN-CE-marked
packets MUST be to provide the congestion control algorithm packets MUST be to provide the congestion control algorithm
with a congestion notification that triggers the algorithm to with a congestion notification that triggers the algorithm to
react as if packet loss had occurred. react as if packet loss had occurred.
* There should be no difference in congestion response if ECN-CE * There should be no difference in congestion response if ECN-CE
marks or packet drops are detected. marks or packet drops are detected.
The second sentence of the immediately following paragraph in RFC The second sentence of the immediately following paragraph in RFC
6679 requires a related update: 6679 requires a related update:
Other reactions to ECN-CE may be specified in the future, Other reactions to ECN-CE may be specified in the future,
following IETF Review. Detailed designs of such additional following IETF Review. Detailed designs of such additional
reactions MUST be specified in a Standards Track RFC and be reactions MUST be specified in a Standards Track RFC and be
reviewed to ensure they are safe for deployment under any reviewed to ensure they are safe for deployment under any
restrictions specified. restrictions specified.
The update is to change "Standards Track RFC" to "Standards Track RFC The update is to change "Standards Track RFC" to "Standards Track RFC
or Experimental RFC" for consistency with the first update. or Experimental RFC in the IETF document stream" for consistency with
the first update.
6. ECN for DCCP Updates to RFCs 4341, 4342 and 5622 6. ECN for DCCP Updates to RFCs 4341, 4342 and 5622
The specifications of the three DCCP Congestion Control IDs (CCIDs) 2 The specifications of the three DCCP Congestion Control IDs (CCIDs) 2
[RFC4341], 3 [RFC4342] and 4 [RFC5622] contain broadly the same [RFC4341], 3 [RFC4342] and 4 [RFC5622] contain broadly the same
wording as follows: wording as follows:
each DCCP-Data and DCCP-DataAck packet is sent as ECN Capable with each DCCP-Data and DCCP-DataAck packet is sent as ECN Capable with
either the ECT(0) or the ECT(1) codepoint set. either the ECT(0) or the ECT(1) codepoint set.
This memo updates these sentences in each of the three RFCs as This memo updates these sentences in each of the three RFCs as
follows: follows:
each DCCP-Data and DCCP-DataAck packet is sent as ECN Capable. each DCCP-Data and DCCP-DataAck packet is sent as ECN Capable.
Unless otherwise specified by an Experimental RFC, such DCCP Unless otherwise specified by an Experimental RFC in the IETF
senders MUST set the ECT(0) codepoint. document stream, such DCCP senders MUST set the ECT(0) codepoint.
In support of Congestion Marking Differences experimentation (as In support of Congestion Marking Differences experimentation (as
noted in Section 3), this memo also updates all three of these RFCs noted in Section 3), this memo also updates all three of these RFCs
to remove discussion of the ECN nonce. The specific text updates are to remove discussion of the ECN nonce. The specific text updates are
omitted for brevity. omitted for brevity.
7. Acknowledgements 7. Acknowledgements
The content of this draft, including the specific portions of RFC The content of this draft, including the specific portions of RFC
3168 that are updated draws heavily from 3168 that are updated draws heavily from
[I-D.khademi-tsvwg-ecn-response], whose authors are gratefully [I-D.khademi-tsvwg-ecn-response], whose authors are gratefully
acknowledged. The authors of the Internet Drafts describing the acknowledged. The authors of the Internet Drafts describing the
experiments have motivated the production of this memo - their experiments have motivated the production of this memo - their
interest in innovation is welcome and heartily acknowledged. Colin interest in innovation is welcome and heartily acknowledged. Colin
Perkins suggested updating RFC 6679 on RTP and provided guidance on Perkins suggested updating RFC 6679 on RTP and provided guidance on
where to make the updates. where to make the updates.
The draft has been improved as a result of comments from a number of The draft has been improved as a result of comments from a number of
reviewers, including Brian Carpenter, Spencer Dawkins, Gorry reviewers, including Ben Campbell, Brian Carpenter, Benoit Claise,
Fairhurst, Ingemar Johansson, Naeem Khademi, Mirja Kuehlewind, Karen Spencer Dawkins, Gorry Fairhurst, Sue Hares, Ingemar Johansson, Naeem
Nielsen, Hilarie Orman and Michael Welzl. Bob Briscoe's thorough Khademi, Mirja Kuehlewind, Karen Nielsen, Hilarie Orman, Eric
review of an early version of this draft resulted in numerous Rescorla, Adam Roach and Michael Welzl. Bob Briscoe's thorough
review of an early version of this memo resulted in numerous
improvements including addition of the updates to the DCCP RFCs. improvements including addition of the updates to the DCCP RFCs.
8. IANA Considerations 8. IANA Considerations
To reflect the reclassification of RFC 3540 as Historic, IANA is To reflect the reclassification of RFC 3540 as Historic, IANA is
requested to update the Transmission Control Protocol (TCP) Header requested to update the Transmission Control Protocol (TCP) Header
Flags registry (https://www.iana.org/assignments/tcp-header-flags/ Flags registry (https://www.iana.org/assignments/tcp-header-flags/
tcp-header-flags.xhtml#tcp-header-flags-1) to remove the registration tcp-header-flags.xhtml#tcp-header-flags-1) to remove the registration
of bit 7 as the NS (Nonce Sum) bit and add an annotation to the of bit 7 as the NS (Nonce Sum) bit and add an annotation to the
registry to state that bit 7 was used by Historic RFC 3540 as the NS registry to state that bit 7 was used by Historic RFC 3540 as the NS
(Nonce Sum) bit. (Nonce Sum) bit.
9. Security Considerations 9. Security Considerations
As a process memo that only removes limitations on proposed As a process memo that only relaxes restrictions on experimentation,
experiments, there are no protocol security considerations. Security there are no protocol security considerations, as security
considerations for the proposed experiments are discussed in the considerations for any experiments that take advantage of the relaxed
Internet-Drafts that propose them. restrictions are discussed in the Internet-Drafts that propose the
experiments.
However, effective congestion control is crucial to the continued However, effective congestion control is crucial to the continued
operation of the Internet, and hence this memo places the operation of the Internet, and hence this memo places the
responsibility for not breaking Internet congestion control on the responsibility for not breaking Internet congestion control on the
experiments and the experimenters who propose them. This experiments and the experimenters who propose them. This
responsibility includes the requirement to discuss congestion control responsibility includes the requirement to discuss congestion control
implications in an Experimental RFC for each experiment, as stated in implications in an IETF document stream Experimental RFC for each
Section 4.4; review of that discussion by the IETF community and the experiment, as stated in Section 2.1; review of that discussion by
IESG prior to RFC publication is intended to provide assurance that the IETF community and the IESG prior to RFC publication is intended
each experiment does not break Internet congestion control. to provide assurance that each experiment does not break Internet
congestion control.
See Appendix B.1 of [I-D.ietf-tsvwg-ecn-l4s-id] for discussion of See Appendix C.1 of [I-D.ietf-tsvwg-ecn-l4s-id] for discussion of
alternatives to the ECN nonce. alternatives to the ECN nonce.
10. References 10. References
10.1. Normative References 10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
skipping to change at page 16, line 16 skipping to change at page 17, line 46
Khademi, N., Welzl, M., Armitage, G., and G. Fairhurst, Khademi, N., Welzl, M., Armitage, G., and G. Fairhurst,
"TCP Alternative Backoff with ECN (ABE)", draft-ietf-tcpm- "TCP Alternative Backoff with ECN (ABE)", draft-ietf-tcpm-
alternativebackoff-ecn-01 (work in progress), May 2017. alternativebackoff-ecn-01 (work in progress), May 2017.
[I-D.ietf-tcpm-dctcp] [I-D.ietf-tcpm-dctcp]
Bensley, S., Thaler, D., Balasubramanian, P., Eggert, L., Bensley, S., Thaler, D., Balasubramanian, P., Eggert, L.,
and G. Judd, "Datacenter TCP (DCTCP): TCP Congestion and G. Judd, "Datacenter TCP (DCTCP): TCP Congestion
Control for Datacenters", draft-ietf-tcpm-dctcp-10 (work Control for Datacenters", draft-ietf-tcpm-dctcp-10 (work
in progress), August 2017. in progress), August 2017.
[I-D.ietf-trill-ecn-support]
Eastlake, D. and B. Briscoe, "TRILL: ECN (Explicit
Congestion Notification) Support", draft-ietf-trill-ecn-
support-03 (work in progress), May 2017.
[I-D.ietf-tsvwg-ecn-encap-guidelines]
Briscoe, B., Kaippallimalil, J., and P. Thaler,
"Guidelines for Adding Congestion Notification to
Protocols that Encapsulate IP", draft-ietf-tsvwg-ecn-
encap-guidelines-09 (work in progress), July 2017.
[I-D.ietf-tsvwg-ecn-l4s-id] [I-D.ietf-tsvwg-ecn-l4s-id]
Schepper, K. and B. Briscoe, "Identifying Modified Schepper, K. and B. Briscoe, "Identifying Modified
Explicit Congestion Notification (ECN) Semantics for Explicit Congestion Notification (ECN) Semantics for
Ultra-Low Queuing Delay", draft-ietf-tsvwg-ecn-l4s-id-00 Ultra-Low Queuing Delay", draft-ietf-tsvwg-ecn-l4s-id-00
(work in progress), May 2017. (work in progress), May 2017.
[I-D.ietf-tsvwg-rfc6040update-shim]
Briscoe, B., "Propagating Explicit Congestion Notification
Across IP Tunnel Headers Separated by a Shim", draft-ietf-
tsvwg-rfc6040update-shim-04 (work in progress), July 2017.
[I-D.khademi-tsvwg-ecn-response] [I-D.khademi-tsvwg-ecn-response]
Khademi, N., Welzl, M., Armitage, G., and G. Fairhurst, Khademi, N., Welzl, M., Armitage, G., and G. Fairhurst,
"Updating the Explicit Congestion Notification (ECN) "Updating the Explicit Congestion Notification (ECN)
Specification to Allow IETF Experimentation", draft- Specification to Allow IETF Experimentation", draft-
khademi-tsvwg-ecn-response-01 (work in progress), July khademi-tsvwg-ecn-response-01 (work in progress), July
2016. 2016.
[RFC4774] Floyd, S., "Specifying Alternate Semantics for the [RFC4774] Floyd, S., "Specifying Alternate Semantics for the
Explicit Congestion Notification (ECN) Field", BCP 124, Explicit Congestion Notification (ECN) Field", BCP 124,
RFC 4774, DOI 10.17487/RFC4774, November 2006, RFC 4774, DOI 10.17487/RFC4774, November 2006,
<https://www.rfc-editor.org/info/rfc4774>. <https://www.rfc-editor.org/info/rfc4774>.
[RFC4844] Daigle, L., Ed. and Internet Architecture Board, "The RFC
Series and RFC Editor", RFC 4844, DOI 10.17487/RFC4844,
July 2007, <https://www.rfc-editor.org/info/rfc4844>.
[RFC5706] Harrington, D., "Guidelines for Considering Operations and
Management of New Protocols and Protocol Extensions",
RFC 5706, DOI 10.17487/RFC5706, November 2009,
<https://www.rfc-editor.org/info/rfc5706>.
[RFC6040] Briscoe, B., "Tunnelling of Explicit Congestion
Notification", RFC 6040, DOI 10.17487/RFC6040, November
2010, <https://www.rfc-editor.org/info/rfc6040>.
[RFC6660] Briscoe, B., Moncaster, T., and M. Menth, "Encoding Three
Pre-Congestion Notification (PCN) States in the IP Header
Using a Single Diffserv Codepoint (DSCP)", RFC 6660,
DOI 10.17487/RFC6660, July 2012,
<https://www.rfc-editor.org/info/rfc6660>.
[Trammell15] [Trammell15]
Trammell, B., Kuehlewind, M., Boppart, D., Learmonth, I., Trammell, B., Kuehlewind, M., Boppart, D., Learmonth, I.,
Fairhurst, G., and R. Scheffenegger, "Enabling Internet- Fairhurst, G., and R. Scheffenegger, "Enabling Internet-
Wide Deployment of Explicit Congestion Notification". Wide Deployment of Explicit Congestion Notification".
In Proc Passive & Active Measurement (PAM'15) Conference In Proc Passive & Active Measurement (PAM'15) Conference
(2015) (2015)
Appendix A. Change History Appendix A. Change History
skipping to change at page 18, line 14 skipping to change at page 20, line 33
o Add summary of RFC 3168 changes to remove the ECN nonce, and use o Add summary of RFC 3168 changes to remove the ECN nonce, and use
lower-case "nonce" instead of "Nonce" to match RFC 3168 usage. lower-case "nonce" instead of "Nonce" to match RFC 3168 usage.
o Add security considerations sentence to indicate that review of o Add security considerations sentence to indicate that review of
Experimental RFCs prior to publication approval is the means to Experimental RFCs prior to publication approval is the means to
ensure that congestion control is not broken by experiments. ensure that congestion control is not broken by experiments.
o Other minor editorial changes from IETF Last Call o Other minor editorial changes from IETF Last Call
Changes from draft-ietf-tsvwg-ecn-experimentation-06 to -07:
o Change draft title to make scope clear - this only covers relaxing
of restrictions on ECN experimentation.
o Any Experimental RFC that takes advantage of this memo has to be
in the IETF document stream.
o Added sections 2.2 and 2.3 on considerations for other protocols
and O&M, relocated discussion of congestion control requirement to
section 2.1 from section 4.4
o Remove text indicating that ECT(1) may be assigned to L4S - the
requirement for an Experimental RFC suffices to ensure that
coordination with L4S will occur.
o Improve explanation of attack response exception to not dropping
packets "solely because the ECN field in the IP header does not
contain Not-ECT" in Section 4.3
o Fix L4S draft reference for discussion of ECN Nonce alternatives -
it's Appendix C.1, not B.1.
o Numerous additional editorial changes from IESG Evaluation
Author's Address Author's Address
David Black David Black
Dell EMC Dell EMC
176 South Street 176 South Street
Hopkinton, MA 01748 Hopkinton, MA 01748
USA USA
Email: david.black@dell.com Email: david.black@dell.com
 End of changes. 44 change blocks. 
163 lines changed or deleted 300 lines changed or added

This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/