网络设备组网应用3-STP配置

在实际的网络规划和设计中,通常采用冗余拓扑结构以保证通信的可靠性。交换式以太网中的备份链路设计就是一种典型的冗余拓扑设计。但是,由于交换机是第 2 层设备,因此交换机之间的冗余连接设计所形成的交换机环路会导致严重的广播风暴,致使整个网络瘫痪。

####STP(Spanning Tree Protocol)协议基本功能和标准

为了解决因冗余连接设计而引出的交换机环路问题,IEEE 开发了生成树协议(Spanning Tree Protocol,STP)。该协议的作用是在冗余拓扑上构建一个无环路的逻辑转发拓扑以消除数据流量环路的威胁,并提供快速的故障恢复功能。

但是,802.1D 中设计的 50 秒内恢复链路故障这一指标远不能达到目前的一些语音、视频类的多媒体应用需求。因此,IEEE 又开发了 802.1w 快速生成树协议(RSTP), 它对传统 STP 进行了优化,将网络拓扑的收敛时间减少到 1~10 秒。

另外,802.1D 和 802.1w 所形成的 STP 逻辑拓扑都是独立于 VLAN 的,即网络中的所有 VLAN 共用一个 STP 拓扑,这样一来就无法在多 VLAN 的情况下根据需求让不同的 VLAN 使用不同的 STP,使得冗余链路只能用做备份,而不能提供负载均衡功 能。IEEE 针对这一问题,又开发了 802.1s 多生成树协议(MST),它能够为不同的 VLAN 生成不同的 STP 拓扑,充分利用冗余链路以提高网络的利用率。

思科Packet Tracer还支持两个自己的协议 PVST 和 快速PVST

STP协议中一些重要术语及其概念

  • 网桥ID(Bridge ID)

    STP协议中,使用网桥ID标识一台交换机,网桥ID在网络中唯一,由交换机的优先级和MAC地址组合而成。

    优先级的范围 0 - 65535 默认值 32768

    PVST协议中的交换机优先级为 默认交换机优先级 + n(n = VLAN ID)

  • 根网桥

    STP协议所形成的无环路逻辑转发拓扑实际上是一个树形拓扑。根网桥就是根节点。它是网桥ID最小的那台交换机。

    网桥ID比较规则 交换机优先级 -> 交换机MAC地址

  • 路径开销

  • 端口ID

  • 根端口

  • 指定网桥

  • 指定端口和非指定端口

STP协议中的端口状态

  • 关闭状态:不能收发任何帧。这是 STP 端口的初始状态。
  • 阻塞状态:不能发送任何帧,不学习 MAC 地址,只接收 STP 协议的 BPDU。
  • 侦听状态:不能转发数据帧,不学习 MAC 地址,但能收发并处理 STP 协议 的 BPDU。侦听状态一般持续 15 秒。
  • 学习状态:不能转发数据帧,但能学习 MAC 地址,收发并处理 STP 协议的 BPDU。学习状态一般持续 15 秒。
  • 转发状态:可以正常地转发数据帧和 BPDU。处于转发状态的端口必须是指 定端口或根端口

端口状态的变化一般发生在初始形成生成树或网络出现故障需要重新形成生成树的场合。

思科交换机支持一种 PortFast 技术。使用 PortFast 的交换机端口如果被配置为接 入端口,该端口会直接从阻塞状态转换到转发状态,绕过常规的 STP 侦听和学习状态。 通常在连接到单个 PC 或服务器的接入交换机端口上使用 PortFast,以便这些设备立即接入网络,而不必等待生成树收敛。当 PC 使用 DHCP 时,如果接入交换机的端口没有配置 PortFast,PC 可能在端口进入转发状态之前发送 DHCP 请求,从而无法获得可用的 IP 地址和其它信息。

STP协议的配置

STP 协议的主要配置内容包括:开启和关闭 STP、配置交换机的优先级、配置端口路径开销、配置端口优先级、配置 STP 协议的一些定时器,等等。其中,在交换机上设置交换机的优先级、端口路径开销和端口优先级都会引起网络生成树拓扑的重新计算。在实际应用中,如果不存在物理的交换环路,则可关闭 STP。

1
2
3
4
5
6
7
# 配置指令
# 全局配置模式下设置交换机的优先级
spanning-tree vlan 9 priority
# 查看交换机STP协议的运行情况
show spanning-tree
# 查看交换机某个VLAN的STP协议运行情况
show spanning-tree vlan 9

配置STP示例

拓扑图

拓扑图3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 查看交换机上每个VLAN的生成树协议
S1#show spanning-tree
...

VLAN0099
Spanning tree enabled protocol ieee
Root ID Priority 32867
Address 0000.0CB6.3AE1
Cost 19
Port 3(FastEthernet0/3)
...

Bridge ID Priority 32867 (priority 32768 sys-id-ext 99)
Address 0001.96E4.9D7A
...

Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/2 Desg FWD 19 128.2 P2p
Fa0/3 Root FWD 19 128.3 P2p
Fa0/4 Altn BLK 19 128.4 P2p
## 上面的结果分析: VLAN99的STP状态,它的根网桥ID 优先级,MAC地址,本交换机到根网桥路径开销,端口,本交换机的网桥ID 优先级,MAC地址,交换机上的几个端口状态 Desg指定端口,root根端口,FWD转发状态,BLK阻塞状态。
## 省略的结果中每个VLAN的根网桥都是默认选举出的 S2 交换机,考虑到所有VLAN将根网桥设置为S2 可能导致网络性能问题,要设置其他交换机作为根网桥

# 比如设置S1为VLAN 99的根桥,设置优先级4096
S1(config)#spanning-tree vlan 99 priority 4096