| < draft-ietf-pcn-3-in-1-encoding-06.txt | draft-ietf-pcn-3-in-1-encoding-07a.txt > | |||
|---|---|---|---|---|
| Congestion and Pre-Congestion B. Briscoe | Congestion and Pre-Congestion B. Briscoe | |||
| Notification BT | Notification BT | |||
| Internet-Draft T. Moncaster | Internet-Draft T. Moncaster | |||
| Obsoletes: 5696 (if approved) Moncaster Internet Consulting | Obsoletes: 5696 (if approved) Moncaster Internet Consulting | |||
| Intended status: Standards Track M. Menth | Intended status: Standards Track M. Menth | |||
| Expires: January 11, 2012 University of Tuebingen | Expires: January 18, 2012 University of Tuebingen | |||
| July 10, 2011 | July 17, 2011 | |||
| Encoding 3 PCN-States in the IP header using a single DSCP | Encoding 3 PCN-States in the IP header using a single DSCP | |||
| draft-ietf-pcn-3-in-1-encoding-06 | draft-ietf-pcn-3-in-1-encoding-07 | |||
| Abstract | Abstract | |||
| The objective of Pre-Congestion Notification (PCN) is to protect the | The objective of Pre-Congestion Notification (PCN) is to protect the | |||
| quality of service (QoS) of inelastic flows within a Diffserv domain. | quality of service (QoS) of inelastic flows within a Diffserv domain. | |||
| The overall rate of the PCN-traffic is metered on every link in the | The overall rate of the PCN-traffic is metered on every link in the | |||
| PCN domain, and PCN-packets are appropriately marked when certain | PCN domain, and PCN-packets are appropriately marked when certain | |||
| configured rates are exceeded. Egress nodes pass information about | configured rates are exceeded. Egress nodes pass information about | |||
| these PCN-marks to decision points which then decide whether to admit | these PCN-marks to decision points which then decide whether to admit | |||
| or block new flow requests or to terminate some already-admitted | or block new flow requests or to terminate some already-admitted | |||
| skipping to change at page 1, line 48 | skipping to change at page 1, line 48 | |||
| 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 http://datatracker.ietf.org/drafts/current/. | Drafts is at http://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 January 11, 2012. | This Internet-Draft will expire on January 18, 2012. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2011 IETF Trust and the persons identified as the | Copyright (c) 2011 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 | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://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 3, line 12 | skipping to change at page 3, line 12 | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 5 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 5 | |||
| 1.2. Changes in This Version (to be removed by RFC Editor) . . 5 | 1.2. Changes in This Version (to be removed by RFC Editor) . . 5 | |||
| 2. Definitions and Abbreviations . . . . . . . . . . . . . . . . 7 | 2. Definitions and Abbreviations . . . . . . . . . . . . . . . . 7 | |||
| 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 7 | 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 2.2. List of Abbreviations . . . . . . . . . . . . . . . . . . 7 | 2.2. List of Abbreviations . . . . . . . . . . . . . . . . . . 8 | |||
| 3. Definition of 3-in-1 PCN Encoding . . . . . . . . . . . . . . 8 | 3. Definition of 3-in-1 PCN Encoding . . . . . . . . . . . . . . 8 | |||
| 4. Requirements for and Applicability of 3-in-1 PCN Encoding . . 9 | 4. Requirements for and Applicability of 3-in-1 PCN Encoding . . 9 | |||
| 4.1. PCN Requirements . . . . . . . . . . . . . . . . . . . . . 9 | 4.1. PCN Requirements . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 4.2. Requirements Imposed by Tunnelling . . . . . . . . . . . . 9 | 4.2. Requirements Imposed by Tunnelling . . . . . . . . . . . . 10 | |||
| 4.3. Applicability of 3-in-1 PCN Encoding . . . . . . . . . . . 10 | 4.3. Applicability of 3-in-1 PCN Encoding . . . . . . . . . . . 10 | |||
| 5. Behaviour of a PCN-node to Comply with the 3-in-1 PCN | 5. Behaviour of a PCN-node to Comply with the 3-in-1 PCN | |||
| Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 | Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 5.1. PCN-ingress Node Behaviour . . . . . . . . . . . . . . . . 10 | 5.1. PCN-ingress Node Behaviour . . . . . . . . . . . . . . . . 11 | |||
| 5.2. PCN-interior Node Behaviour . . . . . . . . . . . . . . . 11 | 5.2. PCN-interior Node Behaviour . . . . . . . . . . . . . . . 11 | |||
| 5.2.1. Behaviour Common to all PCN-interior Nodes . . . . . . 11 | 5.2.1. Behaviour Common to all PCN-interior Nodes . . . . . . 11 | |||
| 5.2.2. Behaviour of PCN-interior Nodes Using Two | 5.2.2. Behaviour of PCN-interior Nodes Using Two | |||
| PCN-markings . . . . . . . . . . . . . . . . . . . . . 11 | PCN-markings . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 5.2.3. Behaviour of PCN-interior Nodes Using One | 5.2.3. Behaviour of PCN-interior Nodes Using One | |||
| PCN-marking . . . . . . . . . . . . . . . . . . . . . 11 | PCN-marking . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 5.3. Behaviour of PCN-egress Nodes . . . . . . . . . . . . . . 12 | 5.3. Behaviour of PCN-egress Nodes . . . . . . . . . . . . . . 13 | |||
| 6. Backward Compatibility . . . . . . . . . . . . . . . . . . . . 13 | 6. Backward Compatibility . . . . . . . . . . . . . . . . . . . . 13 | |||
| 6.1. Backward Compatibility with ECN . . . . . . . . . . . . . 13 | 6.1. Backward Compatibility with ECN . . . . . . . . . . . . . 13 | |||
| 6.2. Backward Compatibility with the Baseline Encoding . . . . 13 | 6.2. Backward Compatibility with the Baseline Encoding . . . . 14 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | |||
| 9. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 9. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14 | 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 11. Comments Solicited . . . . . . . . . . . . . . . . . . . . . . 15 | 11. Comments Solicited . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 12.1. Normative References . . . . . . . . . . . . . . . . . . . 15 | 12.1. Normative References . . . . . . . . . . . . . . . . . . . 15 | |||
| 12.2. Informative References . . . . . . . . . . . . . . . . . . 15 | 12.2. Informative References . . . . . . . . . . . . . . . . . . 16 | |||
| Appendix A. Choice of Suitable DSCPs . . . . . . . . . . . . . . 16 | Appendix A. Choice of Suitable DSCPs . . . . . . . . . . . . . . 17 | |||
| Appendix B. Co-existence of ECN and PCN . . . . . . . . . . . . . 18 | Appendix B. Co-existence of ECN and PCN . . . . . . . . . . . . . 18 | |||
| Appendix C. Example Mapping between Encoding of PCN-Marks in | Appendix C. Example Mapping between Encoding of PCN-Marks in | |||
| IP and in MPLS Shim Headers . . . . . . . . . . . . . 20 | IP and in MPLS Shim Headers . . . . . . . . . . . . . 21 | |||
| Appendix D. Rationale for different behaviours for single | Appendix D. Rationale for Discrepancy Between the Schemes | |||
| marking schemes . . . . . . . . . . . . . . . . . . . 21 | using One PCN-Marking . . . . . . . . . . . . . . . . 22 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 21 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 1. Introduction | 1. Introduction | |||
| The objective of Pre-Congestion Notification (PCN) [RFC5559] is to | The objective of Pre-Congestion Notification (PCN) [RFC5559] is to | |||
| protect the quality of service (QoS) of inelastic flows within a | protect the quality of service (QoS) of inelastic flows within a | |||
| Diffserv domain, in a simple, scalable, and robust fashion. Two | Diffserv domain, in a simple, scalable, and robust fashion. Two | |||
| mechanisms are used: admission control, to decide whether to admit or | mechanisms are used: admission control, to decide whether to admit or | |||
| block a new flow request, and flow termination to terminate some | block a new flow request, and flow termination to terminate some | |||
| existing flows during serious pre-congestion. To achieve this, the | existing flows during serious pre-congestion. To achieve this, the | |||
| overall rate of PCN-traffic is metered on every link in the domain, | overall rate of PCN-traffic is metered on every link in the domain, | |||
| skipping to change at page 5, line 20 | skipping to change at page 5, line 20 | |||
| mapping between IP and MPLS. | mapping between IP and MPLS. | |||
| 1.1. Requirements Language | 1.1. 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", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
| 1.2. Changes in This Version (to be removed by RFC Editor) | 1.2. Changes in This Version (to be removed by RFC Editor) | |||
| From draft-ietf-pcn-3-in-1-encoding-06 to -07: | ||||
| * Clarified that each operator not the IETF chooses which DSCP(s) | ||||
| are PCN-compatible, and made it unambiguous that only PCN-nodes | ||||
| recognise that PCN-compatible DSCPs enable the 3-in-1 encoding. | ||||
| * Removed statements about the PCN working group, given RFCs are | ||||
| meant to survive beyond the life of a w-g. | ||||
| * Corrected the final para of "Rational for Different Behaviours | ||||
| in Schemes with Only One Marking" | ||||
| From draft-ietf-pcn-3-in-1-encoding-05 to -06: | From draft-ietf-pcn-3-in-1-encoding-05 to -06: | |||
| * Draft re-written to obsolete baseline encoding [RFC5696]. | * Draft re-written to obsolete baseline encoding [RFC5696]. | |||
| * New section defining utilising this encoding for single | * New section defining utilising this encoding for only one PCN- | |||
| marking. Added an appendix explaining an apparent | Marking. Added an appendix explaining an apparent | |||
| inconsistency relating to single marking. | inconsistency within this section. | |||
| * Moved (and updated) informative appendixes from [RFC5696] to | * Moved (and updated) informative appendixes from [RFC5696] to | |||
| this document. Original Appendix C was omitted as it is now | this document. Original Appendix C was omitted as it is now | |||
| redundant. | redundant. | |||
| * Significant re-structuring of document. | * Significant re-structuring of document. | |||
| From draft-ietf-pcn-3-in-1-encoding-04 to -05: | From draft-ietf-pcn-3-in-1-encoding-04 to -05: | |||
| * Draft moved to standards track as per working group | * Draft moved to standards track as per working group | |||
| skipping to change at page 7, line 18 | skipping to change at page 7, line 27 | |||
| The terms PCN-domain, PCN-node, PCN-interior-node, PCN-ingress-node, | The terms PCN-domain, PCN-node, PCN-interior-node, PCN-ingress-node, | |||
| PCN-egress-node, PCN-boundary-node, PCN-traffic, PCN-packets and PCN- | PCN-egress-node, PCN-boundary-node, PCN-traffic, PCN-packets and PCN- | |||
| marking are used as defined in [RFC5559]. The following additional | marking are used as defined in [RFC5559]. The following additional | |||
| terms are defined in this document: | terms are defined in this document: | |||
| PCN encoding: mapping of PCN marking states to specific codepoints | PCN encoding: mapping of PCN marking states to specific codepoints | |||
| in the packet header. | in the packet header. | |||
| PCN-compatible Diffserv codepoint: a Diffserv codepoint indicating | PCN-compatible Diffserv codepoint: a Diffserv codepoint indicating | |||
| packets for which the ECN field is used to carry PCN-markings | packets for which the ECN field carries PCN-markings rather than | |||
| rather than [RFC3168] markings (see Appendix A). | [RFC3168] markings. Note that an operator configures PCN-nodes to | |||
| recognise PCN-compatible DSCPs, whereas the same DSCP has no PCN- | ||||
| specific meaning to a node outside the PCN domain. | ||||
| Threshold-marked codepoint: a codepoint that indicates packets that | Threshold-marked codepoint: a codepoint that indicates packets that | |||
| have been marked at a PCN-interior-node as a result of an | have been marked at a PCN-interior-node as a result of an | |||
| indication from the threshold-metering function [RFC5670]. | indication from the threshold-metering function [RFC5670]. | |||
| Abbreviated to ThM. | Abbreviated to ThM. | |||
| Excess-traffic-marked codepoint: a codepoint that indicates packets | Excess-traffic-marked codepoint: a codepoint that indicates packets | |||
| that have been marked at a PCN-interior-node as a result of an | that have been marked at a PCN-interior-node as a result of an | |||
| indication from the excess-traffic-metering function [RFC5670]. | indication from the excess-traffic-metering function [RFC5670]. | |||
| Abbreviated to ETM. | Abbreviated to ETM. | |||
| skipping to change at page 8, line 35 | skipping to change at page 9, line 5 | |||
| | | Codepoint in ECN field of IP header | | | | Codepoint in ECN field of IP header | | |||
| | DSCP | <RFC3168 codepoint name> | | | DSCP | <RFC3168 codepoint name> | | |||
| | +--------------+-------------+-------------+---------+ | | +--------------+-------------+-------------+---------+ | |||
| | | 00 <Not-ECT> | 10 <ECT(0)> | 01 <ECT(1)> | 11 <CE> | | | | 00 <Not-ECT> | 10 <ECT(0)> | 01 <ECT(1)> | 11 <CE> | | |||
| +--------+--------------+-------------+-------------+---------+ | +--------+--------------+-------------+-------------+---------+ | |||
| | DSCP n | Not-PCN | NM | ThM | ETM | | | DSCP n | Not-PCN | NM | ThM | ETM | | |||
| +--------+--------------+-------------+-------------+---------+ | +--------+--------------+-------------+-------------+---------+ | |||
| Figure 1: 3-in-1 PCN Encoding | Figure 1: 3-in-1 PCN Encoding | |||
| As mentioned above, the 3-in-1 PCN encoding is an extension of the | A PCN-node (i.e. a node within a PCN domain) will be configured to | |||
| baseline encoding [RFC5696]. Like the baseline encoding it uses a | recognise certain DSCPs as PCN-compatible. Appendix A discusses the | |||
| combination of a PCN-compatible DSCP (DSCP n in Figure 1) and the ECN | choice of suitable DSCPs. In Figure 1 'DSCP n' indicates such a PCN- | |||
| field for the encoding of PCN-marks. Appendix A discusses the choice | compatible DSCP. | |||
| of suitable DSCPs. The PCN-marks have the following meaning. | ||||
| Not-PCN: indicates a non-PCN-packet, i.e., a packet that is not | A PCN-node MUST use the 3-in-1 PCN encoding, rather than [RFC3168], | |||
| subject to PCN metering and marking. | to interpret the ECN field of any packet with a PCN-compatible DSCP. | |||
| Conversely, for any packet with a DSCP that is not PCN-compatible, or | ||||
| for any non-PCN node (a node outside a PCN-domain), the node MUST | ||||
| interpret the ECN field using [RFC3168], rather than the 3-in-1 | ||||
| encoding. | ||||
| When using the 3-in-1 encoding, the codepoints of the ECN field have | ||||
| the following meanings: | ||||
| Not-PCN: indicates a non-PCN-packet, i.e., a packet that uses a PCN- | ||||
| compatible DSCP but is not subject to PCN metering and marking. | ||||
| NM: Not-marked. Indicates a PCN-packet that has not yet been marked | NM: Not-marked. Indicates a PCN-packet that has not yet been marked | |||
| by any PCN marker. | by any PCN marker. | |||
| ThM: Threshold-marked. Indicates a PCN-packet that has been marked | ThM: Threshold-marked. Indicates a PCN-packet that has been marked | |||
| by a threshold-marker [RFC5670]. | by a threshold-marker [RFC5670]. | |||
| ETM: Excess-traffic-marked. Indicates a PCN-packet that has been | ETM: Excess-traffic-marked. Indicates a PCN-packet that has been | |||
| marked by an excess-traffic-marker [RFC5670]. | marked by an excess-traffic-marker [RFC5670]. | |||
| skipping to change at page 9, line 31 | skipping to change at page 10, line 7 | |||
| [I-D.ietf-pcn-cl-edge-behaviour]. In the latter case, three PCN | [I-D.ietf-pcn-cl-edge-behaviour]. In the latter case, three PCN | |||
| marking states are needed: not-marked (NM) to indicate not-marked | marking states are needed: not-marked (NM) to indicate not-marked | |||
| packets, threshold-marked (ThM) to indicate packets marked by the | packets, threshold-marked (ThM) to indicate packets marked by the | |||
| threshold-marker, and excess-traffic-marked (ETM) to indicate packets | threshold-marker, and excess-traffic-marked (ETM) to indicate packets | |||
| marked by the excess-traffic-marker [RFC5670]. Threshold-marking and | marked by the excess-traffic-marker [RFC5670]. Threshold-marking and | |||
| excess-traffic-marking are configured to start marking packets at | excess-traffic-marking are configured to start marking packets at | |||
| different load conditions, so one marking behaviour indicates more | different load conditions, so one marking behaviour indicates more | |||
| severe pre-congestion than the other. Therefore, a fourth PCN | severe pre-congestion than the other. Therefore, a fourth PCN | |||
| marking state indicating that a packet is marked by both markers is | marking state indicating that a packet is marked by both markers is | |||
| not needed. However a fourth codepoint is required to indicate | not needed. However a fourth codepoint is required to indicate | |||
| packets that do not use PCN (the not-PCN codepoint). | packets that use a PCN-compatible DSCP but do not use PCN-marking | |||
| (the not-PCN codepoint). | ||||
| In all current PCN edge behaviors that use two marking behaviours | In all current PCN edge behaviors that use two marking behaviours | |||
| [RFC5559], [I-D.ietf-pcn-cl-edge-behaviour], excess-traffic-marking | [RFC5559], [I-D.ietf-pcn-cl-edge-behaviour], excess-traffic-marking | |||
| is configured with a larger reference rate than threshold-marking. | is configured with a larger reference rate than threshold-marking. | |||
| We take this as a rule and define excess-traffic-marked as a more | We take this as a rule and define excess-traffic-marked as a more | |||
| severe PCN-mark than threshold-marked. | severe PCN-mark than threshold-marked. | |||
| 4.2. Requirements Imposed by Tunnelling | 4.2. Requirements Imposed by Tunnelling | |||
| [RFC6040] defines rules for the encapsulation and decapsulation of | [RFC6040] defines rules for the encapsulation and decapsulation of | |||
| skipping to change at page 10, line 21 | skipping to change at page 10, line 46 | |||
| also be used with only one marking behaviour, in which case one of | also be used with only one marking behaviour, in which case one of | |||
| the codepoints MUST NOT be used throughout the PCN-domain (see | the codepoints MUST NOT be used throughout the PCN-domain (see | |||
| Section 5.2.3). | Section 5.2.3). | |||
| For the full 3-in-1 encoding to apply, any tunnel endpoints (IP-in-IP | For the full 3-in-1 encoding to apply, any tunnel endpoints (IP-in-IP | |||
| and IPsec) within the PCN-domain MUST comply with the ECN | and IPsec) within the PCN-domain MUST comply with the ECN | |||
| encapsulation and decapsulation rules set out in [RFC6040] (see | encapsulation and decapsulation rules set out in [RFC6040] (see | |||
| Section 4.2). There is one exception to this rule outlined next. | Section 4.2). There is one exception to this rule outlined next. | |||
| It may not be possible to upgrade every pre-RFC6040 tunnel endpoint | It may not be possible to upgrade every pre-RFC6040 tunnel endpoint | |||
| within a PCN-domain. In such cirsumstances a limited version of the | within a PCN-domain. In such circumstances a limited version of the | |||
| 3-in-1 encoding can still be used but only under the following | 3-in-1 encoding can still be used but only under the following | |||
| stringent condition. If any pre-RFC6040 tunnel endpoint exists | stringent condition. If any pre-RFC6040 tunnel endpoint exists | |||
| within a PCN-domain then every PCN-node in the PCN-domain MUST be | within a PCN-domain then every PCN-node in the PCN-domain MUST be | |||
| configured so that it never sets the ThM codepoint. The behaviour of | configured so that it never sets the ThM codepoint. The behaviour of | |||
| PCN-interior nodes in this case is defined in Section 5.2.3.1. In | PCN-interior nodes in this case is defined in Section 5.2.3.1, which | |||
| all other situations where legacy tunnel endpoints might be present | describes the rules for using only the Excess Traffic marking | |||
| within the PCN domain, the 3-in-1 encoding is not applicable. | function. In all other situations where legacy tunnel endpoints | |||
| might be present within the PCN domain, the 3-in-1 encoding is not | ||||
| applicable. | ||||
| 5. Behaviour of a PCN-node to Comply with the 3-in-1 PCN Encoding | 5. Behaviour of a PCN-node to Comply with the 3-in-1 PCN Encoding | |||
| As mentioned in Section 4.3 above, all PCN-nodes MUST comply with | As mentioned in Section 4.3 above, all PCN-nodes MUST comply with | |||
| [RFC6040]. | [RFC6040]. | |||
| 5.1. PCN-ingress Node Behaviour | 5.1. PCN-ingress Node Behaviour | |||
| PCN-traffic MUST be marked with a PCN-compatible Diffserv codepoint. | PCN-traffic MUST be marked with a PCN-compatible Diffserv codepoint. | |||
| To conserve DSCPs, Diffserv codepoints SHOULD be chosen that are | To conserve DSCPs, Diffserv codepoints SHOULD be chosen that are | |||
| skipping to change at page 12, line 47 | skipping to change at page 13, line 26 | |||
| A PCN-egress-node SHOULD set the not-PCN (00) codepoint on all | A PCN-egress-node SHOULD set the not-PCN (00) codepoint on all | |||
| packets it forwards out of the PCN-domain. | packets it forwards out of the PCN-domain. | |||
| The only exception to this is if the PCN-egress-node is certain that | The only exception to this is if the PCN-egress-node is certain that | |||
| revealing other codepoints outside the PCN-domain won't contravene | revealing other codepoints outside the PCN-domain won't contravene | |||
| the guidance given in [RFC4774]. For instance, if the PCN-ingress- | the guidance given in [RFC4774]. For instance, if the PCN-ingress- | |||
| node has explicitly informed the PCN-egress-node that this flow is | node has explicitly informed the PCN-egress-node that this flow is | |||
| ECN-capable, then it might be safe to expose other codepoints. | ECN-capable, then it might be safe to expose other codepoints. | |||
| Appendix B gives details of how such schemes might work, but such | Appendix B gives details of how such schemes might work, but such | |||
| schemes are currently experimental. | schemes are currently only tentative ideas. | |||
| If the PCN-domain is configured to use only excess-traffic marking, | If the PCN-domain is configured to use only excess-traffic marking, | |||
| the PCN-egress node MUST treat ThM as ETM and if only threshold- | the PCN-egress node MUST treat ThM as ETM and if only threshold- | |||
| marking is used it should treat ETM as ThM. However it SHOULD raise | marking is used it should treat ETM as ThM. However it SHOULD raise | |||
| a management alarm in either instance since this means there is some | a management alarm in either instance since this means there is some | |||
| misconfiguration in the PCN-domain. | misconfiguration in the PCN-domain. | |||
| 6. Backward Compatibility | 6. Backward Compatibility | |||
| 6.1. Backward Compatibility with ECN | 6.1. Backward Compatibility with ECN | |||
| skipping to change at page 16, line 11 | skipping to change at page 16, line 40 | |||
| Notification Encoding", | Notification Encoding", | |||
| draft-ietf-pcn-encoding-comparison-06 (work in progress), | draft-ietf-pcn-encoding-comparison-06 (work in progress), | |||
| June 2011. | June 2011. | |||
| [I-D.ietf-pcn-sm-edge-behaviour] | [I-D.ietf-pcn-sm-edge-behaviour] | |||
| Charny, A., Karagiannis, G., Menth, M., and T. Taylor, | Charny, A., Karagiannis, G., Menth, M., and T. Taylor, | |||
| "PCN Boundary Node Behaviour for the Single Marking (SM) | "PCN Boundary Node Behaviour for the Single Marking (SM) | |||
| Mode of Operation", draft-ietf-pcn-sm-edge-behaviour-06 | Mode of Operation", draft-ietf-pcn-sm-edge-behaviour-06 | |||
| (work in progress), June 2011. | (work in progress), June 2011. | |||
| [I-D.sarker-pcn-ecn-pcn-usecases] | ||||
| Sarker, Z. and I. Johansson, "Usecases and Benefits of end | ||||
| to end ECN support in PCN Domains", | ||||
| draft-sarker-pcn-ecn-pcn-usecases-01 (work in progress), | ||||
| May 2008. | ||||
| [RFC2597] Heinanen, J., Baker, F., Weiss, W., and J. Wroclawski, | [RFC2597] Heinanen, J., Baker, F., Weiss, W., and J. Wroclawski, | |||
| "Assured Forwarding PHB Group", RFC 2597, June 1999. | "Assured Forwarding PHB Group", RFC 2597, June 1999. | |||
| [RFC3246] Davie, B., Charny, A., Bennet, J., Benson, K., Le Boudec, | [RFC3246] Davie, B., Charny, A., Bennet, J., Benson, K., Le Boudec, | |||
| J., Courtney, W., Davari, S., Firoiu, V., and D. | J., Courtney, W., Davari, S., Firoiu, V., and D. | |||
| Stiliadis, "An Expedited Forwarding PHB (Per-Hop | Stiliadis, "An Expedited Forwarding PHB (Per-Hop | |||
| Behavior)", RFC 3246, March 2002. | Behavior)", RFC 3246, March 2002. | |||
| [RFC3540] Spring, N., Wetherall, D., and D. Ely, "Robust Explicit | [RFC3540] Spring, N., Wetherall, D., and D. Ely, "Robust Explicit | |||
| Congestion Notification (ECN) Signaling with Nonces", | Congestion Notification (ECN) Signaling with Nonces", | |||
| skipping to change at page 17, line 5 | skipping to change at page 17, line 39 | |||
| RFC 5696, November 2009. | RFC 5696, November 2009. | |||
| [RFC5865] Baker, F., Polk, J., and M. Dolly, "A Differentiated | [RFC5865] Baker, F., Polk, J., and M. Dolly, "A Differentiated | |||
| Services Code Point (DSCP) for Capacity-Admitted Traffic", | Services Code Point (DSCP) for Capacity-Admitted Traffic", | |||
| RFC 5865, May 2010. | RFC 5865, May 2010. | |||
| Appendix A. Choice of Suitable DSCPs | Appendix A. Choice of Suitable DSCPs | |||
| This appendix is informative, not normative. | This appendix is informative, not normative. | |||
| The PCN working group chose not to define a single DSCP for use with | A single DSCP has not been defined for use with PCN for several | |||
| PCN for several reasons. Firstly, the PCN mechanism is applicable to | reasons. Firstly, the PCN mechanism is applicable to a variety of | |||
| a variety of different traffic classes. Secondly, Standards Track | different traffic classes. Secondly, Standards Track DSCPs are in | |||
| DSCPs are in increasingly short supply. Thirdly, PCN is not a | increasingly short supply. Thirdly, PCN is not a scheduling | |||
| scheduling behaviour -- rather, it should be seen as being a marking | behaviour -- rather, it should be seen as being a marking behaviour | |||
| behaviour similar to ECN but intended for inelastic traffic. The | similar to ECN but intended for inelastic traffic. The choice of | |||
| choice of which DSCP is most suitable for a given PCN-domain is | which DSCP is most suitable for a given PCN-domain is dependent on | |||
| dependent on the nature of the traffic entering that domain and the | the nature of the traffic entering that domain and the link rates of | |||
| link rates of all the links making up that domain. In PCN-domains | all the links making up that domain. In PCN-domains with sufficient | |||
| with sufficient aggregation, the appropriate DSCPs would currently be | aggregation, the appropriate DSCPs would currently be those for the | |||
| those for the Real-Time Treatment Aggregate [RFC5127]. The PCN | Real-Time Treatment Aggregate [RFC5127]. It is suggested that | |||
| working group suggests using admission control for the following | admission control could be used for the following service classes | |||
| service classes (defined in [RFC4594]): | (defined in [RFC4594] unless otherwise stated): | |||
| o Telephony (EF) | o Telephony (EF) | |||
| o Real-time interactive (CS4) | o Real-time interactive (CS4) | |||
| o Broadcast Video (CS3) | o Broadcast Video (CS3) | |||
| o Multimedia Conferencing (AF4) | o Multimedia Conferencing (AF4) | |||
| o the VOICE-ADMIT codepoint defined in [RFC5865]. | ||||
| CS5 is excluded from this list since PCN is not expected to be | CS5 is excluded from this list since PCN is not expected to be | |||
| applied to signalling traffic. PCN can also be applied to the VOICE- | applied to signalling traffic. | |||
| ADMIT codepoint defined in [RFC5865]. | ||||
| PCN-marking is intended to provide a scalable admission-control | PCN-marking is intended to provide a scalable admission-control | |||
| mechanism for traffic with a high degree of statistical multiplexing. | mechanism for traffic with a high degree of statistical multiplexing. | |||
| PCN-marking would therefore be appropriate to apply to traffic in the | PCN-marking would therefore be appropriate to apply to traffic in the | |||
| above classes, but only within a PCN-domain containing sufficiently | above classes, but only within a PCN-domain containing sufficiently | |||
| aggregated traffic. In such cases, the above service classes may | aggregated traffic. In such cases, the above service classes may | |||
| well all be subject to a single forwarding treatment (treatment | well all be subject to a single forwarding treatment (treatment | |||
| aggregate [RFC5127]). However, this does not imply all such IP | aggregate [RFC5127]). However, this does not imply all such IP | |||
| traffic would necessarily be identified by one DSCP -- each service | traffic would necessarily be identified by one DSCP -- each service | |||
| class might keep a distinct DSCP within the highly aggregated region | class might keep a distinct DSCP within the highly aggregated region | |||
| skipping to change at page 18, line 19 | skipping to change at page 19, line 6 | |||
| The PCN encoding described in this document re-uses the bits of the | The PCN encoding described in this document re-uses the bits of the | |||
| ECN field in the IP header. Consequently, this disables ECN within | ECN field in the IP header. Consequently, this disables ECN within | |||
| the PCN domain. Appendix B of [RFC5696] (obsoleted) included advice | the PCN domain. Appendix B of [RFC5696] (obsoleted) included advice | |||
| on handling ECN traffic within a PCN-domain. This appendix | on handling ECN traffic within a PCN-domain. This appendix | |||
| reiterates and clarifies that advice. | reiterates and clarifies that advice. | |||
| For the purposes of this appendix we define two forms of traffic that | For the purposes of this appendix we define two forms of traffic that | |||
| might arrive at a PCN-ingress node. These are Admission-controlled | might arrive at a PCN-ingress node. These are Admission-controlled | |||
| traffic and Non-admission-controlled traffic. | traffic and Non-admission-controlled traffic. | |||
| Admission-controlled traffic will be remarked to a PCN-compatible | Admission-controlled traffic will be re-marked to a PCN-compatible | |||
| DSCP by the PCN-ingress node. Two mechanisms can be used to identify | DSCP by the PCN-ingress node. Two mechanisms can be used to identify | |||
| such traffic: | such traffic: | |||
| a. flow signalling associates a filterspec with a need for admission | a. flow signalling associates a filterspec with a need for admission | |||
| control (e.g. through RSVP or some equivalent message, e.g. from | control (e.g. through RSVP or some equivalent message, e.g. from | |||
| a SIP server to the ingress), and the PCN-ingress remarks traffic | a SIP server to the ingress), and the PCN-ingress re-marks | |||
| matching that filterspec to a PCN-compatible DSCP, as its chosen | traffic matching that filterspec to a PCN-compatible DSCP, as its | |||
| admission control mechanism. | chosen admission control mechanism. | |||
| b. Traffic arrives with a DSCP that implies it requires admission | b. Traffic arrives with a DSCP that implies it requires admission | |||
| control such as VOICE-ADMIT [RFC5865] or Interactive Real-Time, | control such as VOICE-ADMIT [RFC5865] or Interactive Real-Time, | |||
| Broadcast TV when used for video on demand, and Multimedia | Broadcast TV when used for video on demand, and Multimedia | |||
| Conferencing [RFC4594][RFC5865]. | Conferencing [RFC4594][RFC5865] (see Appendix A). | |||
| All other traffic can be thought of as Non-admission-controlled (and | All other traffic can be thought of as Non-admission-controlled (and | |||
| therefore outside the scope of PCN). However such traffic may still | therefore outside the scope of PCN). However such traffic may still | |||
| need to share the same DSCP as the Admission-controlled traffic. | need to share the same DSCP as the Admission-controlled traffic. | |||
| This may be due to policy (for instance if it is high priority voice | This may be due to policy (for instance if it is high priority voice | |||
| traffic), or may be because there is a shortage of local DSCPs. | traffic), or may be because there is a shortage of local DSCPs. | |||
| ECN [RFC3168] is an end-to-end congestion notification mechanism. As | ECN [RFC3168] is an end-to-end congestion notification mechanism. As | |||
| such it is possible that some traffic entering the PCN-domain may | such it is possible that some traffic entering the PCN-domain may | |||
| also be ECN capable. | also be ECN capable. | |||
| Unless specified otherwise, for any of the cases in the list below, | Unless specified otherwise, for any of the cases in the list below, | |||
| an IP-in-IP tunnel can be used to preserve ECN markings across the | an IP-in-IP tunnel can be used to preserve ECN markings across the | |||
| PCN domain. However the tunnelling action should be applied wholly | PCN domain. The tunnelling action should be applied wholly outside | |||
| outside the PCN-domain as illustrated in the following figure: | the PCN-domain as illustrated in the following figure: | |||
| , . . . . . PCN-domain . . . . . . | , . . . . . PCN-domain . . . . . . | |||
| . ,--------. ,--------. . | . ,--------. ,--------. . | |||
| . _| PCN- |___________________| PCN- |_ . | . _| PCN- |___________________| PCN- |_ . | |||
| . / | ingress | | egress | \ . | . / | ingress | | egress | \ . | |||
| .| '---------' '--------' |. | .| '---------' '--------' |. | |||
| | . . . . . . . . . . . . . . .| | | . . . . . . . . . . . . . . .| | |||
| ,--------. ,--------. | ,--------. ,--------. | |||
| _____| Tunnel | | Tunnel |____ | _____| Tunnel | | Tunnel |____ | |||
| | Ingress | - - ECN preserved inside tunnel - - | Egress | | | Ingress | - - ECN preserved inside tunnel - - | Egress | | |||
| '---------' '--------' | '---------' '--------' | |||
| Figure 2: Separation of tunneling and PCN actions | Figure 2: Separation of tunneling and PCN actions | |||
| There are four cases for how e2e ECN traffic may wish to be treated | There are three cases for how e2e ECN traffic may wish to be treated | |||
| while crossing a PCN domain: | while crossing a PCN domain: | |||
| ECN capable traffic that does not require admission control and does | a) Does not require admission control: | |||
| not carry a DSCP that the PCN-ingress is using for PCN-capable | ||||
| traffic. This requires no action. | ||||
| ECN capable traffic that does not require admission control but | * Does not carry a PCN-compatible DSCP: No action required. | |||
| carries a DSCP that the PCN-ingress is using for PCN-capable | ||||
| traffic. There are two options. | ||||
| * The ingress maps the DSCP to a local DSCP with the same | * Arrives carrying a DSCP that uses the same codepoint as a PCN- | |||
| scheduling PHB as the original DSCP, and the egress re-maps it | compatible DSCP: There are two options: | |||
| to the original PCN-compatible DSCP. | ||||
| * The ingress tunnels the traffic, setting not-PCN in the outer | 1. The ingress maps the DSCP to a local DSCP with the same | |||
| header; note that this turns off ECN for this traffic within | scheduling PHB as the original DSCP, and the egress re-maps | |||
| the PCN domain. | it to the original PCN-compatible DSCP. | |||
| The first option is recommended unless the operator is short of | 2. The ingress tunnels the traffic, setting not-PCN in the | |||
| local DSCPs. | outer header; note that this turns off ECN for this traffic | |||
| within the PCN domain. | ||||
| ECN-capable Admission-controlled traffic: There are two options. | The first option is recommended unless the operator is short of | |||
| local DSCPs. | ||||
| b) Requires Admission-control: There are two options. | ||||
| * The PCN-ingress places this traffic in a tunnel with a PCN- | * The PCN-ingress places this traffic in a tunnel with a PCN- | |||
| compatible DSCP in the outer header. The PCN-egress zeroes the | compatible DSCP in the outer header. The PCN-egress zeroes the | |||
| ECN-field before decapsulation. | ECN-field before decapsulation. | |||
| * The PCN-ingress drops CE-marked packets and the PCN-egress | * The PCN-ingress drops CE-marked packets and the PCN-egress | |||
| zeros the ECN field of all PCN packets. | zeros the ECN field of all PCN packets. | |||
| The second option is emphatically not recommended, unless perhaps | The second option is emphatically not recommended, unless perhaps | |||
| as a last resort if tunnelling is not possible for some | as a last resort if tunnelling is not possible for some | |||
| insurmountable reason. | insurmountable reason. | |||
| ECN-capable Admission-controlled traffic where the e2e transport | c) Requires Admission Control and asks to see PCN marks: NOTE this | |||
| somehow indicates that it wants to see PCN marks: NOTE this is | scheme is currently only a tentative idea. | |||
| currently tentative only. | ||||
| Schemes have been suggested where PCN marks may be leaked out of | For real-time data generated by an adaptive codec, schemes have | |||
| the PCN-domain and used by the end hosts to modify realtime data | been suggested [I-D.sarker-pcn-ecn-pcn-usecases] where PCN marks | |||
| rates. Currently all such schemes require further study and the | may be leaked out of the PCN-domain so that end hosts can drop to | |||
| following is for guidance only. | a lower data rate, thus deferring the need for admission control. | |||
| Currently such schemes require further study and the following is | ||||
| for guidance only. | ||||
| The PCN-ingress needs to tunnel the traffic, taking care to comply | The PCN-ingress needs to tunnel the traffic as in Figure 2, taking | |||
| with [RFC6040]. In this case the PCN-egress should not zero the | care to comply with [RFC6040]. In this case the PCN-egress should | |||
| ECN field, and then the [RFC6040] tunnel egress will preserve any | not zero the ECN field, and then the [RFC6040] tunnel egress will | |||
| PCN-marking. Note that a PCN interior node may turn ECT(0) into | preserve any PCN-marking. Note that a PCN interior node may turn | |||
| ECT(1), which would not be compatible with the (currently | ECT(0) into ECT(1), which would not be compatible with the | |||
| experimental) ECN nonce [RFC3540]. | (currently experimental) ECN nonce [RFC3540]. | |||
| Appendix C. Example Mapping between Encoding of PCN-Marks in IP and in | Appendix C. Example Mapping between Encoding of PCN-Marks in IP and in | |||
| MPLS Shim Headers | MPLS Shim Headers | |||
| This appendix is informative not normative. | This appendix is informative not normative. | |||
| The 6 bits of the DS field in the IP header provide for 64 | The 6 bits of the DS field in the IP header provide for 64 | |||
| codepoints. When encapsulating IP traffic in MPLS, it is useful to | codepoints. When encapsulating IP traffic in MPLS, it is useful to | |||
| make the DS field information accessible in the MPLS header. | make the DS field information accessible in the MPLS header. | |||
| However, the MPLS shim header has only a 3-bit traffic class (TC) | However, the MPLS shim header has only a 3-bit traffic class (TC) | |||
| field [RFC5462] providing for 8 codepoints. The operator has the | field [RFC5462] providing for 8 codepoints. The operator has the | |||
| freedom to define a site-local mapping of a subset of the 64 | freedom to define a site-local mapping of the 64 codepoints of the DS | |||
| codepoints of the DS field to the 8 codepoints in the TC field. | field onto the 8 codepoints in the TC field. | |||
| [RFC5129] describes how ECN markings in the IP header can also be | [RFC5129] describes how ECN markings in the IP header can also be | |||
| mapped to codepoints in the MPLS TC field. Appendix A of [RFC5129] | mapped to codepoints in the MPLS TC field. Appendix A of [RFC5129] | |||
| gives an informative description of how to support PCN in MPLS by | gives an informative description of how to support PCN in MPLS by | |||
| extending the way MPLS supports ECN. But [RFC5129] was written while | extending the way MPLS supports ECN. But [RFC5129] was written while | |||
| PCN specifications were in early draft stages. The following | PCN specifications were in early draft stages. The following | |||
| provides a clearer example of a mapping between PCN in IP and in MPLS | provides a clearer example of a mapping between PCN in IP and in MPLS | |||
| using the PCN terminology and concepts that have since been | using the PCN terminology and concepts that have since been | |||
| specified. | specified. | |||
| To support PCN in a MPLS domain, codepoints for all used PCN-marks | To support PCN in a MPLS domain, a PCN-compatible DSCP ('DSCP n') | |||
| need to be provided in the TC field. That means, when e.g. only | needs codepoints to be provided in the TC field for all the PCN-marks | |||
| excess-traffic-marking is used for PCN purposes, the operator needs | used. That means, when for instance only excess-traffic-marking is | |||
| to define a site-local mapping to codepoints in the MPLS TC field for | used for PCN purposes, the operator needs to define a site-local | |||
| IP headers with: | mapping to two codepoints in the MPLS TC field for IP headers with: | |||
| o DSCP n and ECT(0) | o DSCP n and ECT(0) | |||
| o DSCP n and CE | o DSCP n and CE | |||
| If both excess-traffic-marking and threshold-marking are used, the | If both excess-traffic-marking and threshold-marking are used, the | |||
| operator needs to define a site-local mapping to codepoints in the | operator needs to define a site-local mapping to codepoints in the | |||
| MPLS TC field for IP headers with all three of the 3-in-1 codepoints: | MPLS TC field for IP headers with all three of the 3-in-1 codepoints: | |||
| o DSCP n and ECT(0) | o DSCP n and ECT(0) | |||
| skipping to change at page 21, line 26 | skipping to change at page 22, line 7 | |||
| o DSCP n and CE | o DSCP n and CE | |||
| In either case, if the operator wishes to support the same Diffserv | In either case, if the operator wishes to support the same Diffserv | |||
| PHB but without PCN marking, it will also be necessary to define a | PHB but without PCN marking, it will also be necessary to define a | |||
| site-local mapping to an MPLS TC codepoint for IP headers marked | site-local mapping to an MPLS TC codepoint for IP headers marked | |||
| with: | with: | |||
| o DSCP n and Not-ECT | o DSCP n and Not-ECT | |||
| Appendix D. Rationale for different behaviours for single marking | Clearly, given so few TC codepoints are available, it may be | |||
| schemes | necessary to compromise by merging together some capabilities. | |||
| Readers may notice an apparent discrepancy between the two single | Appendix D. Rationale for Discrepancy Between the Schemes using One | |||
| marking behaviours in Section 5.2.3.1 and Section 5.2.3.2. For the | PCN-Marking | |||
| excess-traffic only marking an unexpected ThM marked packet is | ||||
| remarked as ETM. For the threshold only marking, an unexpected ETM | ||||
| marked packet is simply ignored (apart from an optional management | ||||
| alarm). | ||||
| There are two reasons for having these seemingly contradictory | Readers may notice an apparent discrepancy between the two behaviours | |||
| requirements. Firstly these behaviours conform with the expected | in Section 5.2.3.1 and Section 5.2.3.2. With only excess-traffic | |||
| behaviour where both metering functions are being used for marking-- | marking enabled, an unexpected ThM packet can be re-marked to ETM. | |||
| ETM is always a more severe marking than ThM and so should never be | However, with only threshold marking, an unexpected ETM packet cannot | |||
| re-marked. Secondly the threshold-metering behaviour in [RFC5670] | be re-marked to ThM. | |||
| uses the current marking state of the arriving packet to determine | ||||
| what action to take. Consequently, in the ETM only marking it would | This apparent inconsistency is deliberate, for two reasons: | |||
| be potentially unsafe to allow ThM packets to propagate forward in | ||||
| the network as they may adversely affect the threshold-metering | o If only one type of marking function is meant to be used | |||
| function. | throughout the PCN-domain but the other type unexpectedly appears | |||
| on some packets, it is safest to assume that some link is trying | ||||
| to signal that it is pre-congested, but that it is somehow using | ||||
| the wrong signal. This only needs to be corrected if the | ||||
| behaviour of other nodes depends on the marking a packet arrives | ||||
| with. In [RFC5670], the excess-traffic-metering behaviour depends | ||||
| on the markings on arriving packets, whereas threshold-metering | ||||
| does not. Therefore, if ThM should not be present, it seems safe | ||||
| to allow it to be re-marked to ETM, but if ETM should not be | ||||
| present there is no need to re-mark it to ThM. | ||||
| o The behaviour with only threshold marking keeps to the rule that | ||||
| ETM is more severe and must never be changed to ThM even though | ||||
| ETM is not a valid marking in this case. Otherwise | ||||
| implementations would have to allow operators to configure an | ||||
| exception to this rule, which would not be safe practice. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Bob Briscoe | Bob Briscoe | |||
| BT | BT | |||
| B54/77, Adastral Park | B54/77, Adastral Park | |||
| Martlesham Heath | Martlesham Heath | |||
| Ipswich IP5 3RE | Ipswich IP5 3RE | |||
| UK | UK | |||
| End of changes. 44 change blocks. | ||||
| 115 lines changed or deleted | 159 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||