Guest

Inverse Multiplexing over ATM (IMA)

Inverse Multiplexing over ATM on Cisco 7X00 Routers and ATM Switches

Document ID: 9200

Updated: Jun 05, 2005

   Print

Introduction

Inverse Multiplexing over ATM (IMA) involves inverse multiplexing and de-multiplexing of ATM cells in a cyclical fashion among physical links grouped to form a higher-bandwidth and logical link. The rate of the logical link is approximately the sum of the rate of the physical links in the IMA group. Streams of cells are distributed in a round-robin manner across the multiple T1/E1 links and reassembled at the destination to form the original cell stream. Sequencing is provided using IMA Control Protocol (ICP) cells.

In the transmit direction, the ATM cell stream received from the ATM layer is distributed on a cell by cell basis across the multiple links within the IMA group. At the far-end, the receiving IMA unit reassembles the cells from each link on a cell-by-cell basis and recreates the original ATM cell stream. The image below displays how cell streams are transmitted across multiple interfaces and recombined to form the original cell stream. The receiving interface discards the ICP cells, and the aggregate cell stream is then passed to the ATM layer.

Periodically, the transmit IMA sends special cells that permit reconstruction of the ATM cell stream at the receiving IMA. These ICP cells provide the definition of an IMA frame.

Cell streams are transmitted across multiple interfaces and recombined to form the original stream.

ima-block.gif

Prerequisites

Requirements

There are no specific requirements for this document.

Components Used

The information in this document is based on these software and hardware versions:

  • For Cisco 7200 series routers, the eight-port T1/E1 IMA port adapters are supported since Cisco IOSĀ® Software version 12.0(5)XE, 12.0(7)XE, 12.1(1)E, and 12.1(5)T.

  • For Cisco 7500 series routers, the eight-port T1/E1 IMA port adapters are supported on the following VIPs:

    • VIP2-40 - since Cisco IOS version 12.0(5)XE, 12.0(7)XE, 12.1(1)E.

    • VIP2-50 - since Cisco IOS version 12.0(5)XE, 12.0(7)XE, 12.1(1)E and 12.1(5)T.

    • VIP4-80 - since Cisco IOS 12.2(1)T, 12.2(1), 12.0(16)S, and 12.1(7)E.

  • For Cisco LightStream 1010 and Catalyst 8510 ATM switch routers, the eight-port T1/E1 IMA modules are supported since Cisco IOS version 12.0(4a)W5(11a) and require an ATM switch processor with a per-flow queuing feature card (FC-PFQ).

  • For Cisco Catalyst 8540 ATM switch routers, the eight-port T1/E1 IMA modules are supported since Cisco IOS version 12.0(7)W5(15c).

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Network Diagram

This document uses this network setup:

Mux-update.gif

Conventions

For more information on document conventions, refer to Cisco Technical Tips Conventions.

ICP (IMA Control Protocol) Cells

ICP cells are transmitted between IMA interfaces. These cells are used for decoupling and restructuring of ATM cell streams. The transmitting IMA aligns the sending of IMA frames on all links. This allows the receiver to adjust for any delays that may be experienced across the links. In the image above (it has been simplified for this example), the transmission is from left to right. However, this data and the ICP cells are sent in both directions. The receiver can therefore detect delay by measuring the arrival times of the IMA frames on each physical port. By default, each frame consists of 128 cells. As a result, one of every 128 cells is an IMA cell. Frame length is viewed with the show ima interface command.

Note: ICP cells are discarded by the receiving interface. Therefore, counter information does not display ICP cells. Please refer to ATM Control Cells Illustrated for a more detailed explanation ATM control cells.

IMA Filler Cells

An IMA device always sends a continuous stream. If no ATM layer cells are being sent, then an IMA filler cell is transmitted to provide a constant stream at the physical layer. Inserted filler cells allow for rate decoupling at the IMA sublayer.

Note: Filler cells are discarded by the receiver. Therefore, counter information does not display filler cells. Please refer to ATM Control Cells Illustrated for a more detailed explanation on ATM control cells.

ima-block.gif

Configuration

This document uses these configurations:

