STP生成树协议

1、二层环路带来的问题

二层环路,是发生在数据链路层的环路。分为单交换机环路和多交换机环路。单交换机环路毫无疑问是人为搞破坏。多交换机环路一般是网络布线混乱造成的。二层环路是局域网非常常见但又不容易遇到的严重型网络故障,而且属于人为故障。如果有人刻意搞破坏,没有经验的网络管理员甚至找不到故障源。网络越大,排查越困难。二层环路会导致三个问题,第一个就是MAC地址漂移。第二:广播风暴。第三:重复帧。后面两个问题并不会立即摧毁网络,只会让网络性能急剧下降。真正让网络瘫痪的是MAC地址漂移。首先,发生环路的一个或多个交换机会因为MAC地址漂移,首先嗝屁。然后因为广播风暴,导致整个网络瘫痪。二层环路重在预防,这在使用即插即用交换机的中小企业尤其重要。那些傻瓜式的交换机无法配置生成树协议,所以,这就要求在网络组建和网络管理的时候,综合布线一定要清晰,网络管理员对整个网络拓扑必须要非常熟悉。大型企业都会采用网管型交换机,配置生成树协议,从而在一定程度上先天免疫二层环路。不过在某些特殊情况下,生成树协议会失效,这个尤为需要特别注意。

2、生成树定义

STP,用来解决二层环路问题
在这里插入图片描述

在图论中,如果连通图 的一个子图是一棵包含的所有顶点的树,则该子图称为G的生成树(SpanningTree)。
生成树是连通图的包含图中的所有顶点的极小连通子图。
图的生成树不惟一。从不同的顶点出发进行遍历,可以得到不同的生成树。
通用定义:
若从图的某顶点出发,可以系统地访问到图中所有顶点,则遍历时经过的边和图的所有顶点所构成的子图,称作该图的生成树。

  • 若G是强连通的有向图,则从其中任一顶点v出发,都可以访问遍G中的所有顶点,从而得到以v为根的生成树。
  • 若G是有根的有向图,设根为v,则从根v出发可以完成对G的遍历,得到G的以v为根的生成树。
  • 若G是非连通的无向图,则要若干次从外部调用DFS(或BFS)算法,才能完成对G的遍历。每一次外部调用,只能访问到G的一个连通分量的顶点集,这些顶点和遍历时所经过的边构成了该连通分量的一棵DFS(或BPS)生成树。G的各个连通分量的DFS(或BFS)生成树组成了G的DFS(或BFS)生成森林。
  • 若G是非强连通的有向图,且源点又不是有向图的根,则遍历时一般也只能得到该有向图的生成森林。

3、STP相关概念

BPDU定义

  • 桥协议数据单元,用于传递STP协议相关报文

BPDU分类

  • 配置BPDU:
    • 用于传递STP的配置信息(即用来计算生成树计算和维护生成树拓扑的报文)

TCN BPDU:

  • 用于通告拓扑变更信息(即当拓扑结构发生变化时,用来通知相关设备网络拓扑结构发生变化的报文)

4、STP的选举机制

4.1 Root bridge

在所有交换机中选举出一台作为根网桥(Root bridge)
选举规则

  • Bridge-id小的优先

Brideg-id

  • 定义:桥ID,BID,用来标识交换机身份

  • 格式:优先级+Mac地址,优先级默认32768,必须是4096的倍数

4.2 Root port

每台非根网桥(交换机)选举出一个根端口(Root port)
选举规则

  • 到达根网桥开销小的优先
  • 对端交换机BID小的优先
  • 端口ID小的优先

开销

  • Cost,代表路径耗费的代价和成本,带宽越大,开销越小

4.3 Designated port

每个物理段上选举出一个指定端口(Designated port)
选举规则

  • 到达根网桥开销小的优先
  • 本机BID小的优先
  • 端口ID小的优先

4.4 Blocked Port

剩下没有角色的端口就是闭塞端口(Blocked Port)

5、STP初始化流程

交换机端口状态

disable:禁用状态,被关闭的端口

blocking:闭塞状态,接收BPDU,但不发送BPDU,不学习Mac地址,不转发数据

listening:监听状态,接收并发送BPDU,不学习Mac地址,不转发数据,持续15秒

