One document matched: draft-babiarz-pcn-3sm-00.txt
Network Working Group J. Babiarz
Internet-Draft X-G. Liu
Intended status: Informational K. Chan
Expires: December 31, 2007 Nortel
M. Menth
University of Wuerzburg
June 29, 2007
Three State PCN Marking
draft-babiarz-pcn-3sm-00
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
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 December 31, 2007.
Copyright Notice
Copyright (C) The IETF Trust (2007).
Abstract
This document proposes metering and marking mechanisms for PCN-
enabled nodes to label packets with pre-congestion information. The
marker marks all PCN packets with an admission-stop (AS) codepoint if
the PCN traffic rate on a link exceeds its admissible rate (AR) and
when it exceeds its supportable rate (SR), it marks some of those
Babiarz, et al. Expires December 31, 2007 [Page 1]
Internet-Draft Three State PCN Marking June 2007
packets exceeding SR with an excess-traffic (ET) codepoint. The
flows with ET-marked packets will be terminated until the aggregate
PCN traffic on the path decreases below its SR. This document
proposes metering and marking mechanisms for these objectives.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Requirements Notation . . . . . . . . . . . . . . . . . . 4
1.2. Overview of PCN . . . . . . . . . . . . . . . . . . . . . 4
1.3. Terminology used in this Document . . . . . . . . . . . . 6
2. Three State PCN Marker with Marking Frequency Reduction
for Marked Flow Termination . . . . . . . . . . . . . . . . . 8
2.1. SR-Meter and ET-Marker . . . . . . . . . . . . . . . . . . 9
2.1.1. Mechanism for SR-Metering and ET-Marking . . . . . . . 9
2.1.2. Pseudo Code for the SR-Meter and ET-Marker . . . . . . 9
2.1.3. Configuration of the SR-Meter and ET-Marker . . . . . 10
2.1.4. Characteristics of the Proposed SR-Meter and
ET-Marker Behaviour . . . . . . . . . . . . . . . . . 10
2.2. AR-Meter and AS-Marker . . . . . . . . . . . . . . . . . . 11
2.2.1. Mechanism for AR-Metering and AS-Marking . . . . . . . 11
2.2.2. Pseudo Code for AR-Meter and AS-Marker . . . . . . . . 12
2.2.3. Configuration of the AR-Meter and AS-Marker . . . . . 12
2.2.4. Characteristics of the Proposed AR-Metering and
AS-Marking Behaviour . . . . . . . . . . . . . . . . . 12
2.3. Marking Codepoints . . . . . . . . . . . . . . . . . . . . 13
3. Security Considerations . . . . . . . . . . . . . . . . . . . 13
4. Changes from Previous Revision . . . . . . . . . . . . . . . . 14
4.1. Acknowledgements . . . . . . . . . . . . . . . . . . . . . 14
5. Informative References . . . . . . . . . . . . . . . . . . . . 14
Appendix A. Overview of Token Bucket (TB) and Virtual Queue
(VQ) . . . . . . . . . . . . . . . . . . . . . . . . 15
A.1. Virtual Queue (VQ) . . . . . . . . . . . . . . . . . . . . 15
A.2. Token Bucket (TB) . . . . . . . . . . . . . . . . . . . . 16
A.3. Tail Marking . . . . . . . . . . . . . . . . . . . . . . . 16
A.4. Tail Marking with Marking Frequency Reduction . . . . . . 17
A.5. Threshold Marking . . . . . . . . . . . . . . . . . . . . 18
A.6. Related Work . . . . . . . . . . . . . . . . . . . . . . . 19
Appendix B. Discussion of PCN Characteristics . . . . . . . . . . 20
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 22
Intellectual Property and Copyright Statements . . . . . . . . . . 24
Babiarz, et al. Expires December 31, 2007 [Page 2]
Internet-Draft Three State PCN Marking June 2007
1. Introduction
Pre-Congestion Notification (PCN) builds on the concepts of
[RFC3168], "The addition of Explicit Congestion Notification (ECN) to
IP". It is used to implement admission control and flow termination
for real-time flows (such as voice, video and multimedia streaming)
in DiffServ [RFC2474], [RFC2475] enabled networks. Flow admission
control determines whether a new flow can be added into the network
without overloading any of its links, whereas flow termination
reduces the current PCN traffic load by terminating marked flows when
at least one link in the network is overloaded for some reason.
For each link in a PCN-enabled network an admissible rate (AR) is
configured. When the current PCN traffic rate on a link exceeds its
AR, the link is said AR-overloaded. Then, the corresponding PCN node
re-marks all PCN packets on this link with an "admission-stop" (AS)
codepoint. The PCN egress nodes analyze the packet markings and if
sufficiently many packets are AS-marked within an ingress-egress
aggregate, the PCN egress nodes signal "admission-stop" for this
aggregate to the appropriate admission control entity. The objective
is to avoid that the admitted PCN traffic on the links exceeds their
ARs. When the PCN egress nodes stop receiving AS-marked packets,
they signal "admission-continue" after some time.
Similarly, a supportable rate (SR) is configured for each link in a
PCN-enabled network. When the current PCN traffic rate on a link
exceeds its SR, the link is said SR-overloaded. Then, the
corresponding PCN node re-marks some of the PCN packets on this link
with an "excess-traffic" (ET) codepoint. The PCN egress nodes pass
the marking information to the appropriate flow termination entity
(e.g. at the respective PCN ingress nodes) to terminate flows in
order to reduce the PCN traffic rate of the SR-overloaded link below
its SR. The reader is referred to [PCN Architecture draft] for
details.
A simple and intuitive approach for flow termination works as
follows. When every packet exceeding the SR is re-marked to ET, the
excess traffic rate can be determined at the PCN egress node by
measuring the rate of ET-marked packets. This rate is signalled to
the appropriate flow termination entity to choose a suitable set of
flows for termination. However, this method has two major drawbacks.
1. A trustworthy measurement result takes time and delays the flow
termination.
2. In case of multipath routing, the flows of a single ingress-
egress aggregate may take different paths. Terminating arbitrary
flows of an ingress-egress aggregate may result in the
Babiarz, et al. Expires December 31, 2007 [Page 3]
Internet-Draft Three State PCN Marking June 2007
termination of flows that do not contribute to the SR-overload of
the bottlenecked link.
This document proposes "marked flow termination" with "marking
frequency reduction" to solve these problems. In order to terminate
only flows that really contribute to the experienced SR-overload,
only ET-marked flows must be terminated (marked flow termination).
Terminating all ET-marked flows leads to a very fast reaction because
no rate measurement at the PCN egress is required. However, if all
PCN packets exceeding SR are ET-marked, this terminates more flows
than necessary. Therefore, we propose to reduce the marking
frequency by a slow-down parameter "s" to control the speed of the
flow termination in order to avoid that more flows than necessary are
terminated. Thus, the objective of "marked flow termination" with
marking frequency reduction is to quickly terminate the right flows
and the right number of flows in case of SR-overload.
This document defines metering behaviours to quickly detect whether
the PCN traffic rate on a link has exceeded its admissible or
supportable rate and marking behaviours to label packets with
admission-stop and excess-traffic information accordingly. In
particular, marking frequency reduction is supported by the proposed
ET-marker. This yields "three state PCN marking" because packets are
labelled either with "no pre-congestion" (NP), "admission-stop" (AS),
or "excess-traffic" (ET).
The document is structured as follows. After a short introduction to
PCN and the used terminology, we explain the admission control and
"marked flow termination" functions. Then, "three state PCN marking
with marking frequency reduction" is described which is suitable to
support "marked flow termination". The appendix summarizes
background information about token bucket (TB) and virtual queue (VQ)
metering and marking as they are the base for the proposed metering
and marking mechanisms, and it discusses the behaviour of the
proposed three state PCN marking with marking frequency reduction for
"marked flow termination".
1.1. Requirements Notation
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 [RFC2119].
1.2. Overview of PCN
PCN traffic can be classified by DSCP or group of DSCPs and is
forwarded by an appropriated PHB. PCN configures for each link an
admissible and a supportable rate (AR, SR). PCN traffic enters the
Babiarz, et al. Expires December 31, 2007 [Page 4]
Internet-Draft Three State PCN Marking June 2007
network with a "no-precongestion" (NP) mark. PCN nodes meter the PCN
traffic on every link. When the PCN traffic rate on a link exceeds
the corresponding AR, the PCN node re-marks all NP-marked PCN packets
to "admission-stop" (AS).
Similarly, they re-mark some non-ET-marked PCN packets to "excess-
traffic" (ET) when the PCN traffic rate on a link exceeds the
corresponding SR. Figure 1 summarizes the relation between the AR
and SR thresholds and the marking behaviour. The SR normally is at
least a delta above the AR and a delta below the maximum service rate
for PCN traffic for the sake of stability of the measurement-based
reactive system. If the PCN traffic rate is below AR, no packets are
re-marked; if it is between AR and SR, all NP-marked PCN packets are
re-marked to AS; and if it is above SR, some non-ET-marked PCN
packets are re-marked to ET and all other NP-marked PCN packets are
re-marked to AS. Hence, the meters and markers operate in a marking-
aware mode: NP-marked packets can be remarked to AS or ET, AS-marked
packets can be remarked to ET but not to NP, and ET-marked packets
cannot be remarked at all.
PCN traffic rate
100%^
| AR- and SR-overload:
| re-mark SOME non-ET-marked
| packets to ET and the remaining to AS,
| indicating that AR and SR are exceeded
Supportable rate|----------------------------------------------
| AR-overload:
| re-mark ALL NP-marked packets to AS,
| indicating admissible rate is exceeded
Admissible rate |----------------------------------------------
|
| No overload: do not re-mark any packets
|
0%+------------------------------------------------->
Figure 1: Packet re-marking by PCN nodes.
PCN egress nodes monitor the PCN traffic per ingress-egress
aggregate. If they detect sufficiently many AS-marked packets, they
relay this information to the appropriate admission control entities.
More specifically, if most of the packets are AS-marked, the PCN
traffic rate of at least one of the links in the ingress-egress path
has exceeded its admissible rate, i.e. it is AR-overloaded.
Therefore, the PCN egress signals "admission-stop" to the admission
control entity for the corresponding ingress-egress aggregate such
that no further flows are admitted. As an alternative, probing may
Babiarz, et al. Expires December 31, 2007 [Page 5]
Internet-Draft Three State PCN Marking June 2007
be used for admission control. The PCN ingress node generates and
sends probe packets to test and verify the pre-congestion level on
the ingress-egress path. The PCN egress intercepts these probe
packets. If they are AS- or ET-marked, the requesting flows are not
admitted (blocked). Probing is useful or even essential under the
following conditions:
o when an ingress-egress aggregate carries no traffic,
o in the presence of multipath routing, when some paths are already
AR-overloaded, but others are not, and further flows should be
admitted if they use a non-overloaded path.
Although flows are admitted only if the PCN traffic rate does not
exceed the AR on any link of their paths, it is possible that the PCN
traffic rate on a link exceeds the SR, e.g., due to changed sending
behaviour of admitted flows or due to route changes after a failure.
PCN egress nodes monitor the PCN traffic and if they observe ET-
marked packets, they send the information about the corresponding
flows to the flow termination entity (e.g. the appropriate PCN
ingress node) for possible termination. If several ET-marked packets
arrive at the PCN egress node within a short interval, the PCN egress
node may collect the information of several ET-marked flows and send
them in a single message to the appropriate flow termination entity
to reduce the signalling rate. As a consequence of the ongoing flow
termination process, the PCN traffic rate decreases on the SR-
overloaded link until it drops below the SR such that no further PCN
packets are ET-marked. It is important to terminate only ET-marked
flows because other flows of the same ingress-egress aggregate may
take different paths such that they do not contribute to the observed
SR-overload.
This description of flow termination is just one possible approach
and other methods are possible with the marking proposed in this
document.
1.3. Terminology used in this Document
We provide a brief definition of the terminology used in this
document.
o PCN - Pre-Congestion Notification meters traffic rates per service
class on a link and notifies the PCN egress nodes using packet
marking whether a certain rate threshold is exceeded on any link
of the path through the PCN-enabled network taken by the packet.
The rate thresholds may be significantly lower than the line rates
such that PCN egress nodes are notified long before queues build
up in the buffers and real congestion occurs. PCN is intended for
Babiarz, et al. Expires December 31, 2007 [Page 6]
Internet-Draft Three State PCN Marking June 2007
the implementation of measurement-based admission control and flow
termination for real-time inelastic traffic, e.g., voice. The PCN
marking in the packet headers need to be standardized.
o ECN Field - Refers to the use of the standardized two bit field in
the IP header that is used for signalling Explicit Congestion
Notification [RFC3168]. In the PCN framework the ECN field maybe
reused to signal two levels of Pre-Congestion Notification
Marking.
o Service class - By service class we mean a grouping of packets
belonging to one or more applications or services that generated
traffic with similar characteristics and requiring similar QoS
treatment. See [RFC4594] for details.
o Admissible Rate - A rate threshold configured for links in the
network; if it is exceeded by PCN traffic, the link is said to be
AR-overloaded and no further flows using the AR-overloaded link
should be admitted. AR-overload is a type of pre-congestion.
o Supportable Rate - A rate threshold configured for links in the
network; if it is exceeded by PCN traffic, the link is said to be
SR-overloaded and some flows using the SR-overloaded link should
be terminated. SR-overload is a type of pre-congestion.
o Admission Control - It is the function of admitting or blocking
requests of new flows or sessions for access to the network to
prevent AR-overload.
o Flow Termination - It is the function of terminating already
admitted flows in the sense that they cannot continue to send PCN
traffic. Only flows contributing to SR-overload are terminated to
reduce SR-overload.
o No pre-congestion (NP) - Default marking for PCN packets that have
not been carried over links with any type of pre-congestion (AR-
overload or SR-overload).
o Admission-stop (AS) - Marking for packets to indicate that they
have been carried over at least a single link with AR-overload.
o Excess-traffic (ET) - Marking for packets to indicate that they
have been carried over at least a single link with SR-overload.
Babiarz, et al. Expires December 31, 2007 [Page 7]
Internet-Draft Three State PCN Marking June 2007
2. Three State PCN Marker with Marking Frequency Reduction for Marked
Flow Termination
The three state PCN marker (3sM) meters PCN packet streams per link
and performs packet re-marking according to Figure 1. As a
consequence the following three marking states are required:
o no pre-congestion (NP),
o admission-stop (AS), and
o excess-traffic (ET).
In theory, the meter meters each packet and passes the packet and the
metering result to the marker and the marker marks packets according
to the results of the meter according to Figure 2. However, the two
functions are described by integrated algorithms.
+------------+
| Result |
| V
+-------+ +--------+
| | | |
Packet stream ===>| Meter |===>| Marker |===> Marked packet stream
| | | |
+-------+ +--------+
Figure 2: Block diagram of meter and marker function.
The meter and marker controlling AR and marking packets with AS are
called AR-meter and AS-marker and the meter and marker controlling SR
and marking packets with ET are called SR-meter and ET-marker. The
marking may be coded in the ECN field [RFC3168] of the packet for a
specified PHB in a specific manner.
In the following, we choose to explain the behaviour of both meters
and markers based on a token bucket (TB). Similar metering and
marking algorithms have been used (srTCM) [RFC2697] and are readily
available in today's routers. However, our description does not
mandate TB-based implementations. The same behaviour can be achieved
from a similar implementation based on a virtual queue (VQ) or by any
other approach. The concepts of TB and VQ together with tail and
threshold marking as well as reduced marking frequency are explained
in the Appendix A. The packet sizes counted by the meters and
markers pertain to the size of the IP packet including its header
bytes.
Babiarz, et al. Expires December 31, 2007 [Page 8]
Internet-Draft Three State PCN Marking June 2007
2.1. SR-Meter and ET-Marker
We explain the mechanism for SR-metering and ET-marking, give pseudo
code, explain its configuration, and discuss its behaviour. We use
object-oriented notation for most variables.
2.1.1. Mechanism for SR-Metering and ET-Marking
We propose an SR-meter and ET-marker based on a token bucket with
tail marking and marking frequency reduction (see Appendix A for
explanation). The TB has a bucket of size TB.size which is
continuously filled with tokens at rate TB.rate. When a non-ET-
labelled PCN packet arrives, it is re-marked with "ET" if the fill
state of the bucket (TB.fill) in tokens is smaller than its size
(packet.size) in bytes and "s" additional tokens are added to the
bucket; otherwise, the fill state is reduced by packet.size tokens.
The slow-down parameter "s" reduces the marking frequency of the
mechanism. If an ET-marked packet arrives, the TB's fill state is
also incremented by "s" (this is an option and needs further
discussion see Section 2.1.4).
2.1.2. Pseudo Code for the SR-Meter and ET-Marker
The behaviour of the token bucket with tail marking and marking
frequency reduction for SR-metering and ET-marking is expressed by
the following pseudo code using object-oriented notation. It
requires the time TB.lastUpdate at which the fill state of TB was
last updated and a global variable "now" providing the current time.
A PCN packet has the variables packet.mark showing its marking (NP,
AS, ET) and packet.size showing its size.
Input: pcn packet
TB.fill = min(TB.size, TB.fill + TB.rate * (now - TB.lastUpdate));
if (packet.mark<> ET) / / if packet is not ET-marked
if (TB.fill < packet.size)
packet.mark = ET;
TB.fill = min(TB.size, TB.fill + s);
else
TB.fill = TB.fill - packet.size;
endif
else
TB.fill = min(TB.size, TB.fill + s); // optional, see 2.1.4
endif
TB.lastUpdate = now;
Output: void
Babiarz, et al. Expires December 31, 2007 [Page 9]
Internet-Draft Three State PCN Marking June 2007
According to the comment at the end of Section 2.1.4 the algorithm
may be simplified by omitting the statement commented with "for the
sake of fairness". Further simulations need to evaluate its impact.
2.1.3. Configuration of the SR-Meter and ET-Marker
The following parameters must be configured:
o TB.rate: supportable rate (SR)
o TB.size: supportable burst size (SBS), needs to be set
appropriately (-> simulations)
o Slow-down parameter "s": needs to be set appropriately (->
simulations)
2.1.4. Characteristics of the Proposed SR-Meter and ET-Marker
Behaviour
The proposed mechanism can be applied with and without marking
frequency reduction, i.e., s>0 and s=0, respectively.
a) No marking frequency reduction (s=0)
If the slow-down parameter is set to s=0, marking frequency reduction
is switched off. As an alternative, a simplified version of the
given algorithm can be used. If the PCN traffic rate on a link
constantly exceeds its SR, the fill state of the TB decreases.
Arriving packets for which the number of tokens in the bucket does
not suffice are ET-marked. The size of the token bucket (supportable
burst size (SBS)) controls how fast the marker reacts to a traffic
rate above SR: if it is set to a low value, packets are already
marked at a rate lower than SR in the presence of bursts, if it set
to a high value, marking starts delayed if the PCN traffic rate
exceeds SR. A nice property of this option is that the rate of the
ET-marked packets is exactly the rate of the excess traffic rate
under the assumption that there was no significant packet loss.
Its drawback in conjunction with "marked flow termination" is that
too many flows are terminated if all flows with ET-marked packets are
selected for termination. With marking approach where s=0, the
egress node needs to perform rate measurements to determine how much
traffic needs to be terminated.
b) Marking frequency reduction (s>0)
If the slow-down parameter is set to a value s>0, marking frequency
reduction is achieved because for each marked packet up to additional
Babiarz, et al. Expires December 31, 2007 [Page 10]
Internet-Draft Three State PCN Marking June 2007
"s" bytes can pass the SR-meter and ET-marker without being re-marked
to ET. Thus, increasing the slow-down parameter "s" decreases the
number of ET-marked packets. In combination with "marked flow
termination", a suitable "s" is required to achieve a fast
termination of sufficiently many flows without terminating more flows
than necessary.
Its drawback in conjunction with the measurement of the excess
traffic rate at the PCN nodes is that this rate cannot be determined
directly. For each ET-marked packet, up to "s" additional bytes can
pass without ET-marked. Therefore, an upper bound for the excess
traffic rate is obtained by the rate of ET-marked packets at the PCN
egress node plus the rate of ET-marked packets multiplied by "s"
bytes per ET-marked packet. If "s" is significantly larger than the
maximum packet size, a CPU-saving approximation may be used: the rate
of ET-marked packets multiplied by "s" bytes/packet. Hence, it is
possible to infer an upper bound for the excess traffic rate when
marking frequency reduction is applied.
ET-marked packets arriving at the SR-meter and ET-marker signify that
a flow on the link will be terminated soon. Therefore, the same fill
state increment is performed by the SR-meter and ET-marker as if it
had ET-marked the packet itself. This is a matter of fairness and
streamlining, but possibly has no visible impact under overload
conditions. Therefore, the algorithm may be simplified by ignoring
packets that are already ET-marked. This is subject to future
research.
2.2. AR-Meter and AS-Marker
We explain the mechanism for AR-metering and AS-marking, give pseudo
code for this mechanism, explain its configuration, and discuss its
behaviour.
2.2.1. Mechanism for AR-Metering and AS-Marking
We propose an AR-meter and AS-marker based on a token bucket with
threshold marking (see Appendix A for explanation). The TB has a
bucket of size TB.size which is continuously filled with tokens at
rate TB.rate. The AR-meter and AS-marker consider only packets that
are not ET-marked. When a non-ET-marked PCN packet arrives, it is
re-marked to "AS" if the fill state of the bucket (TB.fill) in tokens
is smaller than its size (packet.size) in bytes; otherwise, the fill
state is reduced by packet.size tokens and if the fill state is then
smaller than the marking threshold (TB.threshold), the packet is also
re-marked to "AS" while if the fill state is then larger than or
equal to the marking threshold, the packet is not re-marked.
Babiarz, et al. Expires December 31, 2007 [Page 11]
Internet-Draft Three State PCN Marking June 2007
The AR-meter an AS-marker is sensitive to ET-markings in the sense
that only non-ET-marked packets are considered. Therefore, packets
should be first SR-metered and ET-marked by a PCN node before being
AR-metered and AS-marked. However, this requirement may be relaxed.
2.2.2. Pseudo Code for AR-Meter and AS-Marker
The behaviour of the token bucket with threshold marking for AR-
metering and AS-marking is expressed by the following pseudo code
using the same nomenclature like above.
Input: pcn packet
if (packet.mark <> ET) //consider only non-ET-marked packets
TB.fill = min(TB.size, TB.fill+TB.rate*(now-TB.lastUpdate));
if (TB.fill < packet.size)
packet.mark = AS;
else
TB.fill = TB.fill - packet.size;
if (TB.fill < TB.threshold)
packet.mark = AS;
endif
endif
TB.lastUpdate = now
endif
Output: void
Note: The above algorithm may be simplified by considering all PCN
packets (NP-marked, AS-marked and ET-marked). This needs further
analysis and simulations to evaluate its impact.
2.2.3. Configuration of the AR-Meter and AS-Marker
The following parameters must be configured:
o TB.rate: admissible rate (AR)
o TB.size (TBS): needs to be set appropriately (-> simulations)
o TB.threshold: TBS-ABS with ABS being the admissible burst size,
needs to be set appropriately (-> simulations)
2.2.4. Characteristics of the Proposed AR-Metering and AS-Marking
Behaviour
If the AR is exceeded, the TB fill state continuously decreases, it
eventually falls below its marking threshold TB.threshold and only
Babiarz, et al. Expires December 31, 2007 [Page 12]
Internet-Draft Three State PCN Marking June 2007
increases if the PCN traffic rate on the link falls below AR. As a
consequence, all packets are AS-marked during that time and admission
of further flows is stopped until the PCN traffic rate drops below
AR. In particular, also all probe packets are AS-marked.
TB.threshold controls how fast the marker reacts to a PCN traffic
rate that exceeds AR: if it is set to a high value (close to
TB.size), packets are marked in the presence of burst at a PCN
traffic rate lower than AR, if it set to a low value, AS-marking is
delayed when the PCN traffic exceeds AR. As well, the parameter
TB.threshold controls how long the marker continues marking packets
after the PCN traffic rate falls below AR.
ET-marked packets are not subject to AR-metering and AS-marking
because they belong to flows that are terminated soon. In
conjunction with marking frequency reduction, every ET-marked packet
stands for up to "s" additional bytes that were ET-marked without
marking frequency reduction, and as a consequence, not subject to AR-
metering and AS-marking. Therefore, the fill state of the TB for the
AR-metering and AS-marking algorithm may be incremented by the slow-
down parameter "s" whenever an ET-marked packet is observed.
However, this makes the AR-metering and AS-marking algorithm more
complex and this issue probably has only minor effect in practice.
Therefore, this is not reflected in the pseudo code. However, the
impact of this difference is subject to future simulations.
2.3. Marking Codepoints
PCN metering and marking requires classification of traffic which is
subject to PCN metering and PCN marking (PCN-capable). Furthermore,
PCN-aware flows that are subject to PCN-marking require at least the
following codepoints:
o "no-precongestion" (NP),
o "admission-stop" (AS), and
o "excess-traffic" (ET).
These signals may be encoded by re-using the two-bit ECN field or by
different DS codepoints. The actual encoding is out of the scope of
this document.
3. Security Considerations
The Three State PCN Marker has no known security concerns.
Babiarz, et al. Expires December 31, 2007 [Page 13]
Internet-Draft Three State PCN Marking June 2007
4. Changes from Previous Revision
The 00 version of this draft defines PCN metering and marking for
both admission control and flow termination. This draft incorporates
the metering and marking approach for flow termination that was
defined in draft-babiarz-pcn-explicit-marking-00. Simulation results
for the proposed "AR-metering and AS-re-marking" and "SR-metering and
ET-re-marking" will be published in a separate draft.
4.1. Acknowledgements
The authors would like to thank the following people for reviewing
this draft or earlier versions thereof and for their suggestions to
make this document more complete: Dave McDysan, Nicolas Chevrollier
and Frank Lehrieder.
5. Informative References
[Maglaris-88]
Maglaris et al, "Performance Models of Statistical
Multiplexing in Packet Video Communications, IEEE
Transactions on Communications 36, pp. 834-844", July
1988.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black,
"Definition of the Differentiated Services Field (DS
Field) in the IPv4 and IPv6 Headers", RFC 2474,
December 1998.
[RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.,
and W. Weiss, "An Architecture for Differentiated
Services", RFC 2475, December 1998.
[RFC2697] Heinanen, J. and R. Guerin, "A Single Rate Three Color
Marker", RFC 2697, September 1999.
[RFC2698] Heinanen, J. and R. Guerin, "A Two Rate Three Color
Marker", RFC 2698, September 1999.
[RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition
of Explicit Congestion Notification (ECN) to IP",
RFC 3168, September 2001.
[RFC3246] Davie, B., Charny, A., Bennet, J., Benson, K., Le Boudec,
Babiarz, et al. Expires December 31, 2007 [Page 14]
Internet-Draft Three State PCN Marking June 2007
J., Courtney, W., Davari, S., Firoiu, V., and D.
Stiliadis, "An Expedited Forwarding PHB (Per-Hop
Behavior)", RFC 3246, March 2002.
[RFC4594] Babiarz, J., Chan, K., and F. Baker, "Configuration
Guidelines for DiffServ Service Classes", RFC 4594,
August 2006.
[SIM-07] Liu, X-G. and J. Babiarz, "Simulation Results for Explicit
PCN Marking and Flow Termination
(http://standards.nortel.com/pcn/Simulation_EPCN.pdf)",
February 2007.
Appendix A. Overview of Token Bucket (TB) and Virtual Queue (VQ)
Token buckets (TB) and virtual queues (VQ) serve to control whether a
packet is conform to its flow's indicated rate R and burst size S.
Therefore, TB parameters are frequently used as traffic descriptors.
TBs and VQs are dual approaches: while packets are TB-conform as long
as sufficient tokens are in the bucket at their arrival times, they
are VQ-conform as long as sufficient free space is available in the
queue at their arrival times. Therefore, TBs and VQs can be used
interchangeably and, in particular, algorithms given based on a TB
description can be implemented by a VQ and vice-versa.
In the following, we explain the basic VQ and TB mechanisms
(Appendix A.1 and Appendix A.2). Packets are marked depending on the
state of the VQ or TB at their arrival time. There are different
marking options. Only those packets that are not conform to its flow
description may be marked (tail marking, Appendix A.3), or only some
non-conforming packets may be marked (tail marking with marking
frequency reduction, Appendix A.4), or all packets may be marked
until the flow again reaches conformity (threshold marking,
Appendix A.5). Appendix A.6 gives an overview of where and how VQ
and TB descriptions are used.
A.1. Virtual Queue (VQ)
We use an object-oriented notation for a more intuitive readability
of the algorithms. The VQ has a VQ rate (VQ.rate) and a queue which
is capable to store up to VQ.size bytes. The current length of the
queue is denoted by VQ.length. This length is reduced over time at
rate VQ.rate. When a packet arrives, it is "accepted" by the VQ and
increments VQ.length by its size (packet.size) if there is still
enough free space in the queue to accommodate it; otherwise it is
"rejected". As the queue size is decreased continuously over time,
the behaviour of a VQ is best described by a fluid model. However,
Babiarz, et al. Expires December 31, 2007 [Page 15]
Internet-Draft Three State PCN Marking June 2007
the state of the VQ shortly after packet arrivals can be calculated
based on the current time "now" and the length of the VQ at the last
update time of the VQ (VQ.lastUpdate) using the following algorithm:
VQ.length = max(0, VQ.length - (now - VQ.lastUpdate) * VQ.rate);
if (VQ.length + packet.size <= VQ.size)
VQ.length = VQ.length + packet.size;
endif
VQ.lastUpdate = now;
A.2. Token Bucket (TB)
The TB is basically the same mechanism, but it looks at the problem
from a different angle. The TB has a TB rate (TB.rate) and a bucket
which is capable to store up to TB.size tokens. A token is the
permission to send one byte. The current fill state of the bucket is
denoted by TB.fill. This fill state is increased over time at rate
TB.rate. When a packet arrives, it is "accepted" and decrements
TB.fill by its size (packet.size) if there are enough tokens in the
bucket to send the entire packet; otherwise it is "rejected". As the
fill state is increased continuously over time, the behaviour of a TB
is best described by a fluid model. However, the state of the TB
shortly after packet arrival can be calculated based on the current
time "now" and the fill state of the TB at the last update time of
the TB (TB.lastUpdate) using the following algorithm:
TB.fill = min(TB.size, TB.fill + (now - TB.lastUpdate) * TB.rate);
if (TB.fill >= packet.size)
TB.fill = TB.fill - packet.size;
endif
TB.lastUpdate = now;
A.3. Tail Marking
To control whether packets of a stream with rate R and maximum burst
size MBS are conform to the description R and MBS, the stream is
metered either by a VQ with rate R and size MBS, or by a token bucket
with rate R and bucket size MBS. If a packet is accepted by the VQ
or by the TB, it is marked in-profile. If it is rejected, it is
marked out-of-profile.
The corresponding pseudo codes are for the VQ:
Babiarz, et al. Expires December 31, 2007 [Page 16]
Internet-Draft Three State PCN Marking June 2007
VQ.length = max(0, VQ.length - (now - VQ.lastUpdate) * VQ.rate);
if (VQ.length + packet.size <= VQ.size)
VQ.length = VQ.length + packet.size;
packet.mark = in-profile;
else
packet.mark = out-of-profile;
endif
VQ.lastUpdate = now;
and for the TB:
TB.fill = min(TB.size, TB.fill + (now - TB.lastUpdate) * TB.rate);
if (TB.fill >= packet.size)
TB.fill = TB.fill - packet.size;
packet.mark = in-profile;
else
packet.mark = out-of-profile;
endif
TB.lastUpdate = now;
A.4. Tail Marking with Marking Frequency Reduction
The objective of tail marking with marking frequency reduction is to
mark only some of the packets that are out-of-profile. The strength
of the reduction can be controlled by the slow-down parameter "s".
When a packet is classified out-of-profile, the VQ length is
decremented by "s" bytes and the TB fill state is incremented by "s"
tokens, respectively. As a consequence, the VQ and the TB are not
likely to mark consecutive packets as out-of-profile which reduces
their marking frequency.
The corresponding pseudo codes are for the VQ:
VQ.length = max(0, VQ.length - (now - VQ.lastUpdate) * VQ.rate);
if (VQ.length + packet.size <= VQ.size)
VQ.length = VQ.length + packet.size;
packet.mark = in-profile;
else
VQ.length = max(0, VQ.length-s); //marking frequency reduction
packet.mark = out-of-profile;
endif
VQ.lastUpdate = now;
and for the TB:
Babiarz, et al. Expires December 31, 2007 [Page 17]
Internet-Draft Three State PCN Marking June 2007
TB.fill = min(TB.size, TB.fill + (now - TB.lastUpdate) * TB.rate);
if (TB.fill >= packet.size)
TB.fill = TB.fill - packet.size;
packet.mark = in-profile;
else
TB.fill = min(TB.size, TB.fill+s) //marking frequency reduction
packet.mark = out-of-profile;
endif
TB.lastUpdate = now;
If the slow-down parameter is set to s=0, the marking algorithm
behaves like pure tail marking.
A.5. Threshold Marking
The objective of threshold marking is to mark all packets with, e.g.,
"rate-exceeded" as long as some packets are out-of-profile with
respect to flow parameters R and MBS. We achieve that by setting the
VQ or TB size larger than MBS, but by marking packets if the VQ
length exceeds MBS or if the fill state of the TB falls below
TB.size-MBS. Thus, marking thresholds need to be configured
differently for VQ and TB to obtain the same behavior:
o VQ.threshold = MBS;
o TB.threshold = TB.size - MBS.
The corresponding pseudo codes are for the VQ:
VQ.length = max(0, VQ.length - (now - VQ.lastUpdate) * VQ.rate);
if (VQ.length + packet.size <= VQ.size) // packet in-profile
VQ.length = VQ.length + packet.size;
if (VQ.length > VQ.threshold)
packet.mark = "rate-exceeded";
endif
else // packet out-of-profile
packet.mark = "rate-exceeded";
endif
VQ.lastUpdate = now;
and for the TB:
Babiarz, et al. Expires December 31, 2007 [Page 18]
Internet-Draft Three State PCN Marking June 2007
TB.fill = min(TB.size, TB.fill + (now - TB.lastUpdate) * TB.rate);
if (TB.fill >= packet.size) ) // packet in-profile
TB.fill = TB.fill - packet.size;
if (TB.fill < TB.threshold)
packet.mark = "rate-exceeded";
endif
else // packet out-of-profile
packet.mark = "rate-exceeded";
endif
TB.lastUpdate = now;
A.6. Related Work
The single rate three color marker (srTCM) [RFC2697] meters an IP
packet stream and marks its packets green, yellow, or red. The
traffic is described by a committed information rate (CIR), a
committed burst size (CBS), and an excess burst size (EBS). If a
packet is conform to a token bucket with parameters (CIR, CBS), it is
colored green. If it is conform to (CIR, EBS), it is colored yellow.
Otherwise, it is colored red. The implementation given in [RFC2697]
is slightly different from an exact TB implementation, but it behaves
similarly. srTCM is implemented in most of today's routers and can be
used to perform threshold marking using the following mapping:
green = non-AS;
yellow = AS;
red = AS;
CIR = rate;
CBS = MBS;
EBS = TB.size or VQ.size
Therefore, the proposed behavior for admission-stop marking can be
obtained with today's technology.
In contrast to the srTCM, the two rate three color marker (trTCM)
[RFC2698] meters an IP packet stream based on a committed and a peak
information rate (CIR, PIR) and marks its packets either green,
yellow, or red. The traffic is described by a CIR, a committed burst
size (CBS), a PIR, and a peak burst size (PBS). If a packet is
conform to both (PIR, PBS) and (CIR, CBS), it is marked green. If a
packet is conform to (CIR, CBS) only, it is marked yellow.
Otherwise, it is marked red.
Babiarz, et al. Expires December 31, 2007 [Page 19]
Internet-Draft Three State PCN Marking June 2007
Both srTCM [RFC2697] and trTCM [RFC2698] offer a color-aware and a
color-blind operation mode where the packet marking is dependent or
independent of already existing packet markings. This is required
for PCN marking in a similar way. They are useful, for example, for
ingress policing of traffic streams in a DiffServ environment.
Policers drop out-of-profile packets instead of marking them.
Shapers delay out-of-profile packets until they become in-profile.
The leaky bucket shapes a traffic stream to a maximum rate R and
drops all packets that exceed a maximum burst size MBS.
[http://en.wikipedia.org/wiki/Leaky_bucket]
Appendix B. Discussion of PCN Characteristics
The Three State PCN marking behaviour can be realized through the use
of a normal token bucket arrangement such as that is used for
coloring packets in trTCM [RFC2698] with the following changes. By
redefining Peak Information Rate (PIR) to be supportable rate (SR)
and Committed Information Rate (CIR) be admissible rate (AR). When
the PIR or SR token bucket runs out of tokens, the non-conforming
packet is marked red or excess-traffic (ET). The delta functionality
is that each time a packet is ET marked, "s" tokens are added to the
SR token bucket. As well, the trTCM and the Three State PCN Marker
has a lower rate that packets are measured against CIR or AR. The
delta functionality for the AR token bucket is a packet is marked as
admission-stop (AS) when the token bucket reaches a "k" level, versus
empty. This delta function can be added to many of the routers that
are in use today.
Here we highlight some of the characteristics and benefits that
excess-traffic (ET) marking approach has:
1. This marking approach works with Equal Cost Multipath (ECMP)
routing in the network. The router that has its traffic above
supportable rate ET-marks packets. The egress node detects ET-
marked packets and signals flow termination to ingress node.
2. Works reasonable well in presence of low and high packet loss.
(See simulation results details). Packet loss only intrudes
small delta delay for excess load reduction through flow
termination to be completed. If a marked packet is lost and the
overload is still presented, the congested router will mark
another packet.
Babiarz, et al. Expires December 31, 2007 [Page 20]
Internet-Draft Three State PCN Marking June 2007
3. This approach is not that sensitive to the different number of
flow, works well with small and large number of flows, constant
bit rate, variable rate (on-off voice) and variable rate MPEG-4
like traffic. To date simulation results [SIM-07] indicate that
this marking approach is not that sensitive to different flow
counts and traffic characteristics.
4. It is believed that this marking approach will work reasonably
well in presence of multiple congestion points in the path. The
ET marking approach has an exponential decay marking property,
whereby the marking frequency decreases as the excess traffic
load decreases and as traffic drops below supportable rate, ET
marking stops. In other words, flow termination slows down as
the excess load approaches that supportable rate traffic level.
This behaviour reduces traffic to just below supportable rate on
all the routers in the path.
5. Simulations show that with mixed traffic of different rates and
packet sizes, ET-marking approach marks higher bandwidth flows
more aggressively. Therefore after link failure condition the
result is that more flows as total can be supported with the
aggregate traffic being below the supportable rate.
6. Also it is believed that the ET marking approach and its
exponential decay property should work well with bidirectional
flows. When a bidirectional flows is terminated, excess load is
removed from the pre-congested router(s), therefore reducing the
frequency of marking.
7. Simulations show that it works well over a wide range of round-
trip times (RTTs) that are reasonable for real-time traffic.
See [SIM-07] simulation results with different RTTs. The "s"
value should be configured so that it is greater than the number
of octets transmitted by a flow in RTT. For aggregation of
voice flows that have various rates, using the mean rate should
produce reasonable results. More work is required before any
guidelines for "s" can be stated.
8. Stable behaviour under most operating conditions. Simulations
show very good accuracy both for constant rate and variable rate
traffic with small and large number of overload conditions.
9. This approach works well in gateway-to-gateway and host-to-host
deployment models.
10. The ET marking behaviour is friendly to behaviour in [RFC3168]
and should PCN flow encounter a router that performs [RFC3168]
marking, it would provide some protection against congestion. A
Babiarz, et al. Expires December 31, 2007 [Page 21]
Internet-Draft Three State PCN Marking June 2007
packet belonging to a PCN flow that is CE marked would be
terminated.
11. If the egress edge node (gateway) reports which flows that need
to be removed (terminated) versus bandwidth, than any reasonable
value for "s" can be used. The value for "s" and the algorithm
do not need to be standardized, but only the metering and
marking behaviour. Different algorithms may be used to obtain
the described metering and marking behaviour.
Authors' Addresses
Jozef Z. Babiarz
Nortel
3500 Carling Avenue
Ottawa, Ont. K2H 8E9
Canada
Phone: +1-613-763-6098
Email: babiarz@nortel.com
Xiao-Gao Liu
Nortel
3500 Carling Avenue
Ottawa, Ont. K2H 8E9
Canada
Phone: +1-613-763-7516
Email: xgliu@nortel.com
Kwok Ho Chan
Nortel
600 Technology Park Drive
Billerica, MA 01821
USA
Phone: +1-978-288-8175
Email: khchan@nortel.com
Babiarz, et al. Expires December 31, 2007 [Page 22]
Internet-Draft Three State PCN Marking June 2007
Dr. Michael Menth
University of Wuerzburg
Institute of Computer Science
Am Hubland, D-97074 Wuerzburg, Room B206
Germany
Phone: (+49)-931/888-6644
Email: menth@informatik.uni-wuerzburg.de
Babiarz, et al. Expires December 31, 2007 [Page 23]
Internet-Draft Three State PCN Marking June 2007
Full Copyright Statement
Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Babiarz, et al. Expires December 31, 2007 [Page 24]
| PAFTECH AB 2003-2026 | 2026-04-22 22:38:53 |