ATM Cell Structure
At either a private or a public user-network interface (UNI), an ATM cell always consists of a 5-byte header followed by a 48-byte payload. The header is composed of six elements, each detailed in Figure 14.6.
Figure 14.6 ATM Cell Header Structure
Generic Flow Control
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.
Virtual Path Identifier
The Virtual Path Identifier (VPI) defines the virtual path for this particular cell. VPIs for a particular virtual channel connection are discovered during the connection setup process for switched virtual circuit (SVC) connections and manually configured for permanent virtual circuit (PVC) connections. At the UNI, the VPI length of 8 bits allows up to 256 different virtual paths. VPI 0 exists by default on all ATM equipment and is used for administrative purposes such as signaling to create and delete dynamic ATM connections.
Virtual Channel Identifier
The Virtual Channel Identifier (VCI) defines the virtual channel within the specified virtual path for this particular cell. Just as with VPIs, VCIs are also discovered during the connection setup process for switched virtual circuit (SVC) connections and manually configured for permanent virtual circuit (PVC) connections. The VCI length of 16 bits allows up to 65,536 different virtual channels for each virtual path. VCIs 0 to 15 are reserved by the ITU and VCIs from16 to 32 are reserved by the ATM Forum (for each virtual path). These reserved VCIs are used for signaling, operation and maintenance, and resource management.
The combination of VPI and VCI values identifies the virtual circuit for a specified ATM cell. The VPI/VCI combination provides the ATM forwarding information that the ATM switch uses to forward the cell to its destination. The VPI/VCI combination is not a network layer address such as an IP or IPX network address.
The VPI/VCI combination acts as a local identifier of a virtual circuit and is similar to the Logical Channel Number in X.25 and the Data Link Connection Identifier (DLCI) in Frame Relay. At any particular ATM endpoint or switch, the VPI/VCI uniquely identifies a virtual circuit to the next ATM endpoint or switch. The VPI/VCI pair need not match the VCI/VPI used by the final destination ATM endpoint.
The VPI/VCI combination is unique for each transmission path (that is, for each cable or connection to the ATM switch). However, two different virtual circuits on two different ports on an ATM switch can have the same VPI/VCI without conflict.
Payload Type Indicator
The Payload Type Indicator (PTI) is a 3-bit field. Its bits are used as follows:
The first bit indicates the type of ATM cell that follows. A first bit set to 0 indicates user data; a bit set to 1 indicates operations, administration & management (OA&M) data.
The second bit indicates whether the cell experienced congestion in its journey from source to destination. This bit is also called the Explicit Forward Congestion Indication (EFCI) bit. The second bit is set to 0 by the source; if an interim switch experiences congestion while routing the cell, it sets the bit to 1. After it is set to 1, all other switches in the path leave this bit value at 1.
Destination ATM endpoints can use the EFCI bit to implement flow control mechanisms to throttle back on the transmission rate until cells with an EFCI bit set to 0 are received.
The third bit indicates the last cell in a block for AAL5 in user ATM cells. For non-user ATM cells, the third bit is used for OA&M functions.
Cell Loss Priority
The Cell Loss Priority (CLP) field is a 1-bit field used as a priority indicator. When it is set to 0, the cell is high priority and interim switches must make every effort to forward the cell successfully. When the CLP bit is set to 1, the interim switches sometimes discard the cell in congestion situations. The CLP bit is very similar to the Discard Eligibility (DE) bit in Frame Relay.
An ATM endpoint sets the CLP bit to 1 when a cell is created to indicate a lower priority cell. The ATM switch can set the CLP to 1 if the cell exceeds the negotiated parameters of the virtual channel connection. This is similar to bursting above the Committed Information Rate (CIR) in Frame Relay.
Header Error Check
The Header Error Check (HEC) field is an 8-bit field that allows an ATM switch or ATM endpoint to correct a single-bit error or to detect multi-bit errors in the first 4 bytes of the ATM header. Multi-bit errored cells are silently discarded. The HEC only checks the ATM header and not the ATM payload. Checking the payload for errors is the responsibility of upper layer protocols.