RSVP Extensions for CL-ECN         October 2005



   Internet Draft                                  Francois Le Faucheur
                                                            Anna Charny
                                                    Cisco Systems, Inc.

                                                            Bob Briscoe
                                                           Phil Eardlwy
                                                                     BT

                                                            Joe Barbiaz
                                                           Kwok-Ho Chan
                                                                 Nortel
   draft-lefaucheur-rsvp-ecn-00.txt
   Expires: April 2006                                     October 2005


                   RSVP Extensions for Admission Control
             over Diffserv using Pre-congestion Notification



Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that other
   groups may also distribute working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and  may be updated, replaced, or obsoleted by other documents at any
   time. It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
       http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
       http://www.ietf.org/shadow.html.




Abstract




Le Faucheur, et al.                                          [Page 1]


                      RSVP Extensions for CL-ECN         October 2005


   This document specifies the extensions to RSVP for support of the
   Controlled Load (CL) service over a Diffserv cloud using Pre-
   Congestion Notification as defined in [CL-ARCH].

Copyright Notice
      Copyright (C) The Internet Society. (2005)


Specification of Requirements

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].


1.  Introduction

   [RSVP] defines the Resource reSerVation Protocol which can be used by
   applications to request resources from the network. The network
   responds by explicitely admitting or rejecting these RSVP requests.
   Certain applications that have quantifiable resource requirements
   express these requirements using Intserv parameters as defined in the
   appropriate Intserv service specifications ([GUARANTEED],
   [CONTROLLED]).

   [CL-ARCH] describes a framework to achieve a Controlled Load (CL)
   service by using distributed measurement-based admission control
   edge-to-edge, i.e. within a particular region of the Internet. The
   measurement made is of CL packets that have their Congestion
   Experienced (CE) codepoint set as they travel across the edge-to-edge
   region. Setting the CE codepoint, which is under the control of a new
   Pre-congestion Marking behaviour, provides an "early warning" of
   potential congestion. This information is used by the ingress node of
   the edge-to-edge region to decide whether to admit a new CL microflow.

   [CL-ARCH] also describes how the framework uses rate-based pre-
   emption to maintain the CL service to as many admitted microflows as
   possible even after localised failure and routing changes in the
   interior of the edge-to-edge region.

   The edge-to-edge architecture of [CL-ARCH] is a building block in
   delivering an end-to-end CL service. The approach is similar to that
   described in [INTSERV-DIFFERV] for Integrated services operation over
   Diffserv networks. Like [INTSERV-DIFFERV], an IntServ class (CL in
   our case) is achieved end-to-end, with a CL-region viewed as a single
   reservation hop in the total end-to-end path. Interior nodes of the
   CL-region do not process flow signalling nor do they hold state. [CL-
   ARCH] assumes that the end-to-end signalling mechanism is RSVP.



Le Faucheur, et al.                                          [Page 2]


                      RSVP Extensions for CL-ECN         October 2005


   This document specifies the extensions to RSVP for support of the
   Controlled Load (CL) service over a Diffserv cloud using Pre-
   Congestion Notification as defined in [CL-ARCH].


1.1. Changes from previous versions

      - This is the initial version of the document


