The Asynchronous Transfer Mode (ATM) cell header is a crucial 5-byte component that precedes a 48-byte payload, forming a complete 53-byte ATM cell. This header is vital for routing and managing data within an ATM network. ATM defines two primary header formats, tailored for different interfaces: the User-Network Interface (UNI) and the Network-Network Interface (NNI). While both serve similar functions, the UNI cell format is the most widely adopted for ATM links, especially between user devices and network switches.
Understanding ATM Cell Headers
An ATM cell's small, fixed size, including its compact 5-byte header, is fundamental to ATM's design philosophy of fast, hardware-based switching. The header carries essential information required to route the cell across virtual connections and manage its transmission.
Two Formats: UNI and NNI
The distinction between UNI and NNI headers lies in a few key fields, reflecting their respective roles in the network.
1. User-Network Interface (UNI) Header Format
The UNI header is used for communication between an ATM end-system (like a computer or router) and an ATM switch. It includes a Generic Flow Control (GFC) field, which provides local flow control mechanisms, particularly useful in shared medium access scenarios.
Here’s a breakdown of the 5-byte UNI header fields:
Field Name | Bit Length | Description |
---|---|---|
GFC (Generic Flow Control) | 4 bits | Provides local flow control between the user and the network, primarily for managing traffic on shared access lines. |
VPI (Virtual Path Identifier) | 8 bits | Identifies the virtual path to which the cell belongs. Virtual paths multiplex multiple virtual channels. |
VCI (Virtual Channel Identifier) | 16 bits | Identifies the virtual channel within a virtual path. This uniquely identifies a specific connection. |
PTI (Payload Type Indicator) | 3 bits | Indicates the type of information contained in the cell's payload (e.g., user data, OAM cells, congestion notification). |
CLP (Cell Loss Priority) | 1 bit | Specifies the cell's priority. If set to 1, the cell may be discarded by the network during periods of congestion; if 0, it is considered higher priority. |
HEC (Header Error Control) | 8 bits | A Cyclic Redundancy Check (CRC) field calculated over the first 4 bytes of the header. It allows for single-bit error correction and multiple-bit error detection to ensure header integrity. |
Detailed Bit Allocation for UNI Header:
Byte | Bit 8 | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 |
---|---|---|---|---|---|---|---|---|
1 | GFC | GFC | GFC | GFC | VPI | VPI | VPI | VPI |
2 | VPI | VPI | VPI | VPI | VCI | VCI | VCI | VCI |
3 | VCI | VCI | VCI | VCI | VCI | VCI | VCI | VCI |
4 | VCI | VCI | VCI | VCI | PTI | PTI | PTI | CLP |
5 | HEC | HEC | HEC | HEC | HEC | HEC | HEC | HEC |
2. Network-Network Interface (NNI) Header Format
The NNI header is used for communication between ATM switches within the network. In this format, the 4 bits allocated for GFC in the UNI header are instead used to expand the Virtual Path Identifier (VPI) field, allowing for a larger range of virtual paths within the core network. This makes NNI suitable for the larger, more complex routing requirements of backbone networks.
Here’s a breakdown of the 5-byte NNI header fields:
Field Name | Bit Length | Description |
---|---|---|
VPI (Virtual Path Identifier) | 12 bits | Identifies the virtual path. This extended VPI field (compared to UNI) supports a larger number of virtual paths within the network core. |
VCI (Virtual Channel Identifier) | 16 bits | Identifies the virtual channel within a virtual path. |
PTI (Payload Type Indicator) | 3 bits | Indicates the type of information in the cell's payload. |
CLP (Cell Loss Priority) | 1 bit | Specifies the cell's priority. |
HEC (Header Error Control) | 8 bits | A Cyclic Redundancy Check (CRC) field for header integrity. |
Detailed Bit Allocation for NNI Header:
Byte | Bit 8 | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 |
---|---|---|---|---|---|---|---|---|
1 | VPI | VPI | VPI | VPI | VPI | VPI | VPI | VPI |
2 | VPI | VPI | VPI | VPI | VCI | VCI | VCI | VCI |
3 | VCI | VCI | VCI | VCI | VCI | VCI | VCI | VCI |
4 | VCI | VCI | VCI | VCI | PTI | PTI | PTI | CLP |
5 | HEC | HEC | HEC | HEC | HEC | HEC | HEC | HEC |
Key Differences and Importance
- GFC vs. VPI Extension: The most significant difference is the presence of the GFC field in UNI headers, which is replaced by an expanded VPI field in NNI headers. This reflects the different control needs at the user-network edge versus the core network.
- Virtual Connections: The VPI and VCI fields together form the Virtual Connection Identifier (VCI), which is crucial for identifying the specific virtual circuit across the ATM network. This hierarchical addressing scheme enables efficient routing and resource allocation.
- Header Error Control (HEC): The HEC field is critical for network reliability. It detects and can correct single-bit errors in the header, preventing misrouting of cells due to transmission errors. If a multi-bit error is detected, the cell is typically discarded.
For further reading on ATM technology and its specifications, refer to ITU-T Recommendation I.361 and the Asynchronous Transfer Mode article on Wikipedia.