ATM is a connection-oriented, Layer 2 (OSI Reference Model Data Link Layer (2), circuit-switched, cell relay protocol that runs over Synchronous Optical Network (SONET) physical links (OSI Reference Model Physical Layer (1) using cells of identical and never varying size. Consistent predictability is the underlying ethos here.
Asynchronous Transfer Mode (ATM) Cell Structure
ATM breaks all packets, data, and voice streams into 48-byte chunks and then adds a 5-byte routing header to each one thereby making a total of 53-bytes for each and every cell. The 5-byte header is essential for later reassembly. During development of ATM it was considered that 10% (5 bytes) of each cell (payload) being dedicated to the header for routing information was more than sufficient.
ATM multiplexes these 53-byte cells instead of the larger packets and in so doing reduced the worst-case queuing jitter by a factor of almost 30, thereby removing the need for echo cancellers.
Asynchronous Transfer Mode (ATM) Cell Formats
ATM defines two different cell formats the Network-Network Interface (NNI) and the User-Network Interface (UNI). Most ATM links use the UNI cell format.
Asynchronous Transfer Mode (ATM) Adaption Layers (AAL)
ATM Adaptation Layers (AAL) are the rules for segmenting and reassembling packets and streams into cells. It is the AALs that provide the support for the various services delivered by ATM. Currently there are five different AALs and the information concerning which one is being used for each cell on a cell-by-cell basis is not contained within the cell or in the cell header. Rather, this information is negotiated by or configured at the endpoints on a per-virtual-connection basis. Here are the five different AALs:
- AAL1 – Constant Bit Rate (CBR) Services, Circuit Emulation
- AAL2 – Variable Bit Rate (VBR) Services
- AAL3 – Variable Bit Rate (VBR) Services
- AAL4 – Variable Bit Rate (VBR) Services
- AAL5 – Data Transport
Asynchronous Transfer Mode (ATM) Connectivity
Because ATM is a connection-oriented channel-based technology it must establish a “logical” connection between the two endpoints prior to commencement of data exchange. Key ATM concepts include:
- Virtual Circuits (VC) – Virtual Circuits (VC) are admirably suited to multiplexing scenarios. Simply by including an 8-bit or 12-bit Virtual Path Identifier (VPI) and a 16-bit Virtual Channel Identifier (VCI) pair in every ATM frame’s header each Virtual Circuit (VC) is uniquely identifiable.
- Virtual Channel – An ATM Virtual Channel represents the basic means of communication between two end-points. Cells are given a unique identifier called the Virtual Channel Identifier (VCI) which is placed into the ATM cells’ header. All ATM cells containing identical VCIs are transported in the same Virtual Channel.
- Virtual Path (VP) – A Virtual Path (VP) denotes the transport of ATM cells belonging to virtual channels which share a common identifier called a Virtual Path Identifier (VPI). The VPI is included in the header of every ATM frame. In other words a Virtual Path (VP) is a bunch of Virtual Channels (VC) connecting the same end-points. These will also have a common traffic allocation.
- Virtual Path Identifier (VPI) – The Virtual Path Identifier’s (VPI) length varies depending on the interface it is sent on (inside the network or on the edge of the network.
Asynchronous Transfer Mode (ATM) Traffic Contracts
When an ATM circuit is set up each switch is informed of the traffic class of the connection. These ATM contracts constitute part of ATM’s Quality of Service (QoS) mechanisms. There are four basic types of contracts:
- Constant Bit Rate (CBR) – A constant specified Peak Cell Rate (PCR) is set
- Variable Bit Rate (VBR) – An average cell rate is specified. This may peak at a certain predefined maximum level for a certain length of time before becoming problematic
- Available Bit Rate (ABR) – A minimum guaranteed rate is specified
- Unspecified Bit Rate (UBR) – Traffic is allocated all remaining transmission capacity
The objective of traffic shaping is to ensure that cell flow will meet its traffic contract and is usually done at the entry point to an ATM network.
To maintain network performance it is possible to “police” virtual circuits against their traffic contracts. If a circuit is exceeding its traffic contract, the network can either drop the cells or mark the Cell Loss Priority (CLP) bit (to identify a cell as discardable farther down the line). Basic policing works on a cell by cell basis, but this is sub-optimal for encapsulated packet traffic. Discarding a single cell will invalidate the whole packet of which the single cell is but one component.