Asynchronous Transfer Mode (ATM) is a telecommunications standard defined by the American National Standards Institute and International Telecommunication Union Telecommunication Standardization Sector (ITU-T, formerly CCITT) for digital transmission of multiple types of traffic. ATM was developed to meet the needs of the Broadband Integrated Services Digital Network as defined in the late 1980s, and designed to integrate telecommunication networks. It can handle both traditional high-throughput data traffic and real-time, low-latency content such as telephony (voice) and video.Telcordia Technologies, Telcordia Notes on the Network, Publication SR-2275 (October 2000)ATM Forum, The User Network Interface (UNI), v. 3.1, , Prentice Hall PTR, 1995, page 2. ATM is a cell switching technology, providing functionality that combines features of circuit switching and packet switching networks by using asynchronous time-division multiplexing.McDysan (1999), p. 287. ATM was seen in the 1990s as a competitor to Ethernet and networks carrying IP traffic, as it was faster and, unlike Ethernet, designed with quality-of-service in mind, but it fell out of favor once Ethernet reached speeds of 1 gigabit per second.

In the Open Systems Interconnection (OSI) reference model data link layer (layer 2), the basic transfer units are called frames. In ATM, these frames are of a fixed length (53 octets) called cells. This differs from approaches such as Internet Protocol (IP) (OSI layer 3) or Ethernet (also layer 2) that use variable-sized packets or frames. ATM uses a connection-oriented model in which a virtual circuit must be established between two endpoints before the data exchange begins. These virtual circuits may be either permanent (dedicated connections that are usually preconfigured by the service provider), or switched (set up on a per-call basis using signaling and disconnected when the call is terminated).

The ATM network reference model approximately maps to the three lowest layers of the OSI model: physical layer, data link layer, and network layer.McDysan, David E. and Spohn, Darrel L., ATM: Theory and Application, , McGraw-Hill series on computer communications, 1995, page 563. ATM is a core protocol used in the synchronous optical networking and synchronous digital hierarchy (SONET/SDH) backbone of the public switched telephone network and in the Integrated Services Digital Network (ISDN) but has largely been superseded in favor of next-generation networks based on IP technology. Wireless and mobile ATM never established a significant foothold.

Protocol architecture To minimize queuing delay and packet delay variation (PDV), all ATM cells are the same small size. Reduction of PDV is particularly important when carrying voice traffic, because the conversion of digitized voice into an analog audio signal is an inherently real-time process. The decoder needs an evenly spaced stream of data items.

At the time of the design of ATM, synchronous digital hierarchy with payload was considered a fast optical network link, and many plesiochronous digital hierarchy links in the digital network were considerably slower, ranging from 1.544 to in the US, and 2 to in Europe.

At , a typical full-length 1,500 byte Ethernet frame would take 77.42 μs to transmit. On a lower-speed T1 line, the same packet would take up to 7.8 milliseconds. A queuing delay induced by several such data packets might exceed the figure of 7.8 ms several times over. This was considered unacceptable for speech traffic.

The design of ATM aimed for a low-jitter network interface. Cells were introduced to provide short queuing delays while continuing to support datagram traffic. ATM broke up all data packets and voice streams into 48-byte pieces, adding a 5-byte routing header to each one so that they could be reassembled later. Being 1/30th the size reduced cell contention jitter by the same factor of 30.

The choice of 48 bytes was political rather than technical. When the CCITT (now ITU-T) was standardizing ATM, parties from the United States wanted a 64-byte payload because this was felt to be a good compromise between larger payloads optimized for data transmission and shorter payloads optimized for real-time applications like voice. Parties from Europe wanted 32-byte payloads because the small size (4 ms of voice data) would avoid the need for echo cancellation on domestic voice calls. The United States, due to its larger size, already had echo cancellers widely deployed. Most of the European parties eventually came around to the arguments made by the Americans, but France and a few others held out for a shorter cell length.

48 bytes was chosen as a compromise, despite having all the disadvantages of both proposals and the additional inconvenience of not being a power of two in size. 5-byte headers were chosen because it was thought that 10% of the payload was the maximum price to pay for routing information.

Cell structure An ATM cell consists of a 5-byte header and a 48-byte payload. ATM defines two different cell formats: user–network interface (UNI) and network–network interface (NNI). Most ATM links use UNI cell format.

Diagram of a UNI ATM cell

7 4 3 0 GFC VPI VPI VCI VCI VCI PT CLP HEC

Payload and padding if necessary (48 bytes)Diagram of an NNI ATM cell

7 4 3 0 VPI VPI VCI VCI VCI PT CLP HEC

Payload and padding if necessary (48 bytes)

