[Home]Asynchronous Transfer Mode

HomePage | Recent Changes | Preferences

Showing revision 21
Asynchronous Transfer Mode, or ATM for short, a cell-based network layer which switches on fixed sized (53 byte) cells instead of variable sized packets as in Internet protocol

ATM was intended to provide a single wide-area-networking standard that could support both synchronous channel networking (PDH?, SDH?) and packet-based networking (IP, [Frame Relay]?, etc), whilst supporting multiple levels of [quality of service]? for packet traffic.

ATM sought to resolve the conflict between circuit-switched networks and packet-switched networks by mapping both bitstreams and packet-streams onto a stream of small ATM cells tagged with virtual circuit identifiers. The cells are typically sent on demand within a synchronous time-slot pattern in a synchronous bit-stream: what is asynchronous here is the sending of the cells, not the low-level bitstream that carries them.

It its original conception, ATM was to be the enabling technology of the 'Broadband Integrated Services Digital Network' (B-ISDN) that would replace the existing PSTN. The full suite of ATM standards provides definitions for layer 1 (physical connections), layer 2 (data link layer) and layer 3 (network) of the classical ISO networking model. The ATM standards drew on concepts drawn from the telecommunications community, rather than the computer networking community. For this reason, extensive provision was made for integration of most existing telco technologies and conventions into ATM.

As a result, ATM is a highly complex technology, with features intended for applications ranging from global telco networks to private local area computer networks.

Numerous telco?s have implemented wide-area ATM networks, and ATM is used in many ADSL implementations. However, ATM has failed to be widely adopted as a LAN technology, and its great complexity has prevented it from being fully deployed as the single integrating network technology in the way that its inventors originally intended.

ATM Concepts

Why cells?

The motivation of the use of small data cells was the reduction of jitter in the multiplexing of data streams.

At the time ATM was designed, 155 Mbits/s (135 Mbits/s payload) was consdered a fast optical network link, and many links in the digital network were considerably slower, ranging from 1.544 Mbits/s to 45 Mbits/s in the USA (2 Mbits/s to 34 Mbits/s in Europe).

At this rate, a 1500 byte (12000 bit) cell would take 89 µs to transmit. In a lower-speed link, such as a 1.544 Mbits/s T1 link, a 1500 byte packet would take up to 7.8 milliseconds.

Now consider a speech signal reduced to packets, and forced to share a link with bursty data traffic. No matter how small the speech packets, they would always encounter full-size data packets, and under normal queuing conditions, might experience maximum queuing delays that might be several times the figure of 7.8 ms, in addition to any packetisation delay in the shorter speech packet. This was clearly unacceptable for speech traffic, as even if the jitter was buffered out, the delay involved would be such that echo cancellers would be required even in local networks. This was considered too expensive at the time.

The ATM solution was to break all packets, data and voice streams up into 48 byte chunks, adding a 5 byte routing header to each one so that they could be re-assembled later, and to multiplex these instead of packets. Doing so reduced the worst-case queuing jitter by a factor of almost 30, removing the need for echo cancellers.

Since then, networks have become much faster. Now (2001) a 1500 byte (12000 bit) full-size Ethernet packet will take only 1.2 µs to transmit on a 10 Gbits/s optical network, removing the need for small cells to reduce jitter, and some consider that this removes the need for ATM in the network backbone.

On slow links (2 Mbit/s and below) ATM still makes sense, and this is why so many ADSL systems use ATM as an intermediate layer between the physical link layer and a Layer 2 protocol like PPP or Ethernet.

Why virtual circuits?

ATM is a channel based transport layer. This is encompassed in the concept of Virtual Paths (VP's) and Virtual Circuits (VC's). Every ATM cell has a VP/VC pair defined in its header. As these cells traverse an ATM network switching is achieved by changing the VP/VC values. Although the VP/VC values are not constent from one end of the connection to the other the concept of a circuit is (unlike IP where any given packet could get to its destination by a different route to preceeding and following packets).

Using cells and virtual circuits for traffic engineering

Another key ATM concept is that of the traffic contract. When an ATM circuit is set up each switch is informed of the traffic class of the connection.

ATM traffic contracts are part of the mechanism by which "Quality of Service" (QoS) is ensured. There are three basic types (and several varients) which each have a set of parameters decribing the connection.

Most traffic classes also introduce the concept of Cell Delay variation Time (CDVT) which defines the "clumping" of cells .

Traffic contracts are usually maintained by the use of "Shaping", a combination of queuing and marking of cells, and enforced by "Policing" where cells are discarded or marked as discardable by the network if a network user does not abide by its traffic contract.

Structure of an ATM Cell

An ATM cell consists of a 5 byte header and a 48 byte payload. The payload size of 48 bytes was a compromise between the needs of voice telephony and packet networks, obtained by a simple averaging of the US proposal of 64 bytes and European proposal of 32, said by some to be motivated by a European desire not to need echo-cancellers on national trunks.

ASCII diagram of a UNI ATM cell

  8           4           0
 - - - - - - - - - - - - - -
 |  GFC       |  VPI       |
 - - - - - - - - - - - - - -
 |  VPI       |  VCI       |
 - - - - - - - - - - - - - -
 |  VCI                    |
 - - - - - - - - - - - - - -
 |  VCI       | PT     |CLP|
 - - - - - - - - - - - - - -
 |  HEC                    |
 - - - - - - - - - - - - - -
 |                         |
 |  48 bytes of payload    |
 |                         |
            ...
 |                         |
 |                         |
 - - - - - - - - - - - - - -


See also:
Note: this article is a bit of a mess, and needs editing to integrate its diverse pieces, see talk for details.

/Talk


External links:


HomePage | Recent Changes | Preferences
This page is read-only | View other revisions | View current revision
Edited November 30, 2001 8:47 am by The Anome (diff)
Search: