STP是什么?如何认识STP?
敲键小勇士
2024-04-17 22:49
STP(Spanning Tree Protocol)扩展树协议,又称为生成树协议,它的产生源于链路的冗余连接。在大中型网络当中,与主干网和服务器的连接很重要,而总避免不了端口或交换机的损坏,这自然就要引进冗余链接了,即在一条链路损坏之后,用其他的链路保持连接。虽然冗余的链接增加了系统的安全性,但同时也带来了另外一个问题,那就是拓扑环。
一、STP的功能
解决循环连接的方案就是STP。通过一定算法,STP使任意两个节点间有且只有一条路径连接,而其他的冗余链路则被自动阻塞,作为备份链路。只有当活动链路失败时,备份链路才会被激活,从而恢复设备之间的连接,保证网络的畅通。
跟Ether Channel不同的是,STP只能保证在两台设备间拥有一条活动链路,所以无法实现带宽加倍和负载均衡。这就像一棵树,从树根开始生长,然后到树干、树枝,最后到树叶,从而保证任意两片树叶间只有一条路。而链路选举的标准就是优先级值和端口费用。不过,STP的优点是可以在任何端口实现,不一定是固定的双绞线端口或光纤端口。
二、STP的工作过程
STP运行生成树算法(STA)很复杂,但是其过程可以总结为三个部分:
1.选择根网桥。首先进行根桥的选举,选举的依据是网桥优先级和网桥MAC地址组合成的桥ID(BridgeID),桥ID最小的网桥将成为网络中的根桥。在网桥优先级都一样的情况下,MAC地址最小的网桥成为根桥。
2.确定根端口。根据与根桥连接路径开销最少的端口为根端口,路径开销等于“1000”除于“传输介质的速率”假设中,SW1和跟桥之间的链路是千兆GE链路,跟桥和SW3之间的链路是百兆FE链路,SW3从端口1到根桥的路径开销的默认值是19,而从端口2经过SW1到根桥的路径开销是4+4=8,所以端口2成为根端口,进入转发状态。
3.选择指定端口。确定根网桥和根端口之后,然后裁剪冗余的环路。这个工作是通过阻塞非根桥上相应端口来实现的。
STP经过一段时间(默认值是30秒左右)稳定之后,所有端口进入转发状态或进入阻塞状态。STP BPDU仍然会定时从各个网桥的指定端口发出,以维护链路的状态。如果网络拓扑发生变化,生成树就会重新计算,端口状态也会随之改变。
三、STP的缺陷
STP给透明网桥带来了新生。但是它还是有缺点的,STP的缺陷主要表现在收敛速度上。
当拓扑发生变化,新的配置消息要经过一定的时延才能传播到整个网络,这个时延称为Forward Delay,STP协议默认值是15秒。在所有网桥收到这个变化的消息之前,若旧拓扑结构中处于转发的端口还没有发现自己应该在新的拓扑中停止转发,则可能存在临时环路。为了解决临时环路的问题,生成树使用了一种定时器策略,即在端口从阻塞状态到转发状态中间加上一个只学习MAC地址但不参与转发的中间状态,两次状态切换的时间长度都是ForwardDelay,这样就可以保证在拓扑变化的时候不会产生临时环路。但是,这个看似良好的解决方案实际上带来的却是至少两倍Forward Delay的收敛时间。
为了弥补STP的这个缺陷,在本世纪初IEEE推出了802.1w标准,作为对802.1D标准的补充。在IEEE 802.1 w标准里定义了快速STP RSTP(Rapid Spanning Tree Protocol)。RSTP协议在STP基础上做了三点重要改进,使得收敛速度快得多(最快1秒以内):
1.为根端口和指定端口设置了快速切换用的替换端口(Alternate Port)和备份端口(Back up Port)两种角色,当根端口/指定端口失效的情况下,替换端口/备份端口就会无时延地进入转发状态。
2.在只连接了两个交换端口的点对点链路中,指定端口只需与下游网桥进行一次握手就可以无时延地进入转发状态。如果是连接了三个以上网桥的共享链路,下游网桥不会响应上游指定端口发出的握手请求,只能等待两倍Forward Delay时间进入转发状态。
3.直接与终端相连,而不是把其他网桥相连的端口定义为边缘端口(Edge Port)。边缘端口可以直接进入转发状态,不需要任何延时。由于网桥无法知道端口是否直接与终端相连,所以需要人工配置。
可见,RSTP协议相对于STP协议确实改进了许多。为了支持这些改进,BPDU的格式做了一些修改,但RSTP协议仍然向下兼容STP协议,可以混合组网。即便这样,RSTP和STP同样属于单生成树SST(Single Spanning Tree),自身有很多的缺陷,主要表现在以下三方面:
第一:整个交换网络只有一棵生成树,因此在网络规模比较大的时候会导致较长的收敛时间,拓扑改变的影响面也较大。
第二:在网络结构对称的情况下,单生成树(SST)也没什么大碍。但当网络结构不对称时,单生成树会影响网络的连通性。
第三:当链路被阻塞后将不承载任何流量,造成了带宽的极大浪费,这在环行城域网的情况下比较明显。
这些缺陷都是单生成树SST无法克服的,于是支持VLAN的多生成树协议STP出现了。
简而言之,STP的主要功能有两个:一是在利用生成树算法,在以太网络中,创建一个以某台交换机的某个端口为根的生成树,避免环路。二是在以太网络拓扑发生变化时,通过生成树协议达到收敛保护的目的。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341