Guide That Contains This Content
[+] Expand All
[-] Collapse All

    Multiple Spanning Tree Protocol

    Multiple Spanning Tree Protocol (MSTP) was first specified in IEEE 802.1s and is standardized in IEEE 802.1Q. MSTP enables multiple VLANs to be mapped to the same spanning-tree instance, reducing the number of spanning-tree instances needed to support a large number of VLANs. MSTP provides multiple forwarding paths for data traffic and enables load balancing. It improves the fault tolerance of the network because a failure in one instance, or forwarding path, does not affect other instances.

    It may be necessary to have different topologies for different VLANs, for load-sharing or other purposes. MSTP enables the grouping of multiple VLANs with the same topology requirements into one MST instance (MSTI). Instances are not supported in STP or RSTP, so those two versions have the same spanning-tree in common for all of the VLANs.

    In MSTP, all of the interconnected bridges that have the same MSTP configuration comprise an MST region. An MSTP configuration consists of the configuration name, the configuration revision, and the mapping of VLANs to MSTIs.

    There is a common spanning-tree (CST) instance that spans all regions and allows different regions to communicate between themselves. The CST is also used for traffic within the region for any VLANs not covered by an MSTI.

    MSTP has a backward compatibility mode in which it can fall back to STP or RSTP operation on links with bridges that support only STP or RSTP.

    The maximum number of MSTP instances supported in Juniper Networks MX Series 3D Universal Edge Routers is 64.

    Multiple Spanning-Tree Regions

    MSTP provides the capability to logically divide a Layer 2 network into regions. Every region has a unique identifier and can contain multiple instances of spanning trees. All regions are bound together using a Common Instance Spanning Tree (CIST), which is responsible for creating a loop-free topology across regions, whereas the Multiple Spanning Tree Instance (MSTI) controls topology inside regions.

    In order for bridges to participate in multiple spanning-tree (MST) instances, they must be consistently configured with the same MST configuration, the same revision level, and the same VLAN-to-instance assignment mapping information.

    The inheritance model is based on the hierarchy level in which the priority costs are defined. If the priority costs are defined within an interface in MSTI hierarchy level, that configuration takes precedence. Otherwise, the values are derived from the values specified under the interface in the MSTP hierarchy level.

    Internal Spanning Tree, Common Internal Spanning Tree, and Common Spanning Tree

    Within each MST region, the MSTP maintains multiple spanning-tree instances. All MST instances are numbered 0 through 4094. Instance 0 is a special instance for the region, known as the internal spanning tree (IST).

    The IST is the only spanning-tree instance that sends and receives BPDUs. All of the other spanning-tree instance information is in M-records, which are encapsulated within MSTP BPDUs. Because the MSTP BPDU carries information for all instances, the number of BPDUs that need to be processed to support multiple spanning-tree instances is significantly reduced.

    All MST instances within the same region share the same protocol timers, but each MST instance has its own topology parameters, such as root bridge ID, root path cost, and so on. By default, all VLANs are assigned to the IST.

    An MST instance is local to its region; for example, MST instance 1 in region A is independent of MST instance 1 in region B, even if regions A and B are interconnected.

    ISTs in different regions are interconnected through a common spanning tree (CST). The collection of the ISTs in each MST region, and the common spanning tree that interconnects the MST regions and single spanning trees are called the common and internal spanning tree (CIST).

    The spanning tree computed in a region appears as a subtree in the CST that encompasses the entire bridged domain. The CIST is formed by the spanning-tree algorithm running among bridges that support the IEEE 802.1w, IEEE 802.1s, and IEEE 802.1D standards. The CIST inside an MST region is the same as the CST outside a region.

    Operations Within an MST Region

    The IST connects all of the MSTP bridges in a region. When the IST converges, its root becomes the CIST regional root. The regional root is the bridge within the region that has the lowest bridge ID and path cost to the CIST root. The CIST regional root is also the CIST root if there is only one region in the network. If the CIST root is outside of the region, one of the MSTP bridges at the boundary of the region is selected as the CIST regional root.

    When an MSTP bridge initializes, it sends BPDUs announcing itself as the CIST root and the CIST regional root, with each of the path costs to the CIST root and to the CIST regional root set to zero. The bridge also initializes all of its MST instances and announces itself as the root for all of them. If the bridge receives superior MST root information from another source, such as a lower bridge ID or lower path cost than it currently has stored for the port, it relinquishes its claim as the CIST regional root.

    During initialization, a region might have many subregions, each with its own CIST regional root. As bridges receive superior IST information, they leave their old subregions and join the new subregion that contains the true CIST regional root. In this manner, all subregions shrink, except for the one containing the true CIST regional root.

    All bridges in the MST region must agree on the same CIST regional root to operate correctly. Therefore, any two bridges in the region only synchronize their port roles for an MST instance if they converge to a common CIST regional root.

    Bridge priority can be separately specified in the configuration for each MSTI.

    Multiple bridge domains can correspond to the same MSTI. A maximum of 64 MSTIs can be configured. The logical ports (e.g. ge-0/0/0.1) in a bridge domain can belong to a range of VLANs; therefore, an MSTI can map to VLAN ranges.

    Each MSTI only spans the VLANs of those physical interfaces specified under the interface that are within the STP configuration.

    Operations Between MST Regions

    If there are multiple regions or legacy STP bridges within the network, MSTP establishes and maintains the CST, which includes all MST regions and all legacy STP bridges in the network. The MST instances combine with the IST at the boundary of the region to become the CST.

    The IST connects all of the MSTP bridges in the region. It appears as a subtree in the CIST that encompasses the entire bridged domain. The root of the subtree is the CIST regional root. The MST region appears as a virtual switch to adjacent STP bridges and MST regions.

    The following shows the configuration statement syntax for MSTP.

    [edit]routing-instances {instance1 {instance-type virtual-switch;bridge-domains {bd-vlan-10 {domain-type bridge;routing-interface irb.0;interface ge-3/0/0.0;interface ge-3/0/1.0;}bd-vlan-11 {domain-type bridge;routing-interface irb.1;interface ge-4/0/0.0;interface ge-4/0/1.0;}bd-vlan-12 {domain-type bridge;routing-interface irb.2;interface ge-5/0/0.0;interface ge-5/0/1.0;}bd-vlan-13 {domain-type bridge;routing-interface irb.3;interface ge-6/0/0.0;interface ge-6/0/1.0;}bd-vlan-14 {domain-type bridge;routing-interface irb.4;interface ge-7/0/0.0;interface ge-7/0/1.0;}}}}protocols {mstp {bpdu-block-on-edge;bridge-priority priority;configuration-name configuration-name;disable;forward-delay seconds;hello-time seconds;max-age seconds;max-hops hops;priority-hold-time seconds;revision-level revision-level;interface interface-name {bpdu-timeout-action (alarm | block);cost cost;edge;mode (p2p | shared);no-root-port;priority interface-priority;}msti msti-id {bridge-priority priority;vlan vlan-id;interface interface-name {cost cost;edge;priority interface-priority;}}traceoptions {file filename <files number> <size size> <world-readable | no-world-readable>;flag flag <flag-modifier> <disable>;}}

    Published: 2012-02-27