生成树协议
Stp树的生成过程
选举根桥:做为整个网络的根
确定根端口:确定非根桥与根桥连接的最优端口
确定指定端口:确定每条链路与根桥连接的最优端口
阻塞备用端口:(Alternate Port, AP)形成一个无环网络
根桥的选举步骤
STP交换机初始启动之后,会认为自己是根桥,并在发送给其他交换机的BPDU中宣告自己是根桥。
当交换机从网络中收到其他设备发送过来的BPDU的时候,会比较BPDU中的根桥BID和自己的BID,较小的BID将作为根桥BID。
交换机间不断交互BPDU,并对BID进行比较,直至最终选举出一台BID最小的交换机作为根桥。
确定根端口
比较根路径开销,路径开销较小的为根端口
端口速率与路径开销的对应关系 | |
端口速率 | 路径开销(IEEE 802.1t标准) |
10Mbit/s | 2000000 |
100Mbit/s | 200000 |
1Gbit/s | 20000 |
10Gbit/s | 2000 |
比较上行设备的BID,BID较小的端口为根端口
比较发送方端口ID,端口ID较小的为根端口
确定指定端口
指定端口也是通过比较RPC来确定的,RPC较小的端口将成为指定端口。如果RPC相同,则需要比较BID、PID等
阻塞备用端口
在确定了根端口和指定端口之后,交换机上所有剩余交换机间互连的端口都被称为备用端口
STP树会对备用端口进行逻辑阻塞
逻辑阻塞是指这些备用端口不能转发用户数据帧(由终端计算机产生并发送的帧),但可以接收并处理STP协议帧
根端口和指定端口既可以发送和接受STP协议帧,又可以转发用户数据帧
STP的端口状态
5种STP端口状态的简要说明 | |
端口状态 | 说明 |
禁用(Disabled) | 禁用状态的端口无法接收和发出任何帧,端口处于关闭(Down)状态 |
阻塞(Blocking) | 阻塞状态的段哦只能接收STP协议帧,不能发送STP协议帧,也不能转发用户数据帧 |
侦听(Listening) | 侦听状态的端口可以接收并发送STP协议帧,但不能进行MAC地址学习,也不能转发用户数据帧 |
学习(Learning) | 学习状态的端口可以接收并发送STP协议帧,也可以进行MAC地址学习,但不能转发用户数据帧 |
转发(Forwarding) | 转发状态的端口可以接收并发送STP协议帧,也可以进行MAC地址学习,还能够转发用户数据帧 |
system-view #进入系统模式
sysname s1 #更改设备名称
interface GigabitEthernet 0/0/1 #进入端口
stp edged-port enable #开启生成树协议
stp mode stp / rstp #选择模式(这里有生成树、快速生成树、)
stp root primary #设置根桥
stp root secondary #设置备份根桥(次根桥)
stp cost 1000000 #设置端口为阻塞端口(一般情况下不开启--一般为禁用模式,要进入端口设置)
display stp brief #查看stp简要信息
[S1]display stp brief MSTID Port Role STP State Protection 0 GigabitEthernet0/0/1 DESI FORWARDING NONE 0 GigabitEthernet0/0/2 DESI FORWARDING NONE |
阻塞端口:在另一条路出问题时,禁用模式会转为转发模式,相当于备用
stp cost 1000000 #设置端口为阻塞端口(一般情况下不开启--一般为禁用模式,要进入端口设置)
下面是设置了阻塞端口的验证表
RSTP的保护功能----bpdu保护(不用在端口内开启),避免网络中的RSTP重复计算,防止二层环路和bpdu攻击
stp dpdu-protection #开启bpdu保护(RSTP特有保护功能)
RSTP的保护功能----根保护(要在端口内开启),避免RSTP重新计算,防止根桥被抢占,保护根桥
stp root-protection #开启根保护(RSTP特有保护功能)
RSTP的保护功能----环路保护(要在端口内开启)
环路保护--在运行生成树协议的网络中,根端口和其他阻塞端口状态是依靠不断接收来自上游设备的BPDU维持。当由于链路拥塞或者单向链路故障导致这些端口收不到来自上游交换设备的BPDU时,设备会重新选择根端口。原先的根端口会转变为指定端口,而原先的阻塞端口会迁移到Forwarding状态,从而造成网络中产生环路。
stp loop-protection #开启环路保护(RSTP特有保护功能)
上面是在根端口配置
在配置环路保护时要在根端口设置后同时也要在替代端口上设置
RSTP的保护功能----拓扑保护(不用在端口内开启)
拓扑保护功能--在单位时间内,交换设备处理拓扑变化报文的次数可配置(缺省的单位时间是2秒,缺省的处理次数是1次)。如果在单位时间内,交换设备在收到拓扑变化报文数量大于配置的阈值,那么设备只会处理阈值指定的次数。对于其他超出阈值的拓扑变化报文,定时器到期后设备只对其统一处理一次。这样可以避免频繁的删除MAC地址表项和ARP表项,从而达到保护设备的目的。
stp tc-protection #开启拓扑变更保护功能
stp tc-protection interval interval-value #修改拓扑变更保护功能的默认单位时间
stp tc-protection threshold value #修改拓扑变更保护默认单位时间内处理TC BPDU次数
MSTP(多生成树协议)
MSTP兼容STP和RSTP,既可以快速收敛,有提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
MST各种树
名称 | 备注 |
IST | 内部生成树(Internal Spanning Tree) MST域内实例0上的生成树 |
CST | 公共生成树(Common Spanning Tree) 连接所有MST域的一颗生成树 |
CIST | 公共和内部生成树 连接所有设备的一颗生成树,由IST和CST共同构成 |
MSTI | 多生成树实例 每个域内可以存在多棵生成树,每棵生成树和相应的VLAN对应 |
总根 | CIST实例中桥ID最优的桥 |
域根 | MST域内的IST和每个MSTI的根桥都是一个域根 MST域内各棵生成树的拓扑不同,域根也可能不同 |
MSTP配置命令
命令 | 备注 | |
stp region-configuration | 进入MSTP域配置模式 | |
region-name wakin | 配置MSTP域名 默认为交换机的MAC地址 | |
revision-level 1 | 配置MSTP修订级别 0-65535,默认为0 | |
instance 1 vlan 10 | 配置实例与VLAN的映射 默认所偶有VLAN映射到Instance 0 | |
active region-configuration | 激活MSTP域的配置 | |
stp instance 1 priority 4096 | 配置MSTP实例优先级 | |
display stp region-configuration | 验证MSTP配置 | |
配置边缘端口(在端口内设置)
边缘端口是从阻塞状态直接到转发状态的端口。
stp edged-port enable