Internet Engineering Task Force (IETF)                    F. Le Faucheur
Request for Comments: 5945                                         Cisco
Category: Informational                                        J. Manner
ISSN: 2070-1721                                         Aalto University
                                                                D. Wing
                                                                  Cisco
                                                             A. Guillou
                                                                    SFR
                                                           October 2010


        Resource Reservation Protocol (RSVP) Proxy Approaches

Abstract

  The Resource Reservation Protocol (RSVP) can be used to make end-to-
  end resource reservations in an IP network in order to guarantee the
  quality of service required by certain flows.  RSVP assumes that both
  the data sender and receiver of a given flow take part in RSVP
  signaling.  Yet, there are use cases where resource reservation is
  required, but the receiver, the sender, or both, is not RSVP-capable.
  This document presents RSVP proxy behaviors allowing RSVP routers to
  initiate or terminate RSVP signaling on behalf of a receiver or a
  sender that is not RSVP-capable.  This allows resource reservations
  to be established on a critical subset of the end-to-end path.  This
  document reviews conceptual approaches for deploying RSVP proxies and
  discusses how RSVP reservations can be synchronized with application
  requirements, despite the sender, receiver, or both not participating
  in RSVP.  This document also points out where extensions to RSVP (or
  to other protocols) may be needed for deployment of a given RSVP
  proxy approach.  However, such extensions are outside the scope of
  this document.  Finally, practical use cases for RSVP proxy are
  described.


















Le Faucheur, et al.           Informational                     [Page 1]

RFC 5945                  RSVP Proxy Approaches             October 2010


Status of This Memo

  This document is not an Internet Standards Track specification; it is
  published for informational purposes.

  This document is a product of the Internet Engineering Task Force
  (IETF).  It represents the consensus of the IETF community.  It has
  received public review and has been approved for publication by the
  Internet Engineering Steering Group (IESG).  Not all documents
  approved by the IESG are a candidate for any level of Internet
  Standard; see Section 2 of RFC 5741.

  Information about the current status of this document, any errata,
  and how to provide feedback on it may be obtained at
  http://www.rfc-editor.org/info/rfc5945.

