一、STP概述
1.1、STP简介
交换网络环路主要由广播风暴、多帧复制和MAC地址表紊乱造成。
广播风暴:一个数据帧或包被传输到本地网段 (由广播域定义)上的每个节点就是广播;由于网络拓扑的设计和连接问题,或其他原因导致广播在网段内大量复制,传播数据帧,导致网络性能下降,甚至网络瘫痪。
多帧复制:pc1向pc2发送了一个单播帧B,假设SW1的mac-address中没有关于pc2的mac地址,SW2的mac-address中存在pc2的mac地址,SW3的mac-address中也存在关于pc2的mac地址。当pc1向pc2发送一个单播帧B的时候,由于SW1不知道 pc2的mac地址,所以SW1会进行泛洪的操作,这样以来,SW2和SW3都会收到一个单播帧B,又由于,SW2和SW3都存在pc2的mac地址,所以SW2和SW3都会对单播帧B进行对pc2的转发操作,这样以来pc2就收到了两个同样的单播帧B,这样就形成了多帧复制的现象。
MAC地址表紊乱:当pc发送了一个广播帧A,交换机收到这个广播帧之后会进行泛洪操作,这样以来,这个广播帧会顺时针和逆时针不停的旋转,每次A进入交换内,交换都会不停的修改mac-address表,这样就形成了mac地址表的翻摆。快速的mac地址表翻摆会大量消耗交换机的cpu,严重导致网络的拥堵。
为了防止上述现象的发生,就产生了stp生成树协议。
STP—Spanning Tree Protocol(生成树协议):逻辑上断开环路,防止广播风暴的形成。当线路故障时,阻塞接口被激活,恢复通信,起备份线路作用。
二、STP生成树的算法
2.1、生成树算法步骤
生成树算法分为三个步骤:
- 选择根网桥(Root Bridge)
- 选择根端口(Root Ports)
- 选择指定端口(Designated Ports)
2.2、根网桥
选择根网桥的依据是网桥ID(BID)
网桥ID是唯一的,选择交换网络中网桥ID最小的交换机成为根网桥(网桥优先级一样,选择MAC地址较小的)
2.3、根端口
选择根端口的依据是
到根网桥的跟路径成本
直连的网桥ID最小
端口ID最小
跟路径成本:网桥到根网桥的路径上所有链路的成本之和
端口ID:端口优先级一样选择端口编号较小的
2.4、指定端口
根桥上的端口全是指定端口
在每个网段上,选择一个指定端口
非根桥上的指定端口,选择顺序是:根路径成本较低、所在交换机的网桥ID值较小、端口ID值较小
注:既不是根端口也不是指定端口的,STP将这个端口阻塞(Block)
2.5、BPDU(桥协议数据单元)
BPDU报文字段包含:根网桥ID、跟路劲成本、发送网桥ID、端口ID
当交换机启动时,假定自己是根网桥,在向外发送的BPDU中根网桥ID字段填写自己的网桥ID
2.6、交换机端口的STP状态
STP计时器(Hello时间、转发延迟、最大老化时间)共50S