冗余-STP

一.STP的作用

为了减少网络的故障时间,网络设计中经常会采用冗余拓扑,冗余是保持网络可靠性的关键设计。设备之间的多条物理链路能够提供冗余路径,当单个链路或端口发生故障时,网络可以继续运行,同时冗余链路可以增加网络容量,提供流量负载分担。为避免产生二层交换环路,可以通过STP来管理二层冗余,STP可以让具有冗余拓扑的网络在故障发生时自动调整网络的数据转发路径。Cisco的 PVST+可以解决STP 不能实现负载分担的问题。STP重新收敛时间较长,通常需要30~50秒,RSTP和MSTP可以解决该问题。

二.STP的历史

1. STP标准产生的原因:

STP是一个针对数据链路层(二层)环路的技术。同样的,在网络层(三层)也需要环路。

1) 需要环路的动机:实现设备或线路的冗余,冗余能够解决单点故障问题,这样才能保证网络更加可靠;
2) 环路导致会导致哪些问题:广播风暴、多帧复用、MAC地址不稳定,为了解决这些问题,产生了STP。

二层环路产生后,广播风暴产生,帧在不断重新复制、MAC地址不断漂移,数据帧会不断增加,向滚雪球一样,越滚越大,不停歇,线路中传输的数据越来越大,最后交换崩溃,网络瘫痪,此时,交换机指示灯狂闪。

介绍企业网中私接交换机导致网络瘫痪的案例。

3) 如何解决二层环路产生的问题:STP1

2. STP的起源:图论、离散数学

生成树是从图(图论)中生成的树,在含有原图的所有顶点的前提下,以最少数量的边将它们连接起来,如果我们从这些树种任意抽取一棵树那么我们可以把它叫做“统一生成树”或者“平均生成树”Uniform Spanning tree,图中边的加权值最小的那个生成树就是“最小生成树”Minimum Spanning Trfee。

1).最小生成树:

最小生成树的两种计算公式包括:

  1. 普里姆算法(Prim's Algorithm):

    • 选择一个起始顶点,并将其加入最小生成树的顶点集合中。
    • 从起始顶点开始,依次选择与当前最小生成树相连的顶点中,权值最小的边,并将其加入最小生成树的边集合中。
    • 重复上述步骤,直到所有顶点都被加入最小生成树的顶点集合中。
  2.  克鲁斯卡尔算法(Kruskal's Algorithm):

    • 将所有边按照权值从小到大的顺序进行排序。
    • 依次选择排序后的边,如果该边的两个顶点不在同一个连通分量中,则将其加入最小生成树的边集合中,同时将它们合并为一个连通分量。
    • 重复上述步骤,直到最小生成树的边数达到顶点数减一。

     3.相关例题

如题所示:

算法一:Prim算法

Prim算法是一种贪心算法,它从一个顶点开始,每次选择连接已选顶点集合和未选顶点集合中权重最小的边,直到所有顶点都被选中。

算法二:Kruskal算法

Kruskal算法是另一种求最小生成树的算法,它按照边的权重从小到大排序,然后依次选择边,如果选择的边不构成环,则将其加入最小生成树中。

2).IEEE Std 802.1D变迁
IEEE Std 802.1D-1990IEEE Std 802.1D-2022

3.配置Per VLAN STP ( PVST )

本实验在书本的226页, 章节: 14.4

PVST,使用cisco专有的ISL中继协议,其它(如华为、H3C等)厂商的设备不支持。

PVST会为每一个VLAN构建一棵STP树,这样所有的口都会转发数据,实现负载分担不是负载均衡!

S1

enable

configure terminal

hostname S1

no ip domain-lookup

vlan 2

name vlan2

exit

interface range fastethernet 0/13-15

switchport trunk encapsulation dot1q

switchport trunk native vlan 99

switchport mode trunk

switchport nonegotiate

exit

interface range fastethernet 0/1-4

spanning-tree portfast

exit

spanning-tree mode pvst

spanning-tree vlan 1 priority 4096

spanning-tree vlan 2 priority 8192

spanning-tree vlan 1 root primary

spanning-tree vlan 2 root secondary

exit

write

copy running-config startup-config

S2

enable

configure terminal

hostname S2

no ip domain-lookup

vlan 2

name vlan2

exit

interface range fastethernet 0/13-15

switchport trunk encapsulation dot1q

switchport trunk native vlan 99

switchport mode trunk

switchport nonegotiate

exit

interface range fastethernet 0/1-4

spanning-tree portfast

exit

spanning-tree mode pvst

spanning-tree vlan 1 priority 8192

spanning-tree vlan 2 priority 4096

spanning-tree vlan 2 root primary

spanning-tree vlan 1 root secondary

exit

write

copy running-config startup-config

S3

enable

configure terminal

hostname S3

no ip domain-lookup

vlan 2

name vlan2

exit

interface range fastethernet 0/1-2

switchport trunk encapsulation dot1q

switchport trunk native vlan 99

switchport mode trunk

switchport nonegotiate

exit

spanning-tree mode pvst

exit

write

copy running-config startup-config

4.配置MSTP

  1. 实验目的

通过本实验掌握:

  • MSTP作用和工作原理

  • MSTP配置和调试方法   

2.实验

1)多生成树协议(MSTP)配置思路如下:

