回顾STP的工作原理
ROOT ID:桥ID(交换机的优先级+MAC地址)
RPC:根路径开销
BID:发送BPDU交换机的BID
PID:发送BPDU的端口ID(端口优先级+端口ID号)
- STP拓扑计算方法
1.每一台设备都认为自己是根桥,在此时只收发配置BPDU,不转发用户流量,所有端口处于Listening状态
2.所有设备通过交换配置BPDU后,进行选举工作,选出根桥、根端口、指定端口
-
- 根端口(RP)和指定端口(DP)的选择过程
1.非根桥设备将接收最优配置消息且路径开销最小的那个端口为根端口
2.设备根据根端口的配置消息和根端口的开销,为每个端口计算一个指定端口配置消息
- 根端口(RP)和指定端口(DP)的选择过程
-
- (1)根桥ID替换为根端口的配置消息的根桥ID
(2)根路径开销=根端口配置消息的根路径开销+根端口路径开销
(3)发送者BID替换为自身设备的BID
(4)发送端口PID替换为自身端口PID
- (1)根桥ID替换为根端口的配置消息的根桥ID
- 3.将计算出的配置消息与角色待定端口自己的配置消息进行比较
-
- (1)如果计算出的结果更优,则该端口被确定为指定端口,其配置消息被计算出的配置消息替换,并周期性发送
(2)如果自己的配置消息更优,则不更新端口的配置消息,并阻塞,该端口不在转发数据,且只接不发配置消息
- (1)如果计算出的结果更优,则该端口被确定为指定端口,其配置消息被计算出的配置消息替换,并周期性发送
- 最优配置消息的选择过程
1.每个端口收到的配置消息与自己的配置消息进行比较 -
- (1)收到的配置消息优先级较低,则直接丢弃,对自己的配置消息不进行任何处理
(2)收到的配置消息优先级较高,则用该配置消息的内容将自己的内容替换
(3)收到的配置消息和自己的一样,则直接丢弃
- (1)收到的配置消息优先级较低,则直接丢弃,对自己的配置消息不进行任何处理
- 2.设备将所有端口配置消息进行比较,选出最优的配置消息
STP端口状态
- STP不足:
1.没有细致区分端口状态和端口角色
2.STP算法是被动算法,依赖定时器等待的方式判断拓扑变化,收敛速度慢
直连故障:30s
非直连故障:50s
TCN:发送拓扑改变通知BPDU
TCA:置1的确认BPDU
TC:发送TC置位的配置BPDU
RSTP(快速生成树协议)
IEEE 802.1D------>IEEE 802.1W
STP------------->RSTP
- RSTP对STP的改进
1.端口角色的增补,简化了生成树协议的理解和部署
Alternate端口:替代端口,根端口的备份端口,提供了指定桥到根的另一条可切换路径
Backup端口:备份端口,指定端口的备份端口,提供了另一条从根桥到相应网段的备份
<Blocking状态>
AP--->RP
BP--->DP
2.端口状态的重新划分
Discarding状态:不转发,不学习
Learning状态(学习状态):不转发,学习
Forwarding状态(转发状态):转发,学习
3.充分利用STP协议报文中的Flag字段,明确端口角色
4.配置BPDU的处理发生变化
【STP】
1.配置BPDU
TC = 1 通知网络发生变化
TC = 0 网络稳定时
ACK = 1 确认TCN BPDU
2.TCN BPDU
【RSTP】
RST BPDU
5.快速收敛
6.增加保护功能
RSTP在园区网中工作在二层网络
快速定位根端口:非根桥接收最好BPDU的端口
快速定位指定端口:链路上发送最好BPDU的端口
在接口发生故障的时,在20s老化时间前,不停止发送BPDU,用老根计算发出,老化时间后,按自己计算BPDU
-
快速收敛机制
STP为了防止环路,强制等待15s
RSTP根端口立即切换,指定端口等待30s -
边缘端口(Edge Port)
与终端设备相连的端口,可以由Discarding直接进入Forwarding,只发送BPDU,不接收BPDU -
必须连接三层设备指定端口配置为边缘端口
1.终端设备可以更快实现网络连通性
2.防止DHCP地址分配失败
3.边缘端口进入fowrding或者discarding状态时不会发送TC BPDU,保证STP网络的连通性
4.有瞬间环路风险
stp edged-port default 配置所有端口为边缘端口
快速收敛机制(P/A机制)
简介:让一条链路在没有临时环路的场景下完成快速过渡到转发状态
- P/A机制触发的机制:
1.点到点全双工的链路
2.DP端口处于discarding时触发
3.DP端口对端必须是RP端口才会配合P/A协商
指定端口在discarding状态下发送RST BPDU
P=1 指定端口处于discarding状态,想快速转入到转发状态
A=1 下游端口进入同步状态
stp point-to-point
- 拓扑变更机制
判断拓扑发生变化只有一个标准:一个非边缘得端口迁移到Forwarding状态
stp bpdu-protection 配置BPDU保护功能
stp root-protection 配置根保护功能
stp loop-protection 配置环路保护功能
-
保护功能
1.在交换机上启动了BPDU保护功能后,如果边缘端口收到RST BPDU,边缘端口将被error-down,但是边缘端口属性不变,同时通知网管系统
2.根保护(ROOT保护) -
- (1)对于启动根保护的指定端口,端口角色只能保持为指定端口
(2)收到优先级更高的RST BPDU时,端口将进入discarding状态,不在转发报文
- (1)对于启动根保护的指定端口,端口角色只能保持为指定端口
-
pvstp(基于VLAN的stp): 不同的VLAN去进行有针对性的阻塞
缺点:
1.没有标准化
2.开销大
MSTP(多生成树协议)
单STP的问题:共用一棵树
简介:
1.兼容STP和RSTP,快速收敛,提供对数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载分担
2.将一个或多个VLAN映射到一个instance(实例),在基于instance计算生成树,映射到同一个instance的vlan共享同一棵生成树
stp region-configuration 进入到预配视图
region-name <xxx>
revision-level 1
instance 1 vlan 10 30 将VLAN10 20绑定到实例1
active region-configuration 激活配置
stp instance <实例> <root\priority> <primary/secondary>
instance 0 默认实例,没有和instance映射的vlan都属于instance 0的树
一个域中配置要完全一致
- MSTP网络层次
mstp把一个交换网络划分成多个域,每个域形成多颗生成树,生成树之间彼此独立
–
- MST Region(多生成树域),简称MST域
1.设备和它们之间的网段所构成
2.一个局域网可以纯在多个MST域,各MST域之间在物理上直接或间接相连
–
- MSTI(多生成树实例)
1.一个MST域内可以生成多棵生成树,每棵生成树都称为一个MSTI
–
- CST(公共生成树)
1.连接交换网络内所有MST域的一棵生成树
2.如果把每个MST域看作是一个节点,CST就是这些节点通过生成树协议计算生成的一棵生成树
–
- IST(内部生成树)
1.是一个特殊的MSTI,MSTI的实例ID为0
2.由instance 0组建出来的树
–
- CIST(公共和内部生成树)
1.连接交换网络所有交换设备的单生成树
–
- SST(单生成树)
1.运行生成树协议的交换设备只能属于一个生成树
2.MST域中只有一个交换设备,这个交换设备构成单生成树
- 总根:是CIST的根桥,全网优先级最低的交换机,总根所在的域称为根域
–
-
域根
-
- IST域根
1.在MST域中IST生成树中距离总根最近的交换机是IST域根
2.Master端口所在的交换机
3.Master端口:非根域 域边缘端口中到总根ERPC最近的端口
- IST域根
-
- MSTI域根
每个多生成树的树根
–
- MSTI域根
-
主桥
1.是IST Master,域内距离总根最近的交换设备
2.如果总根在MST域中,则总根为该域的主桥
–
MSTP拓扑计算
- CIST计算的优先级
根交换设备、外部路径开销、域根ID、内部路径开销、
指定交换设备ID,指定端口ID、接收端口ID
- MSTI计算的优先级
域根ID、内部路径开销、指定交换设备开销、指定端口ID、接收端口ID
如何描述自己的实例和VLAN映射的关系:通过MD5值实现
1.通过域名、修订级别、实例和VLAN的映射关系做MD5的计算
- 修订级别:减少哈希值冲突的可能性
MSTP的BPDU
RID(总根)
ERPC(外部根开销)
BID(向域外发):实例0的根桥
PID
指定交换机的BID
IRPC(内部根开销)