INTERNET-DRAFT                                        Mark W. Garrett,
ISSLL WG                                              Bellcore
Expires: 12 September 1998
                                                      Marty Borden,
                                                      New Oak Communications

                                                      21 November 1997
                                                      Bay Networks

Interoperation of Controlled-Load Service and Guaranteed Service with ATM
                 <draft-ietf-issll-atm-mapping-04.txt>
                 <draft-ietf-issll-atm-mapping-05.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 inappropriate to use Internet- Drafts as reference
   material or to cite them other than as "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 ftp.is.co.za (Africa), nic.nordu.net (Europe),
   munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
   ftp.isi.edu (US West Coast).

Abstract

   This document provides guidelines for mapping service classes, and
   traffic management features and parameters between Internet and ATM
   technologies.  The service mappings are useful for providing
   effective interoperation and end-to-end Quality of Service for IP
   Integrated Services networks containing ATM subnetworks.

   The discussion and specifications given here support the IP
   integrated services protocols for Guaranteed Service (GS),
   Controlled-Load Service (CLS) and the ATM Forum UNI specification,
   versions 3.0, 3.1 and 4.0.  Some discussion of IP best effort service
   over ATM is also included.

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119.  (Note, in
   many cases the use of "MUST" reflects our interpretation of the
   requirements of a related standard, e.g., ATM Forum UNI 4.0, rsvp,
   etc.)
                              Table of Contents

   1.0 Introduction .......................................................   3
       1.1 General System Architecture ....................................   4
       1.2 Related Documents ..............................................   7
   2.0 Major Protocol Features for Traffic Management and QoS .............   7   8
       2.1 Service Category and Bearer Capability .........................   8
           2.1.1 Service Categories for Guaranteed Service ................   9
           2.1.2 Service Categories for Controlled Load ...................  10
           2.1.3 Service Categories for Best Effort .......................  11
       2.2 Cell Loss Priority Bit, Tagging and Conformance Definitions ....  11  12
       2.3 ATM Adaptation Layer ...........................................  13
       2.4 Broadband Low Layer Information ................................  13  14
       2.5 Traffic Descriptors ............................................  14
           2.5.1 Translating Traffic Descriptors for Guaranteed Service ...  15
           2.5.2 Translating Traffic Descriptors for Controlled Load Service 18 19
           2.5.3 Translating Traffic Descriptors for Best Effort Service ....19 ....20
       2.6 QoS Classes and Parameters .....................................  19  20
       2.7 Additional Parameters -- Frame Discard Mode ....................  22
   3.0 Additional IP-Integrated Services Protocol Features ................  22  23
       3.1 Path Characterization Parameters for IP Integrated Services ....  22  23
       3.2 Handling of Excess Traffic .....................................  24
       3.3 Use of Guaranteed Service Adspec Parameters and Slack Term .....  25  26
   4.0 Miscellaneous Items ................................................  26  27
       4.1 Units Conversion ...............................................  26  27
   5.0 Summary of ATM VC Setup Parameters for Guaranteed Service ..........  28
       5.1 Encoding GS Using Real-Time VBR ................................  28
       5.2 Encoding GS Using CBR ..........................................  30
       5.3 Encoding GS Using Non-Real-Time VBR ............................  31
       5.4 Encoding GS Using ABR ..........................................  31
       5.5 Encoding GS Using UBR ..........................................  31
       5.6 Encoding GS Using UNI 3.0 and UNI 3.1. .........................  32  31
   6.0 Summary of ATM VC Setup Parameters for Controlled Load Service .....  33
       6.1 Encoding CLS Using ABR .........................................  34 Non-Real-Time VBR ...........................  33
       6.2 Encoding CLS Using Non-Real-Time VBR ...........................  35 ABR .........................................  34
       6.3 Encoding CLS Using Real-Time VBR ............................... CBR .........................................  36
       6.4 Encoding CLS Using CBR .........................................  37 Real-Time VBR ...............................  36
       6.5 Encoding CLS Using UBR .........................................  37  36
       6.6 Encoding CLS Using UNI 3.0 and UNI 3.1. ........................  37  36
   7.0 Summary of ATM VC Setup Parameters for Best Effort Service .........  38
       7.1 Encoding Best Effort Service Using UBR .........................  39  38
   8.0 Security ........................................................... Considerations ............................................  39
   9.0 Acknowledgements ...................................................  39  40
   Appendix 1  Abbreviations ..............................................  40
   References .............................................................  41
   Authors' Addresses .....................................................  43

1.0 Introduction

   We consider the problem of providing IP Integrated Services [1] with
   an ATM subnetwork.  This document is intended to be consistent with
   the rsvp protocol [2] for IP-level resource reservation, although it
   applies also in the general case where GS and CLS services are
   supported through other mechanisms.  In the ATM network, we consider
   ATM Forum UNI Signaling, versions 3.0, 3.1 and 4.0 [3, 4, 5].  The
   latter uses the more complete service model of the ATM Forum's TM 4.0
   specification [6, 7].

   This is a complex problem. problem with many facets.  In this document, we
   focus on the service types, parameters and signalling elements needed
   for service interoperation.  The resulting service mappings can be
   used to provide effective end-to-end Quality of Service (QoS) for IP
   traffic that traverses ATM networks.

   The IP services considered are Guaranteed Service (GS) [8] and
   Controlled Load Service (CLS) [9].  We also discuss the default Best
   Effort Service (BE) in parallel with these.  Our recommendations for
   BE are intended to be consistent with RFC 1755 [10], and its revision [11], which
   define how ATM VCs can be used in support of normal BE IP service.
   The ATM services we consider are:

       CBR           Constant Bit Rate
       rtVBR         Real-time Variable Bit Rate
       nrtVBR        Non-real-time Variable Bit Rate
       UBR           Unspecified Bit Rate
       ABR           Available Bit Rate

   In the case of UNI 3.x signalling, where these service are not all
   clearly distinguishable, we identify the appropriate available
   services.

   We recommend the following service mappings, since they follow most
   naturally from the service definitions:

       Guaranteed Service    ->     CBR or rtVBR
       Controlled Load       ->     nrtVBR or ABR (with a minimum cell rate)
       Best Effort           ->     UBR or ABR

   For completeness, however, we provide detailed mappings for all
   service combinations in Sections 5, 6, 7 and identify how each meets
   or fails to meet the requirements of the higher level IP services.
   The reason for not restricting mappings to the most obvious or
   natural ones is that we cannot predict how widely available all of
   these services will be as ATM deployment evolves.  A number of
   differences in service definitions, such as the treatment of packets
   in excess of the flow traffic descriptor, make service mapping a
   relatively complicated subject.

   The remainder of this introduction provides a general discussion of
   the system configuration and other assumptions.  Section 2 considers
   the relevant ATM protocol elements and the corresponding features of
   Guaranteed, Controlled Load and Best Effort services (the latter
   being the default "service").  Section 3 discusses a number of
   remaining features of the IP services and how they can be handled on
   an ATM subnetwork.  Section 4 addresses the conversion of traffic
   descriptors to account for ATM-layer overheads.  Section 5 gives the
   detailed VC setup parameters for Guaranteed Service, and considers
   the effect of using each of the ATM service categories.  Section 6
   provides a similar treatment for Controlled Load Service.  Section 7
   considers Best Effort service.

   This document is only a part of the total solution to providing the
   interworking of IP integrated services with ATM subnetworks.  The
   important issue of VC management, including flow aggregation, is
   considered in [12,13,14].  We do not consider how routing, QoS
   sensitive or not, interacts with the use of ATM VCs.  We expect that
   a considerable degree of implementation latitude will exist, even
   within the guidelines presented here.  Many aspects of interworking
   between IP and ATM will depend on economic factors, and will not be
   subject to standardization.

1.1 General System Architecture

   We assume that the reader has a general working knowledge of IP, rsvp
   and ATM protocols.  The network architecture we consider is
   illustrated in Figure 1.  An IP-attached host may send unicast
   datagrams to another host, or may use an IP multicast address to send
   packets to all of the hosts which have "joined" the multicast "tree".
   In either case, a destination host may then use RSVP to establish
   resource reservation in routers along the internet path for the data
   flow.

   An ATM network lies in the path (chosen by the IP routing), and
   consists of one or more ATM switches.  It uses SVCs to provide both
   resources and QoS within the ATM cloud.  These connections are set
   up, added to (in the case of multipoint trees), torn down, and
   controlled by the edge devices, which act as both IP routers and ATM
   interfaces, capable of initiating and managing VCs across the ATM
   user-to-network (UNI) interface.  The edge devices are assumed to be
   fully functional in both the IP int-serv/RSVP protocols and the ATM
   UNI protocols, as well as translating between them.

                                 ATM Cloud
                              ------------------
                            -----------------
        H ----\            (                 )       /------- H
        H ---- R -- R -- E --( ATM Sw E-( X  -- ATM Sw )  X  -- E  X )-E -- R -- R -- H
        H ----/     |      (                 )       \
                    |         ------------------       -----------------         \------ H
        H ----------R

              Figure 1:  Network Architecture with Hosts (H),
                         Routers (R) and (R), Edge Devices (E). (E) and ATM
                         Switches (X).

   When considering the edge devices with respect to traffic flowing
   from source to destination, the upstream edge device is called the
   "ingress" point and the downstream device the "egress" point.  The
   edge devices may be considered part of the IP internet or part of the
   ATM cloud, or both.  They process RSVP messages, reserve resources,
   and maintain soft state (in the control path), and classify and
   schedule packets (in the data path).  They also initiate ATM
   connections by signalling, and accept or refuse connections signalled
   to them.  They police and schedule cells going into the ATM cloud.
   The service mapping function occurs when an IP-level reservation
   (RESV message) triggers the edge device to translate the RSVP service
   requirements into ATM VC (UNI) semantics.

   A range of VC management policies are possible, which determine
   whether a flow should initiate initiates a new VC or join joins an existing one.  VCs are
   managed according to a combination of standards and local policy
   rules, which are specific to either the implementation (equipment) or
   the operator (network service provider).  Point-to-multipoint
   connections within the ATM cloud can be used to support general IP
   multicast flows.  In ATM, a point to multipoint connection can be
   controlled by the source (or root) node, or a leaf initiated join
   (LIJ) feature in ATM may be used.  The topic of VC management is
   considered at length in other ISSLL working group drafts documents [12,13,14].

   Figure 2 shows the functions of an edge device, summarizing the work
   not part of IP or ATM abstractly as an InterWorking Function (IWF),
   and segregating the control and data planes.

         IP                                                ATM
                               ____________________
                              |        IWF         |
                              |                    |
         admission and   <--> | service mapping    | <-->  ATM
         policy control       | VC management      |       signalling &
                              | address resolution |       admission
                              |....................|       control
                              |                    |
         classification,      |ATM Adaptation Layer|       cell
         policing &      <--> | Segmentation and   | <-->  scheduling/
         scheduling           |  Reassembly        |       shaping
                              | Buffering          |
                               ____________________

                 Figure 2: Edge Device Functions showing the IWF

   In the logical view of Figure 2, some functions, such as scheduling,
   are shown separately, since these functions are required of present on both the
   IP and ATM sides.  However it may be possible in an integrated
   implementation to combine such functions.

   The service mapping and VC management functions can be highly
   interdependent.  For example: (i) Multiple integrated-services flows
   may be aggregated to use one point-to-multipoint VC.  In this case,
   we assume the IP flows are of the same service type and their
   parameters have been merged appropriately.  (ii) The VC management
   function may choose to allocate extra resources in anticipation of
   further reservations or based on an empiric of changing TSpecs.
   (iii) There must MUST exist a path for best effort flows and for sending
   the rsvp control messages.  How this interacts with the establishment
   of VCs for QoS traffic may alter the desired characteristics required of those
   VCs.  See [12,13,14] for further details on VC management.

   Therefore, in discussing the service mapping problem, we will assume
   that the VC management function of the IWF can always express its
   result in terms of an IP-level service with some QoS and TSpec.  The
   service mapping algorithm can then identify the appropriate VC
   parameters as if a new VC were to be created for this service.  The
   VC management function can then use this information consistent with
   its own policy, which determines whether the resulting action uses
   new or existing VCs.

