Network Working Group B. Thompson
Request for Comments: 3337 T. Koren
Category: Standards Track Cisco Systems
B. Buffam
Seaway Networks
December 2002
Class Extensions for PPP over
Asynchronous Transfer Mode Adaptation Layer 2 (AAL2)
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 (2002). All Rights Reserved.
Abstract
The Point-to-Point Protocol (PPP) over Asynchronous Transfer Mode
(ATM) Adaptation Layer 2 defines the encapsulation that allows a PPP
session to be transported over an ATM virtual circuit using the ATM
Adaptation Layer 2 (AAL2) adaptation layer. This document defines a
set of class extensions to PPP over AAL2 that implement equivalent
functionality to Multi Class Multi Link PPP over a single ATM virtual
circuit. Instead of using Multi Link PPP as the basis for
fragmentation functionality, this document uses the functionality of
the Segmentation and Reassembly Service Specific Convergence Sublayer
that is already required as the basic encapsulation format of PPP
over AAL2.
1. Introduction
Using AAL2 as an adaptation layer for PPP transport over ATM provides
a bandwidth efficient transport for IP applications that generate
small packets. An example IP application that generates small
packets is RTP encapsulated voice (Voice over IP).
Thompson, et. al. Standards Track [Page 1]
RFC 3337 Class Extensions for PPP over AAL2 December 2002
In addition to bandwidth efficiency, real-time applications such as
voice require low latency. RFC 2689 [2] describes an architecture
for providing transport services for real time applications on low
bit rate links. The main components of the architecture are: a
real-time encapsulation format for asynchronous and synchronous low-
bitrate links, a header compression architecture optimized for real-
time flows, elements of negotiation protocols used between routers
(or between hosts and routers), and announcement protocols used by
applications to allow this negotiation to take place.
Multi Class Multi Link PPP [3] defines a fragment-oriented solution
for the real-time encapsulation format part of the architecture
defined in [2], i.e., for the queues-of-fragments type sender. As
described in more detail in the architecture document, a real-time
encapsulation format is required to guarantee low latency in the
presence of large non real time packets. For example, a 1500 byte
packet on a 128 kbit/s ATM virtual circuit makes this link
unavailable for the transmission of real-time information for about
100 ms. This adds a worst-case delay that causes real-time
applications to operate with round-trip delays that are too high for
many interactive tasks. Multi Class Multi Link PPP defines a set of
extensions of Multi Link PPP [4] that enable the sender to fragment
the packets of various priorities into multiple classes of fragments,
allowing high-priority packets to be sent between fragments of lower
priorities.
This document defines a set of class extensions to PPP over AAL2 [1]
that implement equivalent functionality to Multi Class Multi Link PPP
over a single ATM virtual circuit. Instead of using Multi Link PPP
as the basis for fragmentation functionality, this document uses the
functionality of the Service Specific Segmentation and Reassembly
Sublayer (SSSAR) [5] that is already required as the basic
encapsulation format of PPP over AAL2.
In addition to providing fragmentation, the real time transport
service must allow high priority fragments to be sent between
fragments of lower priorities. This can be accomplished in PPP over
AAL2 by allowing a single PPP session to span multiple AAL2 CPS [6]
Channel Identifiers. Once a PPP session spans multiple AAL2 Channel
IDs, the Channel ID can be used to identify the class that a fragment
belongs to. Fragments belonging to a high priority class can be sent
using a particular AAL2 Channel ID. Fragments of lower priority
classes can be sent using different AAL2 Channel IDs. Once multiple
fragment classes are identified using different AAL2 Channel IDs, the
AAL2 CPS layer can be used to send fragments belonging to a high
priority class between fragments of lower priorities.
Thompson, et. al. Standards Track [Page 2]
RFC 3337 Class Extensions for PPP over AAL2 December 2002
The class based extensions to PPP over AAL2 use existing services of
the AAL2 SSCS and CPS layers already specified in PPP over AAL2.
Because of this, the extensions described in this document may be
viewed as a desirable alternative to Multi Class Multi Link PPP in
providing a class based transport service with PPP over AAL2.
1.1. Specification Language
The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this
document, are to be interpreted as described in [7].
2. Requirements
This document assumes the same service requirements as defined in
Multi Class Multi Link PPP [3]. The reader is referred to section 2
of Multi Class Multi Link PPP for the general requirements of a multi
class fragmentation / preemption service.
3. Class Extensions for PPP over AAL2
PPP over AAL2 uses the Service Specific Segmentation and Reassembly
Sublayer (SSSAR) [5] for the AAL type 2. The SSSAR sub-layer is used
to segment PPP packets into frames that can be transported using the
AAL2 CPS. The SSSAR sub-layer uses different AAL2 UUI code-points to
indicate whether a segment is the last segment of a packet or not.
SSSAR provides basic fragmentation functionality for all packets
encapsulated using PPP over AAL2. The SSSAR layer fragments all
packets into 64 byte fragments.
The AAL2 CPS layer defines a Channel ID that is used to identify
multiple streams of packets within a single ATM Virtual Circuit. In
this document, the AAL2 CPS Channel ID is used to identify the
preemption class that a packet fragment belongs to. Since the
Channel ID is used to identify different preemption classes, packet
fragments from each class of traffic MUST be assigned to different
Channel IDs. In addition, each PPP session MUST have at least as
many Channel IDs assigned as there are different classes of
preemptible traffic.
To allow PPP packets to be assigned to different preemption classes,
PPP packets must be classified into multiple preemption classes as
they are fragmented using SSSAR. Many classification methods may be
used to determine the class that a particular PPP packet belongs to.
The architecture document [2] describes possible alternatives that
MAY be used to implement a real time classification scheme.
Thompson, et. al. Standards Track [Page 3]
RFC 3337 Class Extensions for PPP over AAL2 December 2002
Once packets have been classified into different preemption classes,
each class of traffic is then assigned a different Channel ID. Since
fragments from each traffic class are now transmitted using separate
Channel ID, the AAL2 CPS layer can be used to schedule fragments from
the different classes. The AAL2 CPS specification [6] does not
specify a method for scheduling AAL2 CPS payloads from different
Channel IDs. The scheduling method required at the AAL2 CPS layer
depends upon the real time requirements of applications using this
service. Some real-time applications MAY require the use of a
priority based CID scheduler. Other applications MAY only require a
fair or weighted fair CID scheduler. Implementations of PPP over
AAL2 real time transport extensions SHOULD implement AAL2 CPS CID
schedulers that meet the requirements of multi-class real time
applications.
4. Example Implementation: Class Based Extensions for Voice Service
When PPP over AAL2 is used to transport both voice and non-voice
packets over low bandwidth ATM virtual circuits, it may be necessary
to preempt the transmission of a large data packet in order to
transmit a voice packet with minimal delay. The example
implementation described below shows an example of how the class
extensions for PPP over AAL2 can be used to support a real time voice
transport service over low bandwidth AAL2 virtual circuits. To
guarantee low latency and loss for voice transport, the ATM virtual
circuit in this example must be provisioned using a real time traffic
class such as VBRnrt or VBRrt.
For the simple voice service described above, 2 classes are
sufficient to guarantee low latency for voice packets. The PPP over
AAL2 session in this case can be configured to run across 2 AAL2 CPS
Channel IDs. One channel ID is used to transport large data packets
while the other channel ID is used to transport real time voice
packets.
Packets that arrive at the PPP interface must first be classified as
either belonging to the real time class or belonging to the data
class. A simple classifier that can be used to classify packets at
this layer is packet size.
Large packets are assigned to the non-real time (or data) traffic
class and small packets are assigned to the real time traffic class.
The packet size used to discriminate between real time and non-real
time packets may vary based on the application and transmission rate
of the virtual circuit.
Thompson, et. al. Standards Track [Page 4]
RFC 3337 Class Extensions for PPP over AAL2 December 2002
Once packets have been classified, they are now fragmented using the
SSSAR layer of PPP over AAL2. Separate instances of the SSSAR
fragmentation function run on each of the 2 Channel IDs assigned to
the PPP session.
Fragments coming from the SSSAR functions are now scheduled into the
AAL2 virtual circuit using the AAL2 CPS layer. Most AAL2 SAR
implementations currently implement fair scheduling across multiple
AAL2 Channel IDs. Since the AAL2 CPS scheduler implements fair
scheduling, real time fragments will wait for at most one non-real
time fragment to be transmitted on the AAL2 virtual circuit before
being scheduled.
5. Security Considerations
Operation of this protocol is believed to be no more and no less
secure than operation of PPP over AAL2 [1].
6. Acknowledgements
The authors would like to thank James Carlson for his contributions
to this proposal.
7. References
[1] Thompson, B., Koren, T. and B. Buffam, "PPP Over Asynchronous
Transfer Mode Adaptation Layer 2", RFC 3336, December 2002.
[2] Bormann, C., "Providing Integrated Services over Low-bitrate
Links", RFC 2689, September 1999.
[3] Bormann, C., "The Multi-Class Extension to Multi-Link PPP", RFC
2686 September 1999.
[4] Sklower, K., Lloyd, B., McGregor, G., Carr, D. and T. Coradetti,
"The PPP Multilink Protocol (MP)", RFC 1990, August 1996.
[5] International Telecommunications Union, "Segmentation
and Reassembly Service Specific Convergence Sublayer for the AAL
type 2", ITU-T Recommendation I.366.1, June 1998.
[6] International Telecommunications Union, "BISDN ATM Adaptation
layer specification: Type 2 AAL(AAL2)", ITU-T Recommendation
I.363.2, September 1997.
[7] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
Thompson, et. al. Standards Track [Page 5]
RFC 3337 Class Extensions for PPP over AAL2 December 2002
8. Authors' Addresses
Bruce Thompson
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134
USA
Phone: +1 408 527-0446
EMail: brucet@cisco.com
Bruce Buffam
Seaway Networks
One Chrysalis Way,
Suite 300,
Ottawa, Canada
K2G-6P9
Phone: +1 613 723-9161
EMail: bruce@seawaynetworks.com
Tmima Koren
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134
USA
Phone: +1 408 527-6169
EMail: tmima@cisco.com
Thompson, et. al. Standards Track [Page 6]
RFC 3337 Class Extensions for PPP over AAL2 December 2002
9. Full Copyright Statement
Copyright (C) The Internet Society (2002). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Thompson, et. al. Standards Track [Page 7]