-STP: spanning tree protocol - 生成树协议
1.作用:在交换网络中,存在备份链路的情况,防止2层数据转发环路的发生。
2.原理
++确定交换机的角色
----根交换机;非根交换机-----选举依据:BID - bridge ID , 桥ID
优先级 + MAC地址
2Byte 6Byte
*注:选举原则:
----首先比较 BID 的优先级,越小越好;默认是32768
-----如果优先级相同,则比较 MAC 地址,越小越好。 本质上是交换机的“基MAC地址”,也就是交换机的主板的MAC地址 - show version


++确定端口的角色
(root-port)根端口 :在每一个非根交换机上,有且只有一个,距离根交换机,最近的端口
(designated-port)指定端口:在每一个网段(冲突域),有且只有一个,距离根交换机,最近的端口
(non-designated-port)非指定端口:其他所有端口,都称之为非指定端口。
在 STP 中,如何表示“距离”?
cost :开销表示的是去往根交换机的距离,距离的大小与端口带宽有关系。
带宽 cost(默认的对应关系)
10M -- 100
100M -- 19
1G -- 4
++确定端口状态 down/disable:表示端口是关闭的,挂掉的;
listening:表示的是侦听状态,该状态是不能收发用户数据的
learning :表示的是学习状态,该状态是不能收发用户数据的
forwarding:表示的是转发状态,该状态可以正常收发(最终状态)
blocking:表示的是阻塞状态,该状态不能收发使用户数据(最终状态)
验证命令:show spanning-tree // 查看交换机上的 STP 信息。
3.BPDU报文结构:
Root-ID //表示的是根交换机的 ID (优先级+base-MAC)
Cost //表示的是发送这个BPDU的交换机到根交换机的距离;
BID //表示的是发送这个BPDU的交换机的名字;
Port-ID //表示的是发送这个BPDU的交换机的出端口
hello-time //表示的是发送BPDU的周期,默认是2s;
forward-delay //表示的是转发延迟,默认是15s;
max-age //表示的是最大存活时间,默认是20s;
注意:
STP在工作过程中,选择交换机角色、端口角色时,是通过比较BPDU的以上的前面的4个字段来进行确定的。如果 root-id相同,则比较下一个,cost值越小越好,如果相同,则比较一下个BID越小越好,如果相同,则比较下一个Port-id越小越好,不可能相同。

-port-id的组成:
port-优先级 + port-号(默认是128)

4.所谓的收敛,指的是当网络出现故障时,到再次恢复联通所需要的时间。
-时间: 30s---50s
(随着网络的发展,基础网络对网络收敛时间的要求越来越高,故30-50的时间太长了,所以我们开发了新的公有标准协议 - RSTP , 快速生成树。)
5.公有标准 私有协议(cisco)
IEEE 802.1d(STP) -生成树 PVST
IEEE 802.1w(RSTP) -快速生成树 PV-RSTP
IEEE 802.1s(MSTP) -多生成树 MIST
6.提高收敛速度的原因
①:发现问题的效率提高了:
在传统的STP中,一个交换机如果发现一个链路出现故障,则会产生一个 TCN BPDU ,为的是告诉根交换机,然后根交换机,重新产生一个新的 配置BPDU,然后下发给其他的所有的非根交换机。
在 RSTP 中,一个交换机如果发现一个链路出现故障的话,则会产生一个新的 TCN BPDU ,直接发送给与其相连的所有的交换机
②: 解决问题的效率提高了细化端口角色:
根端口
指定端口
替代端口 - 是根端口的替代者;
备份端口 - 是指定端口的备份者;
精简端口状态: learning -> 学习(该状态学习的MAC地址表)
forwarding -> 转发
discarding -> 丢弃
(相当于STP中的 down / listening / blocking)
7.为什么是4096的倍数?
我们在配置交换机的 STP 优先级的时候,所配置的数值必须是 4096的倍数。因为在 BID 的2个字节的优先级中,其实表示优先级本身的,仅仅是4个bit,后面的12bit,表示的sys-id-ext,即扩展系统ID,其实数值本身为 VLAN号。主要的目的,就是为了引入以VLAN为基础而运行的 STP ,比如 PVST
8.优点:
基于VLAN 设计 STP(PVST) ,可以让我们在多个交换机之间,以 VLAN 为基础进行流量的负载均衡,从而可以提高设备的利用率。
9.STP特性?
快速收敛 portfast uplink-fast
安全特性bpduguard bpdufilter root-guard
10.网关冗余协议
HSRP - 思科私有
VRRP - 共有标准