协议类型分类
STP(Spanning Tree Protocol):
作用:通过阻断冗余链路将一个有环路的桥接网络修剪成一个无环路的树型拓扑结构。
特点:解决了环路问题,同时能在某条活动链路断开时,通过激活被阻断的冗余链路重新修剪拓扑结构以恢复网络的连通。
RSTP(Rapid Spanning Tree Protocol):
基于:STP协议。
特点:对STP协议进行了更加细致的修改和补充,收敛速度非常快(小于1秒),提高了用户通信质量。
MSTP(Multiple Spanning Tree Protocol):
基于:STP和RSTP协议。
特点:形成了多棵无环路的树,解决了广播风暴并实现冗余备份,同时能在VLAN间实现数据流量的负载均衡。
生成树原理
当网络中存在物理环路时,会导致广播风暴,产生巨大的网络流量,容易造成交换机死机。STP通过阻断冗余链路将一个有环路的桥接网络修剪成一个无环路的树型拓扑结构,从而解决环路问题。
生成树参数
一、基本参数
桥ID(Bridge ID)
定义:用于选举环路中唯一一台根桥。
构成:由2字节优先级和6字节MAC地址组成,默认优先级为32768。
作用:数值越小越优先,用于确定根桥。
端口ID(Port ID)
定义:标识交换机接口的编号。
构成:16bit长度,高4bit是接口优先级,低12bit是接口编号。
默认值:接口优先级默认为128,可修改范围为0-240,且必须为16的倍数。
二、BPDU报文参数
STP通过传递BPDU(网桥协议数据单元)来确定网络的拓扑结构。BPDU有两种类型:配置BPDU和TCN BPDU。
配置BPDU
作用:用于计算无环的生成树。
包含字段:
协议ID(PID):对于STP而言,该字段的值总为0。
协议版本ID(PVI):STP协议为0,RSTP协议为2,MSTP协议为3。
BPDU类型字段:指示本BPDU的类型,配置BPDU的值为0x00。
标志字段(Flags):包含拓扑变更确认标记(TCA)和拓扑变更标记(TC)。
根网桥的桥ID(Root ID):代表根桥。
根路径开销(RPC):到达根网桥的STP开销。
BPDU发送桥的ID(BID):代表该BPDU报文是由哪一个设备发送的。
接口ID值(PID):BPDU发送网桥的接口ID(优先级+接口号)。
消息寿命(Message Age):与TTL值相同,代表BPDU从发出到现在所经过的时间。
Max Hop参数:最大消息寿命,默认值为20。
Hello Time:根网桥连续发送的BPDU之间的时间间隔,默认2s。
Forward Delay:转发延迟,在侦听和学习状态所停留的时间间隔,默认15s。
TCN BPDU
作用:在二层网络拓扑发生变化时产生,用于缩短MAC表项的刷新时间(由默认的300s缩短为15s)。
三、其他参数
开销(Cost)
定义:用于计算到达根桥的开销,通过链路速度来衡量。
示例值:10G=2,1G=4,100M=19,10M=100(这些值为华为定义的端口开销,默认为802.1T标准)。
最大跳数(Max Hop)
定义:BPDU在网络中传播的最大跳数限制。
默认值:20。
Hello时间(Hello Time)
定义:根网桥连续发送的BPDU之间的时间间隔。
默认值:2s。
转发延迟(Forward Delay)
定义:在侦听和学习状态所停留的时间间隔。
默认值:15s。
生成树端口类型
一、指定端口(Designated Port,DP)
定义:指定端口是交换机向所连网段转发配置BPDU(桥协议数据单元)的端口。
特点:
每个网段有且仅有一个指定端口。
一般情况下,根桥的每个端口总是指定端口。
指定端口负责发送BPDU,但不接收来自其他端口的BPDU(只接收来自根端口的BPDU,用于保持同步)。
指定端口处于转发状态,可以转发用户数据。
二、根端口(Root Port,RP)
定义:根端口是非根交换机上去往根桥路径最优的端口。
特点:
每个非根交换机上最多只有一个根端口。
根桥上没有根端口。
根端口负责接收来自根桥的BPDU,并将其转发给非根交换机上的其他端口。
根端口不发送BPDU,但接收并转发用户的业务流量。
三、预备端口/阻塞端口(Alternate Port/Blocking Port,AP)
定义:预备端口是既不是指定端口也不是根端口的端口。
特点:
预备端口将被阻塞,不参与数据转发。
在STP的工作过程中,预备端口主要用于提供冗余路径,当指定端口或根端口出现故障时,预备端口可以被激活并转变为转发状态。
预备端口接收BPDU,但不发送BPDU,也不转发用户数据。
四、备份端口(Backup Port,BP)(RSTP特有)
定义:备份端口是RSTP(快速生成树协议)中特有的端口类型,用于为指定端口提供备份。
特点:
备份端口在正常情况下处于阻塞状态,不参与数据转发。
当指定端口出现故障时,备份端口可以被激活并转变为转发状态,从而确保网络的连通性。
五、边缘端口(Edge Port,EP)(RSTP特有)
定义:边缘端口是连接到终端设备的端口,RSTP中特有的端口类型。
特点:
边缘端口可以快速进入转发状态,无需经过STP的长时间收敛过程。
边缘端口的设置可以提高网络的响应速度和效率。
生成树端口状态
1.禁用状态(Disabled):端口处于禁用状态,不参与STP计算,也不转发数据帧。
2.阻塞状态(Blocking/Discarding):不会转发来自根桥的BPDU,但会接收BPDU,以此来避免环路。最大老化时间为20s,如果阻塞端口在20s内没有接收到BPDU,则会进入侦听状态。
3.侦听状态(Listening):会侦听网络中的BPDU,并进行MAC地址的学习。最大转发延迟时间为15s,如果15s内没有接收到来自对方的BPDU,则会进入学习状态。
4.学习状态(Learning):会进行MAC地址的学习,并准备转发数据帧。同样,如果15s内没有接收到来自对方的BPDU,则会进入转发状态。
5.转发状态(Forwarding):已经进行了MAC地址的学习,并开始转发数据。
命令讲解
1、生成树模式
[Huawei]stp mode stp 选择生成树模式为STP
2、内容解析
网桥 CIST Bridge :32768.4c1f-ccf5-5489
配置时间 Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
活跃时间 Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
根桥mac CIST Root/ERPC :32768.4c1f-ccac-371f / 20000
当前mac CIST RegRoot/IRPC :32768.4c1f-ccf5-5489 / 0
CIST RootPortId :128.1
BPDU BPDU-Protection :Disabled
收到TC 或 TCN TC or TCN received :16
每个hello的TC计数 TC count per hello :1
STP收敛模式 STP Converge Mode :Normal
上一次TC开始 Time since last TC :0 days 0h:0m:10s
TC数量 Number of TC :5
最后一次TC Last TC occurred :GigabitEthernet0/0/1
3、网桥端口状态信息
[Huawei]dis stp br 查看STP状态信息摘要
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 ROOT(根端口) FORWARDING NONE
0 GigabitEthernet0/0/2 DESI(根指定) FORWARDING NONE
[Huawei]
[Huawei]dis stp br
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 ALTE(阻塞口) DISCARDING NONE
0 GigabitEthernet0/0/2 ROOT(根端口) FORWARDING NONE
[Huawei]
[Huawei]dis stp br
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI(指定口) FORWARDING NONE
0 GigabitEthernet0/0/2 DESI(指定口) FORWARDING NONE
[Huawei]
4、改变优先级
根桥
[Huawei]stp root primary
相当于
[Huawei]stp priority 0
指定
[Huawei]stp root secondary
相当于
[Huawei]stp priority 4096
配置测试
华为交换机默认开启STP生成树
配置生成树模式
[sw6]stp mode stp
[sw7]stp mode stp
[sw 8]stp mode stp
查看stp信息,确认根
由图得出如下结论
查看端口状态
由上图得到如下结果
如若像更改根可以更改其优先级,设定根位置
[Huawei]stp root primary
可以发现sw6就成为根了,此时的关系就变成了如下