「思科NA培训」CCNA-7 STP生成树协议部分

banner1

关键字:服务器基础、存储技术基础、计算机网络基础、数据库基础、虚拟化技术基础

摘要:掌握STP技术的方法。

截屏2022-08-01 09.12.47

STP基础

一 背景

前文我们学到,当三个交换机形成环路时会产生广播风暴。

为此通过生成树协议STP,在提高网络可靠性的同时避免环路带来的各种问题。

生成树算法STA是生成树协议STP的核心,其目标在于构建一个能遍历所有节点的树型无环逻辑拓扑。

二 生成树算法的三个步骤

WechatIMG167

1、选举根交换机——网桥ID(BID)最小者当选

(1) 网桥ID=优先级+MAC地址

(2)比较方法:

​ · 优先值越小,BID越小

​ · MAC地址从左往右,数值越小,BID越小

WechatIMG168

2、选举根端口RP(Root Port)

在每一个非根交换机选一个RP,一个交换机仅有一个

选举方法:

​ · BPDU接收端口到根交换机的路径成本最小

​ · 对端网桥ID最小

​ · 对端的端口ID最小

WechatIMG169 WechatIMG172

在E交换机中,其对端只有一个D,故需通过第三个判断条件,即对端端口最小来判断。

1741659327595_.pic

3、选举指定端口DP(Designated Port),并阻塞备用端口

每一个网段有且仅有一个指定端口DP

选取方法:

​ · 根交换机的所有端口都是指定端口

​ · 根端口RP的对端端口一定是指定端口

​ · 到根交换机路径成本最小的为指定端口

​ · 本端的网桥ID最小

最后剩余的端口成为备用端口AP,将它们阻塞!

WechatIMG175

1、讲的最好!湖科大教书匠-交换机的生成树协议STP-哔哩哔哩】 https://b23.tv/lZTwcl8

2、【STP选举根桥、根端口、指定端口-哔哩哔哩】 https://b23.tv/dbg8oAC

三 实验测试

1、查看优先级、MAC地址等

image-20220803110930283

四 STP选举过程详解

1、根交换机选举

在最开始的时候,所有交换机都会认为自己是根交换机,都会发送一个配置BPDU报文,BPDU的Root ID都是各自的优先级+MAC地址。

WechatIMG200
  • 第一轮选举(先认清自己是小弟)

    在ABC上半部分,A、B、C各自发送和接收BPDU,B、C先拿自己跟A、D比,比不过(甘当小弟,但大哥未定);

​ 再拿A和D比,发现A更大,是更大的大哥。故选出A的Root ID最小,为根网桥。

​ B、C的Root ID更改为A的值(认大哥的名头了)。

​ 在BCD下半部分,D在比对自己和B、C后,仍认为自己是根网桥。

  • 第二轮选取(2个大哥的角逐)

    在第二轮选举中,D接收到B、C中BPDU含Root ID=A的更小的信息,认怂当二哥,修改自己的Root ID为A。

    tips 1:值得注意的是,当拓扑结构越来越复杂,树结构越来越深时,会有更多需要二轮、三轮、四轮的“D”需要选举,这无疑会导致耗时的增多。

    tips 2:认了小弟后就只能转发BPDU,只有根交换机才配发送BPDU。

    image-20220803150944805

    1、【文字选举】https://zhuanlan.zhihu.com/p/139844708

    2、【进阶NP讲解】https://www.bilibili.com/video/BV1sy4y1C7TZ?p=10&vd_source=7ca2f78bb398ed8ad30a2d6cdf374471

    五 STP的五种端口状态和三种端口角色

    STP定义了五种端口状态:Disable、Blocking、Listening、Learning、Forwarding。

    STP定义了三种端口角色:根端口、指定端口、阻塞端口

    五种接口状态:
    Forwarding:接口转发用户流量和BPDU。只有根接口和指定接口才能进入此状态。

    Learning:为了防止出现临时的二层环路而设置的一个类似于过渡的状态,此时设备会根据收到的用户流量构建MAC地址表而不转发用户流量。

    Listening:该状态表示设备正在选举根桥、根接口和指定接口。

    Blocking:表示只接受和处理BPDU,不转发用户流量。

    Disabled:接口Down(阻塞)掉。

    Q:为什么从Listening到Forwarding需要经过learning?
    A:当拓扑稳定后,如果发生链路故障,网络会重新进行生成树的计算,逻辑拓扑也会发生相应的变化。但重新计算得到的新的配置消息不一定能够立即传遍整个网络,如果此时新选出的根接口和指定接口立即进入Forwarding的话很可能会造成临时的二层环路。为了防止环路的产生,STP中,新选举出来的根接口和指定接口需要经过两倍的Forward Delay才能进入转发状态。

    【补充】

    在发生拓扑更改时,交换机会发送一种名为TCN BPDU(拓扑更改通知BPDU)。

    【TCN详解】https://wenku.baidu.com/view/4cb4e51432126edb6f1aff00bed5b9f3f90f72b3.html

2031659516993_.pic

【STP详细-知乎】https://zhuanlan.zhihu.com/p/38982648

RSTP基础

一 为什么RSTP

RSTP,即Rapid STP(快速生成树协议),主要在于弥补STP存在的问题:

  • 拓扑变化收敛机制不灵活

    所有交换机发生拓扑变化,都需要根交换机的批准同意。小到村长修条路,只有皇上一个人决策所有。

  • 主机的频繁上下线,产生大量TCN

  • 临时环路问题

    当根端口出现问题,转换开启备用(阻塞)端口时,STP需要30s~50s的延迟。因为若直接打开,可能造成临时环路

  • 非相邻链路异常问题

    当非相邻链路出现问题时,必须等待C1、C2的通知才能进行调整,开启阻塞备用端口

