< draft-ietf-pcn-3-state-encoding-00.txt   draft-ietf-pcn-3-state-encoding-01.txt >
Congestion and Pre Congestion T. Moncaster Congestion and Pre Congestion B. Briscoe
Internet-Draft BT Internet-Draft BT & UCL
Intended status: Experimental B. Briscoe Intended status: Experimental T. Moncaster
Expires: October 10, 2009 BT & UCL Expires: August 14, 2010 BT
M. Menth M. Menth
University of Wuerzburg University of Wuerzburg
April 8, 2009 February 10, 2010
A PCN encoding using 2 DSCPs to provide 3 or more states A PCN encoding using 2 DSCPs to provide 3 or more states
draft-ietf-pcn-3-state-encoding-00 draft-ietf-pcn-3-state-encoding-01
Abstract
Pre-congestion notification (PCN) is a mechanism designed to protect
the Quality of Service of inelastic flows within a controlled domain.
It does this by marking packets when traffic load on a link is
approaching or has exceeded a threshold below the physical link rate.
This experimental encoding scheme specifies how three encoding states
can be carried in the IP header using a combination of two DSCPs and
the ECN bits. The Basic scheme only allows for three encoding
states. The Full scheme provides 6 states, enough for limited end-
to-end support for ECN as well.
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 to IETF in full conformance with the
provisions of BCP 78 and BCP 79. This document may contain material provisions of BCP 78 and BCP 79.
from IETF Documents or IETF Contributions published or made publicly
available before November 10, 2008. The person(s) controlling the
copyright in some of this material may not have granted the IETF
Trust the right to allow modifications of such material outside the
IETF Standards Process. Without obtaining an adequate license from
the person(s) controlling the copyright in such materials, this
document may not be modified outside the IETF Standards Process, and
derivative works of it may not be created outside the IETF Standards
Process, except to format it for publication as an RFC or to
translate it into languages other than English.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
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 The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on October 10, 2009. This Internet-Draft will expire on August 14, 2010.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the
Copyright (c) 2009 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 in effect on the date of Provisions Relating to IETF Documents
publication of this document (http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
Abstract include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
Pre-congestion notification (PCN) is a mechanism designed to protect described in the BSD License.
the Quality of Service of inelastic flows within a controlled domain.
It does this by marking packets when traffic load on a link is
approaching or has exceeded a threshold below the physical link rate.
This experimental encoding scheme specifies how three encoding states
can be carried in the IP header using a combination of two DSCPs and
the ECN bits. The Basic scheme only allows for three encoding
states. The Full scheme additionally provides limited end-to-end
support for ECN.
Status (to be removed by RFC Editor)
This memo is posted as an Internet-Draft with an intent to eventually
be published as an experimental RFC. The PCN Working Group will be
asked to adopt this memo as a Working Group document describing one
of several possible experimental PCN encoding schemes. The intention
is that the title of this document will change to avoid confusion
with the three state marking scheme.
Changes from previous drafts
From draft-moncaster-pcn-3-state-encoding-01:
o Changed to WG draft. Title changed from "A three state extended
PCN encoding scheme"
o Imposed new structure on document. This structure is intended to
be followed by all extensions to the baseline PCN encoding scheme.
o Extensive changes throughout to ensure consistency with the
baseline PCN encoding scheme.
From 00 to 01:
o Checked terminology for consistency with
[I-D.ietf-pcn-baseline-encoding]
o Minor editorial changes. This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other
than English.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Changes from Previous Drafts (to be removed by the RFC
Editor) . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Requirements notation . . . . . . . . . . . . . . . . . . . . 4 2. Requirements notation . . . . . . . . . . . . . . . . . . . . 4
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. The Requirement for Three PCN Encoding States . . . . . . . . 5 4. The Requirement for Three PCN Encoding States . . . . . . . . 5
5. Adding Limited End-to-End ECN Support to PCN . . . . . . . . . 6 5. Adding Limited End-to-End ECN Support to PCN . . . . . . . . . 5
6. Encoding Three PCN States in IP . . . . . . . . . . . . . . . 6 6. Encoding Three PCN States in IP . . . . . . . . . . . . . . . 6
6.1. Basic Three State Encoding . . . . . . . . . . . . . . . . 7 6.1. Basic Three State Encoding . . . . . . . . . . . . . . . . 6
6.2. Full Three State Encoding . . . . . . . . . . . . . . . . 7 6.2. Full Three State Encoding . . . . . . . . . . . . . . . . 6
6.3. Valid and invalid codepoint transitions at 6.3. Common Diffserv Per-Hop Behaviour . . . . . . . . . . . . 7
PCN-ingress-nodes . . . . . . . . . . . . . . . . . . . . 8
6.4. Valid and invalid codepoint transitions at 6.4. Valid and invalid codepoint transitions at
PCN-ingress-nodes . . . . . . . . . . . . . . . . . . . . 8
6.5. Valid and invalid codepoint transitions at
PCN-interior-nodes . . . . . . . . . . . . . . . . . . . . 8 PCN-interior-nodes . . . . . . . . . . . . . . . . . . . . 8
6.5. Forwarding traffic out of the PCN-domain . . . . . . . . . 9 6.6. Forwarding traffic out of the PCN-domain . . . . . . . . . 9
7. PCN-domain support for the PCN extension encoding . . . . . . 10 7. PCN-domain support for the PCN extension encoding . . . . . . 9
7.1. End-to-End transport behaviour compliant with the PCN 7.1. End-to-End transport behaviour compliant with the PCN
extension encoding . . . . . . . . . . . . . . . . . . . . 10 extension encoding . . . . . . . . . . . . . . . . . . . . 10
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
9. Security Considerations . . . . . . . . . . . . . . . . . . . 11 9. Security Considerations . . . . . . . . . . . . . . . . . . . 10
10. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 11 10. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 11
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11
12. Comments Solicited . . . . . . . . . . . . . . . . . . . . . . 11 12. Comments Solicited . . . . . . . . . . . . . . . . . . . . . . 11
13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
13.1. Normative References . . . . . . . . . . . . . . . . . . . 12 13.1. Normative References . . . . . . . . . . . . . . . . . . . 11
13.2. Informative References . . . . . . . . . . . . . . . . . . 12 13.2. Informative References . . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction 1. Introduction
The objective of Pre-Congestion Notification (PCN) The objective of Pre-Congestion Notification (PCN) [RFC5559] is to
[I-D.ietf-pcn-architecture] is to protect the quality of service protect the quality of service (QoS) of inelastic flows within a
(QoS) of inelastic flows within a Diffserv domain, in a simple, Diffserv domain, in a simple, scalable and robust fashion. The
scalable and robust fashion. The overall rate of the PCN-traffic is overall rate of the PCN-traffic is metered on every link in the PCN-
metered on every link in the PCN-domain, and PCN-packets are domain, and PCN-packets are appropriately marked when certain
appropriately marked when certain configured rates are exceeded. configured rates are exceeded. These configured rates are below the
These configured rates are below the rate of the link thus providing rate of the link thus providing notification before any congestion
notification before any congestion occurs (hence "pre-congestion occurs (hence "pre-congestion notification"). The level of marking
notification"). The level of marking allows the boundary nodes to allows the boundary nodes to make decisions about whether to admit or
make decisions about whether to admit or block a new flow request, block a new flow request, and (in abnormal circumstances) whether to
and (in abnormal circumstances) whether to terminate some of the terminate some of the existing flows, thereby protecting the QoS of
existing flows, thereby protecting the QoS of previously admitted previously admitted flows.
flows.
The baseline encoding described in [I-D.ietf-pcn-baseline-encoding] The baseline encoding described in [RFC5696] provides for deployment
provides for deployment scenarios that only require two PCN encoding scenarios that only require two PCN encoding states. This document
states. This document describes an experimental extension to the describes an experimental extension to the base-encoding in the IP
base-encoding in the IP header that adds two capabilities: header that adds two capabilities:
o the addition of a third PCN encoding state in the IP header o the addition of a third PCN encoding state in the IP header
o preservation of the end-to-end semantics of the ECN field even o preservation of the end-to-end semantics of the ECN field even
though PCN uses the field within a PCN-region that interrupts the though PCN uses the field within a PCN-region that interrupts the
end-to-end path end-to-end path
The second of these capabilities is optional and the reasons for The second of these capabilities is optional and the reasons for
doing it are discussed in Section 5. doing it are discussed in Section 5.
As in the baseline encoding, this extension encoding re-uses the ECN As in the baseline encoding, this extension encoding re-uses the ECN
bits within the IP header within a controlled PCN-domain. This bits within the IP header within a controlled PCN-domain. This
extension requires the use of two DSCPs as described later in this extension requires the use of two DSCPs as described later in this
document. This experimental scheme is one of three that are being document. This experimental scheme is one of three that are being
proposed within the PCN working group. The aim is to allow proposed within the PCN working group. The aim is to allow
implementors to decide which scheme is most suitable for possible implementors to decide which scheme is most suitable for possible
future standardisation. future standardisation.
1.1. Changes from Previous Drafts (to be removed by the RFC Editor)
From draft-ietf-pcn-3-state-encoding-00 to 01:
o Removed text implying the two DSCPs have different priority and
added Section 6.3 specifying they must both have the same PHB.
o Made IANA considerations text more precise.
o Changed variable names for DSCP 1 & DSCP 2 to DSCP n & DSCP m to
be consistent with baseline encoding.
o Updated refs
From draft-moncaster-pcn-3-state-encoding-01 to
draft-ietf-pcn-3-state-encoding-00:
o Changed to WG draft. Title changed from "A three state extended
PCN encoding scheme"
o Imposed new structure on document. This structure is intended to
be followed by all extensions to the baseline PCN encoding scheme.
o Extensive changes throughout to ensure consistency with the
baseline PCN encoding scheme.
From draft-moncaster-pcn-3-state-encoding-00 to 01:
o Checked terminology for consistency with [RFC5696]
o Minor editorial changes.
2. Requirements notation 2. Requirements notation
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].
3. Terminology 3. Terminology
Most of the terminology used in this document is defined either in Most of the terminology used in this document is defined either in
[I-D.ietf-pcn-architecture] or in [I-D.ietf-pcn-baseline-encoding]. [RFC5559] or in [RFC5696]. The following additional terms are
The following additional terms are defined in this document: defined in this document:
o PCN-flow - a flow covered by a reservation but which hasn't o PCN-flow - a flow covered by a reservation but which hasn't
signalled that it requires end-to-end ECN support. signalled that it requires end-to-end ECN support.
o PCN-enabled-ECN-flow - a flow covered by reservation and for which o PCN-enabled-ECN-flow - a flow covered by reservation and for which
the end-to-end transport has explicitly negotiated ECN support the end-to-end transport has explicitly negotiated ECN support
from the PCN-boundary-nodes. from the PCN-boundary-nodes.
o Not-marked (xxx), where xxx represents a standard ECN codepoint - o Not-marked (xxx), where xxx represents a standard ECN codepoint -
packets that are PCN capable but carry no PCN mark. Abbreviated packets that are PCN capable but carry no PCN mark. Abbreviated
as NM(xxx). The (xxx) represents the ECN codepoint that the as NM(xxx). The (xxx) represents the ECN codepoint that the
packet arrived with at the PCN-ingress-node e.g. NM(CE) packet arrived with at the PCN-ingress-node e.g. NM(CE)
represents a PCN capable packet that has no PCN marking but which represents a PCN capable packet that has no PCN marking but which
arrived with the ECN bits set to congestion experienced. arrived with the ECN bits set to congestion experienced.
4. The Requirement for Three PCN Encoding States 4. The Requirement for Three PCN Encoding States
The PCN Marking Behaviours document [I-D.ietf-pcn-marking-behaviour] The PCN Marking Behaviours document [RFC5670] describes proposed PCN
describes proposed PCN schemes that require traffic to be metered and schemes that require traffic to be metered and marked using both
marked using both Threshold and Excess Traffic schemes. In order to Threshold and Excess Traffic schemes. In order to achieve this it is
achieve this it is necessary to allow for three PCN encoding states. necessary to allow for three PCN encoding states. The constraints
The constraints imposed by the way tunnels process the ECN field imposed by the way tunnels process the ECN field severely limit how
severely limit how to encode these states as explained in to encode these states as explained in [RFC5696] and
[I-D.ietf-pcn-baseline-encoding] and [I-D.ietf-tsvwg-ecn-tunnel]. [I-D.ietf-tsvwg-ecn-tunnel]. The obvious way to provide one more
The obvious way to provide one more encoding state than the base encoding state than the base encoding is through the use of an
encoding is through the use of an additional PCN-compatible DiffServ additional PCN-compatible DiffServ codepoint.
codepoint.
One aim of this document is to allow for experiments to show whether One aim of this document is to allow for experiments to show whether
such schemes are better than those that only employ two PCN encoding such schemes are better than those that only employ two PCN encoding
states. As such, the additional DSCP will be taken from the EXP/LU states. As such, the additional DSCP will be taken from the EXP/LU
pools defined in [RFC2474]. If the experiments demonstrate that PCN pools defined in [RFC2474]. If the experiments demonstrate that PCN
schemes employing three encoding states are significantly better than schemes employing three encoding states are significantly better than
those only employing two then at a later date IANA might be asked to those only employing two, then at a later date IANA might be asked to
assign a new PCN enabled DSCP from pool 1. Note that there are other assign a new PCN enabled DSCP from pool 1. Note that there are other
experimental encoding schemes being considered which only use one experimental encoding schemes being considered which only use one
DSCP but require either alternative tunnel semantics DSCP but require either alternative tunnel semantics
([I-D.briscoe-pcn-3-in-1-encoding]) or additional signalling ([I-D.ietf-pcn-3-in-1-encoding]) or additional signalling
([I-D.menth-pcn-psdm-encoding])in order to work. ([I-D.ietf-pcn-psdm-encoding])in order to work.
5. Adding Limited End-to-End ECN Support to PCN 5. Adding Limited End-to-End ECN Support to PCN
[I-D.sarker-pcn-ecn-pcn-usecases] suggests a number of use-cases [I-D.sarker-pcn-ecn-pcn-usecases] suggests a number of use-cases
where explicit preservation of end-to-end ECN semantics might be where explicit preservation of end-to-end ECN semantics might be
needed across a PCN domain. One of the use-cases suggests that the needed across a PCN domain. One of the use-cases suggests that the
end-nodes might be running rate-adaptive codecs that would respond to end-nodes might be running rate-adaptive codecs that would respond to
ECN marks by reducing their transmission rate. If the sending ECN marks by reducing their transmission rate. If the sending
transport sets the ECT codepoint, the setting of the ECN field as it transport sets the ECT codepoint, the setting of the ECN field as it
arrives at the PCN ingress node will need to be re-instated as it arrives at the PCN ingress node will need to be re-instated as it
skipping to change at page 6, line 40 skipping to change at page 7, line 16
marks to those receivers that will correctly interpret them as a marks to those receivers that will correctly interpret them as a
notification of congestion. The end-points may indicate they are notification of congestion. The end-points may indicate they are
ECN-capable through some higher-layer signalling process that sets up ECN-capable through some higher-layer signalling process that sets up
their reservation with the PCN boundary nodes. The exact process of their reservation with the PCN boundary nodes. The exact process of
negotiation is beyond the scope of this document but is likely to negotiation is beyond the scope of this document but is likely to
involve explicit two way signalling between the end-host and the PCN- involve explicit two way signalling between the end-host and the PCN-
domain. domain.
In the absence of such signalling the default behaviour of the PCN In the absence of such signalling the default behaviour of the PCN
egress node will be to clear the ECN field to 00 as in the baseline egress node will be to clear the ECN field to 00 as in the baseline
PCN encoding [I-D.ietf-pcn-baseline-encoding]. PCN encoding [RFC5696].
6. Encoding Three PCN States in IP 6. Encoding Three PCN States in IP
The three state PCN encoding scheme is based closely on that defined The three state PCN encoding scheme is based closely on that defined
in [I-D.ietf-pcn-baseline-encoding] so that there will be no in [RFC5696] so that there will be no compatibility issues if a PCN-
compatibility issues if a PCN-domain changes from using the baseline domain changes from using the baseline encoding scheme to the
encoding scheme to the experimental scheme described here. There are experimental scheme described here. There are two versions of the
two versions of the scheme. The basic three state scheme allows for scheme. The basic three state scheme allows for carrying both
carrying both Threshold-marked (ThM) and Excess-traffic-marked (ETM) Threshold-marked (ThM) and Excess-traffic-marked (ETM) traffic. The
traffic. The full scheme additionally allows end-to-end ECN to be full scheme additionally allows end-to-end ECN to be carried across
carried across the PCN-domain. the PCN-domain.
6.1. Basic Three State Encoding 6.1. Basic Three State Encoding
The following table shows how to encode the three PCN states in IP. Table 1 below shows how to encode the three PCN states in IP.
The authors spent some time trying to establish which way round to
put the two marked states before settling on this. Because it is
envisaged that DSCP 2 will be of lower priority than DSCP 1 the
change in marking from Threshold to Excess Traffic involves
downgrading the traffic which seems to be consistent with the
requirement that such changes should not be reversed.
+--------+--------------+-------------+-------------+---------+ +--------+--------------+-------------+-------------+---------+
| DSCP | Not-ECT (00) | ECT(0) (10) | ECT(1) (01) | CE (11) | | DSCP | Not-ECT (00) | ECT(0) (10) | ECT(1) (01) | CE (11) |
+--------+--------------+-------------+-------------+---------+ +--------+--------------+-------------+-------------+---------+
| DSCP 1 | Not-PCN | NM | CU | ThM | | DSCP n | Not-PCN | NM | CU | ThM |
| DSCP 2 | Not-PCN | CU | CU | ETM | | DSCP m | Not-PCN | CU | CU | ETM |
+--------+--------------+-------------+-------------+---------+ +--------+--------------+-------------+-------------+---------+
(where DSCP 1 is a PCN-compatible DiffServ codepoint (see (where DSCP n is a PCN-compatible DiffServ codepoint (see [RFC5696])
[I-D.ietf-pcn-baseline-encoding]) and DSCP 2 is a PCN-compatible DSCP and DSCP m is a PCN-compatible DSCP from the EXP/LU pools as defined
from the EXP/LU pools as defined in [RFC2474]) in [RFC2474])
Table 1: Encoding three PCN states in IP Table 1: Encoding three PCN states in IP
6.2. Full Three State Encoding 6.2. Full Three State Encoding
Table 2 shows how to additionally carry the end-to-end ECN state in Table 2 shows how to additionally carry the end-to-end ECN state in
the IP header. the IP header.
+--------+--------------+-------------+-------------+---------+ +--------+--------------+-------------+-------------+---------+
| DSCP | Not-ECT (00) | ECT(0) (10) | ECT(1) (01) | CE (11) | | DSCP | Not-ECT (00) | ECT(0) (10) | ECT(1) (01) | CE (11) |
+--------+--------------+-------------+-------------+---------+ +--------+--------------+-------------+-------------+---------+
| DSCP 1 | Not-PCN | NM(Not-ECT) | NM(CE) | ThM | | DSCP n | Not-PCN | NM(Not-ECT) | NM(CE) | ThM |
| DSCP 2 | Not-PCN | NM(ECT(0)) | NM(ECT(1)) | ETM | | DSCP m | Not-PCN | NM(ECT(0)) | NM(ECT(1)) | ETM |
+--------+--------------+-------------+-------------+---------+ +--------+--------------+-------------+-------------+---------+
(where DSCP 1 is a PCN-compatible DiffServ codepoint (see (where DSCP n is a PCN-compatible DiffServ codepoint (see [RFC5696])
[I-D.ietf-pcn-baseline-encoding]) and DSCP 2 is a PCN-compatible DSCP and DSCP m is a PCN-compatible DSCP from the EXP/LU pools as defined
from the EXP/LU pools as defined in [RFC2474]) in [RFC2474])
Table 2: Encoding three PCN states in IP Table 2: Encoding three PCN states in IP
The four different Not-marked (NM) states allow for the addition of The four different Not-marked (NM) states allow for the addition of
limited end-to-end ECN support as explained in the previous section. limited end-to-end ECN support as explained in the previous section.
Warning Warning
In order to comply with this encoding all the nodes within the PCN- In order to comply with this encoding all the nodes within the PCN-
domain MUST be configured with this encoding scheme. However there domain MUST be configured with this encoding scheme. However there
may be operators who choose not to be fully compliant with the may be operators who choose not to be fully compliant with the
scheme. If an operator chooses to leave some PCN-interior-nodes that scheme. If an operator chooses to leave some PCN-interior-nodes that
only support two marking states (the base encoding), then they must only support two marking states (the baseline encoding [RFC5696]),
be aware of the following: Ideally such nodes would be configured to then they must be aware of the following: Ideally such nodes would be
indicate pre-congestion or congestion using the ETM state since this configured to indicate pre-congestion or congestion using the ETM
would ensure they could notify worst-case congestion, however this is state since this would ensure they could notify worst-case
not possible since it requires the packets to be re-marked to DSCP 2 congestion, however this is not possible since it requires the
(hence altering the baseline encoding). This means that such nodes packets to be re-marked to DSCP m (hence altering the baseline
will only be able to indicate ThM traffic. encoding). This means that such nodes will only be able to indicate
ThM traffic.
6.3. Valid and invalid codepoint transitions at PCN-ingress-nodes 6.3. Common Diffserv Per-Hop Behaviour
Packets carrying Diffserv codepoint 'DSCP n' or 'DSCP m' MUST all be
treated with the same Diffserv PHB [RFC2474]. The choice of PHB is
discussed in [RFC5559] and [RFC5696].
Two DSCPs are merely used to provide sufficient PCN encoding states,
there is no need or intention to provide different scheduling or drop
preference for each row in the table of PCN codepoints.
Specifically:
o Both DSCPs MUST be served in the same queue to prevent reordering
within an application flow.
o Both DSCPs MUST be assigned the same drop preference. Note that
[RFC5670] already provides for preferential drop of excess-rate-
marked packets, so assigning additional drop preference at the
coarser granularity of each DSCP would be incorrect.
6.4. Valid and invalid codepoint transitions at PCN-ingress-nodes
A PCN-ingress-node operating the Basic version of the 3-State A PCN-ingress-node operating the Basic version of the 3-State
Encoding scheme MUST set the Not-marked codepoint on any arriving Encoding scheme MUST set the Not-marked codepoint on any arriving
packet that belongs to a PCN-flow. It MUST set the not-PCN codepoint packet that belongs to a PCN-flow. It MUST set the not-PCN codepoint
on any other packet. on any other packet.
A PCN-ingress-node operating the Full version of the 3-State Encoding A PCN-ingress-node operating the Full version of the 3-State Encoding
scheme MUST establish whether a packet is a member of a PCN-enabled- scheme MUST establish whether a packet is a member of a PCN-enabled-
ECN-flow. If it is, the PCN-ingress-node MUST set the appropriate ECN-flow. If it is, the PCN-ingress-node MUST set the appropriate
NM(xxx) codepoint depending on the value carried in the ECN field of NM(xxx) codepoint depending on the value carried in the ECN field of
skipping to change at page 8, line 42 skipping to change at page 9, line 34
o A packet carrying the ECT(1) codepoint in the ECN field MUST be o A packet carrying the ECT(1) codepoint in the ECN field MUST be
assigned the NM(ECT(1)) codepoint assigned the NM(ECT(1)) codepoint
o A packet carrying the CE codepoint in the ECN field MUST be o A packet carrying the CE codepoint in the ECN field MUST be
assigned the NM(CE) codepoint assigned the NM(CE) codepoint
If it is not a member of such a flow then the behaviour MUST be the If it is not a member of such a flow then the behaviour MUST be the
same as for the Basic version of the Encoding scheme. same as for the Basic version of the Encoding scheme.
6.4. Valid and invalid codepoint transitions at PCN-interior-nodes 6.5. Valid and invalid codepoint transitions at PCN-interior-nodes
A PCN-interior-node MUST obey the following rules: A PCN-interior-node MUST obey the following rules:
o It MUST NOT change the not-PCN codepoint to any other codepoint. o It MUST NOT change the not-PCN codepoint to any other codepoint.
o It MAY change any Not-marked codepoint to either the Threshold- o It MAY change any Not-marked codepoint to either the Threshold-
marked or Excess-traffic-marked codepoints. marked or Excess-traffic-marked codepoints.
o It MUST NOT change a Not-marked codepoint to the not-PCN o It MUST NOT change a Not-marked codepoint to the not-PCN
codepoint. codepoint.
skipping to change at page 9, line 18 skipping to change at page 10, line 9
o A Not-marked codepoint MUST NOT be changed to any other Not-marked o A Not-marked codepoint MUST NOT be changed to any other Not-marked
codepoint. codepoint.
o It MAY change the ThM codepoint to the ETM codepoint but it MUST o It MAY change the ThM codepoint to the ETM codepoint but it MUST
NOT change the ThM codepoint to any other codepoint. NOT change the ThM codepoint to any other codepoint.
o It MUST NOT change the ETM codepoint to any other codepoint. o It MUST NOT change the ETM codepoint to any other codepoint.
Obviously in every case a codepoint can remain unchanged. The Obviously in every case a codepoint can remain unchanged. The
precise rules governing which valid transition to use are set out in precise rules governing which valid transition to use are set out in
[I-D.ietf-pcn-marking-behaviour] [RFC5670]
6.5. Forwarding traffic out of the PCN-domain 6.6. Forwarding traffic out of the PCN-domain
As each packet exits the PCN-domain, the PCN-egress-node MUST check As each packet exits the PCN-domain, the PCN-egress-node MUST check
whether it belongs to a PCN-enabled-ECN-flow. If it belongs to such whether it belongs to a PCN-enabled-ECN-flow. If it belongs to such
a flow then the following rules dictate how the ECN field should be a flow then the following rules dictate how the ECN field should be
reset: reset:
o A packet carrying the not-PCN codepoint MUST be given the not-ECT o A packet carrying the not-PCN codepoint MUST be given the not-ECT
codepoint. codepoint.
o A packet carrying the NM(not-ECT) codepoint MUST be assigned the o A packet carrying the NM(not-ECT) codepoint MUST be assigned the
skipping to change at page 10, line 10 skipping to change at page 10, line 50
In addition all packets should have their DSCP reset to the In addition all packets should have their DSCP reset to the
appropriate DSCP for the next hop. If the next hop is not another appropriate DSCP for the next hop. If the next hop is not another
PCN region this will not be a PCN-compatible DSCP, and by default PCN region this will not be a PCN-compatible DSCP, and by default
will be the best-efforts DSCP. Alterntively, higher layer signalling will be the best-efforts DSCP. Alterntively, higher layer signalling
mechanisms may allow the DSCP that packets entered the PCN-domain mechanisms may allow the DSCP that packets entered the PCN-domain
with to be reinstated. with to be reinstated.
7. PCN-domain support for the PCN extension encoding 7. PCN-domain support for the PCN extension encoding
PCN traffic MUST be marked with a DiffServ codepoint that indicates PCN traffic MUST be marked with a DiffServ codepoint that indicates
PCN is enabled. To comply with the PCN extension encoding, this PCN is enabled. To comply with the PCN extension encoding, codepoint
codepoint is either a PCN-compatible DSCP assigned by IANA for use 'DSCP n' MUST be a PCN-compatible DSCP assigned by IANA for use with
with the baseline PCN encoding [I-D.ietf-pcn-baseline-encoding] or a the baseline PCN encoding [RFC5696] while 'DSCP m' can be a DSCP from
DSCP from pools 2 or 3 for experimental and local use [RFC2474]. The pools 2 or 3 for experimental and local use [RFC2474]. The exact
exact choice of DSCP may vary between PCN-domains but MUST be fixed choice of DSCP may vary between PCN-domains but MUST be fixed within
within each PCN-domain. each PCN-domain.
7.1. End-to-End transport behaviour compliant with the PCN extension 7.1. End-to-End transport behaviour compliant with the PCN extension
encoding encoding
Transports wishing to use both PCN and end-to-end ECN MUST establish Transports wishing to use both PCN and end-to-end ECN MUST establish
that their path supports this combination. Support of end-to-end ECN that their path supports this combination. Support of end-to-end ECN
by PCN-boundary-nodes is OPTIONAL. Therefore transports MUST check by PCN-boundary-nodes is OPTIONAL. Therefore transports MUST check
with both the PCN-ingress-node and PCN-egress-node for each flow. with both the PCN-ingress-node and PCN-egress-node for each flow.
The sending of such a request MUST NOT be taken to mean the request The sending of such a request MUST NOT be taken to mean the request
has been granted. The PCN-boundary-nodes MAY choose to inform the has been granted. The PCN-boundary-nodes MAY choose to inform the
skipping to change at page 10, line 45 skipping to change at page 11, line 37
scheme. scheme.
If either of a PCN ingress-egress pair does not support end-to-end If either of a PCN ingress-egress pair does not support end-to-end
ECN or if the end-to-end transport does not request support for end- ECN or if the end-to-end transport does not request support for end-
to-end ECN then the PCN-boundary-nodes MUST assume the packet belongs to-end ECN then the PCN-boundary-nodes MUST assume the packet belongs
to a PCN-flow. to a PCN-flow.
8. IANA Considerations 8. IANA Considerations
This document asks IANA to assign one DiffServ codepoint from Pool 2 This document asks IANA to assign one DiffServ codepoint from Pool 2
or Pool 3 (for experimental/local use)[RFC2474]. Should any of the or Pool 3 (for experimental/local use)[RFC2474]. Should this
three encoding state experimental PCN schemes prove sufficiently experimental PCN scheme prove sufficiently successful then IANA will
successful then IANA will be requested in a later document to assign be requested in a later document to assign a dedicated DiffServ
a dedicated DiffServ codepoint from pool 1 for standards use. codepoint from pool 1 for standards use and the experimental
codepoint will be returned to its IANA pool.
9. Security Considerations 9. Security Considerations
The security concerns relating to this extended PCN encoding are The security concerns relating to this extended PCN encoding are
essentially the same as those in [I-D.ietf-pcn-baseline-encoding]. essentially the same as those in [RFC5696].
This extension coding gives end-to-end support for the ECN nonce This extension coding gives end-to-end support for the ECN nonce
[RFC3540], which is intended to protect the sender against the [RFC3540], which is intended to protect the sender against the
receiver or against network elements concealing a congestion receiver or against network elements concealing a congestion
experienced marking or a lost packet. PCN-based reservations experienced marking or a lost packet. PCN-based reservations
combined with end-to-end ECN are intended for partially inelastic combined with end-to-end ECN are intended for partially inelastic
traffic using rate-adaptive codecs. Therefore the end-to-end traffic using rate-adaptive codecs. Therefore the end-to-end
transport is unlikely to be TCP, but at this time the nonce has only transport is unlikely to be TCP, but at this time the nonce has only
been defined for TCP transports. been defined for TCP transports.
10. Conclusions 10. Conclusions
This document describes an extended encoding scheme for PCN that This document describes an extended encoding scheme for PCN that
provides for three encoding states as well as optional support for provides for three encoding states as well as optional support for
end-to-end ECN. The encoding scheme builds on the baseline encoding end-to-end ECN. The encoding scheme builds on the baseline encoding
described in [I-D.ietf-pcn-baseline-encoding]. Using this encoding described in [RFC5696]. Using this encoding scheme it is possible
scheme it is possible for operators to conduct experiments to check for operators to conduct experiments to check whether the addition of
whether the addition of an extra encoding state will significantly an extra encoding state will significantly improve the performance of
improve the performance of PCN. It will also allow experiments to PCN. It will also allow experiments to determine whether there is a
determine whether there is a need for end-to-end ECN support within need for end-to-end ECN support within the PCN-domain (as against
the PCN-domain (as against end-to-end ECN support through the use of end-to-end ECN support through the use of IP-in-IP tunnelling or by
IP-in-IP tunnelling or by downgrading the traffic to a lower service downgrading the traffic to a lower service class).
class).
11. Acknowledgements 11. Acknowledgements
This document builds extensively on work done in the PCN working This document builds extensively on work done in the PCN working
group by Kwok Ho Chan, Georgios Karagiannis, Philip Eardley, Joe group by Kwok Ho Chan, Georgios Karagiannis, Philip Eardley, Joe
Babiarz and others. Full details of alternative schemes that were Babiarz and others. Full details of alternative schemes that were
considered for adoption can be found in the document considered for adoption can be found in the document
[I-D.chan-pcn-encoding-comparison]. [I-D.ietf-pcn-encoding-comparison].
12. Comments Solicited 12. Comments Solicited
(Section to be removed by RFC_Editor) Comments and questions are (Section to be removed by RFC_Editor) Comments and questions are
encouraged and very welcome. They can be addressed to the IETF encouraged and very welcome. They can be addressed to the IETF
Transport Area working group mailing list <tsvwg@ietf.org>, and/or to Transport Area working group mailing list <tsvwg@ietf.org>, and/or to
the authors. the authors.
13. References 13. References
13.1. Normative References
[I-D.ietf-pcn-marking-behaviour] 13.1. Normative References
Eardley, P., "Marking behaviour of PCN-nodes",
draft-ietf-pcn-marking-behaviour-02 (work in progress),
March 2009.
[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.
[RFC4774] Floyd, S., "Specifying Alternate Semantics for the [RFC4774] Floyd, S., "Specifying Alternate Semantics for the
Explicit Congestion Notification (ECN) Field", BCP 124, Explicit Congestion Notification (ECN) Field", BCP 124,
RFC 4774, November 2006. RFC 4774, November 2006.
[RFC5670] Eardley, P., "Metering and Marking Behaviour of PCN-
Nodes", RFC 5670, November 2009.
[RFC5696] Moncaster, T., Briscoe, B., and M. Menth, "Baseline
Encoding and Transport of Pre-Congestion Information",
RFC 5696, November 2009.
13.2. Informative References 13.2. Informative References
[I-D.briscoe-pcn-3-in-1-encoding] [I-D.ietf-pcn-3-in-1-encoding]
Briscoe, B., "PCN 3-State Encoding Extension in a single Briscoe, B. and T. Moncaster, "PCN 3-State Encoding
DSCP", draft-briscoe-pcn-3-in-1-encoding-00 (work in Extension in a single DSCP",
progress), October 2008. draft-ietf-pcn-3-in-1-encoding-01 (work in progress),
February 2010.
[I-D.chan-pcn-encoding-comparison] [I-D.ietf-pcn-encoding-comparison]
Chan, K., Karagiannis, G., Moncaster, T., Menth, M., Chan, K., Karagiannis, G., Moncaster, T., Menth, M.,
Eardley, P., and B. Briscoe, "Pre-Congestion Notification Eardley, P., and B. Briscoe, "Pre-Congestion Notification
Encoding Comparison", Encoding Comparison",
draft-chan-pcn-encoding-comparison-04 (work in progress), draft-ietf-pcn-encoding-comparison-01 (work in progress),
March 2009. October 2009.
[I-D.ietf-pcn-architecture]
Eardley, P., "Pre-Congestion Notification (PCN)
Architecture", draft-ietf-pcn-architecture-11 (work in
progress), April 2009.
[I-D.ietf-pcn-baseline-encoding] [I-D.ietf-pcn-psdm-encoding]
Moncaster, T., Briscoe, B., and M. Menth, "Baseline Menth, M., Babiarz, J., Moncaster, T., and B. Briscoe,
Encoding and Transport of Pre-Congestion Information", "PCN Encoding for Packet-Specific Dual Marking (PSDM)",
draft-ietf-pcn-baseline-encoding-03 (work in progress), draft-ietf-pcn-psdm-encoding-00 (work in progress),
April 2009. June 2009.
[I-D.ietf-tsvwg-ecn-tunnel] [I-D.ietf-tsvwg-ecn-tunnel]
Briscoe, B., "Tunnelling of Explicit Congestion Briscoe, B., "Tunnelling of Explicit Congestion
Notification", draft-ietf-tsvwg-ecn-tunnel-02 (work in Notification", draft-ietf-tsvwg-ecn-tunnel-06 (work in
progress), March 2009. progress), December 2009.
[I-D.menth-pcn-psdm-encoding]
Menth, M., Babiarz, J., Moncaster, T., and B. Briscoe,
"PCN Encoding for Packet-Specific Dual Marking (PSDM)",
draft-menth-pcn-psdm-encoding-00 (work in progress),
July 2008.
[I-D.sarker-pcn-ecn-pcn-usecases] [I-D.sarker-pcn-ecn-pcn-usecases]
Sarker, Z. and I. Johansson, "Usecases and Benefits of end Sarker, Z. and I. Johansson, "Usecases and Benefits of end
to end ECN support in PCN Domains", to end ECN support in PCN Domains",
draft-sarker-pcn-ecn-pcn-usecases-02 (work in progress), draft-sarker-pcn-ecn-pcn-usecases-01 (work in progress),
November 2008. May 2008.
[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.
[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",
RFC 3540, June 2003. RFC 3540, June 2003.
[RFC5559] Eardley, P., "Pre-Congestion Notification (PCN)
Architecture", RFC 5559, June 2009.
Authors' Addresses Authors' Addresses
Bob Briscoe
BT & UCL
B54/77, Adastral Park
Martlesham Heath
Ipswich IP5 3RE
UK
Phone: +44 1473 645196
Email: bob.briscoe@bt.com
Toby Moncaster Toby Moncaster
BT BT
B54/70, Adastral Park B54/70, Adastral Park
Martlesham Heath Martlesham Heath
Ipswich IP5 3RE Ipswich IP5 3RE
UK UK
Phone: +44 1473 648734 Phone: +44 1473 648734
Email: toby.moncaster@bt.com Email: toby.moncaster@bt.com
URI: http://www.cs.ucl.ac.uk/staff/B.Briscoe/ URI: http://www.cs.ucl.ac.uk/staff/B.Briscoe/
Bob Briscoe
BT & UCL
B54/77, Adastral Park
Martlesham Heath
Ipswich IP5 3RE
UK
Phone: +44 1473 645196
Email: bob.briscoe@bt.com
Michael Menth Michael Menth
University of Wuerzburg University of Wuerzburg
room B206, Institute of Computer Science room B206, Institute of Computer Science
Am Hubland Am Hubland
Wuerzburg D-97074 Wuerzburg D-97074
Germany Germany
Phone: +49 931 888 6644 Phone: +49 931 888 6644
Email: menth@informatik.uni-wuerzburg.de Email: menth@informatik.uni-wuerzburg.de
 End of changes. 52 change blocks. 
205 lines changed or deleted 225 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/