Follow these steps to configure the router labeled c7200-IMA:

  1. Group the T1/E1 interfaces that you need. Note that the interface must be on the same port adapter.

  2. Define any physical level parameters (if required). Scrambling would be one example.

  3. Create an IMA interface and configure it with virtual circuits (VCs) just like you configure a standard, non-IMA ATM interface.

The IMA interface has the following syntax: interface atm x/imay where x is the slot number and y is the IMA-group number.

In the configuration below, only PVCs are configured.

c7200-IMA
 hostname c7200-IMA 
 ! 
 interface ATM1/0 
  no ip address 
  no ip directed-broadcast 
  ima-group 0 
 ! 
 interface ATM1/ima0 
  no ip address 
  no ip directed-broadcast 
  no atm ilmi-keepalive 
 ! 
 interface ATM1/ima0.1 point-to-point 
  ip address 100.100.100.1 255.255.255.0 
  no ip directed-broadcast 
  pvc 5/100 
   encapsulation aal5snap 
   ubr 600
  ! 
 interface ATM1/1 
  no ip address 
  no ip directed-broadcast 
  ima-group 0 
 ! 
 interface ATM1/2 
  no ip address 
  no ip directed-broadcast 
  ima-group 0 
 ! 
 interface ATM1/3 
  no ip address 
  no ip directed-broadcast 
  ima-group 0

LightStream 1010-2
 hostname ls1010-2 
 !
 interface ATM0/0/0 
  no ip directed-broadcast 
  lbo short 133 
  ima-group 0 
 ! 
 interface ATM0/0/1 
  no ip address 
  no ip directed-broadcast 
  clock source free-running 
  lbo short 133 
  ima-group 0 
 ! 
 interface ATM0/0/2 
  no ip address 
  no ip directed-broadcast 
  lbo short 133 
  ima-group 0 
 ! 
 interface ATM0/0/3 
  no ip address 
  no ip directed-broadcast 
  lbo short 133 
  ima-group 0 
 !
 interface ATM0/0/ima0 
  no ip address 
  no ip directed-broadcast 
  no ip route-cache cef 
  no atm ilmi-keepalive 
  atm pvc 5 100  interface  ATM0/1/0 1 40

Router-B
 hostname Router-B 
 ! 
 interface ATM5/1/0 
  no ip address 
  no ip route-cache distributed 
  atm pvc 1 0 16 ilmi 
  no atm ilmi-keepalive 
 ! 
 interface ATM5/1/0.1 point-to-point 
  ip address 100.100.100.2 255.255.255.0 
  pvc 1/40  
   ubr 600
   encapsulation aal5snap

These are additional considerations regarding this configuration:

Verify

This section provides information you can use to confirm your configuration is working properly.

Certain show commands are supported by the Output Interpreter Tool (registered customers only) , which allows you to view an analysis of show command output.

Use these commands to test whether your network is operating properly:

  • show atm vc

  • show interface atm 1/ima0

  • show ima interface atm1/ima0

  • show ima interface atm1/ima0 detail

  • show controller atm 1/0

  • ping

The output shown below is a result of entering these commands on the devices shown in the network diagram above. This output shows that the network is operating properly. Use the show atm vc command to display the PVCs and traffic information. As can be seen below, the PVC 1/500 is UP and using UBR with a Peak Cell Rate (PCR) of 600 kbps.

c7200-IMA# show atm vc 
                                                    Peak  Avg/Min Burst 
 Interface   Name  VCD  VPI  VCI  Type   Encaps  SC  Kbps Kbps Cells Status 
 1/ima0.1    1     5    100   PVC  SNAP  UBR     600               UP

Use the show interface atm 1/ima 0 command to look for input/output errors. A large number of input/output errors means that the line is not clean.

