The ATM Forum defines Inverse Multiplexing over ATM (IMA), which round-robins ATM cells across two or more physical T1 links in a logical bundle. The Forum has published two versions of the IMA specification AF-PHY-0086.001. The purpose of this document is to clarify the changes introduced in version 1.1 (v1.1) of the specification and to clarify Cisco support for IMA v1.1.
To download the IMA and other approved specifications, refer to The ATM Forum Approved Specifications . In addition, these resources provide background information on configuring Cisco IMA router hardware:
Inverse Multiplexing Over ATM on Cisco 7X00 Routers and ATM Switches
Inverse Multiplexing Over ATM (IMA) on Cisco 2600 and 3600 Routers
There are no specific requirements for this document.
This document is not restricted to specific software and hardware versions.
For more information on document conventions, refer to the Cisco Technical Tips Conventions.
The Cisco ATM Advanced Integration Modules (AIM-ATM), when used with voice/WAN interface card (VWIC-MFT), are the only modules that supports IMA v1.1. All other Cisco IMA port adapters, network modules, and ATM switch modules support only IMA version 1.0 (v1.0), as of January 2004. The support for IMA v1.1 is detailed in the What versions of IMA are supported by Cisco Systems? section of the document Inverse Multiplexing for ATM (IMA) Frequently Asked Questions.
Cisco IMA v1.0 hardware interoperates with network devices supporting either v1.0 or v1.1. However, you must ensure that the physical port number at both ends of each physical T1 link accommodates link ordering changes specified in v1.1. In other words, ensure port 0 on your IMA port adapter or network module connects to port 0 on an IMA network switch or other device.
Alternately, configure a remote device supporting IMA v1.1 to ignore the Operation and Maintenance (OAM) Label field in IMA control cells or reconfigure it for 1.0 support. The OAM Label field identifies whether the sending device is using a v1.0 or v1.1 IMA format. The ATM Forum specifies that a backward-compatible ATM device which receives ATM cells with the OAM Label indicating 1.1 should reconfigure itself in 1.0 mode.
Some third-party ATM switches are not backward-compatible. A symptom of a mismatch in IMA versions is a config-aborted value in the ImaGroupState field of the show ima interface atm command, as shown below.
Router#show ima interface atm 1/ima0 detail ATM1/ima0 is up ImaGroupState:NearEnd = config-aborted, FarEnd = config-aborted ImaGroupFailureStatus = Failure IMA Group Current Configuration: ImaGroupMinNumTxLinks = 2 ImaGroupMinNumRxLinks = 2 ImaGroupDiffDelayMax = 25 ImaGroupNeTxClkMode = common(ctc) ImaGroupFrameLength = 128 ImaTestProcStatus = disabled ImaGroupTestLink = 0 ImaGroupTestPattern = 0xFF !--- Output suppressed.
The config-aborted value indicates that the far-end IMA device is using unacceptable configuration parameters, such as an unsupported IMA version. Refer to Troubleshooting ATM Links on the 7x00 IMA Port Adapter for more information.
The ATM Forum explains why it introduced the IMA v1.1. specification in this way: "The purpose of this revision is to introduce the IMA Protocol Implementation Conformance Statement (PICS) proforma and a new version of the IMA MIBs as well as several minor corrections and clarifications to the content of IMA v1.0. It is recognized that inter-operability problems were generated by different interpretations of some IMA v1.0 requirements. For this reason, the ATM Forum encourages the migration to IMA v1.1."
This section provides more information on these changes.
Change | Description |
---|---|
IMA Protocol Implementation Conformance Statement (PICS) | A PICS document states which capabilities and options that a given protocol has implemented. Refer to Annex I on page 88 of the v1.1 Specification for a list of mandatory and optional functions of the IMA protocol. |
IMA Management Information Base (MIB) (atmfImaMib) | Provides an "updated and repaired" version of the IMA MIB. All Simple Network Management Protocol (SNMP) agents that support the IMA protocol must implement MIB-II and the mandatory groups of Request for Comments (RFC) 2233 . The MIB II ifType of "atmima(107)" identifies a physical interface that belongs to an IMA group. Refer to Appendix A on page 106 of the v1.1 Specification for further details. |
Corrections and clarifications | See sections below. |
An IMA interface follows a state machine, in which the interface moves through several states before becoming active. Special cells, called IMA Control Protocol (ICP) cells, carry the state information between the two ends. (Refer to Troubleshooting ATM IMA Links on Cisco 2600 and 3600 Routers.)
The Link Information fields (octets 18 to 49) of ICP cells communicate IMA-specific information on each of the member links in an IMA bundle. Specifically, the Link Information fields include the following:
Tx State - Reports the state of the transmit direction of the near-end IMA device.
Rx State - Reports the state of the receive direction of the near-end IMA device. In other words, the Rx State reports the information received in ICP cells from the far-end IMA device.
Rx Defect Indicators - Reports link defects, as communicated by the far-end IMA device.
Note: See page 32 of the v1.1 Specification for a full breakdown of the Link Information fields.
Initial implementations of IMA using the v1.0 specification differed in how the values of the Link Information fields received from the far-end device were reported. Such differences were common in symmetrical configurations, in which the member T1 links support the IMA protocol in both the transmit and receive directions. The v1.1 specification makes several technical clarifications to reduce the likelihood of implementation-specific differences in the future. Refer to Section 10.1.6 on page 54 of the v1.1 Specification for details.
The IMA protocol uses two types of control cells: filler cells and ICP cells. Both use a value of 0x03 in the OAM Label field to indicate that v1.1 is being used.
Note: Also refer to ATM Control Cells Illustrated - Idle Cells, Unassigned Cells, IMA Filler Cells and Invalid Cells.
ICP cells communicate the state of the bundle interface and the individual T1s in the bundle. When configured with a default frame length of 128 cells, an IMA interface sends an ICP cell in one of every 128 cells on each member T1 link.
This table illustrates the fields in an ICP cell: (Refer to page 27 of the IMA v1.0 Specification .)
Octet | Label | Comments |
---|---|---|
1–5 | ATM Cell Header | Octet 1 = 0000 0000 Octet 2 = 0000 0000 Octet 3 = 0000 0000 Octet 4 = 0000 1011 Octet 5 = 0110 0100 |
6 | OAM Label | Bits 0–7: IMA version
|
7 | Cell ID and Link ID | Bit 7: IMA OAM cell type. Value of 1 indicates an ICP cell. Bits 6–5: Unused and set to 0. Bits 4–0: Logical ID for transmit IMA link range. Valid values of 0–31. |
8 | IMA Frame Sequence Number | Valid values of 0–255. |
9 | ICP Cell Offset | Range (0... M-1). Indicates location of ICP cell within the IMA frame. |
10 | Link Stuff Indication | Bits 7–3: Unused and set to 0. Bits 2–0: Link Stuffing Indication (LSI). |
11 | Status and Control Change Indication | Bits 7–0: Status change indication: 0–255 and cycling (counts to be incremented every change of octets 12–49). |
12 | IMA ID | Bits 7–0: IMA ID |
13 | Group Status and Control | Bits 7–4: Group state
|
14 | Transmit Timing Information | Bits 7–6: Unused and set to 0. Bit 5: Transmit clock mode. |
15 | TX Test Control | Bits 7–6: Unused and set to 0. Bit 5: Test link command (0: inactive, 1: active). Bits 4–0: Transmit link ID of the test link. Valid values of 0–31. |
16 | TX Test Pattern | Bits 7–0: Transmit test pattern. Valid values of 0–255. |
17 | RX Test Pattern | Bits 7–0: Receive test pattern. Valid values of 0–255. |
18 | Link Information Field (Byte 0) | Bits 7–5: Transmit state
|
19–49 | Link Information Field (Bytes 1–31) | Indicates status and control information of the link. Valid values range from 1–31. |
50 | Unused | Set to 0x6A, as defined in ITU-T Recommendation I.432 for unused bytes. |
51 | End-to-End Channel | Typically unused and set to 0 |
52–53 | Cyclic Redundancy Check (CRC) Error Control | Bits 15–10: Reserved for future use. Set to 0 by default. Bits 9–0: CRC-10, as specified in ITU-T Recommendation I.610. |
When no data cells carrying user traffic need to be transmitted, the IMA bundle interface carries filler cells to maintain a steady stream of transmitted cells. A value of 0 in bit 7 of the Cell ID field identifies an IMA filler cell.
This table illustrates the fields in a filler cell:
Octet | Label | Comments |
---|---|---|
1–5 | ATM cell header | Octet 1 = 0000 0000 Octet 2 = 0000 0000 Octet 3 = 0000 0000 Octet 4 = 0000 1011 Octet 5 = 0110 0100 |
6 | OAM Label | Bits 0 - 7: IMA version
|
7 | Cell ID Link ID | Bit 7: OAM cell type. A value of 0 indicates a filler cell. Bits 6–0: Unused and set to 0. |
8–51 | Unused | Set to 0x6A, as defined in ITU-T Recommendation I.432 for unused bytes. |
52–53 | CRC Error Control | Bits 15–10: Reserved for future use. Use all 0s by default. Bits 9–0: CRC-10, as specified in ITU-T Recommendation I.610. |
Cisco bug CSCdw74417 (registered customers only) documents a known issue for interoperability between IMA 1.0 and 1.1 devices. The result is based on the ATM Forum 1.1 specification requiring link detection from the 1.0 OAM Label. For this reason, it is best to pair physical ports if mixing a 1.0/1.1 implementation. In other words, ensure port 0 on your IMA port adapter or network module connects to port 0 on an IMA network switch or other device. Refer to the Bug Toolkit (registered customers only) for further details.