< 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/ |