c7200-IMA# show interface atm 1/ima0 
ATM1/ima0 is up, line protocol is up 

  Hardware is IMA PA 
  MTU 4470 bytes, sub MTU 4470, BW 1523 Kbit, DLY 20000 usec, 
     reliability 255/255, txload 1/255, rxload 1/255 

  Encapsulation ATM, loopback not set 
  Keepalive not supported 
  Encapsulation(s): AAL5 
  2048 maximum active VCs, 1 current VCCs 
  VC idle disconnect time: 300 seconds 
  3 carrier transitions 
  Last input 00:01:24, output 00:01:24, output hang never 
  Last clearing of "show interface" counters never 
  Input queue: 0/75/0 (size/max/drops); Total output drops: 0 
  Queueing strategy: Per VC Queueing 
  5 minute input rate 0 bits/sec, 0 packets/sec 
  5 minute output rate 0 bits/sec, 0 packets/sec 
     464 packets input, 17320 bytes, 0 no buffer 
     Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 
     474 packets output, 17176 bytes, 0 underruns 
     0 output errors, 0 collisions, 0 interface resets 
     0 output buffer failures, 0 output buffers swapped out

Issue the show ima interface command to look for IMA failures. The output below shows that there are no falures, and that NearEnd and FarEnd are operational.

c7200-IMA# show ima interface atm1/ima0 
   ATM1/ima0 is up 
           ImaGroupState:    NearEnd = operational, FarEnd = operational 
           ImaGroupFailureStatus     = noFailure 
   IMA Group Current Configuration: 
           ImaGroupMinNumTxLinks = 1       ImaGroupMinNumRxLinks = 1 
           ImaGroupDiffDelayMax  =    250  ImaGroupNeTxClkMode   = common(ctc) 
           ImaGroupFrameLength      = 128  ImaTestProcStatus     = disabled 
           ImaGroupTestLink         = 0    ImaGroupTestPattern   = 0xFF 
   IMA Link Information: 
    Link                    Link Status                 Test Status 
   ------         ----------------------------      -------------- 
   ATM1/0         up                                disabled 
   ATM1/1         up                                disabled 
   ATM1/2         up                                disabled 
   ATM1/3         up                                disabled 

c7200-IMA# show ima interface atm1/ima0 detail 
   ATM1/ima0 is up 
           ImaGroupState:    NearEnd = operational, FarEnd = operational 
           ImaGroupFailureStatus     = noFailure 
   IMA Group Current Configuration: 
           ImaGroupMinNumTxLinks = 1       ImaGroupMinNumRxLinks = 1 
           ImaGroupDiffDelayMax  =    250  ImaGroupNeTxClkMode   = common(ctc) 
           ImaGroupFrameLength      = 128  ImaTestProcStatus     = disabled 
           ImaGroupTestLink         = 0    ImaGroupTestPattern   = 0xFF 
   IMA MIB Information: 
           ImaGroupSymmetry           = symmetricOperation 
           ImaGroupFeTxClkMode        = common(ctc) 
           ImaGroupRxFrameLength      = 128 
           ImaGroupTxTimingRefLink = 0        ImaGroupRxTimingRefLink = 1 
           ImaGroupTxImaId            = 0     ImaGroupRxImaId            = 0 
           ImaGroupNumTxCfgLinks      = 4     ImaGroupNumRxCfgLinks   = 4 
           ImaGroupNumTxActLinks      = 4     ImaGroupNumRxActLinks   = 4 
           ImaGroupLeastDelayLink     = 3     ImaGroupDiffDelayMaxObs = 0 
   IMA group counters: 
           ImaGroupNeNumFailures      = 3     ImaGroupFeNumFailures   = 3 
           ImaGroupUnAvailSecs        = 2     ImaGroupRunningSecs     = 427185    
   IMA Detailed Link Information: 

