Multiple Spanning Tree Protocol: Difference between revisions

Content deleted Content added
No edit summary
m rm already linked
 
(22 intermediate revisions by 14 users not shown)
Line 1:
{{Short description|Network protocol that builds a loop-free logical topology for Ethernet networks}}
{{IPstack}}
{{commons category|MSTPMultiple Spanning Tree Protocol}}
The '''Multiple Spanning Tree Protocol ('''MSTP''') and [[algorithm]], provides both, simple and full, connectivity assigned to any given [[Virtual LAN]] (VLAN) throughout a Bridged Local Area Network. MSTP uses [[Bridge Protocol Data Unit|BPDUs]] to exchange information between spanning-tree compatible devices, to prevent loops in each [[Multiple Spanning Tree Protocol#Multiple Spanning Tree Instances (MSTI)|MSTI]] (Multiple Spanning Tree Instances) and in the [[Multiple Spanning Tree Protocol#Common and Internal Spanning Tree(CST/CIST)|CIST]] (Common and Internal Spanning Tree), by selecting active and blocked paths. This is done as well as in [[Spanning Tree Protocol|STP]] without the need of manually enabling backup links and getting rid of [[Bridging (networking)|bridge]] [[Switching loop|loops]] danger.
 
The '''Multiple Spanning Tree Protocol ''' ('''MSTP''') and [[algorithm]], provides both, simple and full, connectivity assigned to any given [[Virtualvirtual LAN]] (VLAN) throughout a Bridgedbridged Local[[local Areaarea Networknetwork]]. MSTP uses [[Bridgebridge Protocolprotocol Datadata Unit|BPDUsunit]] (BPDUs) to exchange information between spanning-tree compatible devices, to prevent loops in each [[Multiple Spanning Tree Protocol#Multiple Spanning Tree Instances (MSTI)|MSTI]] (Multiple Spanning Tree Instancesinstance]] (MSTI) and in the [[Multiple Spanning Tree Protocol#Common and Internal Spanning Tree (CST/CIST)|CIST]] (Commoncommon and Internalinternal Spanningspanning Treetree]] (CIST), by selecting active and blocked paths. This is done as well as in [[Spanning Tree Protocol|STP]] (STP) without the need of manually enabling backup links and getting rid of [[Bridging (networking)|bridge]] [[Switchingswitching loop|loops]] danger.
Moreover, MSTP allows frames/packets assigned to different VLANs to follow separate paths, each based on an independent MSTI, within MST Regions composed of [[Local area network| LANs]] and or MST Bridges. These Regions and the other Bridges and LANs are connected into a single Common Spanning Tree (CST).
 
Moreover, MSTP allows frames/packets assigned to different VLANs to follow separate paths, each based on an independent MSTI, within MST Regionsregions composed of [[Locallocal area network|networks (LANs]] ) and or MST Bridgesbridges. These Regionsregions and the other Bridgesbridges and LANs are connected into a single Commoncommon Spanningspanning Treetree (CST).
 
== History and motivation ==
It was originally defined in [[Institute of Electrical and Electronics Engineers|IEEE]] 802.1s as an amendment to [[IEEE 802.1Q|802.1Q]], 1998 edition and later merged into IEEE 802.1Q-2005 Standard, clearly defines an extension or an evolution of [[Radia Perlman]]'s Spanning Tree Protocol (STP) and the [[Spanning Tree Protocol#Rapid Spanning Tree Protocol|Rapid Spanning Tree Protocol]] (RSTP). It has some similarities with [[Cisco Systems]]' Multiple Instances Spanning Tree Protocol (MISTP), but there are some differences.
 
The original STP and RSTP work on the physical link level, preventing bridge loops when redundant paths are present. However, when a LAN is virtualized using VLAN trunking, each physical link represents multiple logical connections. Blocking a physical link blocks all its logical links and forces all traffic through the remaining physical links within the [[spanning tree]]. Redundant links cannot be utilized at all. Moreover, without careful network design, seemingly redundant links on the physical level may be used to connect ''different'' VLANs and blocking any of them may disconnect one or more VLANs, causing ''bad paths''.
Line 22 ⟶ 24:
|title = Multiple Instance Spanning-Tree Operation
|year = 2006
|url = ftphttp://ftp.hp.com/pub/networking/software/2900-AdvTrafficMgmt-Aug2006-59916197-Chap04.pdf
}}</ref>
 
* '''Internal Spanning-Tree Instance (IST)''': Default spanning tree instance in any MST region. All VLANs in this IST instance conform a '''single''' spanning tree [[Topology#Computer science|topology]], allowing only one forwarding path between any two nodes. It also provides the root switch for any VLAN configured switches which are not specifically assigned to a MSTI.
* '''Multiple Spanning Tree Instance (MSTI)''': Unlike IST, this kind of instance comprises all static VLANs specifically assigned to it and at least, must include one VLAN.
''While each MSTI can have multiple VLANs, each VLAN can be associated with only one MSTI.''.
 
=== MSTP Regions ===
[[File:MST Region.png|thumb|MSTIs in different regions.]]
A set of interconnected switches that must have configured the same VLANs and MSTIs, also have the same following parameters:
* '''MST Configuration Name'''
* '''Revision Level'''
Line 44 ⟶ 46:
The role of the Common Spanning Tree (CST) in a network, and the Common and Internal Spanning Tree (CIST) configured on each device, is to prevent loops within a wider network that may span more than one [[Multiple Spanning Tree Protocol#MSTP Regions|MSTP Region]] and parts of the network running in legacy STP or RSTP mode.
 
=== MSTP Bridge Protocol Data Units (BPDU)BPDUs ===
{{Main articleFurther|BridgeSpanning Tree Protocol#Bridge protocol Datadata Unitunits}}
ItsThe main function of bridge protocol data units (BPDUs) is enabling MSTP to select its root bridges for the proper CIST and each MSTI. MSTP includes all its spanning tree information in a single BPDU format. Not only does reduce the number of BPDUs required on a LANs to communicate spanning tree information for each VLAN, but it also ensures backward compatibility with RSTP (and in effect, classic STP too).
 
BPDUs' general format comprises a common generic portion ''-octets 1 to 36-'' that are based on those defined in IEEE Standard [[IEEE 802.1D|802.1D]],2004,<ref>{{cite book|last = IEEE|first = Standard|title = IEEE Standard for Local and metropolitan area networks, Media Access Control (MAC) Bridges|publisher = IEEE Computer Society
|year = 2004|url = http://www.ccna-powertraining.de/wp-content/uploads/2014/10/802.1D-2004.pdf}}</ref> followed by components that are specific to CIST ''-octets 37 to 102.'' Components specific to each MSTI are added to this BPDUs data block.
 
BPDUs' general format comprises a common generic portion, ''-octets 1 to 36-'', that are based on those defined in IEEE Standard [[IEEE 802.1D|802.1D]], 2004,<ref>{{cite book|last = IEEE|first = Standard|title = IEEE Standard for Local and metropolitan area networks, Media Access Control (MAC) Bridges|publisher = IEEE Computer Society |year = 2004 |url = http://www.ccna-powertraining.de/wp-content/uploads/2014/10/802.1D-2004.pdf}}</ref> followed by components that are specific to CIST, octets 37 to 102. Components specific to each MSTI are added to this BPDUs data block.<ref>[https://www.alliedtelesis.com/sites/default/files/stp_feature_config_guide.pdf BPDU table info]</ref>
[https://www.alliedtelesis.com/sites/default/files/stp_feature_config_guide.pdf BPDU table info] and [[Spanning Tree Protocol#Bridge Protocol Data Unit fields|STP BPDUs]] ''' show a deeper resume of the MSTP BPDU format''' and, besides, some additional information about how was this object structured in older or different versions of this protocol as STP and RSTP, maintaining its compatibility.
 
=== MSTP Configuration Identification ===
Line 62 ⟶ 61:
|publisher = IETF, D. Harrington
|year = 1998
|doi = 10.17487/RFC2271
|url = https://tools.ietf.org/html/rfc2271
}}</ref><ref>{{cite book
Line 69:
|publisher = IETF, D. Harrington
|year = 1999
|doi = 10.17487/RFC2571
|url = https://tools.ietf.org/html/rfc2571
}}</ref><ref>{{cite book
Line 76 ⟶ 77:
|publisher = IETF, D. Harrington
|year = 2002
|doi = 10.17487/RFC3411
|url = https://tools.ietf.org/html/rfc3411
}}</ref>
Line 84 ⟶ 86:
|publisher = IETF, H. Krawczyk
|year = 1997
|doi = 10.17487/RFC2104
|url = https://tools.ietf.org/html/rfc2104
}}</ref><ref>{{cite book
Line 91 ⟶ 94:
|publisher = IETF, S. Turner
|year = 2011
|doi = 10.17487/RFC2104
|url = https://tools.ietf.org/html/rfc2104
}}</ref> A 16B signature [[Hash-based message authentication code|HMAC]]-[[MD5|MD5 Algorithms]] created from the MST Configuration Table.<br />
This object is specific and unique of MSTP, neither STP or RSTP use it.
 
== 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 out 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 MSTI. 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 a MSTI priority vector, this one compromises 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 to each receiving port). This leads to one bridge been 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 138 ⟶ 142:
 
An example of how to configure a simple, three switch MSTP topology wherein a layer-two access switch carries four VLANs and has two uplinks to two distribution switches, can be found here: [http://packetlife.net/blog/2010/apr/26/multiple-spanning-tree-mst/ MSTP Configuration Guide]<br />
A good configuration view, from the abovedabove-mentioned example shall be:
S3# '''show spanning-tree mst'''
 
Line 178 ⟶ 182:
 
==== BPDUs ====
{{Main article|Bridge Protocol Data Unit}}
AMSTP BPDUs use the same local multicast protocol addresses than STP and have a structure that resembles MSTP BPDUs since both are comprised essentially of a basic BPDU and several AM-Records, allowing full-backwards compatibility with RSTP and STP standard protocols. Each of the AM-Records contains the data used to negotiate a specific tree instance (AMSTI). Every ABridge, except for the elected root bridge, creates an AM-Record for its own spanning tree instances. They are used by connected ports of neighboring switches to negotiate the transitions of each tree instance with a proposal/agreement mechanism.
 
Line 186 ⟶ 189:
|first = Guillermo, Alberto, Arturo, Ignacio
|title = Alternative Multiple Spanning Tree Protocol (AMSTP) for Optical Ethernet Backbones
|publisher = Departamento de Ingeniería Telemática, Universidad Carlos III, Madrid, Spain, CAPITAL MEC Project
|year = 2007
|url = https://e-archivo.uc3m.es/bitstream/handle/10016/2954/COMPNW_3675_08.pdf?sequence=2&isAllowed=y
Line 212 ⟶ 215:
 
==See also==
* [[Bridge Protocol Data Unit]]
* [[Distributed minimum spanning tree]]
* [[EtherChannel]]
Line 219 ⟶ 221:
* [[Media Redundancy Protocol]]
* [[Minimum spanning tree]]
* [[TRILL (computing)|TRILL]] (Transparent Interconnection of Lots of Links)
* [[Unidirectional Link Detection]]
* [[Virtual Link Trunking]]
Line 228 ⟶ 230:
 
== External links ==
{{commons category|MSTPMultiple Spanning Tree Protocol}}
* [httphttps://standards1.ieeeieee802.org/about/get/802/802.1.html IEEE "Home Page" for 802.1] (Related Standards of the 802.1 family)
* [httphttps://blog.ine.com/blog/2008/-07/-27/-mstp-tutorial-part-i-inside-a-region/ MSTP Tutorial] (Brief Tutorial for the comprehension of MSTP)
* [http://www.postel.org/pipermail/rbridge/ RBridge]
* Cisco Implementations
Line 247 ⟶ 249:
}}
* IEEE Standards
** [https://web.archive.org/web/20051210051119/http://standards.ieee.org/getieee802/download/802.1D-2004.pdf ANSI/IEEE 802.1D-2004 standard], section 17 discusses RSTP (Regular STP is no longer a part of this standard. This is pointed out in section 8.)
** [https://web.archive.org/web/20070913195704/http://standards.ieee.org/getieee802/download/802.1Q-2005.pdf ANSI/IEEE 802.1Q-2005 standard], section 13 discusses MSTP
* RFCs
** RFC 2271-1998, - An Architecture for Describing SNMP Management Frameworks