One document matched: draft-ietf-pcn-cl-edge-behaviour-12.xml


<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
     which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced. 
     An alternate method (rfc include) is described in the
     references. -->

<!ENTITY RFC2119 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2474 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.2474.xml">
<!ENTITY RFC2475 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.2475.xml">
<!ENTITY RFC3086 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3086.xml">
<!ENTITY RFC3289 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3289.xml">
<!ENTITY RFC4594 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.4594.xml">
<!ENTITY RFC5424 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.5424.xml">
<!ENTITY RFC5559 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.5559.xml">
<!ENTITY RFC5670 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.5670.xml">
<!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-12"
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 initials="A" surname="Charny" fullname="Anna Charny">
     <organization></organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country>USA</country>
      </postal>
      <phone></phone>
      <email>anna@mwsm.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></street>
        <city>Ottawa</city>
        <region>Ontario</region>
        <country>Canada</country>
        <code></code>
      </postal>
      <email>tom.taylor.stds@gmail.com</email>
    </address>
  </author>

  <date year="2012"/>

  <!-- Meta-data Declarations -->

  <area>Transport</area>
  <workgroup>Internet Engineering Task Force</workgroup>
  <keyword>PCN</keyword>
  <keyword>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>Note that the terms "block" or "terminate" actually translate to one or
    more of several possible courses of action, as discussed in Section 3.6 of
    <xref target="RFC5559"/>. The choice of which action to take for blocked
    or terminated flows is a matter of local policy.</t>
    
    <t>[RFC EDITOR'S NOTE: RFCyyyy is the published version
    of draft-ietf-pcn-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> 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>
    
    <t>Specification of a signaling protocol to report rates to the Decision
    Point is out of scope of this document. If the PCN-ingress-node is chosen
    as the Decision Point, <xref target="I-D.tsvwg-rsvp-pcn"/> specifies an 
    appropriate signaling protocol.</t>
    
    <t><xref target="specSel"/> describes how to derive the filters by means of
    which PCN-ingress-nodes and PCN-egress-nodes are able to classify incoming
    packets into ingress-egress-aggregates.</t>

  </section><!-- overBehav -->

  <section anchor="egressBehav" title="Behaviour of the PCN-Egress-Node">

    <section anchor="egrColl" title="Data Collection">

      <t>The PCN-egress-node 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>
      
      <t>A performance study of this admission control method is presented in 
      <xref target="MeLe12"/>.</t>

    </section><!-- decisAdmit -->

    <section anchor="decisTerm" title="Flow Termination">

      <t>[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="Satoh10"/>
      and sections 4.2 and 4.3 of <xref target="MeLe10"/>.)</t>

      <t> In general, the selection of flows for termination MAY be guided by
      policy. [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 log format is defined for that purpose 
      in <xref target="contactLog"/>. Other actions depend on local policy, but
      MAY include blocking of new flows destined for the PCN-egress-node concerned
      until another report is received from it. Termination of already-admitted
      flows is also possible, but could be triggered by "Destination unreachable"
      messages received at the PCN-ingress-node.  </t>

      <t>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>Filters are required at both the PCN-ingress-node and the PCN-egress-node
    to classify incoming PCN packets by ingress-egress-aggregate. Because of the
    potential use of multi-path routing in domains upstream of the PCN-domain, 
    it is impossible to do such classification reliably at the PCN-egress-node
    based on the packet header contents as originally received at the 
    PCN-ingress-node. (Packets with the same header contents could enter the
    PCN-domain at multiple PCN-ingress-nodes.) As a result, the only way to
    construct such filters reliably is to tunnel the packets from the 
    PCN-ingress-node to the PCN-egress-node. </t>
    
    <t>The PCN-ingress-node needs filters in order to place PCN packets 
    into the right tunnel in the first instance, and also to satisfy requests
    from the Decision Point for admission rates into specific 
    ingress-egress-aggregates. These filters select the PCN-egress-node,
    but not necessarily a specific path through the network to that node.
    As a result, they are likely to be stable even in the face of failures in the 
    network, except when the PCN-egress-node itself becomes unreachable. The
    primary basis for their derivation will be routing policy given the
    packet's original origin and destination. Since all PCN packets will be
    tunneled, the PCN-ingress-node also needs to know the address of 
    the peer PCN-egress-node associated with each filter.</t>
    
    <t>Operators may wish to give some thought to the provisioning of alternate
    egress points for some or all ingress-egress aggregates in case of failure
    of the PCN-egress-node. This could require the setting up of standby tunnels
    to these alternate egress points.</t>
 
    <t>Each PCN-egress-node needs filters to classify incoming PCN packets by 
    ingress-egress-aggregate, in order to gather measurements on a per-aggregate
    basis. These filters are constructed on the basis of the identifier of the 
    tunnel from which the incoming packet has emerged (e.g. the source address
    in the outer header if IP encapsulation is used). The PCN-egress-node also needs
    to know the address of the Decision Point to which it sends reports for
    each ingress-egress-aggregate. </t>
    
    <t>A centralized Decision Point needs to have the address of the 
    PCN-ingress-node corresponding to each ingress-egress-aggregate. Security
    considerations require that information also be prepared for a centralized
    Decision Point and each PCN-edge-node to allow them to authenticate each
    other. </t>
    
    <t>Turning to link-specific parameters, the operator needs to derive 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. </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>  
    
    <t>The field names (e.g., HOSTNAME, STRUCTURED-DATA) used in the following
    subsections are defined in <xref target="RFC5424"/>.</t>
    
    <section anchor="contactLog" title="Logging Loss and Restoration of Contact">
   
       <t><xref target="decisSig"/> describes the circumstances under which the
       Decision Point may determine that it has lost contact, either with a 
       PCN-ingress-node or a PCN-egress-node, due to failure to receive an expected
       report. Loss of contact with a PCN-ingress-node is a case primarily applicable
       when the Decision Point is in a separate node. However, implementations MAY
       implement logging in the collocated case if the implementation is such that
       non-response to a request from the Decision Point function can occasionally
       occur due to processor load or other reasons.</t>
       
       <t>The log reporting the loss of contact with a PCN-egress-node MUST include
       the following content:
       <list style="symbols">
          <t>The HOSTNAME field MUST identify the Decision Point issuing the log.</t>
          <t>A STRUCTURED-DATA element MUST be present, containing parameters 
          identifying the node for which an expected report has not been received
          and the type of report lost (ingress or egress). It is RECOMMENDED that
          the SD-ID for the STRUCTURED-DATA element have the form "PCNNode" 
          (without the quotes), which has been registered with IANA. The node
          identifier PARAM-NAME is RECOMMENDED to be "ID" (without the quotes). 
          The identifier itself is subject to the preferences expressed in Section 
          6.2.4 of <xref target="RFC5424"/> for the HOSTNAME field. The report type
          PARAM-NAME is RECOMMENDED to be "RTyp" (without the quotes). The PARAM-VALUE
          for the RTyp field MUST be either "ingr" or "egr".</t>
       </list>
       </t>
       
       <t>The following values are also RECOMMENDED for the indicated fields in
       this log, subject to local practice:
       <list style="symbols">
          <t>PRI initially set to 115, representing a Facility value of (14) "log alert"
          and a Severity level of (3) "Error Condition". Note that loss of contact with
          a PCN-egress-node implies that no new flows will be admitted to one or
          more ingress-egress-aggregates until contact is restored. The reason a 
          higher severity level (lower value) is not proposed for the initial log 
          is because any corrective action would probably be based on alerts at a 
          lower subsystem level.</t>
          
          <t>APPNAME set to "PCN" (without the quotes).</t>
          
          <t>MSGID set to "LOST" (without the quotes).</t>
       </list>
       </t>
       
       <t>If contact is not regained with a PCN-egress-node in a reasonable 
       period of time (say, one minute), the log SHOULD be repeated, this time
       with a PRI value of 113, implying a Facility value of (14) "log alert" and
       a Severity value of (1) "Alert: action must
       be taken immediately". The reasoning is that by this time, any more general
       conditions should have been cleared, and the problem lies specifically 
       with the PCN-egress-node concerned and the PCN application in particular.</t>

       <t>Whenever a loss-of-contact log is generated for a PCN-egress-node, a log
       indicating recovery SHOULD be generated when the Decision Point next receives
       a report from the node concerned. The log SHOULD have the same content as 
       just described for the loss-of-contact log, with the following differences:
       <list style="symbols">
          <t>PRI changes to 117, indicating a Facility value of (14) "log alert" and
          a Severity of (5) "Notice: normal but significant condition".</t>
          <t>MSGID changes to "RECVD" (without the quotes).</t>
       </list>
       </t>

    </section><!-- contactLog -->
    
    <section anchor="termLog" title="Logging Flow Termination Events">
   
       <t><xref target="decisTerm"/> describes the process whereby the Decision
       Point decides that flow termination is required for a given 
       ingress-egress-aggregate, calculates how much flow to terminate, and 
       selects flows for termination. This section describes a log that SHOULD 
       be generated each time such an event occurs. (In the case where termination
       occurs in multiple rounds, one log SHOULD be generated per round.) The log
       may be useful in fault management, to indicate the service impact of a
       fault occuring in a lower-level subsystem. In the absence of network 
       failures, it may also be used as an indication of an urgent need to review
       capacity utilization along the path of the ingress-egress-aggregate 
       concerned.</t>
       
       <t>The log reporting a flow termination event MUST include the following 
       content:
       <list style="symbols">
          <t>The HOSTNAME field MUST identify the Decision Point issuing the log.</t>
          
          <t>A STRUCTURED-DATA element MUST be present, containing parameters 
          identifying the ingress and egress nodes for the ingress-egress-aggregate
          concerned, indicating the total amount of flow being terminated, and 
          giving the number of flows terminated to achieve that objective.
          <vspace blankLines="1"/>
          It is RECOMMENDED that the SD-ID for the STRUCTURED-DATA element have 
          the form: "PCNTerm" (without the quotes), which has been registered with IANA.
          The parameter identifying the ingress node for the ingress-egress-aggregate
          is RECOMMENDED to have PARAM-NAME "IngrID" (without the quotes). This 
          parameter MAY be omitted if the Decision Point is collocated with that 
          PCN-ingress-node. The parameter identifying the egress node for the 
          ingress-egress-aggregate is RECOMMENDED to have PARAM-NAME "EgrID" 
          (without the quotes). Both identifiers are subject to the preferences 
          expressed in Section 6.2.4 of <xref target="RFC5424"/> for the HOSTNAME 
          field.
          <vspace blankLines="1"/>
          The parameter giving the total amount of flow being terminated is 
          RECOMMENDED to have PARAM-NAME "TermRate" (without the quotes). The 
          PARAM-VALUE MUST be the target rate as calculated according to the 
          procedures of <xref target="decisTerm"/>, as an integer value in 
          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 (14) "log
          alert" and a Severity level of (4) "Warning: warning conditions". </t>
          
          <t>APPNAME set to "PCN" (without the quotes).</t>
          
          <t>MSGID set to "TERM" (without the quotes).</t>
       </list>
       </t>   
  
    </section>
  
  </section><!-- evLogs -->
  

  <section anchor="counters" title="Provision and Use of Counters">

    <t>The Diffserv MIB <xref target="RFC3289"/> allows for the provision of 
    counters along the various possible processing paths associated with an 
    interface and flow direction. It is RECOMMENDED that the PCN-nodes be 
    instrumented as described below. It is assumed that the cumulative counts 
    so obtained will be collected periodically for use in debugging, fault 
    management, and capacity management. </t>

    <t>PCN-ingress-nodes SHOULD provide the following counts for each 
    ingress-egress-aggregate. Since the Diffserv MIB installs counters by 
    interface and direction, aggregation of counts over multiple interfaces may 
    be necessary to obtain total counts by ingress-egress-aggregate. It is 
    expected that such aggregation will be performed by a central system rather
    than at the PCN-ingress-node.
    <list style="symbols">
       <t>total PCN packets and octets received for that ingress-egress-aggregate
       but dropped;</t>
       
       <t>total PCN packets and octets admitted to that aggregate.</t>
    </list>
    </t>
    
    <t>PCN-interior-nodes SHOULD provide the following counts for each 
    interface, noting that a given packet MUST NOT be counted more than once 
    as it passes through the node:
    <list style="symbols">
       <t>total PCN packets and octets dropped;</t>
       
       <t>total PCN packets and octets forwarded without re-marking;</t>
       
       <t>[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 document requests IANA to add the following entries to the syslog
  Structured Data ID Values registry. RFCxxxx is this document when published.
  <list style="empty">
  
    <t>Structured Data ID: PCNNode    OPTIONAL
    <list style="empty">
       <t>Structured Data Parameter: ID    MANDATORY</t>
       <t>Structured Data Parameter: Rtyp  MANDATORY</t>
    </list>
    Reference: RFCxxxx
    </t>
    
    <t>Structured Data ID: PCNTerm    OPTIONAL
    <list style="empty">
       <t>Structured Data Parameter: IngrID    CONDITIONAL</t>
       <t>Structured Data Parameter: EgrID     MANDATORY</t>
       <t>Structured Data Parameter: TermRate  MANDATORY</t>
       <t>Structured Data Parameter: FCnt      MANDATORY</t>
    </list>
    Reference: RFCxxxx
    </t>

</list>
</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="Satoh10">
    <front>
      <title>"Cause and Countermeasure of Overtermination for PCN-Based Flow Termination", Proceedings of IEEE Symposium on Computers and Communications (ISCC '10), pp. 155-161, Riccione, Italy</title>
      <author initials="D." surname="Satoh">
        <organization>NTT-AT</organization>
      </author>
      <author initials="H." surname="Ueno">
        <organization>NTT-AT</organization>
      </author>
      <date month="June" year="2010" />
    </front>
  </reference>
  
  <reference anchor="MeLe12">
    <front>
      <title>Performance of PCN-Based Admission Control
under Challenging Conditions</title>
      <author initials="M." surname="Menth" fullname="M. Menth">
        <organization>University of Tuebingen</organization>
      </author>
      <author initials="F." surname="Lehrieder" fullname="F. Lehrieder">
        <organization>University of Wuerzburg</organization>
      </author>
      <date year="2012"/>
    </front>
  </reference>

  <reference anchor="I-D.tsvwg-rsvp-pcn">
    <front>
      <title>Generic Aggregation of Resource ReSerVation Protocol (RSVP) for IPv4 And IPv6 Reservations over PCN domains (Work in progress)</title>
      <author initials="G." surname="Karagiannis" fullname="Georgios Karagiannis">
        <organization>University of Twente</organization>
      </author>
      <author initials="A." surname="Bhargava" fullname="Anurag Bhargava">
        <organization>Cisco Systems, Inc.</organization>
      </author>
      <date month="July" year="2011"/>
    </front>
  </reference>


</references>

</back>
</rfc>

PAFTECH AB 2003-20262026-04-23 14:27:32