| < draft-briscoe-tsvwg-re-ecn-tcp-08.txt | draft-briscoe-tsvwg-re-ecn-tcp-09.txt > | |||
|---|---|---|---|---|
| Transport Area Working Group B. Briscoe | Transport Area Working Group B. Briscoe, Ed. | |||
| Internet-Draft A. Jacquet | Internet-Draft A. Jacquet | |||
| Intended status: Standards Track T. Moncaster | Intended status: Standards Track BT | |||
| Expires: April 3, 2010 A. Smith | Expires: April 28, 2011 T. Moncaster | |||
| Moncaster.com | ||||
| A. Smith | ||||
| BT | BT | |||
| September 30, 2009 | October 25, 2010 | |||
| Re-ECN: Adding Accountability for Causing Congestion to TCP/IP | Re-ECN: Adding Accountability for Causing Congestion to TCP/IP | |||
| draft-briscoe-tsvwg-re-ecn-tcp-08 | draft-briscoe-tsvwg-re-ecn-tcp-09 | |||
| Status of This Memo | ||||
| This Internet-Draft is submitted to IETF in full conformance with the | ||||
| provisions of BCP 78 and BCP 79. This document may contain material | ||||
| from IETF Documents or IETF Contributions published or made publicly | ||||
| available before November 10, 2008. The person(s) controlling the | ||||
| copyright in some of this material may not have granted the IETF | ||||
| Trust the right to allow modifications of such material outside the | ||||
| IETF Standards Process. Without obtaining an adequate license from | ||||
| the person(s) controlling the copyright in such materials, this | ||||
| document may not be modified outside the IETF Standards Process, and | ||||
| derivative works of it may not be created outside the IETF Standards | ||||
| Process, except to format it for publication as an RFC or to | ||||
| translate it into languages other than English. | ||||
| Internet-Drafts are working documents of the Internet Engineering | ||||
| Task Force (IETF), its areas, and its working groups. Note that | ||||
| other groups may also distribute working documents as Internet- | ||||
| Drafts. | ||||
| 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." | ||||
| The list of current Internet-Drafts can be accessed at | ||||
| http://www.ietf.org/ietf/1id-abstracts.txt. | ||||
| The list of Internet-Draft Shadow Directories can be accessed at | ||||
| http://www.ietf.org/shadow.html. | ||||
| This Internet-Draft will expire on April 3, 2010. | ||||
| Copyright Notice | ||||
| Copyright (c) 2009 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 in effect on the date of | ||||
| publication of this document (http://trustee.ietf.org/license-info). | ||||
| Please review these documents carefully, as they describe your rights | ||||
| and restrictions with respect to this document. | ||||
| Abstract | Abstract | |||
| This document introduces a new protocol for explicit congestion | This document introduces a new protocol for explicit congestion | |||
| notification (ECN), termed re-ECN, which can be deployed | notification (ECN), termed re-ECN, which can be deployed | |||
| incrementally around unmodified routers. The protocol works by | incrementally around unmodified routers. The protocol works by | |||
| arranging an extended ECN field in each packet so that, as it crosses | arranging an extended ECN field in each packet so that, as it crosses | |||
| any interface in an internetwork, it will carry a truthful prediction | any interface in an internetwork, it will carry a truthful prediction | |||
| of congestion on the remainder of its path. The purpose of this | of congestion on the remainder of its path. The purpose of this | |||
| document is to specify the re-ECN protocol at the IP layer and to | document is to specify the re-ECN protocol at the IP layer and to | |||
| give guidelines on any consequent changes required to transport | give guidelines on any consequent changes required to transport | |||
| protocols. It includes the changes required to TCP both as an | protocols. It includes the changes required to TCP both as an | |||
| example and as a specification. It briefly gives examples of | example and as a specification. It briefly gives examples of | |||
| mechanisms that can use the protocol to ensure data sources respond | mechanisms that can use the protocol to ensure data sources respond | |||
| correctly to congestion,and these are described more fully in a | correctly to congestion, but these are described more fully in a | |||
| companion document [I-D.briscoe-tsvwg-re-ecn-tcp-motivation]. | companion document. | |||
| Authors' Statement: Status (to be removed by the RFC Editor) | ||||
| Although the re-ECN protocol is intended to make a simple but far- | ||||
| reaching change to the Internet architecture, the most immediate | ||||
| priority for the authors is to delay any move of the ECN nonce to | ||||
| Proposed Standard status. The argument for this position is | ||||
| developed in Appendix E. | ||||
| Changes from previous drafts (to be removed by the RFC Editor) | ||||
| Full diffs from all previous verisons (created using the rfcdiff | ||||
| tool) are available at <http://www.bobbriscoe.net/pubs.html#retcp> | ||||
| From -07 to -08 (current version): | ||||
| Minor changes and consistency checks. | Status of This Memo | |||
| References updated. | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | ||||
| From -06 to -07: | 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/. | ||||
| Major changes made following splitting this protocol document from | Internet-Drafts are draft documents valid for a maximum of six months | |||
| the related motivations document | and may be updated, replaced, or obsoleted by other documents at any | |||
| [I-D.briscoe-tsvwg-re-ecn-tcp-motivation]. | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | ||||
| Significant re-ordering of remaining text. | This Internet-Draft will expire on April 28, 2011. | |||
| New terminology introduced for clarity. | Copyright Notice | |||
| Copyright (c) 2010 IETF Trust and the persons identified as the | ||||
| document authors. All rights reserved. | ||||
| Minor editorial changes throughout. | 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 | ||||
| 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 | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2. Requirements notation . . . . . . . . . . . . . . . . . . . . 6 | 2. Requirements notation . . . . . . . . . . . . . . . . . . . . 6 | |||
| 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 7 | 4. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4.1. Simplified Re-ECN Protocol . . . . . . . . . . . . . . . . 7 | 4.1. Simplified Re-ECN Protocol . . . . . . . . . . . . . . . . 6 | |||
| 4.1.1. Congestion Control and Policing the Protocol . . . . . 7 | 4.1.1. Congestion Control and Policing the Protocol . . . . . 7 | |||
| 4.1.2. Background and Applicability . . . . . . . . . . . . . 8 | 4.1.2. Background and Applicability . . . . . . . . . . . . . 7 | |||
| 4.2. Re-ECN Abstracted Network Layer Wire Protocol (IPv4 or | 4.2. Re-ECN Abstracted Network Layer Wire Protocol (IPv4 or | |||
| v6) . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | v6) . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 4.3. Re-ECN Protocol Operation . . . . . . . . . . . . . . . . 10 | 4.3. Re-ECN Protocol Operation . . . . . . . . . . . . . . . . 10 | |||
| 4.4. Positive and Negative Flows . . . . . . . . . . . . . . . 12 | 4.4. Positive and Negative Flows . . . . . . . . . . . . . . . 12 | |||
| 5. Network Layer . . . . . . . . . . . . . . . . . . . . . . . . 13 | 5. Network Layer . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 5.1. Re-ECN IPv4 Wire Protocol . . . . . . . . . . . . . . . . 13 | 5.1. Re-ECN IPv4 Wire Protocol . . . . . . . . . . . . . . . . 13 | |||
| 5.2. Re-ECN IPv6 Wire Protocol . . . . . . . . . . . . . . . . 15 | 5.2. Re-ECN IPv6 Wire Protocol . . . . . . . . . . . . . . . . 15 | |||
| 5.3. Router Forwarding Behaviour . . . . . . . . . . . . . . . 16 | 5.3. Router Forwarding Behaviour . . . . . . . . . . . . . . . 16 | |||
| 5.4. Justification for Setting the First SYN to FNE . . . . . . 17 | 5.4. Justification for Setting the First SYN to FNE . . . . . . 17 | |||
| 5.5. Control and Management . . . . . . . . . . . . . . . . . . 18 | 5.5. Control and Management . . . . . . . . . . . . . . . . . . 18 | |||
| skipping to change at page 4, line 4 | skipping to change at page 3, line 11 | |||
| Partial ACKs . . . . . . . . . . . . . . . . . . . . . 31 | Partial ACKs . . . . . . . . . . . . . . . . . . . . . 31 | |||
| 6.2. Other Transports . . . . . . . . . . . . . . . . . . . . . 31 | 6.2. Other Transports . . . . . . . . . . . . . . . . . . . . . 31 | |||
| 6.2.1. General Guidelines for Adding Re-ECN to Other | 6.2.1. General Guidelines for Adding Re-ECN to Other | |||
| Transports . . . . . . . . . . . . . . . . . . . . . . 32 | Transports . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| 6.2.2. Guidelines for adding Re-ECN to RSVP or NSIS . . . . . 32 | 6.2.2. Guidelines for adding Re-ECN to RSVP or NSIS . . . . . 32 | |||
| 6.2.3. Guidelines for adding Re-ECN to DCCP . . . . . . . . . 32 | 6.2.3. Guidelines for adding Re-ECN to DCCP . . . . . . . . . 32 | |||
| 6.2.4. Guidelines for adding Re-ECN to SCTP . . . . . . . . . 33 | 6.2.4. Guidelines for adding Re-ECN to SCTP . . . . . . . . . 33 | |||
| 7. Incremental Deployment . . . . . . . . . . . . . . . . . . . . 33 | 7. Incremental Deployment . . . . . . . . . . . . . . . . . . . . 33 | |||
| 8. Related Work . . . . . . . . . . . . . . . . . . . . . . . . . 34 | 8. Related Work . . . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| 8.1. Congestion Notification Integrity . . . . . . . . . . . . 34 | 8.1. Congestion Notification Integrity . . . . . . . . . . . . 34 | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 35 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 35 | |||
| 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 37 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 37 | |||
| 11. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 37 | 11. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
| 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 37 | 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
| 13. Comments Solicited . . . . . . . . . . . . . . . . . . . . . . 38 | 13. Comments Solicited . . . . . . . . . . . . . . . . . . . . . . 38 | |||
| 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 38 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 38 | |||
| 14.1. Normative References . . . . . . . . . . . . . . . . . . . 38 | 14.1. Normative References . . . . . . . . . . . . . . . . . . . 38 | |||
| 14.2. Informative References . . . . . . . . . . . . . . . . . . 39 | 14.2. Informative References . . . . . . . . . . . . . . . . . . 39 | |||
| Appendix A. Precise Re-ECN Protocol Operation . . . . . . . . . . 42 | Appendix A. Precise Re-ECN Protocol Operation . . . . . . . . . . 41 | |||
| Appendix B. Justification for Two Codepoints Signifying Zero | Appendix B. Justification for Two Codepoints Signifying Zero | |||
| Worth Packets . . . . . . . . . . . . . . . . . . . . 44 | Worth Packets . . . . . . . . . . . . . . . . . . . . 42 | |||
| Appendix C. ECN Compatibility . . . . . . . . . . . . . . . . . . 45 | Appendix C. ECN Compatibility . . . . . . . . . . . . . . . . . . 44 | |||
| Appendix D. Packet Marking with FNE During Flow Start . . . . . . 46 | Appendix D. Packet Marking with FNE During Flow Start . . . . . . 45 | |||
| Appendix E. Argument for holding back the ECN nonce . . . . . . . 48 | Appendix E. Argument for holding back the ECN nonce . . . . . . . 47 | |||
| Appendix F. Alternative Terminology Used in Other Documents . . . 50 | Appendix F. Alternative Terminology Used in Other Documents . . . 49 | |||
| Authors' Statement: Status (to be removed by the RFC Editor) | ||||
| Although the re-ECN protocol is intended to make a simple but far- | ||||
| reaching change to the Internet architecture, the most immediate | ||||
| priority for the authors is to delay any move of the ECN nonce to | ||||
| Proposed Standard status. The argument for this position is | ||||
| developed in Appendix E. | ||||
| Changes from previous drafts (to be removed by the RFC Editor) | ||||
| Full diffs from all previous verisons (created using the rfcdiff | ||||
| tool) are available at <http://www.bobbriscoe.net/pubs.html#retcp> | ||||
| From -08 to -09 (current version): | ||||
| Re-issued to keep alive for reference by ConEx working group. | ||||
| Hardly any changes to content, even where it is out of date, | ||||
| except references updated. | ||||
| From -07 to -08: | ||||
| Minor changes and consistency checks. | ||||
| References updated. | ||||
| From -06 to -07: | ||||
| Major changes made following splitting this protocol document from | ||||
| the related motivations document [I-D.tsvwg-re-ecn-motivation]. | ||||
| Significant re-ordering of remaining text. | ||||
| New terminology introduced for clarity. | ||||
| Minor editorial changes throughout. | ||||
| 1. Introduction | 1. Introduction | |||
| This document provides a complete specification for the addition of | This document provides a complete specification for the addition of | |||
| the re-ECN protocol to IP and guidelines on how to add it to | the re-ECN protocol to IP and guidelines on how to add it to | |||
| transport layer protocols, including a complete specification of re- | transport layer protocols, including a complete specification of re- | |||
| ECN in TCP as an example. The motivation behind this proposal is | ECN in TCP as an example. The motivation behind this proposal is | |||
| given in [I-D.briscoe-tsvwg-re-ecn-tcp-motivation], but we include a | given in [I-D.tsvwg-re-ecn-motivation], but we include a brief | |||
| brief summary here. | summary here. | |||
| Re-ECN is intended to allow senders to inform the network of the | Re-ECN is intended to allow senders to inform the network of the | |||
| level of congestion they expect their flows to see. This information | level of congestion they expect their flows to see. This information | |||
| is currently only visible at the transport layer. ECN [RFC3168] | is currently only visible at the transport layer. ECN [RFC3168] | |||
| reveals the upstream congestion state of any path by monitoring the | reveals the upstream congestion state of any path by monitoring the | |||
| rate of CE marks. The receiver then informs the sender when they | rate of CE marks. The receiver then informs the sender when they | |||
| have seen a marked packet. Re-ECN builds on ECN by providing new | have seen a marked packet. Re-ECN builds on ECN by providing new | |||
| codepoints that allow the sender to declare the level of congestion | codepoints that allow the sender to declare the level of congestion | |||
| they expect on the forward path. It is closely related to ECN and | they expect on the forward path. It is closely related to ECN and | |||
| indeed we define a compatability mode to allow a re-ECN sender to | indeed we define a compatability mode to allow a re-ECN sender to | |||
| skipping to change at page 6, line 48 | skipping to change at page 6, line 38 | |||
| o Cancelled packet - a Positive Packet that has been congestion | o Cancelled packet - a Positive Packet that has been congestion | |||
| marked by an ECN or re-ECN queue. | marked by an ECN or re-ECN queue. | |||
| o Cautious packet - a packet that has been marked by the sender to | o Cautious packet - a packet that has been marked by the sender to | |||
| indeiate the expected level of congestion along its path. In | indeiate the expected level of congestion along its path. In | |||
| general Cautious packets should be used when there is insufficient | general Cautious packets should be used when there is insufficient | |||
| feedback to be confident about the congestion state of the | feedback to be confident about the congestion state of the | |||
| network.* | network.* | |||
| o * the difference between positive and cautious packets is | * the difference between positive and cautious packets is | |||
| explained in detail later in the document along with guidelines on | explained in detail later in the document along with guidelines on | |||
| the use of Cautious packets. | the use of Cautious packets. | |||
| All the above terms have related IP codepoints as defined in | All the above terms have related IP codepoints as defined in | |||
| (Section 5). | (Section 5). | |||
| 4. Protocol Overview | 4. Protocol Overview | |||
| 4.1. Simplified Re-ECN Protocol | 4.1. Simplified Re-ECN Protocol | |||
| skipping to change at page 8, line 6 | skipping to change at page 7, line 41 | |||
| is being applied by the sender. | is being applied by the sender. | |||
| In general we assume that there will be a policer at the network | In general we assume that there will be a policer at the network | |||
| ingress which can rate limit traffic based on the amount of | ingress which can rate limit traffic based on the amount of | |||
| congestion declared. | congestion declared. | |||
| At the network egress there is a droper which can impose sanctions on | At the network egress there is a droper which can impose sanctions on | |||
| flows that incorrectly declare congestion. | flows that incorrectly declare congestion. | |||
| Policers and droppers are explained in more detail in | Policers and droppers are explained in more detail in | |||
| [I-D.briscoe-tsvwg-re-ecn-tcp-motivation]. | [I-D.tsvwg-re-ecn-motivation]. | |||
| 4.1.2. Background and Applicability | 4.1.2. Background and Applicability | |||
| The re-ECN protocol makes no changes and has no effect on the TCP | The re-ECN protocol makes no changes and has no effect on the TCP | |||
| congestion control algorithm or on other rate responses to | congestion control algorithm or on other rate responses to | |||
| congestion. Re-ECN is not a new congestion control protocol, rather | congestion. Re-ECN is not a new congestion control protocol, rather | |||
| it is orthogonal to congestion control itself. Re-ECN is concerned | it is orthogonal to congestion control itself. Re-ECN is concerned | |||
| with revealing information about congestion so that users and | with revealing information about congestion so that users and | |||
| networks can be held accountable for the congestion they cause, or | networks can be held accountable for the congestion they cause, or | |||
| allow to be caused. | allow to be caused. | |||
| skipping to change at page 9, line 37 | skipping to change at page 9, line 26 | |||
| definition of the actual position of the RE flag in the IPv4 & v6 | definition of the actual position of the RE flag in the IPv4 & v6 | |||
| headers until Section 5. When we don't need to choose between IPv4 | headers until Section 5. When we don't need to choose between IPv4 | |||
| and v6 wire protocols it will suffice call it the RE flag. | and v6 wire protocols it will suffice call it the RE flag. | |||
| Unlike the ECN field, the RE flag is intended to be set by the sender | Unlike the ECN field, the RE flag is intended to be set by the sender | |||
| and SHOULD remain unchanged along the path, although it can be read | and SHOULD remain unchanged along the path, although it can be read | |||
| by network elements that understand the re-ECN protocol. It is | by network elements that understand the re-ECN protocol. It is | |||
| feasible that a network element MAY change the setting of the RE | feasible that a network element MAY change the setting of the RE | |||
| flag, perhaps acting as a proxy for an end-point, but such a protocol | flag, perhaps acting as a proxy for an end-point, but such a protocol | |||
| would have to be defined in another specification | would have to be defined in another specification | |||
| (e.g. [I-D.briscoe-re-pcn-border-cheat]). | (e.g. [I-D.re-pcn-border-cheat]). | |||
| Although the RE flag is a separate, single bit field, it can be read | Although the RE flag is a separate, single bit field, it can be read | |||
| as an extension to the two-bit ECN field; the three concatenated bits | as an extension to the two-bit ECN field; the three concatenated bits | |||
| in what we will call the extended ECN field (EECN) giving eight | in what we will call the extended ECN field (EECN) giving eight | |||
| codepoints. We will use the RFC3168 names of the ECN codepoints to | codepoints. We will use the RFC3168 names of the ECN codepoints to | |||
| describe settings of the ECN field when the RE flag setting is "don't | describe settings of the ECN field when the RE flag setting is "don't | |||
| care", but we also define the following six extended ECN codepoint | care", but we also define the following six extended ECN codepoint | |||
| names for when we need to be more specific. | names for when we need to be more specific. | |||
| One of re-ECN's codepoints is an alternative use of the codepoint set | One of re-ECN's codepoints is an alternative use of the codepoint set | |||
| skipping to change at page 16, line 20 | skipping to change at page 16, line 20 | |||
| 5.3. Router Forwarding Behaviour | 5.3. Router Forwarding Behaviour | |||
| Re-ECN works well without modifying the forwarding behaviour of any | Re-ECN works well without modifying the forwarding behaviour of any | |||
| routers. However, below, two OPTIONAL changes to forwarding | routers. However, below, two OPTIONAL changes to forwarding | |||
| behaviour are defined which respectively enhance performance and | behaviour are defined which respectively enhance performance and | |||
| improve a router's discrimination against flooding attacks. They are | improve a router's discrimination against flooding attacks. They are | |||
| both OPTIONAL additions that we propose MAY apply by default to all | both OPTIONAL additions that we propose MAY apply by default to all | |||
| Diffserv per-hop scheduling behaviours (PHBs) [RFC2475] and ECN | Diffserv per-hop scheduling behaviours (PHBs) [RFC2475] and ECN | |||
| marking behaviours [RFC3168]. Specifications for PHBs MAY define | marking behaviours [RFC3168]. Specifications for PHBs MAY define | |||
| different forwarding behaviours from this default, but this is not | different forwarding behaviours from this default, but this is not | |||
| required. [I-D.briscoe-re-pcn-border-cheat] is one example. | required. [I-D.re-pcn-border-cheat] is one example. | |||
| FNE indicates ECT: | FNE indicates ECT: | |||
| The FNE codepoint tells a router to assume that the packet was | The FNE codepoint tells a router to assume that the packet was | |||
| sent by an ECN-capable transport (see Section 5.4). Therefore an | sent by an ECN-capable transport (see Section 5.4). Therefore an | |||
| FNE packet MAY be marked rather than dropped. Note that the FNE | FNE packet MAY be marked rather than dropped. Note that the FNE | |||
| codepoint has been intentionally chosen so that, to RFC3168 | codepoint has been intentionally chosen so that, to RFC3168 | |||
| compliant routers (which do not inspect the RE flag) an FNE packet | compliant routers (which do not inspect the RE flag) an FNE packet | |||
| appears to be Not-ECT so it will be dropped by legacy AQM | appears to be Not-ECT so it will be dropped by legacy AQM | |||
| algorithms. | algorithms. | |||
| A network operator MUST NOT configure a queue to ECN mark rather | A network operator MUST NOT configure a queue to ECN mark rather | |||
| than drop FNE packets unless it can guarantee that FNE packets | than drop FNE packets unless it can guarantee that FNE packets | |||
| will be rate limited, either locally or upstream. The ingress | will be rate limited, either locally or upstream. The ingress | |||
| policers discussed in [I-D.briscoe-tsvwg-re-ecn-tcp-motivation] | policers discussed in [I-D.tsvwg-re-ecn-motivation] would count as | |||
| would count as rate limiters for this purpose. | rate limiters for this purpose. | |||
| Preferential Drop: If a re-ECN capable router queue experiences very | Preferential Drop: If a re-ECN capable router queue experiences very | |||
| high load so that it has to drop arriving packets (e.g. a DoS | high load so that it has to drop arriving packets (e.g. a DoS | |||
| attack), it MAY preferentially drop packets within the same | attack), it MAY preferentially drop packets within the same | |||
| Diffserv PHB using the preference order for extended ECN | Diffserv PHB using the preference order for extended ECN | |||
| codepoints given in Table 3. Preferential dropping can be | codepoints given in Table 3. Preferential dropping can be | |||
| difficult to implement on some hardware, but if feasible it would | difficult to implement on some hardware, but if feasible it would | |||
| discriminate against attack traffic if done as part of the overall | discriminate against attack traffic if done as part of the overall | |||
| policing framework of [I-D.briscoe-tsvwg-re-ecn-tcp-motivation]. | policing framework of [I-D.tsvwg-re-ecn-motivation]. If nowhere | |||
| If nowhere else, routers at the egress of a network SHOULD | else, routers at the egress of a network SHOULD implement | |||
| implement preferential drop (stronger than the MAY above). For | preferential drop (stronger than the MAY above). For simplicity, | |||
| simplicity, preferences 4 & 5 MAY be merged into one preference | preferences 4 & 5 MAY be merged into one preference level. | |||
| level. | ||||
| The tabulated drop preferences are arranged to preserve packets | ||||
| with more positive worth (Section 4.4), given senders of positive | ||||
| packets must have honestly declared downstream congestion. A full | ||||
| treatment of this is provided in the companion document desribing | ||||
| the motivation and architecture for re-ECN | ||||
| [I-D.tsvwg-re-ecn-motivation] particularly when the application of | ||||
| re-ECN to protect against DDoS attacks is described. | ||||
| +-------+-----+------------+-------+------------+-------------------+ | +-------+-----+------------+-------+------------+-------------------+ | |||
| | ECN | RE | Extended | Worth | Drop Pref | Re-ECN meaning | | | ECN | RE | Extended | Worth | Drop Pref | Re-ECN meaning | | |||
| | field | bit | ECN | | (1 = drop | | | | field | bit | ECN | | (1 = drop | | | |||
| | | | codepoint | | 1st) | | | | | | codepoint | | 1st) | | | |||
| +-------+-----+------------+-------+------------+-------------------+ | +-------+-----+------------+-------+------------+-------------------+ | |||
| | 01 | 0 | Re-Echo | +1 | 5/4 | Re-echoed | | | 01 | 0 | Re-Echo | +1 | 5/4 | Re-echoed | | |||
| | | | | | | congestion and | | | | | | | | congestion and | | |||
| | | | | | | RECT | | | | | | | | RECT | | |||
| | 00 | 1 | FNE | +1 | 4 | Feedback not | | | 00 | 1 | FNE | +1 | 4 | Feedback not | | |||
| skipping to change at page 17, line 30 | skipping to change at page 17, line 38 | |||
| | 11 | 1 | CE(-1) | -1 | 3 | Congestion | | | 11 | 1 | CE(-1) | -1 | 3 | Congestion | | |||
| | | | | | | experienced | | | | | | | | experienced | | |||
| | 10 | 1 | --CU-- | n/a | 2 | Currently Unused | | | 10 | 1 | --CU-- | n/a | 2 | Currently Unused | | |||
| | 10 | 0 | --- | n/a | 2 | RFC3168 ECN use | | | 10 | 0 | --- | n/a | 2 | RFC3168 ECN use | | |||
| | | | | | | only | | | | | | | | only | | |||
| | 00 | 0 | Not-RECT | n/a | 1 | Not | | | 00 | 0 | Not-RECT | n/a | 1 | Not | | |||
| | | | | | | Re-ECN-capable | | | | | | | | Re-ECN-capable | | |||
| | | | | | | transport | | | | | | | | transport | | |||
| +-------+-----+------------+-------+------------+-------------------+ | +-------+-----+------------+-------+------------+-------------------+ | |||
| Table 3: Drop Preference of EECN Codepoints (Sorted by `Worth') | Table 3: Drop Preference of EECN Codepoints (Sorted by `Worth') | |||
| The above drop preferences are arranged to preserve packets with | ||||
| more positive worth (Section 4.4), given senders of positive | ||||
| packets must have honestly declared downstream congestion. A full | ||||
| treatment of this is provided in the companion document desribing | ||||
| the motivation and architecture for re-ECN | ||||
| [I-D.briscoe-tsvwg-re-ecn-tcp-motivation] particularly when the | ||||
| application of re-ECN to protect against DDoS attacks is | ||||
| described. | ||||
| 5.4. Justification for Setting the First SYN to FNE | 5.4. Justification for Setting the First SYN to FNE | |||
| the initial SYN MUST be set to FNE by Re-ECT client A (Section 6.1.4) | the initial SYN MUST be set to FNE by Re-ECT client A (Section 6.1.4) | |||
| and (Section 5.3) says a queue MAY optionally treat an FNE packet as | and (Section 5.3) says a queue MAY optionally treat an FNE packet as | |||
| ECN capable, so an initial SYN may be marked CE(-1) rather than | ECN capable, so an initial SYN may be marked CE(-1) rather than | |||
| dropped. This seems dangerous, because the sender has not yet | dropped. This seems dangerous, because the sender has not yet | |||
| established whether the receiver is a RFC3168 one that does not | established whether the receiver is a RFC3168 one that does not | |||
| understand congestion marking. It also seems to allow malicious | understand congestion marking. It also seems to allow malicious | |||
| senders to take advantage of ECN marking to avoid so much drop when | senders to take advantage of ECN marking to avoid so much drop when | |||
| skipping to change at page 19, line 19 | skipping to change at page 19, line 19 | |||
| not aware of. Otherwise, spoof messages could be sent by malicious | not aware of. Otherwise, spoof messages could be sent by malicious | |||
| sources to slow down a sender (c.f. ICMP source quench). | sources to slow down a sender (c.f. ICMP source quench). | |||
| However, the need for this message type is not yet confirmed, as we | However, the need for this message type is not yet confirmed, as we | |||
| are considering how to prevent it being used by malicious senders to | are considering how to prevent it being used by malicious senders to | |||
| scan for droppers and to test their threshold settings. {ToDo: | scan for droppers and to test their threshold settings. {ToDo: | |||
| Complete this section.} | Complete this section.} | |||
| 5.5.2. Rate Response Control | 5.5.2. Rate Response Control | |||
| As discussed in [I-D.briscoe-tsvwg-re-ecn-tcp-motivation] the | As discussed in [I-D.tsvwg-re-ecn-motivation] the sender's access | |||
| sender's access operator will be expected to use bulk per-user | operator will be expected to use bulk per-user policing, but they | |||
| policing, but they might choose to introduce a per-flow policer. In | might choose to introduce a per-flow policer. In cases where | |||
| cases where operators do introduce per-flow policing, there may be a | operators do introduce per-flow policing, there may be a need for a | |||
| need for a sender to send a request to the ingress policer asking for | sender to send a request to the ingress policer asking for permission | |||
| permission to apply a non-default response to congestion (where TCP- | to apply a non-default response to congestion (where TCP-friendly is | |||
| friendly is assumed to be the default). This would require the | assumed to be the default). This would require the sender to know | |||
| sender to know what message format(s) to use and to be able to | what message format(s) to use and to be able to discover how to | |||
| discover how to address the policer. The required control | address the policer. The required control protocol(s) are outside | |||
| protocol(s) are outside the scope of this document, but will require | the scope of this document, but will require definition elsewhere. | |||
| definition elsewhere. | ||||
| The policer is likely to be local to the sender and inline, probably | The policer is likely to be local to the sender and inline, probably | |||
| at the ingress interface to the internetwork. So, discovery should | at the ingress interface to the internetwork. So, discovery should | |||
| not be hard. A variety of control protocols already exist for some | not be hard. A variety of control protocols already exist for some | |||
| widely used rate-responses to congestion. For instance DCCP | widely used rate-responses to congestion. For instance DCCP | |||
| congestion control identifiers (CCIDs [RFC4340]) fulfil this role and | congestion control identifiers (CCIDs [RFC4340]) fulfil this role and | |||
| so does QoS signalling (e.g. and RSVP request for controlled load | so does QoS signalling (e.g. and RSVP request for controlled load | |||
| service is equivalent to a request for no rate response to | service is equivalent to a request for no rate response to | |||
| congestion, but with admission control). | congestion, but with admission control). | |||
| skipping to change at page 28, line 21 | skipping to change at page 28, line 21 | |||
| merely ECN-capable. This is because FNE indicates the transport is | merely ECN-capable. This is because FNE indicates the transport is | |||
| ECN capable. | ECN capable. | |||
| The original ECN specification [RFC3168] required SYNs and SYN ACKs | The original ECN specification [RFC3168] required SYNs and SYN ACKs | |||
| to use the Not-ECT codepoint of the ECN field. The aim was to | to use the Not-ECT codepoint of the ECN field. The aim was to | |||
| prevent well-known DoS attacks such as SYN flooding being able to | prevent well-known DoS attacks such as SYN flooding being able to | |||
| gain from the advantage that ECN capability afforded over drop at | gain from the advantage that ECN capability afforded over drop at | |||
| ECN-capable routers. | ECN-capable routers. | |||
| For a SYN ACK, Kuzmanovic [RFC5562] has shown that this caution was | For a SYN ACK, Kuzmanovic [RFC5562] has shown that this caution was | |||
| unnecessary, and proposes to allow a SYN ACK to be ECN-capable to | unnecessary, and allows a SYN ACK to be ECN-capable to improve | |||
| improve performance. By stipulating the FNE codepoint for the | performance. By stipulating the FNE codepoint for the initial SYN, | |||
| initial SYN, we comply with RFC3168 in word but not in spirit, | we comply with RFC3168 in word but not in spirit, because we have | |||
| because we have indeed set the ECN field to Not-ECT, but we have | indeed set the ECN field to Not-ECT, but we have extended the ECN | |||
| extended the ECN field with another bit. And it will be seen | field with another bit. And it will be seen (Section 5.3) that we | |||
| (Section 5.3) that we have defined one setting of that bit to mean an | have defined one setting of that bit to mean an ECN-capable | |||
| ECN-capable transport. Therefore, by proposing that the FNE | transport. Therefore, by proposing that the FNE codepoint MUST be | |||
| codepoint MUST be used on the initial SYN of a connection, we have | used on the initial SYN of a connection, we have gone further by | |||
| gone further by proposing to make the initial SYN ECN-capable too. | proposing to make the initial SYN ECN-capable too. Section 5.4 | |||
| Section 5.4 justifies deciding to make the initial SYN ECN-capable. | justifies deciding to make the initial SYN ECN-capable. | |||
| Once a TCP half connection is in RECN mode or RECN-Co mode, FNE will | Once a TCP half connection is in RECN mode or RECN-Co mode, FNE will | |||
| have already been set on the initial SYN and possibly the SYN ACK as | have already been set on the initial SYN and possibly the SYN ACK as | |||
| above. But each re-ECN sender will have to set FNE cautiously on a | above. But each re-ECN sender will have to set FNE cautiously on a | |||
| few data packets as well, given a number of packets will usually have | few data packets as well, given a number of packets will usually have | |||
| to be sent before sufficient congestion feedback is received. The | to be sent before sufficient congestion feedback is received. The | |||
| behaviour will be different depending on the mode of the half- | behaviour will be different depending on the mode of the half- | |||
| connection: | connection: | |||
| RECN mode: Given the constraints on TCP's initial window [RFC3390] | RECN mode: Given the constraints on TCP's initial window [RFC3390] | |||
| skipping to change at page 32, line 38 | skipping to change at page 32, line 38 | |||
| o UDP fire and forget (e.g. DNS) | o UDP fire and forget (e.g. DNS) | |||
| o UDP streaming with no feedback | o UDP streaming with no feedback | |||
| o UDP streaming with feedback | o UDP streaming with feedback | |||
| } | } | |||
| 6.2.2. Guidelines for adding Re-ECN to RSVP or NSIS | 6.2.2. Guidelines for adding Re-ECN to RSVP or NSIS | |||
| A separate I-D has been submitted [I-D.briscoe-re-pcn-border-cheat] | A separate I-D has been submitted [I-D.re-pcn-border-cheat] | |||
| describing how re-ECN can be used in an edge-to-edge rather than end- | describing how re-ECN can be used in an edge-to-edge rather than end- | |||
| to-end scenario. It can then be used by downstream networks to | to-end scenario. It can then be used by downstream networks to | |||
| police whether upstream networks are blocking new flow reservations | police whether upstream networks are blocking new flow reservations | |||
| when downstream congestion is too high, even though the congestion is | when downstream congestion is too high, even though the congestion is | |||
| in other operators' downstream networks. This relates to current | in other operators' downstream networks. This relates to current | |||
| IETF work on Admission Control over Diffserv using Pre-Congestion | IETF work on Admission Control over Diffserv using Pre-Congestion | |||
| Notification (PCN) [RFC5559]. | Notification (PCN) [RFC5559]. | |||
| 6.2.3. Guidelines for adding Re-ECN to DCCP | 6.2.3. Guidelines for adding Re-ECN to DCCP | |||
| skipping to change at page 38, line 20 | skipping to change at page 38, line 20 | |||
| 13. Comments Solicited | 13. Comments Solicited | |||
| Comments and questions are encouraged and very welcome. They can be | Comments and questions are encouraged and very welcome. They can be | |||
| addressed to the IETF Transport Area working group's mailing list | addressed to the IETF Transport Area working group's mailing list | |||
| <tsvwg@ietf.org>, and/or to the authors. | <tsvwg@ietf.org>, and/or to the authors. | |||
| 14. References | 14. References | |||
| 14.1. Normative References | 14.1. Normative References | |||
| [RFC2119] Bradner, S., "Key words | [I-D.ietf-tsvwg-ecn-tunnel] Briscoe, B., "Tunnelling of Explicit | |||
| for use in RFCs to | Congestion Notification", | |||
| Indicate Requirement | draft-ietf-tsvwg-ecn-tunnel-10 (work | |||
| Levels", BCP 14, RFC 2119, | in progress), August 2010. | |||
| March 1997. | ||||
| [RFC2581] Allman, M., Paxson, V., | [RFC2119] Bradner, S., "Key words for use in | |||
| and W. Stevens, "TCP | RFCs to Indicate Requirement Levels", | |||
| Congestion Control", | BCP 14, RFC 2119, March 1997. | |||
| RFC 2581, April 1999. | ||||
| [RFC3168] Ramakrishnan, K., Floyd, | [RFC2581] Allman, M., Paxson, V., and W. | |||
| S., and D. Black, "The | Stevens, "TCP Congestion Control", | |||
| Addition of Explicit | RFC 2581, April 1999. | |||
| Congestion Notification | ||||
| (ECN) to IP", RFC 3168, | ||||
| September 2001. | ||||
| [RFC3390] Allman, M., Floyd, S., and | [RFC3168] Ramakrishnan, K., Floyd, S., and D. | |||
| C. Partridge, "Increasing | Black, "The Addition of Explicit | |||
| TCP's Initial Window", | Congestion Notification (ECN) to IP", | |||
| RFC 3390, October 2002. | RFC 3168, September 2001. | |||
| [RFC4340] Kohler, E., Handley, M., | [RFC3390] Allman, M., Floyd, S., and C. | |||
| and S. Floyd, "Datagram | Partridge, "Increasing TCP's Initial | |||
| Congestion Control | Window", RFC 3390, October 2002. | |||
| Protocol (DCCP)", | ||||
| RFC 4340, March 2006. | ||||
| [RFC4341] Floyd, S. and E. Kohler, | [RFC4302] Kent, S., "IP Authentication Header", | |||
| "Profile for Datagram | RFC 4302, December 2005. | |||
| Congestion Control | ||||
| Protocol (DCCP) Congestion | ||||
| Control ID 2: TCP-like | ||||
| Congestion Control", | ||||
| RFC 4341, March 2006. | ||||
| [RFC4342] Floyd, S., Kohler, E., and | [RFC4305] Eastlake, D., "Cryptographic Algorithm | |||
| J. Padhye, "Profile for | Implementation Requirements for | |||
| Datagram Congestion | Encapsulating Security Payload (ESP) | |||
| Control Protocol (DCCP) | and Authentication Header (AH)", | |||
| Congestion Control ID 3: | RFC 4305, December 2005. | |||
| TCP-Friendly Rate Control | ||||
| (TFRC)", RFC 4342, | ||||
| March 2006. | ||||
| [RFC4960] Stewart, R., "Stream | [RFC4340] Kohler, E., Handley, M., and S. Floyd, | |||
| Control Transmission | "Datagram Congestion Control Protocol | |||
| Protocol", RFC 4960, | (DCCP)", RFC 4340, March 2006. | |||
| September 2007. | ||||
| 14.2. Informative References | [RFC4341] Floyd, S. and E. Kohler, "Profile for | |||
| Datagram Congestion Control Protocol | ||||
| (DCCP) Congestion Control ID 2: TCP- | ||||
| like Congestion Control", RFC 4341, | ||||
| March 2006. | ||||
| [ARI05] Adams, J., Roberts, L., | [RFC4342] Floyd, S., Kohler, E., and J. Padhye, | |||
| and A. IJsselmuiden, | "Profile for Datagram Congestion | |||
| "Changing the Internet to | Control Protocol (DCCP) Congestion | |||
| Support Real-Time Content | Control ID 3: TCP-Friendly Rate | |||
| Supply from a Large | Control (TFRC)", RFC 4342, March 2006. | |||
| Fraction of Broadband | ||||
| Residential Users", BT | ||||
| Technology Journal | ||||
| (BTTJ) 23(2), April 2005. | ||||
| [I-D.briscoe-re-pcn-border-cheat] Briscoe, B., "Emulating | [RFC4960] Stewart, R., "Stream Control | |||
| Border Flow Policing using | Transmission Protocol", RFC 4960, | |||
| Re-PCN on Bulk Data", draf | September 2007. | |||
| t-briscoe-re-pcn-border- | ||||
| cheat-02 (work in | ||||
| progress), September 2008. | ||||
| [I-D.briscoe-tsvwg-re-ecn-tcp-motivation] Briscoe, B., Jacquet, A., | [RFC5562] Kuzmanovic, A., Mondal, A., Floyd, S., | |||
| Moncaster, T., and A. | and K. Ramakrishnan, "Adding Explicit | |||
| Smith, "Re-ECN: A | Congestion Notification (ECN) | |||
| Framework for adding | Capability to TCP's SYN/ACK Packets", | |||
| Congestion Accountability | RFC 5562, June 2009. | |||
| to TCP/IP", draft-briscoe- | ||||
| tsvwg-re-ecn-tcp- | ||||
| motivation-01 (work in | ||||
| progress), September 2009. | ||||
| [I-D.ietf-tsvwg-ecn-tunnel] Briscoe, B., "Tunnelling | 14.2. Informative References | |||
| of Explicit Congestion | ||||
| Notification", draft-ietf- | ||||
| tsvwg-ecn-tunnel-03 (work | ||||
| in progress), July 2009. | ||||
| [RFC2309] Braden, B., Clark, D., | [ARI05] Adams, J., Roberts, L., and A. | |||
| Crowcroft, J., Davie, B., | IJsselmuiden, "Changing the Internet | |||
| Deering, S., Estrin, D., | to Support Real-Time Content Supply | |||
| Floyd, S., Jacobson, V., | from a Large Fraction of Broadband | |||
| Minshall, G., Partridge, | Residential Users", BT Technology | |||
| C., Peterson, L., | Journal (BTTJ) 23(2), April 2005. | |||
| Ramakrishnan, K., Shenker, | ||||
| S., Wroclawski, J., and L. | ||||
| Zhang, "Recommendations on | ||||
| Queue Management and | ||||
| Congestion Avoidance in | ||||
| the Internet", RFC 2309, | ||||
| April 1998. | ||||
| [RFC2475] Blake, S., Black, D., | [I-D.re-pcn-border-cheat] Briscoe, B., "Emulating Border Flow | |||
| Carlson, M., Davies, E., | Policing using Re-PCN on Bulk Data", | |||
| Wang, Z., and W. Weiss, | draft-briscoe-re-pcn-border-cheat-03 | |||
| "An Architecture for | (work in progress), October 2009. | |||
| Differentiated Services", | ||||
| RFC 2475, December 1998. | ||||
| [RFC2988] Paxson, V. and M. Allman, | [I-D.tsvwg-re-ecn-motivation] Briscoe, B., Jacquet, A., Moncaster, | |||
| "Computing TCP's | T., and A. Smith, "Re-ECN: A Framework | |||
| Retransmission Timer", | for adding Congestion Accountability | |||
| RFC 2988, November 2000. | to TCP/IP", draft-briscoe-tsvwg-re- | |||
| ecn-tcp-motivation-02 (work in | ||||
| progress), October 2010. | ||||
| [RFC3124] Balakrishnan, H. and S. | [RFC2309] Braden, B., Clark, D., Crowcroft, J., | |||
| Seshan, "The Congestion | Davie, B., Deering, S., Estrin, D., | |||
| Manager", RFC 3124, | Floyd, S., Jacobson, V., Minshall, G., | |||
| June 2001. | Partridge, C., Peterson, L., | |||
| Ramakrishnan, K., Shenker, S., | ||||
| Wroclawski, J., and L. Zhang, | ||||
| "Recommendations on Queue Management | ||||
| and Congestion Avoidance in the | ||||
| Internet", RFC 2309, April 1998. | ||||
| [RFC3514] Bellovin, S., "The | [RFC2475] Blake, S., Black, D., Carlson, M., | |||
| Security Flag in the IPv4 | Davies, E., Wang, Z., and W. Weiss, | |||
| Header", RFC 3514, April 1 | "An Architecture for Differentiated | |||
| 2003. | Services", RFC 2475, December 1998. | |||
| [RFC3540] Spring, N., Wetherall, D., | [RFC2988] Paxson, V. and M. Allman, "Computing | |||
| and D. Ely, "Robust | TCP's Retransmission Timer", RFC 2988, | |||
| Explicit Congestion | November 2000. | |||
| Notification (ECN) | ||||
| Signaling with Nonces", | ||||
| RFC 3540, June 2003. | ||||
| [RFC4301] Kent, S. and K. Seo, | [RFC3124] Balakrishnan, H. and S. Seshan, "The | |||
| "Security Architecture for | Congestion Manager", RFC 3124, | |||
| the Internet Protocol", | June 2001. | |||
| RFC 4301, December 2005. | ||||
| [RFC4302] Kent, S., "IP | [RFC3514] Bellovin, S., "The Security Flag in | |||
| Authentication Header", | the IPv4 Header", RFC 3514, | |||
| RFC 4302, December 2005. | April 2003. | |||
| [RFC4305] Eastlake, D., | [RFC3540] Spring, N., Wetherall, D., and D. Ely, | |||
| "Cryptographic Algorithm | "Robust Explicit Congestion | |||
| Implementation | Notification (ECN) Signaling with | |||
| Requirements for | Nonces", RFC 3540, June 2003. | |||
| Encapsulating Security | ||||
| Payload (ESP) and | ||||
| Authentication Header | ||||
| (AH)", RFC 4305, | ||||
| December 2005. | ||||
| [RFC5129] Davie, B., Briscoe, B., | [RFC4301] Kent, S. and K. Seo, "Security | |||
| and J. Tay, "Explicit | Architecture for the Internet | |||
| Congestion Marking in | Protocol", RFC 4301, December 2005. | |||
| MPLS", RFC 5129, | ||||
| January 2008. | ||||
| [RFC5559] Eardley, P., "Pre- | [RFC5129] Davie, B., Briscoe, B., and J. Tay, | |||
| Congestion Notification | "Explicit Congestion Marking in MPLS", | |||
| (PCN) Architecture", | RFC 5129, January 2008. | |||
| RFC 5559, June 2009. | ||||
| [RFC5562] Kuzmanovic, A., Mondal, | [RFC5559] Eardley, P., "Pre-Congestion | |||
| A., Floyd, S., and K. | Notification (PCN) Architecture", | |||
| Ramakrishnan, "Adding | RFC 5559, June 2009. | |||
| Explicit Congestion | ||||
| Notification (ECN) | ||||
| Capability to TCP's SYN/ | ||||
| ACK Packets", RFC 5562, | ||||
| June 2009. | ||||
| [Re-fb] Briscoe, B., Jacquet, A., | [Re-fb] Briscoe, B., Jacquet, A., Di Cairano- | |||
| Di Cairano-Gilfedder, C., | Gilfedder, C., Salvatori, A., Soppera, | |||
| Salvatori, A., Soppera, | A., and M. Koyabe, "Policing | |||
| A., and M. Koyabe, | Congestion Response in an Internetwork | |||
| "Policing Congestion | Using Re-Feedback", ACM SIGCOMM | |||
| Response in an | CCR 35(4)277--288, August 2005, <http: | |||
| Internetwork Using Re- | ||||
| Feedback", ACM SIGCOMM | ||||
| CCR 35(4)277--288, | ||||
| August 2005, <http:// | ||||
| www.acm.org/sigs/sigcomm/ | ||||
| sigcomm2005/ | ||||
| techprog.html#session8>. | ||||
| [Savage99] Savage, S., Cardwell, N., | //www.acm.org/sigs/sigcomm/ | |||
| Wetherall, D., and T. | sigcomm2005/techprog.html#session8>. | |||
| Anderson, "TCP congestion | ||||
| control with a misbehaving | ||||
| receiver", ACM SIGCOMM | ||||
| CCR 29(5), October 1999, < | ||||
| http:// | ||||
| citeseer.ist.psu.edu/ | ||||
| savage99tcp.html>. | ||||
| [Steps_DoS] Handley, M. and A. | [Savage99] Savage, S., Cardwell, N., Wetherall, | |||
| Greenhalgh, "Steps towards | D., and T. Anderson, "TCP congestion | |||
| a DoS-resistant Internet | control with a misbehaving receiver", | |||
| Architecture", Proc. ACM | ACM SIGCOMM CCR 29(5), October 1999, < | |||
| SIGCOMM workshop on Future | http://citeseer.ist.psu.edu/ | |||
| directions in network | savage99tcp.html>. | |||
| architecture (FDNA'04) pp | ||||
| 49--56, August 2004. | ||||
| [tcp-rcv-cheat] Moncaster, T., Briscoe, | [Steps_DoS] Handley, M. and A. Greenhalgh, "Steps | |||
| B., and A. Jacquet, "A TCP | towards a DoS-resistant Internet | |||
| Test to Allow Senders to | Architecture", Proc. ACM SIGCOMM | |||
| Identify Receiver Non- | workshop on Future directions in | |||
| Compliance", draft- | network architecture (FDNA'04) pp | |||
| moncaster-tcpm-rcv-cheat- | 49--56, August 2004. | |||
| 02 (work in progress), | ||||
| November 2007. | [tcp-rcv-cheat] Moncaster, T., Briscoe, B., and A. | |||
| Jacquet, "A TCP Test to Allow Senders | ||||
| to Identify Receiver Non-Compliance", | ||||
| draft-moncaster-tcpm-rcv-cheat-02 | ||||
| (work in progress), November 2007. | ||||
| Appendix A. Precise Re-ECN Protocol Operation | Appendix A. Precise Re-ECN Protocol Operation | |||
| {ToDo: fix this} | {ToDo: fix this} | |||
| The protocol operation in the middle described in Section 4.3 was an | The protocol operation in the middle described in Section 4.3 was an | |||
| approximation. In fact, standard ECN router marking combines 1% and | approximation. In fact, standard ECN router marking combines 1% and | |||
| 2% marking into slightly less than 3% whole-path marking, because | 2% marking into slightly less than 3% whole-path marking, because | |||
| routers deliberately mark CE whether or not it has already been | routers deliberately mark CE whether or not it has already been | |||
| marked by another router upstream. So the combined marking fraction | marked by another router upstream. So the combined marking fraction | |||
| skipping to change at page 50, line 29 | skipping to change at page 49, line 21 | |||
| The authors are aware that Re-ECN must prove it has the potential it | The authors are aware that Re-ECN must prove it has the potential it | |||
| claims if it is to displace the nonce. Therefore, every effort has | claims if it is to displace the nonce. Therefore, every effort has | |||
| been made to complete a comprehensive specification of Re-ECN so that | been made to complete a comprehensive specification of Re-ECN so that | |||
| its potential can be assessed. We therefore seek the opinion of the | its potential can be assessed. We therefore seek the opinion of the | |||
| Internet community on whether the Re-ECN protocol is sufficiently | Internet community on whether the Re-ECN protocol is sufficiently | |||
| useful to warrant standards action. | useful to warrant standards action. | |||
| Appendix F. Alternative Terminology Used in Other Documents | Appendix F. Alternative Terminology Used in Other Documents | |||
| A number of alternative terms have been used in various documents | A number of alternative terms have been used in various documents | |||
| describign re-feedback and re-ECN. These are set out in the | describing re-feedback and re-ECN. These are set out in the | |||
| following table | following table | |||
| +-------------------+---------------+-------------------------------+ | +-------------------+---------------+-------------------------------+ | |||
| | Current | EECN | Colour | | | Current | EECN | Colour | | |||
| | Terminology | codepoint | | | | Terminology | codepoint | | | |||
| +-------------------+---------------+-------------------------------+ | +-------------------+---------------+-------------------------------+ | |||
| | Cautious | FNE | Green | | | Cautious | FNE | Green | | |||
| | Positive | Re-Echo | Black | | | Positive | Re-Echo | Black | | |||
| | Neutral | RECT | Grey | | | Neutral | RECT | Grey | | |||
| | Negative | CE(-1) | Red | | | Negative | CE(-1) | Red | | |||
| skipping to change at page 51, line 7 | skipping to change at page 50, line 7 | |||
| | Legacy ECN | ECT(0) | White | | | Legacy ECN | ECT(0) | White | | |||
| | Currently Unused | --CU-- | Currently unused | | | Currently Unused | --CU-- | Currently unused | | |||
| | | | | | | | | | | |||
| | Legacy | Not-ECT | White | | | Legacy | Not-ECT | White | | |||
| +-------------------+---------------+-------------------------------+ | +-------------------+---------------+-------------------------------+ | |||
| Table 7: Alternative re-ECN Terminology | Table 7: Alternative re-ECN Terminology | |||
| Authors' Addresses | Authors' Addresses | |||
| Bob Briscoe | Bob Briscoe (editor) | |||
| BT | BT | |||
| B54/77, Adastral Park | B54/77, Adastral Park | |||
| Martlesham Heath | Martlesham Heath | |||
| Ipswich IP5 3RE | Ipswich IP5 3RE | |||
| UK | UK | |||
| Phone: +44 1473 645196 | Phone: +44 1473 645196 | |||
| EMail: bob.briscoe@bt.com | EMail: bob.briscoe@bt.com | |||
| URI: http://www.cs.ucl.ac.uk/staff/B.Briscoe/ | URI: http://bobbriscoe.net/ | |||
| Arnaud Jacquet | Arnaud Jacquet | |||
| BT | BT | |||
| B54/70, Adastral Park | B54/70, Adastral Park | |||
| Martlesham Heath | Martlesham Heath | |||
| Ipswich IP5 3RE | Ipswich IP5 3RE | |||
| UK | UK | |||
| Phone: +44 1473 647284 | Phone: +44 1473 647284 | |||
| EMail: arnaud.jacquet@bt.com | EMail: arnaud.jacquet@bt.com | |||
| URI: | URI: | |||
| Toby Moncaster | Toby Moncaster | |||
| BT | Moncaster.com | |||
| B54/70, Adastral Park | Dukes | |||
| Martlesham Heath | Layer Marney | |||
| Ipswich IP5 3RE | Colchester CO5 9UZ | |||
| UK | UK | |||
| Phone: +44 1473 648734 | EMail: toby@moncaster.com | |||
| EMail: toby.moncaster@bt.com | ||||
| Alan Smith | Alan Smith | |||
| BT | BT | |||
| B54/76, Adastral Park | B54/76, Adastral Park | |||
| Martlesham Heath | Martlesham Heath | |||
| Ipswich IP5 3RE | Ipswich IP5 3RE | |||
| UK | UK | |||
| Phone: +44 1473 640404 | Phone: +44 1473 640404 | |||
| EMail: alan.p.smith@bt.com | EMail: alan.p.smith@bt.com | |||
| End of changes. 63 change blocks. | ||||
| 321 lines changed or deleted | 253 lines changed or added | |||
This html diff was produced by rfcdiff 1.40. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||