Copyright Notice

  Copyright (c) 2010 IETF Trust and the persons identified as the
  document authors.  All rights reserved.

  This document is subject to BCP 78 and the IETF Trust's Legal
  Provisions Relating to IETF Documents
  (http://trustee.ietf.org/license-info) in effect on the date of
  publication of this document.  Please review these documents
  carefully, as they describe your rights and restrictions with respect
  to this document.  Code Components extracted from this document must
  include Simplified BSD License text as described in Section 4.e of
  the Trust Legal Provisions and are provided without warranty as
  described in the Simplified BSD License.

  This document may contain material from IETF Documents or IETF
  Contributions published or made publicly available before November
  10, 2008.  The person(s) controlling the copyright in some of this
  material may not have granted the IETF Trust the right to allow
  modifications of such material outside the IETF Standards Process.
  Without obtaining an adequate license from the person(s) controlling
  the copyright in such materials, this document may not be modified
  outside the IETF Standards Process, and derivative works of it may
  not be created outside the IETF Standards Process, except to format
  it for publication as an RFC or to translate it into languages other
  than English.









Le Faucheur, et al.           Informational                     [Page 2]

RFC 5945                  RSVP Proxy Approaches             October 2010


Table of Contents

  1. Introduction ....................................................3
  2. RSVP Proxy Behaviors ............................................6
     2.1. RSVP Receiver Proxy ........................................6
     2.2. RSVP Sender Proxy ..........................................7
  3. Terminology .....................................................7
  4. RSVP Proxy Approaches ...........................................9
     4.1. Path-Triggered Receiver Proxy ..............................9
          4.1.1. Mechanisms for Maximizing the Reservation Span .....11
     4.2. Path-Triggered Sender Proxy for Reverse Direction .........15
     4.3. Inspection-Triggered Proxy ................................18
     4.4. STUN-Triggered Proxy ......................................21
     4.5. Application_Entity-Controlled Proxy .......................23
          4.5.1. Application_Entity-Controlled Sender Proxy
                 Using "RSVP over GRE" ..............................26
          4.5.2. Application_Entity-Controlled Proxy via Co-Location 28
     4.6. Policy_Server-Controlled Proxy ............................29
     4.7. RSVP-Signaling-Triggered Proxy ............................32
     4.8. Reachability Considerations ...............................33
  5. Security Considerations ........................................34
  6. Acknowledgments ................................................36
  7. References .....................................................36
     7.1. Normative References ......................................36
     7.2. Informative References ....................................37
  Appendix A.  Use Cases for RSVP Proxies ...........................40
    A.1.  RSVP-Based VoD Admission Control in Broadband
          Aggregation Networks ......................................40
    A.2.  RSVP-Based Voice/Video Connection Admission Control
          (CAC) in Enterprise WAN ...................................43
    A.3.  RSVP Proxies for Mobile Access Networks ...................44
    A.4.  RSVP Proxies for Reservations in the Presence of IPsec
          Gateways ..................................................46

1.  Introduction

  Guaranteed Quality of Service (QoS) for some applications with tight
  requirements (such as voice or video) may be achieved by reserving
  resources in each node on the end-to-end path.  The main IETF
  protocol for these resource reservations is the Resource Reservation
  Protocol (RSVP), as specified in [RFC2205].  RSVP does not require
  that all intermediate nodes support RSVP; however, it assumes that
  both the sender and the receiver of the data flow support RSVP.
  There are environments where it would be useful to be able to reserve
  resources for a flow on at least a subset of the flow path even when
  the sender or the receiver (or both) is not RSVP-capable (for
  example, from the sender to the network edge, or from edge to edge,
  or from the network edge to the receiver).



Le Faucheur, et al.           Informational                     [Page 3]

RFC 5945                  RSVP Proxy Approaches             October 2010


  Since the data sender or receiver may be unaware of RSVP, there are
  two types of RSVP proxies.  When the sender is not using RSVP, an
  entity in the network must operate on behalf of the data sender, and
  in particular, generate RSVP Path messages, and eventually receive,
  process, and sink Resv messages.  We refer to this entity as the RSVP
  Sender Proxy.  When the receiver is not using RSVP, an entity in the
  network must receive Path messages sent by a data sender (or by an
  RSVP Sender Proxy), sink those, and return Resv messages on behalf of
  the data receiver(s).  We refer to this entity as the RSVP Receiver
  Proxy.  The RSVP proxies need to be on the data path in order to
  establish the RSVP reservation; note, however, that some of the
  approaches described in this document allow the RSVP proxies to be
  controlled/triggered by an off-path entity.

  The flow sender and receiver generally have at least some (if not
  full) awareness of the application producing or consuming that flow.
  Hence, the sender and receiver are in a natural position to
  synchronize the establishment, maintenance, and teardown of the RSVP
  reservation with the application requirements.  Similarly, they are
  in a natural position to determine the characteristics of the
  reservation (bandwidth, QoS service, etc.) that best match the
  application requirements.  For example, before completing the
  establishment of a multimedia session, the endpoints may decide to
  establish RSVP reservations for the corresponding flows.  Similarly,
  when the multimedia session is torn down, the endpoints may decide to
  tear down the corresponding RSVP reservations.  For instance,
  [RFC3312] discusses how RSVP reservations can be very tightly
  synchronized by endpoints that uses the Session Initiation Protocol
  (SIP) ([RFC3261]) for session control.

  When RSVP reservation establishment, maintenance, and teardown are to
  be handled by RSVP proxies on behalf of an RSVP sender or receiver, a
  key challenge for the RSVP proxy is to determine when the RSVP
  reservations need to be established, maintained, and torn down, and
  to determine what the characteristics are (bandwidth, QoS, etc.) of
  the required RSVP reservations matching the application requirements.
  We refer to this problem as the synchronization of RSVP reservations
  with application-level requirements.

  The IETF Next Steps in Signaling (NSIS) working group has specified a
  new QoS signaling protocol: the QoS NSIS Signaling Layer Protocol
  (NSLP) ([RFC5974]).  This protocol also includes the notion of proxy
  operation, and terminating QoS signaling on nodes that are not the
  actual data senders or receivers (see Section 4.8, "Proxy Mode", of
  [RFC5974].  This is the same concept as the proxy operation for RSVP
  discussed in this document.  One difference, though, is that the NSIS
  framework does not consider multicast resource reservations, which
  RSVP provides today.



Le Faucheur, et al.           Informational                     [Page 4]

RFC 5945                  RSVP Proxy Approaches             October 2010


  Section 2 introduces the notion of RSVP Sender Proxy and RSVP
  Receiver Proxy.  Section 3 defines useful terminology.  Section 4
  then presents several fundamental RSVP proxy approaches, discussing
  how they achieve the necessary synchronization of RSVP reservations
  with application-level requirements.  Appendix A includes more
  detailed use cases for the proxies in various real-life deployment
  environments.

  It is important to keep in mind that the strongly recommended RSVP
  deployment model remains end-to-end as assumed in [RFC2205] with RSVP
  support on the sender and the receiver.  The end-to-end model allows
  the most effective synchronization between the reservation and
  application requirements.  Also, when compared to the end-to-end RSVP
  model, the use of RSVP proxies involves additional operational burden
  and/or imposes some topological constraints.  The additional
  operational burden comes in particular from additional configuration
  needed to activate the RSVP proxies and to help them identify for
  which senders/receivers a proxy behavior is required and for which
  senders/receivers it is not (so that an RSVP proxy does not perform
  establishment of reservations on behalf of devices that are capable
  of doing so themselves but would then be prevented -- without
  notification -- from doing so by the RSVP proxy).  The additional
  topological constraints come in particular from the requirement to
  have one RSVP Receiver Proxy on the path from any sender to every
  non-RSVP-capable device (so that a non-RSVP-capable device is always
  taken care of by an RSVP proxy) and the objective to have only one
  such Receiver Proxy on the path from any sender to every non-RSVP-
  capable device (so that an RSVP Receiver Proxy does not short-circuit
  another RSVP Receiver Proxy closer to the non-RSVP-capable device,
  thereby reducing the span of the RSVP reservation and the associated
  benefits).  In the case of the Path-Triggered Receiver Proxy
  approach, the operational burden and topological constraints can be
  significantly alleviated using the mechanisms discussed in
  Section 4.1.1.

  It is also worth noting that RSVP operations on end-systems are
  considerably simpler than on a router, and consequently that RSVP
  implementations on end-systems are very lightweight (particularly
  considering modern end-systems' capabilities, including mobile and
  portable devices).  For example, end-system RSVP implementations are
  reported to only consume low tens of kilobytes of code space.  Hence,
  this document should not be seen as an encouragement to depart from
  the end-to-end RSVP model.  Its purpose is only to allow RSVP
  deployment in special environments where RSVP just cannot be used on
  some senders and/or some receivers for reasons specific to the
  environment.





Le Faucheur, et al.           Informational                     [Page 5]

RFC 5945                  RSVP Proxy Approaches             October 2010


2.  RSVP Proxy Behaviors

  This section discusses the two types of proxies: the RSVP Sender
  Proxy operating on behalf of data senders, and the RSVP Receiver
  Proxy operating for data receivers.  The concepts presented in this
  document are not meant to deprecate the traditional [RFC2205] RSVP
  end-to-end model: end-to-end RSVP reservations are still expected to
  be used whenever possible.  However, RSVP proxies are intended to
  facilitate RSVP deployment where end-to-end RSVP signaling is not
  possible.

2.1.  RSVP Receiver Proxy

  With conventional end-to-end RSVP operations, RSVP reservations are
  controlled by receivers of data.  After a data sender has sent an
  RSVP Path message towards the intended recipient(s), each recipient
  that requires a reservation generates a Resv message.  If, however, a
  data receiver is not running the RSVP protocol, the last-hop RSVP
  router will still send the Path message to the data receiver, which
  will silently drop this message as an IP packet with an unknown
  protocol number.

  In order for reservations to be made in such a scenario, one of the
  RSVP routers on the data path determines that the data receiver will
  not be participating in the resource reservation signaling and
  performs RSVP Receiver Proxy functionality on behalf of the data
  receiver.  This is illustrated in Figure 1.  Various mechanisms by
  which the RSVP proxy router can gain the required information are
  discussed later in the document.

   |****|         ***          ***         |**********|          |----|
   | S  |---------*r*----------*r*---------| RSVP     |----------| R  |
   |****|         ***          ***         | Receiver |          |----|
                                           | Proxy    |
                                           |**********|

       ===================RSVP==============>

       ***********************************************************>

|****| RSVP-capable     |----| non-RSVP-capable       ***
| S  | Sender           | R  | Receiver               *r* regular RSVP
|****|                  |----|                        *** router

***> unidirectional media flow
==>  segment of flow path protected by RSVP reservation

                      Figure 1: RSVP Receiver Proxy



Le Faucheur, et al.           Informational                     [Page 6]

RFC 5945                  RSVP Proxy Approaches             October 2010


2.2.  RSVP Sender Proxy

  With conventional end-to-end RSVP operations, if a data sender is not
  running the RSVP protocol, a resource reservation cannot be set up; a
  data receiver alone cannot reserve resources without Path messages
  first being received.  Thus, even if the data receiver is running
  RSVP, it still needs some node on the data path to send a Path
  message towards the data receiver.

  In that case, an RSVP node on the data path determines that it should
  generate Path messages to allow the receiver to set up the resource
  reservation.  This node is referred to as the RSVP Sender Proxy and
  is illustrated in Figure 2.  This case presents additional challenges
  over the Receiver Proxy case, since the RSVP Sender Proxy must be
  able to generate all the information in the Path message (such as the
  SENDER_TSPEC object) without the benefit of having previously
  received any RSVP message.  An RSVP Receiver Proxy, by contrast, only
  needs to formulate an appropriate Resv message in response to an
  incoming Path message.  Mechanisms to operate an RSVP Sender Proxy
  are discussed later in this document.

   |----|         |**********|         ***          ***          |****|
   | S  |---------| RSVP     |---------*r*----------*r*----------| R  |
   |----|         | Sender   |         ***          ***          |****|
                  | Proxy    |
                  |**********|

                            ================RSVP==================>

       ***********************************************************>


|----| non-RSVP-capable     |****| RSVP-capable       ***
| S  | Sender               | R  | Receiver           *r* regular RSVP
|----|                      |****|                    *** router

***> unidirectional media flow

==>  segment of flow path protected by RSVP reservation

                       Figure 2: RSVP Sender Proxy

3.  Terminology

  o  On-Path: located on the data path of the actual flow of
     application data (regardless of where it is located with respect
     to the application-level signaling path).




Le Faucheur, et al.           Informational                     [Page 7]

RFC 5945                  RSVP Proxy Approaches             October 2010


  o  Off-Path: not On-Path.

  o  RSVP-capable (or RSVP-aware): supporting the RSVP protocol as per
     [RFC2205].

  o  RSVP Receiver Proxy: an RSVP-capable router performing, on behalf
     of a receiver, the RSVP operations that would normally be
     performed by an RSVP-capable receiver if end-to-end RSVP signaling
     were used.  Note that while RSVP is used upstream of the RSVP
     Receiver Proxy, RSVP is not used downstream of the RSVP Receiver
     Proxy.

  o  RSVP Sender Proxy: an RSVP-capable router performing, on behalf of
     a sender, the RSVP operations that would normally be performed by
     an RSVP-capable sender if end-to-end RSVP signaling were used.
     Note that while RSVP is used downstream of the RSVP Sender Proxy,
     RSVP is not used upstream of the RSVP Sender Proxy.

  o  Regular RSVP Router: an RSVP-capable router that is not behaving
     as an RSVP Receiver Proxy or as an RSVP Sender Proxy.

  o  Application-level signaling: signaling between entities operating
     above the IP layer and that are aware of the QoS requirements for
     actual media flows.  SIP ([RFC3261]) and the Real Time Streaming
     Protocol (RTSP) ([RFC2326]) are examples of application-level
     signaling protocols.  The Session Description Protocol (SDP)
     ([RFC4566]) is an example of a protocol that can be used by the
     application-level signaling protocol and from which some of the
     RSVP reservation parameters (addresses, ports, and bandwidth)
     might be derived.  RSVP is clearly not an application-level
     signaling protocol.

  The roles of the RSVP Receiver Proxy, RSVP Sender Proxy, and regular
  RSVP router are all relative to a given unidirectional flow.  A given
  router may act as the RSVP Receiver Proxy for a flow, as the RSVP
  Sender Proxy for another flow, and as a regular RSVP router for yet
  another flow.

  Some application-level signaling protocols support negotiation of QoS
  reservations for a media stream.  For example, with [RFC3312],
  resource reservation requirements are explicitly signaled during
  session establishment using SIP and SDP.  Also, [RFC5432] defines a
  mechanism to negotiate which resource reservation mechanism is to be
  used for a particular media stream.  Clearly, these reservation
  negotiation mechanisms can be invoked and operate effectively when
  both ends support RSVP (and obviously RSVP proxies are not used).
  When both ends do not support RSVP (and RSVP proxies are used at both
  ends), these mechanisms will simply not be invoked.  In the case



Le Faucheur, et al.           Informational                     [Page 8]

RFC 5945                  RSVP Proxy Approaches             October 2010


  where one end supports RSVP and the other does not (and is helped by
  an RSVP proxy), the application-level signaling entity supporting the
  non-RSVP-capable end might use the reservation negotiation mechanisms
  in such a way that the non-RSVP-capable end (helped by an RSVP proxy)
  appears to the remote end as an RSVP-capable device.  This will
  ensure that the RSVP-capable end is not discouraged from using RSVP
  because the remote end is not RSVP-capable.  In the case of SIP, the
  application-level entity may achieve this by taking advantage of the
  "segmented" status type of [RFC3312] and/or by taking advantage of a
  SIP [RFC3261] Back-to-Back User Agent (B2BUA).

4.  RSVP Proxy Approaches

  This section discusses fundamental RSVP proxy approaches.

4.1.  Path-Triggered Receiver Proxy

  In this approach, it is assumed that the sender is RSVP-capable and
  takes full care of the synchronization between application
  requirements and RSVP reservations.  With this approach, the RSVP
  Receiver Proxy uses the RSVP Path messages generated by the sender as
  the cue for establishing the RSVP reservation on behalf of the
  receiver.  The RSVP Receiver Proxy is effectively acting as a slave
  making reservations (on behalf of the receiver) under the sender's
  control.  This changes somewhat the usual RSVP reservation model
  where reservations are normally controlled by receivers.  Such a
  change greatly facilitates operations in the scenario of interest
  here, which is where the receiver is not RSVP-capable.  Indeed, it
  allows the RSVP Receiver Proxy to remain application-unaware by
  taking advantage of the application awareness and RSVP awareness of
  the sender.

  With the Path-Triggered RSVP Receiver Proxy approach, the RSVP router
  may be configured to use receipt of a regular RSVP Path message as
  the trigger for RSVP Receiver Proxy behavior.

  On receipt of the RSVP Path message, the RSVP Receiver Proxy:

  1.  establishes the RSVP Path state as per regular RSVP processing.

  2.  identifies the downstream interface towards the receiver.

  3.  sinks the Path message.

  4.  behaves as if a Resv message (whose details are discussed below)
      was received on the downstream interface.  This includes
      performing admission control on the downstream interface,
      establishing a Resv state (in case of successful admission



Le Faucheur, et al.           Informational                     [Page 9]

RFC 5945                  RSVP Proxy Approaches             October 2010


      control), and forwarding the Resv message upstream, sending
      periodic refreshes of the Resv message and tearing down the
      reservation if the Path state is torn down.

  In order to build the Resv message, the RSVP Receiver Proxy can take
  into account information received in the Path message.  For example,
  the RSVP Receiver Proxy may compose a FLOWSPEC object for the Resv
  message that mirrors the SENDER_TSPEC object in the received Path
  message (as an RSVP-capable receiver would typically do).

  Operation of the Path-Triggered Receiver Proxy in the case of a
  successful reservation is illustrated in Figure 3.

   |****|         ***          ***         |**********|          |----|
   | S  |---------*r*----------*r*---------| RSVP     |----------| R  |
   |****|         ***          ***         | Receiver |          |----|
                                           | Proxy    |
                                           |**********|

        ---Path---> ----Path----> ---Path---->

        <--Resv---> <---Resv----- <--Resv----

        ==================RSVP===============>

        **********************************************************>


|****| RSVP-capable     |----| Non-RSVP-capable        ***
| S  | Sender           | R  | Receiver                *r* regular RSVP
|****|                  |----|                         *** router

***> media flow

==>  segment of flow path protected by RSVP reservation

              Figure 3: Path-Triggered RSVP Receiver Proxy

  In case the reservation establishment is rejected (for example,
  because of an admission control failure on a regular RSVP router on
  the path between the RSVP-capable sender and the RSVP Receiver
  Proxy), a ResvErr message will be generated as per conventional RSVP
  operations and will travel downstream towards the RSVP Receiver
  Proxy.  While this ensures that the RSVP Receiver Proxy is aware of
  the reservation failure, conventional RSVP procedures do not cater to
  the notification of the sender of the reservation failure.  Operation
  of the Path-Triggered RSVP Receiver Proxy in the case of an admission
  control failure is illustrated in Figure 4.



Le Faucheur, et al.           Informational                    [Page 10]

RFC 5945                  RSVP Proxy Approaches             October 2010


   |****|         ***          ***         |**********|          |----|
   | S  |---------*r*----------*r*---------| RSVP     |----------| R  |
   |****|         ***          ***         | Receiver |          |----|
                                           | Proxy    |
                                           |**********|

        ---Path---> ----Path----> ---Path---->

                   <---Resv----- <--Resv------

                   ---ResvErr---> --ResvErr--->

        ===================RSVP===============>

        **********************************************************>


|****| RSVP-capable     |----| Non-RSVP-capable       ***
| S  | Sender           | R  | Receiver               *r* regular RSVP
|****|                  |----|                        *** router

***> media flow

==>  segment of flow path protected by RSVP reservation

        Figure 4: Path-Triggered RSVP Receiver Proxy with Failure

  Since, as explained above, in this scenario involving the RSVP
  Receiver Proxy, synchronization between an application and an RSVP
  reservation is generally performed by the sender, notifying the
  sender of reservation failure is needed.  [RFC5946] specifies RSVP
  extensions allowing such sender notification in the case of
  reservation failure in the presence of a Path-Triggered RSVP Receiver
  Proxy.

4.1.1.  Mechanisms for Maximizing the Reservation Span

  The presence in the flow path of a Path-Triggered RSVP Receiver Proxy
  (for a given flow) that strictly behaves as described previously
  would cause the Path message to be terminated and a Resv message to
  be generated towards the sender.  When the receiver is indeed not
  RSVP-capable and there is no other RSVP Receiver Proxy downstream on
  the flow path, this achieves the best achievable result of
  establishing an RSVP reservation as far downstream as the RSVP
  Receiver Proxy.






Le Faucheur, et al.           Informational                    [Page 11]

RFC 5945                  RSVP Proxy Approaches             October 2010


  However, if the eventual receiver was in fact RSVP-capable, it would
  be prevented from participating in RSVP signaling, since it does not
  receive any Path message.  As a result, the RSVP reservation would
  only span a subset of the path it could actually span.  A similar
  sub-optimality would exist with multiple Receiver Proxies in the path
  of the flow: the first Receiver Proxy may prevent the Path message
  from reaching the second one and therefore prevent the reservation
  from extending down to the second Receiver Proxy.

  It is desirable that, in the presence of Path-Triggered RSVP Receiver
  Proxies and of a mix of RSVP-capable and non-RSVP-capable receivers,
  the RSVP reservation spans as much of the flow path as possible.
  This can be achieved dynamically (avoiding tedious specific
  configuration), using the mechanisms described in Sections 4.1.1.1
  and 4.1.1.2.

4.1.1.1.  Dynamic Discovery of Downstream RSVP Functionality

  When generating a proxy Resv message upstream, a Receiver Proxy may
  be configured to perform dynamic discovery of downstream RSVP
  functionality.  To that end, when generating the proxy Resv message
  upstream, the Receiver Proxy forwards the Path message downstream
  instead of terminating it.  This allows an RSVP-capable receiver (or
  a downstream Receiver Proxy) to respond to the Path with an upstream
  Resv message.  On receipt of a Resv message, the Receiver Proxy
  internally converts its state from a proxied reservation to a regular
  midpoint RSVP behavior.  From then on, everything proceeds as if the
  RSVP router had behaved as a regular RSVP router at reservation
  establishment (as opposed to having behaved as an RSVP Receiver Proxy
  for that flow).

  The RSVP Receiver Proxy behavior for dynamic discovery of downstream
  RSVP functionality is illustrated in Figure 5 and is also discussed
  in Section 4.1 of [RFC5946].

















Le Faucheur, et al.           Informational                    [Page 12]

RFC 5945                  RSVP Proxy Approaches             October 2010


     |****|         ***         |**********|   |----|
     | S  |---------*r*---------| RSVP     |---| R1 |
     |****|         ***         | Receiver |   |----|
                                | Proxy    |
                                |          |
                                |          |            |****|
                                |          |------------| R2 |
                                |**********|            |****|

          ---Path--->  --Path--->
             (R1)        (R1)    \-------Path-->
                                 /       (R1)
          <--Resv---  <---Resv---

         ================RSVP===>

         **************************************>

          ---Path--->  --Path--->
             (R2)        (R2)    \-------------Path---->
                                 /             (R2)
          <--Resv---  <---Resv---
                                            <----Resv---

         ================RSVP===========================>

         ***********************************************>


  |****| RSVP-capable  |----| non-RSVP-capable  |****| RSVP-capable
  | S  | Sender        | R  | Receiver          | R  | Receiver
  |****|               |----|                   |****|

  ***
  *r* regular RSVP
  *** router

  (R1) = Path message contains a Session object whose destination is R1

  ***> media flow

  ==>  segment of flow path protected by RSVP reservation

      Figure 5: Dynamic Discovery of Downstream RSVP Functionality

  This dynamic discovery mechanism has the benefit that new (or
  upgraded) RSVP endpoints will automatically and seamlessly be able to
  take advantage of end-to-end reservations, without impacting the



Le Faucheur, et al.           Informational                    [Page 13]

RFC 5945                  RSVP Proxy Approaches             October 2010


  ability of a Receiver Proxy to proxy RSVP for other, non-RSVP-capable
  endpoints.  This mechanism also achieves the goal of automatically
  discovering the longest possible RSVP-supporting segment in a network
  with multiple Receiver Proxies along the path.  This mechanism
  dynamically adjusts to any topology and routing change.  Also, this
  mechanism dynamically handles the situation in which a receiver was
  RSVP-capable and for some reason (e.g., software downgrade) no longer
  is.  Finally, this approach requires no new RSVP protocol extensions
  and no configuration changes to the Receiver Proxy as new RSVP-
  capable endpoints come and go.

  The only identified drawbacks to this approach are:

  o  If admission control fails on the segment between the Receiver
     Proxy and the RSVP-capable receiver, the receiver will get a
     ResvErr and can take application-level signaling steps to
     terminate the call.  However, the Receiver Proxy has already sent
     a Resv upstream for this flow, so the sender will see a "false"
     reservation that is not truly end-to-end.  The actual admission
     control status will resolve itself in a short while, but the
     sender will need to roll back any permanent action (such as
     billing) that may have been taken on receipt of the phantom Resv.
     Note that if the second receiver is also a Receiver Proxy that is
     not participating in application signaling, it will convert the
     received ResvErr into a PathErr that will be received by the
     sender.

  o  If there is no RSVP-capable receiver (or other Receiver Proxy)
     downstream of the Receiver Proxy, then the Path messages sent by
     the Receiver Proxy every RSVP refresh interval (e.g., 30 seconds
     by default) will never be responded to.  However, these messages
     consume a small amount of bandwidth, and in addition would install
     some RSVP state on RSVP-capable midpoint nodes downstream of the
     first Receiver Proxy.  This is seen as a very minor sub-
     optimality.  We also observe that such resources would be consumed
     anyways if the receiver was RSVP-capable.  Still, if deemed
     necessary, to mitigate this, the Receiver Proxy can tear down any
     unanswered downstream Path state and stop sending Path messages
     for the flow (or only send them at much lower frequency) as
     further discussed in [RFC5946].

4.1.1.2.  Selective Receiver Proxy and Sender Control of Receiver Proxy

  An RSVP Receiver Proxy can be selective about the sessions that it
  terminates, based on local policy decision.  For example, an edge
  router functioning as a Receiver Proxy may behave as a proxy only for
  Path messages that are actually going to exit the domain in question,
  and not for Path messages that are transiting through it but stay



Le Faucheur, et al.           Informational                    [Page 14]

RFC 5945                  RSVP Proxy Approaches             October 2010


  within the domain.  As another example, the Receiver Proxy may be
  configurable to only proxy for flows addressed to a given destination
  address or destination address ranges (for which end devices are
  known to not be RSVP-capable).

  The decision to proxy a Resv for a Path may also be based on
  information signaled from the sender in the Path message.  For
  example, the sender may identify the type of application or flow in
  the Application Identity policy element ([RFC2872]) in the Path, and
  the Receiver Proxy may be configured to proxy for only certain types
  of flows.  Or, if the sender knows (for example, through application
  signaling) that the receiver is RSVP-capable, the sender can include
  an indication in a policy element to any Receiver Proxy that it ought
  not to terminate the Path (or conversely, if the receiver is known
  not to support RSVP, the sender could include an indication to
  Receiver Proxies that they ought to generate a proxy Resv message).
  The Receiver Proxy Control policy element specified in Section 4.2 of
  [RFC5946] can be used for that purpose.

4.2.  Path-Triggered Sender Proxy for Reverse Direction

  In this approach, it is assumed that one endpoint is RSVP-capable and
  takes full care of the synchronization between application
  requirements and RSVP reservations.  This endpoint is the sender for
  one flow direction (which we refer to as the "forward" direction) and
  is the receiver for the flow in the opposite direction (which we
  refer to as the "reverse" direction).

  With the Path-Triggered Sender Proxy for Reverse Direction approach,
  the RSVP proxy uses the RSVP signaling generated by the receiver (for
  the reverse direction) as the cue for initiating RSVP signaling for
  the reservation in the reverse direction.  More precisely, the RSVP
  proxy can take the creation (or maintenance or teardown) of a Path
  state by the receiver as the cue to create (or maintain or tear down,
  respectively) a Path state towards the receiver.  Thus, the RSVP
  proxy is effectively acting as a Sender Proxy for the reverse
  direction under the control of the receiver (for the reverse
  direction).  Note that this assumes a degree of symmetry, for
  example, in terms of bandwidth for the two directions of the flow (as
  is currently typical for IP telephony).

  The signaling flow for the Path-Triggered Sender Proxy for Reverse
  Direction is illustrated in Figure 6.

  Path messages generated by the receiver need to transit via the RSVP
  Sender Proxy that is on the path from the sender to the receiver.  In
  some topologies, this will always be the case: for example, where the
  sender is on a stub network hanging off the RSVP Sender Proxy or



Le Faucheur, et al.           Informational                    [Page 15]

RFC 5945                  RSVP Proxy Approaches             October 2010


  where there is no asymmetric routing (such that if an RSVP Sender
  Proxy is on the path from receiver to sender, then it is also on the
  path from sender to receiver).  In some topologies (such as those
  involving asymmetric routing), this may not always happen naturally.
  Measures to ensure this does happen in these topologies are outside
  the scope of this document.

   |****|         ***          ***         |**********|          |----|
   | R  |---------*r*----------*r*---------| RSVP     |----------| S  |
   |****|         ***          ***         | Sender   |          |----|
                                           | Proxy    |
                                           |**********|

        ---Path---> ----Path----> ---Path---->

        <--Path---> <---Path----- <--Path----

        ---Resv---> ----Resv----> ---Resv---->

       <================RSVP==================

       <**********************************************************


|****| RSVP-capable       |----| Non-RSVP-capable     ***
| R  | Receiver for       | S  | Sender for           *r* regular RSVP
|****| reverse direction  |----| reverse direction    *** router

***> media flow

==>  segment of flow path protected by RSVP reservation
     in reverse direction

       Figure 6: Path-Triggered Sender Proxy for Reverse Direction

  Of course, the RSVP proxy may simultaneously (and typically will)
  also act as the Path-Triggered Receiver Proxy for the forward
  direction, as defined in Section 4.1.  Such an approach is most
  useful in situations involving RSVP reservations in both directions
  for symmetric flows.  This is illustrated in Figure 7.











Le Faucheur, et al.           Informational                    [Page 16]

RFC 5945                  RSVP Proxy Approaches             October 2010


   |****|         ***          ***         |----------|          |----|
   |S/R |---------*r*----------*r*---------| RSVP     |----------|S/R |
   |****|         ***          ***         | Receiver |          |----|
                                           | & Sender |
                                           | Proxy    |
                                           |----------|

        ---Path---> ----Path----> ---Path---->

        <--Resv---> <---Resv----- <--Resv----

        <--Path---> <---Path----- <--Path----

        ---Resv---> ----Resv----> ---Resv---->

       ================RSVP==================>
       <================RSVP==================

       **********************************************************>
       <**********************************************************


|****| RSVP-capable     |----| Non-RSVP-capable       ***
|S/R | Sender and       |S/R | Sender and             *r* regular RSVP
|****| Receiver         |----| Receiver               *** router

***> media flow

==>  segment of flow path protected by RSVP reservation
     in forward and in reverse direction

           Figure 7: Path Triggered Receiver and Sender Proxy

  With the Path-Triggered Sender Proxy for Reverse Direction approach,
  the RSVP router may be configurable to use receipt of a regular RSVP
  Path message as the trigger for Sender Proxy for Reverse Direction
  behavior.

  On receipt of the RSVP Path message for the forward direction, the
  RSVP Sender Receiver Proxy:

  1.  sinks the Path message.

  2.  behaves as if a Path message for the reverse direction (whose
      details are discussed below) had been received by the Sender
      Proxy.  This includes establishing the corresponding Path state,
      forwarding the Path message downstream, sending periodic




Le Faucheur, et al.           Informational                    [Page 17]

RFC 5945                  RSVP Proxy Approaches             October 2010


      refreshes of the Path message, and tearing down the Path in the
      reverse direction when the Path state in the forward direction is
      torn down.

  In order to build the Path message for the reverse direction, the
  RSVP Sender Proxy can take into account information in the received
  Path message for the forward direction.  For example, the RSVP Sender
  Proxy may mirror the SENDER_TSPEC object in the received Path
  message.

  We observe that this approach does not require any extensions to the
  existing RSVP protocol.

  In the case where reservations are required in both directions (as
  shown in Figure 7), the RSVP-capable device simply needs to behave as
  a regular RSVP sender and RSVP receiver.  It need not be aware that
  an RSVP proxy happens to be used, and the Path message it sent for
  the forward reservation also acts as the trigger for establishment of
  the reverse reservation.  However, in the case where a reservation is
  only required in the reverse direction (as shown in Figure 6), the
  RSVP-capable device has to generate Path messages in order to trigger
  the reverse-direction reservation even if no reservation is required
  in the forward direction.  Although this is not in violation of
  [RFC2205], it may not be the default behavior of an RSVP-capable
  device and therefore may need a behavioral change specifically to
  facilitate operation of the Path-Triggered Sender Proxy for Reverse
  Direction.

4.3.  Inspection-Triggered Proxy

  In this approach, it is assumed that the RSVP proxy is on the data
  path of "packets of interest", that it can inspect such packets on
  the fly as they transit through it, and that it can infer information
  from these packets of interest to determine what RSVP reservations
  need to be established, as well as when and with what characteristics
  (possibly also using some configured information).

  One example of "packets of interest" could be application-level
  signaling.  An RSVP proxy capable of inspecting SIP signaling for a
  multimedia session or RTSP signaling for video streaming can obtain
  from such signaling information about when a multimedia session is up
  or when a video is going to be streamed.  It can also identify the
  addresses and ports of senders and receivers and can determine the
  bandwidth of the corresponding flows.  It can also determine when the
  reservation is no longer needed and tear it down.  Thus, such an RSVP
  proxy can determine all necessary information to synchronize RSVP
  reservations to application requirements.  This is illustrated in
  Figure 8.



Le Faucheur, et al.           Informational                    [Page 18]

RFC 5945                  RSVP Proxy Approaches             October 2010


                             |-------------|
                             | Application |
                             | Signaling   |
                             | Entity      |
                             |-------------|
                                 /   \
                                /     \
                               /       \
       <///////////////////////         \\\\\\\\\\\\\\\\\\\\\\\\>

   |----|        |********|      ***        |********|          |----|
   | S  |--------| RSVP   |------*r*--------| RSVP   |----------| R  |
   |----|        | Proxy  |      ***        | Proxy  |          |----|
                 |********|                 |********|

                         =======RSVP=======>

        ********************************************************>


|----| Non-RSVP-capable   |----| Non-RSVP-capable      ***
| S  | Sender             | R  | Receiver              *r* regular RSVP
|----|                    |----|                       *** router

</\> application-level signaling

***> media flow

==>  segment of flow path protected by RSVP reservation

                Figure 8: Inspection-Triggered RSVP Proxy

  Another example of "packets of interest" could be transport control
  messages (e.g., the Real-time Transport Control Protocol (RTCP)
  [RFC3550]) traveling alongside the application flow itself (i.e.,
  media packets).  An RSVP proxy capable of detecting the transit of
  packets from a particular flow can attempt to establish a reservation
  corresponding to that flow.  Characteristics of the reservation may
  be derived by various methods such as from configuration, flow
  measurement, or a combination of those.  However, these methods
  usually come with their respective operational drawbacks:
  configuration involves an operational cost and may hinder
  introduction of new applications, and measurement is reactive so that
  accurate reservation may lag actual traffic.

  In the case of reservation failure, the Inspection-Triggered RSVP
  Proxy does not have a direct mechanism for notifying the application
  (since it is not participating itself actively in application



Le Faucheur, et al.           Informational                    [Page 19]

RFC 5945                  RSVP Proxy Approaches             October 2010


  signaling) so that the application is not in a position to take
  appropriate action (for example, terminate the corresponding
  session).  To mitigate this problem, the Inspection-Triggered RSVP
  Proxy may differently mark the Differentiated Services codepoint
  (DSCP) ([RFC2474]) of flows for which an RSVP reservation has been
  successfully proxied from the flows for which a reservation is not in
  place.  In some situations, the Inspection-Triggered Proxy might be
  able to modify the "packets of interest" (e.g., application signaling
  messages) to convey some hint to applications that the corresponding
  flows cannot be guaranteed by RSVP reservations.

  With the Inspection-Triggered Proxy approach, the RSVP proxy is
  effectively required to attempt to build application awareness by
  traffic inspection and then is somewhat limited in the actions it can
  take in case of reservation failure.  Depending on the "packets of
  interest" used by the RSVP proxy to trigger the reservation, there is
  a risk that the RSVP proxy will end up establishing a reservation for
  a media flow that actually never starts.  However, this can be
  mitigated by the timing out and tearing down of an unnecessary
  reservation by the RSVP proxy when no corresponding media flow is
  observed.  This flow observation and timeout approach can also be
  used to tear down reservations that were rightfully established for a
  flow but are no longer needed because the flow stopped.

  The Inspection-Triggered approach is also subject to the general
  limitations associated with data inspection.  This includes being
  impeded by encryption or tunneling, or being dependent on some
  topology constraints such as relying on the fact that both the
  packets of interest and the corresponding flow packets always transit
  through the same RSVP proxy.

  Nonetheless, this may be a useful approach in specific environments.
  Note also that this approach does not require any change to the RSVP
  protocol.

  With the Inspection-Triggered RSVP Proxy approach, the RSVP router
  may be configurable to use and interpret some specific packets of
  interest as the trigger for RSVP Receiver Proxy behavior.

  When operating off signaling traffic, the Inspection-Triggered RSVP
  Proxy may be able to detect from the signaling that the endpoint is
  capable of establishing an RSVP reservation (e.g., in the case of
  SIP, via the inspection of the [RFC3312]/[RFC4032] precondition), in
  which case it would not behave as a proxy for that endpoint.  Also,
  the Inspection-Triggered RSVP Proxy may inspect RSVP signaling, and
  if it sees RSVP signaling for the flow of interest, it can disable
  its Sender Proxy behavior for that flow (or that sender).
  Optionally, through RSVP signaling inspection, the Sender Proxy might



Le Faucheur, et al.           Informational                    [Page 20]

RFC 5945                  RSVP Proxy Approaches             October 2010


  also gradually "learn" (possibly with some timeout) which sender is
  RSVP-capable and which is not.  These mechanisms can facilitate
  gradual and dynamic migration from the proxy model towards the end-
  to-end RSVP model as more and more endpoints become RSVP-capable.

4.4.  STUN-Triggered Proxy

  In this approach, the RSVP proxy takes advantage of the application
  awareness provided by the Session Traversal Utilities for NAT (STUN)
  ([RFC5389]) signaling to synchronize RSVP reservations with
  application requirements.  The STUN signaling is sent from endpoint
  to endpoint.  This is illustrated in Figure 9.  In this approach, a
  STUN message triggers the RSVP proxy.


   |----|        |********|      ***        |********|          |----|
   | S  |--------| RSVP   |------*r*--------| RSVP   |----------| R  |
   |----|        | Proxy  |      ***        | Proxy  |          |----|
                 |********|                 |********|

        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^>

                         =======RSVP=======>

        ********************************************************>


|----| Non-RSVP-capable   |----| Non-RSVP-capable      ***
| S  | Sender             | R  | Receiver              *r* regular RSVP
|----|                    |----|                       *** router

^^^> STUN message flow (over same UDP ports as media flow)

==>  segment of flow path protected by RSVP reservation

***> RTP media flow

                     Figure 9: STUN-Triggered Proxy

  For unicast flows, [RFC5245] is a widely adopted approach for Network
  Address Translator (NAT) traversal.  For our purposes of triggering
  RSVP proxy behavior, we rely on the Interactive Connectivity
  Establishment (ICE) protocol's connectivity check, which is based on
  the exchange of STUN Binding Request messages between hosts to verify
  connectivity (see Section 2.2 of [RFC5245]).  The STUN message could
  also include (yet to be specified) STUN attributes to indicate
  information such as the bandwidth and application requesting the
  flow, which would allow the RSVP proxy agent to create an



Le Faucheur, et al.           Informational                    [Page 21]

RFC 5945                  RSVP Proxy Approaches             October 2010


  appropriately sized reservation for each flow.  Including such new
  STUN attributes in the ICE connectivity check messages would
  facilitate operation of the RSVP proxy.  To ensure RSVP reservations
  are only established when needed, the RSVP proxy needs to
  distinguish, among all the STUN messages, the ones that reflect (with
  high likelihood) an actual upcoming media flow.  This can be achieved
  by identifying the STUN messages associated with an ICE connectivity
  check.  In turn, this can be achieved through (some combination of)
  the following checks:

  o  if, as discussed above, new STUN attributes (e.g., conveying the
     flow bandwidth) are indeed defined in the future in view of
     facilitating STUN-Triggered reservations, then the presence of
     these attributes would reveal that the STUN message is part of an
     ICE connectivity check.

  o  the presence of the PRIORITY, USE-CANDIDATE, ICE-CONTROLLED, or
     ICE-CONTROLLING attributes reveals that the STUN message is part
     of an ICE connectivity check.

  o  the RSVP proxy may wait for a STUN message containing the USE-
     CANDIDATE attribute indicating the selected ICE "path" to trigger
     reservation only for the selected "path".  This allows the RSVP
     proxy to only trigger a reservation for the "path" actually
     selected and therefore for the media flow that will actually be
     established (for example, when ICE is being used for IPv4/v6 path
     selection).

  o  the RSVP proxy configuration could contain some information
     facilitating determination of when to perform RSVP proxy
     reservation and when not to.  For example, the RSVP proxy
     configuration could contain the IP addresses of the STUN servers
     such that STUN messages to/from those addresses are known to not
     be part of an ICE connectivity check.  As another example, the
     RSVP proxy configuration could contain information identifying the
     set of Differentiated Services codepoint (DSCP) values that the
     media flows requiring reservation use, so that STUN messages not
     using one of these DSCP values are known to not be part of an ICE
     connectivity check.

  Despite these checks, there is always a potential risk that the RSVP
  proxy will end up establishing a reservation for a media flow that
  actually never starts.  However, this is limited to situations in
  which the end-systems are interested enough in establishing
  connectivity for a flow but never transmit.  Also, this can be
  mitigated by timing out and tear down of an unnecessary reservation
  by the RSVP proxy when no corresponding media flow is observed.




Le Faucheur, et al.           Informational                    [Page 22]

RFC 5945                  RSVP Proxy Approaches             October 2010


  The RSVP proxy agent can inform endpoints of an RSVP reservation
  failure implicitly by dropping the ICE connectivity check message or
  explicitly by sending ICMP messages back to the endpoint.  This
  allows reasonably effective synchronization between RSVP reservations
  handled by the RSVP proxies and the application running on non-RSVP-
  capable endpoints.  It also has the benefits of operating through
  NATs.

  For multicast flows (or certain kinds of unicast flows that don't or
  can't use ICE), a STUN Indication message [RFC5389] could be used to
  carry the (yet to be defined) STUN attributes mentioned earlier to
  indicate the flow bandwidth, thereby providing a benefit similar to
  the ICE connectivity check.  STUN Indication messages are not
  acknowledged by the receiver and have the same scalability as the
  underlying multicast flow.

  The corresponding extensions to ICE and STUN for such a STUN-
  Triggered RSVP Proxy approach are beyond the scope of this document.
  They may be defined in the future in a separate document.  As the
  STUN-Triggered RSVP Proxy approach uses STUN in a way (i.e., to
  trigger reservations) that is beyond its initial intended purpose,
  the potential security implications need to be considered by the
  operator.

  ICE connectivity checks are not always used for all flows.  When the
  STUN-Triggered RSVP Proxy approach is used, it can establish RSVP
  reservations for flows for which ICE connectivity is performed.
  However, the STUN-Triggered RSVP Proxy will not establish a
  reservation for flows for which an ICE connectivity check is not
  performed.  Those flows either will not benefit from an RSVP
  reservation or can benefit from an RSVP reservation established
  through other means (end-to-end RSVP, other forms of RSVP proxy).

  The STUN-Triggered approach relies on interception and inspection of
  STUN messages.  Thus, this approach may be impeded by encryption or
  tunneling.

4.5.  Application_Entity-Controlled Proxy

  In this approach, it is assumed that an entity involved in the
  application-level signaling controls an RSVP proxy that is located in
  the data path of the application flows (i.e., "on-path").  With this
  approach, the RSVP proxy does not itself attempt to determine the
  application reservation requirements.  Instead, the RSVP proxy is
  instructed by the entity participating in application-level signaling
  to establish, maintain, and tear down reservations as needed by the
  application flows.  In other words, with this approach, the solution
  for synchronizing RSVP signaling with application-level requirements



Le Faucheur, et al.           Informational                    [Page 23]

RFC 5945                  RSVP Proxy Approaches             October 2010


  is to rely on an application-level signaling entity that controls an
  RSVP proxy function that sits in the flow data path.  This approach
  allows control of an RSVP Sender Proxy, an RSVP Receiver Proxy, or
  both.

  Operation of the Application_Entity-Controlled Proxy is illustrated
  in Figure 10.

                       |---------|        |---------|
              /////////|  App    |////\\\\|  App    |\\\\\\\\
             /         | Entity  |        | Entity  |        \
            /          |---------|        |---------|         \
           /               //                \\                \
          /               //                  \\                \
         /               //                    \\                \
        /               //                      \\                \
       /               //                        \\                \
   |----|          |********|      ***       |*********|         |----|
   | S  |----------|        |------*r*-------|         |---------| R  |
   |----|          | RSVP   |      ***       | RSVP    |         |----|
                   | Sender |                | Receiver|
                   | Proxy  |                | Proxy   |
                   |********|                |*********|

                           =======RSVP=======>

        ********************************************************>


|----| Non-RSVP-capable   |----| Non-RSVP-capable      ***
| S  | Sender             | R  | Receiver              *r* regular RSVP
|----|                    |----|                       *** router

***> media flow

==>  segment of flow path protected by RSVP reservation

/\   Application signaling (e.g., SIP)

//   RSVP proxy control interface

             Figure 10: Application_Entity-Controlled Proxy

  As an example, the Application_Entity-Controlled Proxy may be used in
  the context of SIP servers ([RFC3261]) or Session Border Controllers
  (SBCs) (see [RFC5853] for a description of SBCs) to establish RSVP
  reservations for multimedia sessions.  In that case, the application
  entity may be the signaling component of the SBC.



Le Faucheur, et al.           Informational                    [Page 24]

RFC 5945                  RSVP Proxy Approaches             October 2010


  This RSVP proxy approach does not require any extension to the RSVP
  protocol.  However, it relies on an RSVP proxy control interface
  allowing control of the RSVP proxy by an application signaling
  entity.  This RSVP proxy control interface is beyond the scope of
  this document.  Candidate protocols for realizing such an interface
  include the IETF Network Configuration (NETCONF) Protocol ([RFC4741],
  [RFC5277]), the Web Services protocol ([W3C]), the QoS Policy
  Information Model (QPIM) ([RFC3644]), and Diameter ([RFC3588]).  This
  interface can rely on soft states or hard states.  Clearly, when hard
  states are used, those need to be converted appropriately by the RSVP
  proxy entities into the corresponding RSVP soft states.  As an
  example, [RFC5866] is intended to allow control of RSVP proxy via
  Diameter.

  In general, the application entity is not expected to maintain
  awareness of which RSVP Receiver Proxy is on the path to which
  destination.  However, in the particular cases where it does so
  reliably, we observe that the application entity could control the
  RSVP Sender Proxy and Receiver Proxy so that aggregate RSVP
  reservations are used between those, instead of one reservation per
  flow.  For example, these aggregate reservations could be of the
  RSVP-AGGREGATE type, as specified in [RFC3175], or of the GENERIC-
  AGGREGATE type, as specified in [RFC4860].  Such aggregate
  reservations could be used so that a single reservation can be used
  for multiple (possibly all) application flows transiting via the same
  RSVP Sender Proxy and the same RSVP Receiver Proxy.

  For situations in which only the RSVP Sender Proxy has to be
  controlled by this interface, the interface may be realized through
  the simple use of RSVP itself, over a Generic Routing Encapsulation
  (GRE) tunnel from the application entity to the RSVP Sender Proxy.
  This particular case is further discussed in Section 4.5.1.  Another
  particular case of interest is where the application signaling entity
  resides on the same device as the RSVP proxy.  In that case, this
  interface may be trivially realized as an internal API.  An example
  environment based on this particular case is illustrated in
  Section 4.5.2.

  The application entity controlling the RSVP proxy (e.g., a SIP Call
  Agent) would often be aware of a number of endpoint capabilities, and
  it has to be aware of which endpoint can be best "served" by which
  RSVP proxy anyways.  So it is reasonable to assume that such an
  application is aware of whether a given endpoint is RSVP-capable or
  not.  The application may also consider the QoS preconditions and QoS
  mechanisms signaled by an endpoint as per [RFC3312]/[RFC4032] and
  [RFC5432].  The information about endpoint RSVP capability can then
  be used by the application to decide whether to trigger proxy
  behavior or not for a given endpoint.  This can facilitate gradual



Le Faucheur, et al.           Informational                    [Page 25]

RFC 5945                  RSVP Proxy Approaches             October 2010


  and dynamic migration from the proxy model towards the end-to-end
  RSVP model as more and more endpoints become RSVP-capable.

  In some environments, the application entities (e.g., SIP back-to-
  back user agents) that need to control the RSVP proxies would already
  be deployed independently of the use, or not, of the
  Application_Entity-Controlled Proxy approach.  In this case, the
  activation of the RSVP proxy approach should not introduce
  significant disruption in the application signaling path.  In some
  environments, additional application entities may need to be deployed
  to control the RSVP proxies.  In this case, the network operator
  needs to consider the associated risks of disruption to the
  application signaling path.

4.5.1.  Application_Entity-Controlled Sender Proxy Using "RSVP over GRE"

  This approach is simply a particular case of the more general
  Application_Entity-Controlled Proxy, but where only RSVP Sender
  Proxies need to be controlled by the application, and where RSVP is
  effectively used as the control protocol between the application-
  signaling entity and the RSVP Sender Proxy.

  In this approach, the RSVP messages (e.g., RSVP Path message) are
  effectively generated by the application entity and logically
  "tunneled" to the RSVP Sender Proxy via GRE tunneling.  This is to
  ensure that the RSVP messages follow the exact same path as the flow
  they protect (as required by RSVP operations) on the segment of the
  end-to-end path that is to be subject to RSVP reservations.

  Figure 11 illustrates such an environment.





















Le Faucheur, et al.           Informational                    [Page 26]

RFC 5945                  RSVP Proxy Approaches             October 2010


                               |-------------|
                   ////////////| Application |\\\\\\\\\
                  /            | Entity      |         \
                 /             |-------------|          \
                /                 /=/                    \
               /                 /=/                      \
              /                 /=/                        \
             /                 /=/                          \
            /                 /=/                            \
           /                 /=/                              \
          /                 /=/                                \
         /                 /=/                                  \
    |----|           |********|           ***                 |****|
    | S  |-----------| RSVP   |-----------*r*-----------------| R  |
    |----|           | Sender |           ***                 |****|
                     | Proxy  |
                     |********|

                             =========RSVP====================>

         *****************************************************>


 |----| non-RSVP-capable     |----| RSVP-capable       ***
 | S  | Sender               | R  | Receiver           *r* regular RSVP
 |----|                      |----|                    *** router

 ***> media flow

 ==>  segment of flow path protected by RSVP reservation

 /\    Application-level signaling

 /=/  GRE-tunneled RSVP (Path messages)

        Figure 11: Application_Entity-Controlled Sender Proxy via
                             "RSVP over GRE"

  With the Application_Entity-Controlled Sender Proxy using "RSVP Over
  GRE", the application entity:

  o  generates a Path message on behalf of the sender, corresponding to
     the reservation needed by the application, and maintains the
     corresponding Path state.  The Path message built by the
     application entity is exactly the same as would be built by the
     actual sender (if it was RSVP-capable), with one single exception,
     which is that the application entity puts its own IP address as
     the RSVP previous hop.  In particular, it is recommended that the



Le Faucheur, et al.           Informational                    [Page 27]

RFC 5945                  RSVP Proxy Approaches             October 2010


     source address of the Path message built by the application entity
     be set to the IP address of the sender (not of the application
     entity).  This helps ensure that, in the presence of non-RSVP
     routers and of load-balancing in the network where the load-
     balancing algorithm takes into account the source IP address, the
     Path message generated by the application entity follows the exact
     same path as the actual stream sourced by the sender.

  o  encapsulates the Path message into a GRE tunnel whose destination
     address is the RSVP Sender Proxy, i.e., an RSVP router sitting on
     the data path for the flow (and upstream of the segment that
     requires QoS guarantees via RSVP reservation).

  o  processes the corresponding received RSVP messages (including Resv
     messages) as per regular RSVP.

  o  synchronizes the RSVP reservation state with application-level
     requirements and signaling.

  Note that since the application entity encodes its own IP address as
  the previous RSVP hop inside the [RFC2205] RSVP_HOP object of the
  Path message, the RSVP router terminating the GRE tunnel naturally
  addresses all the RSVP messages traveling upstream hop-by-hop (such
  as Resv messages) to the application entity (without having to
  encapsulate those in a reverse-direction GRE tunnel towards the
  application entity).

4.5.2.  Application_Entity-Controlled Proxy via Co-Location

  This approach is simply a particular case of the more general
  Application_Entity-Controlled Proxy, but where the application entity
  is co-located with the RSVP proxy.  As an example, Session Border
  Controllers (SBCs) with on-board SIP agents could implement RSVP
  proxy functions and make use of such an approach to achieve session
  admission control over the SBC-to-SBC segment using RSVP signaling.

  Figure 12 illustrates operations of the Application_Entity-Controlled
  RSVP Proxy via co-location.













Le Faucheur, et al.           Informational                    [Page 28]

RFC 5945                  RSVP Proxy Approaches             October 2010


                 |---------|               |---------|
         ////////| App     |////////\\\\\\\| App     |\\\\\\\\\
        /        | Entity  |               | Entity  |         \
       /         |         |               |         |          \
   |----|        |*********|      ***      |*********|         |----|
   | S  |--------| RSVP    |------*r*------| RSVP    |---------| R  |
   |----|        | Sender  |      ***      | Receiver|         |----|
                 | Proxy   |               | Proxy   |
                 |*********|               |*********|

                          =======RSVP======>

        *******************************************************>


|----| Non-RSVP-capable   |----| Non-RSVP-capable      ***
| S  | Sender             | R  | Receiver              *r* regular RSVP
|----|                    |----|                       *** router

***> media flow

==>  segment of flow path protected by RSVP reservation

/\   Application-level signaling

     Figure 12: Application_Entity-Controlled Proxy via Co-Location

  This RSVP proxy approach does not require any protocol extensions.
  We also observe that when multiple sessions are to be established on
  paths sharing the same RSVP Sender Proxy and the same RSVP Receiver
  Proxy, the RSVP proxies have the option to establish aggregate RSVP
  reservations (as defined in ([RFC3175] or [RFC4860]) for a group of
  sessions, instead of establishing one RSVP reservation per session.

4.6.  Policy_Server-Controlled Proxy

  In this approach, it is assumed that a policy server, which is
  located in the control plane of the network, controls an RSVP proxy
  that is located in the data path of the application flows (i.e., "on-
  path").  In turn, the policy server is triggered by an entity
  involved in the application-level signaling.  With this approach, the
  RSVP proxy does not itself attempt to determine the application
  reservation requirements, but instead is instructed by the policy
  server to establish, maintain, and tear down reservations as needed
  by the application flows.  Moreover, the entity participating in
  application-level signaling does not attempt to understand the
  specific reservation mechanism (i.e., RSVP) or the topology of the
  network layer, but instead it simply asks the policy server to



Le Faucheur, et al.           Informational                    [Page 29]

RFC 5945                  RSVP Proxy Approaches             October 2010


  perform (or tear down) a reservation.  In other words, with this
  approach, the solution for synchronizing RSVP signaling with
  application-level requirements is to rely on an application-level
  entity that controls a policy server that, in turn, controls an RSVP
  proxy function that sits in the flow data path.  This approach allows
  control of an RSVP Sender Proxy, an RSVP Receiver Proxy, or both.

  Operation of the Policy_Server-Controlled proxy is illustrated in
  Figure 13.










































Le Faucheur, et al.           Informational                    [Page 30]

RFC 5945                  RSVP Proxy Approaches             October 2010


                               |---------|
                  /////////////|  App    |\\\\\\\\\\\\\\
                 /             | Entity  |              \
                /              |---------|               \
               /                    I                     \
              /                     I                      \
             /                 |----------|                 \
            /                  |  Policy  |                  \
           /                   |  Server  |                   \
          /                    |----------|                    \
         /                    //          \\                    \
        /                    //            \\                    \
       /                    //              \\                    \
   |----|           |********|      ***     |*********|          |----|
   | S  |-----------|        |------*r*-----|         |----------| R  |
   |----|           | RSVP   |      ***     | RSVP    |          |----|
                    | Sender |              | Receiver|
                    | Proxy  |              | Proxy   |
                    |********|              |*********|

                            =====RSVP========>

       **********************************************************>


|----| Non-RSVP-capable   |----| Non-RSVP-capable      ***
| S  | Sender             | R  | Receiver              *r* regular RSVP
|----|                    |----|                       *** router

***> media flow

==>  segment of flow path protected by RSVP reservation

/\   Application signaling (e.g., SIP)

//   RSVP proxy control interface

I    Interface between application entity and policy server

                Figure 13: Policy_Server-Controlled Proxy

  This RSVP proxy approach does not require any extension to the RSVP
  protocol.  However, as with the Application_Entity-Controlled Proxy
  approach presented in Figure 10, this approach relies on an RSVP
  proxy control interface allowing control of the RSVP proxy (by the
  policy server in this case).  This RSVP proxy control interface is
  beyond the scope of this document.  Considerations about candidate
  protocols for realizing such an interface can be found in



Le Faucheur, et al.           Informational                    [Page 31]

RFC 5945                  RSVP Proxy Approaches             October 2010


  Section 4.5.  Again, for situations in which only the RSVP Sender
  Proxy has to be controlled by this interface, the interface may be
  realized through the simple use of RSVP itself, over a GRE tunnel
  from the policy server to the RSVP Sender Proxy.  This is similar to
  what is presented in Section 4.5.1, except that the "RSVP over GRE"
  interface is used in this case by the policy server (instead of the
  application entity).

  The interface between the application entity and the policy server is
  beyond the scope of this document.

4.7.  RSVP-Signaling-Triggered Proxy

  An RSVP proxy can also be triggered and controlled through extended
  RSVP signaling from the remote end that is RSVP-capable (and supports
  these RSVP extensions for proxy control).  For example, an RSVP-
  capable sender could send a new or extended RSVP message explicitly
  requesting an RSVP proxy on the path towards the receiver to behave
  as an RSVP Receiver Proxy and also to trigger a reverse-direction
  reservation, thus also behaving as an RSVP Sender Proxy.  The new or
  extended RSVP message sent by the sender could also include
  attributes (e.g., bandwidth) for the reservations to be signaled by
  the RSVP proxy.

  The challenges in these explicit signaling schemes include the
  following:

  o  How can the nodes determine when a reservation request ought to be
     proxied and when it should not, and accordingly invoke appropriate
     signaling procedures?

  o  How does the node sending the messages explicitly triggering the
     proxy know where the proxy is located, e.g., determine an IP
     address of the proxy that should reply to the signaling?

  o  How is all the information needed by a Sender Proxy to generate a
     Path message actually communicated to the proxy?

  An example of such a mechanism is presented in [QOS-MOBILE].  This
  scheme is primarily targeted to local access network reservations
  whereby an end host can request resource reservations for both
  incoming and outgoing flows only over the access network.  This may
  be useful in environments where the access network is typically the
  bottleneck while the core is comparatively over-provisioned, as may
  be the case with a number of radio access technologies.  In this
  proposal, messages targeted to the proxy are flagged with one bit in
  all RSVP messages.  Similarly, all RSVP messages sent back by the
  proxy are also flagged.  The use of such a flag allows



Le Faucheur, et al.           Informational                    [Page 32]

RFC 5945                  RSVP Proxy Approaches             October 2010


  differentiating between proxied and end-to-end reservations.  For
  triggering an RSVP Receiver Proxy, the sender of the data sends a
  Path message that is marked with the mentioned flag.  The Receiver
  Proxy is located on the signaling and data path, eventually gets the
  Path message, and replies back with a Resv message.  A node triggers
  an RSVP Sender Proxy with a newly defined Path_Request message, which
  instructs the proxy to send Path messages towards the triggering
  node.  The node then replies back with a Resv.  More details can be
  found in [QOS-MOBILE].

  Such an RSVP-Signaling-Triggered Proxy approach would require RSVP
  signaling extensions (that are outside the scope of this document).
  However, it could provide more flexibility in the control of the
  proxy behavior (e.g., control of reverse reservation parameters) than
  would the Path-Triggered approaches defined in Section 4.1 and
  Section 4.2.

  Through potential corresponding protocol extensions, an RSVP-
  Signaling-Triggered Proxy approach could facilitate operation (e.g.,
  reduce or avoid the need for associated configuration) in hybrid
  environments involving both reservations established end-to-end and
  reservations established via RSVP proxies.  For example, [QOS-MOBILE]
  proposed a mechanism allowing an end-system to control whether a
  reservation can be handled by an RSVP proxy on the path, or is to be
  established end-to-end.

4.8.  Reachability Considerations

  There may be situations in which the RSVP Receiver Proxy is reachable
  by the sender, while the receiver itself is not.  In such situations,
  it is possible that the RSVP Receiver Proxy is not always aware that
  the receiver is unreachable, and consequently may accept to establish
  an RSVP reservation on behalf of that receiver.  This would result in
  unnecessary reservation establishment and unnecessary network
  resource consumption.

  This is not considered a significant practical concern for a number
  of reasons.  First, in many cases, if the receiver is not reachable
  from the sender, it will not be reachable for application signaling
  either, and so application-level session establishment will not be
  possible in the first place.  Secondly, where the receiver is
  unreachable from the sender but is reachable for application-level
  signaling (say, because session establishment is performed through an
  off-path SIP agent that uses a different logical topology to
  communicate with the receiver), then the sender may detect that the
  receiver is unreachable before attempting reservation establishment.
  This may be achieved through mechanisms such as ICE's connectivity
  check ([RFC5245]).  Finally, even if the sender does not detect that



Le Faucheur, et al.           Informational                    [Page 33]

RFC 5945                  RSVP Proxy Approaches             October 2010


  the receiver is unreachable before triggering the RSVP reservation
  establishment, it is very likely that the application will quickly
  realize this lack of connectivity (e.g., the human accepting the
  phone call on the receiver side will not hear the human's voice on
  the sender side) and therefore tear down the session (e.g., hang up
  the phone), which in turn will trigger RSVP reservation release.

  Nonetheless, it is recommended that network administrators consider
  the above in light of their particular environment when deploying
  RSVP proxies.

  The mirror considerations apply for situations involving an RSVP
  Sender Proxy and where the sender cannot reach the destination while
  the RSVP Sender Proxy can.

5.  Security Considerations

  In the environments of concern for this document, RSVP messages are
  used to control resource reservations on a segment of the end-to-end
  path of flows.  The general security considerations associated with
  [RFC2205] apply.  To ensure the integrity of the associated
  reservation and admission control mechanisms, the RSVP cryptographic
  authentication mechanisms defined in [RFC2747] and [RFC3097] can be
  used.  Those protect RSVP messages integrity hop-by-hop and provide
  node authentication, thereby protecting against corruption, spoofing
  of RSVP messages, and replay.  [RSVP-SEC-KEY] discusses key types and
  key provisioning methods, as well as their respective applicability
  to RSVP authentication.

  [RSVP-SEC-KEY] also discusses applicability of IPsec mechanisms
  ([RFC4302][RFC4303]) and associated key provisioning methods for
  security protection of RSVP.  This discussion applies to the
  protection of RSVP in the presence of RSVP proxies as defined in this
  document.

  A subset of RSVP messages are signaled with the IP router alert
  option ([RFC2113], [RFC2711]).  Based on the current security
  concerns associated with the use of the IP router alert option, the
  applicability of RSVP (and therefore of the RSVP proxy approaches
  discussed in this document) is limited to controlled environments
  (i.e., environments where the security risks associated with the use
  of the IP router alert option are understood and protected against).
  The security aspects and common practices around the use of the
  current IP router alert option, and consequences of using the IP
  router alert option by applications such as RSVP, are discussed in
  detail in [RTR-ALERT].





Le Faucheur, et al.           Informational                    [Page 34]

RFC 5945                  RSVP Proxy Approaches             October 2010


  A number of additional security considerations apply to the use of
  RSVP proxies and are discussed below.

  With some RSVP proxy approaches, the RSVP proxy operates autonomously
  inside an RSVP router.  This is the case for the Path-Triggered Proxy
  approaches defined in Section 4.1 and in Section 4.2, for the
  Inspection-Triggered Proxy approach defined in Section 4.3, for the
  STUN-Triggered Proxy approach defined in Section 4.4, and for the
  RSVP-Signaling-Triggered approach defined in Section 4.7.  Proper
  reservation operation assumes that the RSVP proxy can be trusted to
  behave correctly in order to control the RSVP reservation as required
  and expected by the end-systems.  Since the basic RSVP operation
  already assumes a trust model where end-systems trust RSVP nodes to
  appropriately perform RSVP reservations, the use of an RSVP proxy
  that behaves autonomously within an RSVP router is not seen as
  introducing any significant additional security threat or as
  fundamentally modifying the RSVP trust model.

  With some RSVP proxy approaches, the RSVP proxy operates under the
  control of another entity.  This is the case for the
  Application_Entity-Controlled Proxy approach defined in Section 4.5
  and for the Policy_Server-Controlled Proxy approach defined in
  Section 4.6.  This introduces additional security risks since the
  entity controlling the RSVP proxy needs to be trusted for proper
  reservation operation and also introduces additional authentication
  and confidentiality requirements.  The exact mechanisms to establish
  such trust, authentication, and confidentiality are beyond the scope
  of this document, but they may include security mechanisms inside the
  protocol used as the control interface between the RSVP proxy and the
  entity controlling it, as well as security mechanisms for all the
  interfaces involved in the reservation control chain (e.g., inside
  the application signaling protocol between the end-systems and the
  application entity, and, in the case of the Policy_Server-Controlled
  Proxy approach, in the protocol between the application entity and
  the policy server).

  In some situations, the use of RSVP proxy to control reservations on
  behalf of end-systems may actually reduce the security risk (at least
  from the network operator viewpoint).  This could be the case, for
  example, because the routers where the RSVP proxy functionality runs
  are less exposed to tampering than end-systems.  Such a case is
  further discussed in Section 4 of [RFC5946].  This could also be the
  case because the use of RSVP proxy allows localization of RSVP
  operation within the boundaries of a given administrative domain
  (thus easily operating as a controlled environment) while the end-to-
  end flow path spans multiple administrative domains.





Le Faucheur, et al.           Informational                    [Page 35]

RFC 5945                  RSVP Proxy Approaches             October 2010


6.  Acknowledgments

  This document benefited from earlier work on the concept of RSVP
  proxy including the one documented by Silvano Gai, Dinesh Dutt,
  Nitsan Elfassy, and Yoram Bernet.  It also benefited from discussions
  with Pratik Bose, Chris Christou, and Michael Davenport.  Tullio
  Loffredo and Massimo Sassi provided the base material for
  Section 4.6.  Thanks to James Polk, Magnus Westerlund, Dan Romascanu,
  Ross Callon, Cullen Jennings, and Jari Arkko for their thorough
  review and comments.


7.  References

7.1.  Normative References

  [RFC2205]  Braden, B., Zhang, L., Berson, S., Herzog, S., and S.
             Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1
             Functional Specification", RFC 2205, September 1997.

  [RFC2210]  Wroclawski, J., "The Use of RSVP with IETF Integrated
             Services", RFC 2210, September 1997.

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

  [RFC2747]  Baker, F., Lindell, B., and M. Talwar, "RSVP Cryptographic
             Authentication", RFC 2747, January 2000.

  [RFC3097]  Braden, R. and L. Zhang, "RSVP Cryptographic
             Authentication -- Updated Message Type Value", RFC 3097,
             April 2001.

  [RFC5245]  Rosenberg, J., "Interactive Connectivity Establishment
             (ICE): A Protocol for Network Address Translator (NAT)
             Traversal for Offer/Answer Protocols", RFC 5245,
             April 2010.

  [RFC5389]  Rosenberg, J., Mahy, R., Matthews, P., and D. Wing,
             "Session Traversal Utilities for NAT (STUN)", RFC 5389,
             October 2008.









Le Faucheur, et al.           Informational                    [Page 36]

RFC 5945                  RSVP Proxy Approaches             October 2010


7.2.  Informative References

  [QOS-MOBILE]    Manner, J., "Provision of Quality of Service in IP-
                  based Mobile Access Networks", Doctoral
                  dissertation, University of Helsinki, 2003,
                  <http://ethesis.helsinki.fi>.

  [RFC1633]       Braden, B., Clark, D., and S. Shenker, "Integrated
                  Services in the Internet Architecture: an Overview",
                  RFC 1633, June 1994.

  [RFC2113]       Katz, D., "IP Router Alert Option", RFC 2113,
                  February 1997.

  [RFC2326]       Schulzrinne, H., Rao, A., and R. Lanphier, "Real Time
                  Streaming Protocol (RTSP)", RFC 2326, April 1998.

  [RFC2474]       Nichols, K., Blake, S., Baker, F., and D. Black,
                  "Definition of the Differentiated Services Field (DS
                  Field) in the IPv4 and IPv6 Headers", RFC 2474,
                  December 1998.

  [RFC2711]       Partridge, C. and A. Jackson, "IPv6 Router Alert
                  Option", RFC 2711, October 1999.

  [RFC2872]       Bernet, Y. and R. Pabbati, "Application and Sub
                  Application Identity Policy Element for Use with
                  RSVP", RFC 2872, June 2000.

  [RFC2961]       Berger, L., Gan, D., Swallow, G., Pan, P., Tommasi,
                  F., and S. Molendini, "RSVP Refresh Overhead
                  Reduction Extensions", RFC 2961, April 2001.

  [RFC3175]       Baker, F., Iturralde, C., Le Faucheur, F., and B.
                  Davie, "Aggregation of RSVP for IPv4 and IPv6
                  Reservations", RFC 3175, September 2001.

  [RFC3261]       Rosenberg, J., Schulzrinne, H., Camarillo, G.,
                  Johnston, A., Peterson, J., Sparks, R., Handley, M.,
                  and E. Schooler, "SIP: Session Initiation Protocol",
                  RFC 3261, June 2002.

  [RFC3312]       Camarillo, G., Marshall, W., and J. Rosenberg,
                  "Integration of Resource Management and Session
                  Initiation Protocol (SIP)", RFC 3312, October 2002.






Le Faucheur, et al.           Informational                    [Page 37]

RFC 5945                  RSVP Proxy Approaches             October 2010


  [RFC3550]       Schulzrinne, H., Casner, S., Frederick, R., and V.
                  Jacobson, "RTP: A Transport Protocol for Real-Time
                  Applications", STD 64, RFC 3550, July 2003.

  [RFC3588]       Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and
                  J. Arkko, "Diameter Base Protocol", RFC 3588,
                  September 2003.

  [RFC3644]       Snir, Y., Ramberg, Y., Strassner, J., Cohen, R., and
                  B. Moore, "Policy Quality of Service (QoS)
                  Information Model", RFC 3644, November 2003.

  [RFC4032]       Camarillo, G. and P. Kyzivat, "Update to the Session
                  Initiation Protocol (SIP) Preconditions Framework",
                  RFC 4032, March 2005.

  [RFC4301]       Kent, S. and K. Seo, "Security Architecture for the
                  Internet Protocol", RFC 4301, December 2005.

  [RFC4302]       Kent, S., "IP Authentication Header", RFC 4302,
                  December 2005.

  [RFC4303]       Kent, S., "IP Encapsulating Security Payload (ESP)",
                  RFC 4303, December 2005.

  [RFC4566]       Handley, M., Jacobson, V., and C. Perkins, "SDP:
                  Session Description Protocol", RFC 4566, July 2006.

  [RFC4741]       Enns, R., "NETCONF Configuration Protocol", RFC 4741,
                  December 2006.

  [RFC4860]       Le Faucheur, F., Davie, B., Bose, P., Christou, C.,
                  and M. Davenport, "Generic Aggregate Resource
                  ReSerVation Protocol (RSVP) Reservations", RFC 4860,
                  May 2007.

  [RFC4923]       Baker, F. and P. Bose, "Quality of Service (QoS)
                  Signaling in a Nested Virtual Private Network",
                  RFC 4923, August 2007.

  [RFC5277]       Chisholm, S. and H. Trevino, "NETCONF Event
                  Notifications", RFC 5277, July 2008.

  [RFC5432]       Polk, J., Dhesikan, S., and G. Camarillo, "Quality of
                  Service (QoS) Mechanism Selection in the Session
                  Description Protocol (SDP)", RFC 5432, March 2009.





Le Faucheur, et al.           Informational                    [Page 38]

RFC 5945                  RSVP Proxy Approaches             October 2010


  [RFC5853]       Hautakorpi, J., Camarillo, G., Penfield, R.,
                  Hawrylyshen, A., and M. Bhatia, "Requirements from
                  Session Initiation Protocol (SIP) Session Border
                  Control (SBC) Deployments", RFC 5853, April 2010.

  [RFC5866]       Sun, D., McCann, P., Tschofenig, H., Tsou, T., Doria,
                  A., and G. Zorn, "Diameter Quality-of-Service
                  Application", RFC 5866, May 2010.

  [RFC5946]       Le Faucheur, F., Manner, J., Narayanan, A., Guillou,
                  A., and H. Malik, "Resource Reservation Protocol
                  (RSVP) Extensions for Path-Triggered RSVP Receiver
                  Proxy", RFC 5946, October 2010.

  [RFC5974]       Manner, J., Karagiannis, G., and A. McDonald, "NSIS
                  Signaling Layer Protocol (NSLP) for Quality-of-
                  Service Signaling", RFC 5974, October 2010.

  [RSVP-SEC-KEY]  Behringer, M. and F. Le Faucheur, "Applicability of
                  Keying Methods for RSVP Security", Work in Progress,
                  June 2009.

  [RTR-ALERT]     Le Faucheur, F., "IP Router Alert Considerations and
                  Usage", Work in Progress, October 2009.

  [W3C]           "World Wide Web Consortium (W3C) - Web Services
                  Architecture", <http://www.w3.org/TR/ws-arch/>.
























Le Faucheur, et al.           Informational                    [Page 39]

RFC 5945                  RSVP Proxy Approaches             October 2010


Appendix A.  Use Cases for RSVP Proxies

A.1.  RSVP-Based VoD Admission Control in Broadband Aggregation Networks

  As broadband services for residential customers are becoming more and
  more prevalent, next-generation aggregation networks are being
  deployed in order to aggregate traffic from broadband users (whether
  attached via Digital Subscriber Line technology, aka DSL; Fiber To
  The Home/Curb, aka FTTx; Cable; or other broadband access
  technology).  Video on Demand (VoD) services, which may be offered to
  broadband users, present significant capacity planning challenges for
  the aggregation network for a number of reasons.  First, each VoD
  stream requires significant dedicated sustained bandwidth (typically
  2-4 Mb/s in Standard Definition TV and 6-12 Mb/s in High Definition
  TV).  Secondly, the VoD codec algorithms are very sensitive to packet
  loss.  Finally, the load resulting from such services is very hard to
  predict (e.g., it can vary quite suddenly with blockbuster titles
  made available as well as with promotional offerings).  As a result,
  transport of VoD streams on the aggregation network usually translate
  into a strong requirement for admission control.  The admission
  control solution protects the quality of established VoD sessions by
  rejecting the additional excessive session attempts during
  unpredictable peaks, during link or node failures, or a combination
  of those factors.

  RSVP can be used in the aggregation network for admission control of
  the VoD sessions.  However, since customer premises equipment such as
  Set Top Boxes (STBs) (which behave as the receiver for VoD streams)
  often do not support RSVP, the last IP hop in the aggregation network
  can behave as an RSVP Receiver Proxy.  This way, RSVP can be used
  between VoD pumps and the last IP hop in the aggregation network to
  perform accurate admission control of VoD streams over the resources
  set aside for VoD in the aggregation network (typically a certain
  percentage of the bandwidth of any link).  As VoD streams are
  unidirectional, a simple Path-Triggered RSVP Receiver Proxy (as
  described in Section 4.1) is all that is required in this use case.

  Figure 14 illustrates operation of RSVP-based admission control of
  VoD sessions in an aggregation network involving RSVP support on the
  VoD pump (the senders) and the RSVP Receiver proxy on the last IP hop
  of the aggregation network.  All the customer premises equipment
  remains RSVP-unaware.









Le Faucheur, et al.           Informational                    [Page 40]

RFC 5945                  RSVP Proxy Approaches             October 2010


                        |-------------|
                        | VoD  SRM    |
                        |             |
                ////////|             |\\\\\\\\\\\\\\
               /        |-------------|              \
              /                                       \
             /                                         \
            /                                           \
           /                                             \
          /                                               \
     |****|   ***   ***   ***   |********|   |-----|    |---|
     |VoD |---*r*---*r*---*r*---|RSVP    |---|DSLAM|~~~~|STB|--TV
     |Pump|   ***   ***   ***   |Receiver|   |-----|    |---|
     |****|                     |Proxy   |
                                |********|

              <---Aggregation Net----------->

          ************************************************>

          ==============RSVP================>


  SRM Session Resource Manager

  ***                       |---|
  *r* regular RSVP          |STB| Set Top Box
  *** router                |---|

  ***> VoD media flow

  ==>  segment of flow path protected by RSVP reservation

  /\   VoD Application-level signaling (e.g., RTSP)

               Figure 14: VoD Use Case with Receiver Proxy

  In the case where the VoD pumps are not RSVP-capable, an
  Application_Entity-Controlled Sender Proxy via the "RSVP over GRE"
  approach (as described in Section 4.5.1) can also be implemented on
  the VoD Controller or Session Resource Manager (SRM) devices
  typically involved in VoD deployments.  Figure 15 illustrates
  operation of RSVP-based admission control of VoD sessions in an
  aggregation network involving such an Application_Entity-Controlled
  Source Proxy combined with an RSVP Receiver Proxy on the last IP hop
  of the aggregation network.  All the customer premises equipment, as
  well as the VoD pumps, remain RSVP-unaware.




Le Faucheur, et al.           Informational                    [Page 41]

RFC 5945                  RSVP Proxy Approaches             October 2010


                        |-------------|
                    ////| VoD  SRM    |\\\\\\\\\\\
                   /    |             |           \
                  /     |     +       |            \
                 /      | RSVP Sender |             \
                /       |Proxy Control|              \
               /        |-------------|               \
              /        /=/                             \
             /        /=/                               \
            /        /=/                                 \
           /        /=/                                   \
          /        /=/                                     \
     |----|  |******|    ***  ***  |********|  |-----|    |---|
     | VoD|--|RSVP  |----*r*--*r*--|RSVP    |--|DSLAM|~~~~|STB|--TV
     |Pump|  |Sender|    ***  ***  |Receiver|  |-----|    |---|
     |----|  |Proxy |              |Proxy   |
             |******|              |********|

              <---Aggregation Net------------->

          ************************************************>

                   =========RSVP==============>


  SRM Systems Resource Manager

  ***                       |---|
  *r* regular RSVP          |STB| Set Top Box
  *** router                |---|

  ***> VoD media flow

  ==>  segment of flow path protected by RSVP reservation

  /    VoD Application-level signaling (e.g., RTSP)

  /=/  GRE-tunneled RSVP (Path messages)

               Figure 15: VoD Use Case with Receiver Proxy
                       and SRM-Based Sender Proxy

  The RSVP proxy entities specified in this document play a significant
  role here since they allow immediate deployment of an RSVP-based
  admission control solution for VoD without requiring any upgrade to
  the huge installed base of non-RSVP-capable customer premises
  equipment.  In one mode described above, they also avoid upgrade of
  non-RSVP-capable VoD pumps.  In turn, this means that the benefits of



Le Faucheur, et al.           Informational                    [Page 42]

RFC 5945                  RSVP Proxy Approaches             October 2010


  on-path admission control can be offered to VoD services over
  broadband aggregation networks without network or VoD pump upgrade.
  Those include accurate bandwidth accounting regardless of topology
  (hub-and-spoke, ring, mesh, star, arbitrary combinations) and dynamic
  adjustment to any change in topology (such as failure, routing
  change, additional links, etc.).

A.2.  RSVP-Based Voice/Video Connection Admission Control (CAC) in
     Enterprise WAN

  More and more enterprises are migrating their telephony and
  videoconferencing applications onto IP.  When doing so, there is a
  need for retaining admission control capabilities of existing TDM-
  based (Time-Division Multiplexing) systems to ensure the QoS of these
  applications is maintained even when transiting through the
  enterprise's Wide Area Network (WAN).  Since many of the endpoints
  already deployed (such as IP phones or videoconferencing terminals)
  are not RSVP-capable, RSVP proxy approaches are very useful: they
  allow deployment of an RSVP-based admission control solution over the
  WAN without requiring upgrade of the existing terminals.

  A common deployment architecture for such environments relies on the
  Application_Entity-Controlled Proxy approach as defined in
  Section 4.5.  Routers sitting at the edges of the WAN are naturally
  "on-path" for all inter-campus calls (or sessions) and behave as RSVP
  proxies.  The RSVP proxies establish, maintain, and tear down RSVP
  reservations over the WAN segment for the calls (or sessions) under
  the control of the SIP server/proxy.  The SIP server/proxy
  synchronizes the RSVP reservation status with the status of end-to-
  end calls.  For example, the called IP phone will only be instructed
  to play a ring tone if the RSVP reservation over the corresponding
  WAN segment has been successfully established.

  This architecture allowing RSVP-based admission control of voice and
  video on the enterprise WAN is illustrated in Figure 16.
















Le Faucheur, et al.           Informational                    [Page 43]

RFC 5945                  RSVP Proxy Approaches             October 2010


                                |---------|
                  //////////////| SIP     |\\\\\\\\\\\\
                 /              | Server/ |            \
                /               | Proxy   |             \
               /                |---------|              \
              /                //       \\                \
             /                //         \\                \
            /                //           \\                \
           /                //             \\                \
          /                //               \\                \
     |-----|      |********|   ***   ***   |********|       |-----|
     | IP  |------| Media  |---*r*---*r*---| Media  |-------|IP   |
     |Phone|      | Relay  |   ***   ***   | Relay  |       |Phone|
     |-----|      |  +     |               |    +   |       |-----|
                  | RSVP   |               | RSVP   |
                  | Proxy  |               | Proxy  |
                  |********|               |********|

       <--campus-->                                <--campus-->
          network                                     network

                       <---------WAN----------->

       <*************> <***********************> <**************>

                      <=========RSVP===========>


  ***
  *r*   Regular RSVP router
  ***

  <***> media flow

  <==>  segment of flow path protected by RSVP reservation

  /\    SIP signaling

  //   control interface between the SIP server/proxy and
       RSVP proxy

                Figure 16: CAC on Enterprise WAN Use Case

A.3.  RSVP Proxies for Mobile Access Networks

  Mobile access networks are increasingly based on IP technology.  This
  implies that, on the network layer, all traffic, both traditional
  data and streamed data like audio or video, is transmitted as



Le Faucheur, et al.           Informational                    [Page 44]

RFC 5945                  RSVP Proxy Approaches             October 2010


  packets.  Increasingly popular multimedia applications would benefit
  from better than best-effort service from the network, a forwarding
  service with strict Quality of Service (QoS) with guaranteed minimum
  bandwidth and bounded delay.  Other applications, such as electronic
  commerce, network control and management, and remote-login
  applications, would also benefit from a differentiated treatment.

  The IETF has two main models for providing differentiated treatment
  of packets in routers.  The Integrated Services (IntServ) model
  [RFC1633], together with the Resource Reservation Protocol (RSVP)
  [RFC2205], [RFC2210], [RFC2961] provides per-flow guaranteed end-to-
  end transmission service.  The Differentiated Services (Diffserv)
  framework [RFC2475] provides non-signaled flow differentiation that
  usually provides, but does not guarantee, proper transmission
  service.

  However, these architectures have potential weaknesses for deployment
  in Mobile Access Networks.  For example, RSVP requires support from
  both communication endpoints, and the protocol may have potential
  performance issues in mobile environments.  Diffserv can only provide
  statistical guarantees and is not well suited for dynamic
  environments.

  Let us consider a scenario, where a fixed network correspondent node
  (CN) would be sending a multimedia stream to an end host behind a
  wireless link.  If the correspondent node does not support RSVP, it
  cannot signal its traffic characteristics to the network and request
  specific forwarding services.  Likewise, if the correspondent node is
  not able to mark its traffic with a proper Differentiated Services
  codepoint (DSCP) to trigger service differentiation, the multimedia
  stream will get only best-effort service, which may result in poor
  visual and audio quality in the receiving application.  Even if the
  connecting wired network is over-provisioned, an end host would still
  benefit from local resource reservations, especially in wireless
  access networks, where the bottleneck resource is most probably the
  wireless link.

  RSVP proxies would be a very beneficial solution to this problem.  It
  would allow distinguishing local network reservations from the end-
  to-end reservations.  The end host does not need to know the access
  network topology or the nodes that will reserve the local resources.
  The access network would do resource reservations for both incoming
  and outgoing flows based on certain criteria, e.g., filters based on
  application protocols.  Another option is that the mobile end host
  makes an explicit reservation that identifies the intention, and the
  access network will find the correct local access network node(s) to
  respond to the reservation.  RSVP proxies would, thus, allow resource
  reservation over the segment that is the most likely bottleneck, the



Le Faucheur, et al.           Informational                    [Page 45]

RFC 5945                  RSVP Proxy Approaches             October 2010


  wireless link.  If the wireless access network uses a local mobility
  management mechanism, where the IP address of the mobile node does
  not change during handover, RSVP reservations would follow the mobile
  node movement.

A.4.  RSVP Proxies for Reservations in the Presence of IPsec Gateways

  [RFC4923] discusses how resource reservation can be supported end-to-
  end in a nested VPN environment.  At each VPN level, VPN routers
  behave as [RFC4301] security gateways between a plaintext domain and
  a ciphertext domain.  To achieve end-to-end resource reservation, the
  VPN routers process RSVP signaling on the plaintext side, perform
  aggregation of plaintext reservations, and maintain the corresponding
  aggregate RSVP reservations on the ciphertext side.  Each aggregate
  reservation is established on behalf of multiple encrypted end-to-end
  sessions sharing the same ingress and egress VPN routers.  These
  aggregate reservations can be as specified in [RFC3175] or [RFC4860].

  Section 3 of [RFC4923] discusses the necessary data flows within a
  VPN router to achieve the behavior described in the previous
  paragraph.  Two mechanisms are described to achieve such data flows.
  Section 3.1 presents the case where the VPN router carries data
  across the cryptographic boundary.  Section 3.2 discusses the case
  where the VPN router uses a Network Guard.

  Where such mechanisms are not supported by the VPN routers, the
  approach for end-to-end reservations presented in [RFC4923] cannot be
  deployed.  An alternative approach to support resource reservations
  within the ciphertext core is to use the Application_Entity-
  Controlled Proxy approach (as defined in Section 4.5) in the
  following way:

  o  the RSVP proxies are located inside the ciphertext domain and use
     aggregate RSVP reservations.

  o  the application entity exchange application-level signaling with
     the end-systems in the plaintext domain.

  o  the application entity controls the RSVP proxies in the ciphertext
     domain via an RSVP proxy control interface.

  This is illustrated in Figure 17 in the case where the application is
  SIP-based multimedia communications.








Le Faucheur, et al.           Informational                    [Page 46]

RFC 5945                  RSVP Proxy Approaches             October 2010


        |-------|                                    |-------|
        |SIP    |///////////////////\\\\\\\\\\\\\\\\\|SIP    |
       /|Server/|                                    |Server/|\
      / |Proxy  |                                    |Proxy  | \
     /  |-------|                                    |-------|  \
    /      ^    \\                                  //   ^       \
   /       ^     \\                                //    ^        \
  /        ^      \\                              //     ^         \
|***|   |------|  |********|   ***   ***   |********|  |------|   |***|
| S |---|IPsec |--|  ARSVP |---*r*---*r*---| ARSVP  |--|IPsec |---| R |
|***|   | GW   |  | Sender |   ***   ***   |Receiver|  | GW   |   |***|
        |------|  |  Proxy |               | Proxy  |  |------|
                  |********|               |********|

    ***PT*****> **********************CT****************> ****PT***>

    =====>                                                   =====>
                           =====ARSVP======>


|****| RSVP-capable      |****| RSVP-capable         ***
| S  | Sender            | R  | Receiver             *r* regular RSVP
|****|                   |****|                      *** router

|------|
|IPsec | IPsec security gateway
| GW   |
|------|

ARSVP Aggregate RSVP

***>  media flow

==>   segment of flow path protected by RSVP reservation

/ \   SIP signaling

 ^    Network management interface between SIP server/proxy
      and IPsec security gateway

//    control interface between SIP server/proxy and ARSVP proxy

PT    Plaintext network

CT    Ciphertext network

       Figure 17: RSVP Proxies for Reservations in the Presence of
                             IPsec Gateways



Le Faucheur, et al.           Informational                    [Page 47]

RFC 5945                  RSVP Proxy Approaches             October 2010


  Where the sender and receiver are RSVP-capable, they may also use
  RSVP signaling.  This achieves resource reservation on the plaintext
  segments of the end-to-end, i.e.,

  o  from the sender to the ingress IPsec gateway, and

  o  from the egress IPsec gateway to the receiver.

  In this use case, because the VPN routers do not support any RSVP-
  specific mechanism, the end-to-end RSVP signaling is effectively
  hidden by the IPsec gateways on the ciphertext segment of the end-to-
  end path.

  As with the Application_Entity-Controlled Proxy approach (defined in
  Section 4.5), the solution here for synchronizing RSVP signaling with
  application-level signaling is to rely on an application-level
  signaling device that controls an on-path RSVP proxy function.
  However, in this use case, the RSVP proxies are a component of a
  ciphertext network where all user (bearer) traffic is IPsec
  encrypted.  This has a number of implications, including the
  following:

  1.  encrypted flows cannot be identified in the ciphertext domain so
      that network nodes can only classify traffic based on IP address
      and Differentiated Services codepoints (DSCPs).  As a result,
      only aggregate RSVP reservations (such as those specified in
      [RFC3175] or [RFC4860]) can be used.  This is similar to
      [RFC4923].

  2.  Determining the RSVP Sender Proxy and RSVP Receiver Proxy to be
      used for aggregation of a given flow from sender to receiver
      creates a number of challenges.  Details on how this may be
      achieved are beyond the scope of this document.  We observe that,
      as illustrated in Figure 17, this may be facilitated by a network
      management interface between the application entity and the IPsec
      gateways.  For example, this interface may be used by the
      application entity to obtain information about which IPsec
      gateway is on the path of a given end-to-end flow.  Then, the
      application entity may maintain awareness of which RSVP proxy is
      on the ciphertext path between a given pair of IPsec gateways.
      How such awareness is achieved is beyond the scope of this
      document.  We simply observe that such awareness can be easily
      achieved through simple configuration in the particular case
      where a single (physical or logical) RSVP proxy is fronting a
      given IPsec gateway.  We also observe that when awareness of the
      RSVP Receiver Proxy for a particular egress IPsec gateway (or





Le Faucheur, et al.           Informational                    [Page 48]

RFC 5945                  RSVP Proxy Approaches             October 2010


      end-to-end flow) is not available, the aggregate reservation may
      be signaled by the RSVP Sender Proxy to the destination address
      of the egress IPsec gateway and then proxied by the RSVP Receiver
      Proxy.

  Different flavors of operations are possible in terms of aggregate
  reservation sizing.  For example, the application entity can initiate
  an aggregate reservation of fixed size a priori and then simply keep
  count of the bandwidth used by sessions and reject sessions that
  would result in excess usage of an aggregate reservation.  The
  application entity could also re-size the aggregate reservations on a
  session-by-session basis.  Alternatively, the application entity
  could re-size the aggregate reservations in step increments typically
  corresponding to the bandwidth requirement of multiple sessions.





































Le Faucheur, et al.           Informational                    [Page 49]

RFC 5945                  RSVP Proxy Approaches             October 2010


Authors' Addresses

  Francois Le Faucheur
  Cisco Systems
  Greenside, 400 Avenue de Roumanille
  Sophia Antipolis  06410
  France

  Phone: +33 4 97 23 26 19
  EMail: [email protected]


  Jukka Manner
  Aalto University
  Department of Communications and Networking (Comnet)
  P.O. Box 13000
  FIN-00076 Aalto
  Finland

  Phone: +358 9 470 22481
  EMail: [email protected]
  URI:   http://www.netlab.tkk.fi/~jmanner/


  Dan Wing
  Cisco Systems
  170 West Tasman Drive
  San Jose, CA  95134
  United States

  EMail: [email protected]


  Allan Guillou
  SFR
  40-42 Quai du Point du Jour
  Boulogne-Billancourt  92659
  France

  EMail: [email protected]











Le Faucheur, et al.           Informational                    [Page 50]