生成树技术详解

生成树出现的背景

二层网络组网需要冗余链路保障可靠性

--拓扑环了

--交换机BUM-泛洪

(环路出现的原因)

--导致环路的出现

环路的影响

1.广播风暴

2.mac地址表震荡(漂移)

解决环路问题

--生成树

--smart link

原理?

--通过阻塞端口来防止环路,并实现链路的冗余

作用

1.无环

2.提高网络的可靠性

生成树

---协议族

版本

Stp --生成树

Rstp--快速生成树

Mstp--多生成树 (现网)

二层环路和三层环路

STP的基本概念

1.根桥  root

根桥就相当于生成树树根,是生成树逻辑的中心

2.桥 ID ---BID

作用:用于选举根桥,先比较优先级,再比较mac地址

BID=桥优先级+MAC地址  ↓

优先级 --32768  步长4096

3.根端口

Root port   /rp

--去往根桥的最优(短)的端口

在非根交换机上选举,有且仅只有一个

4.cost --开销值

5.根路径开销 RPC

 ---去往根桥的累计开销(只累计出接口)

6.BPDU 报文---是生成树的协议报文

(直白---只要生成树发出的报文--都叫BPDU报文)

分类

1.配置BPDU

2.TCN置位的BPDU--拓扑改变通知报文

Bpdu type:

1.配置bpdu  0x00  ---用于stp的收敛

2.tcn bpdu  0x80---拓扑改变通知报文

flags位 --8bit --stp只用到了

最高位 TCA位  --对TCN的确认

最低位TC位 --用来通知交换机清空mac地址表   ---?

Root id --根桥的BID

BID --自己的BID

计时器

Message age --消息年龄  刚发出时 0 , 没经过一次转发+1  加到20丢弃

Max age --bpdu报文的老化时间     20s

Hello time --周期性发送HELLO报文的时间 默认2s

Forward delay--转发延迟   15s

7.PID --port ID

 接口优先级+端口号

默认128  步长16

生成树的工作原理

一、选举根桥

 根桥---作为生成树的逻辑的中心

依据--BID  ↓

二、选举根端口

根端口--非根交换机上去往根桥的最优路径(端口)

必须在非根交换机上

有且仅只有一个

依据:根路径开销、对端的BID、对端的PID、本端的PID

场景1--比较根路径开销的场景

场景2--比较对端的BID

场景3--比较对端的PID

场景4--比较本端的PID

三、选举指定端口

指定端口--向链路内转发BPDU报文的端口

基于链路选举--(一段链路选一个)

依据:

1.根路径开销--站在交换机的角度

2.本端的BID

3.本端的PID

四、阻塞预备端口

什么都没有被选上的端口--预备端口AP--阻塞--如S3的E2口

思考

阻塞端口什么报文都不接收吗?

--AP--周期性接收BPDU报文--不接收用户的业务数据

工作原理--选举过程-宏观

生成树的状态---防止临时环路

=----伴随着选举过程 接口状态不断变化

工作原理--选举+接口状态的变化

Disable--生成树刚运行 还未初始化

blocking --生成树初始化,开始工作--选举根桥、选举RP/DP

↓  ---一旦被选为RP/DP

Listening--侦听状态,此时端口已经被选举为RP/DP

↓  --15s --forward delay

Learning--学习状态,此时开始学习mac地址

↓ --15s

Forwarding --转发状态,学习mac/转发用户数据

STP从初始化到完成收敛 至少需要30s(两个转发时延)

配置BPDU报文的发送

1.网络收敛前--为了选举,为了收敛

2.网络收敛后--只有根桥以2s的周期发送BPDU--维护网络状态

TCN BPDU--拓扑改变通知报文

变更点向外发送TCN 报文

拓扑变化

1.根桥故障(设备和链路物理状态UP)

 --- 需要20s+30s 的时间 网络才能恢复正常

a.s1根桥故障,停止发送BPDU报文

b.S2/3收到的S1的配置BPDU都老化(20s),意识到根桥故障

c.S2和S3互相发送配置BPDU,要求重新选举根桥,RP,DP --30s

2.直连链路故障

场景--交换机有阻塞端口,此时RP端口故障的场景 ---2号链路故障

a.S3感知到E1故障,重新选举RP口

b.ap--rp--forwarding--30s

30s网络恢复正常

