One document matched: draft-ietf-pcn-cl-edge-behaviour-10.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">
<!ENTITY RFC5696 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.5696.xml">
<!ENTITY RFC6040 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.6040.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. -->
<?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-cl-edge-behaviour-10"
ipr="trust200902">
<!-- ***** 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 CL Boundary Node Behaviour">PCN Boundary Node Behaviour for the Controlled Load (CL) Mode of Operation</title>
<author fullname="Anna Charny" initials="A." surname="Charny">
<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>acharny@cisco.com</email>
</address>
</author>
<author fullname="Fortune Huang" initials="F.Q." surname="Huang">
<organization>Huawei Technologies</organization>
<address>
<postal>
<street>Section F, Huawei Industrial Base, </street>
<city>Bantian Longgang</city>
<region>Shenzhen</region>
<code>518129</code>
<country>P.R. China</country>
</postal>
<phone>+86 15013838060</phone>
<email>fqhuang@huawei.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>1852 Lorraine Ave</street>
<city>Ottawa</city>
<region>Ontario</region>
<country>Canada</country>
<code>K1H 6Z8</code>
</postal>
<phone>+1 613 680 2675</phone>
<email>tom111.taylor@bell.net</email>
</address>
</author>
<date year="2011"/>
<!-- Meta-data Declarations -->
<area>Transport</area>
<workgroup>Internet Engineering Task Force</workgroup>
<keyword>PCN</keyword>
<keyword>controlled load</keyword>
<keyword>CL</keyword>
<keyword>boundary 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 three PCN
marking states, not-marked, threshold-marked, and
excess-traffic-marked. This behaviour is known informally as the
Controlled Load (CL) 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><xref target="behaviours"/> of this document specifies a detailed
set of algorithms and procedures used to implement the PCN mechanisms
for the CL 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>[RFC EDITOR'S NOTE: you may choose to delete the following paragraph and
the "[CL-specific]" tags throughout this document when publishing it, since
they are present primarily to aid reviewers. RFCyyyy is the published version
of draft-ietf-pcn-sm-edge-behaviour.]</t>
<t>A companion document <xref target="RFCyyyy"/> specifies
the Single Marking (SM) 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 CL PCN-boundary-node behaviour is
preceded by the phrase: "[CL-specific]". A similar distinction for
SM-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>[CL-specific] PCN-threshold-rate;</t>
<t>PCN-excess-rate;</t>
<t>PCN-admissible-rate;</t>
<t>PCN-supportable-rate;</t>
<t>PCN-marked;</t>
<t>[CL-specific] threshold-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 terms from <xref target="RFC5670"/>:
<list style="symbols">
<t>[CL-specific] threshold-meter;</t>
<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="RFC5696"/>:
<list style="symbols">
<t>not-PCN codepoint;</t>
<t>Not-marked (NM) codepoint;</t>
<t>PCN-marked (PM) codepoint;</t>
<t>[CL-specific] Experimental (EXP) 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="[CL-specific] ThM-rate">
<vspace blankLines="0" />
The rate of threshold-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, [CL-specific] ThM-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="[CL-Specific] Assumed Core Network Behaviour for CL">
<t> This section describes the assumed behaviour for PCN-interior-nodes in
the PCN-domain. The CL mode of operation assumes that:
<list style="symbols">
<t> PCN-interior-nodes perform both threshold-marking and
excess-traffic-marking of PCN-packets, according to the rules specified
in <xref target="RFC5670"/>; </t>
<t> excess-traffic-marking of PCN-packets uses the PCN-Marked (PM)
codepoint defined in <xref target="RFC5696"/>;</t>
<t> threshold-marking of PCN-packets uses the EXP codepoint defined in
<xref target="RFC5696"/>;</t>
<t> the PCN-domain satisfies the conditions specified in
<xref target="RFC5696"/>; </t>
<t> on each link the reference rate for the threshold-meter is configured
to be equal to the PCN-admissible-rate for the link; </t>
<t> on each link the reference rate for the excess-traffic-meter is
configured to be equal to the PCN-supportable-rate for the link; </t>
<t> the set of valid codepoint transitions is as shown in
Section 4.2 of <xref target="RFC5696"/>.</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, [CL-specific]
threshold-marked, and excess-traffic-marked PCN-traffic for each
ingress-egress-aggregate and reports them to the Decision Point.
[CL-specific] It MAY also identify and report PCN-flows that have experienced
excess-traffic-marking. 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>
</section><!-- overBehav -->
<section anchor="egressBehav" title="Behaviour of the PCN-Egress-Node">
<section anchor="egrColl" title="Data Collection">
<t>The PCN-egress-node MUST 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.
<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>[CL-specific] ThM-rate: octets per second of PCN-traffic in
PCN-packets that are threshold-marked (i.e., marked with the EXP
codepoint);</t>
<t>ETM-rate: octets per second of PCN-traffic in
PCN-packets that are excess-traffic-marked (i.e., marked with the
PM codepoint).</t>
</list>
</t>
<t>Informative 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>
<t>[CL-specific] As a configurable option, the PCN-egress-node MAY
record flow identifiers of the PCN-flows for which excess-traffic-marked
packets have been observed during this measurement interval. If this set
is large (e.g., more than 20 flows), the PCN-egress-node MAY record only
the most recently excess-traffic-marked PCN-flow identifiers rather than
the complete set.
<list style="empty">
<t>These can be used by the Decision Point when it selects flows for
termination. In networks using multipath routing it is possible that
congestion is not occurring on all paths carrying a given
ingress-egress-aggregate. Assuming that specific PCN-flows are routed
via specific paths, identifying the PCN-flows that are experiencing
excess-traffic-marking helps to avoid termination of PCN-flows not
contributing to congestion.</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, [CL-specific] ThM-rate,
and ETM-rate to the Decision Point each time that it calculates
them.</t>
<t>[CL-specific] If the PCN-egress-node recorded a set of flow
identifiers of PCN-flows for which excess-traffic-marking was observed
in the most recent measurement interval, then it MUST also include these
identifiers in the report. </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, [CLE-specific] ThM-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>[CL-specific]
<vspace blankLines="0"/>
CLE = (ThM-rate + ETM-rate) / (NM-rate + ThM-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 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, [CL-specific] ThM-rate,
ETM-rate, and CLE that were calculated for the most recent measurement
interval. [CL-specific] If the PCN-egress-node recorded a set of flow
identifiers of PCN-flows for which excess-traffic-marking was observed
in the most recent measurement interval, then it MUST also include these
identifiers in the report.</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. A compliant Decision Point 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>[CL-specific]
<vspace blankLines="0"/>
CLE = (ThM-rate + ETM-rate) / (NM-rate + ThM-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>
</section><!-- decisAdmit -->
<section anchor="decisTerm" title="Flow Termination">
<t>[CL-specific] When the report from the PCN-egress-node includes a
non-zero value of the ETM-rate for some 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>[CL-specific] The sustainable aggregate rate (SAR) for the given
ingress-egress-aggregate is estimated by the sum:
<list style="empty">
<t>SAR = NM-rate + ThM-rate</t>
</list>
for the latest reported interval.</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="IEEE-Satoh"/>
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. [CL-specific] If the egress node has supplied a list of identifiers
of PCN-flows that experienced excess-traffic-marking
(<xref target="egressBehav"/>), the Decision Point SHOULD first consider
terminating PCN-flows in that list.</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 Decision Point collocated
with a PCN-ingress-node SHOULD cease to admit PCN-flows to the
ingress-egress-aggregate associated with the given PCN-egress-node,
until it again receives a report from that node. A centralized Decision
Point MAY cease to admit PCN-flows to all ingress-egress-aggregates
destined to the PCN-egress-node concerned, until it again receives a
report from that node.</t>
<t>A centralized Decision Point SHOULD start a timer t-sndFail when it
sends a request for the estimated value of PCN-sent-rate to a given
PCN-ingress-node. If the Decision Point fails to receive a response from
the PCN-ingress-node before t-sndFail reaches the configurable value T-crit,
the Decision Point SHOULD repeat the request but MAY also use ETM-rate as
an estimate of the amount of traffic to be terminated in place of the
quantity
<list style="empty">
<t>PCN-sent-rate - SAR</t>
</list>
specified in <xref target="decisTerm"/>. Because this will over-estimate
the amount of traffic to be terminated due to dropping of PCN-packets by
interior nodes, the Decision Point SHOULD use multiple rounds of
termination under these circumstances. If the second request to the
PCN-ingress-node also fails, the Decision Point SHOULD notify management.
<list style="empty">
<t> 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 MAY 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, [CL-specific] ThM-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: repeat the request, but use an approximation for
the estimate of amount of traffic to terminate. After two failures,
notify management and stop repeating the request.</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 CL 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. [CL-specific] The performance
results in, e.g., <xref target="MeLe10"/>, indicate that the CL boundary
node behaviour provides better service outcomes under such
circumstances than the SM boundary node behaviour described in [RFCyyyy],
because CL is less likely to terminate PCN-flows unnecessarily.</t>
<t>[RFC EDITOR'S NOTE: please replace RFCyyyy above by the reference to the
published version of draft-ietf-pcn-sm-edge-behaviour.]</t>
</section><!-- PDBApplic -->
<section anchor="PDBTechSpec" title="Technical Specification">
<section anchor="PDBclas" title="Classification and Traffic Conditioning">
<t>This section paraphrases the applicable portions of Sections 3.6 and
4.2 of <xref target="RFC5559"/>.</t>
<t>Packets at the ingress to the domain are classified as either PCN
or non-PCN. Non-PCN packets MAY share the network with PCN packets
within the domain. Because the encoding specified in [RFC5696] and
used in this document requires the use of the ECN fields,
PCN-ingress-nodes MUST prevent ECN-capable traffic that uses the same
DSCP as PCN from entering the PCN-domain directly. The PCN-ingress-node
can accomplish this in three ways. The choice between these depends on local
policy.
<list style="symbols">
<t>ECN-capable traffic MAY be dropped. This policy is NOT RECOMMENDED,
since it prevents the proper operation of end-to-end ECN as a means of
controlling congestion.</t>
<t>ECN-capable traffic MAY be assigned a different DSCP from PCN traffic.
This could mean that it is relegated to a lower-priority behaviour
aggregate.</t>
<t>ECN-capable traffic MAY be tunneled across the PCN-domain. If this
is done, the PCN-ingress-node MUST mark packets as either not-PCN or
PCN-not-marked only after the encapsulation of the packet, including
any initial setting of the ECN field, has been completed.</t>
</list>
</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
dropped. 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 CL 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 MAY 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 Section A.1 of Appendix A of
<xref target="RFC5696"/>.</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 CL 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 CL per-domain behaviour can interfere with the use of end-to-end
ECN due to reuse of ECN bits for PCN marking. See Appendix B of
<xref target="RFC5696"/> for details.</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 CL Edge Behaviour">
<t>Deployment of the PCN Controlled Load 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="RFC5696"/>
Appendix A.1 for advice on this topic.)</t>
<t>the markings to be used at all nodes in the PCN domain to indicate
Not-Marked (NM), [CL-specific] Threshold-Marked (ThM), 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.
[CL-specific] The operation of flow admission is not very sensitive to
the value of the CLE-limit in practice, because when threshold-marking
occurs it tends to persist long enough that threshold-marked traffic
becomes a large proportion of the received traffic in a given interval. </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>[CL-specific] Activation/deactivation of recording of individual flow
identifiers when excess-traffic-marked PCN-traffic is observed. Reporting
these identifiers has value only if PCN-based flow termination is activated
and Equal Cost Multi-Path (ECMP) routing is enabled in the PCN-domain.</t>
</list>
</t>
</section><!-- globSel -->
<section anchor="specSel" title="Specification of Node- and Link-Specific Parameters">
<t>Each PCN-ingress-node needs filters to classify incoming PCN packets
according to ingress-egress-aggregate, both to satisfy Decision Point requests
for sent traffic rates and, if applicable, to support encapsulation. If PCN
packets are being tunneled to the PCN-egress-nodes (encapsulation), the
PCN-ingress-node also needs the address of the PCN-egress-node for each
ingress-egress-aggregate.</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. 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>If <xref target="I-D.tsvwg-rsvp-pcn"/> is deployed and the Decision
Points are collocated with the PCN-ingress-nodes, this information can be
built up dynamically from the contents of the end-to-end RSVP signalling
and does not have to be pre-configured. Otherwise the filters have to be
derived from the routing tables in use in the domain, and the address of
the peer at the other end of each ingress-egress-aggregate has to be
tabulated for each PCN-edge-node. </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 values
for the PCN-supportable-rate and [CL-specific] 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. (For
"PCN-excess-rate" in <xref target="RFC5559"/> read "PCN-supportable-rate",
and [CL-specific] for "PCN-threshold-rate" read "PCN-admissible-rate".)</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 objects for re-marking the
ECN field at the PCN-ingress-node and an extension to the classifiers to
include the ECN field at PCN-interior and PCN-egress-nodes. In addition,
the MIB has to be extended to include a potential encapsulation action
following re-classification by ingress-egress-aggregate. Finally, new
metering algorithms may need to be defined at the PCN-interior-nodes to
handle threshold-marking and packet-size-independent excess-traffic-marking.</t>
<t> Values for the PCN-supportable-rate and [CL-specific] PCN-admissible-rate
on each link on a node appear as metering parameters. Operators should take
note of the need to deploy meters of a given type (threshold or excess-traffic)
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 specific flow identifiers must be captured when
excess-traffic-marked packets are observed;</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>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>
<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-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@nnn"
(without the quotes, where nnn is the operator enterprise number as
described in Section 6.3.2 of <xref target="RFC5424"/>). 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 "log alert"
and a Severity level of "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 Severity value of "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 Severity of "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.
[***PTT***: identifying the flows could be helpful for complaint
follow-up, but I'm worried about the size of the resulting log.]
<vspace blankLines="1"/>
It is RECOMMENDED that the SD-ID for the STRUCTURED-DATA element have
the form: "PCNterm@nnn" (without the quotes, where nnn is the operator
enterprise number as described in Section 6.3.2 of <xref target="RFC5424"/>).
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
millions 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 "log alert"
and a Severity level of "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>[CL-specific] total PCN packets and octets re-marked to Threshold-Marked;</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>[CL-specific] total Threshold-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 no new considerations.</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>The content of this memo bears a family resemblance to
<xref target="ID.briscoe-CL"/>. The authors of that document were Bob Briscoe,
Philip Eardley, and Dave Songhurst of BT, Anna Charny and Francois Le Faucheur
of Cisco, Jozef Babiarz, Kwok Ho Chan, and Stephen Dudley of Nortel, Giorgios
Karagiannis of U. Twente and Ericsson, and Attila Bader and Lars Westberg of
Ericsson.</t>
<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>Finally, 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>
</section><!-- Acknowledgements -->
</middle>
<!-- *****BACK MATTER ***** -->
<back>
<references title="Normative References">
&RFC2119;
&RFC2474;
&RFC2475;
&RFC3086;
&RFC3289;
&RFC5424;
&RFC5559;
&RFC5670;
&RFC5696;
</references>
<references title="Informative References">
&RFC4594;
&RFC6040;
<reference anchor="ID.briscoe-CL">
<front>
<title>An edge-to-edge Deployment Model for Pre-Congestion Notification: Admission Control over a DiffServ Region (expired Internet Draft)</title>
<author initials="B." surname="Briscoe">
<organization>BT & UCL</organization>
</author>
<date year="2006" />
</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="RFCyyyy">
<front>
<title>PCN Boundary Node Behaviour for the Single Marking (SM) Mode of Operation (Work in progress)</title>
<author initials="A." surname="Charny">
<organization>Cisco</organization>
</author>
<author initials="J." surname="Zhang">
<organization>Cisco</organization>
</author>
<author initials="G." surname="Karagiannis">
<organization>U. Twente</organization>
</author>
<author initials="M." surname="Menth">
<organization>U. Wuerzburg</organization>
</author>
<author initials="T." surname="Taylor">
<organization>Huawei Technologies</organization>
</author>
<date year="2010" month="December"/>
</front>
</reference>
<reference anchor="IEEE-Satoh">
<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="I-D.tsvwg-rsvp-pcn">
<front>
<title>Generic Aggregation of Resource ReSerVation Protocol (RSVP) for IPv4 And IPv6 Reservations over PCN domains</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:22:15 |