How does CA Spectrum model connections?

Document ID : KB000118641
Last Modified Date : 25/03/2019
Show Technical Document Details
Introduction:
Mapping devices that connect network layers below layer 3 can be a difficult task because there may not be an abundance of complete and accurate information available in device MIBs. Many devices store connectivity information in a proprietary format while others store no information at all. In these situations, connections need to be implied from other devices or determined heuristically through complex analysis. 

The basic mechanism for determining Layer 2 connectivity is a device’s Source Address Tables (SAT). This table contains information about MAC addresses that are downstream from a specific port. But one single device’s SAT cannot provide a clear picture of the device's neighbouring topology. Only after considering all potential neighbor device SAT tables, is it possible to draw conclusions about port-level connectivity by realizing that two devices may mutually see one another. 
Virtually all Layer 2 devices implement a standard MIB called Spanning Tree. This technology explores a bridge’s neighbor topology, and allows a bridge to enable or disable ports to ensure that there is only one active path for data to flow between any two end-points in the network. This neighbor topology information can be leveraged for connectivity mapping. 

While Spanning Tree provides very accurate connectivity information, it does not give the complete picture, as intermediate non-bridging devices will be skipped, because they don’t participate in the Spanning Tree algorithm and therefore they don’t present a Spanning Tree MIB. For example, bridges that connect non-ethernet technologies may appear to be connected when in fact there are many intermediate devices. Furthermore, because Spanning Tree only deals with bridges, layer 1 devices are not considered.

Spectrum currently supports some proprietary protocol MIBs, such as Cabletron Switch Discovery Protocol, Cisco Discovery Protocol (CDP) and Extreme Protocol for Layer 2 mapping. These proprietary protocols often provide a fast and efficient means for mapping the topology in vendor homogenous environment. However, they all share the same problem that they don't work for mapping between two different protocol devices. Therefore each proprietary MIB table on a device may not provide the complete topology picture, much like Spanning Tree. 

In “Layer 2 Options”, by default, SAT, Spanning Tree, and all the proprietary MIB tables are selected for Layer 2 mapping, which is perhaps more than required in some customer environments (particularly those with layer 2 devices from a single vendor), however this provides Layer 2 mapping with the best chance of resolving all connections.  Layer 1 devices, such as repeaters and end-stations, do not often provide connectivity information. Although some intelligent repeaters will give proprietary access to a MIB object that contains port-level forwarding information, they are not currently supported, except Cabletron repeaters. Fortunately, Layer 2 mapping can map the connections between Layer 2 devices and end-stations because the only MAC address the Layer 2 interface sees must be that of the end-station. 
Question:
How does CA Spectrum model connections?
Environment:
Spectrum 10.x
Answer:

Spectrum can use a variety of information, if they're available, on the device to create connections.

A. How Spectrum uses SAT to resolve connections:

SAT connections are made from the device forwarding tables. Under dot1dtp table, there are entries for MAC address and a port that tells you what MAC address this port hears on this device.
The MAC address should correspond to only 1 interface (IF) on the other device. These come from the bridge MIB (or q-Bridge MIB).

If the dot1dTpFdb table MIB table is missing the MAC address, then mapping is missed. If the dot1dTpFdbEntry (1.3.6.1.2.1.17.4.3.1) table is missing, then there will be no value available to map the interface to.

In Spectrum, connections are resolved for SAT by checking for dot1dTpFdbAddress, dot1dTpFdbPort, dot1dTpFdbStatus and dot1dBasePortIfIndex:

dot1dBridge (1.3.6.1.2.1.17) 
dot1dTpFdbTable (1.3.6.1.2.1.17.4.3) 
  • dot1dTpFdbAddress – Neighbor Device MAC Address list -> Instance 
  • dot1dTpFdbPort - Neighbor Device Port list 
  • dot1dTpFdbStatus - Neighbor Port Status list 
dot1dBasePortTable (1.3.6.1.2.1.17.1.4) 
  • dot1dBasePortIfIndex – Local & Neighbor device port mapping list 

Neighbor device port MAC Address is obtained from the dot1dTpFdbAddress table. Neighbor port MAC Address to Local port IfIndex mapper value is learned from the dot1dTpFdbPort table. 

Once the Local port IfIndex mapper value is learned (dot1dTpFdbPort). Spectrum reads the dot1dBasePortIfIndex table to map local & neighbor device ports. (This step will be processed for each entry in the table) 


B. How Spectrum uses CDP to resolve connections:

1. Both devices must be modelled on the same landscape

2. Spectrum reads the following objects from the ipAddrTable:

        a) ipAdEntAddr (1.3.6.1.2.1.4.20.1.1) 
        b) ipAdEntIfIndex (1.3.6.1.2.1.4.20.1.2)
        c) ipAdEntNetMask (1.3.6.1.2.1.4.20.1.3)

This information is used to populate the deviceIPAddressList and deviceIPMaskList

3. Spectrum reads the CDP Table for the cdpCacheAddress(1.3.6.1.4.1.9.9.23.1.2.1.1.4) on each device, which returns an index number. For example, something like: 436281344.10616832

4. If Spectrum can match the cdpCacheAddress with a valid interface/IPAddr from the deviceIPAddressList, then Spectrum will create the connection.

Example:

1.3.6.1.4.1.9.9.23.1.2.1.1.4.436281344.10616832, OctetString , RO , fixed (0xc050d7fc) Device ip. A

1.3.6.1.4.1.9.9.23.1.2.1.1.4.
436281344.3473408, OctetString , RO , fixed (0xc0000084) Device ip. B


So if Device ip. A was a valid address on the second device, we should make a connection between these two Interfaces. (defined by If Index 436281344 on both devices in this case).

NOTE: You may not see a connection created with SIMs, because SIMS only change the local IP address, not any remote addresses and if the other address is a SIM address it won't work. 
You can manually modify the IP address (on the SIM though and then get a connection).

In this case you can change Device ip. A to a valid IP on the other device, and a connection should be made with the SIMs.

Additional Information:
A problem related to Cisco Nexus 5500's was found where they do not provide information from the ipAddrTable, thus Spectrum fails to create the connections.
This is a Cisco problem, and the customer will need to check with Cisco for a solution.