2.  Definitions

   For readability, a number of definitions from [CL-ARCH] are repeated
   here:

      o Ingress Edge: a node which is an ingress gateway to the CL-
   region. A CL-region may have several ingress nodes.

      o Egress Edge: a node which is an egress gateway from the CL-
   region. A CL-region may have several egress nodes.

      o Interior node: a node which is part of the CL-region, but isn't
   an Ingress or Egress Edge.

      o CL-region: A region of the Internet in which all nodes run the
   Pre-Congestion Ntofication scheme defined in [CL-MARKING] and where
   all traffic enters/leaves through an Ingress/Egress
   Edge. A CL-region is a DiffServ region (either a single
   DiffServ domain or set of contiguous DiffServ domains.

      o Congestion-Level-Estimate: the bits in CL packets that have the
   Congestion Experienced (CE) codepoint set, divided by the bits in all
   CL packets. It is calculated as an exponentially weighted moving
   average. It is calculated by an egress node for CL packets from a
   particular ingress node.


3.  Overview of RSVP extensions and Operations

3.1.  Reference Model

   -----  ------  --------------------------------------  ------  -----
   |   |  |    |  |                                    |  |    |  |   |
   |   |  |    |  |Ingress  Interior  Interior   Egress|  |    |  |   |
   |   |  |    |  | node     node      node      node  |  |    |  |   |
   |   |  |    |  |------|  |------|  |------|  |------|  |    |  |   |
   |   |  |    |  | CL-  |  | CL-  |  | CL-  |  |      |  |    |  |   |
   |   |..|    |..| PHB  |..| PHB  |..| PHB  |..| Meter|..|    |..|   |
   |   |  |    |  |------|  |------|  |------|  |------|  |    |  |   |


Le Faucheur, et al.                                          [Page 3]


                      RSVP Extensions for CL-ECN         October 2005


   |   |  |    |  |  \                              /  |  |    |  |   |
   |   |  |    |  |   \                            /   |  |    |  |   |
   |   |  |    |  |    --<----------<----------<--     |  |    |  |   |
   |   |  |    |  |                                    |  |    |  |   |
   -----  ------  --------------------------------------  ------  -----
   Sx     Access             CL-region                    Access    Rx
   End    Network                                         Network   End
   Host                                                             Host

                   <------ edge-to-edge signalling ------>

   <-------------------end-to-end RSVP signalling protocol------------->

   Figure 1: Reference Model


3.2.  Overview of Procedures for Admission Control of New Reservations

   As mentioned earlier, [CL-ARCH] describes a framework to achieve a
   Controlled Load (CL) service by using distributed measurement-based
   admission control edge-to-edge, i.e. within a particular region of
   the Internet. This section describes RSVP operations to support such
   an admission control scheme relying on Pre-Congestion Notification in
   the eddge-to-edge region.

   When a new Path message is received by Ingress Edge, the Ingress Edge
   does regular RSVP processing and forwards the Path towards
   destination.

   All the ECN-capable Interior nodes are not RSVP-capable and thus
   simply ignore the Path message.

   When the Path message arrives at the Egress Edge, the Egress Edge
   processes it as per regular RSVP processing augmented with the
   following rules:
      1) The Egress Edge does NOT perform the RSVP-TTL vs IP TTL-check
         and does NOT update the ADspec Break bit. This is because the
         whole CL-region is effectively handled by RSVP as a virtual
         "link" on which Integrated Service is indeed supported (and
         admission control performed) so that the Break bit MUST not be
         set.
      2) As an option, the Egress Edge may check, at the time of
         initial Path processing, whether it has a valid value for the
         corresponding Congestion-Level-Estimate and if not it may send
         a PathErr message to the Ingress Edge with "CL-ECN Probes
         Required" Error Code. This minimizes call set up time as it
         allows probes to be generated by the Ingress Edge and measured
         by the Egress Edge while the Path is traveling towards the
         receiver and while the Resv travels back from the receiver.


Le Faucheur, et al.                                          [Page 4]


                      RSVP Extensions for CL-ECN         October 2005


   Then the Ingress Edge forwards the Path message towards the receiver.

   [Editor Note: discussion on Adspec update to be added]

   When the Resv message is received by the Egress Edge (from the
   downstream side), the Egress Edge performs regular RSVP processing
   (including performing admission control for the segment downstream of
   the Egress Edge) augmented with the procedures described in this
   section.

   The Egress Edge MUST include the new CL-ECN object in the Resv
   message transmitted to the RSVP P_HOP (which is the Ingress Edge).
   The CL-ECN object MUST convey the current Pre-Congestion Notification
   Congestion-Level-Estimate as measured by the Egress Edge from the
   corresponding Ingress Edge to itself. Details for computing the
   Congestion-Level-estimate can be found in [CL-ARCH] and [CL-MARKING].

   If the Egress Edge does not have a current value for the Congestion-
   Level-estimate for the corresponding Ingress Edge (because there was
   no traffic received by the Egress Edge from that Ingress Edge) and it
   has not already requested the Ingress Edge to generate probes, the
   Egress Edge:
      1) triggers a timer and puts the Resv message processing on hold
      2) sends a PathErr message towards the Ingress Edge with the new
         Error Code of "CL-ECN Probes Required" specified in this
         document, in order to instruct the Ingress Edge to generate
         the necessary probe traffic to enable the Egress Edge to
         compute the Congestion-Level-Estimate from that Ingress Edge
      3) When timer expires the Resv processing resumes. Assuming the
         Congestion-Level-Estimate is now available, the Egress Edge
         can include it in the CL-ECN object and complete Resv
         processing. If the Congestion-Level-Estimate is still
         available, the Egress Edge may loop again a few times through
         step 1) and 2). After a given number of times, the Egress Edge
         MUST send a ResvErr towards the receiver with ErrorCode
         "Admission Control Failure"

   [Editor note: approach in previous paragraph may be revisited to try
   avoid having to "put Resv message processing on hold".]

   The Egress Edge will then forward the Resv message to the PHOP
   signaled earlier in the Path message and which identifies the Ingress
   Edge. Since the Resv message is directly addressed to the Ingress
   Edge and does not carry the Router Alert option (as per regular RSVP
   Resv procedures), the Resv message is hidden from the Interior nodes
   which handle the E2E Resv message as a regular IP packet.

   When receiving the Resv message, the Ingress Edge processes the Resv
   message as per regular RSVP with the following exceptions:


