draft-ietf-pcn-3-in-1-encoding-02.txt | draft-ietf-pcn-3-in-1-encoding-03.txt | |||
---|---|---|---|---|
Congestion and Pre-Congestion B. Briscoe | Congestion and Pre-Congestion B. Briscoe | |||
Notification T. Moncaster | Notification BT | |||
Internet-Draft BT | Internet-Draft T. Moncaster | |||
Intended status: Experimental March 08, 2010 | Intended status: Experimental Independent | |||
Expires: September 9, 2010 | Expires: January 13, 2011 M. Menth | |||
University of Wuerzburg | ||||
July 12, 2010 | ||||
PCN 3-State Encoding Extension in a single DSCP | Encoding 3 PCN-States in the IP header using a single DSCP | |||
draft-ietf-pcn-3-in-1-encoding-02 | draft-ietf-pcn-3-in-1-encoding-03 | |||
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 | On every link in the PCN domain, the overall rate of the PCN-traffic | |||
PCN-domain, and PCN-packets are appropriately marked when certain | is metered, and PCN-packets are appropriately marked when certain | |||
configured rates are exceeded. The level of marking allows the | configured rates are exceeded. Egress nodes provide decision points | |||
boundary nodes to make decisions about whether to admit or block a | with information about the PCN-marks of PCN-packets which allows them | |||
new flow request, and (in abnormal circumstances) whether to | to take decisions about whether to admit or block a new flow request, | |||
terminate some of the existing flows, thereby protecting the QoS of | and to terminate some already admitted flows during serious pre- | |||
previously admitted flows. This document specifies how such marks | congestion. | |||
are to be encoded into the IP header by re-using the Explicit | ||||
Congestion Notification (ECN) codepoints within this controlled | This document specifies how PCN-marks are to be encoded into the IP | |||
domain. This encoding builds on the baseline encoding and provides | header by re-using the Explicit Congestion Notification (ECN) | |||
for three PCN encoding states: Not-marked, Threshold-marked and | codepoints within a PCN-domain. This encoding builds on the baseline | |||
Excess-traffic-marked. | encoding of RFC5696 and provides for three different PCN marking | |||
states using a single DSCP: not-marked (NM), threshold-marked (ThM) | ||||
and excess-traffic-marked (ETM). Hence, it is called the 3-in-1 PCN | ||||
encoding. | ||||
Status of this Memo | Status of this Memo | |||
This Internet-Draft is submitted to IETF in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF). Note that other groups may also distribute | |||
other groups may also distribute working documents as Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts. | 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." | |||
The list of current Internet-Drafts can be accessed at | This Internet-Draft will expire on January 13, 2011. | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | ||||
The list of Internet-Draft Shadow Directories can be accessed at | ||||
http://www.ietf.org/shadow.html. | ||||
This Internet-Draft will expire on September 9, 2010. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2010 IETF Trust and the persons identified as the | Copyright (c) 2010 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 | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the BSD License. | described in the Simplified BSD License. | |||
Table of Contents | ||||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | ||||
1.1. Changes in This Version (to be removed by RFC Editor) . . 4 | ||||
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 5 | ||||
2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5 | ||||
3. Requirements for and Applicability of 3-in-1 PCN Encoding . . 5 | ||||
3.1. PCN Requirements . . . . . . . . . . . . . . . . . . . . . 5 | ||||
3.2. Requirements Imposed by Baseline Encoding . . . . . . . . 6 | ||||
3.3. Applicability of 3-in-1 PCN Encoding . . . . . . . . . . . 6 | ||||
4. Definition of 3-in-1 PCN Encoding . . . . . . . . . . . . . . 7 | ||||
5. Behaviour of a PCN Node Compliant with the 3-in-1 PCN | ||||
Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | ||||
6. Backward Compatibility . . . . . . . . . . . . . . . . . . . . 8 | ||||
6.1. Backward Compatibility with Pre-existing PCN | ||||
Implementations . . . . . . . . . . . . . . . . . . . . . 8 | ||||
6.2. Recommendations for the Use of PCN Encoding Schemes . . . 9 | ||||
6.2.1. Use of Both Excess-Traffic-Marking and | ||||
Threshold-Marking . . . . . . . . . . . . . . . . . . 9 | ||||
6.2.2. Unique Use of Excess-Traffic-Marking . . . . . . . . . 9 | ||||
6.2.3. Unique Use of Threshold-Marking . . . . . . . . . . . 9 | ||||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | ||||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | ||||
9. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 10 | ||||
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 | ||||
11. Comments Solicited . . . . . . . . . . . . . . . . . . . . . . 10 | ||||
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | ||||
12.1. Normative References . . . . . . . . . . . . . . . . . . . 11 | ||||
12.2. Informative References . . . . . . . . . . . . . . . . . . 11 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12 | ||||
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 (in abnormal circumstances) flow | block a new flow request, and flow termination to decide whether to | |||
termination to decide whether to terminate some of the existing | terminate some already admitted flows during serious pre-congestion. | |||
flows. To achieve this, the overall rate of PCN-traffic is metered | To achieve this, the overall rate of PCN-traffic is metered on every | |||
on every link in the domain, and PCN-packets are appropriately marked | link in the domain, and PCN-packets are appropriately marked when | |||
when certain configured rates are exceeded. These configured rates | certain configured rates are exceeded. These configured rates are | |||
are below the rate of the link thus providing notification to | below the rate of the link thus providing notification to boundary | |||
boundary nodes about overloads before any congestion occurs (hence | nodes about overloads before any congestion occurs (hence "pre- | |||
"pre-congestion notification"). | congestion notification"). | |||
The level of marking allows boundary nodes to make decisions about | Two metering and marking functions are proposed in [RFC5670] that are | |||
whether to admit or terminate. This is achieved by marking packets | configured with reference rates. Threshold- marking marks all PCN | |||
on interior nodes according to some metering function implemented at | packets once their traffic rate on a link exceeds the configured | |||
each node. Threshold-traffic-marking marks all PCN packets once they | reference rate (PCN-threshold-rate). Excess-traffic-marking marks | |||
exceed the threshold-traffic-rate on a link while Excess-traffic- | only those PCN packets that exceed the configured reference rate | |||
marking marks only those PCN packets that exceed the excess-traffic- | (PCN-excess-rate). The PCN-excess-rate is typically larger than the | |||
rate, which is higher than the threshold-traffic-rate [RFC5670]. | PCN-threshold-rate [RFC5559]. Egress nodes monitor the PCN-marks of | |||
These marks are monitored by the egress nodes of the PCN domain. | received PCN-packets and provide information about the PCN-marks to | |||
decision points which take decisions about flow admission and | ||||
termination on this basis [I-D.ietf-pcn-cl-edge-behaviour], | ||||
[I-D.ietf-pcn-sm-edge-behaviour]. | ||||
To fully support these two types of marking, three encoding states | The baseline encoding defined in [RFC5696] describes how two PCN | |||
are needed. The baseline encoding described in [RFC5696] provides | marking states can be encoded using a single Diffserv codepoint. | |||
for deployment scenarios that only require two PCN encoding states | However, to support the application of two different marking | |||
using a single Diffserv codepoint. This document describes an | algorithms in a PCN-domain, for example as required in | |||
experimental extension to the baseline-encoding that adds a third PCN | [I-D.ietf-pcn-cl-edge-behaviour], three PCN marking states are | |||
encoding state in the IP header, still using a single Diffserv | needed. This document describes an extension to the baseline | |||
codepoint. For brevity it will be called the 3-in-1 PCN Encoding. | encoding that adds a third PCN marking state in the IP header, still | |||
using a single Diffserv codepoint. This encoding scheme is called | ||||
ao˛3-in-1 PCN encodingaoˇ. | ||||
General PCN-related terminology is defined in the PCN architecture | All PCN encoding schemes require an additional marking state to | |||
[RFC5559], and terminology specific to packet encoding is defined in | indicate non-PCN traffic. Therefore, four codepoints are required to | |||
the PCN baseline encoding [RFC5696]. Note that [RFC5696] requires | encode three PCN marking states. | |||
the PCN Working Group to maintain a list of all DSCPs used for PCN | ||||
experiments. | This document only concerns the PCN wire protocol encoding for all IP | |||
headers, whether IPv4 or IPv6. It makes no changes or | ||||
recommendations concerning algorithms for congestion marking or | ||||
congestion response. Other documents define the PCN wire protocol | ||||
for other header types. For example, the MPLS encoding is defined in | ||||
[RFC5129]. Appendix A provides an informative example for a mapping | ||||
between the encodings in IP and in MPLS. | ||||
1.1. Changes in This Version (to be removed by RFC Editor) | 1.1. Changes in This Version (to be removed by RFC Editor) | |||
From draft-ietf-pcn-3-in-1-encoding-02 to -03: | ||||
* Corrected mistakes in introduction and improved overall | ||||
readability. | ||||
* Added new terminology. | ||||
* Rewrote a good part of Section 4 and 5 to achieve more clarity. | ||||
* Added appendix explaining when to use which encoding scheme and | ||||
how to encode them in MPLS shim headers. | ||||
* Added new co-author. | ||||
From draft-ietf-pcn-3-in-1-encoding-01 to -02: | From draft-ietf-pcn-3-in-1-encoding-01 to -02: | |||
* Corrected mistake in introduction, which wrongly stated that | * Corrected mistake in introduction, which wrongly stated that | |||
the threshold-traffic rate is higher than the excess-traffic | the threshold-traffic rate is higher than the excess-traffic | |||
rate. Other minor corrections. | rate. Other minor corrections. | |||
* Updated acks & refs. | * Updated acks & refs. | |||
From draft-ietf-pcn-3-in-1-encoding-00 to -01: | From draft-ietf-pcn-3-in-1-encoding-00 to -01: | |||
skipping to change at page 3, line 47 | skipping to change at page 5, line 9 | |||
* References updated. | * References updated. | |||
* Terminology brought into line with [RFC5670]. | * Terminology brought into line with [RFC5670]. | |||
* Minor corrections. | * Minor corrections. | |||
2. Requirements Language | 2. Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
3. The Requirement for Three PCN Encoding States | 2.1. Terminology | |||
The PCN architecture [RFC5559] describes proposed PCN schemes that | General PCN-related terminology is defined in the PCN architecture | |||
expect traffic to be metered and marked using both Threshold and | [RFC5559], and terminology specific to packet encoding is defined in | |||
Excess Traffic schemes. In order to achieve this it is necessary to | the PCN baseline encoding [RFC5696]. Additional terminology is | |||
allow for three PCN encoding states: one as a Not Marked (NM) state | defined below. | |||
and the other two to distinguish these two levels of marking severity | ||||
[RFC5670]. The way tunnels processed the ECN field before | ||||
[I-D.ietf-tsvwg-ecn-tunnel] severely limited how to encode these | ||||
states. | ||||
The two bit ECN field seems to offer four possible encoding states, | PCN encoding: mapping of PCN marking states to specific codepoints | |||
but one (00) is set aside for traffic controlled by transports that | in the packet header. | |||
do not understand PCN marking [RFC5696], so it would be irregular and | ||||
risky to use it as a PCN encoding state. Of the three remaining ECN | ||||
codepoints, only one (11) can be introduced by a congested node | ||||
within a tunnel and still survive the decapsulation behaviour of a | ||||
tunnel egress not updated to comply with [I-D.ietf-tsvwg-ecn-tunnel]. | ||||
The two remaining codepoints are (10) and (01). But if a node within | ||||
the tunnel used either of these two remaining codepoints to try to | ||||
mark packets with a second severity level, a tunnel not updated to | ||||
comply with [I-D.ietf-tsvwg-ecn-tunnel] would remove this marking on | ||||
decapsulation. The ECN field was constrained to two marking states | ||||
in this way irrespective of which earlier ECN tunnelling | ||||
specification the tunnel complied with, whether regular IP in IP | ||||
tunnelling [RFC3168] or IPsec tunnelling [RFC4301]. | ||||
One way to provide another encoding state that survives tunnelling is | 3. Requirements for and Applicability of 3-in-1 PCN Encoding | |||
to use a second Diffserv codepoint [I-D.ietf-pcn-3-state-encoding]. | ||||
Instead, to avoid wasting scarce Diffserv codepoints, a network | ||||
operator can require tunnels in a PCN region to comply with | ||||
[I-D.ietf-tsvwg-ecn-tunnel], thus removing the constraints imposed by | ||||
earlier tunnelling specifications. | ||||
Therefore this document presupposes tunnels in the PCN region comply | 3.1. PCN Requirements | |||
with the newly proposed decapsulation rules defined in | ||||
[I-D.ietf-tsvwg-ecn-tunnel]. Then the constraints of standard | ||||
tunnels no longer apply so this document can define a 3-state | ||||
encoding for PCN within one Diffserv codepoint. | ||||
4. The 3-in-1 PCN Encoding | The PCN architecture [RFC5559] defines that PCN-ingress-nodes of a | |||
PCN-domain control incoming packets. Packets belonging to PCN- | ||||
controlled flows are subject to PCN metering and marking, they are | ||||
termed PCN-packets, and PCN-ingress-nodes mark them as not-marked | ||||
(PCN-colouring). Any node in the PCN-domain may perform PCN metering | ||||
and marking and mark PCN-packets if needed. There are two different | ||||
metering and marking schemes: threshold-marking and excess-traffic- | ||||
marking [RFC5670]. Some edge behaviors require only a single marking | ||||
scheme [I-D.ietf-pcn-sm-edge-behaviour], others require both | ||||
[I-D.ietf-pcn-cl-edge-behaviour]. In the latter case, three PCN | ||||
marking states are needed: not-marked (NM) to indicate not-marked | ||||
packets, threshold-marked (ThM) to indicate packets marked by the | ||||
threshold-marker, and excess-traffic-marked (ETM) to indicate packets | ||||
marked by the excess-traffic-marker [RFC5670]. As threshold-marking | ||||
and excess-traffic-marking start marking packets at different load | ||||
conditions, one marking scheme indicates more severe pre-congestion | ||||
than the other in terms of higher load. If a packet has been marked | ||||
by both a threshold-marker and an excess-traffic-marker, it is marked | ||||
with the more severe state. Therefore, a fourth PCN marking state | ||||
indicating that a packet is marked by both markers is not needed. | ||||
The 3-in-1 PCN Encoding scheme is based closely on the baseline | Nonetheless, in addition to codepoints for the three PCN marking | |||
encoding defined in [RFC5696] so that there will be no compatibility | states a fourth codepoint is required to indicate packets that are | |||
issues if a PCN-domain evolves from using the baseline encoding | not PCN-capable (termed the not-PCN codepoint). | |||
scheme to the experimental scheme described here. The exact manner | ||||
in which the PCN encoding states are carried in the IP header is | In all current PCN edge behaviors that use two marking schemes | |||
shown in Figure 1. | [RFC5559], [I-D.ietf-pcn-cl-edge-behaviour], excess-traffic-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 | ||||
severe PCN-mark than threshold-marked. | ||||
3.2. Requirements Imposed by Baseline Encoding | ||||
The baseline encoding scheme [RFC5696] was defined so that it could | ||||
be extended to accommodate an additional marking state. It provides | ||||
rules to embed the encoding of two PCN states in the IP header. | ||||
Figure 1 shows the structure of the former type-of-service field. It | ||||
contains the 6-bit Differentiated Services (DS) field that holds the | ||||
DS codepoint (DSCP) [RFC2474] and the 2-bit ECN field [RFC3168]. | ||||
0 1 2 3 4 5 6 7 | ||||
+-----+-----+-----+-----+-----+-----+-----+-----+ | ||||
| DS FIELD | ECN FIELD | | ||||
+-----+-----+-----+-----+-----+-----+-----+-----+ | ||||
Figure 1: Structure of the former type-of-service field in IP | ||||
Baseline encoding defines that the DSCP must be set to a PCN- | ||||
compatible DSCP n and the ECN-field [RFC3168] indicates the specific | ||||
PCN-mark. Baseline encoding offers four possible encoding states | ||||
within a single DSCP with the following restrictions. | ||||
o Codepoint `00' (not-ECT) is used to indicate non-PCN traffic as | ||||
"not-PCN". This allows the use of a DSCP for both PCN and non-PCN | ||||
traffic. | ||||
o Codepoint `10' (ECT(0)) is used to indicate Not-marked PCN | ||||
traffic. | ||||
o Codepoint `11' (CE) is used to indicate the most severe PCN-mark. | ||||
o Codepoint `01' (ECT(1)) is available for experimental use and may | ||||
be re-used by other PCN encodings such as the presently defined | ||||
3-in-1 PCN encoding. | ||||
3.3. Applicability of 3-in-1 PCN Encoding | ||||
When PCN traffic is tunneled IP-in-IP within a PCN-domain, PCN-marks | ||||
must be preserved in all outer IP headers after encapsulation and | ||||
decapsulation. This property is violated by legacy encapsulation and | ||||
decapsulation rules [RFC3168], [RFC4301] due to the way they treat | ||||
the ECN field. This led to strong limitations regarding how PCN- | ||||
marks can be encoded using the ECN field of the IP header | ||||
[I-D.ietf-pcn-encoding-comparison]. Therefore, baseline encoding | ||||
[RFC5696] was defined which works well with legacy tunnels but | ||||
supports only two PCN marking states. | ||||
Since then, new rules have been defined for IP-in-IP tunneling | ||||
[I-D.ietf-tsvwg-ecn-tunnel] so that the present 3-in-1 PCN encoding | ||||
has more freedom to accommodate PCN-marks using the ECN field. From | ||||
this follows that 3-in-1 PCN encoding may be applied only in PCN- | ||||
domains that comply with [I-D.ietf-tsvwg-ecn-tunnel] or do not use | ||||
tunneling. | ||||
4. Definition of 3-in-1 PCN Encoding | ||||
The 3-in-1 PCN encoding scheme is an extension of the baseline | ||||
encoding scheme defined in [RFC5696]. The PCN requirements and the | ||||
extension rules for baseline encoding presented in the previous | ||||
section determine how PCN encoding states are carried in the IP | ||||
headers. This is shown in Figure 2. | ||||
+--------+----------------------------------------------------+ | +--------+----------------------------------------------------+ | |||
| | 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 2: 3-in-1 PCN Encoding | |||
In Figure 1 the 3 PCN states are encoded in the ECN field [RFC3168] | ||||
of an IP packet with its Diffserv field [RFC2474] set to DSCP n, | ||||
which is any PCN-Compatible DiffServ codepoint as defined in Section | ||||
4.2 of the PCN baseline encoding [RFC5696]). The PCN codepoint of a | ||||
packet defines its marking state as follows: | ||||
Not-PCN: The packet is controlled by a transport that does not | Like baseline encoding, 3-in-1 PCN encoding also uses a PCN | |||
understand PCN marking, therefore the only valid action to notify | compatible DSCP n and the ECN field for the encoding of PCN-marks. | |||
congestion is to drop the packet; | The PCN-marks have the following meaning. | |||
NM: Not marked. A packet in the NM state has not (yet) had its | Not-PCN: indicates a non-PCN-packet, i.e., a packet that is not | |||
marking state changed to the ThM or ETM states, but it may be | subject to PCN metering and marking. | |||
changed to one of these states by a node experiencing congestion | ||||
or pre-congestion; | ||||
ThM: Threshold-marked. Such a packet has had its marking state | NM: Not-marked. Indicates a PCN-packet that has not yet been marked | |||
changed by the threshold-meter function [RFC5670]; | by any PCN marker. | |||
ETM: Excess-traffic-marked. Such a packet has had its marking state | ThM: Threshold-marked. Indicates a PCN-packet that has been marked | |||
changed by the excess-traffic-meter function [RFC5670]. | by a threshold-marker [RFC5670]. | |||
Packets marked NM, ThM or ETM are termed PCN-packets. Their entry | ETM: Excess-traffic-marked. Indicates a PCN-packet that has been | |||
into the pcn-domain is controlled by edge nodes that understand how | marked by an excess-traffic-marker [RFC5670]. | |||
to process PCN markings [RFC5559]. | ||||
5. Behaviour of a PCN Node Compliant with the 3-in-1 PCN Encoding | 5. Behaviour of a PCN Node Compliant with the 3-in-1 PCN Encoding | |||
To be compliant with the 3-in-1 PCN Encoding, an PCN interior node | To be compliant with the 3-in-1 PCN Encoding, an PCN interior node | |||
behaves as follows: | behaves as follows: | |||
o Except where explicitly stated otherwise, it MUST comply with the | ||||
baseline encoding specified in [RFC5696] | ||||
o It MUST change NM to ThM if the threshold-meter function indicates | o It MUST change NM to ThM if the threshold-meter function indicates | |||
to mark the packet. | to mark the packet. | |||
o It MUST change NM or ThM to ETM if the excess-traffic-meter | o It MUST change NM or ThM to ETM if the excess-traffic-meter | |||
function indicates to mark the packet. | function indicates to mark the packet. | |||
o It MUST NOT change Not-PCN to a PCN-Enabled codepoint and MUST NOT | o It MUST NOT change not-PCN to NM, ThM, or ETM, and MUST NOT change | |||
change a PCN-Enabled codepoint to Not-PCN; | a NM, ThM, or ETM to not-PCN; | |||
o It MUST NOT change ThM to NM; | o It MUST NOT change ThM to NM; | |||
o It MUST NOT change ETM to ThM or to NM; | o It MUST NOT change ETM to ThM or to NM; | |||
In other words, a PCN interior node may increase the severity of | In other words, a PCN interior node MUST NOT mark PCN-packets into | |||
packet marking but it MUST NOT decrease it, where the order of | non-PCN packets and vice-versa, and it may increase the severity of | |||
severity increases from NM through ThM to ETM. | the PCN-mark of a PCN-packet, but it MUST NOT decrease it. | |||
6. IANA Considerations | 6. Backward Compatibility | |||
Discussion of backward compatibility between PCN encoding schemes and | ||||
previous uses of the ECN field is given in Section 6 of [RFC5696]. | ||||
6.1. Backward Compatibility with Pre-existing PCN Implementations | ||||
This encoding complies with the rules for extending the baseline PCN | ||||
encoding schemes in Section 5 of [RFC5696]. | ||||
The term "compatibility" is meant in the following sense. It is | ||||
possible to operate nodes with baseline encoding [RFC5696] and 3-in-1 | ||||
encoding in the same PCN domain. The nodes with baseline encoding | ||||
MUST perform excess-traffic-marking because the 11 codepoint of | ||||
3-in-1 encoding also means excess-traffic-marked. PCN-boundary-nodes | ||||
of such domains are required to interpret the full 3-in-1 encoding | ||||
and not just baseline encoding, otherwise they cannot interpret the | ||||
01 codepoint. | ||||
Using nodes that perform only excess-traffic-marking may make sense | ||||
in networks using the CL edge behavior | ||||
[I-D.ietf-pcn-cl-edge-behaviour]. Such nodes are able to notify the | ||||
egress only about severe pre-congestion when traffic needs to be | ||||
terminated. This seems reasonable for locations that are not | ||||
expected to see any pre-congestion, but excess-traffic-marking gives | ||||
them a means to terminate traffic if unexpected overload still | ||||
occurs. | ||||
6.2. Recommendations for the Use of PCN Encoding Schemes | ||||
This sub-section is informative not normative. | ||||
+------------------------+------------------------------------+ | ||||
| Used marking schemes | Recommended PCN encoding scheme | | ||||
+------------------------+------------------------------------+ | ||||
| Only threshold-marking | Baseline encoding [RFC5696] | | ||||
+------------------------+------------------------------------+ | ||||
| Only excess-traffic- | Baseline encoding [RFC5696] | | ||||
| marking | or 3-in-1 PCN encoding | | ||||
+------------------------+------------------------------------+ | ||||
| Threshold-marking and | 3-in-1 PCN encoding | | ||||
| excess-traffic-marking | | | ||||
+------------------------+------------------------------------+ | ||||
Figure 3: Use of PCN encoding schemes | ||||
Figure 3 gives guidelines under which conditions baseline encoding | ||||
and 3-in-1 PCN encoding would typically be used. | ||||
6.2.1. Use of Both Excess-Traffic-Marking and Threshold-Marking | ||||
If both excess-traffic-marking and threshold-marking are enabled in a | ||||
PCN-domain, 3-in-1 encoding should be used as described in this | ||||
document. | ||||
6.2.2. Unique Use of Excess-Traffic-Marking | ||||
If only excess-traffic-marking is enabled in a PCN-domain, baseline | ||||
encoding or 3-in-1 encoding may be used. They lead to the same | ||||
encoding because PCN-boundary nodes will interpret baseline "PCN- | ||||
marked (PM)" as "excess-traffic-marked (ETM)". | ||||
6.2.3. Unique Use of Threshold-Marking | ||||
No scheme is currently proposed to solely use threshold-marking. | ||||
However, if only threshold-marking is enabled in a PCN-domain, | ||||
baseline encoding SHOULD be used. This is because threshold marking | ||||
will work in combination with legacy tunnel decapsulators within the | ||||
PCN-domain, while using threshold marking with the 3-in-1 encoding | ||||
requires that tunnel decapsulators within a PCN-domain comply with | ||||
[I-D.ietf-tsvwg-ecn-tunnel]. | ||||
7. IANA Considerations | ||||
This memo includes no request to IANA. | This memo includes no request to IANA. | |||
Note to RFC Editor: this section may be removed on publication as an | Note to RFC Editor: this section may be removed on publication as an | |||
RFC. | RFC. | |||
7. Security Considerations | 8. Security Considerations | |||
The security concerns relating to this extended PCN encoding are the | The security concerns relating to this extended PCN encoding are the | |||
same as those in [RFC5696]. | same as those in [RFC5696]. In summary, PCN-boundary nodes are | |||
responsible for ensuring inappropriate PCN markings do not leak into | ||||
or out of a PCN domain, and the current phase of the PCN architecture | ||||
assumes that all the nodes of a PCN-domain are entirely under the | ||||
control of a single operator, or a set of operators who trust each | ||||
other. | ||||
8. Conclusions | Given the only difference between the baseline encoding and the | |||
present 3-in-1 encoding is the use of the 01 codepoint, no new | ||||
security issues are raised, as this codepoint was already available | ||||
for experimental use in the baseline encoding. | ||||
The 3-in-1 PCN Encoding provides three states to encode PCN markings | 9. Conclusions | |||
in the ECN field of an IP packet using just one Diffserv codepoint. | ||||
One state is for not marked packets while the two others are for PCN | ||||
nodes to mark packets with increasing levels of severity. Use of | ||||
this encoding presupposes that any tunnels in the PCN region have | ||||
been updated to comply with [I-D.ietf-tsvwg-ecn-tunnel]. | ||||
9. Acknowledgements | The 3-in-1 PCN encoding uses a PCN-compatible DSCP and the ECN field | |||
to encode PCN-marks. One codepoint allows non-PCN traffic to be | ||||
carried with the same PCN-compatible DSCP and three other codepoints | ||||
support three PCN marking states with different levels of severity. | ||||
The use of this PCN encoding scheme presupposes that any tunnels in | ||||
the PCN region have been updated to comply with | ||||
[I-D.ietf-tsvwg-ecn-tunnel]. | ||||
Thanks to Phil Eardley, Teco Boot, Kwok Ho Chan and Michael Menth for | 10. Acknowledgements | |||
reviewing this. | ||||
10. Comments Solicited | Thanks to Phil Eardley, Teco Boot, and Kwok Ho Chan for reviewing | |||
this document. | ||||
11. Comments Solicited | ||||
To be removed by RFC Editor: Comments and questions are encouraged | To be removed by RFC Editor: Comments and questions are encouraged | |||
and very welcome. They can be addressed to the IETF Congestion and | and very welcome. They can be addressed to the IETF Congestion and | |||
Pre-Congestion working group mailing list <pcn@ietf.org>, and/or to | Pre-Congestion working group mailing list <pcn@ietf.org>, and/or to | |||
the authors. | the authors. | |||
11. References | 12. References | |||
12.1. Normative References | ||||
11.1. Normative References | ||||
[I-D.ietf-tsvwg-ecn-tunnel] | ||||
Briscoe, B., "Tunnelling of Explicit Congestion | ||||
Notification", draft-ietf-tsvwg-ecn-tunnel-08 (work in | ||||
progress), March 2010. | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, | [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, | |||
"Definition of the Differentiated Services Field (DS | "Definition of the Differentiated Services Field (DS | |||
Field) in the IPv4 and IPv6 Headers", RFC 2474, | Field) in the IPv4 and IPv6 Headers", RFC 2474, | |||
December 1998. | December 1998. | |||
[RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition | [RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition | |||
of Explicit Congestion Notification (ECN) to IP", | of Explicit Congestion Notification (ECN) to IP", | |||
RFC 3168, September 2001. | RFC 3168, September 2001. | |||
[RFC4301] Kent, S. and K. Seo, "Security Architecture for the | ||||
Internet Protocol", RFC 4301, December 2005. | ||||
[RFC5129] Davie, B., Briscoe, B., and J. Tay, "Explicit Congestion | ||||
Marking in MPLS", RFC 5129, January 2008. | ||||
[RFC5559] Eardley, P., "Pre-Congestion Notification (PCN) | [RFC5559] Eardley, P., "Pre-Congestion Notification (PCN) | |||
Architecture", RFC 5559, June 2009. | Architecture", RFC 5559, June 2009. | |||
[RFC5670] Eardley, P., "Metering and Marking Behaviour of PCN- | [RFC5670] Eardley, P., "Metering and Marking Behaviour of PCN- | |||
Nodes", RFC 5670, November 2009. | Nodes", RFC 5670, November 2009. | |||
[RFC5696] Moncaster, T., Briscoe, B., and M. Menth, "Baseline | [RFC5696] Moncaster, T., Briscoe, B., and M. Menth, "Baseline | |||
Encoding and Transport of Pre-Congestion Information", | Encoding and Transport of Pre-Congestion Information", | |||
RFC 5696, November 2009. | RFC 5696, November 2009. | |||
11.2. Informative References | 12.2. Informative References | |||
[I-D.ietf-pcn-3-state-encoding] | [I-D.ietf-pcn-cl-edge-behaviour] | |||
Briscoe, B., Moncaster, T., and M. Menth, "A PCN encoding | Charny, A., Huang, F., Karagiannis, G., Menth, M., and T. | |||
using 2 DSCPs to provide 3 or more states", | Taylor, "PCN Boundary Node Behaviour for the Controlled | |||
draft-ietf-pcn-3-state-encoding-01 (work in progress), | Load (CL) Mode of Operation", | |||
February 2010. | draft-ietf-pcn-cl-edge-behaviour-06 (work in progress), | |||
June 2010. | ||||
[RFC4301] Kent, S. and K. Seo, "Security Architecture for the | [I-D.ietf-pcn-encoding-comparison] | |||
Internet Protocol", RFC 4301, December 2005. | Chan, K., Karagiannis, G., Moncaster, T., Menth, M., | |||
Eardley, P., and B. Briscoe, "Pre-Congestion Notification | ||||
Encoding Comparison", | ||||
draft-ietf-pcn-encoding-comparison-02 (work in progress), | ||||
March 2010. | ||||
[I-D.ietf-pcn-sm-edge-behaviour] | ||||
Charny, A., Karagiannis, G., Menth, M., and T. Taylor, | ||||
"PCN Boundary Node Behaviour for the Single Marking (SM) | ||||
Mode of Operation", draft-ietf-pcn-sm-edge-behaviour-03 | ||||
(work in progress), June 2010. | ||||
[I-D.ietf-tsvwg-ecn-tunnel] | ||||
Briscoe, B., "Tunnelling of Explicit Congestion | ||||
Notification", draft-ietf-tsvwg-ecn-tunnel-08 (work in | ||||
progress), March 2010. | ||||
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 | |||
Phone: +44 1473 645196 | Phone: +44 1473 645196 | |||
Email: bob.briscoe@bt.com | Email: bob.briscoe@bt.com | |||
URI: http://bobbriscoe.net/ | URI: http://bobbriscoe.net/ | |||
Toby Moncaster | Toby Moncaster | |||
BT | Independent | |||
c/o B54/70, Adastral Park | ||||
Martlesham Heath | ||||
Ipswich IP5 3RE | ||||
UK | ||||
Phone: +44 1206 332805 | Email: toby@moncaster.com | |||
Email: toby.moncaster@bt.com | ||||
Michael Menth | ||||
University of Wuerzburg | ||||
room B206, Institute of Computer Science | ||||
Am Hubland | ||||
Wuerzburg 97074 | ||||
Germany | ||||
Phone: +49 931 31 86644 | ||||
Email: menth@informatik.uni-wuerzburg.de | ||||
End of changes. 44 change blocks. | ||||
165 lines changed or deleted | 358 lines changed or added | |||
This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |