PCN 3-State Encoding Extension in a
single DSCPBTB54/77, Adastral ParkMartlesham HeathIpswichIP5 3REUK+44 1473 645196bob.briscoe@bt.comhttp://bobbriscoe.net/BTc/o B54/70, Adastral ParkMartlesham HeathIpswichIP5 3REUK+44 1206 332805toby.moncaster@bt.com
Transport
Congestion and Pre-Congestion NotificationQuality of ServiceQoSCongestion ControlCongestion NotificationTunnellingEncapsulation & DecapsulationDifferentiated ServicesIntegrated ServicesSignallingProtocolFlow Admission ControlFlow TerminationThe objective of Pre-Congestion Notification (PCN) is to protect the
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
PCN-domain, and PCN-packets are appropriately marked when certain
configured rates are exceeded. The level of marking allows the boundary
nodes to make decisions about whether to admit or block a new flow
request, and (in abnormal circumstances) whether to terminate some of
the existing flows, thereby protecting the QoS of previously admitted
flows. This document specifies how such marks are to be encoded into the
IP header by re-using the Explicit Congestion Notification (ECN)
codepoints within this controlled domain. This encoding builds on the
baseline encoding and provides for three PCN encoding states:
Not-marked, Threshold-marked and Excess-traffic-marked.The objective of Pre-Congestion Notification (PCN) is to protect the quality of service (QoS) of
inelastic flows within a Diffserv domain, in a simple, scalable, and
robust fashion. Two mechanisms are used: admission control, to decide
whether to admit or block a new flow request, and (in abnormal
circumstances) flow termination to decide whether to terminate some of
the existing flows. To achieve this, the overall rate of PCN-traffic is
metered on every link in the domain, and PCN-packets are appropriately
marked when certain configured rates are exceeded. These configured
rates are below the rate of the link thus providing notification to
boundary nodes about overloads before any congestion occurs (hence
"pre-congestion notification").The level of marking allows boundary nodes to make decisions about
whether to admit or terminate. This is achieved by marking packets on
interior nodes according to some metering function implemented at each
node. Threshold-traffic-marking marks all PCN packets once they exceed
the threshold-traffic-rate on a link while Excess-traffic-marking marks
only those PCN packets that exceed the excess-traffic-rate, which is
higher than the threshold-traffic-rate .
These marks are monitored by the egress nodes of the PCN domain.To fully support these two types of marking, three encoding states
are needed. The baseline encoding described in provides for deployment scenarios that only
require two PCN encoding states using a single Diffserv codepoint. This
document describes an experimental extension to the baseline-encoding
that adds a third PCN encoding state in the IP header, still using a
single Diffserv codepoint. For brevity it will be called the 3-in-1 PCN
Encoding.General PCN-related terminology is defined in the PCN architecture
, and terminology specific to packet
encoding is defined in the PCN baseline encoding . Note that
requires the PCN Working Group to maintain a list of all DSCPs used for
PCN experiments.Corrected mistake in introduction, which wrongly stated
that the threshold-traffic rate is higher than the
excess-traffic rate. Other minor corrections.Updated acks & refs.Altered the wording to make sense if moves to proposed
standard.References updatedFilename changed to draft-ietf-pcn-3-in-1-encoding.Introduction altered to include new template description of
PCN.References updated.Terminology brought into line with .Minor corrections.The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119.The PCN architecture describes
proposed PCN schemes that expect traffic to be metered and marked using
both Threshold and Excess Traffic schemes. In order to achieve this it
is necessary to allow for three PCN encoding states: one as a Not Marked
(NM) state and the other two to distinguish these two levels of marking
severity . The way tunnels processed the
ECN field before
severely limited how to encode these states.The two bit ECN field seems to offer four possible encoding states,
but one (00) is set aside for traffic controlled by transports that do
not understand PCN marking , 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 . 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 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 or IPsec tunnelling .One way to provide another encoding state that survives tunnelling is
to use a second Diffserv codepoint . Instead, to avoid
wasting scarce Diffserv codepoints, a network operator can require
tunnels in a PCN region to comply with , thus removing the
constraints imposed by earlier tunnelling specifications.Therefore this document presupposes tunnels in the PCN region comply
with the newly proposed decapsulation rules defined in . Then the constraints of
standard tunnels no longer apply so this document can define a 3-state
encoding for PCN within one Diffserv codepoint.The 3-in-1 PCN Encoding scheme is based closely on the baseline
encoding defined in so that there will be
no compatibility issues if a PCN-domain evolves from using the baseline
encoding scheme to the experimental scheme described here. The exact
manner in which the PCN encoding states are carried in the IP header is
shown in .In the 3 PCN states are
encoded in the ECN field of an IP packet
with its Diffserv field set to DSCP n,
which is any PCN-Compatible DiffServ codepoint as defined in Section 4.2
of the PCN baseline encoding ). The PCN
codepoint of a packet defines its marking state as follows:The packet is controlled by a transport that
does not understand PCN marking, therefore the only valid action to
notify congestion is to drop the packet;Not marked. A packet in the NM state has not (yet)
had its marking state changed to the ThM or ETM states, but it may
be changed to one of these states by a node experiencing congestion
or pre-congestion;Threshold-marked. Such a packet has had its
marking state changed by the threshold-meter function ;Excess-traffic-marked. Such a packet has had its
marking state changed by the excess-traffic-meter function .Packets marked NM, ThM or ETM are termed PCN-packets. Their entry
into the pcn-domain is controlled by edge nodes that understand how to
process PCN markings .To be compliant with the 3-in-1 PCN Encoding, an PCN interior node
behaves as follows:Except where explicitly stated otherwise, it MUST comply with the
baseline encoding specified in It MUST change NM to ThM if the threshold-meter function
indicates to mark the packet.It MUST change NM or ThM to ETM if the excess-traffic-meter
function indicates to mark the packet.It MUST NOT change Not-PCN to a PCN-Enabled codepoint and MUST
NOT change a PCN-Enabled codepoint to Not-PCN;It MUST NOT change ThM to NM;It MUST NOT change ETM to ThM or to NM;In other words, a PCN interior node may increase the severity
of packet marking but it MUST NOT decrease it, where the order of
severity increases from NM through ThM to ETM.This memo includes no request to IANA.Note to RFC Editor: this section may be removed on publication as an
RFC.The security concerns relating to this extended PCN encoding are the
same as those in .The 3-in-1 PCN Encoding provides three states to encode PCN markings
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 .Thanks to Phil Eardley, Teco Boot, Kwok Ho Chan and Michael Menth for
reviewing this.To be removed by RFC Editor: Comments and questions are encouraged
and very welcome. They can be addressed to the IETF Congestion and
Pre-Congestion working group mailing list <pcn@ietf.org>, and/or
to the authors.