生成树协议——STP 详解(day 5)

本文详细介绍了STP(生成树协议)的作用、基本术语、树的生成过程、端口状态以及常见故障问题。STP旨在解决网络环路带来的广播风暴、MAC地址表翻转和多帧复制等问题,通过选举根桥和确定指定端口来构建无环网络。文章还提及了RSTP(快速生成树协议)作为STP的优化,以加速网络收敛。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

STP 生成树协议

分享今日:

参考博客链接:

RSTP协议

STP 协议

MSTP


思维导图

1. 环路问题

1.1 广播风暴

产生原因:根据交换机的转发原则,如果交换机从一个端口上接收到的是一个广播帧,或者是一个目的MAC地址未知的单播帧,则会将这个帧向除源端口之外的所有其他端口转发。如果交换网络中有环路,则这个帧会被无限转发,此时便会形成广播风暴,网络中也会充斥着重复的数据帧。

本例中,主机A向外发送了一个单播帧,假设此单播帧的目的MAC地址在网络中所有交换机的MAC地址表中都暂时不存在。SWB接收到此帧后,将其转发到SWA和SWC,SWA和SWC也会将此帧转发到除了接收此帧的其他所有端口,结果此帧又会被再次转发给SWB,这种循环会一直持续,于是便产生了广播风暴。交换机性能会因此急速下降,并会导致业务中断。

1.2 MAC地址表翻转

产生原因:交换机是根据所接收到的数据帧的源地址和接收端口生成MAC地址表项的。

  • 主机A向外发送一个单播帧,假设此单播帧的目的MAC地址在网络中所有交换机的MAC地址表中都暂时不存在。SWB收到此数据帧之后,在MAC地址表中生成一个MAC地址表项,00-05-06-07-08-AA,对应端口为G0/0/3,并将其从G0/0/1和G0/0/2端口转发。此例仅以SWB从G0/0/1端口转发此帧为例进行说明。
  • SWA接收到此帧后,由于MAC地址表中没有对应此帧目的MAC地址的表项,所以SWA会将此帧从G0/0/2转发出去。
  • SWC接收到此帧后,由于MAC地址表中也没有对应此帧目的MAC地址的表项,所以SWC会将此帧从G0/0/2端口发送回SWB,也会发给主机B。
  • SWB从G0/0/2接口接收到此数据帧之后,会在MAC地址表中删除原有的相关表项,生成一个新的表项,,00-05-06-07-08-AA,对应端口为G0/0/2。此过程会不断重复,从而导致MAC地址表震荡。

1.3 多帧复制

PC2向PC1发送一个单播帧Y,假设S2的MAC地址表中不存在关于PC1的MAC地址表项,所以S2会对Y帧进行泛洪。假设S1的MAC地址表项中存在“PC1的MAC地址<——>port 3” ,S3的MAC地址表项中存在“PC1的MAC地址<——>port 1” ,显然,S1,S3都会对Y帧进行点对点转发操作。最后的结果是PC1 会收到两份Y帧的拷贝。

 

2. STP 作用

STP通过阻塞端口来消除环路,并能够实现链路备份的目的。

2.1 作用

消除环路:通过阻断冗余链路来消除网络中可能存在的环路。

链路备份:当活动路径发生故障时,激活备份链路,及时恢复网络连通性。

2.2 基本术语

2.2.1 桥(Bridge)

桥和交换机这两个术语是互用的。

2.2.2 桥MAC地址

一个桥有多个转发端口,一个端口有一个MAC地址。通常把编号最小的那个端口MAC地址作为桥的MAC地址。

2.2.3 桥 ID(BID)

  • 一个桥的桥ID由两部分组成,2字节的桥优先级和6字节的桥MAC地址。

  • 桥优先级可以人为指定,缺省值为0x8000(相当于32768)。

2.2.4 端口 ID(PID)

端口ID有两种定义方式,不同厂家采用的 PID 定义方式不同,同样端口优先级也是可以人为指定的,缺省情况下,端口优先级是128。。

  1. PID 由两字节组成,第一个字节表示端口优先级,后一个字节是端口编号;
  2. PID 由16bits组成,前4bit表示端口优先级,后12bit表示端口编号;

 

3. STP 树的生成

STP通过构造一棵树来消除交换网络中的环路。

  • 每个STP网络中,都会存在一个根桥,其他交换机为非根桥。根桥或者根交换机位于整个逻辑树的根部,是STP网络的逻辑中心,非根桥是根桥的下游设备。当现有根桥产生故障时,非根桥之间会交互信息并重新选举根桥,交互的这种信息被称为BPDU。BPDU中包含交换机在参加生成树计算时的各种参数信息;
  • STP中定义了三种端口角色:指定端口,根端口和预备端口
  • 指定端口是交换机向所连网段转发配置BPDU的端口,每个网段有且只能有一个指定端口。一般情况下,根桥的每个端口总是指定端口。
  • 根端口是非根交换机去往根桥路径最优的端口。在一个运行STP协议的交换机上最多只有一个根端口,但根桥上没有根端口
  • 如果一个端口既不是指定端口也不是根端口,则此端口为预备端口预备端口将被阻塞

STP树生成过程:

  1. 选举一个根桥。
  2. 每个非根交换机选举一个 根端口。
  3. 每个网段选举一个指定端口。
  4. 阻塞非根、非指定端口。

3.1 选举根桥

选取原则:桥优先级是可以配置的,取值范围是0~65535,默认值为32768。优先级最高的设备(数值越小越优先)会被选举为根桥。如果优先级相同,则会比较MAC地址,MAC地址越小则越优先

交换机启动后就自动开始进行生成树收敛计算。**默认情况下,所有交换机启动时都认为自己是根桥,自己的所有端口都为指定端口,这样BPDU报文就可以通过所有端口转发。**对端交换机收到BPDU报文后,会比较BPDU中的根桥ID和自己的桥ID。如果收到的BPDU报文中的桥ID优先级低,接收交换机会继续通告自己的配置BPDU报文给邻居交换机。如果收到的BPDU报文中的桥ID优先级高,则交换机会修改自己的BPDU报文的根桥ID字段,宣告新的根桥。

3.2 确定根端口

  • 根桥确定后,其他没有称为根桥的交换机都被称

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值