1.2 Related Documents

   Earlier ATM Forum documents combined signaling, signalling, traffic management
   and other areas into a single document, e.g., UNI 3.0 [3] and UNI 3.1
   [4].  The 3.1 release was used to correct errors and fix alignment
   with the ITU.  While UNI 3.0 and 3.1 are incompatible in terms of
   actual codepoints, the semantics are generally the same.  Therefore,
   we will often refer to UNI 3.x to mean either version of the ATM
   protocol.

   After 3.1, the ATM Forum released documents separately for each
   technical working group.  The UNI Signalling 4.0 [5] and Traffic
   Management 4.0 [6] documents represent a consistent overall ATM
   protocol, and we will sometime refer to the combination as TM/UNI
   4.0.

   Within the IETF, related material includes the work of the rsvp [2],
   int-serv [1, 8, 9, 15, 16] and ion working groups [10, 11].  Rsvp
   defines the resource reservation protocol (which is analogous to
   signalling in ATM). Int-serv defines the behavior and semantics of
   particular services (analogous to the Traffic Management working
   group in the ATM Forum).  Ion defines interworking of IP and ATM for
   traditional Best Effort service, and generally covers issues related
   to IP/ATM routing and addressing.

   A large number of ATM signalling details are covered in RFC 1755
   [10]; e.g., differences between UNI 3.0 and UNI 3.1, encapsulation,
   frame-relay interworking, etc.  These considerations extend to IP
   over ATM with QoS as well.  The description given in this document of
   IP Best Effort service (i.e. the default behavior) over ATM is
   intended to be consistent with RFC 1755 and it's extension for UNI
   4.0 [11], and those documents are to be considered definitive.  For
   non-best-effort services, certain IP/ATM features will diverge from
   the following RFC 1755.  We have attempted to note such differences
   explicitly.  (For example, best effort VCs may be taken down on
   timeout by either edge device, while QoS VCs are only removed by the
   upstream edge device when the corresponding rsvp reservation is
   deleted.)

   Another related document is RFC 1821 [17], which represents an early
   discussion of issues involved with interoperating IP and ATM
   protocols for integrated services and QoS.

2.0 Major Protocol Features for Traffic Management and QoS

   The ATM Call Setup is sent by the ingress edge device to the ATM
   network to establish end-to-end (ATM) service.   This setup contains
   the following information.

       Service Category/Broadband Bearer Capability
       AAL Parameters
       Broadband Low Layer Information
       Calling and Called Party Addressing Information
       Traffic Descriptors
       QoS Class and/or Parameters
       Additional Parameters of TM/UNI 4.0

   In this section, we discuss each of these items as they relate to
   creating ATM VCs suitable for GS, CLS and BE services.  We do not
   discuss routing and addressing at all, since they are (at least
   presently) independent of QoS.  Following the section on service
   categories, we discuss tagging and conformance definitions for IP and
   ATM.  These do not appear explicitly as set-up parameters in the
   above list, since they are implied by the policing method used.

2.1 Service Category and Bearer Capability

   The highest level of abstraction distinguishing features of ATM VCs
   is in the service category or bearer capability.  Service categories
   were introduced in TM/UNI 4.0; previously the bearer capability was
   used to discriminate at this level.

   These elements indicate the general properties required of a VC: whether there
   is a real-time delay constraint, whether the traffic is constant or
   variable rate, the applicable traffic and QoS description parameters
   and (implicitly) the complexity of some supporting switch mechanisms
   (e.g., ABR).

   For UNI 3.0 and UNI 3.1, there are only two distinct options for
   bearer capabilities (in our context):

       BCOB-A:  constant rate, timing required, unicast/multipoint;
       BCOB-C:  variable rate, timing not required, unicast/multipoint.

   A third capability, BCOB-X, can be used as a substitute for the above
   two capabilities, with its dependent parameters (traffic type and
   timing requirement) set appropriately.  The distinction between the
   BCOB-X formulation and the "equivalent" (for our purposes) BCOB-A and
   BCOB-C constructs is whether the ATM network is to provide pure cell
   relay service or interwork with other technologies (with
   interoperable signalling), such as narrowband ISDN.  Where this
   distinction is applicable, the appropriate code should SHOULD be used (see
   [5] and related ITU specs, e.g., I.371).

   In TM/UNI 4.0 the service categories are:

       Constant Bit Rate (CBR)
       Real-time Variable Bit Rate (rtVBR)
       Non-real-time Variable Bit Rate (nrtVBR)
       Unspecified Bit Rate (UBR)
       Available Bit Rate (ABR)

   The first two of these are real-time services, so that rtVBR is new
   to TM/UNI 4.0.  The ABR service is also new to TM/UNI 4.0.  UBR
   exists in all specifications, although it is called "best effort" in
   UNI 3.x.  In either case it is indicated by the "best effort"
   indication flag (and the QoS Class set to 0).

   The Service Category in TM/UNI 4.0 is encoded into the same signalled
   Information Element (IE) as the Bearer Capability in UNI 3.x, for the
   purpose of backward compatibilty.  Thus, we use the convention of
   referring to Service Category (CBR, rtVBR, nrtVBR, UBR, ABR) for
   TM/UNI 4.0 (where the bearer capability is implicit).  When we refer
   to the Bearer Capability explicitly (BCOB-A, BCOB-C, BCOB-X), we are
   describing a UNI 3.x signalling message.

   In principle, it is possible to support any service through the use
   of BCOB-A/CBR.  This is because the CBR service is equivalent to
   having a "pipe" of a specified bandwidth.  However, it may be
   significantly more efficient to use the other ATM services where
   applicable and available [17].

   2.1.1 Service Categories for Guaranteed Service

   There are two possible mappings for GS:

       CBR (BCOB-A)
       rtVBR

   GS requires real-time support.

   Real-time support is REQUIRED for GS.  Thus in UNI 3.x, the bearer class Bearer
   Class BCOB-A (or an equivalent BCOB-X formulation) must MUST be used.  In
   TM/UNI 4.0 either CBR or rtVBR is appropriate.  The use of rtVBR may
   encourage recovery of allocated bandwidth left unused by a source.
   It also accommodates more bursty sources with a larger token bucket
   burst parameter, and permits the use of tagging for excess traffic
   (see Section 2.2).

   Neither the BCOB-C bearer class, Bearer Class, nor nrtVBR, UBR, ABR are good
   matches for the GS service.  These provide no delay estimates and
   cannot guarantee consistently low delay for every packet.

   Specification of BCOB-A or CBR requires REQUIRES specification of a peak cell
   rate (PCR).  In these cases, PCR is the nominal clearing rate with a
   nominal jitter toleration (bucket size), CDVT.

   Specification of rtVBR requires REQUIRES two rates, PCR and SCR.  This models
   bursty traffic with specified peak and sustainable rates.  The
   corresponding ATM token bucket depth values are CDVT, and CDVT+BT,
   respectively.

   2.1.2 Service Categories for Controlled Load

   There are three possible good mappings for CLS:

       CBR (BCOB-A)
       ABR
       nrtVBR (BCOB-C)
       ABR

   Note that under UNI 3.x, there are equivalent services to CBR and
   nrtVBR, but not ABR.  The first, with a CBR/BCOB-A connection,
   provides a higher level of QoS than is necessary, but it may be
   convenient to simply allocate a fixed-rate "pipe", which we expect to
   be ubiquitously supported in ATM networks.  However unless this is
   the only choice available, it would probably be wasteful of network
   resources.

   The nrtVBR/BCOB-C category is perhaps the best match, since it
   provides for allocation of bandwidth and buffers with an additional
   peak rate indication, similar to the CLS TSpec.  Excess traffic can
   be handled by CLP bit tagging with VBR.

   The ABR category with a positive MCR aligns with the CLS idea of
   "best effort with a floor."  The ATM network agrees to forward cells
   with a rate of at least MCR, which should MUST be directly converted from
   the token bucket rate of the receiver TSpec.  The bucket size
   parameter measures approximately the amount of buffer required necessary at
   the IWF.  This buffer serves to absorb the bursts allowed by the
   token bucket, since they cannot be passed directly into an ABR VC.

   The rtVBR category can be used, although the edge device must MUST then
   determine values for CTD and CDV.  Since there are no corresponding
   IP-level parameters, their values are set as a matter of local
   policy.

   The UBR category does not provide enough capability for Controlled
   Load.  The point of CLS is to allow an allocation of resources.  This
   is facilitated by the token bucket traffic descriptor, which is
   unavailable with UBR.

   2.1.3 Service Categories for Best Effort

   All of the service categories have the capability to carry Best
   Effort service, but the natural service category is UBR (or, in UNI
   3.x, BCOB-C or BCOB-X, with the best effort indication set).  CBR or
   rtVBR clearly could be used, and since the service is not real-time,
   a nrtVBR connection could also be used.  In these cases the rate
   parameter used reflects a bandwidth allocation in support of the
   ingress edge device's best effort connectivity to the egress edge
   router.  It would be normal for traffic from many source/destination
   pairs to be aggregated on this connection; indeed, since Best Effort
   is the default IP behavior, the individual flows are not normally
   identified or accounted for.  CBR may be a preferred solution in the
   case where best effort traffic is sufficiently highly aggregated that
   a simple fixed-rate pipe is efficient.  Both CBR and nrt-VBR provide
   explicit bandwidth allocation which may be useful for billing
   purposes.  In the case of UBR, the network operator SHOULD allocate
   bandwidth for the overall service through the admission control
   function, although such allocation is not done explicitly per VC.

   An ABR connection could similarly be used to support Best Effort
   traffic.  Indeed, the support of data communications protocols such
   as TCP/IP is the explicit purpose for which ABR was designed.  It is
   conceivable that a separate ABR connection would be made for each IP
   flow, although the normal case would probably have all IP Best Effort
   traffic with a common egress router sharing a single ABR connection.

   The rt-VBR service category may be considered less suitable, simply
   because both the real-time delay constraint and the use of SCR/BT add
   unnecessary complexity.

   See specifications from the IETF ion working group [10, 11] for
   related work on support of Best Effort service with ATM.

