目录
原理概述
实验内容
实验目的
实验步骤
实验拓扑
实验步骤
基本配置
配置网络中的根交换机
理解根端口的选举
理解指定端口的选举(首先比较根路径开销)
原理概述
生成树协议(英语:Spanning Tree Protocol,STP),是一种工作在OSI网络模型中的第二层(数据链路层)的通信协议,基本应用是防止交换机冗余链路产生的环路.用于确保以太网中无环路的逻辑拓扑结构.从而避免了广播风暴,大量占用交换机的资源。
STP是用来避免数据链路层出现逻辑环路的协议,使用BPDU传递网络信息计算出一根无环的树状网络结构,并阻塞特定端口。在网络出现故障的时候,STP能快速发现链路故障,并尽快找出一条路径进行数据传输。
交换机上运行的STP通过BPDU信息交互,选举根交换机,然后每台非根交换机选择用来与根交换机通信的根端口,之后每一个网段选择用来转发数据至根交换机的指定端口,最后剩余端口则被阻塞。
在STP工作过程中,根交换机的选举,根端口、指定端口的选举都非常重要。华为VRP提供了各种命令来调整STP的参数,用以优化网络。
实验内容
公司购置四台交换机,组建网络。出于网络的可靠性考虑,把四台交换机做如下拓扑搭建。由于默认情况下,交换机之间运行STP后,根交换机、根端口、指定端口的选择会基于交换机的MAC地址的大小。
有如下需求:S1作为主根交换机,S2作为S1的备份根交换机。同时对于S4交换机,e0/0/1接口应作为根端口。对于S2和S3之间的链路,应保证S2的E0/0/3接口作为指定端口。同时在交换机S3上,存在两个接口E0/0/10、E0/0/11连接到测试PC,测试PC经常上下线网络,需要把交换机S3与它相连的对应端口定义为边缘端口,避免测试电脑上下线对网络产生影响。
实验目的
1、理解STP的选举过程;
2、掌握修改交换机优先级的方法;
3、掌握修改端口开销值的方法。
实验步骤
1、基本配置;
2、配置网络中的根交换机;
3、理解根端口的选举;
4、理解指定端口的选举
实验拓扑
实验步骤
基本配置
第一步:基本配置
[Huawei]sysname S1
[S1]q
<S1>display bridge mac
System bridge MAC address: 4c1f-cce3-417d //查看mac地址
<S1>sys
[S1]stp enable //启用STP
[S1]stp mode stp //把交换机的STP模式更改为普通生成树STP
Info: This operation may take a few seconds. Please wait for a moment...done.
//下面在S2、S3和S4上做同样的操作
[S2]stp enable
[S2]stp mode stp
Info: This operation may take a few seconds. Please wait for a moment...done.
[S3]stp enable
[S3]stp mode stp
Info: This operation may take a few seconds. Please wait for a moment...done.
[S4]stp enable
[S4]stp mode stp
Info: This operation may take a few seconds. Please wait for a moment...done.
//配置完成后,默认情况下需要等待30S生成树重新计算时间(15S Forward Delay加上15SLearning
状态时间)
[S1]display stp //查看S1的生成树状态
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-cce3-417d
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-cc07-6fa0 / 200000
CIST RegRoot/IRPC :32768.4c1f-cce3-417d / 0
CIST RootPortId :128.1
BPDU-Protection :Disabled
TC or TCN received :61
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:3m:1s
Number of TC :5
Last TC occurred :Ethernet0/0/1 //E0/0/1端口状态为转发状态、端口角色为根端口
----[Port1(Ethernet0/0/1)][FORWARDING]----
Port Protocol :Enabled
Port Role :Root Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :32768.4c1f-cc07-6fa0 / 128.1
Port Edged :Config=default / Active=disabled
Point-to-point :Config=auto / Active=true
Transit Limit :147 packets/hello-time
Protection Type :None
......
----[Port2(Ethernet0/0/2)][DISCARDING]---- //E0/0/2端口为丢弃状态,端口角色为Alternate Port(替代端口)
Port Protocol :Enabled
Port Role :Alternate Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :32768.4c1f-ccaf-605e / 128.2
......
//初步判断S2为根交换机,因为该交换机上的所有端口都是指定端口。
[S2]display 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
[S3]display stp brief //E0/0/3是根端口
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 DESI FORWARDING NONE
0 Ethernet0/0/3 ROOT FORWARDING NONE
0 Ethernet0/0/10 DESI FORWARDING NONE
0 Ethernet0/0/11 DESI FORWARDING NONE
[S4]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 ALTE DISCARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
配置网络中的根交换机
影响根银桥选举的因素:
1、优先级(默认是32768)【越小越优先】【取值范围是0~61440】;
2、MAC地址【越小越优先】。
注意:
1、根银桥所有参与生成树选举的端口都一定是指定端口。(可以作为初步判断根桥的依据);
2、根桥的指定端口直连的端口都一定是根端口。
第二步:配置网络中的根交换机
根交换机的选举依据是根交换机ID,值越小约优先,交换机的默认
优先级是32768.
接下来把S1配置为主根交换机,S2为备份根交换机,S1的优先级为0
S2的优先级为4096
[S1]stp priority 0
[S2]stp priority 4096
//配置完成后使用命令display stp 查看S1和S2的STP状态信息
可以发现S1的优先级是0,为根交换机;S2的优先级为4096,为
备份根交换机。
另一种配置主根交换机和备份根交换机的方法如下:
(注意:要先删除S1和S2上人工配置的优先级)
[S1]undo stp priority
[S1]stp root primary
[S2]undo stp priority
[S2]stp root secondary
//此时查看结果和上一种方法的结果应该是一样的。
理解根端口的选举
生成树在选举出根交换机之后,会在每台非根交换机上选举根端口。
选举时首先比较该交换机上每个端口到达根交换机的根路径开销,路径开销最小的端口将成为根端口。如果根路径开销值相同,则比较每个端口所在链路上的上行交换机ID,如果该交换机ID也相同,则比较每个端口所在链路上的上行端口ID。每台交换机上只能拥有一个根端口。目前S1为主根交换机,而S2为备份根交换机,查看S4上生成树信息。可以看到E0/0/2为根接口。那是因为S4在选举根端口的时候,首先比较根路径开销,由于拓扑中所有的链路都是百兆链路,S4经过S3到S1和经过S2到S1的开销值相同;接下来比较S4的两台上行链路的交换机S2和S3的交换机标识,S2的优先级为4096,而S3为默认的32768,所以与S2连接的接口被选举为根端口。
第三步:理解根端口的选举
[S4]display stp interface e0/0/2 //查看接口E0/0/2的开销值
//同样方式查看E0/0/1的开销值也是200000
......
----[Port2(Ethernet0/0/2)][FORWARDING]----
Port Protocol :Enabled
Port Role :Root Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :4096.4c1f-cc07-6fa0 / 128.2
......
//手动配置E0/0/1的开销值为200,之后再查看STP状态摘要信息
[S4]interface e0/0/1
[S4-Ethernet0/0/1]stp cost 200
之后再查看接口E0/0/1的开销值。会发现接口代价值为200
再查看STP的摘要信息,会发现E0/0/1是根端口
[S4]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 ROOT LEARNING NONE
0 Ethernet0/0/2 ALTE DISCARDING NONE
理解指定端口的选举(首先比较根路径开销)
第四步:理解指定端口的选举(首先比较根路径开销)
生成树协议在每台非根交换机选举出根端口之后,将在每个网段上选举指定端口,选举的
比较规则和选举根端口类似。
现在网络管理员需要确保S3连接S2的E O/0/3接口被选择为指定端口,可以通过修改端口
开销值来实现。
为了模拟场景,需要把S2的优先级恢复为默认的32768
[S2]undo stp root
[S2]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-cc07-6fa0
......
查看S2和S3的STP状态摘要信息
[S2]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 ROOT FORWARDING NONE
0 Ethernet0/0/2 DESI FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
[S3]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 ALTE DISCARDING NONE
0 Ethernet0/0/10 DESI FORWARDING NONE
0 Ethernet0/0/11 DESI FORWARDING NONE
通过观察发现在S2与S3间的链路上,选择了S2的E0/0/3接口为指定端口,而S3 的
E 0/0/3接口为Alternate端口。这是由于在选举指定端口时,首先比较两个端口的根路径开
销,目前都相同;接着比较上行交换机的ID,此时S2和S3的交换机优先级相同,故比较MAC地
址,最后通过比较MAC地址得出。
<S3>display interface e0/0/3
......
Hardware address is 4c1f-ccaf-605e
......
<S2>display interface e0/0/3
......
Hardware address is 4c1f-cc07-6fa0
......可以看到,S3的e0/0/3的mac地址大于S2的e0/0/3的mac地址,所以该网段上S2的E0/0/3接口为指定接口。