STP和RSTP详细笔记

STP详细笔记

脑图

一、由于二层网络冗余带来环路存在以下三个问题:

1、广播风暴。由于交换机转发BUM报文机制导致的;数据帧没有防环机制,导致环路无法消除。

B:boradcast

U:未知MAC单播帧

M:组播

以下拓扑没有运行生成树协议。CE1的5口收到PC1的广播,会把数据帧从CE1的1口和2口泛洪出去, CE2收到后又从3口4口泛洪回去,形成了广播风暴。转发的时候是根据目的MAC转发的,数据帧本身没有防环机制。

 

 

2、MAC地址表震荡

生成错误的MAC地址表项,导致转发出现错误。

在同一个交换机的同一个Vlan的不同的端口上不能学习到同一个MAC地址。

 

MAC地址震荡:交换机转发数据帧需要学习数据帧的源MAC。当5口收到PC1的数据帧,将学习到PC1的MAC地址,

由于广播风暴2口也会学习到PC1的数据帧,反向1口一样。交换机学习MAC的机制是接口后学习到的MAC地址会把之前学习到的MAC地址覆盖掉。

某一时刻,PC2需要访问PC1。由于广播风暴的原因,PC1的MAC在CE1的2口学习到,而不是5口转发出去,导致转发错误。

 

3、重复数据帧的拷贝

如果存在大量的广播帧,导致网络性能下降甚至不可用,终端设备也会消耗大量的CPU资源处理广播。

当CE1的5口收到广播数据帧,会从1口和2口泛洪出去,CE2的3口收到后又会从6口和4口泛洪出去,4口同理,从而会导致大量的数据帧拷贝,对应PC来说,收到广播后,需要进一步处理,才会决定这个数据帧会不会处理,从而耗费CPU。

 

生成树通过逻辑的阻塞一个端口打破环路。

二、STP选举规则

在一个广播域中有且仅有一个根桥。

STP选举规则:

  1. 选举一个根桥;
  2. 每个非根交换机选举一个根端口
  3. 每一条链路选举一个指定端口
  4. 阻塞非根和非指定端口。AP(备份端口,华为特有。普通的为BP端口)端口。

STP协议的所有角色都是通过BPDU的参数来选举的。

STP定义每个交换机都有一个BID来标识自己。

BID=优先级+MAC

优先级取值范围:

优先级默认值32768

1、0-65535

2、0-61440华为采用0-61440,但是优先级取值必须是4096的倍数。

端口角色:

ROOT桥:发送最优的BPDU。

RP(根端口):非根桥接收最优BPDU的端口。

DP(指定端口):链路上发送最优BPDU的端口。

AP(备用端口):既不是RP也不是DP,被阻塞。

 什么是最优的BPDU?

  1. 比较RID越小越优。
  2. 如果RID相同,则比较RPC路径和,越小越优。
  3. 如果RPC路径相同,则比较BID,越小越优。
  4. 如果PID相同,则比较自身PID(特殊场景)

 

BPDU中4个选举参数:

RID:根桥的BID。

RPC:对于根桥来说RPC永远等于0;

      对于非根桥来说RPC是自己到根桥的路径开销之和。

BID:交换机自身的BID;

PID:由端口优先级+端口ID组成优先级的取值为0-240,默认128,只能取16的倍数。报文中用16进制表示。

选举算法:

  1. rootID最小为根桥。
  2. 非根桥收到最优BPDU的端口是RP.
  3. 根据RP计算DP的BPDU参数,如果比指定端口本身的BPDU参数优,则该端口为DP端口,如果没有比指定端口本身的BPDU优,则为AP。

在稳定的STP网络中端口状态有两种:discasrding(AP),forwarding(RP、DP)

开销标准有三种:dot1d-1998;dot1t;legacy;

STP的五种状态:Forwarding、Learning、Listening、Blocking、Disable。

STP故障:

RP失效,存在AP时,网络需要30S恢复连接。

RP失效,不存在AP时,网络需要50S恢复连接

ROOT失效,重新选举根桥,网络需要50S恢复连接。

 

三、STP协议对于MAC地址表刷新机制:

         主机A和主机B正常互访路径为SB—>SA—>SC,交换机会学习数据帧的源MAC地址,SB的3口会学习到主机A 的MAC地址,SB的1口会学习主机B的MAC地址;SC的2口会学习主机B的MAC地址,1口会学习主机A的MAC地址。SA的2口会学习主机B的MAC地址,1口会学习到主机A的MAC地址。

   当SC的一口down掉后,C1口和A2口的MAC地址会被清除,生成树的收敛最长50S就会完成,而MAC地址表老化时间为300S,就会出现SB发往主机B的数据帧,会从1口转发出去,导致传输故障。

 