2.2 Cell Loss Priority Bit, Tagging and Conformance Definitions

   Each ATM cell header carries a Cell Loss Priority (CLP) bit.  Cells
   with CLP=1 are said to be "tagged" or "marked" and have lower
   priority.  This tagging may be done by the source, to indicate
   relative priority within the VC, or by a switch, to indicate traffic
   in violation of policing parameters.  Options involving the use of
   tagging are decided at call setup time.

   A Conformance Definition is a rule that determines whether a cell is
   conforming to the traffic descriptor of the VC.  The conformance
   definition is given in terms of a Generic Cell Rate Algorithm (GCRA),
   also known as a "leaky bucket" algorithm, for CBR and VBR services.
   (UBR and ABR have network implementation-specific
   The conformance
   definitions.  Note, definition also specifies rules for tagging traffic
   in excess of the {SCR, MBS} GCRA traffic descriptor.  (Note, the term
   "compliance" in ATM is used to describe the behavior of a connection,
   as opposed to "conformance", which applies to a single cell.)

   The network may tag cells that are non-conforming, rather than
   dropping them if the VC set-up requests tagging and the network
   supports the tagging option.  When tagging is used and congestion
   occurs, a switch must MUST attempt to discard tagged cells in preference
   to discarding CLP=0 cells.  However, the mechanism for doing this is
   completely implementation specific.  The behavior that best meets the
   requirements of IP Integrated Services is where tagged cells are
   treated as "best effort" in the sense that they are transported when
   bandwidth is available, queued when buffers are available, and
   dropped when resources are overcommitted.  ATM standards, however, do
   not explicitly specify treatment of tagged traffic.  Providers of GS
   and CLS service with ATM subnetworks should SHOULD ascertain the actual
   behavior of ATM implementation with respect to tagged cells.

   Since GS and CLS services require REQUIRE excess traffic to be treated as
   best effort, the tagging option should SHOULD always be chosen (if
   supported) in the VC setup as a means of "downgrading" the cells
   comprising non-conformant packets.  The term "best effort" can be
   interpreted in two ways.  The first is as a service class that, for
   example, may be implemented as a separate queue.  The other sense is
   more generic, meaning that the network makes a best effort to
   transport the traffic.  A reasonable interpretation of this is that a
   network with no contending traffic would transport the packet, while
   a very congested network would drop the packet.  A mechanism that
   tags best effort packets with lower loss priority (such as with the
   ATM CLP bit) would drop some of these packets, but would not reorder
   the remaining ones with respect to the conforming portion of the
   flow.  The "best effort" mechanism for excess traffic does not
   necessarily have to be the same as that for best effort "service", as
   long as it fits this generic sense of best effort.

   There are three conformance definitions of VBR service (for both
   rtVBR and nrtVBR) to consider.  In VBR, only the conformance
   definition VBR.3 supports tagging and applies the GCRA with rate PCR
   to the aggregate CLP=0+1 cells, and another GCRA with rate SCR to the
   CLP=0 cells.  This conformance definition should SHOULD always be used with
   a VBR service supporting IP integrated services.  For UBR service,
   conformance definition UBR.2 supports the use of tagging, but a CLP=1
   cell does not imply non-conformance; rather, it may be used by the
   network to indicate network congestion.

   In TM/UNI 4.0 tagging does is not apply to the CBR or ABR services.
   More precisely, a feature of the conformance definitions listed in TM 4.0
   for the CBR
   and or ABR do not use tagging.  Since service categories.  (Since conformance
   definitions are generally network specific, it may be possible that some implementations of CBR
   or ABR with may, in fact, use tagging can exist. in some way.)  Wherever an ATM
   network does support tagging, in the sense of transporting CLP=1
   cells on a "best effort" basis, it is a useful and preferable
   mechanism for handling excess traffic.

   It is always better for the IWF to tag cells when it can anticipate
   that the ATM network would do so.  This is because the IWF knows the
   IP packet boundaries and can tag all of the cells corresponding to a
   packet.  If left to the ATM layer UPC, the network would inevitably
   drop some of the cells of a packet while carrying others, which would
   then be dropped by the receiver.  Therefore, the IWF, knowing the VC
   GCRA parameters, should SHOULD always anticipate the cells which will be
   tagged by the ATM UPC and tag all of the cells uniformly across each
   affected packet.  See Section 3.2 for further discussion of excess
   traffic.

2.3 ATM Adaptation Layer

   The AAL type 5 encoding must SHOULD be used, as specified in RFC 1483 and
   RFC 1755. AAL5 requires  AAL-5 REQUIRES specification of the maximum SDU size in
   both the forward and reverse directions.  Both GS and CLS specify a
   maximum packet size size, M, as part of the TSpec and this value shall SHOULD be
   used (corrected for AAL headers) as the maximum SDU in each direction
   for unicast connections, and for unidirectional point-to-multipoint
   connections.  When multiple flows are aggregated into a single VC,
   the M parameters of the receiver TSpecs are merged according to rules
   given in the GS and CLS specs.

2.4 Broadband Low Layer Information

   The B-LLI Information Element is transferred transparently by the ATM
   network between the edge devices and is used to specify the
   encapsulation method.  Multiple B-LLI IEs may be sent as part of
   negotiation.  The default encapsulation LLC/SNAP encapsulation [18] must SHOULD be supported as specified in
   the default, but "null" or "VC encapsulation" MAY also be allowed.
   Implementations SHOULD follow RFC 1577 [19] and RFC 1755 [10].  See RFC
   1755 [10] for information on additional encapsulations.
   BLLI usage.

2.5 Traffic Descriptors

   The ATM traffic descriptor always contains a peak cell rate (PCR)
   (for each direction).  For variable rate VBR services it also contains a
   sustainable cell rate (SCR) and maximum burst size (MBS).  The SCR
   and MBS form a leaky bucket pair (rate, depth), while the bucket
   depth parameter for PCR is CDVT.  Note that CDVT is not signalled
   explicitly, but is determined by the network operator, and serves can be
   viewed as a measure of the jitter imposed by the network.

   Since CDVT is generally presumed to be small (equivalent to a few
   cells of token bucket depth), and cannot be set independently for
   each connection, it cannot be used to account for the burstiness
   permitted by b of the IP-layer TSpec.  Additional buffering is may be
   needed at the IWF to account for the depth of the token bucket.

   The ATM Burst Tolerance (BT) is equivalent to MBS (see TM 4.0 [6] for
   the exact equation).  They are both expressions of the bucket depth
   parameter that goes associated with SCR.  The units of BT is are time while the
   units of MBS is are cells.  Since both SCR and MBS are signalled, they
   can be computed directly from the IP layer traffic description.  The
   specific manner in which resources are allocated from the traffic
   description is implementation specific.  Note that when translating
   the traffic parameters, the segmentation overhead and minimum policed
   unit need to be taken into account (see Section 4.1 below).

   In ATM UNI Signalling 4.0 there are the notions of Alternative
   Traffic Descriptors and Minimal Traffic Descriptors.  Alternative
   Traffic Descriptors enumerate other acceptable choices for traffic
   descriptors and are not considered here.  Minimal Traffic Descriptors
   are used in "negotiation," which refers to the specific way in which
   an ATM connection is set up.  To illustrate, roughly, taking PCR as
   an example: A minimal PCR and a requested PCR are signalled, the
   requested PCR being the usual item signalled, and the minimal PCR
   being the absolute minimum that the source edge device will accept.
   When sensing the existence of both minimal and requested parameters, parameters are present, the
   intermediate switches along the path may reduce the requested PCR to
   a "comfortable" level.  This choice is part of admission control, and
   is therefore implementation dependent. specific.  If at any point the requested
   PCR falls below the minimal PCR then the call is cleared.  Minimal
   Traffic Descriptors can be used to present an acceptable range for
   parameters and ensure a higher likelihood of call admission.  In
   general, our discussion of connection parameters assumes the values
   resulting from successful connection setup.

   The Best Effort indicator (used only with UBR) and Tagging indicators
   (see Section 2.2) are also part of the signalled information element
   (IE) containing the traffic descriptor.  In the UNI 4.0 traffic
   descriptor IE there is an additional parameter, the Frame Discard
   indicator, which is discussed below in Section 2.7.

   2.5.1 Translating Traffic Descriptors for Guaranteed Service

   For Guaranteed Service the source TSpec contains peak rate, rate and
   and bucket depth parameters, p_s, r_s, b_s.  The receiver TSpec
   contains corresponding parameters p_r, r_r, b_r.  The (receiver)
   RSpec also has a rate, R.  The two different TSpec rates are intended
   to support receiver heterogeneity, in the sense that receivers can
   accept different rates representing different subsets of the sender's
   traffic.  Whenever rates from different receivers differ, the values
   will
   MUST always be merged appropriately before being mapping into ATM
   parameters.

   Note that when the sender and receiver TSpec rates r_s, r_r differ,
   there is no mechanism specified (in either rsvp or the int-serv
   specs) for indicating which subset of the traffic is to be
   transported.  Implementation of this feature is therefore completely
   network specific.  Hence the ambiguity in how  The policing and scheduling
   use mechanisms may simply
   be parameterized with the two rates is an inherent and currently unresolved issue (lower) receiver rate, resulting in
   IP-IS technology. the
   random loss of traffic sufficient to make up the difference in rates.

   The receiver TSpec rate describes the traffic for which resources are
   to be reserved, and may be used for policing, while the RSpec rate
   (which cannot be smaller) is used (perhaps in an implementation
   specific way) to modify the allocated service bandwidth (or
   strictly speaking, a lower bound on this).  A receiver increases R
   over r_r in order to
   reduce the delay.

   When mapping Guaranteed Service onto a rtVBR VC, the ATM traffic
   descriptor parameters (PCR, SCR, MBS) can often be set cannonically as:

                                PCR = p_r
                                SCR = R
                                MBS = b_r.

   There are a number of conditions that may lead to different choices.
   The following discussion is not intended so much to set hard requirements,
   but to provide some interpretation and guidance on the bounds of
   possible parameter mappings.  The ingress edge device generally
   includes a buffer preceding the ATM network interface.  This buffer
   can be used to absorb bursts that fall within the IP-
   level IP-level TSpec, but
   not within the ATM traffic descriptor.  The minimal
   requirement REQUIREMENT for
   guaranteed service is that the delay in this buffer
   may not MUST NOT exceed
   b/R, and the delays within the ATM network must MUST be accurately
   accounted for in the values of Adspec parameters C and D advertised
   by the ingress router (see Section 3.3 below).

   In general, if

   If either an edge device buffer of size b_r exists or the ATM maximum
   burst size (MBS) parameter is at least b_r, then the various rate
   parameters will generally exhibit the following relationship:

                     r_r <= SCR <= R <= PCR <= APB <= line rate

                     r_r <=       p_r       <= APB

   APB refers to the General Characterization Parameter,
   AVAILABLE_PATH_BANDWIDTH, which is negotiated in the Adspec portion
   of the PATH message.  APB reflects the narrowest bottleneck rate
   along the path, and so is always bounded by no larger than the local line rate.
   The receiver must SHOULD choose a peak rate no greater than APB for the
   reservation to be accepted, although the source peak rate, p_s, could
   be higher, as the source does not know the value of APB.  There is no
   advantage to allocating any rate above APB of course, so it is an
   upper bound for all the other parameters.

   We might normally expect to find R <= p_r, as would be necessary for
   the simple mapping of PCR = p_r, SCR = R given above.  However, a
   receiver is free to choose R > p_r to lower the GS delay [8].  In
   this case, PCR cannot be set below R, because a burst of size b
   arriving into the buffer must MUST be cleared at rate R to keep the first
   component of GS delay down to b/R.  So here we will have PCR = R.  It
   may seem that PCR = p_r would be sufficient to avoid buffer overflow,
   since data is generated at the source at a rate bounded by p_r.
   However, setting PCR < R, can result in the delay bound advertised by
   C and D not being met.  Also, traffic is always subject to jitter in
   the network, and the arrival rate at a network element can exceed p_r
   for short periods of time.

   In the case R <= p_r, we may still choose PCR such that R <= PCR <
   p_r.  The edge device buffer is then necessary (and sufficient) to
   absorb the bursts (limited to size b_r) b_r + C_sum + R D_sum) which
   arrive faster than they depart.  For example, it may be the case that
   the cost of the ATM VC depends on PCR, while the cost of the Internet
   service reservation is not strongly dependent on the IP-level peak
   rate.  The user may the then have an incentive to set p_r to APB, while
   the operator of the IP/ATM edge router has an incentive to reduce PCR
   as much as possible.  This may be a realistic concern, since the
   charging models of IP and ATM are historically different as far as
   usage sensitivity, and the value of p_r, if set close to APB, could
   be many times the nominal GS allocated rate of R.  Thus, we can set
   PCR to R, with a buffer of size b, b_r + C_sum + R D_sum, with no loss
   of traffic, and no violation of the GS delay bound.

   A more subtle, and perhaps controversial case is where we set SCR to
   a value below R.  The major feature of the GS service is to allow a
   receiver to specify the allocated rate R to be larger than the rate
   r_r sufficient to transport the traffic, in order to lower the
   queueing delay (roughly) from b/r + C_TOT/r + D_TOT to b/R + C_TOT/R
   + D_TOT.  To effectively allocate bandwidth R to the flow, we set SCR
   to match R.  (Note it is unnecessary in any case to set SCR above R,
   so the relation, SCR <= R, is still true.)  It is possible to set SCR
   to a value as low as r_r, without violating the delay bounds or
   overflowing the edge device buffer.  With PCR = R, a burst of size b
   will be buffered and sent into the ATM network at rate R, so the last
   byte suffers delay only b/R.  Any further traffic will be limited to
   rate r_r, which is SCR, so with the arriving and departing rates
   matched, its delay will also be no more than b/R.

   While this scenario meets the GS service requirements, the penalty
   for allocating SCR = r_r rather than R is that the delay in the ATM
   network will have a component of MBS/SCR, which will be b/r rather
   than b/R, contained in the D term advertised for the ATM sub-network
   (see further discussion in Section 3.3 below).  It is also true that
   allocating r instead of R in a portion of the path is rather against
   the spirit of GS.  As mentioned above, this mapping may however be
   useful in practice in the case where pricing in the ATM network leads
   to different incentives in the tradeoff between delay and bandwidth
   than those of the user who buys IP integrated services.

   Another point of view on parameter mapping suggests that SCR should may
   merely reflect the traffic description, hence SCR = r_r, while the
   service requirement is expressed in the QoS parameter as CDV = b/R.
   Thus the ATM network may internally allocate bandwidth R, but it is
   free to use other methods as well to achieve the delay constraint.
   Mechanisms such as statistical flow/connection aggregation may be
   implemented in the ATM network and hidden from the user (or parameter
   mapping module in the edge router) which sees only the interface
   implemented in the signalled parameters.

   Note that this discussion considers an edge device buffer size of
   b_r.  In practice, it may be necessary for the AAL/segmentation
   module to buffer M bytes in converting packets to cells.  Also an
   additional amount of buffer equal to C_sum + R D_sum is generally
   necessary to absorb jitter imposed by the upstream network [8].

   With ATM, it is possible to have little or no buffer in the edge
   router, because the ATM VC can be set to accept bursts at peak rate.
   This may be unusual, since the edge router normally has enough buffer
   to absorb bursts according to the TSpec token bucket parameters.  We
   consider two cases.  First, if PCR >= p_r, then MBS can be set to b_r
   and no buffering is necessary to absorb normal non-excessive bursts.  The
   extra buffering needed to absorb jitter can also be transferred to
   MBS.  This effectively moves the buffering across the UNI into the
   ATM network.

   For completeness, we consider an edge router with no burst-absorbing
   buffers and an MBS parameter of approximately zero.  In this case it
   is sufficient to set the rate parameters to PCR = SCR = max (R, p_r).
   This amounts to peak-rate allocation of bandwidth, which will not
   usually be very cost effective.  One reason for mentioning this  This case
   might may be that relevant where the
   IP routers and ATM switches differ so substantially in their buffering designs that
   designs.  IP-level users may typically specify much larger burst
   parameters than can be handled in the ATM subnet.  Peak-rate
   bandwidth allocation provides a means to work around this problem.
   It is also true that intermediate tradeoffs can be formulated, where
   the burst-absorbing buffer is less than b bytes, and SCR is set above
   R and below p_r.  Note that jitter-absorbing buffers (C_sum + R
   D_sum) can not be avoided, generally, by increasing ATM rates, unless
   SCR is set to exceed the physical line rate(s) into the edge device
   for the flow.

   For GS over CBR, the value of PCR may be mapped to the RSpec rate R,
   if the edge device has a buffer of size b_r. b_r + C_sum + R D_sum.  With
   little or no burst buffering, the requirements resemble the zero-buffer zero-
   buffer case above, and we have PCR = max (R, p_r).  Additional
   buffers sufficient to absorb network jitter, given by C_sum, D_sum, must
   MUST always be provided in the edge router, or in the ATM network via
   MBS.

   2.5.2 Translating Traffic Descriptors for Controlled Load Service

   The Controlled Load service TSpec has a peak rate, p, a "token
   bucket" rate, r, and a corresponding token bucket depth parameter, b.
   The receiver TSpec values are used to determine resource allocation,
   and a simple mapping for the nrtVBR service category is given by,

                                PCR = p_r
                                SCR = r_r
                                MBS = b_r.

   The discussions in the preceding section on using edge device buffers
   to reduce PCR, increasing buffers to reduce PCR and trading off
   between such buffers and MBS, and/or MBS apply generally to the CLS over nrtVBR case
   as well.  Extra buffers to accommodate jitter accumulated (beyond the
   b_r burst size allowed at the source) must MUST be provided.  For CLS,
   there are no Adspec parameters C and D, so the estimation dimensioning of such
   buffers is an implementation design issue.

   For ABR VCs, the TSpec rate r_r is used to set the minimum cell rate
   (MCR) parameter.  Since there is no corresponding signalled bucket
   depth parameter, the edge device must SHOULD have a buffer of at least b_r
   bytes.  Since
   bytes, plus additional buffers to absorb jitter.  With ABR, the ATM
   network can quickly throttle the actual transfer rate can vary substantially with
   ABR, the buffering should not be made so large that the, in an
   attempt down to avoid loss, MCR, so
   a source transmitting above that delays exceed higher-layer timeouts,
   e.g., TCP retransmission.

   For CBR, the TSpec rate r_r sets a lower can experience high loss at the
   ingress edge device when the ATM network becomes congested.

   For CBR, the TSpec rate r_r sets a lower bound on PCR, and again, the
   available buffering in the edge device must SHOULD be adequate to
   accommodate possible bursts of b_r.

   The requirement REQUIREMENT for CLS that network delays approximate "best-effort
   service under unloaded conditions", is interpreted here to mean that
   an allocation of (at least) r_r, resulting in
   it would be sufficient to allocate bandwidth resources so that the
   last byte of a burst of size b_r having sees a delay approximately b_r/r_r, is sufficient.
   A b_r/r_r.
   For example, a network element e.g., with no cross-traffic, a work
   conserving
   scheduling scheduler and an output link rate of r_L r_L, might provide
   delays in the range from M/r_L to b_r/r_L, which may be that are much better. lower than
   b_r/r_r.  While the access to the full link bandwidth (r_L), as
   reflected in this example, is a more literal interpretation of delay
   "under unloaded conditions" for a shared link, an ATM VC may only
   have access to bandwidth equal to its nominal allocation (some
   implementation specific function of SCR and PCR).

   2.5.3 Translating Traffic Descriptors for Best Effort Service

   For Best Effort service, there is no traffic description.  The UBR
   service category allows negotiation of PCR, PCR simply to allow the source
   to discover the smallest physical bottleneck along the path.
   (The  The
   ingress edge router should may set PCR to the ATM line rate, and may
   wish to make use of the returned value then when
   the VC setup is set up.) complete, the returned value indicates an upper bound
   on throughput.  For UBR service, resources may be allocated for the
   overall service (i.e., not per-VC) using the (implementation
   specific) admission control features of the ATM switches.

   Often a service provider will want to statically configure large VCs with a
   certain bandwidth allocation to handle all best effort traffic
   between two edge routers.  ABR, CBR or nrtVBR VCs are appropriate for
   this design, with traffic parameters set to comfortably accommodate
   the expected traffic load.  See IETF ION specifications for IP over
   ATM signalling [10,11].

