Internet Engineering Task Force             R. Guerin/S. Blake/S. Herzog
INTERNET DRAFT                                         IBM/IBM/IPHighway
                                                        21 November 1997




                  Aggregating RSVP-based QoS Requests
                    draft-guerin-aggreg-rsvp-00.txt




Status of This Memo

   This document is an Internet-Draft.  Internet Drafts are working
   documents of the Internet Engineering Task Force (IETF), its Areas,
   and its Working Groups.  Note that other groups may also distribute
   working documents as Internet Drafts.

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

   To learn the current status of any Internet-Draft, please check
   the ``1id-abstracts.txt'' listing contained in the internet-drafts
   Shadow Directories on ds.internic.net (US East Coast), nic.nordu.net
   (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific
   Rim).


Abstract

   This document describes issues and approaches related to aggregation
   of QoS requests, when RSVP [BZB+97] is the protocol used to convey
   such requests.  Aggregation is an important component to provide
   scalable QoS solutions, especially in the core of the backbone
   where the sheer number of flows mandates some form of aggregation.
   However, aggregation needs to be provided without impacting the
   ability to provide end-to-end QoS guarantees to individual flows.
   In this document, we review some of the main goals of aggregation
   and describe possible solutions, that do not preclude support for
   end-to-end QoS guarantees.  Those solutions are targeted at unicast
   flows as we expect them to represent a large fraction of the flows
   requesting reservation, and hence to be the main contributors to
   potential scalability problems with RSVP.






Guerin et al.                Expires 26 May 1998                [Page i]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997




                                Contents



Status of This Memo                                                    i

Abstract                                                               i

 1. Introduction                                                       1

 2. Sample Scenario and Requirements for QoS Aggregation               2

 3. Data Path Aggregation                                              4
     3.1. Tunnel Based Aggregation  . . . . . . . . . . . . . . . .    5
     3.2. TOS Field Based Aggregation . . . . . . . . . . . . . . .    5

 4. Control Path Aggregation                                           6
     4.1. Tunnel Based Aggregation  . . . . . . . . . . . . . . . .    7
           4.1.1. Setting of Aggregate Reservations . . . . . . . .    8
     4.2. TOS Field Based Aggregation . . . . . . . . . . . . . . .    9
           4.2.1. Ingress-Egress Aggregation:  Method 1 . . . . . .   10
           4.2.2. Ingress-Egress Aggregation:  Method 2 . . . . . .   13
           4.2.3. Setting of Aggregate Reservations . . . . . . . .   14

 5. Conclusion and Recommendations                                    15

 A. Router Alert Options for Concealing ``Individual'' PATH Messages  17
     A.1. IPv4 Syntax . . . . . . . . . . . . . . . . . . . . . . .   17
     A.2. IPv6 Syntax . . . . . . . . . . . . . . . . . . . . . . .   18




















Guerin et al.               Expires 26 May 1998                [Page ii]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


1. Introduction

   As described in [Bra97], there are several facets to the support
   of QoS in the Internet.  The aspect of QoS aggregation with RSVP
   falls primarily in the areas of ``Control Model'', and to some
   extent ``Scope'', as they are identified in [Bra97].  Specifically,
   the focus of QoS aggregation is on both the granularity of QoS
   guarantees, and their extent, i.e., from where to where.

   In RSVP, the granularity of a QoS request is determined through
   filters that specify destination address and port number, as well
   as source address and port number in some instances (see [BZB+97]
   for details).  This corresponds to a very fine granularity of QoS
   guarantees, i.e., per flow, and while this provides end-users with
   accurate control, it can also translate into a substantial overhead
   for the network.  This is particularly true for backbone links,
   where the sheer number of flows (there are 37,500 64kbps flows on
   an OC-48 link) can introduce a scalability problem.  Similarly, the
   scope of RSVP QoS requests is end-to-end, i.e., from application to
   application, and while this does again provide end-users with maximum
   control, it can also impose substantial overhead.  For example,
   a network administrator may want to reserve a certain amount of
   bandwidth to interconnect two sites across the network of an ISP.
   This is not readily feasible under the current RSVP specifications,
   which require that reservations be setup and managed between all
   pairs of end-users in the two sites.  A possible alternative is to
   establish an RSVP ``tunnel'' between the two sites, and we discuss
   this option, but it has the disadvantage of additional encapsulation
   overhead and processing.

   As a result, the issue of QoS aggregation in the context of RSVP
   has two major components.  The first, is an extension to RSVP to
   support ``aggregate'' QoS requests, i.e., on behalf of a set of
   flows rather than individual flows.  For example, the set of flows
   to which an aggregate request would apply, could correspond to
   traffic between a given source subnet and a given destination subnet.
   Support for such aggregate requests is not available from the current
   RSVP specifications, and would require the definition of new filter
   specifications.  One possible example are the CIDR prefix based
   filters suggested in [Boy97].  The introduction of such extensions is
   certainly key to increasing the applicability of RSVP as a generic
   reservation protocol, but in this document we instead focus on the
   second and more immediate aspect of QoS aggregation for RSVP.

   Specifically, we consider the problem of aggregating a large number
   of individual RSVP requests to improve scalability, e.g., on backbone
   links, without precluding support for individual QoS guarantees where
   feasible, e.g., on low speed links and local networks.  In other