拓扑图只有1个环路,因此只需要两个实例即可。现在有4个VLAN,将VLAN数量平均分配到2个实例中去,也就是配制两个实例(Instance),每个实例分2个VLAN即可。

Instance1: VLAN1, VLAN2       //实例1中包含VLAN1和VLAN2

Instance2: VLAN3, VLAN4       //实例2中包含VLAN3和VLAN4

交换机S1是Instance1的primary root bridge,priority:4096

交换机S1是Instance2的secondary root bridge,priority:8192   

 //S1交换机是实例1的主根桥,优先级数值是 4096

 //S1交换机是实例2的次根桥,优先级数值是 8192

交换机S2是Instance1的secondar root bridge,priority:8192

交换机S2是Instance2的primary root bridge,priority:4096

 //S2交换机是实例1的次根桥,优先级数值是 8192

 //S2交换机是实例2的次根桥,优先级数值是 4096

5.MSTP介绍

在PVST中, 交换机为每个VLAN都构建一棵STP 树不个仅会为CPU 带来很大负载(特别是低端的交换),也会占用大量的带宽。MSTP (Multiple Spanning Tree Protocol)则可把多个VLAN 映射到一个STP实例上,每个实例都运行RSTP,从而减少了资源的浪费。

MSTP 中引入了实例(Instance)和域(Region)的概念。

实例就是多个 VLAN的一个集合,这种通过将多个VLAN捆绑到一个实例中的方法可以节省通信开销和资源占用率。

MSP各个实例拓扑的计算是独立的,通过控制这些实例上STP选举,就可以实现负载均衡。

域名(Configuration Name)、修订级别(Revision Level)、格式选择器(Configuration ldentifier Format Selector)、VLAN 与实例的映射关系组成。

其中域名、格式选择器和修订级别在BPDU数据包中都有相关字段,而 VLAN 与实例的映射关系在 BPDU 数据包中以 MDS 摘要信息(Configuration Digest)的形式表现,该摘要信息是根据映射关系计算得到的一个 16字节签名。只有上述4者都一样且相互连接的交换机机才认为在同一个MSTP域内。

默认时,所有的VLAN都映射到实例0上。

MSTP的实例0具有特殊作用,称为CIST( Common Internal and Spanning Tree),即公共和内部生成树。

其他的实例称为MSTI ( Multiple Spanning Tree instance ) ,即多生成树实例。

多生成树 (MST) 是从 Cisco 专用多实例生成树协议 (MISTP) 实施得到的 IEEE 标准。

