STP的概述
STP(Spanning Tree Protocol)生成树协议,是一个用于局域网中消除环路的协议
已上图中在二层网络中做了冗余链路。
在二层网络中做冗余链路不使用STP
没有STP生成树协议时,会导致以下问题:
产生广播风暴,广播风暴会导致网络瘫痪。
MAC地址表震荡,导致MAC地址表一直刷新无法固定。
多帧复制,会导致单播帧被多次复制传送到接收端,不仅浪费了接收端的主机资源而且会导致上层协议在处理这些帧时无法处理
这时要去除环路带来的危害,不能真的将线路拔出,所以我们要从从逻辑上消除环路,便是使用 STP 生成树协议。
STP 能够从逻辑上去阻塞一个端口,当非阻塞链路出现单点故障的时候,这个被阻塞的端口恢复到转发数据的状态。
STP两种选举依据
选举网桥角色和端口角色的依据就是 ID和路径成本
1.ID又分为网桥 ID (bridge ID,简称BID)和端口 ID (Port ID,简称PID)。
网桥 ID在IEEE 802.1b标准中,规定网桥 ID 是一个八字节的字段,前两字节被称为网桥优先级,后六字节是网桥的MAC地址。网桥 ID 最小的设备会被评选为跟网桥。
当网桥优先级无法碰选出时会根据网桥的MAC地址进行评选,
端口 ID
端口 ID 长度为两字节,由一字节的端口号为优先级和一字节的端口编码组成。端口优先级可以进行配置,在华为交换机上,端口优先级的十进制取值范围是0-255,默认值128
2. 路径成本
是STP用于选则链路的参考值,STP认为路径成本越低,则链路越优,根路径成本是非网桥的某个端口到根网桥之间的所有路径成本之和。
注意啦:同一交换机上不同端口之间的路径诚本为零,根网桥所有端口的路径成本为零
选举步骤:1. 选举跟网桥 2.选举根端口 3. 选定指定端口
1.选举根网桥
根据网桥 ID优先级,优先级一样,看MAC地址 。
2.选举根端口
根路径成本最低来选,如果根路径成本相同则比较端口对端交换机(指定桥)的BID,越小越优先。BID也相同则比较对端端口的PID。
3.选举指定端口
根路径成本较低,所在交换机的BID较小,PID较小。
四个常用原则
端口的五种状态
端口转换顺序
、
STP报文格式
STP计算通过BPDU保温交换数据。BPDU报文有两种:配置BPDU报文和TCN BPDU 报文
配置BPDU报文用于生成树计算
TCN BPDU报文用于通告网络拓扑变化。在设备检测到网络拓扑发生变化时才会发出。
配置 BPDU 各字段含义
STP计时器
STP 利用3种计时方法来确保一个网络的正确收敛。
Hello Time定时器:Hello Time为周期发送BPDU来维护生成树的稳定的时间,默认为2s
Max Age定时器:BPDU的最大生存时间,默认为20秒,交换机通过比较从上游交换机收到的BPDU中携带的Message Age【配置BPDU的生存时间,如果配置BPDU是根桥发出的,则Message Age为0,每经过一台交换机增加1】和Max Age来判断此BPDU是否超时。如果收到的BPDU超时,交换机会将该BPDU老化,同时阻塞接收该BPDU的接口,并开始发出以自己为根桥的BPDU,这种老化机制可以有效控制生成树的半径。
Forward Delay定时器:链路故障会引发网络重新进行生成树计算,如果新选出的根端口和指定端口立刻就开始数据转发的话,可能会造成临时环路。为此,STP采用了一种端口状态迁移机制,新选出的端口要经过两倍的Forward Delay【默认15s】延时后才能进入转发状态。这个延时保证了新的配置消息传遍整个网络,使所有参与STP计算的交换都能正确知晓网络状态,从而防止了临时环路的产生
命令:
stp enable 启动stp
stp mode stp 启用stp生成树协议
display stp 查看网桥角色
display stp brief 查看端口角色和状态
stp priority 4096 给网桥设置优先级为4096