Multiple Spanning Tree Protocol

Multiple Spanning Tree Protocol

MOS:TERM

← Previous revision Revision as of 17:17, 21 April 2026
Line 54: Line 54:


=== MSTP configuration identification ===
=== MSTP configuration identification ===
In case there is an allocation of [[IEEE 802.1Q#Double tagging|VIDs (VLAN IDs)]] into an MST Region which differs within the different bridges that compose it, '''frames for some VIDs might be duplicated or even not delivered to some LANs at all'''. To avoid this, MST Bridges check that they are allocating VIDs to the same spanning trees as their neighboring MST Bridges in the same Region by transmitting and receiving MST Configuration Identifiers along with the spanning tree information. These MST Configuration Identifiers, while compact, '''are designed so that two matching identifiers have a very high probability of denoting the same configuration even in the absence of any supporting management practice for identifier allocation.''' Either one of this "objects" contains the following:
In case there is an allocation of [[IEEE 802.1Q#Double tagging|VIDs (VLAN IDs)]] into an MST Region which differs within the different bridges that compose it, '''frames for some VIDs might be duplicated or even not delivered to some LANs at all'''. To avoid this, MST Bridges check that they are allocating VIDs to the same spanning trees as their neighboring MST Bridges in the same Region by transmitting and receiving MST Configuration Identifiers along with the spanning tree information. These MST Configuration Identifiers, while compact, '''are designed so that two matching identifiers have a very high probability of denoting the same configuration even in the absence of any supporting management practice for identifier allocation.''' Either one of this ''objects'' contains the following:
* '''Configuration Identifier Format Selector:''' Indicates the use that is going to be given to the following components.
* '''Configuration Identifier Format Selector:''' Indicates the use that is going to be given to the following components.
* '''Configuration Name'''{{cite book
* '''Configuration Name'''{{cite book
Line 101: Line 101:


== Protocol operation ==
== Protocol operation ==
MSTP configures for every VLAN a single spanning tree active topology in a manner that there's at least one data route between any two end stations, eliminating data loops. It specifies various "objects" allowing the algorithm to operate in a proper way. The different bridges in the various VLANs start advertising their own configuration to other bridges using the MST Configuration Identifier in order to allocate frames with given VIDs (VLAN ID) to any of the different MSTIs. A priority vector is utilized to construct the CIST; it connects all the bridges and LANs in a Bridged LAN and ensures that paths within each region are always preferred to paths outside the Region. Besides, there is an MSTI priority vector, which comprises the necessary information to build up a deterministic and independently manageable active topology for any given MSTI within each region.
MSTP configures for every VLAN a single spanning tree active topology in a manner that there's at least one data route between any two end stations, eliminating data loops. It specifies various ''objects'' allowing the algorithm to operate in a proper way. The different bridges in the various VLANs start advertising their own configuration to other bridges using the MST Configuration Identifier in order to allocate frames with given VIDs (VLAN ID) to any of the different MSTIs. A priority vector is utilized to construct the CIST; it connects all the bridges and LANs in a Bridged LAN and ensures that paths within each region are always preferred to paths outside the Region. Besides, there is an MSTI priority vector, which comprises the necessary information to build up a deterministic and independently manageable active topology for any given MSTI within each region.


Additionally, comparisons and calculations done by each bridge select a CIST priority vector for each [[Port (computer networking)|Port]] (based on priority vectors, MST Configuration Identifiers and on an incremental Path Cost associated with each receiving port). This leads to one bridge being selected as the CIST Root of the Bridged LAN; then, a minimum cost path to the root is shifted out for each Bridge and LANs (thus preventing loops and ensuring full connectivity between VLANs). Subsequently, in each region, the bridge whose minimum cost path to the root doesn't pass through another bridge with the same MST Conf.ID will be identified as its Region's CIST Regional Root. Conversely, each Bridge whose minimum cost path to the Root is through a Bridge using the same MST Configuration Identifier is identified as being in the same MST Region as that Bridge.
Additionally, comparisons and calculations done by each bridge select a CIST priority vector for each [[Port (computer networking)|Port]] (based on priority vectors, MST Configuration Identifiers and on an incremental Path Cost associated with each receiving port). This leads to one bridge being selected as the CIST Root of the Bridged LAN; then, a minimum cost path to the root is shifted out for each Bridge and LANs (thus preventing loops and ensuring full connectivity between VLANs). Subsequently, in each region, the bridge whose minimum cost path to the root doesn't pass through another bridge with the same MST Conf.ID will be identified as its Region's CIST Regional Root. Conversely, each Bridge whose minimum cost path to the Root is through a Bridge using the same MST Configuration Identifier is identified as being in the same MST Region as that Bridge.
Line 180: Line 180:


==== Protocol operation ====
==== Protocol operation ====
To set up these trees, AMSTP relies on one basic tree, which will be used to obtain instances (named Alternate Multiple Spanning Tree Instances – AMSTI), until one of them is built per switch for the network. The process applied to build up the main/basic tree is the same as in RSTP. In summary, firstly, a bridge must be elected as the Root Bridge (this is done by the emission of BPDUs from each switch on the network periodically, every "Hello Time", and selecting the lowest Bridge ID). Then, every switch will compute and calculate its cost to the Root Bridge and, afterwards, the root ports must be elected by selecting the one that receives the best BPDU, that is, the one that announces the minimum path cost to the root bridge.
To set up these trees, AMSTP relies on one basic tree, which will be used to obtain instances (named Alternate Multiple Spanning Tree Instances – AMSTI), until one of them is built per switch for the network. The process applied to build up the main/basic tree is the same as in RSTP. In summary, firstly, a bridge must be elected as the Root Bridge (this is done by the emission of BPDUs from each switch on the network periodically, every Hello Time, and selecting the lowest Bridge ID). Then, every switch will compute and calculate its cost to the Root Bridge and, afterwards, the root ports must be elected by selecting the one that receives the best BPDU, that is, the one that announces the minimum path cost to the root bridge.


==== BPDUs ====
==== BPDUs ====
Line 208: Line 208:
ABridges is composed of three basic functional modules:
ABridges is composed of three basic functional modules:
* '''STD Bridge:''' Performs standard bridging functions with the nodes of its island. The access functionality resides on the access ports of this module, which has an equivalent behavior to a standard bridge acting as a root bridge.
* '''STD Bridge:''' Performs standard bridging functions with the nodes of its island. The access functionality resides on the access ports of this module, which has an equivalent behavior to a standard bridge acting as a root bridge.
* '''AMSTP Routing:''' Routes frames between Abridges and the Gateway. It has core ports, either of them interconnect ABridges, which learn root bridge IDs from the AMSTP BPDUs received and store this information in a database, known as "Forwarding Database".
* '''AMSTP Routing:''' Routes frames between Abridges and the Gateway. It has core ports, either of them interconnect ABridges, which learn root bridge IDs from the AMSTP BPDUs received and store this information in a database, known as ''Forwarding Database''.
* '''GateWay:''' Interconnects the above-mentioned modules.
* '''GateWay:''' Interconnects the above-mentioned modules.
Abridges will configure each of their ports to be part either of the core or of an island. This port self-configuration is done with very simple stipulations: if a port is not connected to another Abridge using a point-to-point link, it will turn itself into an access port; on the other hand, ports directly connected to another Abridge are configured as core ports. This auto-configuration mechanism is pretty like the one used in RSTP.
Abridges will configure each of their ports to be part either of the core or of an island. This port self-configuration is done with very simple stipulations: if a port is not connected to another Abridge using a point-to-point link, it will turn itself into an access port; on the other hand, ports directly connected to another Abridge are configured as core ports. This auto-configuration mechanism is pretty like the one used in RSTP.