One document matched: draft-ietf-pcn-sm-edge-behaviour-12.xml
<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
There has to be one entity for each item to be referenced.
An alternate method (rfc include) is described in the references. -->
<!ENTITY RFC2119 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2474 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.2474.xml">
<!ENTITY RFC2475 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.2475.xml">
<!ENTITY RFC3086 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3086.xml">
<!ENTITY RFC3289 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3289.xml">
<!ENTITY RFC4594 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.4594.xml">
<!ENTITY RFC5424 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.5424.xml">
<!ENTITY RFC5559 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.5559.xml">
<!ENTITY RFC5670 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.5670.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs),
please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-
Ds might want to use.
(Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
(using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="exp" docName="draft-ietf-pcn-sm-edge-behaviour-12"
ipr="trust200902">
<!-- category values: std, bcp, info, exp, and historic
ipr values: full3667, noModification3667, noDerivatives3667
you can add the attributes updates="NNNN" and obsoletes="NNNN"
they will automatically be output with "(if approved)" -->
<!-- ***** FRONT MATTER ***** -->
<front>
<!-- The abbreviated title is used in the page header - it is only
necessary if the
full title is longer than 39 characters -->
<title abbrev="PCN SM Boundary Node Behaviour">PCN Boundary Node Behaviour
for the Single Marking (SM) Mode of Operation</title>
<author fullname="Anna Charny" initials="A." surname="Charny">
<organization>Cisco Systems</organization>
<address>
<postal>
<street></street>
<city></city>
<region></region>
<code></code>
<country>USA</country>
</postal>
<email>anna@mwsm.com</email>
</address>
</author>
<author fullname="Xinyan (Joy) Zhang" initials="J." surname="Zhang">
<organization>Cisco Systems</organization>
<address>
<postal>
<street>300 Apollo Drive</street>
<city>Chelmsford</city>
<region>MA</region>
<code>01824</code>
<country>USA</country>
</postal>
<email>joyzhang@cisco.com</email>
</address>
</author>
<author fullname="Georgios Karagiannis" initials="G." surname="Karagiannis">
<organization>U. Twente</organization>
<address>
<postal>
<street> </street>
<city></city>
<region></region>
<code></code>
<country></country>
</postal>
<phone></phone>
<email>karagian@cs.utwente.nl</email>
</address>
</author>
<author fullname="Michael Menth" initials="M." surname="Menth">
<organization>University of Tuebingen</organization>
<address>
<postal>
<street>Sand 13</street>
<code>D-72076</code>
<city>Tuebingen</city>
<country>Germany</country>
</postal>
<phone>+49-7071-2970505</phone>
<email>menth@informatik.uni-tuebingen.de</email>
</address>
</author>
<author fullname="Tom Taylor" initials="T." role="editor" surname="Taylor">
<organization>Huawei Technologies</organization>
<address>
<postal>
<street></street>
<city>Ottawa</city>
<region>Ontario</region>
<country>Canada</country>
<code></code>
</postal>
<email>tom.taylor.stds@gmail.com</email>
</address>
</author>
<date year="2012" />
<!-- Meta-data Declarations -->
<area>Transport</area>
<workgroup>Internet Engineering Task Force</workgroup>
<keyword>PCN</keyword>
<keyword>single marking</keyword>
<keyword>SM</keyword>
<keyword>edge node behaviour</keyword>
<abstract>
<t>Pre-congestion notification (PCN) is a means for protecting the quality
of service for inelastic traffic admitted to a Diffserv domain. The overall
PCN architecture is described in RFC 5559. This memo is one of a series
describing possible boundary node behaviours for a PCN-domain. The behaviour
described here is that for a form of measurement-based load control using
two PCN marking states, not-marked, and excess-traffic-marked. This behaviour
is known informally as the Single Marking (SM) PCN-boundary-node behaviour. </t>
</abstract>
</front>
<middle>
<section anchor="intro" title="Introduction">
<t> 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 PCN-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 PCN-boundary-nodes about incipient
overloads before any congestion occurs (hence the "pre" part of "pre-congestion
notification"). The level of marking allows decisions to be made about whether
to admit or terminate PCN-flows. For more details see
<xref target="RFC5559"/>.</t>
<t>This document describes an experimental edge node behaviour to implement
PCN in a network. The experiment may be run in a network in which a
substantial proportion of the traffic carried is in the form of inelastic
flows and where admission control of micro-flows is applied at the edge.
For the effects of PCN to be observable, the committed bandwidth (i.e., level
of non-best-effort traffic) on at least some links of the network
should be near or at link capacity.
The amount of effort required to prepare the network for the experiment
(see <xref target="deploy"/>) may constrain the size of network to which
it is applied. The purposes of the experiment are:
<list style="symbols">
<t>to validate the specification of the SM edge behaviour;</t>
<t> to evaluate the effectiveness of the SM edge behaviour in preserving
quality of service for admitted flows; and </t>
<t>to evaluate PCN's potential for reducing the amount of capital and
operational costs in comparison to alternative methods of assuring quality
of service.</t>
</list>
For the first two objectives, the experiment should run long enough for the
network to experience sharp peaks of traffic in at least some directions. It
would also be desirable to observe PCN performance in the face of failures in
the network. A period in the order of a month or two in busy season may be
enough. The third objective is more difficult, and could require observation
over a period long enough for traffic demand to grow to the point where
additional capacity must be provisioned at some points in the network.
</t>
<t><xref target="behaviours"/> of this document specifies a detailed set
of algorithms and procedures used to implement the PCN mechanisms for the
SM mode of operation. Since the algorithms depend on specific metering and
marking behaviour at the interior nodes, it is also necessary to specify
the assumptions made about PCN-interior-node behaviour
(<xref target="coreAssum"/>). Finally, because PCN uses DSCP values to
carry its markings, a specification of PCN-boundary-node behaviour must
include the per domain behaviour (PDB) template specified in
<xref target="RFC3086"/>, filled out with the appropriate content
(<xref target="PDBSpec"/>).</t>
<t>Note that the terms "block" or "terminate" actually translate to one or
more of several possible courses of action, as discussed in Section 3.6 of
<xref target="RFC5559"/>. The choice of which action to take for blocked
or terminated flows is a matter of local policy.</t>
<t>[RFC EDITOR'S NOTE: RFCyyyy is the published version
of draft-ietf-pcn-cl-edge-behaviour.]</t>
<t>A companion document <xref target="RFCyyyy"/> specifies
the Controlled Load (CL) PCN-boundary-node behaviour. This document and
<xref target="RFCyyyy"/> have a great deal of text in
common. To simplify the task of the reader, the text in the present
document that is specific to the SM PCN-boundary-node behaviour is
preceded by the phrase: "[SM-specific]". A similar distinction for
CL-specific text is made in <xref target="RFCyyyy"/>.</t>
<section anchor="terms" title="Terminology">
<t>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 <xref target="RFC2119"/>.</t>
<t>This document uses the following terms defined in Section 2 of
<xref target="RFC5559"/>:
<list style="symbols">
<t>PCN-domain;</t>
<t>PCN-ingress-node;</t>
<t>PCN-egress-node;</t>
<t>PCN-interior-node;</t>
<t>PCN-boundary-node;</t>
<t>PCN-flow;</t>
<t>ingress-egress-aggregate (IEA);</t>
<t>PCN-excess-rate;</t>
<t>PCN-admissible-rate;</t>
<t>PCN-supportable-rate;</t>
<t>PCN-marked;</t>
<t>excess-traffic-marked.</t>
</list>
</t>
<t>It also uses the terms PCN-traffic and PCN-packet, for which the
definition is repeated from <xref target="RFC5559"/> because of their
importance to the understanding of the text that follows:
<list style="hanging" hangIndent="3">
<t hangText="PCN-traffic, PCN-packets, PCN-BA" >
<vspace blankLines="0"/>
A PCN-domain carries traffic of different Diffserv behaviour
aggregates (BAs) [RFC2474]. The PCN-BA uses the PCN mechanisms to
carry PCN-traffic, and the corresponding packets are PCN-packets.
The same network will carry traffic of other Diffserv BAs. The
PCN-BA is distinguished by a combination of the Diffserv codepoint
and the ECN field.</t>
</list>
</t>
<t>This document uses the following term from <xref target="RFC5670"/>:
<list style="symbols">
<t>excess-traffic-meter.</t>
</list>
</t>
<t>To complete the list of borrowed terms, this document reuses the following
terms and abbreviations defined in Section 3 of <xref target="ID.pcn-3-in-1"/>:
<list style="symbols">
<t>not-PCN codepoint;</t>
<t>Not-marked (NM) codepoint;</t>
<t>Excess-traffic-marked (ETM) codepoint.</t>
</list>
</t>
<t>This document defines the following additional terms:
<list style="hanging" hangIndent="3">
<t hangText="Decision Point"> <vspace blankLines="0" />
The node that makes the decision about which flows to admit and to terminate.
In a given network deployment, this can be the PCN-ingress-node or a
centralized control node. In either case, the PCN-ingress-node is the
point where the decisions are enforced.</t>
<t hangText="NM-rate"> <vspace blankLines="0" />
The rate of not-marked PCN-traffic received at a PCN-egress-node for a given
ingress-egress-aggregate in octets per second. For further details see
<xref target="egrColl"/>.</t>
<t hangText="ETM-rate"> <vspace blankLines="0" />
The rate of excess-traffic-marked PCN-traffic received at a PCN-egress-node
for a given ingress-egress-aggregate in octets per second. For further
details see <xref target="egrColl"/>.</t>
<t hangText="PCN-sent-rate"> <vspace blankLines="0"/>
The rate of PCN-traffic received at a PCN-ingress-node and destined for a
given ingress-egress-aggregate in octets per second. For further details
see <xref target="ingrBehav"/>.</t>
<t hangText="Congestion level estimate (CLE)"> <vspace blankLines="0" />
The ratio of PCN-marked to total PCN-traffic (measured in octets) received
for a given ingress-egress-aggregate during a given measurement period.
The CLE is used to derive the PCN-admission-state
(<xref target="decisAdmit"/>) and is also used by the report suppression
procedure (<xref target="repSuppress"/>) if report suppression is
activated.</t>
<t hangText="PCN-admission-state"> <vspace blankLines="0" />
The state ("admit" or "block") derived by the Decision Point for a given
ingress-egress-aggregate based on PCN packet marking statistics. The
Decision Point decides to admit or block new flows offered to the aggregate
based on the current value of the PCN-admission-state. For further details
see <xref target="decisAdmit"/>.</t>
<t hangText="Sustainable aggregate rate (SAR)">
<vspace blankLines="0"/>
The estimated maximum rate of PCN-traffic that can be carried in a given
ingress-egress-aggregate at a given moment without risking degradation of
quality of service for the admitted flows. The intention is that if the
PCN-sent-rate of every ingress-egress-aggregate passing through a given
link is limited to its sustainable aggregate rate, the total rate of
PCN-traffic flowing through the link will be limited to the
PCN-supportable-rate for that link. An estimate of the sustainable aggregate
rate for a given ingress-egress-aggregate is derived as part of the flow
termination procedure, and is used to determine how much PCN-traffic needs to
be terminated. For further details see <xref target="decisTerm"/>.</t>
<t hangText="CLE-reporting-threshold"> <vspace blankLines="0"/>
A configurable value against which the CLE is compared as part of
the report suppression procedure. For further details, see
<xref target="repSuppress"/>.</t>
<t hangText="CLE-limit"> <vspace blankLines="0" />
A configurable value against which the CLE is compared to determine the
PCN-admission-state for a given ingress-egress-aggregate. For further details,
see <xref target="decisAdmit"/>.</t>
<t hangText="T_meas"> <vspace blankLines="0"/>
A configurable time interval that defines the measurement
period over which the PCN-egress-node collects statistics relating to
PCN-traffic marking. At the end of the interval the PCN-egress-node
calculates the values NM-rate and ETM-rate as defined above and sends a report
to the Decision Point, subject to the operation of the report suppression
feature. For further details see <xref target="egressBehav"/>.</t>
<t hangText="T_maxsuppress"> <vspace blankLines="0"/>
A configurable time interval after which the PCN-egress-node MUST send
a report to the Decision Point for a given ingress-egress-aggregate
regardless of the most recent values of the CLE. This mechanism provides
the Decision Point with a periodic confirmation of liveness when report
suppression is activated. For further details, see
<xref target="repSuppress"/>.</t>
<t hangText="T_fail"> <vspace blankLines="0"/>
An interval after which the Decision Point concludes
that communication from a given PCN-egress-node has failed if it has
received no reports from the PCN-egress-node during that interval. For
further details see <xref target="decisSig"/>.</t>
<t hangText="T_crit">
<vspace blankLines="0" />
A configurable interval used in the calculation of T_fail.
For further details see <xref target="decisSig"/>.</t>
</list>
</t>
</section><!-- terms -->
</section><!-- intro -->
<section anchor="coreAssum" title="[SM-Specific] Assumed Core Network Behaviour for SM">
<t> This section describes the assumed behaviour for PCN-interior-nodes in
the PCN-domain. The SM mode of operation assumes that:
<list style="symbols">
<t> PCN-interior-nodes perform excess-traffic-marking of PCN-packets according
to the rules specified in <xref target="RFC5670"/>. </t>
<t> for IP transport, excess-traffic-marking of PCN-packets uses the
excess-traffic-marked (ETM) codepoint defined in
<xref target="ID.pcn-3-in-1"/>; for MPLS transport, an equivalent marking
is used as discussed in <xref target="ID.pcn-3-in-1"/> Appendix C;</t>
<t> on each link the reference rate for the excess-traffic-meter is
configured to be equal to the PCN-admissible-rate for the link; </t>
<t> the set of valid codepoint transitions is as shown in Sections 5.2.1
and 5.2.3.1 of <xref target="ID.pcn-3-in-1"/>.</t>
</list>
</t>
</section><!-- coreAssum -->
<section anchor="behaviours" title="Node Behaviours">
<section anchor="overBehav" title="Overview">
<t>This section describes the behaviour of the PCN-ingress-node,
PCN-egress-node, and the Decision Point (which MAY be collocated with the
PCN-ingress-node).</t>
<t> The PCN-egress-node collects the rates of not-marked and
excess-traffic-marked PCN-traffic for each ingress-egress-aggregate
and reports them to the Decision Point. For a detailed description,
see <xref target="egressBehav"/>. </t>
<t>The PCN-ingress-node enforces flow admission and termination decisions.
It also reports the rate of PCN-traffic sent to a given
ingress-egress-aggregate when requested by the Decision Point. For details,
see <xref target="ingrBehav"/>.</t>
<t>Finally, the Decision Point makes flow admission decisions and selects
flows to terminate based on the information provided by the PCN-ingress-node
and PCN-egress-node for a given ingress-egress-aggregate. For details, see
<xref target="decisBehav"/>.</t>
<t>Specification of a signaling protocol to report rates to the Decision
Point is out of scope of this document. If the PCN-ingress-node is chosen
as the Decision Point, <xref target="I-D.tsvwg-rsvp-pcn"/> specifies an
appropriate signaling protocol.</t>
<t><xref target="specSel"/> describes how to derive the filters by means of
which PCN-ingress-nodes and PCN-egress-nodes are able to classify incoming
packets into ingress-egress-aggregates.</t>
</section><!-- overBehav -->
<section anchor="egressBehav" title="Behaviour of the PCN-Egress-Node">
<section anchor="egrColl" title="Data Collection">
<t>The PCN-egress-node needs to meter the PCN-traffic it receives in order
to calculate the following rates for each ingress-egress-aggregate
passing through it. These rates SHOULD be calculated at the end of each
measurement period based on the PCN-traffic observed during that
measurement period. The duration of a measurement period is equal
to the configurable value T_meas. For further information see
<xref target="timers"/>.
<list style="symbols">
<t>NM-rate: octets per second of PCN-traffic in PCN-packets that are
not-marked (i.e., marked with the NM codepoint);</t>
<t>ETM-rate: octets per second of PCN-traffic in
PCN-packets that are excess-traffic-marked (i.e., marked with the ETM
codepoint).</t>
</list>
</t>
<t>
<list style="empty">
<t>Note: metering the PCN-traffic continuously and using
equal-length measurement intervals minimizes the statistical variance
introduced by the measurement process itself. On the other hand, the
operation of PCN is not affected if the starting and ending times of
the measurement intervals for different ingress-egress-aggregates are
different.</t>
</list>
</t>
</section><!-- egrColl -->
<section anchor="egrSig" title="Reporting the PCN Data">
<t>Unless the report suppression option described in
<xref target="repSuppress"/> is activated, the PCN-egress-node MUST
report the latest values of NM-rate and ETM-rate to the Decision Point
each time that it calculates them. </t>
</section><!-- egrSig -->
<section anchor="repSuppress" title="Optional Report Suppression">
<t>Report suppression MUST be provided as a configurable option, along with
two configurable parameters, the CLE-reporting-threshold and the maximum
report suppression interval T_maxsuppress. The default value of the
CLE-reporting-threshold is zero. The CLE-reporting-threshold MUST NOT
exceed the CLE-limit configured at the Decision Point. For further
information on T_maxsuppress see <xref target="timers"/>. </t>
<t>If the report suppression option is enabled, the PCN-egress-node MUST
apply the following procedure to decide whether to send a report to the
Decision Point, rather than sending a report automatically at the end of
each measurement interval.
<list style="numbers">
<t>As well as the quantities NM-rate and ETM-rate, the PCN-egress-node
MUST calculate the congestion level estimate (CLE) for each measurement
interval. The CLE is computed as:
<list style="empty">
<t>[SM-specific]
<vspace blankLines="0"/>
CLE = ETM-rate / (NM-rate + ETM-rate)</t>
</list>
if any PCN-traffic was observed, or CLE = 0 if all the rates are zero.</t>
<t>If the CLE calculated for the latest measurement interval is
greater than the CLE-reporting-threshold and/or the CLE calculated
for the immediately previous interval was greater than the
CLE-reporting-threshold, then the PCN-egress-node MUST send a
report to the Decision Point. The contents of the report are
described below.
<list style="empty">
<t>The reason for taking into account the CLE of the previous
interval is to ensure that the Decision Point gets immediate
feedback if the CLE has dropped below the CLE-reporting-threshold.
This is essential if the Decision Point is running the flow termination
procedure and observing whether (further) flow termination is needed.
See <xref target="decisTerm"/>.</t>
</list>
</t>
<t>If an interval T_maxsuppress has elapsed since the last report was sent
to the Decision Point, then the PCN-egress-node MUST send a report to the
Decision Point regardless of the CLE value.</t>
<t>If neither of the preceding conditions holds, the PCN-egress-node MUST
NOT send a report for the latest measurement interval.</t>
</list>
</t>
<t>Each report sent to the Decision Point when report suppression has been
activated MUST contain the values of NM-rate, ETM-rate, and CLE that were
calculated for the most recent measurement interval.</t>
<t>The above procedure ensures that at least one report is sent per interval
(T_maxsuppress + T_meas). This demonstrates to the Decision Point that both
the PCN-egress-node and the communication path between that node and the
Decision Point are in operation. </t>
</section><!-- repSuppress -->
</section><!-- egressBehav -->
<section anchor="decisBehav" title="Behaviour at the Decision Point">
<t>Operators can choose to use PCN procedures just for flow admission, or
just for flow termination, or for both. Decision Points MUST implement
both mechanisms, but configurable options MUST be provided to activate or
deactivate PCN-based flow admission and flow termination independently of
each other at a given Decision Point.</t>
<t>If PCN-based flow termination is enabled but PCN-based flow admission is
not, flow termination operates as specified in this document.
<list style="empty">
<t>Logically, some other system of flow admission control is in
operation, but the description of such a system is out of scope
of this document and depends on local arrangements.</t>
</list>
</t>
<section anchor="decisAdmit" title="Flow Admission">
<t>The Decision Point determines the PCN-admission-state for a given
ingress-egress-aggregate each time it receives a report from the egress
node. It makes this determination on the basis of the congestion level
estimate (CLE). If the CLE is provided in the egress node report, the
Decision Point SHOULD use the reported value. If the CLE was not provided
in the report, the Decision Point MUST calculate it based on the other
values provided in the report, using the formula:
<list style="empty">
<t>[SM-specific]
<vspace blankLines="0"/>
CLE = ETM-rate / (NM-rate + ETM-rate)</t>
</list>
if any PCN-traffic was observed, or CLE = 0 if all the rates are zero.</t>
<t>The Decision Point MUST compare the reported or calculated CLE to a
configurable value, the CLE-limit. If the CLE is less than the CLE-limit,
the PCN-admission-state for that aggregate MUST be set to "admit";
otherwise it MUST be set to "block".
</t>
<t>If the PCN-admission-state for a given ingress-egress-aggregate is
"admit", the Decision Point SHOULD allow new flows to be admitted to that
aggregate. If the PCN-admission-state for a given ingress-egress-aggregate
is "block", the Decision Point SHOULD NOT allow new flows to be admitted
to that aggregate. These actions MAY be modified by policy in specific
cases, but such policy intervention risks defeating the purpose of using
PCN. </t>
<t>A performance study of this admission control method is presented in
<xref target="MeLe12"/>.</t>
</section><!-- decisAdmit -->
<section anchor="decisTerm" title="Flow Termination">
<t>[SM-specific] When the
PCN-admission-state computed on the basis of the CLE is "block" for
the given ingress-egress-aggregate, the Decision Point MUST request
the PCN-ingress-node to provide an estimate of the rate (PCN-sent-rate)
at which the PCN-ingress-node is receiving PCN-traffic that is destined
for the given ingress-egress-aggregate.
<list style="empty">
<t>If the Decision Point is collocated with the PCN-ingress-node, the
request and response are internal operations.</t>
</list>
The Decision Point MUST then wait, for both the requested rate from the
PCN-ingress-node and the next report from the PCN-egress-node for the
ingress-egress-aggregate concerned. If this next egress node report also
includes a non-zero value for the ETM-rate, the Decision Point MUST
determine the amount of PCN-traffic to terminate using the following steps:
<list style="numbers">
<t>[SM-specific] The sustainable aggregate rate (SAR) for the
given ingress-egress-aggregate is estimated using the formula:
<list style="empty">
<t>SAR = U * NM-Rate</t>
</list>
for the latest reported interval, where U is a configurable factor
greater than one which is the same for all ingress-egress-aggregates.
In effect, the value of the PCN-supportable-rate for each link is
approximated by the expression
<list style="empty">
<t>U*PCN-admissible-rate</t>
</list>
rather than being calculated explicitly.
</t>
<t>The amount of traffic to be terminated is the difference:
<list style="empty">
<t>PCN-sent-rate - SAR,</t>
</list> where PCN-sent-rate is the value provided by the PCN-ingress-node.
</t>
</list>
See <xref target="decisSig"/> for a discussion of appropriate actions
if the Decision Point fails to receive a timely response to its request
for the PCN-sent-rate.
</t>
<t>If the difference calculated in the second step is positive, the
Decision Point SHOULD select PCN-flows to terminate, until it determines
that the PCN-traffic admission rate will no longer be greater than the
estimated sustainable aggregate rate. If the Decision Point knows the
bandwidth required by individual PCN-flows (e.g., from resource signalling
used to establish the flows), it MAY choose to complete its selection of
PCN-flows to terminate in a single round of decisions.</t>
<t>Alternatively, the Decision Point MAY spread flow termination over
multiple rounds to avoid over-termination. If this is done, it is
RECOMMENDED that enough time elapse between successive rounds of termination
to allow the effects of previous rounds to be reflected in the measurements
upon which the termination decisions are based. (See
<xref target="Satoh10"/> and sections 4.2 and 4.3 of
<xref target="MeLe10"/>.)</t>
<t> In general, the selection of flows for termination MAY be guided by
policy.</t>
<t>The Decision Point SHOULD log each round of termination as described in
<xref target="termLog"/>.</t>
</section><!-- decisTerm -->
<section anchor="decisSig"
title="Decision Point Action For Missing PCN-Boundary-Node Reports">
<t>The Decision Point SHOULD start a timer t_recvFail when it receives
a report from the PCN-egress-node. t_recvFail is reset each time a new
report is received from the PCN-egress-node. t_recvFail expires if it
reaches the value T_fail. T_fail is calculated according to the
following logic:
<list style="letters">
<t>T_fail = the configurable duration T_crit, if report suppression is
not deployed;</t>
<t>T_fail = T_crit also if report suppression is deployed and the last
report received from the PCN-egress-node contained a CLE value greater
than CLE-reporting-threshold (<xref target="repSuppress"/>);</t>
<t>T_fail = 3 * T_maxsuppress (<xref target="repSuppress"/>) if report
suppression is deployed and the last report received from the
PCN-egress-node contained a CLE value less than or equal to
CLE-reporting-threshold.</t>
</list>
</t>
<t>If timer t_recvFail expires for a given PCN-egress-node, the Decision
Point SHOULD notify management. A log format is defined for that purpose
in <xref target="contactLog"/>. Other actions depend on local policy, but
MAY include blocking of new flows destined for the PCN-egress-node concerned
until another report is received from it. Termination of already-admitted
flows is also possible, but could be triggered by "Destination unreachable"
messages received at the PCN-ingress-node. </t>
<t>If a centralized Decision Point sends a request for the estimated value
of PCN-sent-rate to a given PCN-ingress-node and fails to receive a
response in a reasonable amount of time, the Decision Point SHOULD repeat
the request once. [SM-specific] If the second request to the PCN-ingress-node
also fails, the Decision Point SHOULD notify management. The log format
defined in <xref target="contactLog"/> is also suitable for this case.
<list style="empty">
<t> The response timer t_sndFail with upper bound T_crit is specified in
<xref target="timers"/>. The use of T_crit is an approximation. A more
precise limit would be of the order of two round-trip times, plus an
allowance for processing at each end, plus an allowance for variance
in these values.</t>
</list>
</t>
<t>See <xref target="timers"/> for suggested values of the configurable
durations T_crit and T_maxsuppress.</t>
</section><!-- decisSig -->
</section><!-- decisBehav -->
<section anchor="ingrBehav" title="Behaviour of the Ingress Node">
<t>The PCN-ingress-node MUST provide the estimated current rate of
PCN-traffic received at that node and destined for a given
ingress-egress-aggregate in octets per second (the PCN-sent-rate)
when the Decision Point requests it. The way this rate estimate is
derived is a matter of implementation.
<list style="empty">
<t>For example, the rate that the PCN-ingress-node supplies can be
based on a quick sample taken at the time the information is required.</t>
</list>
</t>
</section><!-- ingrBehav -->
<section anchor="timers" title="Summary of Timers and Associated Configurable Durations">
<t>Here is a summary of the timers used in the procedures just described:
<list style="hanging">
<t hangText="t_meas"><vspace blankLines="0"/>
<list style="empty">
<t>Where used: PCN-egress-node.</t>
<t>Used in procedure: data collection (<xref target="egrColl"/>).</t>
<t>Incidence: one per ingress-egress-aggregate.</t>
<t>Reset: immediately on expiry.</t>
<t>Expiry: when it reaches the configurable duration T_meas.</t>
<t>Action on expiry: calculate NM-rate and
ETM-rate and proceed to the applicable reporting procedure
(<xref target="egrSig"/> or <xref target="repSuppress"/>).</t>
</list>
</t>
<t hangText="t_maxsuppress"><vspace blankLines="0"/>
<list style="empty">
<t>Where used: PCN-egress-node.</t>
<t>Used in procedure: report suppression (<xref target="repSuppress"/>).</t>
<t>Incidence: one per ingress-egress-aggregate.</t>
<t>Reset: when the next report is sent, either after expiry or because the
CLE has exceeded the reporting threshold.</t>
<t>Expiry: when it reaches the configurable duration T_maxsuppress.</t>
<t>Action on expiry: send a report to the Decision Point the next time
the reporting procedure (<xref target="repSuppress"/>) is invoked,
regardless of the value of CLE.</t>
</list>
</t>
<t hangText="t_recvFail"><vspace blankLines="0"/>
<list style="empty">
<t>Where used: Decision Point.</t>
<t>Used in procedure: failure detection (<xref target="decisSig"/>).</t>
<t>Incidence: one per ingress-egress-aggregate.</t>
<t>Reset: when a report is received for the ingress-egress-aggregate.</t>
<t>Expiry: when it reaches the calculated duration T_fail. As described
in <xref target="decisSig"/>, T_fail is equal either to the configured
duration T_crit or to the calculated value 3 * T_maxsuppress, where
T_maxsuppress is a configured duration.</t>
<t>Action on expiry: notify management, and possibly other
actions.</t>
</list>
</t>
<t hangText="t_sndFail"><vspace blankLines="0"/>
<list style="empty">
<t>Where used: centralized Decision Point.</t>
<t>Used in procedure: failure detection (<xref target="decisSig"/>).</t>
<t>Incidence: only as required, one per outstanding request to a
PCN-ingress-node.</t>
<t>Started: when a request for the value of PCN-sent-traffic for a given
ingress-egress-aggregate is sent to the PCN-ingress-node.</t>
<t>Terminated without action: when a response is received before expiry.</t>
<t>Expiry: when it reaches the configured duration T_crit.</t>
<t>Action on expiry: as described in <xref target="decisSig"/>.</t>
</list>
</t>
</list>
</t>
<section anchor="duratVal"
title="Recommended Values For the Configurable Durations">
<t>The timers just described depend on three configurable durations,
T_meas, T_maxsuppress, and T_crit. The recommendations given below for
the values of these durations are all related to the intended PCN
reaction time of 1 to 3 seconds. However, they are based on judgement
rather than operational experience or mathematical derivation.</t>
<t>The value of T_meas is RECOMMENDED to be of the order of 100 to 500 ms
to provide a reasonable tradeoff between demands on network resources
(PCN-egress-node and Decision Point processing, network bandwidth) and
the time taken to react to impending congestion.</t>
<t>The value of T_maxsuppress is RECOMMENDED to be on the order of 3 to 6
seconds, for similar reasons to those for the choice of T_meas.</t>
<t>The value of T_crit SHOULD NOT be less than 3 * T_meas. Otherwise it
could cause too many management notifications due to transient conditions in
the PCN-egress-node or along the signalling path. A reasonable
upper bound on T_crit is in the order of 3 seconds.</t>
</section>
</section><!-- timers -->
</section><!-- behaviours -->
<section anchor="PDBSpec" title="Specification of Diffserv Per-Domain
Behaviour">
<t>This section provides the specification required by <xref target="RFC3086"/>
for a per-domain behaviour.</t>
<section anchor="PDBApplic" title="Applicability">
<t>This section quotes <xref target="RFC5559"/>. </t>
<t>The PCN SM boundary node behaviour specified in this document is
applicable to inelastic traffic (particularly video and voice) where
quality of service for admitted flows is protected primarily by admission
control at the ingress to the domain.</t>
<t> In exceptional circumstances (e.g., due to rerouting as a result of
network failures) already-admitted flows may be terminated to protect the
quality of service of the remaining flows. [SM-specific] The performance
results in, e.g., <xref target="MeLe10"/>, indicate that the SM boundary
node behaviour is more likely to terminate too many flows under such
circumstances than the CL boundary node behaviour described in
<xref target="RFCyyyy"/>.</t>
<t>[RFC EDITOR'S NOTE: please replace RFCyyyy above by the reference to the
published version of draft-ietf-pcn-cl-edge-behaviour.]</t>
</section><!-- PDBApplic -->
<section anchor="PDBTechSpec" title="Technical Specification">
<section anchor="PDBclas" title="Classification and Traffic Conditioning">
<t>Packet classification and treatment at the PCN-ingress-node is described
in Section 5.1 of <xref target="ID.pcn-3-in-1"/>.</t>
<t>PCN packets are further classified as belonging or not belonging to
an admitted flow. PCN packets not belonging to an admitted flow are
"blocked". (See <xref target="intro"/> for an understanding of how this
term is interpreted.) Packets belonging to an admitted flow are policed
to ensure that they adhere to the rate or flowspec that was negotiated
during flow admission.</t>
</section>
<section anchor="PDBPHB" title="PHB Configuration">
<t>The PCN SM boundary node behaviour is a metering and marking behaviour
rather than a scheduling behaviour. As a result, while the encoding uses
a single DSCP value, that value can vary from one deployment to another.
The PCN working group suggests using admission control for the following
service classes (defined in <xref target="RFC4594"/>):
<list style="symbols">
<t>Telephony (EF)</t>
<t>Real-time interactive (CS4)</t>
<t>Broadcast Video (CS3)</t>
<t>Multimedia Conferencing (AF4)</t>
</list>
For a fuller discussion, see Appendix A of <xref target="ID.pcn-3-in-1"/>.</t>
</section>
</section><!-- PDBTechSpec -->
<section anchor="PDBAttrib" title="Attributes">
<t>The purpose of this per-domain behaviour is to achieve low loss and
jitter for the target class of traffic. The design requirement for PCN
was that recovery from overloads through the use of flow termination
should happen within 1-3 seconds. PCN probably performs better than that.</t>
</section><!-- PDBAttrib -->
<section anchor="PDBParms" title="Parameters">
<t>The set of parameters that needs to be configured at each PCN-node and
at the Decision Point is described in <xref target="deploy"/>.</t>
</section><!-- PDBParms -->
<section anchor="PDBAssum" title="Assumptions">
<t>It is assumed that a specific portion of link capacity has been
reserved for PCN-traffic.</t>
</section><!-- PDBAssum -->
<section anchor="PDBExamp" title="Example Uses">
<t>The PCN SM behaviour may be used to carry real-time traffic, particularly
voice and video.</t>
</section><!-- PDBExamp -->
<section anchor="PDBEnv" title="Environmental Concerns">
<t>The PCN SM per-domain behaviour could theoretically interfere with the use
of end-to-end ECN due to reuse of ECN bits for PCN marking. Section 5.1 of
<xref target="ID.pcn-3-in-1"/> describes the actions that can be taken to
protect ECN signalling. Appendix B of that document provides further
discussion of how ECN and PCN can co-exist. </t>
</section><!-- PDBEnv -->
<section anchor="PDBSec" title="Security Considerations">
<t>Please see the security considerations in <xref target="RFC5559"/> as well
as those in <xref target="RFC2474"/> and <xref target="RFC2475"/>.</t>
</section><!-- PDBSec -->
</section><!-- PDBSpec -->
<section anchor="opsConsid" title="Operational and Management Considerations">
<section anchor="deploy" title="Deployment of the SM Edge Behaviour">
<t>Deployment of the PCN Single Marking edge behaviour requires the following
steps:
<list style="symbols">
<t>selection of deployment options and global parameter values;</t>
<t>derivation of per-node and per-link information; </t>
<t>installation, but not activation, of parameters and policies at all
of the nodes in the PCN domain;</t>
<t>activation and verification of all behaviours.</t>
</list>
</t>
<section anchor="globSel" title="Selection of Deployment Options and Global Parameters">
<t>The first set of decisions affects the operation of the network as a whole.
To begin with, the operator needs to make basic design decisions
such as whether the Decision Point is centralized or collocated with the
PCN-ingress-nodes, and whether per-flow and aggregate resource signalling
as described in <xref target="I-D.tsvwg-rsvp-pcn"/> is deployed in the
network. After that, the operator needs to decide:
<list style="symbols">
<t>whether PCN packets will be forwarded unencapsulated or in tunnels between
the PCN-ingress-node and the PCN-egress-node. Encapsulation preserves
incoming ECN settings and simplifies the PCN-egress-node's job when it
comes to relating incoming packets to specific ingress-egress-aggregates,
but lowers the path MTU and imposes the extra labour of
encapsulation/decapsulation on the PCN-edge-nodes. </t>
<t>which service classes will be subject to PCN control and what Diffserv
code point (DSCP) will be used for each. (See <xref target="ID.pcn-3-in-1"/>
Appendix A for advice on this topic.)</t>
<t>the markings to be used at all nodes in the PCN domain to indicate
Not-Marked (NM) and Excess-Traffic-Marked (ETM) PCN packets;</t>
<t>The marking rules for re-marking PCN-traffic leaving the PCN domain;</t>
<t>whether PCN-based flow admission is enabled;</t>
<t>whether PCN-based flow termination is enabled.</t>
</list>
</t>
<t>The following parameters affect the operation of PCN itself. The operator
needs to choose:
<list style="symbols">
<t>the value of CLE-limit if PCN-based flow admission is enabled.
[SM-specific] It is RECOMMENDED that the CLE-limit for SM be set
fairly low, in the order of 0.05. </t>
<t>the value of the collection interval T_meas. For a recommended range of
values see <xref target="duratVal"/> above.</t>
<t>whether report suppression is to be enabled at the PCN-egress-nodes
and if so, the values of CLE-reporting-threshold and T_maxsuppress. It is
reasonable to leave CLE-reporting-threshold at its default value (zero,
as specified in <xref target="repSuppress"/>). For a recommended range
of values of T_maxsuppress see <xref target="duratVal"/> above.</t>
<t>the value of the duration T_crit, which the Decision Point uses in
deciding whether communications with a given PCN-edge-node have failed.
For a recommended range of values of T_crit see
<xref target="duratVal"/> above.</t>
<t>[SM-specific] The factor U that is used in the flow termination procedure
(<xref target="decisTerm"/>). An operational definition for U is given in
that section, but it may be thought of as a contingency factor providing
a buffer to handle flow peaks above the aggregate levels expected when
flows are admitted. A reasonable value for U is between 1.2 and 2. Larger
values of U tend to cause more over-termination of traffic during peaks, but
raise the average link utilization level. </t>
</list>
</t>
</section><!-- globSel -->
<section anchor="specSel" title="Specification of Node- and Link-Specific Parameters">
<t>Filters are required at both the PCN-ingress-node and the PCN-egress-node
to classify incoming PCN packets by ingress-egress-aggregate. Because of the
potential use of multi-path routing in domains upstream of the PCN-domain,
it is impossible to do such classification reliably at the PCN-egress-node
based on the packet header contents as originally received at the
PCN-ingress-node. (Packets with the same header contents could enter the
PCN-domain at multiple PCN-ingress-nodes.) As a result, the only way to
construct such filters reliably is to tunnel the packets from the
PCN-ingress-node to the PCN-egress-node. </t>
<t>The PCN-ingress-node needs filters in order to place PCN packets
into the right tunnel in the first instance, and also to satisfy requests
from the Decision Point for admission rates into specific
ingress-egress-aggregates. These filters select the PCN-egress-node,
but not necessarily a specific path through the network to that node.
As a result, they are likely to be stable even in the face of failures in the
network, except when the PCN-egress-node itself becomes unreachable. If all
PCN packets will be tunneled, the PCN-ingress-node also needs to know the
address of the peer PCN-egress-node associated with each filter.</t>
<t>Operators may wish to give some thought to the provisioning of alternate
egress points for some or all ingress-egress aggregates in case of failure
of the PCN-egress-node. This could require the setting up of standby tunnels
to these alternate egress points.</t>
<t>Each PCN-egress-node needs filters to classify incoming PCN packets by
ingress-egress-aggregate, in order to gather measurements on a per-aggregate
basis. If tunneling is used, these filters are constructed on the basis of the
identifier of the tunnel from which the incoming packet has emerged (e.g. the
source address in the outer header if IP encapsulation is used). The
PCN-egress-node also needs to know the address of the Decision Point to which
it sends reports for each ingress-egress-aggregate. </t>
<t>A centralized Decision Point needs to have the address of the
PCN-ingress-node corresponding to each ingress-egress-aggregate. Security
considerations require that information also be prepared for a centralized
Decision Point and each PCN-edge-node to allow them to authenticate each
other. </t>
<t>Turning to link-specific parameters, the operator needs to derive a value
for the PCN-admissible-rate on each link in the network. The first two
paragraphs of Section 5.2.2 of <xref target="RFC5559"/> discuss how these
values may be derived. ([SM-specific] Confusingly, "PCN-admissible-rate" in
the present context corresponds to "PCN-threshold-rate" in the cited
paragraphs.)</t>
</section><!-- specSel -->
<section anchor="config" title="Installation of Parameters and Policies">
<t>As discussed in the previous two sections, every PCN node needs to be
provisioned with a number of parameters and policies relating to its
behaviour in processing incoming packets. The Diffserv MIB
<xref target="RFC3289"/> can be useful for this purpose, although it
needs to be extended in some cases. This MIB covers packet classification,
metering, counting, policing and dropping, and marking.
The required extensions specifically include an encapsulation action following
re-classification by ingress-egress-aggregate. In addition, the MIB has to be
extended to include objects for marking the ECN field in the outer header at
the PCN-ingress-node and an extension to the classifiers to include the ECN
field at PCN-interior and PCN-egress-nodes. Finally, a new object
may need to be defined at the PCN-interior-nodes to represent the
packet-size-independent excess-traffic-marking metering algorithm.</t>
<t> The value for the PCN-admissible-rate on each link on a node appears
as a metering parameter. Operators should take note of the need to deploy
excess-traffic meters either on the ingress side or the egress of each interior
link, but not both (Appendix B.2 of <xref target="RFC5670"/>. </t>
<t>The following additional information has to be configured by other
means (e.g., additional MIBs, NETCONF models).</t>
<t>At the PCN-egress-node:
<list style="symbols">
<t>the measurement interval T_meas (units of ms, range 50 to 1000);</t>
<t>whether report suppression is to be applied;</t>
<t>if so, the interval T_maxsuppress (units of 100 ms, range 1 to 100)
and the CLE-reporting-threshold (units of tenths of one percent,
range 0 to 1000, default value 0);</t>
<t>the address of the PCN-ingress-node for each ingress-egress-aggregate,
if the Decision Point is collocated with the PCN-ingress-node and
<xref target="I-D.tsvwg-rsvp-pcn"/> is not deployed.</t>
<t>the address of the centralized Decision Point to which it
sends its reports, if there is one.</t>
</list>
</t>
<t>At the Decision Point:
<list style="symbols">
<t>whether PCN-based flow admission is enabled;</t>
<t>whether PCN-based flow termination is enabled.</t>
<t>the value of CLE-limit (units of tenths of one percent,
range 0 to 1000);</t>
<t>[SM-specific] the value of the factor U used in the flow termination
procedure;</t>
<t>the value of the interval T_crit (units of 100 ms, range 1 to 100);</t>
<t>whether report suppression is to be applied;</t>
<t>if so, the interval T_maxsuppress (units of 100 ms, range 1 to 100)
and the CLE-reporting-threshold (units of tenths of one percent,
range 0 to 1000, default value 0). These MUST be the same values that
are provisioned in the PCN-egress-nodes;</t>
<t>if the Decision Point is centralized, the address of the
PCN-ingress-node (and any other information needed to establish a
security association) for each ingress-egress-aggregate.</t>
</list>
</t>
<t>Depending on the testing strategy, it may be necessary to install the
new configuration data in stages. This is discussed further below.</t>
</section><!-- config -->
<section anchor="testing" title="Activation and Verification of All Behaviours">
<t>It is certainly not within the scope of this document to advise on
testing strategy, which operators undoubtedly have well in hand. Quite
possibly an operator will prefer an incremental approach to activation
and testing. Implementing the PCN marking scheme at PCN-ingress-nodes,
corresponding scheduling behaviour in downstream nodes, and
re-marking at the PCN-egress-nodes is a large enough step in itself
to require thorough testing before going further. </t>
<t>Testing will probably involve the injection of packets at individual
nodes and tracking of how the node processes them. This work can make use
of the counter capabilities included in the Diffserv MIB. The application
of these capabilities to the management of PCN is discussed in the next
section.</t>
</section><!-- testing -->
</section><!-- deploy -->
<section anchor="mgmt" title="Management Considerations">
<t>This section focuses on the use of event logging and the use of counters
supported by the Diffserv MIB <xref target="RFC3289"/> for the various
monitoring tasks involved in management of a PCN network.</t>
<section anchor="evLogs" title="Event Logging In the PCN Domain">
<t>It is anticipated that event logging using SYSLOG <xref target="RFC5424"/>
will be needed for fault management and potentially for capacity management.
Implementations MUST be capable of generating logs for the following events:
<list style="symbols">
<t>detection of loss of contact between a Decision Point
and a PCN-edge-node, as described in <xref target="decisSig"/>;</t>
<t>successful receipt of a report from a PCN-egress-node, following
detection of loss of contact with that node;</t>
<t>flow termination events.</t>
</list>
All of these logs are generated by the Decision Point. There is a strong
likelihood in the first and third cases that the events are correlated with
network failures at a lower level. This has implications for how often specific
event types should be reported, so as not to contribute unnecessarily to
log buffer overflow. Recommendations on this topic follow for each event
report type.
</t>
<t>The field names (e.g., HOSTNAME, STRUCTURED-DATA) used in the following
subsections are defined in <xref target="RFC5424"/>.</t>
<section anchor="contactLog" title="Logging Loss and Restoration of Contact">
<t><xref target="decisSig"/> describes the circumstances under which the
Decision Point may determine that it has lost contact, either with a
PCN-ingress-node or a PCN-egress-node, due to failure to receive an expected
report. Loss of contact with a PCN-ingress-node is a case primarily applicable
when the Decision Point is in a separate node. However, implementations MAY
implement logging in the collocated case if the implementation is such that
non-response to a request from the Decision Point function can occasionally
occur due to processor load or other reasons.</t>
<t>The log reporting the loss of contact with a PCN-ingress-node or
PCN-egress-node MUST include the following content:
<list style="symbols">
<t>The HOSTNAME field MUST identify the Decision Point issuing the log.</t>
<t>A STRUCTURED-DATA element MUST be present, containing parameters
identifying the node for which an expected report has not been received
and the type of report lost (ingress or egress). It is RECOMMENDED that
the SD-ID for the STRUCTURED-DATA element have the form "PCNNode"
(without the quotes), which has been registered with IANA. The node
identifier PARAM-NAME is RECOMMENDED to be "ID" (without the quotes).
The identifier itself is subject to the preferences expressed in Section
6.2.4 of <xref target="RFC5424"/> for the HOSTNAME field. The report type
PARAM-NAME is RECOMMENDED to be "RTyp" (without the quotes). The PARAM-VALUE
for the RTyp field MUST be either "ingr" or "egr".</t>
</list>
</t>
<t>The following values are also RECOMMENDED for the indicated fields in
this log, subject to local practice:
<list style="symbols">
<t>PRI initially set to 115, representing a Facility value of (14) "log alert"
and a Severity level of (3) "Error Condition". Note that loss of contact with
a PCN-egress-node implies that no new flows will be admitted to one or
more ingress-egress-aggregates until contact is restored. The reason a
higher severity level (lower value) is not proposed for the initial log
is because any corrective action would probably be based on alerts at a
lower subsystem level.</t>
<t>APPNAME set to "PCN" (without the quotes).</t>
<t>MSGID set to "LOST" (without the quotes).</t>
</list>
</t>
<t>If contact is not regained with a PCN-egress-node in a reasonable
period of time (say, one minute), the log SHOULD be repeated, this time
with a PRI value of 113, implying a Facility value of (14) "log alert"
and a Severity value of (1) "Alert: action must
be taken immediately". The reasoning is that by this time, any more general
conditions should have been cleared, and the problem lies specifically
with the PCN-egress-node concerned and the PCN application in particular.</t>
<t>Whenever a loss-of-contact log is generated for a PCN-egress-node, a log
indicating recovery SHOULD be generated when the Decision Point next receives
a report from the node concerned. The log SHOULD have the same content as
just described for the loss-of-contact log, with the following differences:
<list style="symbols">
<t>PRI changes to 117, indicating a Facility value of (14) "log alert"
and a Severity of (5) "Notice: normal but significant condition".</t>
<t>MSGID changes to "RECVD" (without the quotes).</t>
</list>
</t>
</section><!-- contactLog -->
<section anchor="termLog" title="Logging Flow Termination Events">
<t><xref target="decisTerm"/> describes the process whereby the Decision
Point decides that flow termination is required for a given
ingress-egress-aggregate, calculates how much flow to terminate, and
selects flows for termination. This section describes a log that SHOULD
be generated each time such an event occurs. (In the case where termination
occurs in multiple rounds, one log SHOULD be generated per round.) The log
may be useful in fault management, to indicate the service impact of a
fault occuring in a lower-level subsystem. In the absence of network
failures, it may also be used as an indication of an urgent need to review
capacity utilization along the path of the ingress-egress-aggregate
concerned.</t>
<t>The log reporting a flow termination event MUST include the following
content:
<list style="symbols">
<t>The HOSTNAME field MUST identify the Decision Point issuing the log.</t>
<t>A STRUCTURED-DATA element MUST be present, containing parameters
identifying the ingress and egress nodes for the ingress-egress-aggregate
concerned, indicating the total amount of flow being terminated, and
giving the number of flows terminated to achieve that objective.
<vspace blankLines="1"/>
It is RECOMMENDED that the SD-ID for the STRUCTURED-DATA element have
the form: "PCNTerm" (without the quotes), which has been registered with IANA.
The parameter identifying the ingress node for the ingress-egress-aggregate
is RECOMMENDED to have PARAM-NAME "IngrID" (without the quotes). This
parameter MAY be omitted if the Decision Point is collocated with that
PCN-ingress-node. The parameter identifying the egress node for the
ingress-egress-aggregate is RECOMMENDED to have PARAM-NAME "EgrID"
(without the quotes). Both identifiers are subject to the preferences
expressed in Section 6.2.4 of <xref target="RFC5424"/> for the HOSTNAME
field.
<vspace blankLines="1"/>
The parameter giving the total amount of flow being terminated is
RECOMMENDED to have PARAM-NAME "TermRate" (without the quotes). The
PARAM-VALUE MUST be the target rate as calculated according to the
procedures of <xref target="decisTerm"/>, as an integer value in
thousands of octets per second. The parameter giving the number of
flows selected for termination is RECOMMENDED to have PARAM-NAME
"FCnt" (without the quotes). The PARAM-VALUE for this parameter MUST
be an integer, the number of flows selected.
</t>
</list>
</t>
<t>The following values are also RECOMMENDED for the indicated fields in
this log, subject to local practice:
<list style="symbols">
<t>PRI initially set to 116, representing a Facility value of (14) "log alert"
and a Severity level of (4) "Warning: warning conditions". </t>
<t>APPNAME set to "PCN" (without the quotes).</t>
<t>MSGID set to "TERM" (without the quotes).</t>
</list>
</t>
</section>
</section><!-- evLogs -->
<section anchor="counters" title="Provision and Use of Counters">
<t>The Diffserv MIB <xref target="RFC3289"/> allows for the provision of
counters along the various possible processing paths associated with an
interface and flow direction. It is RECOMMENDED that the PCN-nodes be
instrumented as described below. It is assumed that the cumulative counts
so obtained will be collected periodically for use in debugging, fault
management, and capacity management. </t>
<t>PCN-ingress-nodes SHOULD provide the following counts for each
ingress-egress-aggregate. Since the Diffserv MIB installs counters by
interface and direction, aggregation of counts over multiple interfaces may
be necessary to obtain total counts by ingress-egress-aggregate. It is
expected that such aggregation will be performed by a central system rather
than at the PCN-ingress-node.
<list style="symbols">
<t>total PCN packets and octets received for that ingress-egress-aggregate
but dropped;</t>
<t>total PCN packets and octets admitted to that aggregate.</t>
</list>
</t>
<t>PCN-interior-nodes SHOULD provide the following counts for each
interface, noting that a given packet MUST NOT be counted more than once
as it passes through the node:
<list style="symbols">
<t>total PCN packets and octets dropped;</t>
<t>total PCN packets and octets forwarded without re-marking;</t>
<t>total PCN packets and octets re-marked to Excess-Traffic-Marked.</t>
</list>
</t>
<t>PCN-egress-nodes SHOULD provide the following counts for each
ingress-egress-aggregate. As with the PCN-ingress-node, so with the
PCN-egress-node it is expected that any necessary aggregation over multiple
interfaces will be done by a central system.
<list style="symbols">
<t>total Not-Marked PCN packets and octets received;</t>
<t>total Excess-Traffic-Marked PCN packets and octets received.</t>
</list>
</t>
<t>The following continuously cumulative counters SHOULD be provided as
indicated, but require new MIBs to be defined. If the Decision Point is not
collocated with the PCN-ingress-node, the latter SHOULD provide a count of
the number of requests for PCN-sent-rate received from the Decision Point
and the number of responses returned to the Decision Point. The
PCN-egress-node SHOULD provide a count of the number of reports sent to
each Decision Point. Each Decision Point SHOULD provide the following:
<list style="symbols">
<t>total number of requests for PCN-sent-rate sent to each PCN-ingress-node
with which it is not collocated;</t>
<t>total number of reports received from each PCN-egress-node;</t>
<t>total number of loss-of-contact events detected for each
PCN-boundary-node;</t>
<t>total cumulative duration of "block" state in hundreds of milliseconds
for each ingress-egress-aggregate;</t>
<t>total number of rounds of flow termination exercised for each
ingress-egress-aggregate.</t>
</list>
</t>
</section><!-- counters -->
</section><!-- mgmt -->
</section><!-- opsConsid -->
<section anchor="secur" title="Security Considerations">
<t><xref target="RFC5559"/> provides a general description of the security
considerations for PCN. This memo introduces one new consideration, related to
the use of a centralized Decision Point. The Decision Point itself is a trusted
entity. However, its use implies the existence of an interface on the
PCN-ingress-node through which communication of policy decisions takes
place. That interface is a point of vulnerability which must be
protected from denial of service attacks.</t>
</section><!-- secur -->
<section anchor="iana" title="IANA Considerations">
<t>This memo includes no request to IANA.</t>
</section><!-- iana -->
<section anchor="Acknowledgements" title="Acknowledgements">
<t>Ruediger Geib, Philip Eardley, and Bob Briscoe have helped to shape the
present document with their comments. Toby Moncaster gave a careful review to
get it into shape for Working Group Last Call.</t>
<t>Amongst the authors, Michael Menth deserves special mention for his constant
and careful attention to both the technical content of this document and the
manner in which it was expressed.</t>
<t>David Harrington's careful AD review resulted not only in necessary
changes throughout the document, but also the addition of the operations and
management considerations (<xref target="opsConsid"/>).</t>
<t>Finally, reviews by Joel Halpern and Brian Carpenter helped to clarify
how ingress-egress-aggregates are distinguished (Joel) and handling of
packets that cannot be carried successfully as PCN-packets (Brian). They
also made other suggestions to improve the document, as did Stephen Farrell,
Sean Turner, and Pete Resnick.</t>
</section><!-- Acknowledgements -->
</middle>
<!-- *****BACK MATTER ***** -->
<back>
<references title="Normative References">
&RFC2119;
&RFC2474;
&RFC2475;
&RFC3086;
&RFC3289;
&RFC5424;
&RFC5559;
&RFC5670;
<reference anchor="ID.pcn-3-in-1">
<front>
<title>Encoding 3 PCN-States in the IP header using a single DSCP</title>
<author initials="B." surname="Briscoe" fullname="B. Briscoe">
<organization>BT</organization>
</author>
<author initials="T." surname="Moncaster" fullname="T. Moncaster">
<organization>Moncaster Internet Consulting</organization>
</author>
<author initials="M." surname="Menth" fullname="M. Menth">
<organization>University of Tuebingen</organization>
</author>
<date month="March" year="2012"/>
</front>
</reference>
</references>
<references title="Informative References">
&RFC4594;
<reference anchor="RFCyyyy">
<front>
<title>PCN Boundary Node Behaviour for the Controlled Load (CL) Mode of Operation (Work in progress)</title>
<author initials="A." surname="Charny">
<organization>Cisco</organization>
</author>
<author initials="G." surname="Karagiannis">
<organization>U. Twente</organization>
</author>
<author initials="M." surname="Menth">
<organization>U. Wuerzburg (now U. Tuebingen)</organization>
</author>
<author initials="F.Q." surname="Huang">
<organization>Huawei Technologies</organization>
</author>
<author initials="T." surname="Taylor">
<organization>Huawei Technologies</organization>
</author>
<date year="2012" month="February"/>
</front>
</reference>
<reference anchor="MeLe10">
<front>
<title>PCN-Based Measured Rate Termination</title>
<author initials="M." surname="Menth">
<organization>U. Tuebingen</organization>
</author>
<author initials="F." surname="Lehrieder">
<organization>U. Wuerzburg</organization>
</author>
<date year="2010" month="September"/>
</front>
<seriesInfo name="Computer Networks Journal (Elsevier)"
value="vol. 54, no. 13, pages 2099 - 2116" />
</reference>
<reference anchor="Satoh10">
<front>
<title>"Cause and Countermeasure of Overtermination for PCN-Based Flow Termination", Proceedings of IEEE Symposium on Computers and Communications (ISCC '10), pp. 155-161, Riccione, Italy</title>
<author initials="D." surname="Satoh">
<organization>NTT-AT</organization>
</author>
<author initials="H." surname="Ueno">
<organization>NTT-AT</organization>
</author>
<date month="June" year="2010" />
</front>
</reference>
<reference anchor="MeLe12">
<front>
<title>Performance of PCN-Based Admission Control under Challenging Conditions, IEEE/ACM Transactions on Networking, vol. 20, no. 2</title>
<author initials="M." surname="Menth" fullname="M. Menth">
<organization>University of Tuebingen</organization>
</author>
<author initials="F." surname="Lehrieder" fullname="F. Lehrieder">
<organization>University of Wuerzburg</organization>
</author>
<date month="April" year="2012"/>
</front>
</reference>
<reference anchor="I-D.tsvwg-rsvp-pcn">
<front>
<title>Generic Aggregation of Resource ReSerVation Protocol (RSVP) for IPv4 And IPv6 Reservations over PCN domains (Work in progress)</title>
<author initials="G." surname="Karagiannis" fullname="Georgios Karagiannis">
<organization>University of Twente</organization>
</author>
<author initials="A." surname="Bhargava" fullname="Anurag Bhargava">
<organization>Cisco Systems, Inc.</organization>
</author>
<date month="July" year="2011"/>
</front>
</reference>
</references>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-23 09:24:50 |