失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > STP/RSTP/MSTP 精华详解

STP/RSTP/MSTP 精华详解

时间:2024-01-30 18:26:59

相关推荐

STP/RSTP/MSTP 精华详解

STP/RSTP/MSTP 精华详解:

STP 概述 :

因为二层设备的互联,并因为交换机的转发原理,会导致物理环路的产生。这时就会使用到STP协议STP:在有环的拓扑里面形成一个无环的逻辑拓扑(从有环(物理)到无环(逻辑))STP:将环路网络修剪成一个无环的树形网络,通过生成树计算,阻塞某个接口,使得数据到达目的只有逻辑上的一条链路可以走,运行该协议的设备通过彼此交互BPDU来进行STP的计算。二层环路会带来的问题:广播风暴,MAC地址表偏移,MAC地址震荡。MAC地址漂移: 一个MAC映射一个接口,一个接口可以映射多个MAC。设备上一个从一个两个接口学习到两个MAC地址,后学习到MAC地址表项会覆盖原MAC表项的现象。如何防止:提高接口MAC地址学习优先级。不允许相同接口mac地址进行表项覆盖。

BPDU:

桥协议数据单元。

属于二层协议。用于在交换机与交换机之间发送,构建无环网络,

BID:BID一共8个字节,其中优先级2个字节,MAC地址6个字节,优先级又分为两部分组成,一个是优先级字段,一个是system id字段,system id实质就是vlan id,华为默认为0,所以设置优先级实质还是从高4位开始进行,高四位为2^12,为4096,所以优先级必须设置为4096的倍数。

Message age 如果是根桥发出的配置,那么值为0,否则为根桥发出到达当前桥接收BPDU的总时间,华为实现,每经过一个交换机,值加1

端口状态:

STP快速收敛会造成临时环路

STP因为没有快速收敛机制,所以要设计forwead delay的时间,等待所有设备BPDU报文交互的完成不然就会造成拓扑变更后,端口角色转换完成后快速进入转发状态,而莫端设备还没有收到TC置位的BPDU,造成网络中所有端口都处于转发状态,造成一个临时环路的产生,再比较自己的r-idDP对象:逐链路stp:慢,无冗余、

STP拓扑变更通知:

发送TCN BPDU必须满足一下任意条件: 必须有一个接口状态处于Forwarding。只有DP接口才处理TCN BPDU 当交换机有链路故障后,会像上游交换机发送TCN BPDU,上游交换机收到后,会回复一个TCA 置位的BPDU,用于告诉下游我已经收到了,并向上游逐跳发送,直至发送到根桥,根桥收到之后,会向下游发送TCA,TC同时置位的BPDU,然后朝其他接口发送TC置位的bpdu,所有运行STP的交换机均可以收到TC置位的BPDU。然后会立即重置自己的MAC地址表项。TC置位BPDU的发送时间为2s,不受hello time时间的影响周期为35s(Forward delay+Max age),会一直发送TC置位的BPDU,那么就会一直清空MAC地址表项,但是

RSTP 概述:

虽然有STP的独特的破环机制,但是端口进入转发状态的时间最少依旧还是等待30s的时间,很显然满足不了现在的业务需求,所以在STP的基础上,改良开发出了RSTP

STP/RSTP对比

RSTP端口状态:

由STP的五种端口装换为了三种端口,这是因为原先STP的前两个端口,都不能发送BPDU,所以就将两个直接替代了,是的三种端口合为了一种,端口状态数据少,以便于人工管理

RSTP新增属性:

EP端口,用于连接交换机。

BP端口,用于做DP的备份端口

AP端口,用于做RP的备份端口

报文 flags字段,8位全部占用:

边缘端口:

可以接收、发送BPDU,EP端口接入终端立即变为DP+Forwarding。EP端口收到BPDU后,会失去边缘端口特性。变为普通端口重新参与STP计算EP为什么会发送BPDU? 当两个EP端口自环了,EP端口收到了自己的BPDU,就会知道下面有环路产生发送BPDU来防止自环的产生。(BPDU 2s发送一次,所以BPDU会存在2s的临时环路,) 接口Up/Down.不会发送TC置位的BPDU.不会影响拓扑变更。TC BPDU不会向EP端口转发。收到TC BPDU、P/A置位BPDU时,不会清空EP端口的MAC地址表项,PA协商时会强制为sysc同步成功

