STP生成树协议

    解决因链路冗余带来二层环路问题

    版本:STP 802.1D、RSTP 802.1W、MSTP

STP标准选举过程

 1.所有交换都认为自己是根桥,接口向外发送配置BPDU

     收到比自己接口更优BPDU,则更新接口的BPDU并保存

     收到没有自己接口的BPDU优,则丢弃收到BPDU,并正常2s/次向外发送BPDU消息

 2.如果交换机所有接口最终保留BPDU都为自身接口原BPDU,则该交换机为根桥

    非根交换机比较所有自己接口保留的BPDU,保留的最优BPDU的接口成为RP

 3.根据RP保留的BPDU进行计算,确定DP参数

       根据RP计算得到的参数,比DP端口保留的BPDU更优,则该端口为DP并更新参数

       根据RP计算得到的参数,没有DP端口保留的BPDU优,则该端口为AP


端口状态            接收BPDU             发送BPDU           学习MAC地址            转发数据  

未使能状态             X                             X                         X                            X

阻塞状态                √                             X                         X                            X

侦听状态                √                            √                          X                            X

学习状态                √                            √                         √                            X

转发状态                √                            √                         √                            √

防止临时环路:侦听状态迁移到学习状态、学习状态迁移到转发状态都需要经过15s转发延迟时间


RSTP快速生成树协议:

较于STP协议改进:  

          1.端口角色

                         STP端口角色:RP、DP、AP

                         RSTP端口角色:RP、DP、AP替代端口、BP备份端口

                             AP:从其它交换机收到比自身更优的BPDU

                                     提供一条去往根桥无环备份路径,作为RP备份

                             BP:从本设备其它接口收到比该接口更优的BPDU

                                     提供一条根桥去往该网段的无环备份路径,作为DP备份

          2.端口状态

                 Discarding状态:不能学习MAC地址,不能转发用户数据

                 Leaning状态:可以学习MAC地址,不能转发用户数据

                 Forwarding状态:可以学习MAC地址,也可以转发用户数据

          3.BPDU格式改变

                 1.BPDU类型,STP有两种BPDU,分别为配置BPDU、TCN BPDU

                    RSTP中,只有一种BPDU,称为RST BPDU

                 2. RST BPDU中对Flags字段进行扩充,新增P/Abit用于实现P/A握手

                                                                           新增F/Lbit用于标识端口状态

                                                                           新增Port Role用于标识端口角色

          4.BPDU处理方式

                 1.BPDU发送   在STP中拓扑稳定后只有根桥周期性2s/次发送BPDU

                                      在RSTP中拓扑稳定后所有交换机周期性2s/次发送BPDU

                 2.感知故障     在STP中等待接口BPDU老化,老化时间20s

                                      在RSTP中3次Hello间隔时间未收到BPDU则认为交换机故障

                 3.次优BPDU处理

                                       在STP中,交换机收到次优BPDU,则丢弃并忽略

                                       在RSTP中,交换机收到次优BPDU,立即将自身BPDU进行通告

          5.快速收敛

                     1.端口角色变换

                            当RP故障,去往根桥最优的AP端口会立马成为RP进入转发状态,无需等待转                                      发延时30s时间

                            当DP故障,该网段最优的BP会立马成为DP并进入转发状态,无需等待转发

                                    延时30s的时间

                     2.边缘端口(EP,实际端口角色为DP)

                            手工配置:交换机连接终端/路由器的接口手工指定为EP边缘端口

                                  边缘端口特性:1.不参与STP计算,角色为DP,状态为转发状态

                                                         2.迁移到转发状态无需等待转发延时时间30s

                                                         3.如果边缘端口收到BPDU则丧失快速收敛特性,重新

                                                            参与STP计算中

                     3.P/A握手机制:初始收敛不在依赖计时器,实现状态快速切换        

                               

         6. 拓扑变更机制, 拓扑变更后,通过机制删除原来学习的错误MAC地址表项

                   RSTP认为拓扑变更:一个非边缘端口进行转发状态

                 

                   感知拓扑变更的交换机:1.清空所有学习MAC地址表项

                                                       2.为所有DP(除EP)和RP启动TC计时器 4s

                              启动TC计时器的接口:向外发送TC BPDU

                   收到TC BPDU的交换机处理:1.删除所有接口(除收到TC BPDU的接口、EP)                                                                   MAC地址表项

                                                               2.为RP/DP(除EP)也启用TC计时器 继续扩散

                                                                  TC BPDU  

         7.保护机制

                    1.BPDU保护/边缘端口保护

                            如果边缘端口收到BPDU则边缘端口丧失快速收敛特性重新参与RSTP计算,

                            接口重新变为转发状态,带来拓扑变更,引起网络震荡

                       使能BPDU保护功能后:

                             *针对边缘端口EP

                             边缘端口收到BPDU,将端口设备错误Down状态

                         

                       *错误Down状态接口恢复:

                                 1.手工开启接口undo shutdown

                                 2.设置错误Down状态自动恢复的时间间隔

                    2.根保护

                            如果指定端口收到优先级更高的BPDU,则进行更新,触发网络重新收敛

                            导致根桥丧失根桥的角色成为非根交换机

                        使能根保护后:

                              *在指定端口配置,针对DP指定端口有效

                              交换机指定端口收到更优的BPDU,端口角色保持不变:DP,状态迁移到

                                      Discarding状态,不转发用户数据

                              如果一段时间内(30s)未收到更优的BPDU,则恢复到转发状态

                   3.环路保护

                          如果交换机同时存在RP和AP,RP如果由于单向通信故障,导致无法正常接收

                          根桥BPDU,则6s后,AP直接成为RP,状态直接迁移到Forwarding状态;原

                          RP会成为DP,状态为Forwarding状态,导致造成环路

                       使能环路保护后:

                             *在RP/AP配置,针对RP/AP有效

                           如果交换机RP/AP长时间未收到根桥的BPDU,则角色变为DP,状态迁移到

                                 Discarding状态

                           直到端口重新收到BPDU后,重新协商,端口恢复成为RP/AP


                   4.TC BPDU保护

                                    交换网络频繁收到TC BPDU,导致所有交换机频繁删除MAC地址表,                                        导致网络震荡

                         使能TC BPDU保护:  

                             *在系统视图配置,配置单位时间内处理TC BPDU的次数

                             交换机收到大量TC BPDU,在单位时间内只会处理 指定的次数,其它超过

                                  阈值的TC BPDU只会统一处理一次