STP概述
交换网络环路的产生
- 广播风暴的形成
- 多帧复制
- MAC地址表紊乱
STP简介
stp - Spanning Tree Protocol(生成树协议)
- 逻辑上断开环路,防止广播风暴的产生
- 当线路故障,阻塞接口被激活,恢复通信,起备份线路的作用
STP的工作原理
生成树算法
分为3个步骤
- 选择根网桥_(Root Bridge)
- 选择根端口(Root Ports)
- 选择指定端口(Designated Ports)
网桥ID(BID)
- 网桥ID是唯一的 选择交换网络中
- 网桥ID最小的交换机成为根网桥
取值范围:0 ~65535
缺省值(默认值):32768
以此拓扑为例,介绍STP的计算过程
根据网桥ID选择根网桥:参数值小的优先级高。因此,优先级小的被选为根网桥;在优先级相同的情况下,则MAC地址小的为根网桥。
选择根端口
依据
- 到根网桥最低的根路径成本
- 直连的网桥ID最小
- 端口ID最小
根路径成本:
网桥到根网桥的路径上所有链路的成本之和
带宽与路径成本的关系:
链路带宽(Mbps) | 路径成本 |
---|---|
10 | 100 |
16 | 62 |
45 | 39 |
100 | 19 |
155 | 14 |
622 | 6 |
1000 | 4 |
10000 | 2 |
端口ID
取值范围: 0 ~ 255
缺省值(默认值):128
选择指定端口
在非根网桥上,选择一个根端口(RP)![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/df908578cffa242648d7d85e9a3c03b7.png#pic_center)
根桥上的端口全是指定端口
在每个网段上,选择1个指定端口
非根桥上的指定端口,选择顺序
- 根路径成本较低
- 所在的交换机的网桥ID的值较小
- 端口ID的值较小
三台交换机的生成树协议选举
按照STP的工作原理来选举根网桥、根端口和指定端口。
首先,根据网桥ID选择根网桥。由于交换机为默认配置,所以优先级相同,都为32768,在这种情况下选择MAC地址最小的交换机为根网桥,所以SW1被选为根网桥。
其次,根据根路径成本在非根网桥上选择根端口,交换机SW2和SW3直接与SW1相连的端口根路径成本最低,所以SW2的F0/24为根端口,SW3的F0/23为根端口。
最后,在每个网段上选择指定端口,根网桥交换机的端口都为指定端口。在SW2和SW3相连的网段上包含两个端口,这两个端口的根路径成本都是38,则根据网桥ID选择指定端口,所以SW2的F0/23成为指定端口,SW3 的F0/24端口被阻塞。
BPDU(桥协议数据单元)
- Bridge Protocol Data Unit-桥协议数据单元
- 使用组播发送BPDU
BPDU类型
配置BPDU
拓扑变更通告(TCN)BPDU
BPDU报文字段
根网桥ID、根路径成本、发送网桥ID、端口ID
STP的收敛
交换机端口的STP状态
状态 | 用途 |
---|---|
禁用 | 强制关闭 |
阻塞 | 只接受BPDU |
侦听 | 构建“活动”拓扑 |
学习 | 构建网桥表 |
转发 | 发送/接收用户数据 |
STP的计时器
扩展(RSTP快速生成树,省20秒)
- Hello时间
- 转发延迟
- 最大老化时间
STP实验
STP:多生成树协议—可为每个vlan或者多个vlan为一组,构造一个生成树,实现网络的负载分担(均衡)
-----------将SW1、SW2分别做vlan10、vlan20的根网桥----------
[SW1]stp mode mstp ###将交换机配置成MSTP模式,MSTP兼容STP/RSTP。
[SW1]stp region-configuration ###进入MSTP域视图MSTP配置模式
[SW1-mst-region]region-name huawei1 ###配置MSTP域的域名为huawei1,缺省为交换设备主控板上管理网口的MAC地址。
[SW1-mst-region]revision-level 1 ###配置MST域的MSTP修订级别为1,缺省情况下MSTP域的MSTP修订级别为0,需要将各设备的MSTP修订级别修改为一致
配置多生成树实例和VLAN的映射关系,同一vlan的数据只能对应一个实例,而一个实例可以对应多个vlan(instance 1 vlan 2 to 10)
[SW1-mst-region]instance 1 vlan 10 ###将vlan 10加入实例1中
[SW1-mst-region]instance 2 vlan 20 ###将vlan 20加入实例2中
[SW1-mst-region]check region-configuration ###查看MSTP域配置参数
[SW1-mst-region]active region-configuration ###激活MSTP域的配置(必须配置)
[SW1-mst-region]quit ###退出配置模式
[SW1]stp instance 1 root primary ###配置此交换机为实例1的主根桥
[SW1]stp instance 2 root secondary ###配置此交换机为实例2的备份根桥
[SW2]stp mode mstp
[SW2]stp region-configuration
[SW2-mst-region]region-name huawei1
[SW2-mst-region]revision-level 1
[SW2-mst-region]instance 1 vlan 10
[SW2-mst-region]instance 2 vlan 20
[SW2-mst-region]active region-configuration
[SW2-mst-region]quit
[SW2]stp instance 1 root secondary ###配置SW1交换机为实例1的备份根桥
[SW2]stp instance 2 root primary ###配置SW2交换机为实例2的主根桥
[SW3]stp mode mstp
[SW3]stp region-configuration
[SW3-mst-region]region-name huawei1
[SW3-mst-region]revision-level 1
[SW3-mst-region]instance 1 vlan 10
[SW3-mst-region]instance 2 vlan 20
[SW3-mst-region]active region-configuration
[SW1]stp enable ###在所有交换机上启用MSTP
[SW2]stp enable
[SW3]stp enable
[SW3]dis stp brief ###查看STP接口角色及状态信息
示图
配置AR1:
<Huawei>sys
[Huawei]un in en
[Huawei]sys r1
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ip add 192.168.10.1 24 `只需要添加端口IP`
[r1-GigabitEthernet0/0/0]int g0/0/1
[r1-GigabitEthernet0/0/1]ip add 192.168.20.1 24
[r1-GigabitEthernet0/0/1]q
配置LSW1:
<Huawei>sys
[Huawei]un in en
[Huawei]sys sw1
[sw1]v b 10 20
[sw1]int e0/0/1
[sw1-Ethernet0/0/1]p l a
[sw1-Ethernet0/0/1]p d v 10
[sw1-Ethernet0/0/1]int e0/0/2
[sw1-Ethernet0/0/2]p l t
[sw1-Ethernet0/0/2]p t a v a
[sw1-Ethernet0/0/2]int e0/0/3
[sw1-Ethernet0/0/3]p l t
[sw1-Ethernet0/0/3]p t a v a
[sw1-Ethernet0/0/3]q `配置各个端口vlan`
[sw1]stp m m `将交换机配置成MSTP模式`
[sw1]stp re
[sw1-mst-region]region-name 110 `配置MSTP域的域名为110`
[sw1-mst-region]rev 1 `配置MST域的MSTP修订级别为1`
[sw1-mst-region]in 1 vl 10 `将vlan 10加入实例1中`
[sw1-mst-region]in 2 vl 20 `将vlan 20加入实例2中`
[sw1-mst-region]ac re `激活MSTP域的配置(必须配置)`
[sw1-mst-region]q
[sw1]stp in 1 roo p `配置此交换机为实例1的主根桥`
[sw1]stp in 2 roo s `配置此交换机为实例1的主根桥`
[sw1]q
注意:配置多生成树实例和VLAN的映射关系,同一vlan的数据只能对应一个实例,而一个实例可以对应多个vlan(instance 1 vlan 2 to 10)
LSW2和LSW3与LSW1配置相似
配置LSW2:
<Huawei>sys
[Huawei]un in en
[Huawei]sys sw2
[sw2]v b 10 20
[sw2]int e0/0/1
[sw2-Ethernet0/0/1]p l a
[sw2-Ethernet0/0/1]p d v 30
[sw2-Ethernet0/0/1]int e0/0/2
[sw2-Ethernet0/0/2]p l t
[sw2-Ethernet0/0/2]p t a v a
[sw2-Ethernet0/0/2]int e0/0/3
[sw2-Ethernet0/0/3]p l t
[sw2-Ethernet0/0/3]p t a v a
[sw2-Ethernet0/0/3]q
[sw2]stp m m
[sw2]stp re
[sw2-mst-region]region-name 110
[sw2-mst-region]rev 1
[sw2-mst-region]in 1 vl 10
[sw2-mst-region]in 2 vl 20
[sw2-mst-region]ac re
[sw2-mst-region]q
[sw2]stp in 1 roo s
[sw2]stp in 2 roo p
配置LSW3:
<Huawei>SYS
[Huawei]UN IN EN
[Huawei]sys sw3
[sw3]v b 10 20
[sw3]int e0/0/1
[sw3-Ethernet0/0/1]p l t
[sw3-Ethernet0/0/1]p t a v a
[sw3-Ethernet0/0/1]int e0/0/2
[sw3-Ethernet0/0/2]p l t
[sw3-Ethernet0/0/2]p t a v a
[sw3-Ethernet0/0/4]int e0/0/3
[sw3-Ethernet0/0/3]p l a
[sw3-Ethernet0/0/3]p d v 20
[sw3-Ethernet0/0/3]int e0/0/4
[sw3-Ethernet0/0/4]p l a
[sw3-Ethernet0/0/4]p d v 10
[sw3-Ethernet0/0/4]q
[sw3]stp m m
[sw3]stp re
[sw3-mst-region]region-name 110
[sw3-mst-region]rev 1
[sw3-mst-region]in 1 vl 10
[sw3-mst-region]in 2 vl 20
[sw3-mst-region]ac re
[sw3-mst-region]q
测试:
PC>ping 192.168.20.20
Ping 192.168.20.20: 32 data bytes, Press Ctrl_C to break
Request timeout!
From 192.168.20.20: bytes=32 seq=2 ttl=127 time=109 ms
From 192.168.20.20: bytes=32 seq=3 ttl=127 time=125 ms
From 192.168.20.20: bytes=32 seq=4 ttl=127 time=172 ms
From 192.168.20.20: bytes=32 seq=5 ttl=127 time=125 ms
--- 192.168.20.20 ping statistics ---
5 packet(s) transmitted
4 packet(s) received
20.00% packet loss
round-trip min/avg/max = 0/132/172 ms