边缘端口保护:

配置EP端口保护后,如果边缘端口收到BPDU报文,边缘端口会被down掉,边缘端口属性不变被关闭的端口默认不会自动恢复,需要执行命令手动恢复,或者重启端口,或者配置一个自动恢复的时间。

快速收敛:

P/A机制:

在交换机与交换机之间进行的,交换机认为自己是Root 接口想为DP,处于Discarding 状态,就发送P/A置位的BPDU双方都认为自己的Root,都会发送P/A置位的BPDU,双方通过比较优劣,劣势的一方,主动发起A置位的BPDU当链路类型为点到点,全双工,接口想为RP端口,处于Discarding状态,并进行P/A同步(sync),就会发送A置位的BPDU。P/A同步过程:将交换机除AP,EP,BP,端口以外的所有端口处于Discarding状态,当将A置位的BPDU,发送出去后,该端口立马进入Forwarding状态,当收到A置位的BPDU后,该端口立马进入Forwarding状态。P/A机制是当上游是DP端口,下游是RP端口是,才进行P/A机制,若下游是AP短裤,则不会产生A置位的BPDU进行回复,那么对端DP端口进入到转发状态,就需要等待两个Forward Delay的时间。什么时候端口才会认为自己是DP? 刚加入网络,认为自己是根桥 什么时候端口才会认为自己的RP? 通过比较BPDU后,发现别人的比较优。 什么时候端口才会认为自己是AP? 收到的BPDU,没有自身其优。 什么时候端口才会认为自己是BP? 收到自己发出的BPDU,但是比自己优。

AP端口特性:

当RP端口Down掉后,交换机会从多个AP端口中选择最优的AP端口替代成RP,AP会直接转换为RP,并立即进入转发状态。

BP端口特性:

若DP端口Down后,BP会立即转变成为RP状态,等待两个Forward Delay的时间进入转发状态若DP端口链路被阻塞,BP收不到了RP发送过来的BPDU,会等待hold time的超时时间(默认为18s),就认为DP挂掉了,BP会立即转变成为RP状态,等待两个Forward Delay的时间进入转发状态,总共为(18+30=48)

拓扑变更通知:

触发条件:交换机端口状态由Discarding状态转换为Forarading状态(说明就是有端口角色的切换),该接口Down会影响其他接口角色的切换,

交换机会跟除EP端口外所有端口启动 Tc While time,这个计时器是hello time的两倍,

在这个时间内,清空除EP端口外所有端口映射学习来的MAC地址,同时由端口发送RST BPDU,其中TC置位,一旦Tc While 计时器超时,就不再发送

交换机收到RST BPDU后,清空除接受端口,和EP端口以外的所有的MAC地址条目,

并开启Tc While time,继续朝着DP/RP端口进行转发。

优点:1.不用清空所有的MAC地址条目,保留了一些有效的,有效的避免了过多单播报文的泛洪

​ 2.以拓扑变化者为源,向外扩散TC置位的BPDU,不必到达根桥,节省了收敛时间。

华为实现:

华为实现:在收到比自己次优的BPDU时,会将自己的优的BPDU发给对方。这就不用等待Max Age的超时时间。华为实现:STP/MSTP/RSTP都只有三种状态,华为实现:STP只比RSTP少了一个快速收敛 P/A机制华为实现:设备有自己的超时时间,在超时时间内没有收到BPDU,就会重新进行生成树的计算,Max Age在华为交换机中的意义不大,超时时间为 hello time时间 x 3 x 时间因子(默认为3,取值1-10),默认位18s,最小为6s。华为实现,当收到TC置位的BPDU时,会将交换机的MAC清空,这样可以及时清除错误的MAC表项,但是TC置位的BPDU会持续发送35s,每2s发送一次。会发送大概17次,就会一直刷新交换机的MAC地址表项。同时会产生过多的单播泛洪报文。

MSTP概述:

STP/RSTP在交换机上有且仅有一个实例,所有vlan映射到一个实例上,RSTP虽然可以实现网络的快速收敛,但是仍然会出现闲置链路,没有达到负载均衡的目的MSTP可以自定义多个生成树实例,允许多个vlan映射到不同的实例 实现负载均衡,避免闲置链路实现冗余备份,各实例之间的单独进行RSTP计算的,互不影响不同的vlan流量根据不同的路径进行转发。

MSTP标识:

MST交换机使用MST configuration id来标识自己

MST configuration id包含三个参数:

区域名字(region name)修订级别 (region level)vlan和实例(instance)的映射。MSTP会将vlan与实例的映射关系进行hash计算。然后让BPDU进行携带,双方通过比较hash值来确定是不是属于同一实例。只有以上三种参数全部相同,才说明他们属于同一实例。

MSTP实例:

MSTI:用户自定义多生出实例

MSTP通过设置VLAN映射表(即VLAN和MSTI的对应关系表)把VLAN和MSTI联系起来

MSTI可以与一个或多个vlan对应。

各MSTI之间单独进行RSTP计算,互不干扰、

每个MSTI进行802.1W算法

每个端口在每个MSTI中的端口角色,状态,参数不一样

ISTl:默认实例0,他是特殊的MST实例缺省情况下,所有vlan都属于该实例。

CITI:MSTP 多域。MST实例仅出现在每个区域内,并不出现在区域间,如果把每一个区域看做是一台大的交换机,则连接这些交换机的树被称为CSI,

每个区域中的IST和区域间的CST一起构成CIST

STP保护技术:

BPDU保护:

EP端口如果收到BPDU后,会丧失特性,那么如果有人恶意的跟EP端口发送BPDU。是EP端口丧失特性

使用在EP端口上,EP端口如果收到BPDU后,不会使其失去边缘端口特性,而是直接关闭,需要手动开启,或者手动配置自动恢复的时间,

根保护:

如果在现有的拓扑中,新加入一各交换机,并恶意的将优先级设置最低,使之网络受到优先级更高的BPDU,从而引起网络拓扑错误变更,会导致原来应该通过高速链路转发的数据朝着低速链路进行转发,造成网络拥塞

启用ROOT保护的RP端口,端口角色一致保持在RP端口。如果指定端口收到优先级更高的报文,端口进入Discarding状态,不在转发BPDU,在经过两倍的Forwrad delay时间后,如果端口一直没有收到更优的BPDU,则自动恢复到正常的Forwarding状态。

环路保护:

在AP和DP相连的全双工链路上,如果单方向链路故障的话,会造成AP收不到DP发送过来的BPDU,认为DP失效,自己切换状态为DP,并等待两个Forward delay的时间进入转发状态,那么就会造成网络环路。配置环路保护后,如果AP/RP端口长时间没有收到BPDU,则向网关发出通知消息,如果是根端口则进入Discarding状态,如果是AP端口进入阻塞状态,不转发报文,从而不会形成环路,直到收到BPDU,才会进入Fowarding状态。

TC保护:

交换设备在收到TC置位的BPDU时,会清除MAC地址表项,那么如果网络中有伪造的TC置位的BPDU频繁发送,那么MAC地址就会一直被清空,导致有过多的单播泛洪报文,直至广播风暴。配置TC保护后,可以设置在接收TC置位的BPDU后多少秒内进行清空MAC地址表项,还可以设置接收的最大阈值,超过阈值就不在接收。

BPDU过滤:

因为EP端口不参与STP计算,但是仍然会发送BPDU报文,这些BPDU可能会发送到其他网络,造成网络震荡,配置BPDU过滤可以使端口不发不收BPDU,过滤BPDU报文,但是这样会结局不掉两个EP端口互联的环路问题,所以这个要慎用。

如果觉得《STP/RSTP/MSTP 精华详解》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
STP和RSTP MSTP

STP和RSTP MSTP

2021-10-18

STP RSTP MSTP协议

STP RSTP MSTP协议

2022-01-17

STP/RSTP/MSTP协议简介

STP/RSTP/MSTP协议简介

2021-04-14

stp rstp pvst mstp

stp rstp pvst mstp

2021-12-28