Le Faucheur, et al.                                          [Page 5]


                      RSVP Extensions for CL-ECN         October 2005


      1) if the CL-ECN object is absent from the Resv message, this
         means that the RSVP Next Hop is not CL-ECN capable and hence
         proper admission control can not be achieved for that
         reservation over the ECN cloud. Thus, the Ingress Edge MUST
         send a ResvErr message towards the receiver with Error Code
         "Inconsistent Admission Control Behaviour across Ingress and
         Egress Edge" and an Error Value of "Egress Edge Router not CL-
         ECN capable". The Ingress Edge MAY also generate an alarm to
         the network operator.
         Note that in the case where the RSVP Next Hop is not CL-ECN
         capable, this RSVP hop would have (most probably) performed
         the RSVP-TTL vs IP-TTL check when processing the initial Path
         message and as a result would have set the Break bit in the
         Adspec (assuming there is at least one Interior node on the
         path from the Ingress Edge to the RSVP Next Hop). Thus, the
         sender would already have been notified in the first place
         that the QoS could not be guaranteed end-to-end.
      2) The Ingress Edge MUST carry out the admission control decision
         (for admission of the reservation over the path from Ingress
         Edge to Egress Edge through the ECN cloud) taking into account
         the congestion information provided in the CL-ECN object of
         the Resv message in accordance with the procedures of [CL-
         ARCH] and [CL-MARKING] (for example, if the Congestion Level
         Estimate conveyed in the CL-ECN object exceeds a configured
         threshold, the Ingress Edge may decide to reject this new
         reservation). Once the admission control decision is taken by
         the Ingress Edge, regular RSVP procedures are followed to
         either proceed with the reservation (and forward the Resv
         towards the sender) or tear down the reservation (and, in
         particular, send a ResvErr towards the receiver with Error
         Code "Admission Control failure".
      3) In case the Ingress Edge forwards the Resv message upstream,
         the Ingress Edge MUST remove the CL-ECN object [Editor Note:
         discuss RSVP Authentication]


   When generating a refresh for a Resv message towards the Ingress Edge,
   the Egress Edge SHOULD NOT include the current value of the
   Congestion-Level-Estimate in the CL-ECN object, but rather SHOULD
   include the value which was included in the previous refresh. This is
   for implementation reasons, to facilitate detection by the Ingress
   Edge that this message is a mere refresh even if the value of the
   actual Congestion-Level-Estimate has changed since the previous
   refresh.

   When receiving a PathErr message with the new Error Code of "CL-ECN
   Probes Required", the Ingress Edge MUST generate CL-ECN probes as
   described in [CL-ARCH] and [CL-MARKING] towards the Egress Edge which



Le Faucheur, et al.                                          [Page 6]


                      RSVP Extensions for CL-ECN         October 2005


   sent the PathErr Message, and MUST not propagate the PathErr message
   further upstream.


3.3.  Removal of E2E reservations

   E2E reservations are removed in the usual RSVP way via PathTear,
   ResvTear, timeout, or as the result of an error condition. This does
   not directly affect CL-ECN operations.


