STP的作用
为了减少网络的故障时间,网络设计中经常会采用冗余拓扑,冗余是保持网络可靠性的关键设计。设备之间的多条物理链路能够提供冗余路径,当单个链路或端口发生故障时,网络可以继续运行,同时冗余链路可以增加网络容量,提供流量负载分担。为避免产生二层交换环路,可以通过STP来管理二层冗余,STP可以让具有冗余拓扑的网络在故障发生时自动调整网络的数据转发路径。Cisco的 PVST+可以解决STP 不能实现负载分担的问题。STP重新收敛时间较长,通常需要30~50秒,RSTP和MSTP可以解决该问题。本章主要介绍交换机上用于防止二层交换环路的STP、STP 防护RSTP 和 MSTP 技术的工作原理和配置,同时还讨论了交换机堆叠的问题。
STP历史
STP, Spanning Tree Protocol, IEEE制定的标准。
1. STP标准产生的原因:
STP是一个针对数据链路层(二层)环路的技术。同样的,在网络层(三层)也需要环路。
1) 需要环路的动机:实现设备或线路的冗余,冗余能够解决单点故障问题,这样才能保证网络更加可靠;
2) 环路导致会导致哪些问题:广播风暴、多帧复用、MAC地址不稳定,为了解决这些问题,产生了STP。
二层环路产生后,广播风暴产生,帧在不断重新复制、MAC地址不断漂移,数据帧会不断增加,向滚雪球一样,越滚越大,不停歇,线路中传输的数据越来越大,最后交换崩溃,网络瘫痪,此时,交换机指示灯狂闪。
介绍企业网中私接交换机导致网络瘫痪的案例。
3) 如何解决二层环路产生的问题:STP
2. STP的起源:图论、离散数学
生成树是从图(图论)中生成的树,在含有原图的所有顶点的前提下,以最少数量的边将它们连接起来,如果我们从这些树种任意抽取一棵树那么我们可以把它叫做“统一生成树”或者“平均生成树”Uniform Spanning tree,图中边的加权值最小的那个生成树就是“最小生成树”Minimum Spanning Trfee。如下图示:
有向图、无向图、加权图、非加权图、循环图、非循环图、连通图 非连通图
怎样的图才是一个树结构呢?
是一个无向连通非循环图。
如果在图中添加任意一条边,则立即形成环路。
图中任意两点之间,有且仅有一条独特的路径。
3. STA,SPANNING TREE ALGORITHM(算法)
STP, Spanning Tree Protocol,生成树协议。
在STP背后的是STA,SPANNING TREE ALGORITHM,生成树算法。
略
4. SPANNING TREE在网络中的发展
2016(第十五届)中国互联网大会组委会日前透露,网络生成树协议(STP)发明者、国际互联网名人堂入选者Radia Perlman女士将出席6月21日-23日在北京举办的2016中国互联网大会。
Radia Perlman女士是美国麻省理工学院博士,现任职于美国EMC公司。Perlman博士在早期网络路由和安全协议领域的发展作出了大量贡献,包括制定了稳健和可扩展的网络路由协议、提出了生成树协议(STP)、发明了可删除的存储系统以及可抵制恶意连接的分布式计算方法。她撰写的书籍《Interconnections》是一本广受读者欢迎的网络路由和桥接方面的书籍,同时她还是《Network Security》的合著者。她拥有100多项专利,并获得了众多奖项,其中包括入选美国国家发明家名人堂、国际互联网名人堂,入选美国国家工程院院士,以及获得美国计算机协会数据通信专业组(ACM-SIGCOMM)和美国高等计算机系统协会(USENIX)颁发的终身成就奖。
-
IEEE Std 802.1D,STP
-
PVST+(Per-VLAN Spanning Tree Plus) ,CISCO私有协议,每个VLAN拥有一颗单独的生成树。
-
IEEE Std 802.1W,RSTP------2001年
-
IEEE Std 802.1S,MSTP,由IEEE制定。
-
PVRST+ ,CISCO私有,对RSTP的增强版
注意:根据目前找到的资料,802.1w,802.1s已经被替代了,都并入了IEEE Std 802.1D。截止2023年10月,IEEE Std 801.1D的最新版本是IEEE Std 801.1D-2022。
4.1 IEEE Std 802.1w-2001
4.2 IEEE Std 802.1s-2022
4.3 IEEE802.1D-2004
IEEE Std 802.1D-2004 收敛了(吸收了,包含了) IEEE Std 802.1t-2001 和 IEEE Std 802.1w 标准。
802.1D 中,关于生成树协议 (STP) 标准的设计初衷是,每次连接都在中断一分钟左右后恢复可视为性能良好。随着LAN环境中第3层交换的出现,网桥现在与路由解决方案展开竞争。在路由解决方案中,开放最短路径优先(OSPF)和增强型内部网关路由协议(EIGRP)等协议能够在更短的时间内提供备用路径。
思科通过Uplink Fast、Backbone Fast和Port Fast等功能增强了原始802.1D规范,以加快桥接网络的收敛时间。缺点是这些机制是专有的并且需要额外配置。
快速生成树协议(RSTP; IEEE Std 802.1w)可看作是对早期版本的802.1D标准的演进,而不是一场革命。802.1D 中的术语基本上保持不变。而且大部分参数也没有变化,因此熟悉 802.1D 的用户可以轻松地快速配置新协议。在大多数情况下,RSTP 的性能比 Cisco 专有扩展的性能要好,而且不需要进行任何额外的配置。802.1w也可以恢复为802.1D,以便与旧网桥进行互操作(基于每个端口)。但这恰恰抛弃了它带来的好处。
技术背景:二层交换机网络的冗余性与环路
IEEE Std 802.1D-2022
-
IEEE 802.1D-2022目录
-
IEEE Std 802.1D变迁
从IEEE Std 802.1D-1990至IEEE Std 802.1D-2022
-
IEEE Std 802.1D-1990
https://ieeexplore.ieee.org/document/159274
2. IEEE Std 802.1D-1998
https://ieeexplore.ieee.org/document/1389253
3. IEEE Std 802.1D-2004
4. IEEE Std 802.1D-2018
略(一下没找到)
5. IEEE Std 802.1D-2022
老师当初看IEEE Std 802.1D原文的其中一个目的:了解到bridge≈switch,桥约等于交换机,国际标准中(设备配置中)说的都是bridge(桥),而现实生活中说的都是switch(交换机)。
配置Per VLAN STP ( PVST )
PVST,使用cisco专有的ISL中继协议,其它(如华为、H3C等)厂商的设备不支持。
PVST会为每一个VLAN构建一棵STP树,这样所有的口都会转发数据,实现负载分担,不是负载均衡!
-
ethernet以太网,10Mbps,e0/0
-
fastethernet快速以太网,100Mbps,fa0/13
-
gigabitethernet千兆以太网,1000Mbps,gi0/3
1. 拓扑图 cisco packet tracer version 6.2.0.0052
S1和S2是核心层交换机,S3是接入层交换机,接入层交换机直接接PC、网络打印机等设备终端。
由上图可以得知,思科交换机开机默认配置pvst,本实验使用的是cisco packet tracer 6.2.0.0052,高版本的cisco packet tracer中,思科交换机默认配置可能是pvst+。华为设备默认开机是MSTP。
不理解上图的同学还可以看下图,上图其实是从现实中的下图中摘取的一部分
2. 配置脚本
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
3. 配置过程
1) S1
2) S2
3) S3
3. 配置注释
4. 配置完后的拓扑图
5. cisco packet tracer pkt文件
5. 检查
1)在S1上查看生成树信息
show spanning-tree
2)在S2上查看生成树信息
show spanning-tree
3)查看S3交换机
课本的编写可能是基于cisco真实的交换机。真机的命令和cisco packet tracer模拟器的命令还是不一样的。