STP – 生成树协议详解
什么是STP?
STP 是一种链路管理协议,旨在支持冗余链路,以阻止STP网络中的交换环路。它是一种二层协议,运行在交换机和路由器上,应在交换机接口上启用。STP协议由IEEE标准化为IEEE 802.1D。STP的全称是生成树协议(Spanning Tree Protocol)。
我们为什么需要STP?
以下是一些生成树协议很重要的场景
- 通过引入冗余,网络的可靠性(容错能力)呈指数级提高。
- 当流量需要发送到尚未识别的目的地时,交换机会将流量泛洪到所有端口。
- 广播和组播流量会转发到每个端口,除了流量到达的那个端口。
- 生成树协议用于从存在环路的物理拓扑中创建无环路的逻辑拓扑。
STP如何工作?示例
生成树使用一种算法来搜索LAN中的冗余链路并选择最佳路径。它主要用于将所有链路置于转发或阻塞状态。
在此过程之后,所有没有冗余链路的链路都可能处于转发状态。未被选中的冗余链路将处于阻塞状态。生成树从不使用到同一目的地的多条链路。生成树不具备负载分担功能。
STP的类型
这里有不同类型的生成树协议
标准 | 描述 | 缩写 |
---|---|---|
IEEE 802.1D。 | 环路预防 在任何更改的情况下自动重新配置树 收敛缓慢(高达 50 bps) |
STP |
IEEE 802.1w | 快速生成树协议
|
RSTP |
IEEE 802.1Q | 虚拟局域网 为所有VLAN定义1个通用的生成树 |
CST |
Cisco 专有 |
每VLAN生成树
|
PVRST+ 或 R-PVST+ |
Cisco 专有 |
每VLAN快速生成树 | PVRST+ 或 R-PVST+ |
IEEE 802.1s | 多生成树协议 多个VLAN实例映射到一个STP。 |
MSTP 或 Ml STP |
生成树的标准
生成树环路的三个标准有助于决定接口是否处于转发状态
- 根桥上的所有接口应置于转发状态。
- 对于非根桥的其他桥接设备,离根桥最近的端口应置于转发状态。
- 到根桥的管理距离最低的桥接设备称为指定桥。
STP协议的阶段
生成树端口的四个阶段是
阻塞状态
阻塞状态是一个非指定端口,它从不参与帧转发。其时间限制为20秒或无限。启用STP时,接口始终进入阻塞状态。
侦听状态
侦听状态是第一个状态。它是接口在阻塞状态之后进入的状态。该接口有助于确定该接口是否应参与帧转发。
侦听状态执行以下功能
- 丢弃接收到的端口帧
- 不学习地址
- 接收BPDU
学习状态
学习状态有助于为参与帧转发做好准备。接口允许我们从侦听状态进入学习状态。
学习状态执行以下功能
- 丢弃接收到的端口帧
- 接收BPDU
- 学习地址
转发状态
处于转发状态的接口将转发帧。此接口从学习状态进入转发状态,并执行以下功能
- 接收和转发接收到的端口帧
- 学习地址
- 接收BPDU
禁用状态
此状态不参与生成树环路,因为该端口已被管理员禁用,其时限也是无限的。
禁用接口执行以下功能
- 丢弃接收到的端口帧
- 不学习地址
- 不接收BPDU
生成树协议中使用的重要术语
这里是一些重要的术语
桥接
桥是一个重要的VTP组件,它连接两个或多个LAN段。
根桥(RB)
它是为所有网段提供互连点的桥。LAN中的所有桥都有通往根的路径。STP允许您自动选择根桥。但是,如果STP网络管理员愿意,他或她可以根据网络更改RB。
非根桥(NRB)
非根桥是指不是根桥的任何桥。
根端口(RP)
根端口是通往根桥的端口。
指定端口(DP)
每个LAN网段都有1个指定端口。每座桥也从DP接收帧,并通过其RP转发到根桥。
端口ID
端口ID有助于您决定根端口。它由一个可配置的1字节优先级值和一个每个桥的唯一端口号组成。
路径成本(PC)
路径成本,也称为PC,有助于就转发速度方面决定最佳拓扑。STP使用路径成本的概念。
指定端口
指定端口是禁用端口,并由网络管理员阻止。该端口无法将数据包发送到另一台交换机。它也不会在MAC表中填充MAC地址。
非指定端口
非指定端口是已阻塞的交换机端口。它也称为阻塞端口,或有时称为备用端口。它无法将数据包转发到下一台交换机。它也不会在MAC表中填充MAC地址。
RSTP
快速生成树协议(RSTP)是一种网络协议,可确保以太网网络的无环路拓扑。
桥接协议数据单元(BPDU)
生成树协议要求STP网络设备交换消息,以帮助形成无环路的逻辑拓扑。这些消息称为BPDU(桥接协议数据单元)。每个网络设备都会发送BPDU,这有助于交换拓扑信息。
BPDU帮助交换机执行以下操作
- 选择一台交换机作为生成树的根
- BPDU还有助于计算其到根交换机的最短路径,从而为每个LAN网段指定离根最近的交换机之一。
- 选择其一个端口作为根端口(如果不是交换机)
- 拾取属于称为指定端口的生成树算法的端口。
- 阻塞非指定端口。
配置BPDU
它是网络拓扑中根设备的唯一桥ID。它充当发送桥的桥ID,以及发送端口的标识符。
拓扑变更通知(TCN)BPDU
选择一个网络设备作为根桥。应根据路径成本为每个网络设备计算到根桥的最短距离。
为每个LAN网段选择一个指定桥。这通常也是离根桥最近的网络设备,因此应将其转发到根。这是提供从桥到任何根桥的最佳路径的端口。
STP和RSTP之间的区别
STP | RSTP |
---|---|
在STP中,桥仅在从RB(根桥)接收到其RP(根端口)的BPDU后才发送BPDU。 | RSTP允许交换机在每个Hello时间发送BPDU。 |
STP包括两种端口类型:根端口和指定端口 | RSTP方法包括其他端口:备用端口和备份端口。 |
摘要
STP协议被定义为一种链路管理协议,旨在支持冗余链路,以阻止STP网络中的交换环路。
状态 | 描述 | 处理BPDU | 学习MAC |
---|---|---|---|
初始化 | 端口初始化。 | NO | NO |
禁用 | 不参与STP标准操作的管理状态。 | NO | 否 |
阻塞 | 端口不转发以太网帧。 | 是(仅接收和处理BPDU) | 否 |
侦听 | 在此STP状态下进行无环路拓扑计算。端口被分配其角色。 | 是(发送和接收BPDU) | NO |
学习 | 这是一个额外的状态,用于延迟以太网帧的转发,这有助于避免网络泛洪。 | 是 | 是(填充MAC地址表) |
转发 | 转发以太网帧的正常操作。 | 是 | 是 |