WechatIMG178

RSTP和STP的改进之处:

  • 减少了端口状态

  • 增加了端口角色:

    • 根端口

    阻塞端口改为Alternate替代端口+Backup备份端口

  • BPDU格式及发送方式不同

  • 当网络拓扑发生改变时,RSTP科更快的恢复网络连通性

Tips:替代端口是根端口的备胎,备份端口是指定端口的备胎

二 RSTP的P/A协商机制

​ 讲的非常形象生动的P/A机制,需要反复观看:

【一秒收敛?快速生成树RSTP就是比STP强,不服来战!-哔哩哔哩】 https://b23.tv/B5wqMM6

三 RSTP的三个快速收敛机制

  • 边缘端口:交换机不知道所连接的是PC还是另一台交换机,故都会进入等待,协商等步骤。而工程师可以手动配置,减少延迟时间。

  • 根端口快速切换:🔍🔥

  • 指定端口快速切换:P/A机制,根据强弱快速切换。(见上文视频)

    【十分钟理解RSTP快速生成树 交换技术基础-哔哩哔哩】 https://b23.tv/ErxysfU

MSTP

一 为什么

上文我们学习了STP以及改良过的RSTP,那么为何会又升级为MSTP呢?

STP和RSTP缺陷如下:

  • 单生成树:阻断的那路部分的VLAN无法正常通信
  • 无法流量分摊:被阻断的链路只能当作备用,而无法利用起来,导致了带宽资源的浪费
  • 次优二层路径:由于环路中有阻断的路,所以在通信传输过程中会出现绕远路的情况

1

二 是什么

MSTP(Multi-Instance Spanning TreeProtocol)多实例生成树协议,实例就是多个VLAN的集合。

会根据每个实例具体划分根交换机,且独立计算端口状态。在不同的实例中,生成不同的树,选举不同的根交换机,阻塞不通的端口。

【6.2.5 MSTP&ERPS-哔哩哔哩】 https://b23.tv/5RZ8s3u

三 怎么做

STP Toolkit(STP优化工具包)

【整体介绍的优秀视频】知乎:https://www.zhihu.com/zvideo/1489743415251861504

一 分类

Fast Converge(快速收敛):

​ · Port Fast:对终端PC手动进行配置

Secure the STP(STP安全):

​ · Root Guard:保护根交换机不因新增而变动

​ · BPDU Gurad:

​ · BPDU Filter

​ · Port Security

Loop Prevention(防环):

​ · Loop guard

​ · UDLD

二 PortFast

1、功能:

2、配置方法:

  • Globa全局方式:(所有access都会变成portfast)

    Switch(config)#spanning-tree portfast default

  • Interface具体端口配置:

    Switch(config)#int fa0/1

    Switch(config-if)#spanning-tree portfast

显示效果:

show spanning-tree interface f0/1 portfast

show spanning-tree interface f0/1 details

三 BPDU Filter

1、功能:

Tips:全局和具体端口配置中其具备不同特性!

全局配置特性:

  • 只对portfast端口起作用:我们知道global是对一个交换机的所有端口都配置功能,但当有一个端口为non-PF模式时,该配置仅对其他PF端口起作用
  • 全局模式下,不会filter接收,只会filter发送:例如A–>B,若在A端口配置BPDU Filter,只会过滤A发给B的BPDU而不会过滤B发给A的BPDU。
  • 自动转换:在连接PC时,交换机发送的BPDU会被丢弃,BPDU Filter检测到后就不再发送了。当连接的PC机被换成交换机时,原交换机接收到新的BPDU,便会关闭Filter和PortFast并重新进入生成树。

端口模式配置特性:

  • 端口模式下,接收和发送都会filter过滤。
  • 与PortFast状态无关:即使不是PortFast状态也可进行过滤

(这种模式较为危险,等同于关掉了生成树,不用!)

(不建议使用BPDU Filter!容易造成环路!)

2、配置方法:

  • Globa全局方式:

  • Interface具体端口配置:

显示效果:

四 BPDU Guard

1、功能:

在路由器和PC相连中,若偷偷将PC换成优先级更高的交换机接入,就会打乱原先的所有根交换机等的选举。

为此,通过BPDU Guard,当检测到新的SW4接入时,将与之相连的端口改为error disable状态进行阻断

【【IELAB】一分钟就学会什么是思科生成树 bpdu guard防护 网络工程师一学就会-哔哩哔哩】 https://b23.tv/Kdi6GIm

2、配置练习:

五 Root Guard

1、功能

在已经选举好根交换机的生成树中,若有个黑客接入一个高优先级的交换机,就会改变原有网络结构,同时黑客的交换机变成Root Switch,从而控制流量的转发。

这便需要Root Guard进行防范!(在黑客接入的那个交换机的端口)

2、配置练习

Switch(config-if)#spanning-tree guard root

六 Root Guard VS BPDU Guard

BPDU Guard:只要收到BPDU,就阻断与之相连的端口disable

Root Guard:只有收到更高级别的BPDU,才会把该交换机放入root-unconsistent(不参加树选举的表)中

七 Loop Guard

疑问?

1、一台交换机有几个MAC地址?多个端口也有各自的多个MAC地址吗?

在选举比较网桥BID时比的是哪个MAC地址?

截屏2022-08-03 11.02.16

image-20220803110538528

查看MAC地址表

image-20220803112138198

比较全的资料包:https://wenku.baidu.com/view/8242491840323968011ca300a6c30c225901f08f.html


Keep going,and keep trying...