3.4.  Overview of Procedures for Preemption of Existing Reservations

   As mentioned earlier, [CL-ARCH] describes how the framework uses
   rate-based pre-emption to maintain the CL service to as many admitted
   microflows as possible even after localised failure and routing
   changes in the interior of the edge-to-edge region. The solution has
   two aspects. First, triggering the Ingress Edge that pre-emption may
   be needed. This involves a new router marking behaviour for Alert
   Notification. Secondly, calculating the right amount of traffic to
   drop. This involves the Egress Edge measuring the amount of CL
   traffic from a particular ingress gateway. The Ingress edge compares
   this measurement (which is the amount that the network can actually
   support) with the rate that it is sending.

   This section describes RSVP operations for support of such preemption.

   Section 3.2.1 "Alerting the Ingress Edge that pre-emption may be
   needed" specifies how the Egress Edge can be alerted, explicitly or
   implicitly, that preemption may be needed and specifies how the
   Egress Edge measures the rate of traffic at the Egress Edge for the
   relevant CL-region-aggregate. It also specifies that the Egress Edge
   needs to transport this information reliably to the Ingress Edge.

   Let us assume that a number of reservations are established and
   transit through a given Ingress Edge Ei and a given Egress Edge Ee.
   Let us now assume that Ee is alerted that preemption may be needed
   and that Ee has measured the egress rate for the CL-region-aggregate
   from Ei to Ee.

   Then, Ee MUST arbitrarily select one of the reservations whose
   Previous Hop is Ei and address to Ei a Resv message for that
   reservation with a CL-ECN object containing the current Egress Rate
   for the relevant CL-region-aggregate.

   To avoid the risk that this Resv message gets lost and in turn that
   the Ingress Edge is not made aware in a timely manner that the
   Congestion-Level-Estimate has changed significantly, the RSVP



Le Faucheur, et al.                                          [Page 7]


                      RSVP Extensions for CL-ECN         October 2005


   reliable messaging procedures specified in [RSVP-REFRESH] SHOULD be
   used.

   Note that, even when reliable messaging is used, there is a very
   small risk that the information about significant change of
   Congestion-Level-estimate does not make it to the Ingress Edge. For
   example, this could happen because there could be a race condition
   whereby the corresponding reservation may get torn down around the
   same time where the Resv message with the CL-ECN object is
   transmitted, resulting in the Ingress Edge ignoring the whole Resv
   message. However, this appears very unlikely and could also be
   mitigated by the Egress Edge sending the new Congestion-Level-
   Estimate on more than one reservation.

   [Editor Note: optional use of a Notify message will be investigated.
   Can this solve the race condition problem mentioned above?]

   On receipt of the Resv message Ei will detect that this message is
   not just a refresh because the content of the CL-ECN object has
   changed and will immediately trigger its admission control logic.
   This will assess whether some reservations need to be dropped in
   accordance with the [CL-ARCH] and [CL-MARKING] scheme. In case some
   do, those will be torn down as per regular RSVP procedures (in
   particular a ResvErr message is then sent to the receiver).


4.  RSVP Object and Error Code Definition

   This document defines a new object and two new error codes.

4.1.  CL-ECN Object

   o      Class = To be allocated by IANA
          C-Type = 1

       0           7 8          15 16            25 26       31
      +-------------+-------------+-------------+-------------+
      |                Congestion-Level-Estimate              |
      +-------------+-------------+-------------+-------------+
      |                 Preemption Egress Rate                |
      +-------------+-------------+-------------+-------------+


   The CL-ECN Object may only be used in Resv messages.

   Let us refer:
      - to the Egress Edge which generated the Resv message containing
        the CL-ECN object as Ee



Le Faucheur, et al.                                          [Page 8]


                      RSVP Extensions for CL-ECN         October 2005


      - to the RSVP Previous HOP (Ingres Edge) for the corresponding
        reservation as Ei.

   CL-ECN Congestion-Level-Estimate:
   This contains the current value of the Congestion-Level-Estimate
   (defined in [CL-ARCH] and [CL- MARKING]) computed by Ee for traffic
   from Ei to Ee
   [Editor Note: Encoding details to be added]

   Preemption Egress Rate:
   This contains:
      - When Ee is not alerted that preemption is needed for traffic
        from Ei to Ee, this field is set to 0,
      - When Ee is alerted that preemption is needed for traffic from
        Ei to Ee, the current value of the rate of traffic at the
        Egress Edge for the relevant CL-region-aggregate (defined in
        [CL-ARCH] and [CL-MARKING]) computed by Ee for traffic from Ei
        to Ee
   [Editor Note: Encoding details to be added]


4.2.  "CL-ECN Probes Required" Error Code

   The "CL-ECN Probes Required" Error Code may appear only in PathErr
   messages.

   Error Code = To be allocated by IANA


