STP(Spanning Tree Protocol)生成树协议,可应用于计算机网络中树形拓扑结构建立,主要作用是防止网桥网络中的冗余链路形成环路工作。但是,在目前,很少使用到STP协议了,更多是在使用STP的变体协议PVST或rapidly PVST
冗余:网络分层设计的一个重要组成部分,可防止用户网络服务的中断。大多大型公司或者重要的部分单位,都会设置冗余,以保证网络的的稳定。冗余功能可防止网络因单个故障点(例如网络电缆或交换机故障)而无法运行,以此提升网络拓扑的可用性。当物理冗余功能引入设计时,便会出现环路和重复帧。环路和重复帧对交换网络有着极为严重的影响。生成树协议 (STP) 便旨在解决这些问题。
STP 会特意阻塞可能导致环路的冗余路径,以确保网络中所有目的地之间只有一条逻辑路径。端口处于阻塞状态时,用户数据将无法进入或流出该端口,不过,STP 用来防止环路的 BPDU(网桥协议数据单元)帧仍可继续通行
STP 通过策略性设置“阻塞状态”的端口来配置无环网络路径,从而防止形成环路。运行 STP 的交换机能够动态对先前阻塞的端口解除阻塞,以允许流量通过替代路径传输,从而抵消故障对网络的影响。
IEEE 802.1D STP 和 RSTP 使用生成树算法 (STA) 确定网络中的哪些交换机端口必须处于阻塞状态才能防止形成环路,STA 会将一台交换机指定为根网桥,确定根网桥后,STA会计算到根网桥的最佳距离。
- 根端口?- 在根网桥的总开销方面,最接近根网桥的交换机端口。
- 指定端口?- 网络中获准转发流量的、除根端口之外的所有端口。根网桥上的所有端口都是指定端口。
- 替代端口和备用端口?- 替代端口和备用端口处于丢弃或阻塞模式,以防形成环路。
- 禁用端口?- 禁用端口是关闭的交换机端口。
根端口的选定:非根交换机将具有最低根路径开销的端口转换为根端口
根桥自动将其所有交换机端口配置为指定端口角色。拓扑中的其他交换机将自己的非根端口配置为指定端口或替代端口。
STP的变体协议
- PVST+?:这是思科对 STP 所做的一项改进,它为网络中配置的每个 VLAN 提供单独的 802.1D 生成树实例。
- 快速生成树协议 (RSTP) 或 IEEE 802.1w?- 它从 STP 演变而来,收敛速度快于 STP。
- 快速 PVST+?-:这是思科对使用 PVST+ 的 RSTP 所做的一项改进。快速 PVST+ 为每个 VLAN 提供一个单独的 802.1w 实例。每个实例支持 PortFast、BPDU 防护、BPDU 过滤器、根防护和环路防护。
- 多生成树协议 (MSTP)?-:这是受早期思科专有多实例 STP (MISTP) 实施方式启发而制定的 IEEE 标准。MSTP 将多个 VLAN 映射到同一个生成树实例。MST 是思科实施的 MSTP,提供多达 16 个 RSTP 实例并将许多具有相同物理和逻辑拓扑的 VLAN 合并到一个常用 RSTP 实例中。每个实例支持 PortFast、BPDU 防护、BPDU 过滤器、根防护和环路防护。
配置STP
拓扑搭建
?可以,发现三台交换机之间的链路有呈橘黄色,可以说明,此时的链路已经是处于一个闭塞状态
IP地址
S1 | VLAN? 99 | 172.31.99.1 | 255.255.255.0 | S2 | VLAN? 99 | 172.31.99.2 | 255.255.255.0 | S3 | VLAN? 99 | 172.31.99.3 | 255.255.255.0 | PC1 | | 172.31.10.1 | 255.255.255.0 | PC2 | | 172.31.20.1 | 255.255.255.0 | PC3 | | 172.31.30.1 | 255.255.255.0 |
VLAN
S1 F0/8 | VLAN 10 | S2 F0/16 | VLAN 20 | S3 F0/24 | VLAN 30 |
在所有交换机上创建 VLAN 10、20、30、40、50、60、70、80 、?99
Switch>enable
Switch#configure
Switch(config)#hostname S1
S1(config)#vlan 10
S1(config-vlan)#vlan 20
S1(config-vlan)#vlan 30
S1(config-vlan)#vlan 40
S1(config-vlan)#vlan 50
S1(config-vlan)#vlan 60
S1(config-vlan)#vlan 70
S1(config-vlan)#vlan 80
S1(config-vlan)#vlan 99
S1(config)#interface fastEthernet 0/8
S1(config-if)#switchport mode access
S1(config-if)#switchport access vlan 10
S1(config)#interface vlan 99
S1(config-if)#ip address 172.31.99.1 255.255.255.0
Switch>enable
Switch#configure
Switch(config)#hostname S2
S2(config)#vlan 10
S2(config-vlan)#vlan 20
S2(config-vlan)#vlan 30
S2(config-vlan)#vlan 40
S2(config-vlan)#vlan 50
S2(config-vlan)#vlan 60
S2(config-vlan)#vlan 70
S2(config-vlan)#vlan 80
S2(config-vlan)#vlan 99
S2(config)#interface fastEthernet 0/16
S2(config-if)#switchport mode access
S2(config-if)#switchport access vlan 20
S2(config)#interface vlan 99
S2(config-if)#ip address 172.31.99.2 255.255.255.0
Switch>en
Switch#configure
Switch(config)#hostname S3
S3(config)#vlan 10
S3(config-vlan)#vlan 20
S3(config-vlan)#vlan 30
S3(config-vlan)#vlan 40
S3(config-vlan)#vlan 50
S3(config-vlan)#vlan 60
S3(config-vlan)#vlan 70
S3(config-vlan)#vlan 80
S3(config-vlan)#vlan 99
S3(config)#interface fastEthernet 0/24
S3(config-if)#switchport mode access
S3(config-if)#switchport access vlan 30
S3(config)#interface vlan 99
S3(config-if)#ip address 172.31.99.3 255.255.255.0
配置中继端口
S1(config)#interface range fastEthernet 0/1-4
S1(config-if-range)#switchport mode trunk
S1(config-if-range)#switchport trunk native vlan 99
S2(config)#interface range fastEthernet 0/1-4
2(config-if-range)#switchport mode trunk
S2(config-if-range)#switchport trunk native vlan 99
S3(config)#interface range fastEthernet 0/1-4
S3(config-if-range)#switchport mode trunk
S3(config-if-range)#switchport trunk native vlan 99
配置生成树 PVST+ 和负载均衡
S1(config)#spanning-tree mode pvst
S1(config)#spanning-tree vlan 1,10,30,50,70 root primary
S2(config)#spanning-tree vlan 1,10,20,30,40,50,60,70,80,99 root secondary
S3(config)#spanning-tree vlan 20,40,60,80,99 root primary
?? ? 配置 PortFast 和 BPDU 防护
S1(config)#interface range f0/1-4
S1(config-if-range)#spanning-tree portfast
S1(config-if-range)#spanning-tree bpduguard enable
S2(config)#interface range fastEthernet 0/1-4
S2(config-if-range)#spanning-tree portfast
S2(config-if-range)#spanning-tree bpduguard enable
S3(config)#interface range f0/1-4
S3(config-if-range)#spanning-tree portfast
S3(config-if-range)#spanning-tree bpduguard enable
配置完后会发现交换机的端口全部宕掉了,这是由于配置的原因。正确的操作是:先关掉端口,在配置portfast。
解决:先关掉端口,在打开端口
?
?查看配置
?与没有配置STP的时候相比,此时有明显的变化
?
?
|