2.6 QoS Classes and Parameters

   In UNI 3.x the quality of service is indicated by a single parameter
   called "QoS Class," which is essentially an index to a network
   specific table of values for the actual QoS parameters.  In TM/UNI
   4.0 three QoS parameters may be individually signalled, and the
   signalled values override those implied by the QoS Class, which is
   still present.  These parameters are the Cell Loss Ratio (CLR), Cell
   Transfer Delay (CTD), and Cell Delay Variation (CDV) [6].

   A network provider may choose to associate other parameters, such as
   Severely Errored Cell Block Ratio, with a QoS Class definition, but
   these cannot be signalled individually.  The ATM Forum UNI 3.0, 3.1
   and TM 4.0 specs, following prior ITU specs, give vague qualitative
   definitions for QoS Classes 1 to 4.  (QoS Class 0 is well-defined as
   "no QoS parameters defined".)  Since our mapping is based on these
   specifications, we generally follow this guidance by setting the QoS
   Class value to 0 for UBR and ABR (as required), REQUIRED), 1 for CBR and rtVBR
   and 3 for nrtVBR.  Note that the QoS Class follows the ATM service
   category, and not the IP service, to avoid combination that are
   unlikely to be supported.  For example, if only nrtVBR is available
   for GS, then choosing QoS Class = 1 would probably result in
   connection failure, rather than failure.  The QoS Class MUST NOT be interpreted as a way
   to add real-time behavior to an inherently non-real-time service.

   The ITU has recently included a standard set of parameter values for a (small)
   number of QoS Classes in the latest version of Recommendation I.356, October 1996. I.356
   [20].  Network providers may choose to define further network-specific network-
   specific QoS Classes in addition to these.  Note that the QoS class
   definitions in the new I.356 version may might not align with the model
   we follow from the ATM Forum UNI specs.  Apart from these
   definitions, the problem of there is no consistent agreement between network providers as to
   the definition of on QoS Classes has not, to our knowledge, been
   addressed. Class
   definitions among providers in practice.

   The ATM QoS parameters have no explicitly signalled IP layer
   counterparts.  The values that should be are signalled in the ATM network are
   determined by knowledge of certain network characteristics and the IP service definitions. definitions and knowledge of the
   underlying ATM network characteristics, as explained below.

   The ingress edge router must SHOULD keep a table of QoS information for
   the set of egress routers that it may establish VCs with.  This table
   may be simplified by using default values, but it will probably be
   good
   network practice to maintain a table of current data for the most
   popular egress points.  An ATM network edge device that initiates VC setup
   generally needs to have some way to propose initial value for CDV and
   CTD, even if they are changed by negotiation; so by positing such a
   table, we are not creating any new design burden.  Cached information
   can be updated when VCs are successfully established, and to the
   extent that IP-layer reservations can wait for VCs to complete, the
   values can be refined through iterated negotiation.  In general the construction of this
   table is implementation specific.

   Both GS and CLS require REQUIRE that losses of packets due to congestion
   should be
   minimized, so that the loss rate is approximately the same as for an
   unloaded network.  The characteristic loss behavior of the
   link-layer physical
   medium not due to congestion (e.g., bit errors or fading on wireless
   channels) determines the order of the permitted packet loss rate.
   The ingress edge device will MUST choose a value of CLR that provides the
   appropriate IP-level packet loss rate.  The CLR value may be uniform
   over all egress points in the ATM network, or may differ, e.g., when
   wireless or satellite ATM links are in the path. some paths.  The determination
   of CLR should MUST account for the effects of packet size distribution and
   ATM Frame Discard mode (which can change the effective packet loss
   rate by orders of magnitude, given the same
   underlying cell loss rate [20]). magnitude [21]).

   The ingress router will also tabulate values for the Minimum Path
   Latency (MPL) and estimated queueing delays (D_ATM) for each egress
   point.  The latter will be used as part of the Adspec "D" parameter
   for GS, but its use here applies to CLS as well.  MPL represents well (when the VC setup
   includes delay parameters).  MPL represents all
   non-congestion related constant (non-
   congestion related) delays, including propagation delay.  D_ATM
   accounts for the variable component of delays in the ATM network.
   (It may depend on non-signalled parameters such as CDVT, etc.) Hence, when CDVT.)  Given
   these quantities, a new VC is can be set up, the up with delay-related QoS
   parameters are given by
                                CDV = D_ATM
                                CTD = D_ATM + MPL.

   (CDV and CTD may be increased adjusted (increased) by the slack term in GS, see
   Section 3.3 below.)  For rtVBR, the value of CDV will generally have a
   component of MBS/SCR analogous to the b/R term in the delay of GS
   service.  It may have other components that depend on the ATM switch
   implementation.  In cases where the ATM network uses statistical
   resource allocation methods, it may be possible to establish VCs with
   CDV less than MBS/SCR.  This capability should be reflected in the
   D_ATM values advertised in GS and used to determine CDV in for VCs
   supporting both GS and CLS.

   It is interesting (and perhaps unfortunate) to note that in a typical
   GS/rtVBR service, the delay bound advertised can contain two
   components of b/R instead of one.  Consider the simple case where SCR
   = R is the rate allocated to the flow in both IP routers and ATM
   switches along the path, and the buffer allocation is MBS = b.
   Parekh's theory, theory [22], which is the basis of the GS delay formula [8]
   states that the b/R delay term occurs only once, because once a burst
   of size b has been served by a congested node at rate R, the packets
   will not arrive at a subsequent node as a single burst.  However, we
   can't tell a priori if this bottleneck will occur in the ATM network
   or elsewhere in the IP network, so the declaration of CDV
   must SHOULD
   account for it. it (i.e., CDV >= b/R).  Once CDV is set, the ATM network
   can impose
   that delay. this delay, whether or not the traffic arrives in a burst.
   Since the delay b/R can also occur elsewhere, it cannot be removed
   from the first term of the GS delay formula.  The ATM b/R delay
   component appears in the third term, term of the GS delay formula, D_tot.
   See Section 3.3 below for more on GS Adspec parameters.  This effect
   may be
   unapparent mitigated when the ATM network employs more efficient
   statistical resource allocation schemes.

