STP 生成树协议探究

简介

STP 生成树协议 ( spanning tree protocol )是一种工作在 OSI 网络模型中的第二层(数据链路层)协议,主要是用于防止交换机冗余链路产生的环路,用于确保以太网中无环路的逻辑拓扑结构。
生成树协议工作原理是当任意一交换机中,如果到达根网桥有两条或者两条以上的链路。生成树协议都根据算法把其中一条切断,仅保留一条。从而保证任意两个交换机之间只有一条单一的活动链路。因为这种生成的这种拓扑结构.很像是以根交换机为树干的树形结构,故为生成树协议。

以太网环路结构及问题

如果从源地址到目的地址,在拓扑结构中存在两条以上的路径,这个以太网中就存在环路。而在环路的拓扑结构中,可能会产生这几种问题:广播风暴、多帧复制、MAC 地址数据库反转等。下面是这些问题产生的原理及影响简述。

广播风暴: 在下图所示的交换机拓扑中,存在一个环路.。当 SW B 发送一个广播消息时, SW A 和 SW C 都会收到消息,并将广播到它们的开放的端口上,这样 SW A 和 SW C 再次分别收到一个广播报文,然后再次转发,这样便产生了一个循环。 报文将不断在交换机之间广播,随着新的广播报文加入,陷入循环的报文将会不断增加。随着报文数量的增加,交换机最终将难以承受数量众多的报文转发工作,导致网络不可用。这就是广播风暴。
这里写图片描述

多帧复制:在下图中,连接到这个网络拓扑的终端 B 正向 A 发送一条消息,当 SW B 收到报文后,但 SW B 不知道终端 A 的 MAC 地址时,它将会洪泛这个帧到所有端口,这样 SW A 和 SW C 都收到了帧, SW C 直接将报文转发给终端 A 。之后 SW A 又将另一个帧转发给 SW C ,由于 SWC 没有意识到这是一个重复的帧,再次将其转发给终端 A ,所以终端 A 最终收到两个一样的帧,这就造成了多帧复制。
这里写图片描述

MAC 地址数据库反转:如下图,依然是这个网络拓扑图,SW B 广播一个信息, SW A 首先从 port 0/1 学习到 MAC 地址,接着从 SW C 转发到 SW A 的 port 0/2 的报文中, SW A 再次学习到这个 MAC 地址,并将它更新到 port 0 2 。 然而我们知道,这个广播的报文已经陷入了循环, MAC 地址表也将会不断的反复进行更新、学习。
这里写图片描述

方案:解决这些问题的方法其实很简单,将其中一条路径关闭,这样便避免了环路,也就不会产生广播风暴等环路问题。然而,在维护更复杂的网络拓扑中,不可能都是由人工去处理环路的,并且环路处理不当可能导致更长的路径开销。后文我们看看 STP 协议是如何让交换机自动处理这些问题的。

STP 过程

BPDU: 通过发送 BPDU (BPDU是运行STP的交换机之间交换的消息帧),BPDU内包含了STP所需的路径和优先级信息,STP 便利用这些信息来确定根桥以及到根桥的路径。它通过第二层帧传递生成树协议。
网桥为每个端口存储一个其收到的最佳BPDU,当有其他的BPDU到达交换机的端口时,交换机会通过以下四步判决过程来判断此BPDU是否比该端口原来存储的BPDU更好,如果新收到的BPDU(或者本地生成的BPDU)更好,则替换原有值。

1) 确定根交换机;
2) 计算到根交换机的最小路径开销;
3) 确定最小的发送者BID;
4) 确定最小的端口ID。

接着,根据上述信息,STP 将通过将所有端口设置成一定的状态,从而消除环路,这个过程称为 STP 收敛。参考下图,SW B 和 SW C 直接相连的路径,因为端口设置为 Block 状态而变得不通,原来的环路也由此解开,成为一个树状的路径。具体步骤如下:

1)选择一个根网桥
2)将一个根网桥的接口设为 Forwarding 状态
3)为每个非根交换机选择一个根端口
4)剩余的链接将决定是否为指定端口(桥接端口)
5)所有其它端口设置为 Blocking 状态

这里写图片描述

stp 端口的5种状态
Disabled: 不收发任何报文
Blocking: 不接收或者转发数据,接收但不发送BPDU,不进行地址学习
Listening: 不接收或者转发数据,接收并发送BPDU,不进行地址学习
Learning: 不接收或者转发数据,接收并发送BPDU,开始进行地址学习
Forwarding: 接收或者转发数据,接收并发送BPDU,进行地址学习

其它生成树协议

除了公有的生成树标准,一些厂商如思科也根据自己的需求定义改进标准。
PVST+ :(Per VLAN Spanning Tree Plus,增强的按VLAN生成树) 是CISCO解决在虚拟局域网上处理生成树问题的另一个方案。PVST+ 允许CST (公共生成树)信息传给PVST,以便与其他厂商对在 VLAN 上运行生成树的实现方法进行操作。
Rapid PVST +:CISCO 针对公用生成树标准改进的算法。
RSTP / 802.1W:快速生成树协议(rapid spanning Tree Protocol )。STP协议由IEEE802.1D定义,RSTP由IEEE802.1W定义。802.1w由802.1d发展而成,这种协议在网络结构发生变化时,能更快的收敛网络。它比802.1d多了两种端口类型:预备端口类型(alternate port)和备份端口类型。

参考文章

https://blog.csdn.net/cxh342968816/article/details/6337000 [STP生成树协议——算法和过程]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值