Asynchronous Transfer Mode Overview

Introduction

Asynchronous Transfer Mode (ATM) is a technology that has the potential of revolutionizing data communications and telecommunications. Based on the emerging standards for Broadband Integrated Services Digital Networks (B-ISDN), ATM offers the economically sound "bandwidth on demand" features of packet-switching technology at the high speeds required for today's LAN and WAN networks -- and tomorrow's.

ATM is a cell-relay technology that divides upper-level data units into 53-byte cells for transmission over the physical medium. It operates independently of the type of transmission being generated at the upper layers AND of the type and speed of the physical-layer medium below it.

This allows the ATM technology to transport all kinds of transmissions (e.g, data, voice, video, etc.) in a single integrated data stream over any medium, ranging from existing T1/E1 lines, to SONET OC-3 at speeds of 155 Mbps, and beyond.

ATM Standards

The following are some of the basic ATM standards documents available from the International Telecommunications Union (ITU).

ITU-T I.361
Defines the ATM Layer functions.
ITU-T I.363
Defines the ATM Adaptation Layer protocols.
ITU-T I.610
Defines the ATM Operation and Maintenance (OAM) functions.

The ATM Network

The technology allows both public (i.e., RBOC or carrier) and private (i.e., LAN or LAN-to-internal switch) ATM networks. This capability gives a seamless and transparent (to the user) connection from one end user to another end user, whether in the same building or across two continents. The basic network structure is as shown on the following page.


                  .^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^.
