STP(spanning tree protocol)生成树协议,一种最最常用的二层破环技术。

RSTP(rapid spanning Tree Protocol ):快速生成树协议,可看做STP的进阶版本。

【菜鸡常见网络问题汇总】之:STP与RSTP的区别-LMLPHP

在以太网交换网中部署STP,如果出环,STP通过拓扑计算,可实现:消除环路,通过阻塞冗余链路消除可能存在的网络通信环路;链路备份,当前活动的路径发生故障是,集火冗余备份链路,回复网络连通性。

日常网络工作中,一般听到的STP,其实是指RSTP/MSTP了,今天就跟大家简要介绍下STP与RSTP之间的区别。

一、STP的缺点

1、stp没有河里的区分端口状态和端口角色,不利于初学者学习部署。

从用户角度看,listening、learning和blocking状态并没有区别,都同样不转发用户流量。从使用和配置角度来讲,端口间最本质的区别并不在端口状态,而是端口角色。而stp对端口角色划分的不够细

2、stp算法是被动算法,依赖定时器等待的方式判断拓扑变化,收敛慢

3、stp算法要求在稳定的拓扑中,根桥主动发送配置bpdu报文,而其他设备进行转发,传遍整个stp网络。

二、stp的计算过程

1、选根桥

2、在每个非根交换机选举一个根端口即RP

3、每个链路选一个指定端口DP

STP选根的四个比较原则

1、root bid 桥id

2、rpc (root path cost) 到根桥的开销

3、发送者桥id

4、发送者端口id

三、STP与RSTP的区别

一、端口角色不同

stp:RP、DP、阻塞端口(blocking port)

rstp:RP、DP、AP、BP(backup port)

RP:root port 只在非根交换机上存在,并且每台交换机只有一个,用于接收从根桥下发的bpdu,维持STP的状态,改接口最终会进入转发状态。

DP:指定端口 每条交换机之间的网段链路都会选举一个,用于发送或转发根桥的BPDU。该端口最终会进入转发状态。

BP:阻塞端口,没被选举为RP和DP的端口会被阻塞,该端口用于破二层环及备份使用,最终会阻塞。

二、端口状态不同

stp具有5个端口状态:forwarding  learning  listening  blocking  disabled

1、forwarding:端口转发用户流量和bpdu报文,只有rp和dp才能进入forwarding状态

2、learning: 设备会根据收到的用户流量构建mac地址表,但不转发用户流量,过渡状态,为了防止临时环路

3、listening:确定端口角色,将选举出根桥、rp、dp 。 过渡状态

4、blocking: 端口仅仅接受并处理bpdu,不转发用户流量,阻塞端口的最终状态

5、disabled:不转发bpdu和用户流量,端口状态为down

rstp只具有3个端口状态:forwarding  learning discarding

1、forwarding 同STP

2、learning 同STP

3、discarding 只接受bpdu报文

三、flag位不同,flag位的8bit,stp只用1和8 ,RSTP用8个

1、TCN

2、A用于PA机制

3、4、端口状态

5、6、端口角色

7、P用于PA机制

8、TC

四、RSTP具有4个特殊的保护机制,而STP没有

1、bpdu保护

在交换设备上,通常将直接与用户终端或文件服务器等非交换设备相连的端口设置成边缘端口。正常不会受到rst bpdu。如果有人伪造恶意攻击交换设备,当边缘端口受到bpdu时,会自动设置成非边缘端口并重新计算生成树,引起网络震荡。启用bpdu保护后,受到bpdu直接error-down,但边缘端口属性不变,同时通知网关系统。

命令:全局下配置

stp bpdu-protection。仅对ep端口生效

2、根保护

由于错误配置或恶意攻击,合法根桥收到更优的bpdu,失去根地位,引起网络top错误变动。导致高速链路的流量被牵引到低俗链路上,造成网络堵塞。

设置根保护的dp,角色只能是dp,收到更优的bpdu,端口进入discarding,不再转发报文。经过一段时间(一般为两倍的forward delay),没收到更优,则恢复forwarding。

命令:根端口下配置

收到更优bpdu接口进入discarding状态(30S 两位delay),此后没收到片bpdu回复fowarding

stp root-protection

3、环路保护

根端口和其他阻塞端口状态是依靠不断接受来自上游交换设备的RST bpdu维持的。当链路拥塞,单项链路故障导致接收不到bpdu时。会重新选择rp,原先的rp变成dp,而原先的阻塞端口会迁移到转发,在成交换网络中存在环路。

超时时间,hello time * 3 *timer factor =18s

配置:接口下(RP或AP) stp loop-protection

4、tc保护

交换机收到tc bpdu后,会执行mac地址表和arp地址表的删除操作,如果有恶意tc攻击,短时间内会收到很多tc,频繁删除会对交换机造成很大的负担,给网络带来大隐患。

启用tc保护后,在单位时间内,交换机处理tc的次数可配置,如果收到的tc大于阈值。只处理阈值指定次数,其他在到期后统一处理,以此来保护设备

开启tc保护,一定时间间隔内只处理固定次数的tc报文,默认间隔2S,默认次数1.超次的在定时器到期后统一处理一次

TC报文会刷新arp表

五、RSTP具有边缘端口,而STP没有

1、接入设备进入forwarding状态,避免30s延迟,直接转发

2、边缘端口UP时,不产生TC

3、生成树top变化时,不进入阻塞

4、收到tc不刷新mac地址表

5、不想边缘端口转发tc

6、收到bpdu变为普通端口

六、RSTP具有P/A机制,而STP没有

proposal/agreement机制,使一个DP快速进入forwarding。

P/A机制要求两台switch之间的链路必须点对点的全双工,一旦P/A协商失败,DP的选择需要等待两个forward delay,与STP一致。

七、RSTP具有根端口快速切换能力,而STP没有

rp端口down后,ap立马切换成rp,如果有多个ap,会选择pid小的。

八、tc处理机制不同

stp:发tcn给根桥,根桥发tc

rstp:变更点交换机直接发tc(更快)

九、超时计时器更短(华为为例)

stp:hello 2S  max=age 20S  forward delay 15S

rstp:hello 2S   maxage:3倍的hello*华为时间因子3,也就是18S

如果觉得对您有用,还望给个赞,您的赞是我持续写作的动力!也欢迎私信交流

01-18 13:08