使用 MST 的位置

下图显示了一种常用设计,其特征是接入交换机 A 带 1000 个 VLAN,这些 VLAN 冗余连接到两台分布式交换机 D1 和 D2。在此设置中,用户连接到交换机 A,而网络管理员通常根据偶数或奇数 VLAN 或认为适当的任何其他方案,寻求实现接入交换机上行链路的负载均衡。

具有1000个VLAN的接入交换机A冗余连接到交换机D1和D2

以下部分是对此设置使用各种类型的 STP 的案例示例:

PVST+ 案例

在 Cisco 每 VLAN 生成树 (PVST+) 环境中,可以调整生成树参数,以便在每个上行链路中继上转发半数 VLAN。为轻松实现此目的,请选择网桥 D1 作为 VLAN 501 至 1000 的根网桥,选择网桥 D2 作为 VLAN 1 至 500 的根网桥。以下描述对于此配置是正确的:

  • 在此案例中,可以获得最佳负载均衡结果。

  • 为每个 VLAN 维护一个生成树实例,这意味着只为两个不同的最终逻辑拓扑维护 1000 个实例。这严重浪费了网络中所有交换机的 CPU 周期(除了每个实例发送各自的网桥协议数据单元 (BPDU) 所用的带宽以外)。

标准 802.1q 案例

原始 IEEE 802.1q 标准不仅仅定义了中继,还定义了许多其他内容。此标准定义了通用生成树 (CST),后者仅假定整个桥接网络运行一个生成树实例,而不考虑 VLAN 的数量。如果将CST应用于下图拓扑,则结果类似于如下所示的图表:

Common Spanning Tree (CST) Applied to Network

应用于网络的通用生成树(CST)

在运行CST的网络中,以下陈述是正确的:

  • 无法进行负载均衡;一个上行链路需要阻塞所有VLAN。

  • CPU可备用;只需计算一个实例。

注意:思科实施增强了802.1q以支持一个PVST。此功能完全按照本示例中 PVST 的方式运行。Cisco 每 VLAN BPDU 通过纯 802.1q 网桥建立隧道。

MST 案例

MST (IEEE 802.1s) 组合了 PVST+ 和 802.1q 的最佳优势。其观点在于,可以将若干个 VLAN 映射到数量减少的生成树实例,因为大多数网络不需要太多逻辑拓扑。在第一个图描述的拓扑中,只有两种不同的最终逻辑拓扑,因此实际上只需要两个生成树实例。不需要运行 1000 个实例。如此图所示,如果将 1000 个 VLAN 中的一半映射到不同的生成树实例,则以下描述是正确的:

  • 由于一半的VLAN都连接到一个单独的实例,因此仍然可以实现所需的负载均衡方案。

  • 由于只计算两个实例,因此可以节省 CPU。

Map Half of the 1000 VLANs to a Different Spanning Tree Instance

将1000 VLAN的一半映射到不同的生成树实例

从技术观点来看,MST 是最佳解决方案。从最终用户的角度来看,迁移到MST的主要缺点是:

  • 该协议比常见的生成树更复杂,因此需要对员工进行额外培训


 

802.1Q—Only a single instance of STP is used for all VLANs. If there are 500 VLANs, only one instance of STP will be running. This is called the Common Spanning Tree (CST) and operates over the trunk’s native VLAN.

三.总结

本篇文章我们学习了冗余-STP,其中涉及STP的历史,起源,配置,还讲到了最小生成树,这些内容都十分有趣。总而言之,本文通过对某一主题的讨论,试图给读者带来了新的见解和思考。无论在哪个方面,我们都不应忽视这个问题的重要性和影响力。通过思考和行动,我们可以一起努力解决这个问题,并为我们的社会和世界带来积极的变化。希望这篇文章能够激发读者的思考,并为未来的探讨提供了一些启示。谢谢您的阅读!

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糖炒栗子最好吃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值