STP 生成树协议
一、环路引起的问题之一:广播风暴
环路引起的问题之二:MAC地址表不稳定
二、STP作用
打破环路、链路备份
三、BPDU(Bridge Protocol Data Unit)网桥协议数据单元
1、STP的各种选举是通过交换BPDU报文来实现,BPDU是直接封装在以太网帧中的。(802.3+802.2)
2、对于参与STP的所有SW(交换机),它们都是通过数据消息发交换来获取网络中其他SW(交换机)的信息,这种消息就被称为BPDU
3、BTPU是直接封装在二层的协议
1)选举根桥
2)确定冗余路径的位置
3)通过阻塞特定端口来避免环路
4)通过网络的拓扑变更
5)监控生成树根
3、BPDU每2s由根桥发送一次(拥有最小bridge-id的交换机称为根桥)
4、最初的网络,每个SW(交换机)都认为自己是根桥,都会发送BPDU,比较Lowwst BID,选举一个根桥,此时就只有根桥发送BPDU。非根桥只进行转发,转发时只修改bridge-id和cost字段
5、BPDU分类
1、配置BPDU——通常由根网桥以周期性间隔发出,包括了STP参数,用于进行各种选举
2、 TCN(topplogy change notification 拓扑变更通告)BPDU:这种BPDU是当交换机检测到拓扑发生变更时所产生,可由非根网桥发生
四、选举根交换机的规则
1、lowest BID=网桥优先级+MAC地址(越小越优)
2、交换机默认网桥优先级是32768
3、设置成根网桥两种方法:
1)修改网桥优先级命令:【SW1】stp priority 0 (数值需要设定为4096的倍数)
2)设置此网桥为根网桥:【SW1】stp root primary (优先级将变为0)
查看谁是根网桥的命令:display stp
五、端口角色
1、RP:根端口。每个非根网桥上有且只有一个,选举到达根网桥上的路径开销值最小的成为根端口
2、DP:指定端口。根网桥上每个端口都是指定端口,非根网桥上需要转发数据的端口也是指定端口
3、AP:预备端口。该接口状态为blocking状态,只收BPDU,不发BPDU
路径开销值:
带宽 |
cost |
10M |
100 |
100M |
19 |
1G |
4 |
10G |
2 |
六、端口状态描述
1、Disabled(禁用状态):不转发数据帧,不学习MAC地址表,不参与生成树计算
2、Blocking(阻塞状态):不转发数据帧,不学习MAC地址表,接收并处理BPDU,不发送BPDU
3、Listening(帧听状态):不转发数据帧,不学习MAC地址表,参与生成树计算,接收并处理BPDU
4、Learning(学习状态):不转发数据帧,学习MAC地址表,参与生成树计算,接收并处理BPDU
5、Forwarding(转发状态):转发数据帧,学习MAC地址表,参与生成树计算,接收并处理BPDU
端口由Blocking过渡到Forwarding有50s延时,Blocking过渡到Listening有20s老化时间,Listening到Learning有15s过渡时间,Learning到Forwarding有15s过渡时间。
七、选举根端口、指定端口的规则
1、Lowest path cost to root bridge(到达根的最小路径开销)
2、Lowest sender BID (最小的发送方BID)
3、Lowest sender port ID (最小的发送方PID)
PID=端口优先级(默认128)+端口号
修改网桥接口优先级命令 (在发送方)
【SW1-Ethernet0/0/2】stp port priority 0 (16的倍数)
图为如何正确识别端口角色案例
八、RSTP和MSTP
RSTP:快速生成树协议,缩短生成树端口由阻塞到转发状态的过渡时间。
开启快速生成树的方法:stp enable、stp mode rstp
MSTP:多生成树协议,一个vlan或多个vlan一颗生成树,实现链路的负载均衡
命令:
stp mode mstp
stp region-configuration
region-name huawei
revision-level 1
instance 1 vlan 10
instance 2 vlan 20
active region-configuration
[ ]stp instance 1 root primary
[ ]stp instance 2 root secondary