learning:学习状态,接收并发送BPDU,学习Mac地址,不转发数据,持续15秒

forwarding:转发状态,接收并发送BPDU,学习Mac地址,转发数据

6、STP计时器

Hello time

  • 2秒,配置BPDU的发送周期

Max age

  • 20秒,判断链路故障的时间,10个Hello time周期

Forwarding delay

  • 15秒,状态切换延迟

7、STP拓扑变更机制

  • Max age超时/有接口变更为转发状态,判断为拓扑发生变更,向根网桥发起TCN BPDU
  • 收到TCN BPDU的交换机继续向根网桥转发TCN BPDU,到达根网桥为止
  • 根网桥收到TCN BPDU后,向所有端口发起TC置位的配置BPDU
  • 交换机收到TC置位的配置BPDU后,Mac地址表的老化时间缩短到15秒

8、STP的问题

  • 收敛速度慢,故障切换时间太长
  • 网络中大量主机频繁上下线,会导致TCN BPDU大量发送

9、RSTP

快速生成树协议

  • 端口状态减少到3种
  • 端口角色增加到4种
  • 根端口和指定端口不变

闭塞端口细分为2种:

  • 替代端口(Alternata port) 根端口的备份
  • 备份端口(Backup port) 指定端口的备份

边缘端口机制

  • 当链路激活,边缘端口立即进入转发状态,不参与STP计算
  • 边缘端口UP/DOWN不会触发拓扑变更
  • 建议把连接PC的端口配置为边缘端口

10、PVST

每个VLAN生成树(思科私有)

用途

  • 每个VLAN生成树(PVST)为每个在网络中配置的VLAN维护一个生成树实例。它使用ISL中继和允许一个VLAN中继当被其它VLANs的阻塞时将一些VLANs转发。尽管PVST对待每个VLAN作为一个单独的网络,它有能力(在第2层)通过一些在主干和其它在另一个主干中的不引起生成树循环的Vlans中的一些VLANs来负载平衡通信

  • PVST BPDU的格式和STP/RSTP BPDU格式已经不一样,发送的目的地址也改成了Cisco保留地址01-00-0C-CC-CC-CD,而且在VLAN Trunk的情况下PVST BPDU被打上了“ISLVLAN”标签。所以,PVST协议并不兼容STP/RSTP协议

11、MSTP

多生成树协议

  • 将多个vlan捆绑到一个生成树实例,每个实例分别独立计算生成树

  • 基于STP计算结果不同,实现不同vlan的流量负载均衡

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
STP(Spanning Tree Protocol,生成树协议)是一种用于在以太网网络中防止环路并确保冗余链路可靠性的协议。它的基本原理是通过选择一个根交换机,并在网络中的各个交换机之间建立一棵生成树,从而实现环路的消除。 STP基于以下几个核心概念: 1. 根交换机(Root Switch):在STP网络中,选举一个交换机作为根交换机,该交换机将成为生成树的根节点。根交换机具有最低的桥优先级(Bridge Priority),桥优先级是一个用于选举根交换机的参数。 2. 桥优先级(Bridge Priority):每个交换机都有一个桥优先级,用于确定其在选举根交换机过程中的优先级。较低的桥优先级将使得交换机更有可能成为根交换机。 3. 端口优先级(Port Priority):每个交换机上的端口都有一个端口优先级,用于确定在生成树中的路径选择。较低的端口优先级将使得该端口更有可能成为根交换机到其他交换机之间的路径。 4. 生成树(Spanning Tree):生成树是一棵由交换机和链路组成的树状结构,用于连接网络中的所有交换机,并确保没有环路。生成树中的某些链路被标记为指定端口(Designated Port),用于传输数据;其他链路被标记为阻塞端口(Blocked Port),用于防止环路的发生。 STP的工作原理是通过交换机之间的BPDU(Bridge Protocol Data Unit)交换来实现的。交换机会通过BPDU消息进行根交换机选举、生成树构建和端口状态转换等过程。BPDU消息包含了交换机的标识信息、路径开销和优先级等参数。 总结起来,STP通过选举根交换机、构建生成树和阻塞冗余链路的方式,确保以太网网络中没有环路,并提供冗余链路的可靠性。这样可以提高网络的可用性和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汉只只

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值