原理简述:
1.STP是用来避免数据链路层出现逻辑环路的协议。运行STP协议的设备通过交互信息发现环路,会通过阻塞特定端口,已至将网络结构修改成无环路的树形结构。而且,在网络出现故障时,STP能够迅速的发现链路的故障,快速的找出另一条路径进行数据的传输。
2.交换机上运行的STP通过BPDU(网桥协议数据单元)信息的交互,进行根交换机的选举,然后每台的非根交换机选择用来与根交换机通信的根端口,在这之后,每个网段选择用来转发数据至根交换机的指定端口,最后剩余的端口被阻塞。
实验内容:
需要S1作为主根交换机,S2作为备份根交换机。S4交换机的E0/0/1端口作为根端口;S2与S3之间的链路,S2的E0/0/3接口作为指定端口。需要在交换机S3上与之相连的对应端口定义为边缘端口,避免测试PC经常上下线对网络产生影响。
实验目的:
(1)理解STP的选举过程;
(2)掌握修改交换机优先级的方法;
(3)掌握修改端口开销值的方法。
实验拓扑:
实验中交换机的MAC地址:
设备 | 全局MAC地址 |
S1(S3700) | 4c1f-cc8d-02ba |
S2 | 4c1f-cc15-1bd8 |
S3 | 4c1f-cc3e-1d07 |
S4 | 4c1f-cc36-69b7 |
实验操作:
1.使用
stp enable
命令和
stp mode stp
命令在交换机上启用STP,并改成普通生成树STP(
华为交换机上默认启用MSTP
)。
[S1]stp enable
[S1]stp mode stp
......
在默认的情况下,需要等候30s生成树重新计算时间(15s Forward Delay时间+15s Learning时间)
,可以使用
display stp
命令查看生成树的详细状态信息,可以使用
display stp brief
命令查看摘要信息。
[S2]dis stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE //转发状态、指定端口
0 Ethernet0/0/2 DESI FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
......
生成树运算的第一步:
通过比较每台交换机的ID选举根交换机。
交换机ID由交换机优先级和MAC地址组成
。
(1)先比较交换机的优先级,数值最低的为根交换机;
(2)若优先级相等,则比较MAC地址,同样取数值最低的为根交换机。
交换机默认的优先级为32768(可修改)。使用
stp priority
命令修改优先级的大小。
配置主根交换机、备份根交换机的方法一:修改优先级
[S1]stp priority 0
[S2]stp priority 4096
配置后查看STP状态信息。
[S1]dis stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :0 .4c1f-cc8d-02ba //优先级变为0
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :0 .4c1f-cc8d-02ba / 0 //两者的值相同,即目前根交换机ID与自身的交换机ID相同;表明目前S1为根交换机。
CIST RegRoot/IRPC :0 .4c1f-cc8d-02ba / 0
......
[S2]dis stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :4096 .4c1f-cc15-1bd8 //优先级改为4096
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :0 .4c1f-cc8d-02ba / 200000
CIST RegRoot/IRPC :4096 .4c1f-cc15-1bd8 / 0
可以观察到,现在的S1交换机为根交换机,S2交换机为备份根交换机。
方法二:
使用
stp root primary
命令配置主根交换机;
stp root secondary
命令配置备份根交换机。
2.根端口的选举
生成树在选举根交换机之后,
将在每台非根交换机上选举根端口
。
每台交换机只能有一个根端口。
(1)首先比较该交换机上每个端口到达根交换机的根路径开销,路径开销最小的端口将成为根端口;
(2)若根路径开销相同,则比较每个端口所在链路上的对端交换机的ID;
(3)若交换机ID也相同,则比较每个端口所在链路上的对端的端口ID。
使用
display stp interface
命令查看接口下的信息。
[S4]dis stp interface e0/0/2
----[Port2(Ethernet0/0/2)][FORWARDING]----
Port Protocol :Enabled
Port Role :Root Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
......
接口路径开销采用的是Dot1T的计算方法,Config指手工配置的路径开销,Active是实际使用的路径开销。
使用
stp cost
命令修改接口默认的代价值。
[S4]int e0/0/2
[S4-Ethernet0/0/2]stp cost 2000
[S4]dis stp
----[Port2(Ethernet0/0/2)][FORWARDING]----
Port Protocol :Enabled
Port Role :Root Port
Port Priority :128
Port Cost(Dot1T ) :Config=2000 / Active=2000
......
3.指定端口的选举
(1)在选举指定端口时,首先比较的是两个端口发送与接收BPDU中的路径开销;
(2)若根路径开销相同,则比较端口发送与接收BPDU中的网桥ID;
(3)若网桥ID也相同,则需要比较网桥MAC地址,已至最后选出物理网段的指定端口。