当交换机收到TC  BPDU后将自身所有接口(EP端口除外)的MAC地址表的老化时间强制设置为15S.

TC  BPDU会持续由根桥发送35S时间

注:边缘端口标准的STP不支持的,但是华为的STP协议支持边缘端口设置。

何时STP算拓扑发生变化

STP协议最早从任何端口进入到forwading状态或进入disable状态时,认为STP拓扑发生变化。

STP对拓扑发生变化的定义做出了优化:1、当端口进入到forading状态认为拓扑发生变化,DP端口进入disable状态不认为拓扑发生变化。2、RP失效会认为拓扑发生变化。3、DP端口失效不认为拓扑发生变化。

TC置位的BPDU,会导致不停的泛洪,影响MAC地址的稳定,严重影响网络性能。

边缘端口可以减少上网的等待时间和避免不必要TC发送。

华为 VBST 实现和友商pvstp兼容。

 

标准STP由根桥发送配置BPDU,非根桥不能主动发送。华为的STP根桥发送BPDU,非根桥也可以主动发送;收到次级BPDU立即老化,支持EP端口。

 

转发延时:决定了监听状态和学习状态所需的时间;

收到TC BPDU后MAC地址老化时间。

修改计时器只需要在STP根桥上修改。

为什么在监听和学习状态需要forward delay的等待时间?

侦听状态:

如图S6的优先级为4096,它为根桥。我们将S4的优先级改为0,S4以自己为根发送BPDU可以很快的让S5的1口由AP变为RP,如果不需要等待30S的延时,就进入forward状态,新的AP端口还没选举出来,会产生瞬时的环路。在STP选举过程中如果BPDU没有传递到整个网络,传递过程中部分路径过早的进入转发状态,就会产生临时网路。每两秒发送一次,15秒的延时可以在直径7台SW的网络中传播。让BPDU有足够时间在整个网络传播。

学习状态:

学习数据帧的源MAC地址,监听状态期间,MAC地址表受TC BPDU的影响,会进行提前老化,清除错误的MAC地址信息,导致错误的MAC地址老化也导致闲置MAC地址老化,如果此时要转发数据帧,就会导致大量目的MAC的未知单播帧的泛洪,影响网络性能,那么我们继续牺牲15S收敛时间,设计出学习状态能让交换机在此期间重新构建正确的MAC表项,减少单播帧在STP收敛期间导致的泛洪行为。

 

   STP收敛完全是基于计时器完成的,收敛速度慢,为了解决临时环路和收敛期间的单播泛洪,需要等待30S。

   STP是单生成树,在存在多个VLAN时,所有VLAN共享一棵树,导致链路利用率不高,访问路径存在次优。不合适的trunk配置导致部分vlan不通。

RSTP

RSTP相对于STP做了哪些改进?

1、配置BPDU的处理发生了变化;

      拓扑稳定后BPDU的发送方式,根桥按照Hello Time规定时间间隔发送配置BPDU。非根桥只有收到上游发送的配置BPDU,才会出发发出配置BPDU,这样让STP计算复杂缓慢。RSTP对此进行改进,无论非根桥是否接受到根桥发送的BPDU,非根桥仍然按照Hello  Time规定的时间发送配置BPDU,此行为完全由每台设备自主决定。

2、更短的BPDU超时计时

如果一个端口超时时间(Hello Time*3*Time Factor[时间因子;默认3S])内没有收到上游设备发送过来的配置BPDU,那么该设备认为和此邻居协商失败,不像STP那样需要等待一个Max Age。

3、处理次优BPDU

       当一个端口收到上游桥发送的配置BPDU,该端口会将自身存储的BPDU与收到的BPDU进行比较。

 如果该端口的BPDU优于收到的BPDU,那么该端口会直接丢弃收到的BPDU,立即回复自身存储的RST BPDU,上游设备收到BPDU后会立即更新自身存储的BPDU。

快速收敛Proposal/Agreement机制

作用:P/A是在点到点全双工的链路上让DP和RP快速进入转发状态,同时不会产生临时环路。

条件:DP端口处于discarding状态;点到点全双工链路;DP端口的对端为RP端口;

过程:DP端口处于discarding状态时,发送(P=1,A=1)的BPDU报文;

          RP收到DP的(P=1,A=1)的BPDU后,会进行同步置位。 同步置位:discarding所有非边缘端口;AP端口由于不会引入额外的环路,默认认为已经同步置位。

          同步置位完成后,RP发送(P=0 A=1BPDU)并将端口置为转发状态。

         上游DP收到RP的(P=0,A=1)BPDU后,认为下游的RP已经处于无环拓扑并转发状态,于是自己将端口状态立即过渡到转发。

 

 

 

 

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值