生成树 Spanning tree

生成树的原理:生成树协议(Spanning Tree Protocol)是在网络有环路时,通过一定的算法将交换机的某些端口进行阻塞,从而使网络形成一个无环路的树状结构。

生成树的作用:功能强大、可靠的网络需要有效地传输流量,提供冗余和故障的快速恢复功能。在第2层网络中,路由协议不可用,生成树协议通过从软件层面修改网络物理拓扑结构来构建一个无环路逻辑转发拓扑结构,提供了物理线路的冗余连接,消除了网络风暴,从而提高网络的稳定性和减少网络故障的发生率。

交换机之间存在冗余(备份)路径,以及交换机的泛洪机制,导致交换机之间产生二层交换环路。
造成影响:

  • 1.广播风暴
  • 2.MAC地址表翻滚
  • 3.数据帧的重复拷贝

解决方案:逻辑性阻塞某个接口(down掉,可以备份)------做生成树

一、STP:spanning tree生成树(交换机之间对比比较信息BPDU,低的接口就阻塞 )
生成树协议用于实现二层的线路冗余,在网络中逻辑的阻塞部分接口,来实现从源到目标仅拥有唯一的一条路径;当最佳路径故障时,阻塞端口自动工作来实现备份的作用;所谓生成树,其实就是在二层的网络中构建一个树形结构

二、生成树类型
公有生成树

STP802.1D 标准生成树,所有vlan共用一棵树
RSTP802.1W 快速生成树
MST802.1S 多生成树

私有生成树

PVST基于VLAN的标准生成树,一个vlan一棵树
PVRST+基于VLAN的快速生成树

三、发送比较信息,BPDU
BPDU:网桥协议数据单元,跨层封装到二层。存在两种类型

1.配置BPDUconfig-BPDU,只有根网桥可以发出;在最初无根网桥时,所有交换机均发出
2.拓扑变更BPDUTCN-BPDU,扑变更消息

四、BPDU字段解释

protocol iD标示是生成树
Version版本,标示该BPDU属于何种生成树
message type标示BPDU类型(配置BPDU 变更BPDU)
Flags标记位,有8个二进制,其中2个二进制位标示用的何种BPDU类型
Root-id根IP,标示根的位置(一个生成树中只有一个Root-id)
Cost of Path路径开销,本接口距离根的开销值(位置)
Bridge id网桥标识符,标示本设备(交换机,网桥)在该生成树中的唯一性
Port id端口标识符,标示交换机接口的唯一性
Message age消息老化/等待时间,默认300s,代表MAC地址的老化时间
Max age最大时间,死亡时间20s
Hello time发送BPDU的时间,默认2s
Forward delay-转发延时,状态切换延时,默认15s

Flags—标记位,有8个二进制,其中2个二进制位标示用的何种BPDU类型

五、详细BPDU字段
1.BID 网桥标识符及选举规则

BID 网桥标识符用于表示该交换机或网桥在本生成树中的唯一性
构成BID 优先级 (作用:可以改某一个优先级,干涉生成树) + mac地址
BID优先级默认值为32768,数值范围0-65535(BID优先级数值必须为4096的倍数, 范围也可称为0-61440),再使用BID优先级时,数值越小越优
Mac 地址本交换机上背板地址池中最小的MAC地址,mac地址越小越优

注意:PVST、PVRSTP+的BID构成是:BID优先级+VLAN ID+mac地址
MST的BID构成是:BID优先级+ instance ID(扩展系统ID) + mac地址

2.root ID:根标识符 ,在一棵生成树中表示唯一根.使用最优质的BID表示

3.Cost Of Path,也称为CoP值,路径开销,描述了本接口到达根的路径开销值,数值越小越优

路径开销值数值
大于10000M1
10G2
1G4
100M19
10M100

默认根网桥上所有接口的COP值为0,经过不同的链路增加对应的cost,线的入接口增加,出接口不行

4.port ID 端口标识符及选举规则

port ID 端口标识符用于表示本交换机上接口的唯一性标识
构成PID优先级+port number
PID优先级默认为128,数值范围0-255(PID优先级必须为16的倍数,所有范围 0-240),数值越小越优
Port number端口号,表示了本交换机该接口的唯一性,一般为接口的端口号标识,数值越小越优(接口小port小)

5.生成树中的计时器

Hello 时间默认2s,配置BPDU的发送间隔
Max age 最大等待时间默认20s,hello数据包的超时时间以及从blocking进入 listening 状态等待时间
Message age 消息时间也称消息的老化时间,实际上等于MAC地址老化时间, 默认300s,在启用portfast等特性时变为15s
Forward delay 转发延时默认15s ,在生成树中状态切换间隔,Listening进入learning进入forwarding 时间隔

六、交换机网络中交换机的角色,端口切换
交换机角色

根网桥在一颗生成树实例有且仅有一台;对整个树进行管理和部署,通过发送BPDU来进行指挥和维护
非根网桥除根网桥外都是非根网桥

端口角色

根端口用于接收来自根的BPDU信息,只能存在于非跟网桥之上,并且一个交换机只能存在一个
指定端口用于发送或转发BPDU信息,存在于每条链路中,一条只能存在一个指定端口,根网桥的所有接口全为指定端口
非指定端口逻辑上打破接口(剩下的端口就是阻塞端口,hub除外)

端口切换

Blocking阻塞状态终端状态,不能发送BPDU,接收BPDU,不能发送和接收数据,被动等待20s进入下一状态
Listening监听状态中间状态, 可以发送和接收BPDU,不能发送和接收数据,进行STP选举, 被动等待一个forward delay 15s进入下一状态,非指定端口不得进入回到blocking
Learning学习状态中间状态,可以发送和接收BPDU,不能发送和接收数据,可以学习BPDU 中的源MAC地址(MAC地址学习状态),被动等待一个forward delay 15s进入下一 状态
Forwarding转发状态终端状态, 可以发送、接收BPDU和数据,mac地址学习和生成树接口 状态切换完成

七、选举生成树
选举过程:根网桥—根端口----指定端口----非指定端口

根网桥选举具有最优BID的交换机为根网桥
根端口选举1.最小COP值 2.发送方最小的BID 3.发送方的PID
指定端口选举1.接口所属交换机上根端口到达根网桥的COP值 2.本交换机BID 3.本 地的PID

八、STP控制
关于对生成树协议的干涉,至少必须关注根网桥的位置,最合适的地点为汇聚层设备
方法一
直接修改BID的优先级

设置主根(P)和备份根(S)

方法二
端口位置,修改链路的COP值

方法三
修改发送方的PID的优先级

本文链接:https://my.lmcjl.com/post/4767.html

展开阅读全文

4 评论

留下您的评论.