.-----------.     | .--------.   2   .--------.   |
|End User 1 |-----|-|  ATM   |-------|  ATM   |   |
`-----------'   1 | | Switch |       | Switch |---|-------+
                  | `--------'       `--------'   |       |
                  |        ATM Network  1         |       |
                  `vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv'       |
                                                        3 |
                                                          |
                  .^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^.        |
.-------------.   | .--------.   2   .--------.  |        |
| Private ATM |---|-|  ATM   |-------|  ATM   |  |        |
|    Switch   | 1 | | Switch |       | Switch |--|--------+
`------+------'   | `--------'       `--------'  |
     1 |          |         ATM Network 2        |
 .-----+------.   `vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv'
 | End User 2 |
 `------------'

Three types of interfaces exist in this diagram:

  1. User-to-Network Interface (UNI)
  2. Network-to-Network Interface (NNI)
  3. Inter-Carrier Interface (ICI)

The UNI exists between a single end user and a public ATM network, between a single end user and a private ATM switch, or between a private ATM switch and the public ATM network of an RBOC.

The NNI exists between switches in a single public ATM network. NNIs may also exist between two private ATM switches.

The ICI is located between two public ATM networks (an RBOC and an interexchange carrier).

All of these interfaces are very similar. The major differences between these types of interfaces are administrative and signalling related. The only type of signalling exchanged across the UNI is that required to set up a VIRTUAL CHANNEL for the transmission.

Communication across the NNI and the ICI will require signalling for virtual-path and virtual-channel establishment together with various exchange mechanisms for the exchange of information such as routing tables, etc.

The network functions as follows: End User 1 in Chicago wishes to transfer a data file to End User 2 in Los Angeles. A virtual channel is created and a virtual path is established from switch to switch within the public ATM network in Chicago (ATM Network 1). The Chicago RBOC, in turn, establishes contact with the public ATM network in Los Angeles (ATM Network 2).

ATM Network 2 also establishes a virtual path from switch to switch within the network and with the Private ATM Switch at the destination. The private ATM network completes the virtual path by establishing a virtual channel with End User 2.

At each interface in this network, a unique virtual path identifier (VPI) and virtual channel identifier (VCI) are established for this transmission. These identifiers are of local significance ONLY: the identifier is significant only for a specific switch and the two nodes adjacent to it in the virtual path. Each node within the virtual path (including both the end users and the switches) maintain a pool of inactive identifiers to be used as needed.

End User 2 encapsulates the file in 53-byte cells, each with its unique VPI/VCI "destination address" in the header. These cells are streamed and sent across the UNI to the ATM network switch. This switch reads the ATM header, consults the routing table created during the virtual path setup, changes the VPI/VCI as necessary, and sends each cell in the stream out of the appropriate port and across the NNI to the next switch in the virtual path.

The last switch within the virtual path for ATM Network 1 repeats this process and sends the cell out through the ICI to ATM Network 2.

ATM Network 2 continues the process in a similar manner until the cell is carried through the UNI to the Private ATM Switch which, in turn, sends the cell to End User 2. End User 2 then reconstructs the file from the sequential cells, stripping the 5-byte header from each cell.

End User 1 or End User 2 terminates the call, i.e., "hangs up," and the virtual path is dismantled. The VCI and VPI values are returned to the pool of available values for each switch.

Notice that only the End Users at either end of the transmission deal with the 48-byte information load within the cell. At each stage of the transmission, the switch is only concerned with accepting the cell from one port, changing the VPI/VCI according to its tables, and routing the cell out the appropriate switch port.

ATM Layered Architecture

At the End User sites, ATM operates with a layered structure that is similar to the OSI 7-layered model. However, ATM only addresses the functionality of the two lowest layers of the OSI model: the physical layer (Layer 1) and the data link layer (Layer 2).

All other layers are irrelevant in ATM, as these layers are only part of the encapsulated information portion of the cell which is not used by the ATM network.

In ATM, the functionality of the two lower OSI layers are handled by three layers (shown here below the double line):

.--------------------------------------------------------------,
|   Application Layer                                          |
+--------------------------------------------------------------+
|   User Layers                                                |
+==============================================================+
|   ATM Adaptation Layer :      Convergence Sublayer           |
|                           -----------------------------------|
|                           Segmentation & Reassembly Sublayer |
+--------------------------------------------------------------+
|   ATM Layer                                                  |
+--------------------------------------------------------------+
|   Physical Layer :   Transmission Convergence Sublayer       |
|                      ----------------------------------------|
|                      Physical Medium Dependent Sublayer      |
+--------------------------------------------------------------+

The Physical Layer defines the medium for transmission, any medium-dependent parameters (e.g., rate, quality of service required), and framing used to find the data contained within the medium.

The ATM Layer provides the basic 53-byte cell format, by defining the 5-byte ATM header for each 48-byte payload segment handed down by the AAL.

The ATM Adaptation Layer (AAL) adapts the higher-level data into formats compatible with the ATM Layer requirements, i.e., this layer segments the data and adds appropriate error control information as necessary. It is dependent on the type of services (voice, data, etc.) being transported by the higher layer.

Several AAL protocols have been defined for specific types of data. These are loosely associated with various classes of data. However, no AAL is restricted to a specific data class or type; all types of data could conceivable be handled by any of the AALs.

AAL 1
Constant bit rate, connection-oriented, synchronous traffic (e.g., uncompressed voice)
AAL 2
Definition never completed undefined, but envisioned to be for variable bit rate, connection-oriented, synchronous traffic (e.g., compressed video)
AAL 3/4
Variable bit rate, connection- oriented, asynchronous traffic (e.g., X.25 data) or connectionless packet data (e.g., SMDS traffic) with an additional 4-byte header in the information payload of the cell
AAL 5
Similar to AAL 3/4 with a simplified information header scheme that requires only one header per data unit and uses the PTI bit (see below) to indicate the last cell in a transmission Examples of services that use AAL 5 are Classic IP over ATM, and LAN Emulation (LANE). AAL 5 is the most widely used ATM Adaptation Layer Protocol.

See the ATM Adaptation Layer Protocols Overview for more details.

When the End User sends traffic over the ATM network, the higher-level data unit is passed down to the Convergence Sublayer of the AAL Layer, which prepares the data for the ATM Layer according to the designated AAL protocol (when appropriate). The data is then passed down to the Segmentation and Reassembly Sublayer of the AAL Layer, which divides the prepared data unit into appropriately sized segments.

These segments are then passed down to the ATM Layer, which defines an appropriate cell header for each segment and encapsulates the header and payload segment into a 53-byte ATM cell.

The cells are then passed down to the Physical Layer, which streams the cells at an appropriate pace for the transmission medium being used, adding empty cells as needed.

The ATM Cell

Each individual ATM cell consists of a 5-byte cell header and 48 bytes of information encapsulated within its payload. The ATM network uses the header to support the virtual path and the virtual channel routing, and to perform a quick error check for corrupted cells.

The 5-byte header is structured as shown below:

|  8   |  7   |  6   |  5   |  4   |  3   |  2   |  1   |   bits
+------+------+------+------+------+------+------+------+
|  Generic Flow Control*    |  Virtual Path Identifier  |
+---------------------------+---------------------------+
| Virtual Path Identifier   | Virtual Channel Identifier|
+---------------------------+---------------------------+
|               Virtual Channel Identifier              |
+---------------------------+--------------------+------+
|Virtual Channel Identifier |   Payload Type ID  |  CLP |
+---------------------------+--------------------+------+
|                 Header Error Control                  |
+-------------------------------------------------------+
|                  INFORMATION PAYLOAD                  |


  *  For the UNI header only.  The NNI header contains an
     additional 4 bytes of VPI information here instead.

Generic Flow Control (GFC)

The GFC field of the header is only defined across the UNI. It is intended to control the traffic flow across the UNI and to alleviate short-term overload conditions. It is currently undefined and these 4 bits must be set to 0's.

Virtual Path Identifier (VPI)

The VPI, an 8-bit field for the UNI and a 12-bit field for the NNI, is used to identify virtual paths. In an idle cell, the VPI is set to all 0's. (Together with the Virtual Channel Identifier, the VPI provides a unique local identification for the transmission.)

Virtual Channel Identifier (VCI)

This 16-bit field is used to identify a virtual channel. For idle cells, the VCI is set to all 0's. (Together with the Virtual Path Identifier, the VCI provides a unique local identification for the transmission.)

Payload Type Identifier (PTI)

The three bits of the PTI are used for different purposes. Bit 4 is set to 1 to identify operation, administration, or maintenance cells (i.e., anything other than data cells).

Bit 3 is set to 1 to indicate that congestion was experienced by a data cell in transmission and is only valid when bit 4 is set to 0.

Bit 2 is used by AAL 5 to identify the data as Type 0 (beginning of message, continuation of message; bit = 0) or Type 1 (end of message, single-cell message; bit = 1) when bit 4 is set to 0. It may also be used for management functions when bit 4 is set to 1. This bit is currently carried transparently through the network and has no meaning to the end user when AAL 5 is NOT in use.

Cell Loss Priority (CLP)

The 1-bit CLP field is used for explicit indication of the priority of the cell. It may be set by the AAL Layer to indicate cells to discard in cases of congestion, or by the network as part of the traffic management on commercial subscriber networks.

Header Error Control (HEC)

This is an 8-bit cyclical redundancy check computed for all fields of the first 4 bytes of the ATM cell header ONLY. It is capable of detecting all single-bit errors and some multiple-bit errors.

The HEC is compared by each switch as the ATM cell is received and all cells with HEC discrepancies (errors) are discarded. Cells with single-bit errors may be subject to error correction (if supported or discarded.

When a cell is passed through the switch and the VPI/VCI values are altered, the HEC is recalculated for the cell prior to being passed out the port.

Operations and Maintenance Cells (OAM)

The Operations and Maintenance (OAM) cells are used to provide various maintenance functions within the ATM network, including connectivity verification and alarm surveillance. These cells consist of a single segment with an ATM header (as described above).

The following format for the 48-byte payload:

+----------+----------+-----------------------------+--------+
| OAM Cell | Function |  Function-Specific Fields   | CRC-10 |
|  Type    |   Type   |        (45 Bytes)           |        |
+----------+----------+-----------------------------+--------+

OAM Cell Type
This is a 4-bit indicator of the type of OAM cell (e.g., 0001 to indicate Fault Management).
Function Type
This 4-bit indicator gives the purpose of this particular OAM cell (i.e., Alarm Indication Signal, Far End Receive Failure, Loopback).
Function-Specific Fields
The 45-bytes of this field are used specify the functions and information for this particular cell and to denote destination and failure information.
CRC-10
This 2-byte field consists of a 10-bit Cyclical Redundancy Check for the previous 46 bytes and 6 bits of PAD. The CRC-10 generating polynomial is: x10 + x9 + x5 + x4 + x + 1.