ATM1/0 is up 
           ImaLinkRowStatus = active    
           ImaLinkIfIndex   =    1            ImaLinkGroupIndex    = 51 
           ImaLinkState: 
                      NeTx = active 
                      NeRx = active 
                      FeTx = active 
                      FeRx = active 
           ImaLinkFailureStatus: 
                      NeRx = noFailure 
                      FeRx = noFailure 
           ImaLinkTxLid              = 0      ImaLinkRxLid              = 0 
           ImaLinkRxTestPattern      = 65     ImaLinkTestProcStatus  = disabled 
           ImaLinkRelDelay           = 0 
   IMA Link counters : 
           ImaLinkImaViolations      = 1 
           ImaLinkNeSevErroredSec = 32        ImaLinkFeSevErroredSec = 8 
           ImaLinkNeUnavailSec       = 543    ImaLinkFeUnAvailSec    = 0 
           ImaLinkNeTxUnusableSec = 2         ImaLinkNeRxUnUsableSec = 572 
           ImaLinkFeTxUnusableSec = 78        ImaLinkFeRxUnusableSec = 78 
           ImaLinkNeTxNumFailures = 0         ImaLinkNeRxNumFailures = 9 
           ImaLinkFeTxNumFailures = 4         ImaLinkFeRxNumFailures = 4  

ATM1/1 is up 
           ImaLinkRowStatus = active    
           ImaLinkIfIndex   =    2            ImaLinkGroupIndex    = 51 
           ImaLinkState: 
                      NeTx = active 
                      NeRx = active 
                      FeTx = active 
                      FeRx = active 
           ImaLinkFailureStatus: 
                      NeRx = noFailure 
                      FeRx = noFailure 
           ImaLinkTxLid              = 1      ImaLinkRxLid              = 1 
           ImaLinkRxTestPattern      = 65     ImaLinkTestProcStatus  = disabled 
           ImaLinkRelDelay           = 0 
   IMA Link counters : 
           ImaLinkImaViolations      = 1 
           ImaLinkNeSevErroredSec = 1         ImaLinkFeSevErroredSec = 0 
           ImaLinkNeUnavailSec       = 0      ImaLinkFeUnAvailSec    = 0    
           ImaLinkNeTxUnusableSec = 2         ImaLinkNeRxUnUsableSec = 2 
           ImaLinkFeTxUnusableSec = 0         ImaLinkFeRxUnusableSec = 0 
           ImaLinkNeTxNumFailures = 0         ImaLinkNeRxNumFailures = 0 
           ImaLinkFeTxNumFailures = 0         ImaLinkFeRxNumFailures = 0  

ATM1/2 is up 
           ImaLinkRowStatus = active    
           ImaLinkIfIndex   =    3            ImaLinkGroupIndex    = 51 
           ImaLinkState: 
                      NeTx = active 
                      NeRx = active 
                      FeTx = active 
                      FeRx = active 
           ImaLinkFailureStatus: 
                      NeRx = noFailure 
                      FeRx = noFailure 
           ImaLinkTxLid              = 2      ImaLinkRxLid              = 2 
           ImaLinkRxTestPattern      = 65     ImaLinkTestProcStatus  = disabled 
           ImaLinkRelDelay           = 0 
   IMA Link counters : 
           ImaLinkImaViolations      = 1 
           ImaLinkNeSevErroredSec = 1         ImaLinkFeSevErroredSec = 0 
           ImaLinkNeUnavailSec       = 0      ImaLinkFeUnAvailSec    = 0    
           ImaLinkNeTxUnusableSec = 2         ImaLinkNeRxUnUsableSec = 2 
           ImaLinkFeTxUnusableSec = 0         ImaLinkFeRxUnusableSec = 0 
           ImaLinkNeTxNumFailures = 0         ImaLinkNeRxNumFailures = 0 
           ImaLinkFeTxNumFailures = 0         ImaLinkFeRxNumFailures = 0  

ATM1/3 is up 
           ImaLinkRowStatus = active    
           ImaLinkIfIndex   =    4            ImaLinkGroupIndex    = 51 
           ImaLinkState: 
                      NeTx = active 
                      NeRx = active 
                      FeTx = active 
                      FeRx = active 
           ImaLinkFailureStatus: 
                      NeRx = noFailure 
                      FeRx = noFailure 
           ImaLinkTxLid              = 3      ImaLinkRxLid              = 3 
           ImaLinkRxTestPattern      = 65     ImaLinkTestProcStatus  = disabled 
           ImaLinkRelDelay           = 0 
   IMA Link counters : 
           ImaLinkImaViolations      = 1 
           ImaLinkNeSevErroredSec = 1         ImaLinkFeSevErroredSec = 0 
           ImaLinkNeUnavailSec       = 0      ImaLinkFeUnAvailSec   = 0 
           ImaLinkNeTxUnusableSec = 2         ImaLinkNeRxUnUsableSec = 2 
           ImaLinkFeTxUnusableSec = 0         ImaLinkFeRxUnusableSec = 0 
           ImaLinkNeTxNumFailures = 0         ImaLinkNeRxNumFailures = 0 
           ImaLinkFeTxNumFailures = 0         ImaLinkFeRxNumFailures = 0

