STP生成树协议

STP生成树协议

一、   为什么要使用STP?

网桥在连接各个设备时易形成环路,二层环路最大的危害就是广播风暴。每个网桥在接收到广播报文时,都会向除接收端口以外的其它端口发送广播包。网桥并不能识别广播包是否是自己发出的,一旦环境中存在环路会产生以下几种问题:

1. 形成广播风暴: 数据报在环路在不断的被广播转发形成广播风暴。

2. 多重复帧复制: 交换机在接受到不确定单播帧时,将执行泛洪操作,这意味着,在环路中一个单播帧在传输中被复制为多个复本。

3. MAC地址表不稳定: 如果交换机在不同的端口收到同一个帧,它的MAC数据库将会变得不稳定。

STP生成树协议是一个基于802.1D中定义的一个应用于网桥的协议,这个协议定义了一组规则来探知拓扑中是否存在环路,如果有,FTP就会在环路中选择一个合适的位置来阻断端口,从而消除回路中的广播风暴。

二、  STP原理

选举步骤:

1.选择根网桥

选择根网桥的依据是网桥ID,由优先级和MAC地址组成,先看优先级,优先级相同时再看MAC地址,值越小越优先选择。选择网络中桥ID最小的作为根桥ID,每个桥一开始都把自己当作根桥,然后通过BPDU(网桥协议数据单元)和邻居交换拓扑信息,如果自己的桥ID还是小,继续作为根桥,如果大,把邻居当作自己的根桥。直至所有网桥的根桥ID一致。

2.选择根端口

每一个非根网桥将从其接口选出一个到根网桥路径花销最低的接口作为根端口,选择的依据是

(1)自身到达根网桥的根路径成本最低的接口。

根路径成本的计算是,接口收到BPDU中所包含的成本与接口的成本的累加。

(2)最低发送者的桥ID

(3)发送者端口ID最小

3.选择指定端口

在每一个网段中选择一个指定端口用来接收和转发报文,指定端口的选择依据:

 (1)发送最低根路径成本的BPDU的接口

(2)最低发送者的桥ID

  (3)发送者端口ID最小

4、阻塞非指定端口

   除了根端口和指定端口,其余的即为非指定端口,将这些端口阻塞

1、            BPDU报文格式

配置BPDU报文

Protocol   Identifier 协议标识字段

 默认值0x0000

TCN BPDU 只有这三个字段。

协议版本

 0x00

BPDU Type

 配置BPDU:0x00

 TCN BPDU : 0x80

Flags

 TCA置1:拓扑变化确认

 TC置1:拓扑变化通知

Root id 根桥ID

8个字节:2个字节优先级+6个字节mac

Root Path cost

到根桥的路径花销,会进行累加,每一个端口在收到BPDU报文后,累加上自己的端口花销后转发出去

用于在端口选举时进行优先级比较

桥ID

2字节优先级(默认32768)+6字节mac

端口ID

1字节优先级(默认0x80)+1端口号

Message Age

衡量当前网桥收到的BPDU报文在网络中的传播时间,根桥发送的BPDU报文这个字段值设为0

从根桥发送到当前桥接收到BPDU的总时间,端口在接收到BPDU报文时会将自己处理的处理时间加到这个字段上再转发给下游网桥,下游网桥会根据接收到的BPDU报文的这个字段的值更新自己的Message Age。

若没有接收到新的BPDU报文,每隔1s message age加1.

Max age

配合Message age,当message age超过max age时,网桥认为拓扑发生了变化,向根桥发送TCN报文。

Hello time

默认2s,根桥会每隔2s向下游网桥发送BPDU报文。

Forward delay

 默认15s,端口状态

listening向learning

 Learning向forwarding状态变化所要经过的时间

2、            端口状态

Data

学习mac

参与生成树

接收BPDU

发送BPDU

Disable

×

×

×

×

×

Blocking

×

×

×

×

×

Listening

×

×

Learning

Forwarding

2.1 为什么listening状态不学习mac?

   此时拓扑还没有收敛完成,各个端口的状态还不稳定,假如学习了mac后,一个端口由forwarding变为blocking状态,该端口无法发送数据包将会导致数据包的丢失。

2.2为什么要经过一个Learning的过程?

   减少因未知的单播导致产生的广播在网络内消耗额外的带宽。

3、            端口状态迁移

(1)被选举为根端口或指定端口(在拓扑收敛过程或者根端口和指定端口发生故障时被选举)。

(2)端口选举失败成为阻塞端口。

(3)经过一个Forward Delay的时间。

(4)端口down

 (5)端口Up

4、实验

4.1

SW1 : 4c1f.cc69.08b7

SW2:4c1f.cc73.50e3

SW3(根桥):4c1f.cc5a.6c80

SW4: 4c1f.ccbd.1e40

4.2

1、加一个LSW9的交换机与SW1和SW3连线

拓扑收敛完成后,mac表被清空。   

2、将LSW9的根桥优先级改为0。

LSW9将被选举为根桥,在拓扑收敛完成之前,SW1和SW3的mac表无变化。收敛完成后,mac表被清空。

3、去掉LSW9

重新计算拓扑,收敛完成后,所有交换机清空mac表。

结论:

拓扑发生变化时,在收敛完成之前,交换机的mac表不会被清空。
收敛完成后,整个拓扑的交换机都会清空mac表。
 

下一篇 RSTP    https://blog.youkuaiyun.com/weixin_40748006/article/details/80182011

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

新雪兰

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

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

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

打赏作者

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

抵扣说明:

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

余额充值