Request for Comments: 2381 Bellcore
Category: Standards Track M. Borden
Bay Networks
August 1998
Interoperation of Controlled-Load Service
and Guaranteed Service with ATM
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (1998). All Rights Reserved.
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 RFC2119 [1]. (Note,
in many cases the use of "MUST" or "REQUIRED" 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 .......... 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
2.3 ATM Adaptation Layer ........................................ 13
2.4 Broadband Low Layer Information ............................. 13
2.5 Traffic Descriptors ......................................... 13
2.5.1 Translating Traffic Descriptors for Guaranteed Service. 15
2.5.2 Translating Traffic Descriptors for Controlled Load
Service .............................................. 18
2.5.3 Translating Traffic Descriptors for Best Effort Service 19
2.6 QoS Classes and Parameters .................................. 19
2.7 Additional Parameters -- Frame Discard Mode ................. 22
3.0 Additional IP-Integrated Services Protocol Features ............. 22
3.1 Path Characterization Parameters for IP Integrated Services . 22
3.2 Handling of Excess Traffic .................................. 24
3.3 Use of Guaranteed Service Adspec Parameters and Slack Term .. 25
4.0 Miscellaneous Items ............................................. 26
4.1 Units Conversion ............................................ 26
5.0 Summary of ATM VC Setup Parameters for Guaranteed Service ....... 27
5.1 Encoding GS Using Real-Time VBR ............................. 28
5.2 Encoding GS Using CBR ....................................... 29
5.3 Encoding GS Using Non-Real-Time VBR ......................... 30
5.4 Encoding GS Using ABR ....................................... 30
5.5 Encoding GS Using UBR ....................................... 30
5.6 Encoding GS Using UNI 3.0 and UNI 3.1. ...................... 31
6.0 Summary of ATM VC Setup Parameters for Controlled Load Service .. 32
6.1 Encoding CLS Using Non-Real-Time VBR ........................ 32
6.2 Encoding CLS Using ABR ...................................... 33
6.3 Encoding CLS Using CBR ...................................... 35
6.4 Encoding CLS Using Real-Time VBR ............................ 35
6.5 Encoding CLS Using UBR ...................................... 35
6.6 Encoding CLS Using UNI 3.0 and UNI 3.1. ..................... 35
7.0 Summary of ATM VC Setup Parameters for Best Effort Service ...... 36
7.1 Encoding Best Effort Service Using UBR ...................... 37
8.0 Security Considerations ......................................... 38
9.0 Acknowledgements ................................................ 38
Appendix 1 Abbreviations ........................................... 39
References .......................................................... 40
Authors' Addresses .................................................. 42
Full Copyright Statement ............................................ 43
1.0 Introduction
We consider the problem of providing IP Integrated Services [2] with
an ATM subnetwork. This document is intended to be consistent with
the rsvp protocol [3] 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 [4, 5, 6]. The
latter uses the more complete service model of the ATM Forum's TM 4.0
specification [7, 8].
This is a complex 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) [9] and
Controlled Load Service (CLS) [10]. We also discuss the default Best
Effort Service (BE) in parallel with these. Our recommendations for
BE are intended to be consistent with RFC1755 [11], and [12], 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 [13, 14, 15]. 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-( X -- X -- X )-E -- R -- R -- H
H ----/ | ( ) \
| ----------------- \------ H
H ----------R
Figure 1: Network Architecture with Hosts (H),
Routers (R), Edge Devices (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 initiates a new VC or 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 documents [13, 14, 15].
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 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 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 of those
VCs. See [13, 14, 15] 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 signalling, traffic management
and other areas into a single document, e.g., UNI 3.0 [4] and UNI 3.1
[5]. 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 [6] and Traffic
Management 4.0 [7] 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 [3],
int-serv [2, 9, 10, 16, 17] and ion working groups [11, 12]. 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 RFC1755
[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 RFC1755 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 RFC1755. 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 RFC1821 [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 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 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
Real-time support is REQUIRED for GS. Thus in UNI 3.x, the Bearer
Class BCOB-A (or an equivalent BCOB-X formulation) 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, 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.
For BCOB-A or CBR, specification of a peak cell rate (PCR) is
REQUIRED by ATM standards. In these cases, PCR is the nominal
clearing rate with a nominal jitter toleration (bucket size), CDVT.
When rtVBR is specifed, two rates, PCR and SCR are REQUIRED (by ATM
standards). 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)
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 MUST be directly converted from
the token bucket rate of the receiver TSpec. The bucket size
parameter measures approximately the amount of buffer 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 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.
The conformance 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 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 ascertain the actual
behavior of ATM implementation with respect to tagged cells.
Since GS and CLS services REQUIRE excess traffic to be treated as
best effort, the tagging option 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 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 congestion.
In TM/UNI 4.0 tagging is not a feature of the conformance definitions
for the CBR or ABR service categories. (Since conformance
definitions are generally network specific, some implementations CBR
or ABR may, in fact, use tagging 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 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 SHOULD be used, as specified in RFC1483 and
RFC1755. For AAL-5, specification of the maximum SDU size in both
the forward and reverse directions is REQUIRED. Both GS and CLS
specify a maximum packet size, M, as part of the TSpec and this value
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 LLC/SNAP encapsulation [18] SHOULD be supported as
the default, but "null" or "VC encapsulation" MAY also be allowed.
Implementations SHOULD follow RFC1577 [19] and RFC1755 [10] for
BLLI usage.
2.5 Traffic Descriptors
The ATM traffic descriptor always contains a peak cell rate (PCR)
(for each direction). For 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 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 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 associated with SCR. The units of BT are time while the
units of MBS 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 both minimal and requested 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 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
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. The policing and scheduling mechanisms may simply
be parameterized with the (lower) receiver rate, resulting in 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 in order to
reduce the delay.
When mapping Guaranteed Service onto a rtVBR VC, the ATM traffic
descriptor parameters (PCR, SCR, MBS) can 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 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 TSpec, but
not within the ATM traffic descriptor. The minimal REQUIREMENT for
guaranteed service is that the delay in this buffer MUST NOT exceed
b/R, and the delays within the ATM network MUST be accurately
accounted for in the values of Adspec parameters C and D advertised
by the ingress router (see Section 3.3 below).
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 no larger than the local line rate.
The receiver 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 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 + 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 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_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 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 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. This case may be relevant where the
IP routers and ATM switches differ substantially in their buffering
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 + C_sum + R D_sum. With
little or no burst buffering, the requirements resemble the 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 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 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 be provided. For CLS,
there are no Adspec parameters C and D, so the 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 SHOULD have a buffer of at least b_r
bytes, plus additional buffers to absorb jitter. With ABR, the ATM
network can quickly throttle the actual transfer rate down to MCR, so
a source transmitting above that rate 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 SHOULD be adequate to
accommodate possible bursts of b_r.
The REQUIREMENT for CLS that network delays approximate "best-effort
service under unloaded conditions", is interpreted here to mean that
it would be sufficient to allocate bandwidth resources so that the
last byte of a burst of size b_r sees a delay approximately b_r/r_r.
For example, a network element with no cross-traffic, a work
conserving scheduler and an output link rate of r_L, might provide
delays in the range from M/r_L to b_r/r_L, that are much 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 simply to allow the source
to discover the smallest physical bottleneck along the path. The
ingress edge router may set PCR to the ATM line rate, and then when
the VC setup is 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 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), 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. 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 included a standard set of parameter values for a (small)
number of QoS Classes in the latest version of Recommendation I.356
[21]. Network providers may choose to define further network-
specific QoS Classes in addition to these. Note that the QoS class
definitions in the new I.356 version might not align with the model
we follow from the ATM Forum UNI specs. Apart from these
definitions, there is no consistent agreement on QoS Class
definitions among providers in practice.
The ATM QoS parameters have no explicitly signalled IP layer
counterparts. The values that are signalled in the ATM network are
determined by the IP service definitions and knowledge of the
underlying ATM network characteristics, as explained below.
The ingress edge router 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 practice to maintain a table of current data for the most