Guerin et al.                Expires 26 May 1998                [Page 1]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


   words, the focus of QoS aggregation in this document, is to provide
   the means for ensuring individual end-to-end QoS guarantees, but
   without requiring that awareness of individual flows be maintained on
   each and every segment of their path.  This is an important issue as
   the need for maintaining and updating a large number of individual
   RSVP flow states has been often mentioned as a major obstacle to
   the widespread deployment of RSVP. The goals of this document are,
   therefore, to review and address the potential scalability problems
   that have been identified with the CURRENT RSVP specifications, and
   propose possible solutions.

   The rest of this document is structured as follows.  In Section 2,
   we first describe a sample scenario illustrating the constraints
   and aspects of QoS aggregation with RSVP. In Sections 3 and 4, we
   identify specific goals when supporting QoS aggregation for RSVP, and
   propose possible aggregation solutions to achieve them.


2. Sample Scenario and Requirements for QoS Aggregation

   Consider the network topology of Figure 1.  It consists of three
   separate AS, with the two edge AS (AS1 and AS3) corresponding
   to local AS and the middle one (AS2) representing a backbone
   interconnecting the two.  For the purpose of our discussion on QoS
   aggregation, we assume that scalability is of concern only in the
   backbone AS2, i.e., AS1 and AS3 are capable of maintaining RSVP state
   information for all the individual flows that originate and terminate
   in them.  Furthermore, and without loss of generality, we focus on
   RSVP flows between AS1 and AS3 that cross AS2.  In that context, QoS
   aggregation is of concern only for AS2.



     AS1                   AS2                    AS3
   ________          ________________          _________
  /        \        /                \        /         \
 /          \      /                  \      /           \
|   Access   |    |       Backbone     |    |    Access   |
|  Network   |----|       Network      |----|   Network   |
|            |    |                    |    |             |
 \          /      \                  /      \           /
  \________/        \________________/        \_________/



                 Figure 1: Sample Network Configuration





Guerin et al.                Expires 26 May 1998                [Page 2]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


   Aggregation of individual RSVP flows through AS2 must satisfy a
   number of requirements, which we briefly review.

   R1  AS2 should not have to maintain awareness of individual RSVP
       flows between AS1 and AS3.  Instead, AS2 should be able to map
       individual RSVP flows onto few internal service ``classes''.

   R2  AS2 should ensure that it satisfies the QoS requirements of
       individual RSVP flows, e.g., the resources allocated to a service
       class in AS2 should at least be equal to the aggregate resources
       required by all the individual flows mapped onto it.

   R3  Isolation between flows should be maintained in AS2, i.e., even
       when flows are aggregated into a common service class, the excess
       traffic of one flow should not affect the performance guarantees
       of another flow.

   R4  Aggregation in AS2 should not prevent support for individual flow
       reservations in AS1 and AS3.

   Requirement R1 is the core scalability requirement expressed by AS2.
   It basically states, that because QoS support within AS2 is provided
   through much coarser mechanisms than the control and allocation of
   resources to individual RSVP flows, of which there could be way too
   many, it is necessary for individual RSVP flows to be mapped onto one
   of the internal class-based mechanisms supported by AS2.  Coarser
   class-based mechanisms are usually mandated by the speed of the
   backbone links, where the time available for making packet forwarding
   and scheduling decisions is often not sufficient to accommodate per
   flow operations.  In addition to the constraint on forwarding and
   scheduling decision, there is a similar limitation on the amount of
   control information that a backbone node is capable of maintaining
   and updating.  Specifically, maintaining path and reservation control
   blocks for individual flows may not be not practical in AS2.

   Requirements R2 and R3 specify properties, that the mapping of
   individual RSVP flows onto the coarser ``classes'' of AS2 has to
   satisfy.  First and foremost, requirement R2 expresses the need
   for some coupling between the resources (bandwidth and buffer) and
   level of service (priority) assigned to a class in AS2, and the
   aggregation of the individual RSVP flows mapped onto that class.  For
   example, this means that the amount of bandwidth assigned to a class
   should be sufficient to accommodate the traffic of all the RSVP flows
   mapped onto it.  This must remain true even as flows modify their
   reservations.  Furthermore, requirement R2 also points to the fact
   that services classes in AS2 must be defined so as to ensure they
   can meet the QoS guarantees of any individual flow mapped onto them.
   This typically means that flows mapped onto the same service class



