ATM is a method for providing a a heterogeneous mix of network protocols to support transmission of voice, data and video data on a single network, using cell-relay and circuit switching techniques.
ATM carries all traffic in a stream of fixed-size packets (cells), each containing 5 bytes of header information and a 48-byte information field (payload). The reason for choosing a fixed-size packet is to ensure that the switching and multiplexing function can be carried out as quickly as possible. ATM is a connection-oriented service in that before two systems on the network can communicate, they need to inform all intermediate switches about their service requirements and traffic parameters. This is similar to the telephone networks where a fixed path is set up from the calling party to the receiving party.
In ATM networks, each connection is called a virtual circuit (VC), and it allows the capacity of each link to be shared by all connections on a demand basis rather than by fixed allocations. The connections allow the network to guarantee the quality of service (QoS) by limiting the number of VCs. Typically, a user declares its key service requirements at the time the connection is established, along with other traffic parameters and may agree to control these parameters dynamically as demanded by the network.
AAL1 supports a connection-oriented service in which the bit rate is constant. Examples of this service include 64 Kbit/sec voice, fixed-rate uncompressed video and leased lines for private data networks.
AAL2 supports a connection-oriented service in which the bit rate is variable but cell delay is controlled (or bounded). Examples of this service include compressed voice or video data. The requirement on bounded delay for delivery is necessary to allow the receiver time to reconstruct the original uncompressed voice or video. At the moment, AAL2 has not been fully developed.
Examples of AAL3/4 services include connection oriented file transfer and general data network applications where a connection is set up before data is transferred. This service has variable bit rate and does not require bounded delay for delivery.
AAL5 is similar to AAL3/4, but has a simplified information header scheme that requires only one header per data unit. Examples of this service include datagram traffic and data network applications where no connection is set up before data is transferred.
Although each AAL is optimised for a specific type of traffic, there is no requirement that AALs designed for one class of traffic cannot be used for another.
The ATM layer provides an interface between the AAL and the physical layer. This layer is responsible for relaying cells from the AAL to the physical layer for transmission and from the physical layer to the AAL for use at the end systems. When it is inside an end system, the ATM layer receives a stream of cells from the physical layer and transmits either cells with new data or empty cells if there is no data to send. When it is inside a switch, the ATM layer determines where the incoming cells should be forwarded to, resets the corresponding connection identifiers and forwards the cells to the next link. In addition, it buffers incoming and outgoing cells, and handles various traffic management functions such as cell loss priority marking, congestion indication, and generic flow control access.
The layout of an ATM cell is shown below :-
|Generic Flow Control
|Virtual Path Identifier
|Virtual Channel Identifier
|Cell Loss Priority
|Header Error Control
The fields in the ATM header define the functionality of the ATM layer. The format of the header for ATM cells has two different forms, one for use at the user-to-network interface (UNI) and the other for use internal to the network, the network-to-node interface (NNI). At the UNI, the header dedicates four bits to a function called generic flow control (GFC), which was originally designed to control the amount of traffic entering the network. This allows the UNI to limit the amount of data entering the network during periods of congestion. At the NNI, these four bits are allocated to the virtual path identifier (VPI).
The VPI and the virtual channel identifier (VCI) together form the routing field, which associates each cell with a particular channel or circuit. The VCI is a single-channel identifier; the VPI allows grouping of VCs with different VCIs and allows the group to be switched together as an entity. However, the VPIs and VCIs have significance only on the local link; the contents of the routing field will generally change as the cell traverses from link to link. For the UNI, the routing field contains 24 bits and the interface can support over 16 million sessions. At the NNI, the field contains 28 bits, allowing over 268 million sessions to share a link within a subnet.
The payload type indicator (PTI) field is used to distinguish between cells carrying user data and cells containing control information. This allows control and signaling data to be transmitted on a different subchannel from user data and hence separation of user and control data. A particular combination is used by the AAL if the cell is a part of an AAL5 connection. Another combination is used to indicate that the cell has experienced congestion.
The cell loss priority (CLP) bit provides the network with a selective discard capability. This bit can be set by a user to flag lower-priority cells that can be discarded by the network during periods of congestion. For example, data applications generally cannot suffer any cell loss without the need for retransmission, while voice and video traffic can usually tolerate minor cell loss.
The header error check (HEC) field is used to reduce errors in the header that cause a misrouting of the cell for one user into another user's data stream. This field contains the result of an 8-bit CRC checksum on the ATM header (but not on the data). In addition, single-bit errors commonly produced by fibre optic links can be corrected.
Another scheme is to implement a LAN emulation service as device drivers below the network layer in ATM-to-legacy LAN bridges and other ATM end systems. In an ATM end system adapter, LAN emulation device drivers would interface with existing driver specifications, such as Network Driver Interface Specification (NDIS) and Open Datalink Interface (ODI) used by TCP/IP and IPX.
A major difference between existing LANs and ATM networks is that LANs are connectionless, whereas ATM natively supports only connection-oriented services. An important function for a LAN emulation service is to be able to support a connectionless service over ATM.
In existing LAN services, a source system sends a data frame to a destination by adding to the frame the destination address and sending it to the network. A receiving system will then accept the frame when the destination address included in the frame matches its own address. In a network with multiple LAN segments, bridges and routers are used to handle the forwarding of the frame to the segment to which the destination system is attached.
In a connection-oriented network such as ATM, however, a source system needs to first set up a connection to the destination before it can transfer data frames. This requires the source system to exchange control information with the network using a signaling protocol.