2.7 Additional Parameters -- Frame Discard Mode

   TM/UNI 4.0 allows the user to choose a mode where the ATM network is
   aware, for the purpose of congestion management, of PDUs larger than
   an ATM cell (i.e., AAL PDUs that correspond in our context to IP
   packets).  This facilitates implementation of algorithms such as
   partial packet discard, where a dropped cell causes subsequent cells
   in the AAL5 same AAL-5 PDU to be dropped as well.  Several other
   applicable buffer management schemes have been proposed [20, 21]. [21, 23].

   Frame discard can improve the efficiency and the performance of end-to-
   end protocols such as TCP, since the remaining cells of a damaged PDU
   are generally useless to the receiver.  For IP over ATM, Frame
   Discard should MUST always be indicated, if available.

3.0 Additional IP-Integrated Services Protocol Features

3.1 Path Characterization Parameters for IP Integrated Services with ATM

   This section discusses the setting of General Characterization
   Parameters (GCPs) at an ATM egress edge router.  GCPs are signalled
   from IP source to IP destination, and modified by intermediate nodes
   using the Adspec portion of PATH messages in rsvp.  The GS-specific
   Adspec parameters are discussed below in Section 3.3.  These
   parameters are denoted as <x,y> where x is the service and y is the
   parameter number.  Service number 1 indicates default or general
   parameter values.  Please refer to [22] [24] for definitions and details.

   The IS break bit <1,2> should, MUST, of course, be left alone by
   implementations following these guidelines (as they are presumably
   IS-aware).  Similarly, the router should MUST always increment IS_HOPS
   <1,4>.  The GS and CLS service-specific break bits, <2,2> and <5,2>
   respectively, should MUST be set if the support of the service is
   inadequate.  In general GS is adequately supported by CBR (BCOB-A)
   and rtVBR service categories, and not adequately supported by UBR,
   ABR and nrtVBR because delays are not controlled.  CLS may be
   adequately supported by all service categories except UBR (or Best
   Effort in UNI 3.x).  See Sections 5, 6 for further discussion.

   For GS, the ATM network must MUST meet the delay performance advertised
   through the Adspec parameters, MPL, C, and D.  If it cannot
   predictably meet these requirements, the GS break bit should MUST be set.
   Similarly both break bits should MUST be set if reservations are honored,
   but sufficient resources to avoid congestion loss are not allocated
   in practice.  If the service break bits are not set, then the
   corresponding service hop counters, <2,4>, <5,4>, should MUST be
   incremented.

   The Available Path Bandwidth (APB) parameters <x,6> indicate the
   minimum physical bottleneck rate along the path.  This may be
   discoverable in an ATM network as the negotiated PCR value for a any
   UBR VC along the same path.  This value should MUST be corrected for AAL,
   ATM and physical-layer headers, as necessary, to reflect the
   effective IP datagram bandwidth.  With ATM, it is possible that there
   is some policy limitation on the value of PCR, below the physical
   link bottleneck.  In this case, the advertised value of APB (in general
   general, and for each service if different) should the values of APB signalled are
   service specific) MUST reflect this limit, since excess traffic
   beyond this rate will be dropped.  (Note that there is no tagging of
   traffic in excess of PCR for TM/UNI 4.0.)  These values
   should SHOULD
   generally be cached by the ingress router for the set of egress
   routers that with which it typically needs to establish VCs to. VCs.  The
   Adspec APB
   parameters <x,6> are only adjusted down, to reflect the minimum as the
   composed value.

   In the case of a multipoint VC, several parameters can be different
   for each egress point.  In point, e.g., because the characteristics of the
   physical links of the VC branches differ.  When this case, occurs, the IWF
   at the egress routers
   must MUST correct these values in PATH messages as
   they exit the ATM network.  (We use the word "correct" because the
   ingress router SHOULD set the parameters to a value that is
   appropriate for the largest number of branches, or a value that would
   do the least harm if the egress routers failed to correct such
   parameters for each branch.)  This is the only case where the egress
   router needs to operate on rsvp control messages.  (A similar
   correction must MUST be implemented for any non-rsvp set-up mechanism).
   The parameters that
   require for which such correction is REQUIRED are specifically the
   Available Path Bandwidth (APB), the Minimum Path Latency (MPL), the
   Path MTU (although for
   ATM/AAL5 ATM/AAL-5 this may typically be constant), and
   the ATM-specific components of the GS Adspec parameters C_ATM and
   D_ATM.

   The ingress router table must SHOULD store values for the ATM-network MPL
   <x,7> for the various egress points.  The composed values <x,8> are
   formed by addition and forwarded along the path.  In the cases where
   ATM routing chooses different paths paths, depending on the service
   category, for VCs to a given egress point,
   depending on the service category, the table will generally
   reflect different values for each service.  If the ATM network is
   very large and complex, it may become difficult to predict the routes
   that VCs will take once they are set up.  This could be a significant
   source of misconfiguration, resulting in discrepancies between GS
   delay advertisements and actual results.  The RSpec Slack term may be
   useful in mitigating this problem.

   AAL 5

   AAL-5 will support any message size up to 65,535 bytes, so setting
   the AAL SDU to the receiver TSpec M parameter value should (plus 8 bytes for
   the LLC/SNAP header) will generally not be a an issue.  In the PATH
   Adspec, however, the PATH_MTU parameter <x,10> for each service should
   SHOULD be set to 9180 9188 bytes, which is the default MTU for AAL 5. AAL-5 [19].

