STP:生成树协议 -IEEE 802.1D
***所有内容均转载于网络,仅供参考学习***
STP:生成树协议 IEEE 802.1D
STPSpanning Tree Protocol IEEE 802.1D
生成树协议 Spanning Tree 定义在 IEEE 802.1D 中,是一种桥到桥的链路管理协议,它在防止产生自循环的基础上提供路径冗余。为使以太网更好地工作,两个工作站之间只能有一条活动路径。网络环路的发生有多种原因,最常见的一种是故意生成的冗余,万一一个链路或交换机失败,会有另一个链路或交换机替代。
STP 是一种桥到桥的通信技术,提供发现网络物理环路的服务。该协议规定了网桥创建无环回loop free 逻辑拓朴结构的算法。换句话说,STP 提供了一个生成整个第二层网络的无环回树结构。
生成树协议操作对终端站透明,也就是说,终端站并不知道它们自己是否连接在某单个局域网或多交换局域网中。当两个网桥相互连接在相同的由两台计算机组成的网络中时,生成树协议支持两网桥之间相互交换信息,这样只需要其中一个网桥处理两台计算机之间发送的信息。
桥接设备之间通过使用网桥协议数据单元(Bridge Protocol Data UnitBPDU)交换各自状态信息。生成树协议通过发送 BPDU 信息为交换网络配置根交换和根端口,并为每个交换网路区段(switched segment)配置根端口和指定端口。
网桥中的生成树算法可以用来决定如何使用生成树协议,该算法的优点在于能够避免网桥环路,并确保在多路径情形下网桥能够选择一条最有效的路径。如果最佳路径选择失败,可以使用该算法重新计算网络路径并找出下一条最佳路径。
利用生成树算法可以决定网络路径(哪台计算机主机在哪个区段),并通过 BPDU 信息交换以上数据。该过程主要分为以下两个步骤:
  • 步骤1:通过评估网桥接收的配置信息以及选择最佳选项,再利用生成树算法来决定网桥发送的最佳信息。
  • 步骤2:一旦选定某发送信息,网桥将该信息与来自无根(non-root)连接的可能配置信息相比较。如果步骤1中选择的最佳选项并不优于可能配置信息,便删除该端口。
协议结构
网桥协议数据单元(BPDU):
Protocol ID (2)
Version (1)
Type (1)
Flags (1)
Rood ID (8)
Root Path (4)
Sender BID (8)
Port ID (2)
M-Age (2)
Max Age (2)
Hello (2)
FD (2 Bytes)
 
 
 
 
  • Protocol ID ― 恒为0
  • Version ― 恒为0
  • Type ― 决定该帧中所包含的两种 BPDU 格式类型(配置 BPDU TCN BPDU)。
  • Flags ― 标志活动拓朴中的变化,包含在拓朴变化通知(Topology Change Notifications)的下一部分中。
  • Root BID ― 包括有根网桥的网桥 ID。会聚后的网桥网络中,所有配置 BPDU 中的该字段都应该具有相同值(单个 VLAN)。NetXRay 可以细分为两个 BID 子字段:网桥优先级和网桥 MAC 地址。
  • Root Path Cost ― 通向有根网桥(Root Bridge)的所有链路的积累资本。
  • Sender BID ― 创建当前 BPDU 的网桥 BID。对于单交换机(单个 VLAN)发送的所有 BPDU 而言,该字段值都相同,而对于交换机与交换机之间发送的 BPDU 而言,该字段值不同)
  • Port ID ― 每个端口值都是唯一的。端口1/1值为0×8001,而端口1/2 值为0×8002
  • Message Age ― 记录 Root Bridge 生成当前 BPDU 起源信息的所消耗时间。
  • Max Age ― 保存 BPDU 的最长时间,也反映了拓朴变化通知(Topology Change Notification)过程中的网桥表生存时间情况。
  • Hello Time ― 指周期性配置 BPDU 间的时间。
  • Forward Delay ― 用于在 Listening Learning 状态的时间,也反映了拓朴变化通知(Topology Change Notification)过程中的时间情况。