Guerin et al.                Expires 26 May 1998                [Page 3]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


   must exhibit some level of homogeneity in their QoS requirements, or
   that the service class is dimensioned to meet the most stringent QoS
   requirements of the individual flows mapped onto it.

   Requirement R3 is a direct result of the aggregation of individual
   flows.  The QoS guarantees provided to an individual RSVP flow are
   limited to its conformant packets, i.e., packets that comply with
   the advertised TSpec of the flow.  Checking compliance with a flow
   TSpec is readily achieved when per flow awareness is maintained, but
   is lost after flows have been aggregated.  In particular, violation
   of an aggregate TSpec (``sum'' of individual TSpec's) can be caused
   by a single non-conformant flow, but can impact the QoS guarantees
   experienced by all the flows that have been aggregated.  As a result,
   some mechanism is needed to identify non-conformant packet even
   after flows have been merged.  One possible approach is to use a
   ``tagging'' capability as suggested in [CW97].

   Requirement R4 expresses the important constraint that satisfying
   scalability in AS2, should not come at the expense of functionality
   in AS1 and AS3.  Specifically, the aggregation of control and data
   path information in AS2 should be reversible, so that reservations in
   AS1 and AS3 can default back to individual flows after crossing AS2.
   In other words, the hiding of individual flow information in AS2
   should not prevent reservations at a finer level of granularity in
   AS1 and AS3, so that end-to-end RSVP reservations can be supported.
   This means that for RSVP flows, AS2 should essentially behave as a
   single RSVP ``node''.  Reservation of resources within a node are
   transparent to RSVP, but should not affect end-to-end operation.

   In the next sections, we qualify how the above requirements translate
   into specific goals to support aggregation, and also describe
   possible approaches to satisfy these requirements.


3. Data Path Aggregation

   On the data path, the main issue is the classification of data
   packets to determine the level of QoS they are eligible to receive.
   Performing this classification on the basis of bit patterns that are
   specific to individual flows, i.e., source and destination addresses
   and port numbers, may not scale.  Specifically, storing all the
   patterns corresponding to individual flows holding a reservation and
   extracting the corresponding patterns from all incoming packets, can
   represent a substantial per packet processing overhead.  As a result,
   the goal of an aggregation solution is to map all the bit patterns
   used to classify individual flows with reservations onto a much
   smaller number of patterns.  There are several possible approaches to
   achieve such a mapping.



Guerin et al.                Expires 26 May 1998                [Page 4]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


3.1. Tunnel Based Aggregation

   A first solution is to rely on RSVP tunnels.  In other words, an RSVP
   tunnel is created between any two ingress and egress points for which
   there exists at least one RSVP flow across AS2.  At the ingress,
   packets (data and control) belonging to the corresponding RSVP
   flows are encapsulated in IP packets with an IP destination address
   identifying the egress point from AS2.  The egress point is then
   responsible for the reverse decapsulation process before forwarding
   packets towards their next hop.  As a result of encapsulation,
   routers on the path in AS2 only require a single entry to classify
   packets from all the associated RSVP flows.  The main disadvantages
   of this solution are the data and processing overheads associated
   with encapsulation, as well as the need for close synchronization
   with routing.  Specifically, the mapping of individual RSVP flows
   onto a given egress point from AS2 depends on routing information,
   and route changes need to be closely monitored to determine if and
   when they affect this mapping.

   In addition to these disadvantages, tunnels *alone* do not easily
   address the above requirement R3 concerning flow isolation.  This
   is because after encapsulation, conformant packets from one flow
   cannot be distinguished from non-conformant packets of another flow.
   As a result, it is necessary to discriminate between conformant
   and non-conformant packets at the ingress point of a tunnel, e.g.,
   send non-conformant packets as regular (non-encapsulated) packets
   through AS2.  While this satisfies requirement R3, it does so at the
   cost of potentially unnecessary penalization of RSVP flows, e.g.,
   out-of-order delivery, even in the absence of congestion in AS2.


3.2. TOS Field Based Aggregation

   A number of other approaches for aggregation have been
   brought forward, [CW97, BV97, Hei97, Kil97], with several
   [CW97, Hei97, Kil97] proposing the use of fewer bits in the IP header
   for classification purposes.  In particular, it has been suggested to
   use the TOS octet field [Pos81] to specify different service classes
   as well as drop precedence.  From the point of view of aggregation of
   RSVP flows, this means that RSVP data packets are assigned a value
   for the TOS field in their IP header, that is a function of both
   their service class, e.g., Controlled Load [Wro97a] or Guaranteed
   Service [SPG97], and whether the packet is conformant or not.

   Specifically, several (the exact number is tbd and a function of the
   number of distinct service classes that are deemed necessary) TOS
   bits are used to specify service classes.  Data packets from RSVP
   flows entering AS2 then have the TOS field in their IP header set



Guerin et al.                Expires 26 May 1998                [Page 5]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


   accordingly to reflect the service class they have requested.  As a
   result, routers in AS2 can classify packets using TOS bit patterns
   instead of full filters.  Conceptually, on a link at a router in
   AS2, each service class is identified through its assigned TOS bit
   pattern and mapped onto a separate transmission queue, that has been
   allocated sufficient resources (bandwidth and buffers) to satisfy the
   QoS requirements of the aggregation of flows it carries.

   In addition to the TOS bits identifying the service class to
   which the data packets of RSVP flows belong to, one more bit from
   the TOS field is needed to indicate conformance of packets from
   each flow to their corresponding TSpec.  This explicit indication
   of non-conformant packets is key to enforcing flow isolation
   (requirement R3) and ensuring that the QoS guarantees of individual
   flows are met in spite of their aggregation into a common class.
   For example, as has been suggested, the conformance bit can be used
   by routers in AS2 to implement a ``drop precedence'' policy to
   preferentially discard non-conformant packets in case of congestion.

   In general, ensuring that the aggregate resources allocated to
   each service class are adequate to satisfy the QoS guarantees of
   individual RSVP flows, i.e., requirements R2 and R3, requires
   coupling to the RSVP control path and this aspect is discussed in
   the next section.  However, before addressing this issue, it should
   be noted that the above approach offers a number of benefits above
   those afforded by the previous tunneling solution.  First, it avoids
   the overhead of encapsulation.  Second, the ingress and egress
   processing required is minimal, i.e., update of the TOS field in the
   IP header (note that this could even be performed in the end-stations
   themselves).  Third, it does not require any interactions with
   routing above and beyond what is normally required by RSVP. In other
   words, aggregation is supported in a manner that is essentially
   transparent to RSVP.


4. Control Path Aggregation

   The aggregation of control information associated with individual
   RSVP flows is just as important for scalability as its data path
   counterpart.  Specifically, maintaining PATH and RESV states for
   individual RSVP flows can represent a substantial burden in backbone
   routers which need to support a large number of flows.  The goal of
   QoS aggregation is then to eliminate or at least minimize the amount
   of per flow control information that needs to be maintained.  As
   with data path aggregation, this needs to be done while maintaining
   the QoS guarantees requested by individual flows.  In particular,
   the resources allocated to a set of aggregated flows must reflect
   the ``sum'' of the reservation requests conveyed in individual RESV



Guerin et al.                Expires 26 May 1998                [Page 6]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


   messages.  Making sure this and the several requirements identified
   earlier (requirement R2, R3, and R4) are met, varies according
   to the data path aggregation method used.  Note that aggregation
   also offers the opportunity for greater efficiency because of the
   potential benefits of statistical multiplexing.  However, some
   care must be applied to avoid under-provisioning of resources in
   the backbone, e.g., aggregation may affect measurement based call
   admission rules in backbone routers.


4.1. Tunnel Based Aggregation

   When QoS aggregation is achieved through the use of an RSVP tunnel,
   all RSVP control messages for individual flows are encapsulated
   and, therefore, not seen by any of the intermediate routers (in
   AS2).  However, because those messages are carried across the tunnel,
   after decapsulation at the egress router, they will be forwarded as
   usual so that reservations for individual RSVP flows can still be
   established on the rest of the path, i.e., in AS1 and AS3.  Note
   that because individual PATH messages are encapsulated, their ADSPEC
   is not updated as they cross the backbone.  At the egress router of
   the tunnel, updating the ADSPEC in the PATH messages of individual
   flows is carried out using the corresponding ADSPEC fields from the
   PATH messages of the tunnel itself.  Specifically, hop count, path
   latency, service specific quantities such as Guaranteed Service error
   terms, etc., are all updated as if the ADSPEC values for the tunnel
   were those of a single ``node'' (AS2 is considered as one node).

   As far as the tunnel is concerned, its establishment is the
   responsibility of the ingress and egress routers at its end-points,
   which generate new RSVP control messages with their address as the
   source and destination addresses (1).  In addition, the traffic
   specification (TSpec) and reservation levels (FLOWSPEC) specified in
   these messages need to adequately reflect the requirements of the
   flows aggregated into the tunnel.  In particular, the type of service
   used for a tunnel should match that of the flows being aggregated on
   the tunnel, e.g., Controlled Load flows should be aggregated onto a
   Controlled Load tunnel.

----------------------------
1. Note that a possible alternative is to
   use a layer 2, e.g., ATM, tunnel, which would then be setup using the
   available layer 2 signalling.








Guerin et al.                Expires 26 May 1998                [Page 7]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


4.1.1. Setting of Aggregate Reservations

   In the case of a Controlled Load tunnel, the aggregate TSpec used
   in the PATH messages for the tunnel, needs to be selected so as to
   accommodate the TSpec's of all the flows it aggregates.  A natural
   selection is to choose the sum of the TSpec's of all the individual
   flows being aggregated (see [Wro97b] for a discussion on how TSpec's
   are to be summed).  Similarly, the TSpec specified in the FLOWSPEC
   of the RESV messages for the tunnel should again be chosen to ensure
   that the aggregated flows receive a level of service consistent with
   their individual requests.  One option is to again select the sum
   of individual FLOWSPEC's, although as mentioned above the potential
   benefits of statistical multiplexing may allow a lower reservation
   level.

   Irrespective of the aggregate reservation level specified, satisfying
   the QoS guarantees of individual flows is also predicated on the
   ``proper'' handling of excess traffic, i.e., packets from each flow
   that do not conform to their individual TSpec.  Specifically, excess
   traffic MUST NOT be forwarded onto the RSVP tunnel, unless some
   form of explicit identification of excess traffic is provided.  For
   example, this could be achieved through the use of a bit from the TOS
   field in the IP header of packets as suggested in Section 3.2.

   The case of a Guaranteed Service Tunnel is somewhat more involved.
   There are two issues that need to be addressed.  The first is the
   update of the ADSPEC in the PATH messages of individual flows at
   the egress router (see [SPG97] for details on the use of ADSPEC).
   The second is the selection of appropriate TSpec and RSpec for the
   tunnel, so that the delay bounds of all individual flows can be
   guaranteed.  The handling of these two issues are not independent,
   and there are many possible solutions.  In this document, we outline
   only one of several alternatives.

   The update of the ADSPEC can be done as described before, using the
   ADSPEC values of the tunnel.  The determination of appropriate TSpec
   and RSpec values for the tunnel, essentially follows the method
   described in [RG97].  Specifically, the TSpec used for the tunnel
   needs to be at least the ``sum'' of the TSpec's of the individual
   flows.  Similarly, the reserved rate R of the RSpec is determined
   using eqs.  (6) and (7) of [RG97], with the only difference that the
   individual delay bounds used in eq.  (7) are only for the portion of
   the flows paths that coincide with the tunnel.  This partial delay
   bound for individual flows is readily computed from the TSpec of
   individual flows, their RSpec, and the error terms for the portion of
   their path that corresponds to the tunnel.





Guerin et al.                Expires 26 May 1998                [Page 8]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


   It should be pointed out that as mentioned in [RG97], the resulting
   aggregate reservation rate for the tunnel can be either smaller or
   bigger than the sum of the individual reservation rates.  Another
   point worth noting concerns the possible use of the slack term, in
   particular when individual flows specify a non-zero slack and a
   reservation rate R equal to their token rate r, i.e., they could
   tolerate a higher delay but cannot ask for a lower rate.  In the case
   of a tunnel, the slack could be used to increase the individual delay
   bound for that flow used in eq.  (7), provided that the SUM of the
   token rates of individual flows remains smaller than or equal to the
   aggregate reservation rate.


4.2. TOS Field Based Aggregation

   The case of TOS based QoS aggregation is different from that of
   a tunnel because the egress point associated with a particular
   flow is not identified *a priori* at the ingress router.  This
   has the advantage of eliminating the need for an ingress router
   to continuously interact with routing to monitor possible changes
   in egress routers and mapping of individual flows into tunnels.
   However, this means that some other mechanisms are needed to ensure
   that the appropriate amount of resources is reserved for RSVP flows
   between the associated ingress and egress routers.

   There are many possible approaches that one can follow, and in
   this document we describe two, which we feel represent reasonable
   trade-offs between simplicity and minimization of backbone overhead.
   Other alternatives are clearly possible.  In both approaches, as
   in the tunneling case, a key goal is to avoid or at least minimize
   awareness and/or processing of individual flows in the backbone.
   Satisfying this goal has several requirements and implications:

    -  Disable processing of (most) individual RSVP messages in the
       backbone, while still allowing their identification when they
       arrive at egress or ingress routers.

    -  Identify transparently, i.e., without relying on interactions
       with routing, the egress routers corresponding to individual
       flows entering the backbone at an ingress router.

    -  Reserve the appropriate amount of resources on backbone links to
       satisfy the requirements of individual flows routed over them.

    -  Properly update RSVP PATH messages of individual flows at egress
       routers.





Guerin et al.                Expires 26 May 1998                [Page 9]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


   In what follows, we describe two possible approaches to achieving
   those goals.


4.2.1. Ingress-Egress Aggregation:  Method 1

   Next, we describe a first approach, and the steps performed at
   ingress and egress routers to both identify each other and ensure
   proper aggregation of flows and allocation of resources between them.

    -  For new flows, the ingress router starts forwarding
       ``individual'' PATH messages carrying a Policy Object containing
       its IP address.  Receipt of those individual PATH messages
       provides the associated egress routers with the identify of the
       ingress router for the flow.  The individual PATH messages are
       initially processed by the backbone routers, and reach the egress
       router with updated ADSPEC information.

    -  Upon receiving an ``individual'' PATH message with a policy
       object specifying a new ingress router, the egress router logs
       the association between the flow and the ingress router and
       forwards the PATH message.

    -  Upon receipt of a RESV message (2) for a flow, the egress router
       forwards the ``individual'' RESV message with a Policy Object
       specifying its IP address.  The Policy Object will eventually be
       delivered to the ingress router, and inform it of the identity of
       the egress router associated with the flow.

    -  Upon receipt of a RESV message identifying a new egress or
       when the ingress router deems there are sufficient flows to a
       given egress to consider aggregating them, it starts sending
       PATH message destined to this egress and representing the
       aggregation of all flows destined to it.  At the same time, the
       ingress router starts sending the PATH messages corresponding to
       individual flows, in a format that ``hides'' them from backbone
       routers (more on this below) but not the egress router.

    -  Upon receipt of a PATH message destined to itself, the egress
       router sends a RESV message with an aggregate reservation for all
       the flows it has logged as coming from the associated ingress

----------------------------
2. Alternatively, the egress router could generate a ``fake'', e.g.,
   near zero reservation, RESV
   message immediately after receiving the first PATH message.  This has
   the benefit of faster awareness about the egress at the ingress.




Guerin et al.               Expires 26 May 1998                [Page 10]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


       router.  At the same time, it starts sending RESV messages for
       the individual flows directly to the ingress router.  This
       ensures that they will not be processed by backbone routers, and
       any existing reservations for individual flows in the backbone
       will time out.  Note that to lower the potential for call
       admission failure, the egress router may want to progressively
       increase the reservation level in its aggregate RESV message.
       This may give it a better chance of recapturing bandwidth as it
       is being released, when reservation states of individual flows
       time out.

    -  Upon receipt of ``hidden'' PATH messages for individual flows,
       the egress router changes them back to ``standard'' PATH messages
       and updates them with the ADSPEC information from the PATH
       message originated by the associated ingress router before
       forwarding them downstream.

    -  Upon receipt of RESV messages for individual flows from a known
       egress router, the ingress router simply forwards them upstream.

   The above steps ensure that ingress and egress routers become aware
   of each other without having to directly query routing, and also
   ultimately removes awareness of individual flows in backbone routers.
   However, it is still necessary to describe how route changes within
   the backbone are handled.  This is tightly coupled to the approach
   used to ``hide'' RSVP PATH messages in the backbone, and we therefore
   describe this next.

   In the case of tunnels, individual RSVP messages were ``hidden''
   on backbone links because they were encapsulated within another IP
   header.  As a result backbone routers would forward them as regular
   IP packets.  Furthermore, because the destination address in the
   encapsulating IP header was that of the egress (ingress) router,
   decapsulation would be performed and ensure proper identification and
   processing of the RSVP messages.  Such a solution is not applicable
   in the case of TOS based aggregation, because of the decoupling from
   routing, i.e., identity of egress or ingress, if known, cannot be
   used to ensure delivery of RSVP messages

   There are several possible options to overcome those problems while
   avoiding processing of RSVP messages from individual flows in the
   backbone.  Processing of RSVP (PATH) messages from individual flows
   in the backbone can be avoided simply by hiding the information
   used to trigger RSVP processing, i.e., turn the router-alert option
   [Kat97, KAPJ97] off at the ingress router.  The problem is then that
   without the router-alert option on, the egress router will also fail
   to identify, and therefore intercept and process those PATH messages.




Guerin et al.               Expires 26 May 1998                [Page 11]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


   There are several possible solutions to this problem.  One is
   to use some other bit pattern in the IP header, that can be used
   by egress routers to identify RSVP PATH messages from individual
   flows.  For example, a TOS bit combination could be assigned to
   indicate ``aggregated control information.''  Routers responsible
   for de-aggregating control information, e.g., egress routers, would
   then intercept such packets, while other routers (backbone routers)
   would ignore them.  Another option is to require that egress routers
   examine the protocol number of all arriving packets, even when
   the router alert option is not set.  This may, however, impose a
   significant performance penalty.  A third option is to keep the
   router alert option set, but use a different protocol number inside
   the backbone.  Backbone routers would still intercept RSVP PATH
   messages from individual flows, but not need to process them any
   further, i.e., upon identifying the new protocol number they would
   simply forward the packet on.  A last option is to define a *new*
   router alert option for ``Unaggregated RSVP'' messages, which would
   be silently ignored by backbone routers, but recognized by access
   (ingress/egress) routers.

   This last alternative (see Appendix A for additional details)
   appears to provide a reasonable trade-off, that ensures the required
   functionality at egress routers while keeping the backbone overhead
   reasonable.

   Assuming that one of the above mechanisms is being used, PATH
   messages for individual flows are now being automatically delivered
   directly from ingress routers to the appropriate egress routers.
   However, note that PATH messages are not being processed at any of
   the backbone routers they traverse.  The main implication for the
   egress is that the ADSPEC field of the PATH messages has not been
   updated to reflect the characteristic of the backbone path they have
   traversed.  As a result, they cannot be readily propagated forward
   by the egress router, unless the information needed to properly
   update their ADSPEC is *already* available at the egress router.
   This is one of the motivations for the above choice of initially
   sending individual PATH messages into the backbone, as this enables
   the egress to first acquire the necessary information to update the
   ADSPEC of ``hidden'' PATH messages.  However, this approach does not
   address the problem in case of route changes in the backbone.

   Route changes in the backbone result in ``hidden'' PATH messages
   being delivered to a *new* new egress, without being preceded by
   corresponding ``clear'' PATH messages.  As a result, the new egress
   does not have the necessary information to update the ADSPEC of the
   ``hidden'' PATH messages it starts receiving.  Hence, those messages
   cannot be propagated forward.  In order to address this problem,
   the ingress router needs to become aware of the route change.  The



Guerin et al.               Expires 26 May 1998                [Page 12]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


   simplest approach is to rely on RSVP soft states.  Basically, the
   ingress router will detect that it stops receiving RESV messages from
   the old egress routers (at least for the flows affected by the route
   change).  It can then use that information as a trigger to start
   forwarding the PATH messages of those flows again as *regular* RSVP
   PATH messages.  As a result, they will be processed by intermediate
   backbone routers, and we are back to the initial case described
   above.


4.2.2. Ingress-Egress Aggregation:  Method 2

   In this section, we describe a second alternative, which is mostly a
   variation on the general method described in the previous section.
   The main motivation for this variation is to avoid *all* processing
   of individual RSVP flows in the backbone.  This is desirable as
   even the limited processing of individual RSVP flows required from
   backbone routers by method 1, can represent a substantial processing
   load when flows are of short duration.  In addition, this second
   method can avoid reliance on Policy Objects.

   The main difference with the previous method is that the PATH
   messages from individual flows are not sent directly in the backbone.
   Instead, they are always forwarded as ``hidden''.  The main issue is
   then to determine how to inform the ingress router of the identity
   of the egress router associated with each individual flow, without
   relying on explicit queries to routing.  We describe next, the
   different steps involved in addressing this issue.

    -  Upon receipt of a new PATH message, the ingress router forwards
       it as ``hidden'' into the backbone.

    -  On receipt of a hidden PATH message for a new flow, the
       egress router immediately notifies the ingress router of its
       existence (the identity of the ingress is carried in the PHOP
       of the PATH message).  This notification can take several
       forms.  One possibility is for the egress router to generate
       a PATH_ERR message (with some appropriate new error code)
       directly destined to the ingress router.  Another possibility
       is for the egress router to generate a ``fake'' RESV message
       with near-zero reservation (FLOWSPEC). Note that as discussed
       earlier, ``hidden'' PATH messages cannot be forwarded until the
       information needed to update their ADSPEC is available (more on
       this below).

    -  On receipt of a ``fake'' RESV or a PATH_ERR from a new egress,
       the ingress proceeds to send a ``regular'' aggregate PATH message
       to that egress.



Guerin et al.               Expires 26 May 1998                [Page 13]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


    -  On receipt of an aggregate PATH message (destined to itself), the
       egress now has the information necessary to update the ADSPEC of
       the individual PATH message and can start forwarding it.  The
       main disadvantage here is the latency incurred in forwarding the
       individual PATH message.  However, this latency is typically only
       incurred by the first flow from a given ingress.  The egress can
       use the ADSPEC from the aggregate PATH message to update and
       immediately forward the PATH messages of subsequent flows from
       that ingress.

    -  On receipt of a new RESV message for an individual flow, the
       egress sends a RESV message associated with the aggregate PATH
       from the corresponding ingress (or updates an existing RESV).
       The individual RESV messages are then forwarded directly to the
       ingress router.

   As mentioned earlier, the method embodied in the above steps avoids
   any processing of individual flows in the backbone.  The cost is an
   increased latency in propagating the first PATH message of the first
   flow from the associated ingress.


4.2.3. Setting of Aggregate Reservations

   Proper selection of appropriate aggregate reservation levels requires
   some care, especially for Guaranteed Service flows.  For Controlled
   Load flows, it is only necessary that in backbone routers the queue
   assigned to Controlled Load traffic, be allocated the proper service
   rate.  Since rate is an additive quantity, aggregate reservations
   can be based on the sum of the FLOWSPECs of individual flows.  The
   situation is again more complex for Guaranteed Service flows.

   The main difference with the tunnel-based case, is that on any link
   in the backbone the overall aggregation of packets/flows with the
   same TOS value (corresponding to the Guaranteed Service) is not know
   to either the ingress or egress routers associated with individual
   RSVP flows whose route through the backbone includes that link.  As
   a result, the egress router cannot use the approach of Section 4.1.1
   to determine an appropriate aggregate service rate, that will ensure
   that all individual delay bounds are met.

   In order to support aggregated Guaranteed Service flows in this
   setting, it is necessary to change the ``node model'' used to
   represent the backbone.  Specifically, an approach similar to the
   one used in the ISSLL drafts to account for ATM networks, can be
   used.  It amounts to representing the backbone as a delay only node.
   In other words, the backbone only contributes to the D error term
   of the ADSPEC and not the C term.  The main difference with an



Guerin et al.               Expires 26 May 1998                [Page 14]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


   ATM network is that, contrary to ATM switches, individual backbone
   routers will update the ADSPEC in PATH messages.  In order to ensure
   a behavior consistent with that of a delay-only node, each individual
   router needs to only update the D error term of the ADSPEC of PATH
   messages it processes.  The implication of this behavior is that the
   scheduling and call admission support for Guaranteed Service flows in
   backbone routers, will be based on ensuring a fixed delay upper bound
   for the TOS queue assigned to Guaranteed Service packets.  This delay
   upper bound will then be the quantity used to update the D error
   term in the ADSPEC field of PATH messages.


5. Conclusion and Recommendations

   In this draft we have outlined issues and proposed possible
   approaches to allow aggregation of individual RSVP flows, without
   precluding support for individual reservations where available.  This
   can enable delivery of the end-to-end and per flow QoS guarantees
   supported by RSVP and the Int-Serv Services, while avoiding possible
   scalability limitations.

   As a result of this exercise, several requirements emerged to
   support the different aggregation methods that were discussed.  These
   requirements are summarized below':

    -  Allocation of one bit from the TOS field of the IP header to
       specify in-profile and out-of-profile packets.

    -  Allocation of one bit pattern from the TOS field that can be
       mapped to the Controlled Load service, and at least one bit
       pattern from the TOS field that can be mapped to the Guaranteed
       Service (two would be preferable to provide some granularity in
       the delay bounds for Guaranteed Service flows).

    -  Support for a mechanism to selectively ``hide'' RSVP control
       messages.  Specifically, the preferred mechanism is through
       the introduction of an new Router Alert option, that can be
       selectively recognized or ignored in routers.


References

   [Boy97]  J. Boyle.  RSVP extensions for CIDR aggregated data flows,
            (draft-rsvp-cidr-ext-00.txt).  Internet draft (work in
            progress), Internet Engineering Task Force, February 1997.

   [Bra97]  S. Bradner.  Internet protocol quality of service problem
            statement, (draft-bradner-qos-problem-00.txt).  Internet



Guerin et al.               Expires 26 May 1998                [Page 15]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


            draft (work in progress), Internet Engineering Task Force,
            September 1997.

   [BV97]   S. Berson and S. Vincent.  A ``classy'' approach to
            aggregation for integrated services,
            (draft-berson-classy-approach-00.txt).  Internet draft
            (work in progress), Internet Engineering Task Force, March
            1997.

   [BZB+97] R. Braden, L. Zhang, S. Berson, S. Herzog, and S. Jamin.
            Resource reSerVation Protocol (RSVP) version 1, functional
            specification.  Request for comments, rfc 2205, (proposed
            standard), Internet Engineering Task Force, September 1997.

   [CW97]   D. Clark and J. Wroclawski.  An approach to service
            allocation in the Internet, (draft-clark-diff-svc-alloc-00.txt).
            Internet draft (work in progress), Internet Engineering
            Task Force, July 1997.

   [Hei97]  J. Heinanen.  Use of the IPv4 TOS octet to support
            differential services, (draft-heinanen-diff-tos-octet-00.txt).
            Internet draft (work in progress), Internet Engineering
            Task Force, October 1997.

   [KAPJ97] D. Katz, R. Atkinson, C. Partridge, and A. Jackson.  IP
            router alert option, (draft-ietf-ipngwg-ipv6-router-alert-03.txt).
            Internet draft (work in progress), Internet Engineering
            Task Force, July 1997.

   [Kat97]  D. Katz.  IP router alert option.  Request for comments,
            rfc 2113, (proposed standard), Internet Engineering Task
            Force, February 1997.

   [Kil97]  K. Kilkki.  Simple integrated media access (SIMA).
            (draft-kalevi-simple-media-access-01.txt).  Internet draft
            (work in progress), Internet Engineering Task Force, June
            1997.

   [Pos81]  J. Postel.  Internet protocol.  Request for comments, rfc
            791, (standard), Internet Engineering Task Force, September
            1981.

   [RG97]   S. Rampal and R. Guerin.  Flow grouping for reducing
            reservation requirements for Guaranteed Delay service,
            (draft-rampal-flow-delay-service-01.txt).  Internet draft
            (work in progress), Internet Engineering Task Force, July
            1997.




Guerin et al.               Expires 26 May 1998                [Page 16]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


   [SPG97]  S. Shenker, C. Partridge, and R. Guerin.  Specification of
            guaranteed quality of service.  Request for comments, rfc
            2212, (proposed standard), Internet Engineering Task Force,
            September 1997.

   [Wro97a] J. Wroclawski.  Specification of the controlled-load
            network element service.  Request for comments, rfc 2211,
            (proposed standard), Internet Engineering Task Force,
            September 1997.

   [Wro97b] J. Wroclawski.  The use of RSVP with IETF integrated
            services.  Request for comments, rfc 2210, (proposed
            standard), Internet Engineering Task Force, September 1997.


A. Router Alert Options for Concealing ``Individual'' PATH Messages

   As discussed in Section 4.2, the scalability of RSVP is improved
   when using TOS field based aggregation if the PATH messages from
   individual applications are concealed from the interior routers in
   the backbone.  PATH messages are addressed either to a destination
   host or multicast group and are transmitted with the IP router alert
   option as defined in [Kat97] or [KAPJ97].  This allows routers along
   their transit path to intercept the packets for RSVP processing.
   To prevent the backbone routers from intercepting and processing
   the PATH messages from individual applications, while allowing the
   aggregating egress routers to recognize and intercept them, a new
   router alert option value may be used.

   The syntax of the IPv4 router alert option is defined as follows
   [Kat97]:


A.1. IPv4 Syntax

   The Router Alert option has the following format:

                    +--------+--------+--------+--------+
                    |10010100|00000100|  2 octet value  |
                    +--------+--------+--------+--------+

      Type:
        Copied flag:  1 (all fragments must carry the option)
        Option class: 0 (control)
        Option number: 20 (decimal)

      Length: 4




Guerin et al.               Expires 26 May 1998                [Page 17]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


      Value:  A two octet code with the following values:
        0 - Router shall examine packet
        1-65535 - Reserved


   The specification states that ``Unrecognized value fields shall be
   silently ignored''.

   The syntax of the IPv6 router alert option is defined as follows
   [KAPJ97]:


A.2. IPv6 Syntax

   The router alert option has the following format:

                    +--------+--------+--------+--------+
                    |00| TBD | Len= 2 | Value (2 octets)|
                    +--------+--------+--------+--------+


   ``TBD'' is the Hop-by-Hop Option Type number (To be allocated by the
   IANA).

   Nodes not recognizing this option type SHOULD skip over this option
   and continue processing the header.  This option MUST NOT change en
   route.  There MUST only be one option of this type, regardless of
   value, per Hop-by-Hop header.

         Value:  A 2 octet code in network byte order with the
         following values:

            0        Datagram contains ICMPv6 Group Membership message.
            1        Datagram contains RSVP message.
            2        Datagram contains an Active Networks message
                     \cite{ANEP97}.
            3-65535  Reserved to IANA for future use.


   New value fields must be registered with the IANA.

   This specification states that ``Unrecognized value fields MUST be
   silently ignored and the processing of the header continued''.

   There are two alternatives which will satisfy the requirement to
   ``hide'' application PATH messages (when necessary) from the backbone
   routers:




Guerin et al.               Expires 26 May 1998                [Page 18]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997


    -  Define a 2 octet router alert option value for both IPv4 and IPv6
       which signifies that the datagram contains an ``Unaggregated RSVP
       Message''.  The router should silently ignore this router alert
       option and continue to forward the packet unless specifically
       configured to recognize and intercept it.

    -  Define a 2 octet router alert option value for both IPv4 and IPv6
       which signifies that the router should ``Ignore by Default''.
       The router should silently ignore this router alert option and
       continue to forward the packet unless specifically configured to
       recognize and intercept it.

   PATH messages from individual applications would be transmitted by
   the aggregating ingress router using either router alert option
   value (whichever is defined) whenever it employs TOS field based
   aggregation to a particular egress router.  Aggregated PATH messages
   to that router would be transmitted with the default router alert
   option value used for RSVP. The backbone routers would be configured
   to ignore router alert options using this new option value.  The
   aggregating egress routers would be configured to intercept packets
   transmitted with the new router alert option value.





Authors' Address



 Roch Guerin
 IBM T.J. Watson Research Center
 P.O. Box 704
 Yorktown Heights, NY 10598
 Phone:  +1 914 784-7038
 Fax:    +1 914 784-6205
 Email: guerin@watson.ibm.com


 Steven Blake
 E95/664
 IBM Corporation
 800 Park Offices Drive
 Research Triangle Park, NC  27709
 Phone:  +1-919-254-2030
 Fax:    +1-919-254-5483
 Email: slblake@raleigh.ibm.com




Guerin et al.               Expires 26 May 1998                [Page 19]


Internet Draft   Aggregating RSVP-based QoS Requests    21 November 1997



 Shai Herzog
 IPHighway
 Email: herzog@iphighway.com















































Guerin et al.               Expires 26 May 1998                [Page 20]