4.3.  "Inconsistent Admission Control Behaviour across Ingress and
    Egress Edge" Error Code

   The "Inconsistent Admission Control Behaviour across Ingress and
   Egress Edge" may appear only in ResvErr messages.
   [Editor note: should we allow it in PathErr messages too so that
   notification can also be provided to the sender?]

   Error Code for "Inconsistent Admission Control Behaviour across
   Ingress and Egress Edge"= To be allocated by IANA

   Error Value for "Egress Edge Router not CL-ECN capable"= To be
   allocated by IANA


5.  Security Considerations

   To be added




Le Faucheur, et al.                                          [Page 9]


                      RSVP Extensions for CL-ECN         October 2005


6.  IANA Considerations

   This document makes the following requests to the IANA:
      - allocate a new Object Class (CL-ECN Object)
      - allocate a new Error Code ("CL-ECN Probes Required") and manage
   the corresponding Error Value range
      - allocate a new Error Code ("Inconsistent Admission Control
   Behaviour across Ingress and Egress Edge") and manage the
   corresponding Error Value range


7.  Acknowledgments

   We would like to thank Carol Iturralde for her input into this
   document.


8.  Normative References

   [RSVP] Braden, R., ed., et al., "Resource ReSerVation Protocol
   (RSVP)- Functional Specification", RFC 2205, September 1997.

   [CL-ARCH] Briscoe et al." A Framework for Admission Control over
   Diffserv using Pre-Congestion Notification",
   draft-briscoe-tsvwg-cl-architecture-01.txt, October 2005.

   [RFC2998] Bernet, Y., Yavatkar, R., Ford, P., Baker, F., Zhang, L.,
   Speer, M., Braden, R., Davie, B., Wroclawski, J. and E. Felstaine, "A
   Framework for Integrated Services Operation Over DiffServ Networks",
   RFC 2998, November 2000.

   [CL-MARKING] work in progress, to be published.

   [RSVP-REFRESH]  Burger et al, "RSVP Refresh Overhead Reduction
   Extensions", RFC2961, April 2001


9.  Informative References

   [RFC2211]   J. Wroclawski, Specification of the Controlled-Load
   Network Element Service, September 1997

   [RFC2475]   Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.
   and W. Weiss, "A framework for Differentiated Services", RFC 2475,
   December 1998.


10.  Authors Address:



Le Faucheur, et al.                                         [Page 10]


                      RSVP Extensions for CL-ECN         October 2005


   Francois Le Faucheur
   Cisco Systems, Inc.
   Village d'Entreprise Green Side - Batiment T3
   400, Avenue de Roumanille
   06410 Biot Sophia-Antipolis
   France
   Email: flefauch@cisco.com

   Anna Charny
   Cisco Systems
   300 Apollo Drive
   Chelmsford, MA 01824
   USA
   EMail: acharny@cisco.com

   Bob Briscoe
   BT Research
   B54/77, Sirius House
   Adastral Park
   Martlesham Heath
   Ipswich, Suffolk
   IP5 3RE
   United Kingdom
   Email: bob.briscoe@bt.com

   Philip Eardley
   BT Research
   B54/77, Sirius House
   Adastral Park
   Martlesham Heath
   Ipswich, Suffolk
   IP5 3RE
   United Kingdom
   Email: philip.eardley@bt.com

   Kwok Ho Chan
   Nortel Networks
   600 Technology Park Drive
   Billerica, MA  01821
   USA
   Email: khchan@nortel.com

   Jozef Z. Babiarz
   Nortel Networks
   3500 Carling Avenue
   Ottawa, Ont  K2H 8E9
   Canada
   Email: babiarz@nortel.com



Le Faucheur, et al.                                         [Page 11]


                      RSVP Extensions for CL-ECN         October 2005



11.  IPR Statements

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights. Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.
   Please address the information to the IETF at ietf-ipr@ietf.org.


12.  Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


13.  Copyright Notice

   Copyright (C) The Internet Society (2005).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.



Appendix A - Example RSVP Signaling Flow for Admission Control

   To be added. Shows RSVP message flow in case of admission control of
   new reservations.


Le Faucheur, et al.                                         [Page 12]


                      RSVP Extensions for CL-ECN         October 2005




Appendix B - Example Signaling Flow for Preemption

   To be added. Shows RSVP message flow in case of preemption of
   existing reservations.













































Le Faucheur, et al.                                         [Page 13]