3.非直连链路故障

场景--交换机没有阻塞端口,此时RP故障的场景--S2的1号链路故障

a.S2感知到E1-RP口故障--发送配置的BPDU(根桥S2)给S3要求重新选举根桥

b.s3能从RP-e1口收到更优的BPDU(根桥s1),所以忽略a步的报文

c.s3的ap口收到的以S1为根的BPDU老化,意识到上游网络有变

d.S3将收到的S1为根的BPDU报文,转发给S2--角色变换 S2-E2--AP--DP

e.s2收到更优的BPDU(S1),转换端口角色 S2-E2-DP-RP

  端口角色转变--需要30s(blocking--forwarding)

需要20s+30s网络恢复正常

拓扑改变会导致mac表错误

解决方法

TCN--拓扑改变通知报文

TCA位 --对TCN的确认

TC位--由根桥发出,通知其他交换机清空mac地址表

机制

变更点发送TCN--上游响应TCA;往根桥的方向继续发送TCN--根桥泛洪TC报文

效率低下,机制复杂

配置注意点

1.规划根桥的位置

  a.调整优先级

  b.手工强制指定某台设备作为根桥

2.规划阻塞端口的位置

a.修改cost值实现

b.接口优先级

思路

1.启动stp   //stp enable   默认开启,运行的是mstp

2.修改版本 //stp mode stp

3.确定根桥  //stp root primary --强制指定根桥     //stp pri xxx  --修改优先级

4.关注阻塞端口 位置是否合适   //stp cost xx   (接口下:)stp pri xx

5.验证     dis stp bri   查看接口状态

rstp对stp的改进

Stp--收敛时间 30s-50s

Rstp--快速生成树

采用了新的收敛算法P/A算法--秒级

1.状态

Stp--disable/blocking/listening/learning/forwarding

前三个状态--不学习 不转发

rstp的优化

将stp的前三个状态合成一个--discarding--learning-forwarding

2.端口角色的变化

Stp --DP RP AP

RSTP --新增了BP作为DP的备份  AP作为RP口的备份

          新增了边缘端口--EP

---连接终端的接口可以配置为EP端口

特点

1.一旦UP 不经历时延 就可以进入转发状态

2.UP/down不触发TC报文

3.收到TC报文不处理(不删除EP接口对应的MAC地址表)

4.不能收到BPDU报文,一旦接收,就丧失边缘端口的属性,变成一个普通的生成树端口,参与到生成树的运算中来

3.配置BPDU发送机制变化

stp:收敛前--所有设备都发送

        收敛后--只有root 以2s周期发送

rstp:收敛前/后--所有设备都发送

4.bpdu报文变化

Stp--类型--配置BPDU;TCN置位的BPDU

Rstp--类型--配置BPDU   去掉TCN的BPDU

5.拓扑处理机制

拓扑改变会导致mac表的错误

Stp ---变更点TCN--上游响应TCA;继续往根桥的方向发送TCN--根桥收到TCN,泛洪TC

Rstp--变更点泛洪TC

stp、Rstp ---都属于单生成树

单生成树的弊端

1.部分vlan路径不通

2.无法实现负载分担

3.次优的二层路径

MSTP--多生成树

RSTP

stp的不足

一、端口状态

Stp--disable/blocking/listening/learning/forwarding

前三个状态--不学习 不转发

rstp的优化

将stp的前三个状态合成一个--discarding--learning-forwarding

二、防环的实现

STP--采用被动等待计时器超时的方式来防止环路

DP/RP--从blocking切换至listening状态

                                         ↓    -停留15s --确定AP端口角色

                                       learning

                                          ↓   -停留15s--学习mac地址

                                       forwarding

-----STP从初始化到完成收敛至少需要 30s

RSTP--采用P/A机制来防止环路

           RSTP从初始化到完成收敛在秒级内完成

三、端口角色

STP的端口角色--RP-DP-AP

RSTP的优化

--新增了AP/BP

     AP--RP的备份

     BP--DP的备份

--新增了EP端口--边缘端口

---连接终端的接口可以配置为EP端口

特点

1.一旦UP 不经历时延 就可以进入转发状态

2.UP/down不触发TC报文

3.收到TC报文不处理(不删除EP接口对应的MAC地址表)

