8

OSI 二层技术之STP生成树协议

 1 year ago
source link: https://blog.51cto.com/u_13703746/5982911
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

OSI 二层技术之STP生成树协议

精选 原创

wx5ad1a51f5194a 2023-01-01 11:49:29 ©著作权

文章标签 生成树 优先级 置位 文章分类 路由交换 网络/安全 阅读数198

STP生成树协议 

作用:在二层网络中有链路备份的情况下可能存在网络环路,STP生成树协议就是为了破除这个环路

工作原理:

一、选择根桥

交换机启动时,每个交换机都认为自己是根桥,发送自己交换机设备的配置BPDU参数来选举根桥,主要通过BID来确认根桥。

BID=优先级+MAC地址

先比较优先级,越小越优,在比较MAC地址,越小越优。

二、在非根桥上选举根端口

确定了根交换机后,然后选举根端口,根端口是非根交换机接收最好的配置BPDU的端口。根交换机确定后,非根桥在所有端口中选举出一个最优的BPDU端口作为根端口。通过配置BPDU的四个参数来比较

Root ID  根桥的BID

RPC       到根交换机的距离

BID      发送配置BPDU的交换机的BID

PID     端口的优先级+端口编号

三、选举指定端口

在非根交换机上确定了根端口后,通过根端口计算出指定端口的参数,然后用算出来的参数去比较设备本身的指定端口参数,如果计算出来的优,那么该端口为指定端口,如果设备本身的指定端口优,那么该端口为AP端口。

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

四、确定端口状态

disable       关闭状态   端口物理层处于关闭或者shutdown,不处理任何数据。

blokning     阻塞状态  端口启用STP协议后进入到该状态,该状态下设备只接收处理配置BPDU,不发送任何数据,不学习MAC地址。

listning       监听状态  端口正在选举端口角色,该状态下设备接收处理配置BPDU,发送配置BPDU,不学习MAC地址,不转发用户数据。

learning       学习状态  端口认为自己是根端口或者指定端口的时候,该状态下,设备接收处理配置BPDU,发送配置BPDU,学习MAC地址,不转发用户数据。

forwarding    转发状态,该状态是最终状态, 接收处理配置BPDU,发送配置BPDU,学习MAC地址,转发用户数据。

在生成树中,只有blokning状态和forwarding状态是最终状态,代表最稳定。

五、当生成树出现问题。

1、当RP端口失效,且有AP端口的情况下,AP成为新的根端口。经过30S的转发延迟。

2、当RP端口失效,没有AP端口的情况下,DP成为新的根端口。经历50S的才能进入到转发状态。20S的端口配置BPDU的老化时间,30S的转发延迟。

3、当根桥失效,会重新选举根桥,需要50S才能恢复网络。

当DP变为RP时,状态从forwarding立即转变为discarding,在经历2个转发延迟,才进入到forwarding,所以至少需要30S

当交换机的端口角色发生变化时,MAC地址表固定的300S老化时间,导致在这段时间内 ,部分主机无法通信。所以STP改进了这个机制。拓扑变更通知简称TC泛洪。

拓扑变化的条件

1、所有端口进入到Forwarding状态,就会认为拓扑发生变化。

2、根端口失效或者恢复时,也会认为拓扑发生变化。

当拓扑发生变化时,MAC地址表如何老化?

1、当满足以上2个条件时,交换机则认为拓扑发生变化,沿着根端口发送,TCN BPDU,通知上游设备,

2、上游设备收到拓扑变更通知(TCN)后,会立即回复TAC确认消息,告诉下游设备收到了,下游设备立即停止发送TCN。上游设备会继续沿着根端口朝着根桥发送。

3、根桥收到会立即从所有的指定端口发送TC置位的BPDU。持续35S

4、非根交换机收到TC置为的BPDU后,将自己的MAC地址表项在15S内老化。

但是当主机连接到交换机时,交换机的端口forwarding了,会发生TCN拓扑变化通知,导致网络产生震荡。所以在STP,RSTP,MSTP的网络中,连接三层设备的接口都必须配置边缘端口。

边缘端口的好处:

1、配置边缘端口后,不发送TCN置位的BPDU,

2、配置边缘端口后,收到TC置位的BPDU,不老化MAC地址表

3、配置边缘端口后,端口从discarding状态立即变为Forwarding状态.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK