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-20262026-04-23 09:22:15