STP(生成树) 基础
一、STP产生的背景
对于任何一个商用的网络来说,冗余性都是一个必须考虑的问题。为了避免某个关键设备或某段链路在生产环境中出现故障,导致业务不能正常工作,为了保证数据传输的健壮性和网络的可靠性,需要对关键设备和链路进行备份,以便在设备和链路出现故障时业务依然可以正常的工作。
但是冗余的设备和链路也带来了二层环路(layer 2 Loop)。二层环路会造成广播风暴、MAC地址表抖动、多帧复制的问题😭。
那有没有一种方法即能保证冗余的同时又不会有环路的危害呢?因此STP(Spanning Tree Protocol,生成树协议)应用而生。🧐
二、STP是什么?
STP(Spanning Tree Protocol,生成树协议),当然是个协议啦😝,不过STP是早期的生成树协议,它在IEEE 802.1D中定义。
三、STP都干了啥?
简单的说,当网络中部署生成树(STP树)之后,交换机之间便会开始交互相关协议报文(BPDU),并在网络中进行一系列的运算,经计算最终得到一个无环的网络拓扑。当网络中存在环路时,生成树会将网络中的一个或多个接口进行阻塞(Block),从而打破二层环路。
在此之后,生成树依然会监视网络的拓扑状况,当网络拓扑发生变更时,生成树能够及时感知,并且动态地调整被阻塞接口,这个过程无需人工干预,自动完成。
如下图所示(已部署STP),当LSW1和LSW2之间的链路发生故障时,生成树能够感知到变化的发生,并将原先阻塞的接口GE 0/0/3切换到转发状态,这样一来,LSW3的上行流量又可以从右侧的链路进行转发,因此生成树不仅可以在网络中解决二层环路的问题,还可以保证网络的冗余性。😎
总结:
- 使冗余端口置于"阻塞状态"
- 网络中的计算机在通信时,只有一条链路生效
- 当链路出现故障时,将处于"阻塞状态"的端口重新打开,确保网络连接稳定可靠