STP
-定义
-作用
-类型
1、802.1d - STP :生成树协议 PVST/PVST+(思科)
2、802.1w - RSTP :快速生成树协议 PV-RSTP(思科)
3、802.1s - MSTP :多生成树协议
-报文
目前创新互联公司已为上千家的企业提供了网站建设、域名、虚拟主机、网站托管维护、企业网站设计、绥滨网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
PVST:per-vlan STP,即在每个 VLAN 内部都运行一个 STP (802.1d);
STP的工作过程:
1、确定交换机的角色
根交换机:整个交换网络中,有且只有一个;
非根交换机:剩余的其他交换机,都称之为非根交换机
注意:
每一个非根交换机都会计算出一条去往根交换机的最短的、
无环、2层数据转发路径,并且最终该路径是“转发”状态;
选举原则:
比较每个交换机的 BID (bridge ID):优先级+MAC地址
优先级:默认值为 32768 ; 2个字节;
MAC地址:使用的是交换机的主板MAC;6个字节;
比较原则 -
首先比较优先级,越小越好;
其次比较MAC地址,越小越好;
2、确定端口的角色
根端口:在每一个非根交换机上,有且只有一个;
距离根交换机最近的端口;
指定端口:在每一个"网段/segment"中,有且只有一个;
距离根交换机最近的端口;
非指定端口:其他所有端口,都叫做“非指定端口”
3、确定端口的状态
down -关闭(指的是当前端口没有启动STP)
listening -侦听,此时侦听的是网络中的所有的BPDU
目的是为了确定交换机和端口的角色;
端口在该状态停留15s;
learning -学习,该阶段主要是学习端口上收到的数据帧
的源MAC地址,从而形成 MAC地址表;
端口在该状态停留15s;
forwarding -转发(最终状态),该状态实现数据包的发送和接收
blocking -阻塞(最终状态),该状态不能发送和接收数据包;
只能接收 BPDU。
BPDU类型:
1、配置BPDU
用于创建和维护 STP 无环转发路径树
2、TCN BPDU
只有当 STP 无环转发路径树(拓扑)变化的时候,才会
产生并发送。
并且是:感知到该变化的交换机,产生 TCN BPDU ,只
发送给根交换机,然后再由根交换机转发给其他的所有
非根交换机;
STP计时器:
hello:交换机周期性发送 BPDU 的时间间隔,默认是 2s ;
forward-delay : 转发延迟,默认时间为15s ;
max-age:最大老化时间,默认时间为 20s ;
STP参数修改(思科):
1、修改交换机的 STP 优先级 (确保网络中有主根交换机和辅根交换机)
spanning-tree vlan x priority {value} , value 是4096的倍数
2、修改交换机的 STP 模式 (必须确保网络的所有交换机的STP模式相同)
spanning-tree mode {pvst | rapid-pvst | mstp }
3、修改交换机的 端口 cost
interface fas0/22 (该链路指的是 trunk 链路)
spanning-tree vlan 3 cost {value}
4、针对某个 VLAN ,关闭 STP 功能
no spanning-tree vlan x
STP参数修改(华为):
1、修改交换机的 STP 优先级:
[SW] stp priority {value} -> 必须得是4096的倍数
2、修改交换机的 STP 模式
[SW] stp mode {stp | rstp | mstp }
3、修改交换机的端口的 STP cost :
[SW]interface fas0/13
[sw-fas0/13]stp cost {value}
4、在交换机上关闭/开启 STP :
[sw]stp disable -> 关闭 STP ;
[sw]stp enable -> 开启 STP ,默认是开启的;
验证命令:
show spanning-tree vlan x ->可以查看交换机上关于 VLAN x 的 STP 信息
show spanning-tree ->可以查看交换机上关于所有VLAN的 STP 信息
show spanning-tree summary ->可以查看交换机运行的 STP 的模式;
show version -> 可以查看交换机的 base mac ;
display stp
display stp brief
注意:
交换机上的 STP 功能,默认都是开启的;可以人工关闭;
=============================================================
MSTP的配置:
MSTI(instance),即MST 实例,一个MSTI 可以同时关联多个 VLAN ;
配置 MST region
[SW]stp region-configuration
[sw-mstp-region]region-name {string} //配置 region 的名字;
[sw-mstp-region]instance {id} vlan x y z m n //配置关联的VLAN
[sw-mstp-region]active region-configuration
[sw-mstp-region]display this
配置 MSTI
[sw1]stp instance {id} priority {value} <-将 SW1设置为 实例id 的根;
验证命令:
display stp instance {id}
display stp brief
注意:
默认情况下,所有的 VLAN 都是属于 instance 0 ; (系统的默认instance)
一个MSTP网络中,可以同时包含多个 region ;
每个MST Region 中,可以包含多个 instance (MSTI)
属于相同 region 的交换机上,以下参数必须相同:
#region-name
#实例与vlan的映射关系必须相同
属于同一个 region 中的多个交换机之间,可以基于 instance 进行
流量的负载均衡和备份;
=====================================================================
STP 收敛速度比较慢 :30-50s
RSTP收敛速度要比 STP 快,因为做了以下改进:
1、发现问题比较快
2、反应/传输问题比较快
发现拓扑变更的交换机,会产生TCN BPDU,直接发送给与自己相连
的其他所有交换机;
端口角色细化:
根端口(root port )
指定端口 (designated port )
替代端口(alternative port ):是根端口的备胎;
备份端口(bakcup port ):是指定端口的备胎
(边缘端口:一般都建议关闭 STP ;或者将连接非交换机的端口,设置非边缘端口)
端口状态精简化:
learning :学习
forwarding :转发
discarding :丢弃,相当于之前 STP 中的 down / blocking / listening
案例:
1 案例1:STP算法
1.1 问题
选择出根网桥、根端口、指定端口、被阻塞的端口。
1.2 方案
如图-1所示:
1.3 步骤
实现此案例需要按照如下步骤进行。
1)每个广播域选择根网桥(Root Bridge)
每个非根网桥选择根端口(Root Ports)
每个网段上选择指定端口(Designated Ports)
2)结果如图-2所示
2 案例2:配置STP
2.1 问题
首先查看当前根网桥,然后通过修改交换机的优先级来分配根网桥。
2.2 方案
使用eNSP搭建实验环境,如图-3所示。
2.3 步骤
实现此案例需要按照如下步骤进行。
[A]stp mode stp
[B]stp mode stp
[C]stp mode stp
[D]stp mode stp
[A]dis stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-cc3b-03cb
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.4c1f-cc17-3481 / 200000
CIST RegRoot/IRPC :32768.4c1f-cc3b-03cb / 0
CIST RootPortId :128.2
BPDU-Protection :Disabled
TC or TCN received :106
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:9m:8s
Number of TC :12
Last TC occurred :Ethernet0/0/2
[B]dis stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-cc17-3481
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.4c1f-cc17-3481 / 0
CIST RegRoot/IRPC :32768.4c1f-cc17-3481 / 0
CIST RootPortId :0.0
BPDU-Protection :Disabled
TC or TCN received :23
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:9m:52s
Number of TC :13
Last TC occurred :Ethernet0/0/4
[C]dis stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-cc50-3d65
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.4c1f-cc17-3481 / 400000
CIST RegRoot/IRPC :32768.4c1f-cc50-3d65 / 0
CIST RootPortId :128.4
BPDU-Protection :Disabled
TC or TCN received :92
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:10m:26s
Number of TC :11
Last TC occurred :Ethernet0/0/4
[D]dis stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-cc22-4507
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.4c1f-cc17-3481 / 200000
CIST RegRoot/IRPC :32768.4c1f-cc22-4507 / 0
CIST RootPortId :128.2
BPDU-Protection :Disabled
TC or TCN received :49
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:11m:12s
Number of TC :13
Last TC occurred :Ethernet0/0/2
可以看出,交换机B是根网桥。
[A]stp priority 4096
[A]dis stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :4096 .4c1f-cc3b-03cb
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :4096 .4c1f-cc3b-03cb / 0
CIST RegRoot/IRPC :4096 .4c1f-cc3b-03cb / 0
CIST RootPortId :0.0
BPDU-Protection :Disabled
TC or TCN received :108
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:0m:14s
Number of TC :15
Last TC occurred :Ethernet0/0/3
此时,根网桥已经是交换机A了。
3 案例3:配置MSTP及负载均衡
3.1 问题
配置MSTP实现多生成树效果
配置A成为vlan 10 和 20 的主根,vlan 30 和 40 的次根
配置B成为vlan 30 和 40 的主根,vlan 10 和 20 的次根
查看配置信息
3.2 方案
使用eNSP搭建实验环境,如图-4所示。
3.3 步骤
实现此案例需要按照如下步骤进行。
[A]vlan batch 10 20 30 40
[A]int e0/0/2
[A-Ethernet0/0/2]port link-type trunk
[A-Ethernet0/0/2]port trunk allow-pass vlan all
[A]int e0/0/3
[A-Ethernet0/0/3]port link-type trunk
[A-Ethernet0/0/3]port trunk allow-pass vlan all
交换机B、C也同样配置。
[A]stp region-configuration
[A-mst-region]region-name tedu
[A-mst-region]instance 1 vlan 10 20
[A-mst-region]instance 2 vlan 30 40
[A-mst-region]active region-configuration
查看配置:
[A-mst-region]dis this
#
stp region-configuration
region-name tedu
instance 1 vlan 10 20
instance 2 vlan 30 40
active region-configuration
#
return
交换机B、C也同样配置。
3)配置主根与次根
[A]stp instance 1 priority 4096
[A]stp instance 2 priority 8192
[B]stp instance 2 priority 4096
[B]stp instance 1 priority 8192
4)验证
[A]dis stp instance 1
-------[MSTI 1 Global Info]-------
MSTI Bridge ID :4096.4c1f-cc87-1de7
MSTI RegRoot/IRPC :4096.4c1f-cc87-1de7 / 0
MSTI RootPortId :0.0
Master Bridge :32768.4c1f-cc0d-76bc
Cost to Master :200000
TC received :5
TC count per hello :0
Time since last TC :0 days 0h:3m:6s
Number of TC :4
Last TC occurred :Ethernet0/0/2
----[Port2(Ethernet0/0/2)][FORWARDING]----
Port Role :Designated Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :4096.4c1f-cc87-1de7 / 128.2
Port Times :RemHops 20
TC or TCN send :4
TC or TCN received :3
----[Port3(Ethernet0/0/3)][FORWARDING]----
Port Role :Designated Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :4096.4c1f-cc87-1de7 / 128.3
Port Times :RemHops 20
TC or TCN send :2
TC or TCN received :2
[A]dis stp instance 2
-------[MSTI 2 Global Info]-------
MSTI Bridge ID :8192.4c1f-cc87-1de7
MSTI RegRoot/IRPC :4096.4c1f-cc0d-76bc / 200000
MSTI RootPortId :128.2
Master Bridge :32768.4c1f-cc0d-76bc
Cost to Master :200000
TC received :4
TC count per hello :0
Time since last TC :0 days 0h:3m:49s
Number of TC :4
Last TC occurred :Ethernet0/0/2
----[Port2(Ethernet0/0/2)][FORWARDING]----
Port Role :Root Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :4096.4c1f-cc0d-76bc / 128.1
Port Times :RemHops 20
TC or TCN send :4
TC or TCN received :3
----[Port3(Ethernet0/0/3)][FORWARDING]----
Port Role :Designated Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :8192.4c1f-cc87-1de7 / 128.3
Port Times :RemHops 19
TC or TCN send :2
TC or TCN received :1
[B]dis stp instance 1
-------[MSTI 1 Global Info]-------
MSTI Bridge ID :8192.4c1f-cc0d-76bc
MSTI RegRoot/IRPC :4096.4c1f-cc87-1de7 / 200000
MSTI RootPortId :128.1
Master Bridge :32768.4c1f-cc0d-76bc
Cost to Master :0
TC received :4
TC count per hello :0
Time since last TC :0 days 0h:5m:26s
Number of TC :4
Last TC occurred :Ethernet0/0/3
----[Port1(Ethernet0/0/1)][FORWARDING]----
Port Role :Root Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :4096.4c1f-cc87-1de7 / 128.2
Port Times :RemHops 20
TC or TCN send :3
TC or TCN received :4
----[Port3(Ethernet0/0/3)][FORWARDING]----
Port Role :Designated Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :8192.4c1f-cc0d-76bc / 128.3
Port Times :RemHops 19
TC or TCN send :1
TC or TCN received :0
[B]dis stp instance 2
-------[MSTI 2 Global Info]-------
MSTI Bridge ID :4096.4c1f-cc0d-76bc
MSTI RegRoot/IRPC :4096.4c1f-cc0d-76bc / 0
MSTI RootPortId :0.0
Master Bridge :32768.4c1f-cc0d-76bc
Cost to Master :0
TC received :6
TC count per hello :0
Time since last TC :0 days 0h:6m:4s
Number of TC :5
Last TC occurred :Ethernet0/0/3
----[Port1(Ethernet0/0/1)][FORWARDING]----
Port Role :Designated Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :4096.4c1f-cc0d-76bc / 128.1
Port Times :RemHops 20
TC or TCN send :3
TC or TCN received :4
----[Port3(Ethernet0/0/3)][FORWARDING]----
Port Role :Designated Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :4096.4c1f-cc0d-76bc / 128.3
Port Times :RemHops 20
TC or TCN send :2
TC or TCN received :2
[C]dis stp instance 1
-------[MSTI 1 Global Info]-------
MSTI Bridge ID :32768.4c1f-ccb8-32b8
MSTI RegRoot/IRPC :4096.4c1f-cc87-1de7 / 200000
MSTI RootPortId :128.1
Master Bridge :32768.4c1f-cc0d-76bc
Cost to Master :200000
TC received :3
TC count per hello :0
Time since last TC :0 days 0h:6m:58s
Number of TC :3
Last TC occurred :Ethernet0/0/1
----[Port1(Ethernet0/0/1)][FORWARDING]----
Port Role :Root Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :4096.4c1f-cc87-1de7 / 128.3
Port Times :RemHops 20
TC or TCN send :2
TC or TCN received :2
----[Port2(Ethernet0/0/2)][DISCARDING]----
Port Role :Alternate Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :8192.4c1f-cc0d-76bc / 128.3
Port Times :RemHops 19
TC or TCN send :0
TC or TCN received :1
[C]dis stp instance 2
-------[MSTI 2 Global Info]-------
MSTI Bridge ID :32768.4c1f-ccb8-32b8
MSTI RegRoot/IRPC :4096.4c1f-cc0d-76bc / 200000
MSTI RootPortId :128.2
Master Bridge :32768.4c1f-cc0d-76bc
Cost to Master :200000
TC received :4
TC count per hello :0
Time since last TC :0 days 0h:7m:32s
Number of TC :4
Last TC occurred :Ethernet0/0/2
----[Port1(Ethernet0/0/1)][DISCARDING]----
Port Role :Alternate Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :8192.4c1f-cc87-1de7 / 128.3
Port Times :RemHops 19
TC or TCN send :1
TC or TCN received :2
----[Port2(Ethernet0/0/2)][FORWARDING]----
Port Role :Root Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :4096.4c1f-cc0d-76bc / 128.3
Port Times :RemHops 20
TC or TCN send :2
TC or TCN received :2
查看负载均衡:
[A]dis stp bri
MSTID Port Role STP State Protection
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
1 Ethernet0/0/2 DESI FORWARDING NONE
1 Ethernet0/0/3 DESI FORWARDING NONE
2 Ethernet0/0/2 ROOT FORWARDING NONE
2 Ethernet0/0/3 DESI FORWARDING NONE
[B]dis stp bri
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
1 Ethernet0/0/1 ROOT FORWARDING NONE
1 Ethernet0/0/3 DESI FORWARDING NONE
2 Ethernet0/0/1 DESI FORWARDING NONE
2 Ethernet0/0/3 DESI FORWARDING NONE
[C]dis stp bri
MSTID Port Role STP State Protection
0 Ethernet0/0/1 ALTE DISCARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
1 Ethernet0/0/1 ROOT FORWARDING NONE
1 Ethernet0/0/2 ALTE DISCARDING NONE
2 Ethernet0/0/1 ALTE DISCARDING NONE
2 Ethernet0/0/2 ROOT FORWARDING NONE
C上VLAN 10 20的流量通过Ethernet0/0/1口到A,VLAN 30 40的流量通过Ethernet0/0/2口到B,实现了链路的负载均衡。