GFC The generic flow control (GFC) field is a 4-bit field that was originally added to support the connection of ATM networks to shared access networks such as a distributed queue dual bus (DQDB) ring. The GFC field was designed to give the User-Network Interface (UNI) 4 bits in which to negotiate multiplexing and flow control among the cells of various ATM connections. However, the use and exact values of the GFC field have not been standardized, and the field is always set to 0000. VPI Virtual path identifier (8 bits UNI, or 12 bits NNI) VCI Virtual channel identifier (16 bits) PT Payload type (3 bits) Bit 3 (msbit): Network management cell. If 0, user data cell and the following apply: Bit 2: Explicit forward congestion indication (EFCI); 1 = network congestion experienced Bit 1 (lsbit): ATM user-to-user (AAU) bit. Used by AAL5 to indicate packet boundaries. CLP Cell loss priority (1-bit) HEC Header error control (8-bit CRC, polynomial = X8 + X2 + X + 1)

ATM uses the PT field to designate various special kinds of cells for operations, administration and management (OAM) purposes, and to delineate packet boundaries in some ATM adaptation layers (AAL). If the most significant bit (MSB) of the PT field is 0, this is a user data cell, and the other two bits are used to indicate network congestion and as a general-purpose header bit available for ATM adaptation layers. If the MSB is 1, this is a management cell, and the other two bits indicate the type: network management segment, network management end-to-end, resource management, and reserved for future use.

Several ATM link protocols use the HEC field to drive a CRC-based framing algorithm, which allows locating the ATM cells with no overhead beyond what is otherwise needed for header protection. The 8-bit CRC is used to correct single-bit header errors and detect multi-bit header errors. When multi-bit header errors are detected, the current and subsequent cells are dropped until a cell with no header errors is found.

A UNI cell reserves the GFC field for a local flow control and sub-multiplexing system between users. This was intended to allow several terminals to share a single network connection in the same way that two ISDN phones can share a single basic rate ISDN connection. All four GFC bits must be zero by default.

The NNI cell format replicates the UNI format almost exactly, except that the 4-bit GFC field is re-allocated to the VPI field, extending the VPI to 12 bits. Thus, a single NNI ATM interconnection is capable of addressing almost 212 VPs of up to almost 216 VCs each.

Service types ATM supports different types of services via AALs. Standardized AALs include AAL1, AAL2, and AAL5, and the rarely used AAL3 and AAL4. AAL1 is used for constant bit rate (CBR) services and circuit emulation. Synchronization is also maintained at AAL1. AAL2 through AAL4 are used for variable bitrate (VBR) services, and AAL5 for data. Which AAL is in use for a given cell is not encoded in the cell. Instead, it is negotiated by or configured at the endpoints on a per-virtual-connection basis.

Following the initial design of ATM, networks have become much faster. A 1500-byte (12000-bit) full-size Ethernet frame takes only 1.2 μs to transmit on a network, reducing the motivation for small cells to reduce jitter due to contention. The increased link speeds by themselves do not eliminate jitter due to queuing.

ATM provides a useful ability to carry multiple logical circuits on a single physical or virtual medium, although other techniques exist, such as Multi-link PPP, Ethernet VLANs, VxLAN, MPLS, and multi-protocol support over SONET.

Virtual circuits An ATM network must establish a connection before two parties can send cells to each other. This is called a virtual circuit (VC). It can be a permanent virtual circuit (PVC), which is created administratively on the endpoints, or a switched virtual circuit (SVC), which is created as needed by the communicating parties. SVC creation is managed by signaling, in which the requesting party indicates the address of the receiving party, the type of service requested, and whatever traffic parameters may be applicable to the selected service. Call admission is then performed by the network to confirm that the requested resources are available and that a route exists for the connection.

Motivation ATM operates as a channel-based transport layer, using VCs. This is encompassed in the concept of the virtual paths (VP) and virtual channels. Every ATM cell has an 8- or 12-bit virtual path identifier (VPI) and 16-bit virtual channel identifier (VCI) pair defined in its header.Cisco Systems Guide to ATM Technology (2000). Section "Operation of an ATM Switch". Retrieved 2 June 2011. The VCI, together with the VPI, is used to identify the next destination of a cell as it passes through a series of ATM switches on its way to its destination. The length of the VPI varies according to whether the cell is sent on a user-network interface (at the edge of the network), or if it is sent on a network-network interface (inside the network).

As these cells traverse an ATM network, switching takes place by changing the VPI/VCI values (label swapping). Although the VPI/VCI values are not necessarily consistent from one end of the connection to the other, the concept of a circuit is consistent (unlike IP, where any given packet could get to its destination by a different route than the others).Cisco Systems Guide to ATM Technology (2000). Section "ATM Cell Header Formats". Retrieved 2 June 2011. ATM switches use the VPI/VCI fields to identify the virtual channel link (VCL) of the next network that a cell needs to transit on its way to its final destination. The function of the VCI is similar to that of the data link connection identifier (DLCI) in Frame Relay and the logical channel number and logical channel group number in X.25.

Another advantage of the use of virtual circuits comes with the ability to use them as a multiplexing layer, allowing different services (such as voice, Frame Relay, IP). The VPI is useful for reducing the switching table of some virtual circuits that have common paths.

Types ATM can build virtual circuits and virtual paths either statically or dynamically. Static circuits (permanent virtual circuits or PVCs) or paths (permanent virtual paths or PVPs) require that the circuit be composed of a series of segments, one for each pair of interfaces through which it passes.