4.不能收到BPDU报文,一旦接收,就丧失边缘端口的属性,变成一个普通的生成树端口,参与到生成树的运算中来

四、拓扑变更

STP

场景一:根桥故障

20s+30s---50s网络恢复正常转发

场景二:直连链路故障----交换机有阻塞端口,此时RP端口故障的场景

30s      RP故障,设备重新在剩余的接口中选出一个新的RP,新的RP--进入for 需要30s

场景三:非直连链路故障---交换机没有阻塞端口,此时RP端口故障的场景

20s+30s

a.S2感知到E1-RP口故障--发送配置的BPDU(根桥S2)给S3要求重新选举根桥

b.s3能从RP-e1口收到更优的BPDU(根桥s1),所以忽略a步的报文

c.s3的ap口收到的以S1为根的BPDU老化,意识到上游网络有变

d.S3将收到的S1为根的BPDU报文,转发给S2--角色变换 S2-E2--AP--DP

e.s2收到更优的BPDU(S1),转换端口角色 S2-E2-DP-RP

  端口角色转变--需要30s(blocking--forwarding)

---问题的存在:S3收到次优的BPDU,忽略

RSTP

场景一:根桥故障

   情况一:根桥直接down  --其他设备直接感知--重新收敛--秒级内

   情况二:根桥故障-设备没有down--链路没有down--其他设备3*Hello时间内没有收到根桥的BPDU,认为根桥故障,重新收敛--6S

场景二:直连链路故障----交换机有阻塞端口,此时RP端口故障的场景

 秒级内    RP故障,AP口转换为RP口,P/A--进入for

场景三:非直连链路故障---交换机没有阻塞端口,此时RP端口故障的场景

秒级内

--优化:RSTP收到次优的BPDU,转发更优的BPDU给设备

五、拓扑变更的处理机制

STP

变更点发送TCN---上游响应TCA;继续往根桥方向发送TCN---根桥泛洪TC--通知其他交换机清空MAC地址表

--机制复杂,效率低下

RSTP的优化

变更点泛洪TC--其他交换机收到TC报文,清除MAC地址表(除EP和收到TC报文的端口)

六、配置BPDU的变化

STP --FLAG位 8bit   最高位TCA  最低位TC

RSTP

七、配置BPDU的处理

1、配置BPDU的发送

STP

收敛前:所有设备都发送--为了选举,为了收敛

收敛后:只有根桥以2s的周期发送BPDU --维护网络状态

2.配置BPDU的超时

固定 --20s

3.次优BPDU的处理方式

--忽略

RSTP

1.配置的BPDU的发送

收敛前:所有设备都发送--为了选举,为了收敛

收敛后:所有设备都以2s的周末发送BPDU

2.配置BPDU的超时时间

--20s

更短的BPDU超时时间

--3*hello时间--没有收到上游发送的hello报文,认为上游设备故障

3.次优BPDU的处理

--转发更优的BPDU给邻居

RSTP的快速收敛机制

1.端口快速切换

DP--BP    RP--AP

2.EP

3.P/A机制

---p --请求转发

---同步----

---A--同意转发

Pro--同步--agr  ----主动防环--快速收敛

八、RSTP的新增保护功能

1.BPDU保护

--跟EP端口有关

没有配置BPDU保护

EP端口收到BPDU --丧失边缘端口属性,变化一个普通的rstp的端口,参与到生成树运算中来---可能会造成网络的震荡(可能是恶意换成交换机)

配置BPDU保护

EP端口收到BPDU--边缘端口的属性,接口直接被error-down,并发出告警。默认只有管理员手动恢复

2.根保护

3.环路保护

4.TC-bpdu保护

配置

思路

1.启动stp   //stp enable   默认开启,运行的是mstp

2.修改版本 //stp mode Rstp

3.确定根桥  //stp root primary --强制指定根桥     //stp pri xxx  --修改优先级

4.关注阻塞端口 位置是否合适   //stp cost xx   (接口下:)stp pri xx

5.配置边缘端口  //接口下  stp edge-port enable

6.配置保护功能

7.验证     dis stp bri   查看接口状态

MSTP协议

STP 和RSTP都属于单生成树

基本概念

1.域

2.生成树实例

3.cst

4.ist

5.cist

Cst+IST

6.SST 单生成树

7.

8.端口角色

  • 26
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酒窝大大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值