树 是什么?

如果是软件专业的人肯定会想到两个树,B树和二叉树。如果是干网络的只会想到一种树,生成树,那到底是怎么回事呢,有什么用处呢?
各位看官,搬好你的小板凳,看我吹一波,如果吹破了,后台悄悄告诉我,也可以联系我加群进行讨论。
树 是什么?

总结一下关键点:
一个根桥、两种度量(BID+PID,开销)、三个选举要素(根桥,根端口,指定端口)、四个比较原则(根桥ID、根路径开销、发送者BID、发送接口BID 都是比小)、五种端口状态,三个计时器(Hello Time,Forward Delay,Max Age

注意:选举都是比小。

1.为什么需要生成树?
在一个交换网络中,如果单交换机会带来单点故障,所以需要多个交换机,这样就解决了这个问题,但是又带来新的问题,各个交换机设备之间都有链路连接,数据报到达目的主机的路线会增多,从而使数据报在交换机之间不断的被转发,形成一个环路。

具体是什么问题呢?
首先就要分析环路产生原因,数据帧到达目的主机会在各个相连的交换机之间互相复制和转发形成多条传输路径,那么想办法只要阻断这个多条路径,只要一条最短路径传输数据,那就解决了环路问题,问题就变为怎么只产生一条路径呢?引入一个协议:生成树协议。

2.说到生成树你会想到什么?
STP:802.1d 50s收敛速度
RSTP:802.1W (收敛速度加快)
MSTP:802.1S(100以上个vlan时候使用比较合适)

3.生成树原理是什么?
通过在交换机之间传递一种特殊的协议报文,网桥协议数据单元BPDU,来确定网络的拓扑结构。
BPDU有两种,配置BPDU(Configuration BPDU)和TC- BPDU。前者用于计算无环的生成树,后者则是用于在二层网络拓扑发生变化时产生用来缩短MAC表项的刷新时间的(由默认的300s缩短为15s)。

4.协议思想
按照树的结构构造网络的拓扑结构,树根为根桥。每个lan网络里面只有一个根桥,其余为非根桥交换机。根桥负责下发配置BPDU信息,非根桥接收BPDU,

5.选举过程(根桥 → 根接口 → 指定接口)
1)根桥根桥BID(优先级默认32768+mac):比小(优先级可以调整修改);

2)选举根端口,每个非根桥有一个跟端口。
选举顺序为:到根桥最小COST——>
发送者BPDU的网桥BID(小)——>
发送者PID(端口优先级默认128+端口编号)比小

3)选举指定端口,每条链路选举一个指定端口 。
选举顺序为:
根路径成本较低——>
发送BPDU的交换机的BID值较小——>
发送者PID值较小——>
接收者的PID较小——>

看示例图:
树 是什么?
树 是什么?

总结:
1.每个网络中只能有一个根桥
根桥所有端口都是指定端口,因为根网桥上端口的根路径成本为0。
同一vlan下,每个非根桥只能有一个根端口
每段链路只能有一个指定端口
其余全为阻塞(Blocking)端口

2.选举根端口时站在交换机上观察本交换机上端口到根桥的路径开销、端口对端发送者的BID PID等选出根端口;选举指定端口时站在链路中间观察这条链路两端的交换机为发送者比较路径开销 BID PID等选举出指定端口

就这样子先,总结了一份树的选举相关文档:
可关注同名公众号 工程师江湖 ,可以添加小编微信拉你进入面试群。
发送关键字 ,获取生成树stp总结文档。

老铁们,这里有干货!