网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

CCNA中的生成树协议

更新时间:2026年03月27日   作者:spoto   标签(Tag):

生成树协议(Spanning Tree Protocol,STP)是一种用于防止二层网络中出现环路或桥接环路的技术。该协议通过计算网络中节点的树状结构来避免这种环路现象。此外,生成树协议还可以防止MAC翻转现象的发生——所谓MAC翻转,是指当交换机从具有相同源MAC地址的不同接口上接收到数据包时发生的现象。

生成树通信:

  • STP以BPDU(桥接协议数据单元)的形式来交换数据消息。
  • 由于交换机并不了解其周围的其他交换机,因此它会发送带有自己端口的源MAC地址的BPDU帧。而目的MAC地址则采用STP多播地址,即0180.C200.0000。

Bridge ID是STP拓扑结构中每个交换机的唯一标识符,由8个字节组成。它包含两个部分:

  1. 桥梁优先级其范围从0到65535(默认值为32768),再加上VLAN-id。
  2. 基础MAC地址它是硬编码的,并且对于每个交换机来说都是唯一的。

在由STP计算出的生成树拓扑结构中,整个拓扑结构只存在一个根桥。其余的交换机则都是非根桥。

Root Bridge选举:

  • 具有最低桥接ID的交换机(即优先级最低或MAC地址最低的交换机)会赢得选举,从而成为STP拓扑结构中的根桥。
  • 最初,每个交换机都会启动其STP逻辑,通过发送Hello BPDU消息来表明自己为根桥。因为默认情况下,所有交换机的优先级都是相同的,而且该交换机并不了解其他交换机的Base MAC地址。
  • 如果某个交换机在其任意端口上收到来自其他交换机的“Hello BPDU”消息,那么该交换机就会停止声称自己为根桥,同时也会停止发送“Hello BPDU”消息。最终,拥有最低桥接ID的交换机会停止发送“Hello BPDU”消息,从而赢得选举过程。

手动配置交换机的优先级:–

R1(config)#spanning-tree vlan <vlan-id> priority <priority-value>
  

STP中的端口类型:

  1. 根端口 (RP)这些端口在成本方面与根桥最为接近,因此它们负责接收STP控制平面的通信流量。
    • 每个非根桥接设备都只有一个根端口,而其他端口则可以是指定端口或备用端口(具体取决于用户的选择)。
  2. 指定港口它负责转发网络流量。
    • Root Bridge中的每一个端口都是被指定为“指定端口”的。
  3. 备用端口/被阻塞的端口这是一个处于阻塞状态的备用端口。
    • 只有当当前的根端口出现故障时,才会触发此操作。

端口角色选择:

在选出根桥之后,每个交换机(非根桥)都会根据以下标准来选择合适的端口角色:–

  • 成本(用于搭建根桥)
端口速度 成本(根据802.1D标准,1998年标准)
10 Mbps100
100 Mbps                 19
1 Gbps                  4
10 Gbps                  2
  • 最低的发送者桥接ID
    • 最低优先级
    • 最低位的MAC地址
  • 最低的发送方端口号
    • 最小端口优先级(默认值为128)
    • 最低端口号
  • 最低接收器端口ID
    • 最小接收端口优先级(默认值为128)
    • 最小接收端口号

港口角色选举流程:

  • 正如我们所看到的,Switch1成功赢得了“根桥”的选举,从而成为了根桥。因此,Switch1的所有端口都变成了“指定端口”。于是,Switch1开始通过其指定端口发送C-BPDU(由根桥生成的配置信息),而到达根桥的成本为0。
 
  • Switch2在其e0/0端口(以太网端口)上接收到了C-BPDU数据包。该入口端口将到达根桥所需的代价从0更新为100。e0/0端口的传输速度为10 Mbps。之后,Switch2会通过其e0/1端口以100的代价来转发这个C-BPDU数据包。
  • 同样,Switch3也会在其e0/0端口上接收到C-BPDU消息,并将其中的成本值从0更新为100。此外,Switch3还会通过其e0/1端口将该C-BPDU消息转发出去,该消息的传输成本为100。
  • 现在,Switch2通过其e0/1端口接收到了C-BPDU消息。因此,该端口将成本值从100更新为200。同样,Switch3也通过其e0/1端口接收到了C-BPDU消息,该端口也将成本值从100更新为200。
  • 在这里,选举将会进行。由于成本各不相同,因此会选择成本最低的选项。
  • 在这种情况下,Switch2的e0/0端口胜出了选举(因为到达根桥的成本最低),因此它成为了根端口。同样地,Switch3的e0/0端口也胜出了选举,因为它同样具有最低的到达根桥的成本,所以它也成为了根端口。
 
  • 现在,选举将在Switch2和Switch3之间的连接处进行,以确定谁将负责转发C-BPDU消息。也就是说,谁来负责将C-BPDU消息转发到另一个交换机上呢?
  • 由于这两个交换机都发送并接收了对方的转发后的C-BPDU消息,因此它们可以判断出谁更优。
    • 首先,它们在接收到C-BPDU后,会检查其成本。由于两台交换机在到达根桥时所需的成本都是200,因此,这两个成本是相等的。
    • 其次,他们会检查发送方的Bridge ID(即Bridge优先级与基础MAC地址的组合)。由于两台交换机的优先级相同,那么拥有较低基础MAC地址的交换机将会获得选择权。
    • Switch2的基MAC地址比Switch3的基MAC地址低,因此Switch2在担任DP角色时具有优势。于是,其e0/1端口就被选为DP端口。
  • 现在来看Switch3的情况,它已经有一个可用的Root Port了。而在非指定桥接设备上,只能有一个Root Port。因此,Switch3的e0/1端口被设置为Alternate Port。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料