Note: It is a good idea to check the controller to verify that is it up and that there are no alarms reported.

c7200-IMA# show controller atm 1/0 
   Interface ATM1/0 is up 
   Hardware is IMA PA - DS1 (1Mbps) 
   Framer is PMC PM7344, SAR is LSI ATMIZER II 
   Firmware rev: G114, ATMIZER II rev: 3 
     idb=0x621903D8, ds=0x62198DE0, vc=0x621BA340, pa=0x62185EC0    
     slot 1, unit 1, subunit 0, fci_type 0x00BA, ticks 414377 
     400 rx buffers: size=512, encap=64, trailer=28, magic=4 
   Curr Stats: 
     rx_cell_lost=0, rx_no_buffer=0, rx_crc_10=0    
     rx_cell_len=0, rx_no_vcd=827022, rx_cell_throttle=0, tx_aci_err=0    
   Rx Free Ring status: 
     base=0x3CFF0040, size=1024, write=432 
   Rx Compl Ring status: 
     base=0x7B095700, size=2048, read=464 
   Tx Ring status: 
     base=0x3CFE8040, size=8192, write=476 
   Tx Compl Ring status: 
     base=0x4B099740, size=4096, read=238 
   BFD Cache status: 
     base=0x621B52C0, size=5120, read=5119 
   Rx Cache status: 
     base=0x621A0D00, size=16, write=0 
   Tx Shadow status: 
     base=0x621A1140, size=8192, read=463, write=476 
   Control data: 
     rx_max_spins=2, max_tx_count=17, tx_count=13 
     rx_threshold=267, rx_count=0, tx_threshold=3840 
     tx bfd write indx=0x10DF, rx_pool_info=0x621A0DA0 
   Control data base address: 
          rx_buf_base = 0x4B059E60           rx_p_base = 0x62199300 
               rx_pak    = 0x621A0A14                 cmd = 0x621990A0 
          device_base = 0x3C800000        ima_pa_stats = 0x4B09D860 
   sdram_base = 0x3CE00000       pa_cmd_buf =    0x3CFFFC00 
          vcd_base[0] = 0x3CE3C400         vcd_base[1] = 0x3CE1C000 
            chip_dump = 0x4B09E63C          dpram_base = 0x3CD80000 
      sar_buf_base[0] = 0x3CE54000  sar_buf_base[1] = 0x3CF2A000    
          bfd_base[0] = 0x3CFD4000         bfd_base[1] = 0x3CFC0000 
          acd_base[0] = 0x3CE8CE00         acd_base[1] = 0x3CE5C800 
        pci_atm_stats = 0x4B09D780 
   fdl is DISABLED 
   Scrambling is Disabled 
   Yellow alarm is Enabled in Rx and Enabled in Tx 
   linecode is B8ZS 
   T1 Framing Mode:  ESF ADM format 
   LBO (Cablelength) is long gain36 0db 
   Facility Alarms: 
           No Alarm

To test connectivity, we ping from one end of the 7200 router to the other end (router B) and ensure that the pings are successful. Failure in the pings indicates that the IMA ports or IP addressing may be configured wrong.

c7200-IMA# ping 100.100.100.2  
Type escape sequence to abort. 
   Sending 5, 100-byte ICMP Echos to 100.100.100.2, timeout is 2 seconds:    
   !!!!! 
   Success rate is 100 percent (5/5), round-trip min/avg/max = 4/6/8 ms

Troubleshoot

There is currently no specific troubleshooting information available for this configuration.

Related Information

Updated: Jun 05, 2005
Document ID: 9200