3.2 Handling of Excess Traffic

   CLS requires REQUIRES and GS recommends RECOMMENDS that network elements transport
   traffic in excess of the TSpec parameters whenever physical resources
   (bandwidth, buffers and processing) are available.  While excess
   traffic should SHOULD be supported on a best effort basis, it should not MUST NOT
   interfere with the QoS (delay and loss) of conforming CLS and GS
   traffic, nor with normal service of non-reserved best effort traffic.

   There are several solutions with ATM: the most attractive is to use a
   VBR service category (with an appropriate conformance definition) and
   tag excess traffic as low priority using the CLP bit.  This avoids
   reordering of the flow, but requires care in the necessitates careful design of the egress
   router scheduler.  To avoid reordering, the excess traffic would can be
   queued with conforming traffic.  A threshold must SHOULD be used to ensure
   that conforming traffic is not unnecessarily delayed by the excess.
   Also, for GS, the extra delay that would be incurred due to excess
   traffic below in the threshold queue ahead of conforming packets would have to be
   accurately reflected in the delay advertisement.  Note that the egress
   ingress router should
   uniformly SHOULD tag all the cells of each non-conforming packet,
   rather than letting the ATM network apply tagging due to ATM-level non-
   conformance.
   non-conformance.

   There is no requirement in ATM standards that tagged cells, marked
   either by the user or by policing, must be transported if possible.
   Therefore, the operator of an edge router supporting IP-IS should SHOULD
   ascertain the actual behavior of the ATM equipment in the path, which
   may span multiple administrative domains in the ATM network.  If
   tagged cells are simply dropped at some point, regardless of load,
   then the operator may consider setting the break bit, at least for
   CLS service.

   The other solutions generally involve a separate VC to carry the
   excess.  A distinct VC can be set up for each VC supporting a GS or
   CLS flow, or, if many flows are aggregated into a single QoS VC, then
   another VC can handle the excess traffic for that set of flows.  A VC
   can be set up to handle all excess traffic from the ingress router to
   the egress point.  Since the QoS of the excess traffic is not
   particularly constrained, the design is quite flexible.  However,
   using a separate VC may cause misordering of packets within a flow.
   The service category for the excess-traffic VC may typically be UBR
   or ABR, although one could use CBR or nrtVBR if the excess traffic
   were predictable enough to know what rate to allocate.  (This
   wouldn't normally be expected for excess traffic, though.)

   Whether a separate VC is used may be influenced by the design of the
   router scheduler.  The CLS spec suggests two possible
   implementations: one where excess traffic shares the Best Effort
   class scheduler allocation, but at lower priority than other best
   effort traffic.  The other other, where a separate allocation is made.  The
   first would allow excess traffic to use the same VC as normal best
   effort traffic, and the second would suggest a separate VC.

   TM/UNI 4.0. does not support tagging of traffic in excess of PCR.
   Although UNI 3.x does have a separate PCR parameter for CLP=0 cells
   only, we do not recommend using this feature for reasons of
   interoperability.
   interoperability with TM/UNI 4.0 equipment.  This restricts CBR VCs
   to use solutions other than tagging.  The value of PCR can be set
   higher than necessary for conformant traffic, in an effort to support
   excess traffic on the same VC.  In some cases this may be a viable
   solution, such as when there is little additional cost imposed for a
   high PCR.  If PCR can be set as high as APB, then the excess traffic
   is fully accommodated.

3.3 Use of Guaranteed Service Adspec Parameters and Slack Term

   The Adspec is used by the Guaranteed Service to allow a receiver to
   calculate the worst-case delay associated with a GS flow.  Three
   quantities, C, D, and MPL, are accumulated (by simple addition of
   components corresponding to each network element) in the PATH message
   from source to receiver.  The resulting delay values can be different
   for each unique receiver.  The maximum delay is then computed as

                  delay <=  b_r/R + C_TOT/R + D_TOT + MPL

   The Minimum Path Latency (MPL) includes propagation delay, while
   b_r/R accounts for bursts due to the source and C and D include other
   queueing, scheduling and serialization delays.  (We neglect the
   effect of maximum packet size and peak rate here; see the GS
   specification [8] for a more detailed equation.)  The service rate
   requested by the receiver, R, can be greater than the TSpec rate,
   r_r, resulting in lower delay.  The burst size, b_r, is the leaky
   bucket parameter from the receiver TSpec.

   The values of C and D that a router advertises depend on both the
   router packet scheduler, scheduler and the characteristics of the subnet
   attached to the router.  Each router (or the source host) takes
   responsibility for its downstream subnet in its advertisement.  For
   example, if the subnet is a simple point-to-point link, the subnet-
   specific parts of C and D need to account for the link transmission
   rate and MTU.  An ATM subnet is generally more complex.

   For this discussion, we consider only the ATM subnet-specific
   components, denoted C_ATM and D_ATM.  The ATM network can be
   represented as a "pure delay" element, where the variable queueing
   delay, given by CVD is captured in D_ATM, and C_ATM = 0. is set to zero.
   It is possible to use C_ATM only when the ATM service rate equals R.
   This may be the case, for example with a CBR VC with PCR = R.
   Usually it will be simpler to just advertise the total delay
   variation (CDV) in D_ATM.

   As discussed in Section 2.6, the edge router keeps a table with
   values of MPL and D_ATM for each egress router it needs to share VCs
   with.  The values value of D_ATM contribute contributes to the D parameter advertised
   by the edge router, and should SHOULD accurately reflect the CDV that the
   router will get in a VC when it is set up.  Factors that affect CDV,
   such as statistical multiplexing in the ATM network, should SHOULD be taken
   into account when compiling data for the router's table.  In case of
   uncertainty, D_ATM can be set to an upper bound.  When a an RESV
   message arrives, causing a VC to be set up, the requested values for
   CTD and CDV can be relaxed using the slack term in the receiver
   RSpec:
           CTD = D_ATM + MPL + S_ATM
           CDV = D_ATM + S_ATM.

   The term S_ATM is the portion of the slack term applied to the ATM
   portion of the path.  Recall that the slack term [8] is positive when
   the receiver can afford more delay than that computed from the
   Adspec.  The ATM edge device may take part (or all) of the slack term
   term, S.  The distribution of delay slack among the nodes and subnets
   is network specific.

   Note that with multipoint VCs the egress edge router may need to
   correct advertised values of C and D.  See discussion in Section 3.1.

4.0 Miscellaneous Items

4.1 Units Conversion

   All rates and token bucket depth parameters that are mapped from IP-
   level parameters to ATM parameters must MUST be corrected for the effects
   of cell headers, AAL added headers and the segmentation of packets into cells.  At the
   IP layer, token bucket depths and rates are measured in bytes and
   bytes/sec, respectively, whereas for ATM, they are measured in cells
   and cells/sec.

   Packets are segmented

   Each IP Packet is wrapped into 53 byte cells of which the first 5 bytes
   are header information.  For

         B = number of Bytes,
         C = an AAL-5 PDU, having a number of cells,

   a rough approximation between the token bucket parameters (rate
   additional header bytes (8 for LLC/SNAP and
   bucket depth) is

         C = B/48.

   This is actually a lower bound on C perhaps others, e.g. 12
   for MPOA, etc.), and does not take an 8-byte AAL-5 trailer.  The AAL-5 PDU is then
   segmented into account
   the extra padding at the end of multiple ATM cells, each having a partially filled cell, or the 8
   byte trailer in the last 5-byte cell of an AAL5 encoding. header
   followed by a 48-byte cell payload.  The actual
   relationship between the number of cells and bytes of one used to
   carry an IP packet is

         C with

         B = 1 + int(B/48) + x,

         where x number of IP-packet Bytes,
         H = 1 if B mod 48 > 41
                   0 otherwise.

   where int() is the rounding down operation.  The third term is  0 or
   1 and is 1 only when the remainder number of B/48 is 41 or more.   (An
   additional cell is needed because the 41 AAL-5 header bytes plus 8 byte trailer
   will not fit in a cell.)

   The above formula is not particularly amenable to engineering
   considerations.  By equating the (LLC/SNAP etc.)
         C = number of bytes before cells,

   is roughly

         C = B/48,
   and after
   segmentation we have

         48 more precisely

         C = floor[(H + B + 8 + A, 47)/48]

   where A floor[] is rounds down to the additional padding used in nearest integer.  The '8'
   accounts for the last 2 cells AAL-5 trailer and has the range 0 <= A <= 47.  From this we obtain a number of  useful
   observations.

   For example, if one believes that the packet lengths are uniformly
   distributed mod 48, then on average, 48 C = B + 8 + 47/2, or C = B/48
   + .65625.

   We can also make use of the upper bound on A to state that 48 C <= B
   + 55.  This is true '47' accounts for any one packet.  Considering the number of
   bytes in a stream of P packets, we have

         48 C <= B + 55 P.

   The number of packets P last
   cell which may not be a readily available quantity.
   However, in terms of the minimum policed unit m, we know that P * m
   <= B.  Hence P <= B/m and 48 C <= B ( 1 + 55/m).  That is,

         C <= B/48 * (1 + 55/m). only partially filled.

5.0 Summary of ATM VC Setup Parameters for Guaranteed Service

   This section describes how to create ATM VCs appropriately matched
   for Guaranteed Service. The key points differentiating among ATM
   choices are that real-time timing is required,
   REQUIRED, that the data flow may have a variable rate, and that
   demotion of non-conforming traffic to best effort is required REQUIRED to be
   in agreement with the definition of GS.  For this reason, we prefer
   an rtVBR service in which tagging is supported.  Another good match
   is to use CBR with special handling of any non-conforming traffic,
   e.g., through another VC, since a CBR VC will not accommodate traffic
   in excess of PCR.

   Note, these encodings assume point to multipoint connections, where
   the backward channel is not used.  If the IP session is unicast only,
   then a point-to-point VC may be used and the IWF may make use of the
   backward channel, provided that the with QoS parameters are mapped
   consistently set appropriately for the
   service provided.

   We provide a mapping for all combinations of IP service and ATM
   service category, and comments indicating whether or not each
   combination meets the requirements of the IP-IS service.

5.1 Encoding GS Using Real-Time VBR (ATM Forum TM/UNI 4.0)

   RtVBR with conformance definition VBR.3 [6] MEETS the requirements of
   GS.

   AAL
     Type                            5
     Forward CPCS-SDU Size           parameter M of receiver rcvr TSpec + 8 Bytes
     Backward CPCS-SDU Size          0          parameter M of rcvr TSpec + 8 Bytes
     SSCS Type                       0 (Null SSCS)

   Traffic Descriptor
     Forward PCR CLP=0+1                                     Note 1
     Backward PCR CLP=0+1            0
     Forward SCR CLP=0                                       Note 1
     Backward SCR CLP=0              0
     Forward MBS (CLP=0)                                     Note 1
     Backward MBS (CLP=0)            0
     BE indicator                    NOT included
     Forward Frame Discard bit       1
     Backward Frame Discard bit      1
     Tagging Forward bit             1 (Tagging requested)
     Tagging Backward bit            1 (Tagging requested)

   Broadband Bearer Capability
     Bearer Class                    16 (BCOB-X)              Note 2
     ATM Transfer Capability         9  (Real time VBR)       Note 3
     Susceptible to Clipping         00 (bit encoding for Not
   susceptible) (Not Susceptible)
     User Plane Configuration        01 (bit encoding for pt-to-mpt) (Point-to-Multipoint)

   Broadband Low Layer Information
     User Information Layer 2
       Protocol                      12 (ISO 8802/2)
     User Information Layer 3
       Protocol                      11 (ISO/IEC TR 9577)    Note 4
      ISO/IEC TR 9577 IPI            204

   QoS Class
     QoS Class Forward               1                       Note 5
     QoS Class Backward              1                       Note 5

   Extended QoS Parameters                                   Note 6
     Acceptable Forward CDV
     Acceptable Forward CLR
     Forward Max CTD

   Note 1:  See discussion in Section 2.5.1.
   Note 2:  Value 3 (BCOB-C) can also be used.
            If Bearer Class C is chosen the ATC field MUST be absent.
   Note 3:  The ATC value 19 is not used.  The value 19 implies that the
            CLR objective applies to the aggregate  CLP=0+1 stream and
            that does not give desirable treatment of excess
            traffic in the case of IP. traffic.
   Note 4:  For QoS VCs supporting GS or CLS, the layer 3 protocol should SHOULD
            be specified.  For BE VCs, it can be left unspecified, allowing
            the VC to be shared by multiple protocols, following RFC 1755.
   Note 5:  Cf ITU I.365 (Oct 1996) Rec. I.356 [20] for new QoS Class definitions.
   Note 6:  See discussion in Section 2.6 for the values to be used. 2.6.

5.2 Encoding GS Using CBR (ATM Forum TM/UNI 4.0)

   It is also possible to support GS using a

   A CBR "pipe." VC MEETS the requirements of GS.  The main advantage of this is
   that CBR is probably widely supported; the disadvantage is that data flows may
   might not fill the pipe (utilization loss) and there is no tagging
   option available.  Excess traffic MUST be handled using a separate
   VC.

   AAL
     Type                            5
     Forward CPCS-SDU Size           parameter M of receiver rcvr TSpec + 8 Bytes
     Backward CPCS-SDU Size          parameter M of receiver rcvr TSpec + 8 Bytes
     SSCS Type                       0 (Null SSCS)

   Traffic Descriptor
     Forward PCR CLP=0+1                                     Note 1
     Backward PCR CLP=0+1            0
     BE indicator                    NOT included
     Forward Frame Discard bit       1
     Backward Frame Discard bit      1
     Tagging Forward bit             0 (Tagging not requested)
     Tagging Backward bit            0 (Tagging not requested)

   Broadband Bearer Capability
     Bearer Class                    16 (BCOB-X)             Note 2
     ATM Transfer Capability         5  (CBR)                Note 3, 4 3
     Susceptible to Clipping         00 (bit encoding for Not
   susceptible) (Not Susceptible)
     User Plane Configuration        01 (bit encoding for pt-to-mpt) (Point-to-Multipoint)

   Broadband Low Layer Information
     User Information Layer 2
       Protocol                      12 (ISO 8802/2)
     User Information Layer 3
       Protocol                      11 (ISO/IEC TR 9577)    Note 5 4
      ISO/IEC TR 9577 IPI            204

   QoS Class
     QoS Class Forward               1                       Note 6 5
     QoS Class Backward              1                       Note 6 5

   Extended QoS Parameters                                   Note 7 6
     Acceptable Forward CDV
     Acceptable Forward CLR
     Forward Max CTD

   Note 1:  See discussion in Section 2.5.1.

   Note 2:  Value 1 (BCOB-A) can also be used.
   Note 3:
            If bearer class Bearer Class A is chosen the ATC field must MUST be absent.
   Note 4: 3:  The ATC value 7 is not used.  The value 7 implies CLR
            objective applies to the aggregate  CLP=0+1 stream and
            that does not give desirable treatment of excess
            traffic in the case of IP. traffic.
   Note 5: 4:  For QoS VCs supporting GS or CLS, the layer 3 protocol should SHOULD
            be specified.  For BE VCs, it can be left unspecified, allowing
            the VC to be shared by multiple protocols, following RFC 1755.
   Note 6: 5:  Cf ITU I.365 (Oct 1996) Rec. I.356 [20] for new QoS Class definitions.
   Note 7: 6:  See discussion in Section 2.6 for the values to be used. 2.6.

5.3 Encoding GS Using Non-Real-Time VBR (ATM Forum TM/UNI 4.0)

   The remaining ATM service categories, including nrtVBR, do

   NrtVBR does not provide delay guarantees and cannot be recommended as the best fits.
   However in some circumstances, the best fits may not be available. is NOT RECOMMENDED for
   GS.  If nrtVBR GS/nrtVBR is used, no hard delay can be given.  However by using a
   variable rate service with low utilization, used and network utilization is low, the delay
   may be `reasonable', but will not be controlled.  The encoding of GS as
   with nrtVBR is the same as that for CLS using nrtVBR, except that the Forward PCR
   would be derived from the TSpec peak rate. nrtVBR.  See Section 6.2
   6.1 below.

5.4 Encoding GS Using ABR (ATM Forum TM/UNI 4.0)

   GS using ABR is a very unlikely combination. combination, and DOES NOT meet the
   service requirements of GS.  The objective of the ABR service is to
   provide "low" loss rates.  The delay objectives for ABR should SHOULD be
   expected to be very loose.  If ABR were used for GS, the VC
   parameters would follow as for CLS over ABR.  See Section 6.1. 6.2.

5.5 Encoding GS Using UBR (ATM Forum TM/UNI 4.0)

   The UBR service is the default lowest common denominator of the services.  It
   cannot provide delay or loss guarantees. guarantees, and therefore DOES NOT meet
   the requirements of GS.  However if it is used for GS, it will be
   encoded in the same way as Best Effort over UBR, with the exception
   that the Forward PCR would be determined from the peak rate of the
   receiver TSpec.  See Section 7.1.

5.6 Encoding GS Using ATM Forum UNI 3.0/3.1 Specifications

   It is not recommended to support GS using UNI 3.x VBR mode for because
   the
   following reasons.  The BCOB-C Bearer Class C bearer class does not represent real-time behavior.  Also,
   Appendix F of the UNI 3.1 specification precludes the specification
   of traffic type "VBR" with the timing requirement "End to End timing
   Required" in conjunction with bearer class Bearer Class X.

   It is possible to support GS using a

   A CBR "pipe." VC MEETS the requirements of GS.  The following table specifies
   the support of GS using CBR.

   AAL
     Type                            5
     Forward CPCS-SDU Size           parameter M of receiver rcvr TSpec + 8 Bytes
     Backward CPCS-SDU Size          parameter M of receiver rcvr TSpec + 8 Bytes
     Mode                            1 (Message mode)        Note 1
     SSCS Type                       0 (Null SSCS)

   Traffic Descriptor
     Forward PCR CLP=0                                       Note 2
     Backward PCR CLP=0              0
     Forward PCR CLP=0+1                                     Note 2
     Backward PCR CLP=0+1            0
     BE indicator                    NOT included
     Tagging Forward bit             1 (Tagging requested)
     Tagging Backward bit            1 (Tagging requested)

   Broadband Bearer Capability
     Bearer Class                    16  (BCOB-X)            Note 3
     Traffic Type                    001 (bit encoding for Constant (Constant Bit Rate)
     Timing Requirements             01 (bit encoding for Timing  (Timing Required)
     Susceptible to Clipping         00 (bit encoding for Not
   susceptible)  (Not Susceptible)
     User Plane Configuration        01 (bit encoding for pt-to-mpt)  (Point-to-Multipoint)

   Broadband Low Layer Information
     User Information Layer 2
       Protocol                      12 (ISO 8802/2)
     User Information Layer 3
       Protocol                      11 (ISO/IEC TR 9577)    Note 4
      ISO/IEC TR 9577 IPI            204

   QoS Class                                                 Note 5
     QoS Class Forward               1
     QoS Class Backward              1

   QoS Parameters
     Parameters are implied by the QOS Class

   Note 1:  Only included for UNI 3.0.
   Note 2:  See discussion, discussion in Section 2.5.1.  PCR CLP=0 should SHOULD be set identical
            to PCR CLP=0+1.  Although this could potentially allow a CBR VC
            to carry excess traffic as tagged cells, it is not recommended
            since it is not supported in UNI 4.0
   Note 3:  Value 1 (BCOB-A) can also be used. If BCOB-A is used Traffic
            Type and Timing Requirements fields are not included.

   Note 4:  For QoS VCs supporting GS or CLS, the layer 3 protocol should SHOULD
            be specified.  For BE VCs, it can be left unspecified, allowing
            the VC to be shared by multiple protocols, following RFC 1755.
   Note 5:  QoS Parameters are implied by the QoS Class.

6.0 Summary of ATM VC Setup Parameters for Controlled Load Service

   This section describes how to create ATM VCs appropriately matched
   for Controlled Load. Load Service.  CLS traffic is partly delay tolerant
   and of has variable rate.  NrtVBR and ABR (for TM/UNI (TM/UNI 4.0 only) are the best
   choices in for supporting CLS.

   Note, these encodings assume point to multipoint connections, connections where
   the backward channel is not used.  If the IP session is unicast only,
   then a point-to-point VC may be used and the IWF may make use of the
   backward channel, provided that the with QoS parameters are mapped
   consistently set appropriately for the
   service provided.

   We provide a mapping for all combinations of IP service and ATM
   service category, and comments indicating whether or not each
   combination meets the requirements of the IP-IS service.

6.1 Encoding CLS Using ABR Non-Real-Time VBR (ATM Forum TM/UNI 4.0)

   NrtVBR MEETS the requirements for CLS.

   AAL
     Type                            5
     Forward CPCS-SDU Size           parameter M of receiver rcvr TSpec + 8 Bytes
     Backward CPCS-SDU Size          parameter M of receiver rcvr TSpec + 8 Bytes
     SSCS Type                       0 (Null SSCS)

   Traffic Descriptor
     Forward PCR CLP=0+1                                     Note 1
     Backward PCR CLP=0+1            0
     Forward MCR CLP=0+1 SCR CLP=0                                       Note 1
     Backward MCR CLP=0+1 SCR CLP=0              0
     BE indicator                    NOT included
     Forward MBS (CLP=0)                                     Note 1
     Backward MBS (CLP=0)            0
     BE indicator                    NOT included
     Forward Frame Discard bit       1
     Backward Frame Discard bit      1
     Tagging Forward bit             0             1 (Tagging not requested)
     Tagging Backward bit            0            1 (Tagging not requested)

   Broadband Bearer Capability
     Bearer Class                    16 (BCOB-X)             Note 2
     ATM Transfer Capability         12 (ABR)
     Traffic Type                    010 (Variable Bit Rate)
     Timing Requirements         10 (Timing Not Required) (Non-real time VBR)  Note 3
     Susceptible to Clipping         00 (Not susceptible) Susceptible)
     User Plane Configuration        00 (For pt-to-pt)        01 (Point-to-Multipoint)

   Broadband Low Layer Information
     User Information Layer 2
       Protocol                      12 (ISO 8802/2)
     User Information Layer 3
       Protocol                      11 (ISO/IEC TR 9577)    Note 3 4
      ISO/IEC TR 9577 IPI            204

   QoS Class
     QoS Class Forward               0               3                       Note 4 5
     QoS Class Backward              0              3                       Note 4 5

   Extended QoS Parameters                                   Note 5 6
     Acceptable Forward CDV
     Acceptable Forward CLR
     Forward Max CTD

   ABR Setup Parameters                                      Note 6
   ABR Additional Parameters                                 Note 6

   Note 1:  See discussion, discussion in Section 2.5.2.
   Note 2:  Value 3 (BCOB-C) can also be used.
            If Bearer Class C is used, the ATC field MUST be absent.
   Note 3:  The ATC value 11 is not used.  The value 11 implies CLR
            objective applies to the aggregate  CLP=0+1 stream and
            that does not give desirable treatment of excess traffic.
   Note 4:  For QoS VCs supporting GS or CLS, the layer 3 protocol should SHOULD
            be specified.  For BE VCs, it can be left unspecified, allowing
            the VC to be shared by multiple protocols, following RFC 1755.
   Note 4: 5:  Cf ITU I.365 (Oct 1996) Rec. I.356 [20] for new QoS Class definitions.
   Note 5:  See Section 2.6 for the values to be used.
   Note 6:  The ABR-specific parameters are beyond the scope of this document.
            These generally depend on local implementation and not on values
            mapped from IP level service parameters (with the exception of MCR).  See [6, 11] for further information. discussion in Section 2.6.

6.2 Encoding CLS Using Non-Real-Time VBR ABR (ATM Forum TM/UNI 4.0)

   ABR MEETS the requirements for CLS when MCR is set to the CLS TSpec
   rate.

   AAL
     Type                            5
     Forward CPCS-SDU Size           parameter M of receiver rcvr TSpec + 8 Bytes
     Backward CPCS-SDU Size          parameter M of receiver rcvr TSpec + 8 Bytes
     SSCS Type                       0 (Null SSCS)

   Traffic Descriptor
     Forward PCR CLP=0+1                                      Note 1
     Backward PCR CLP=0+1            0
     Forward SCR CLP=0                                       Note 1
     Backward SCR CLP=0              0
     Forward MBS (CLP=0) MCR CLP=0+1                                      Note 1
     Backward MBS (CLP=0) MCR CLP=0+1            0
     BE indicator                    NOT included
     Forward Frame Discard bit       1
     Backward Frame Discard bit      1
     Tagging Forward bit             1             0 (Tagging not requested)
     Tagging Backward bit            1            0 (Tagging not requested)

   Broadband Bearer Capability
     Bearer Class                    16  (BCOB-X)             Note 2
     ATM Transfer Capability         10 (Non-real time VBR)  Note 3, 4         12  (ABR)
     Susceptible to Clipping         00 (bit encoding Not susceptible)  (Not Susceptible)
     User Plane Configuration        01 (bit encoding pt-to-mpt)        00  (Point-to-Point)

   Broadband Low Layer Information
     User Information Layer 2
       Protocol                      12 (ISO 8802/2)
     User Information Layer 3
       Protocol                      11 (ISO/IEC TR 9577)    Note 5 3
      ISO/IEC TR 9577 IPI            204

   QoS Class
     QoS Class Forward               3               0                       Note 6 4
     QoS Class Backward              3              0                       Note 6 4

   Extended QoS Parameters                                   Note 7 5
     Acceptable Forward CDV
     Acceptable Forward CLR
     Forward Max CTD

   ABR Setup Parameters                                      Note 6
   ABR Additional Parameters                                 Note 6

   Note 1:  See discussion, discussion in Section 2.5.2.
   Note 2:  Value 3 (BCOB-C) can also be used.
   Note 3:
            If bearer class Bearer Class C is used, chosen the ATC field must MUST be absent
   Note 4:  The ATC value 11 is not used.  The value 11 implies CLR
            objective applies to the aggregate  CLP=0+1 stream and
            that does not give desirable treatment of excess
            traffic in the case of IP. absent.
   Note 5: 3:  For QoS VCs supporting GS or CLS, the layer 3 protocol should SHOULD
            be specified.  For BE VCs, it can be left unspecified, allowing
            the VC to be shared by multiple protocols, following RFC 1755.
   Note 6: 4:  Cf ITU I.365 (Oct 1996) Rec. I.356 [20] for new QoS Class definitions.
   Note 7: 5:  See discussion in Section 2.6 for 2.6.
   Note 6:  The ABR-specific parameters are beyond the scope of this document.
            These generally depend on local implementation and not on values
            mapped from IP level service parameters (except for MCR).
            See [6, 11] for further information.

6.3 Encoding CLS Using CBR (ATM Forum TM/UNI 4.0)

   Although CBR does not explicitly take into account the variable rate
   of source data, it may be convenient to use ATM connectivity between
   edge routers to provide a simple "pipe" service, as a leased line
   replacement.  Since no tagging option is available with CBR, excess
   traffic MUST be handled using a separate VC.  Under this condition,
   CBR MEETS the requirements of CLS.

   To use CBR for CLS, the same encoding for GS over CBR (Section 5.2)
   would be used.

6.3  See discussion in Section 2.5.2.

6.4 Encoding CLS Using Real-Time VBR (ATM Forum TM/UNI 4.0)

   The encoding of CLS using rtVBR imposes implies a hard limit on the delay,
   which is specified as an end-to-end end-to-
   end delay in the ATM network.  This
   is creates more stringent complexity in the VC
   setup than the CLS service requires.

   If rtVBR is used to encode CLS, then the encoding is essentially the
   same as that for GS.  See Section 5.1 requires, and discussion in Section
   2.5.2.

6.4 Encoding CLS Using CBR (ATM Forum TM/UNI 4.0)

   Although CBR does is therefore not explicitly take into account the variable rate
   of source data, a preferred
   combination, although it may be convenient to use ATM connectivity between
   edge routers DOES MEET the requirements of CLS.

   If rtVBR is used to provide a simple "pipe" service, as a leased line
   replacement.

   To use CBR for encode CLS, then the same encoding is essentially the
   same as that for GS over CBR (Section 5.2
   would be used. GS.  See discussions in Section 5.1 and Section
   2.5.2.

6.5 Encoding CLS Using UBR (ATM Forum TM/UNI 4.0)

   This encoding gives no QoS guarantees. guarantees and DOES NOT MEET the
   requirements of CLS.  If used, it is coded in the same way as for BE
   over UBR, UBR (Section 7.1), except that the PCR would be determined from
   the peak rate of the receiver TSpec.  See Section 7.1.

6.6 Encoding CLS Using ATM Forum UNI 3.0/3.1 Specifications

   This encoding is equivalent to the nrtVBR service category.  It MEETS
   the requirements of CLS.

   AAL
     Type                            5
     Forward CPCS-SDU Size           parameter M of receiver rcvr TSpec + 8 Bytes
     Backward CPCS-SDU Size          0          parameter M of rcvr TSpec + 8 Bytes
     Mode                            1 (Message mode)        Note 1
     SSCS Type                       0 (Null SSCS)

   Traffic Descriptor
     Forward PCR CLP=0+1                                     Note 2
     Backward PCR CLP=0+1            0
     Forward SCR CLP=0                                       Note 2
     Backward SCR CLP=0              0
     Forward MBS (CLP=0)                                     Note 2
     Backward MBS (CLP=0)            0
     BE indicator                    NOT included
     Tagging Forward bit             1 (Tagging requested)
     Tagging Backward bit            1 (Tagging requested)

   Broadband Bearer Capability
     Bearer Class                    16  (BCOB-X)            Note 3
     Traffic Type                    010 (bit encoding for Variable (Variable Bit Rate)
     Timing Requirements             00 (bit encoding for No  (No Indication)
     Susceptible to Clipping         00 (bit encoding for Not
   susceptible)  (Not Susceptible)
     User Plane Configuration        01 (bit encoding for For pt-to-mpt)  (Point-to-Multipoint)

   Broadband Low Layer Information
     User Information Layer 2
       Protocol                      12 (ISO 8802/2)
     User Information Layer 3
       Protocol                      11 (ISO/IEC TR 9577)    Note 4
      ISO/IEC TR 9577 IPI            204

   QoS Class
     QoS Class Forward               3                       Note 5
     QoS Class Backward              3

   QoS Parameters
     Parameters are implied by the QOS Class                       Note 5

   Note 1:  Only included for UNI 3.0.
   Note 2:  See discussion, discussion in Section 2.5.2.
   Note 3:  Value 3 (BCOB-C) can also be used. If BCOB-C is used Traffic
            Type and Timing Requirements fields are not included.
   Note 4:  For QoS VCs supporting GS or CLS, the layer 3 protocol should SHOULD
            be specified.  For BE VCs, it can be left unspecified, allowing
            the VC to be shared by multiple protocols, following RFC 1755.
   Note 5:  Cf ITU Rec. I.356 [20] for new QoS Class definitions.
            QoS Parameters are implied by the QoS Class.

7.0 Summary of ATM VC Setup Parameters for Best Effort Service

   This section should be considered informational is provided for completeness only.  RFC 1755 [10] and
the  The IETF ION working
   group draft documents on ATM signalling support for IP over ATM using UNI 4.0 [11] [10, 11]
   provide more definitive specification of specifications for Best Effort IP service over
   ATM.

   The best-matched ATM service category to IP Best Effort is UBR.  We
   provide the setup details for this case below.  The BE service does
   not
require involve reservation of resources.  ABR and nrtVBR are also well
   suited to BE service.  See discussion in Section 2.1.3.

   Note, VCs supporting best effort service are usually point to point,
   rather than point to multipoint, and the backward channels of VCs are
   used.  In specific cases where VCs are set up to support best effort multicast
   sessions, multipoint VCs can be used and the backward channels would
   be not have resources reserved.  Related situations include transport
   of excess traffic on IP-multicast QoS sessions, or to support the
   subset of multicast end systems that have not made rsvp reservations.
   See the discussion on VC management in [12].

7.1 Encoding Best Effort Service Using UBR (ATM Forum TM/UNI 4.0)

   AAL
     Type                            5
     Forward CPCS-SDU Size           9180           9188 Bytes (default MTU for AAL5) AAL-5)
     Backward CPCS-SDU Size          9180          9188 Bytes (default MTU for AAL5) AAL-5)
     SSCS Type                       0 (Null SSCS)

   Traffic Descriptor
     Forward PCR CLP=0+1                                         Note 1
     Backward PCR CLP=0+1            0
     BE indicator                    included
     Forward Frame Discard bit       1
     Backward Frame Discard bit      1
     Tagging Forward bit             1 (Tagging requested)
     Tagging Backward bit            1 (Tagging requested)

   Broadband Bearer Capability
     Bearer Class                    16 (BCOB-X)                 Note 2
     ATM Transfer Capability         10 (Non-real time VBR)      Note 3
     Susceptible to Clipping         00 (bit encoding for Not susceptible) (Not Susceptible)
     User Plane Configuration        01 (bit encoding for pt-to-mpt) (Point-to-Multipoint)

   Broadband Low Layer Information
     User Information Layer 2
       Protocol                      12 (ISO 8802/2)             Note 4 3

   QoS Class
     QoS Class Forward               0
     QoS Class Backward              0

   Note 1:  See discussion, discussion in Section 2.5.3.
   Note 2:  Value 3 (BCOB-C) can also be used.
   Note 3:
            If bearer class Bearer Class C is used, the ATC field must MUST be absent
   Note 4: 3:  For QoS VCs supporting GS or CLS, the layer 3 protocol SHOULD
            be specified.  For BE VCs, it can be left unspecified, allowing
            the VC to be shared by multiple protocols, following RFC 1755.

8.0 Security Considerations

   IP Integrated Services (including rsvp) and ATM are both complex
   resource reservation protocols, and SHOULD be expected to have
   complex feature interactions.

   Differences in IP and ATM billing styles could cause unforeseen
   problems since RESV messages can set up VCs.  For QoS VCs supporting GS example, an end-
   user paying a flat rate for (non-rsvp aware) internet service may
   send an rsvp RESV message that encounters a (perhaps distant) ATM
   network with a usage-sensitive billing model.  Insufficient
   authentication could result in services being accidentally billed to
   an innocent third party, intentional theft of service, or CLS, malicious
   denial of service attacks where high volumes of reservations consume
   transport or processing resources at the layer 3 protocol should
            be specified.  For BE VCs, it can be left unspecified, allowing edge devices.

   The difference in styles of handling excess traffic could result in
   denial of service attacks where the VC ATM network uses transport
   resources (bandwidth, buffers) or connection processing resources
   (switch processor cycles) in an attempt to be shared accommodate excess traffic
   that was admitted by multiple protocols, following RFC 1755.

8.0 the internet service.

   Problems associated with translation of resource reservations at edge
   devices are probably more complex and susceptible to abuse when the
   IP-ATM edge is also an administrative boundary between service
   providers.  Note also that administrative boundaries can exist within
   the ATM cloud, i.e., the ingress and egress edge devices are operated
   by different service providers.

   Note, the ATM Forum Security

   Some Working Group is currently defining
   ATM-level security features such as data encryption and signalling
   authentication.  See also the security issues are raised in the rsvp
   specification [2], which
   would apply here as well.  There are no additional security
   considerations raised in this document. [2].

9.0 Acknowledgements

   The authors would like to thank received much useful input from the members of the ISSLL
   working
   group for their input. group.  In particular, thanks to Drew Perkins and Jon Bennett
   of Fore Systems, Roch Guerin of IBM, Susan Thomson and Sudha Ramesh
   of Bellcore.

Appendix 1  Abbreviations

       AAL           ATM Adaptation Layer
       ABR           Available Bit Rate
       APB           Available Path Bandwidth (int-serv GCP)
       ATC           ATM Transfer Capability
       ATM           Asynchronous Transfer Mode
       B-LLI         Broadband Low Layer Information
       BCOB          Broadband Connection-Oriented Bearer Capability
       BCOB-{A,C,X}  Bearer Class A, C, or X
       BE            Best Effort
       BT            Burst Tolerance
       CBR           Constant Bit Rate
       CDV           Cell Delay Variation
       CDVT          Cell Delay Variation Tolerance
       CLP           Cell Loss Priority (bit)
       CLR           Cell Loss Ratio
       CLS           Controlled Load Service
       CPCS          Common Part Convergence Sublayer
       CTD           Cell Transfer Delay
       EOM           End of Message
       FFS           For Further Study
       GCP           General Characterization Parameter
       GCRA          Generic Cell Rate Algorithm
       GS            Guaranteed Service
       IE            Information Element
       IETF          Internet Engineering Task Force
       ION           IP Over Non-broadcast multiple access networks
       IP            Internet Protocol
       IPI           Initial Protocol Identifier
       IS            Integrated Services
       ISSLL         Integrated Services over Specific Link Layers
       ITU           International Telecommunication Union
       IWF           Interworking Function
       LIJ           Leaf Initiated Join
       LLC           Logical Link Control
       MBS           Maximum Burst Size
       MCR           Minimum Cell Rate
       MPL           Minimum Path Latency
       MTU           Maximum Transfer Unit
       nrtVBR        Non-real-time VBR
       PCR           Peak Cell Rate
       PDU           Protocol Data Unit
       PVC           Permanent Virtual Connection
       QoS           Quality of Service
       RESV          Reservation Message (of rsvp protocol)
       RFC           Request for Comment Comments
       RSVP          Resource Reservation Protocol
       RSpec         Reservation Specification
       rtVBR         Real-time VBR
       SCR           Sustained           Sustainable Cell Rate
       SDU           Service Data Unit
       SNAP          Subnetwork Attachment Point
       SSCS          Service-Specific Convergence Sub-layer
       SVC           Switched Virtual Connection
       Sw            Switch
       TCP           Transport Control Protocol
       TM            Traffic Management
       TSpec         Traffic Specification
       UBR           Unspecified Bit Rate
       UNI           User-Network Interface
       UPC           Usage Parameter Control (ATM traffic policing function)
       VBR           Variable Bit Rate
       VC            (ATM) Virtual Connection

REFERENCES

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

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

   [3]  The ATM Forum, "ATM User-Network Interface Specification, Ver-
        sion 3.0", Prentice Hall, Englewood Cliffs NJ, 1993.

   [4]  The ATM Forum, "ATM User-Network Interface Specification, Ver-
        sion 3.1", Prentice Hall, Upper Saddle River NJ, 1995.

   [5]  The ATM Forum, "ATM User-Network Interface (UNI) Signalling
        Specification, Version 4.0", July 1996. Publication by Prentice
        Hall pending; available  Available at ftp://ftp.atmforum.com/pub/approved-
        specs/af-sig-0061.000.ps.
        ftp://ftp.atmforum.com/pub/approved-specs/af-sig-0061.000.ps.

   [6]  The ATM Forum, "ATM Traffic Management Specification, Version
        4.0", April 1996.  Publication by Prentice Hall pending, avail-
        able  Available at ftp://ftp.atmforum.com/pub/approved-specs/af-tm-
        0056.000.ps.
        ftp://ftp.atmforum.com/pub/approved-specs/af-tm-0056.000.ps.

   [7]  M. W. Garrett, "A Service Architecture for ATM: From Applica-
        tions
        Applications to Scheduling", IEEE Network Mag., Vol. 10, No. 3,
        pp. 6-
        14, 6-14, May 1996.

   [8]  S. Shenker, C. Partridge and R. Guerin, "Specification of
        Guaranteed Quality of Service", RFC 2212, September 1997.

   [9]  J. Wroclawski, "Specification of the Controlled-Load Network
        Element Service", RFC 2211, September 1997.

   [10] M. Perez, F. Liaw, A. Mankin, E. Hoffman, D. Grossman and A.
        Malis, "ATM Signaling Support for IP over ATM", RFC 1755, Febru-
        ary 1995.

   [11] M. Perez and A. Mankin, "ATM Signaling Support for IP over ATM
        UNI 4.0 Update", Internet Draft, October 1997.  <draft-ietf-
        ion-sig-uni4.0-05.txt>

   [12] E. Crawley, L. Berger, S. Berson, F. Baker, M. Borden, J.
        Krawczyk, "A Framework for Integrated Services and RSVP over
        ATM", Internet Draft, July 1997. <draft-ietf-issll-atm-
        framework-00.txt>

   [13] L. Berger, "RSVP over ATM Implementation Requirements", Internet
        Draft, July 1997. <draft-ietf-issll-atm-imp-req-00.txt> January 1998. <draft-ietf-issll-atm-imp-req-02.txt>

   [14] L. Berger, "RSVP over ATM Implementation Guidelines", Internet
        Draft, July 1997. <draft-ietf-issll-imp-guide-01.txt> January 1998. <draft-ietf-issll-imp-guide-03.txt>

   [15] S. Shenker and J. Wroclawski, "Network Element Service Specifi-
        cation Template", RFC 2216, September 1997.

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

   [17] M. Borden, E. Crawley, B. Davie and S. Batsell, "Integration of
        Real-time Services in an IP-ATM Network Architecture", RFC 1821,
        August 1995.

   [18] J. Heinanen, "Multiprotocol Encapsulation over ATM Adaptation
        Layer 5", RFC 1483, July 1993.

   [19] M. Laubach, "Classical IP and ARP over ATM", RFC 1577, January
        1994.

   [20] ITU Recommendation I.356, "B-ISDN ATM layer cell transfer per-
        formance", International Telecommunication Union, Geneva,
        October 1996.

   [21] A. Romanow, S. Floyd, "Dynamics of TCP Traffic over ATM Net-
        works", IEEE J. Sel. Areas in Commun., Vol. 13, No. 4, pp. 633-
        -41,
        41, May 1995,

   [21] 1995.

   [22] A. K. Parekh, R. G. Gallager, "A Generalized Processor Sharing
        Approach to Flow Control in Integrated Services Networks: The
        Multiple Node Case", IEEE/ACM Trans. Networking, Vol. 2, No. 2,
        pp. 137-150, April 1994.

   [23] S. Floyd, V. Jacobson, "Link-sharing and Resource Management
        Models for Packet Networks", IEEE/ACM Trans. Networking, Vol. 3,
        No. 4, August 1995.

   [22]

   [24] S. Shenker and J. Wroclawski, "General Characterization Parame-
        ters for Integrated Service Network Elements", RFC 2215, Sep-
        tember 1997.

Authors' Addresses

Mark W. Garrett                  Marty Borden
Bellcore                         New Oak Communications, Inc.                         Bay Networks
445 South Street                 42 Nagog Park
Morristown, NJ 07960             Acton MA, 01720
USA                              USA

phone: +1 201 829-4439           phone: +1 508 266-1011
email: mwg@bellcore.com          email: mborden@newoak.com mborden@baynetworks.com