Transparent Bridge Discovery
Discovering Layer 2 network links using the bridge forwarding table requires a special algorithm that is based on Topology Discovery for Large Ethernet Networks. The gathered information is used to classify links as macLinks and bridgeLinks.
Definitions
A macLink represents a link between a workstation or server that is identified by a MAC address. A bridgeLink represents a connection between backbone ports.
A shared segment is a connection established among workstations or servers (made up of several MAC addresses) and backbone ports (for example, devices connected via a hub). A bridgeLink is a shared segment with only two bridge backbone ports. A macLink is a shared segment with only one bridge port and one MAC address.
Broadcast and bridge domains are collections of shared segments, based on common sets of MAC addresses.
Bridge domains
Discovery bridge broadcast domains are made in two steps. The first step is data collection. To collect the necessary information, the BridgeDiscovery collector collects the BFT and other spanning tree information. The BFT is maintained in memory to be processed by BridgeDomainDiscovery. BridgeDomainDiscovery runs the specified algorithm on collected BFTs, and will produce a bridge domain (or several bridge domains) based on the broadcast set of MAC addresses identified.
BridgeDomainDiscovery does not support multi-VLAN; the bridge network model identifies a bridge for every VLAN identified. Each VLAN has its own BFT and spanning tree. Although discovery is run only against the main VLAN, the algorithm has to be run against all bridges and VLANs to discover a bridge topology. |
Bridge domains provide no information about Layer 3 links; they produce only a Layer 2 map of the broadcast domains. You can determine which Layer 3 interfaces map to Layer 2 nodes if your device supports the IpNetToMedia table. You can associate a MAC address with its corresponding IP address and the associated node using this table.
Bridge Topology Updater
The Bridge Topology Updater combines the information stored in bridge domains with the ipnettomedia
data and the provided Bridge OnmsTopology.
Whenever possible, the Bridge Topology Updater tries to associate a MAC address to an IP address, and then to a monitored node. It may be that the specified MAC address and IP address are not associated with a single node (for example, because there are duplicate nodes, or because the nodes support a protocol like LACP). Because the Updater does not support LACP and other similar aggregation protocols, Horizon does not resolve the node or record the association discovered as a MAC:IP relationship for a specific vertex.
Transparent bridging is not loop-free. If you have loops, you must enable the spanning tree protocol, which detects loops and will put some ports in a blocking state to avoid them. |
You can find generic information about the bridge link discovery process in the Bridge Information box on any device’s Node Detail page. Information gathered from the supported OIDs is stored in the following database tables:
Required SNMP MIB
To define links, Horizon must perform some calculations, and the SNMP agent must support the following MIB to allow this:
Name | Description | OID |
---|---|---|
vtpVersion |
The local version of VTP.
A device reports its version capability, but not the particular version that it uses.
If the device does not support VTP, the version is |
.1.3.6.1.4.1.9.9.46.1.1.1.0 |
Supported OIDs
The bridge discovery process supports the following OIDs:
Name | Description | OID |
---|---|---|
ipNetToMediaIfIndex |
Interface on which the entry’s equivalent is effective.
The Layer 2 interface identified by a particular value of this index is the same as identified by the value of |
.1.3.6.1.2.1.4.22.1.1 |
ipNetToMediaPhysAddress |
Media-dependent physical address. |
.1.3.6.1.2.1.4.22.1.2 |
ipNetToMediaNetAddress |
IP address that corresponds to |
.1.3.6.1.2.1.4.22.1.3 |
ipNetToMediaType |
Mapping type.
Setting this object to |
.1.3.6.1.2.1.4.22.1.4 |
Name | Description | OID |
---|---|---|
dot1dBaseBridgeAddress |
MAC address used by the bridge as a unique identifier.
We recommend that this be the numerically smallest MAC address of all ports that belong to this bridge; however, it is only required to be unique.
When concatenated with |
.1.3.6.1.2.1.17.1.1.0 |
dot1dBaseNumPorts |
Number of ports controlled by this bridging entity. |
.1.3.6.1.2.1.17.1.2.0 |
dot1dBaseType |
Type of bridging that this bridge can perform. If a bridge is actually performing a certain type of bridging, entries in the appropriate port table will reflect this. |
.1.3.6.1.2.1.17.1.3.0 |
dot1dBasePort |
Port number as defined by the corresponding bridge management information. |
.1.3.6.1.2.1.17.1.4.1.1 |
dot1dPortIfIndex |
Value of the |
.1.3.6.1.2.1.17.1.4.1.2 |
dot1dStpProtocolSpecification |
Version of the spanning tree protocol that is being run. |
.1.3.6.1.2.1.17.2.1.0 |
dot1dStpPriority |
Value of the writeable portion of the bridge ID (for example, for first two octets of the eight-octet bridge ID).
|
.1.3.6.1.2.1.17.2.2 |
dot1dStpDesignatedRoot |
Bridge identifier for the root of the spanning tree, as determined by the node’s spanning tree protocol. This value is used as the root identifier parameter in all configuration bridge protocol data units (BPDUs) originated by this node. |
.1.3.6.1.2.1.17.2.5 |
dot1dStpRootCost |
Cost of the path to the root of the spanning tree, from the perspective of the current bridge. |
.1.3.6.1.2.1.17.2.6 |
dot1dStpRootPort |
Port number of the port that offers the lowest-cost path from the current bridge to the root. |
.1.3.6.1.2.1.17.2.7 |
dot1dStpPort |
Port number of the port for which this entry contains spanning tree protocol management information. |
.1.3.6.1.2.1.17.2.15.1.1 |
dot1dStpPortPriority |
Value of the property field contained in the first octet (in network byte order) of the two-octet port ID.
|
.1.3.6.1.2.1.17.2.15.1.2 |
dot1dStpPortState |
Current state of the port, as defined by the spanning tree protocol.
This state controls what action a port takes upon reception of a frame.
If the bridge detects a malfunctioning port, it places that port into the |
.1.3.6.1.2.1.17.2.15.1.3 |
dot1dStpPortEnable |
Port’s enabled or disabled status. |
.1.3.6.1.2.1.17.2.15.1.4 |
dot1dStpPortPathCost |
Current path’s contribution to the cost of paths toward the root. 802.1D-1990 recommends that this parameter’s default value be in inverse proportion to the speed of the attached LAN. |
.1.3.6.1.2.1.17.2.15.1.5 |
dot1dStpPortDesignatedRoot |
Unique bridge identifier of the bridge that is recorded as the root in the configuration BPDUs that the designated bridge transmitted for the segment to which the port is attached. |
.1.3.6.1.2.1.17.2.15.1.6 |
dot1dStpPortDesignatedCost |
Path cost of the segment connected to the designated port. This value is compared to the root path cost field in received BPDUs. |
.1.3.6.1.2.1.17.2.15.1.7 |
dot1dStpPortDesignatedBridge |
Identifier of the bridge that this port considers to be the designated bridge for the port’s segment. |
.1.3.6.1.2.1.17.2.15.1.8 |
dot1dStpPortDesignatedPort |
Identifier of the port on the designated bridge for the current port’s segment. |
.1.3.6.1.2.1.17.2.15.1.9 |
dot1dTpFdbAddress |
Unicast MAC address for which the bridge has forwarding or filtering information. |
.1.3.6.1.2.1.17.4.3.1.1 |
dot1dTpFdbPort |
Either |
.1.3.6.1.2.1.17.4.3.1.2 |
dot1dTpFdbStatus |
The current entry’s status. |
.1.3.6.1.2.1.17.4.3.1.3 |
Name | Description | OID |
---|---|---|
dot1qTpFdbPort |
Either |
.1.3.6.1.2.1.17.7.1.2.2.1.2 |
dot1qTpFdbStatus |
The current entry’s status. |
.1.3.6.1.2.1.17.7.1.2.2.1.3 |