STP(Spanning Tree Protocol)——生成树协议

目录

一、STP基本介绍

1.背景

(1)广播风暴

(2)MAC地址表震荡

二、STP基础

1.桥角色

(1)基本介绍

(2)基本运行

(3)BID选举方法

2.端口角色

(1)根端口 root prot

(2)指定端口 designated port

(3)阻塞端口 alternate port

3.端口状态

(1)Disabled 禁止

  (2)Listenling 侦听

(3)Blocking 阻塞

(4)Learning 学习

(5)Forwarding 转发

4.5种端口状态之间的转换关系

三、STP BPDU

1.配置BPDU

(1)基本介绍:

 (2)注意

2.BPDU字段说明

协议ID:

协议版本:

BPDU类型:

标志:

根标识符:

根路径开销:

桥ID:

端口ID:

消息生存时间(BPDU Message Age):

最大生存时间(Max Age):

hello计时器(Hello Time):

转发延时(Forward Delay):

四、TCN BPDU

1.作用

2.三种BPDU

(1)拓扑变更通知BPDU(TCN PBDU)

(2)拓扑改变确认配置BPDU(TCA BPDU)

(3)拓扑改变配置BPDU (TC BPDU)


一、STP基本介绍

1.背景

交换机之间的冗余链路会形成二层环路,产生广播风暴,导致MAC表震荡,导致通信质量下降和通信业务终端。

(1)广播风暴

交换机如果从一个端口上接收到的是一个广播帧,或者是一个目的MAC地址未知的单播帧,则会将这个帧往除源端口之外的所有其他端口转发,俗称“泛洪”。此时,如果交换网络中有二层环路,则这种帧将被无限转发,形成广播风暴,使网络中充斥大量的这种重复的数据帧。

(2)MAC地址表震荡

交换机是根据所接收到的数据帧中的源MAC地址和接收端口生成MAC表项的。若存在环路,会造成MAC地址表震荡(不断变化),应为同一交换机上不同端口接收到相同数据帧后会造成所学习的MAC表项不断更新。

STP可以通过阻断冗余链路来消除网络中可能存在的环路,还能在活动路劲发声故障是,激活备份链路,及时恢复网络连通性。

二、STP基础

1.桥角色

(1)基本介绍

STP的桥(交换机)有两种:根桥(根交换机)和非根桥(非根交换机)。STP的最终目的就是要形成一个无环路的树形二层交换网络。树形结构必须要有一个树形根,于是有STP概念。

(2)基本运行

对于一个运行STP的网络,根桥在全网中有且只有一个,并且为在网络中具有最小桥ID(BID)的桥。网络中除根桥外的其他桥统称为非根桥,但是每个物理网段(共享的一段链路)会选举出一个指定桥(指定交换机),负责该物理网段的STP BPDU(网桥协议数据单元)和数据转发,毕竟一段链路有两端,具体由那一端的交换机负责数据转发,也需要确定。

(3)BID选举方法

STP中的每个交换机都有BID,BID由16位的桥优先级和48位的桥MAC地址构成,值越小优先级越高。STP中,取值范围是0-65535(必须是4096的倍数),也是值越小优先级越高,默认值为32768。桥MAC地址不能配置,且是全球唯一。

2.端口角色

(1)根端口 root prot

是所在交换机上离根交换机最近(根路径开销最小)得端口,处于转发状态,仅在非根桥上存在

(2)指定端口 designated port

对于非根交换机,它是向下游交换机转发来自根桥STP BPDU的端口,也是接受下游用户发送到上游交换机的数据的端口。在根交换机上,除了没有启用的端口,其他STP端口都是指定端口,在指定交换上,每个物理网段只有一个指定端口。

(3)阻塞端口 alternate port

该端口处于阻塞状态,接受STP BPDU,参与STP生成树的计算,但不能接受用户数据帧,也不发送BPDU和用户数据帧。

3.端口状态

(1)Disabled 禁止

不接受也不发送数据帧、BPDU,不学习MAC地址,不参与生成树计算,相当于没有启用

  (2)Listenling 侦听

不转发数据帧,不学习MAC地址表,参与生成树计算接受并且发送BPDU

(3)Blocking 阻塞

不转发数据帧不学习MAC地址表,接受BPDU,参与生成树计算,但不向外发送BPDU,仅对应alternate端口

(4)Learning 学习

不转发数据帧,但是学习MAC地址表,参与生成树计算接受并发送BPDU

(5)Forwarding 转发

正常接收转发数据帧,学习MAC地址表,参与生成树计算,接受并发送BPDU

4.5种端口状态之间的转换关系

(1)端口被选为根端口或者指定端口时,立即进入(无需等待)listening状态

(2)端口被选举为预备端口时,进入阻塞状态。

(3)端口由listening状态迁移到learing状态,或由learning状态迁移到forwading状态,其迁移等待的时间间隔默认为15秒

(4)端口被禁用链路失败,端口立即(无需等待)进入disable状

(5)端口初始化或使能时,由disable状态立即进入listening状态

注意:blocking、listening、learning、forwarding四种状态端口被禁用,或者对应的链路断开时都可以直接进入disable状态

           处于阻塞状态的端口,任然可以接收STP BPDU(不能接受数据帧)只是不能发送STP BPDU

三、STP BPDU

STP BPDU有两种类型:配置BPDU和TCN BPDU(拓扑更改通告)

1.配置BPDU

(1)基本介绍:

STP通过在交换机之间传递配置BPDU来选举根交换机,并确定每台交换机端口角色和状态,配置BPDU中包含了发送者BID、路径开销、根桥BID和PID等参数

STP配置BPDU时一种用于交换网络中交换参数信息、选举根桥、确定每台交换机端口的角色的消息。配置BPDU被封装在以太网数据帧部分

                                                           配置BPDU帧结构

 (2)注意

有些字段的取值是特定,不能改变,比如目的MAC地址字段,是一组任播MAC地址:01-80-C2-00-00-00,在LLC头部中的DSAP和SSAP,根据IEEE标准,STP的值均为0x42(IEEE802.1d协议类型),control为0x03

2.BPDU字段说明

协议ID

总是为0

协议版本

总是为0

BPDU类型

配置BPDU为0,TCN BPDU为0x80

标志

共8位,最低为=TC标志,最高位=TCA标志,在配置BPDU中,全部为0

根标识符

指当前根桥的BID

根路径开销

指从本设备发送该配置BPDU的端口到达根桥的总开销

桥ID

指发送该配置BPDU的交换机的BID(发送者BID),由2字节的桥优先级和6字节的MAC地址组成。网络拓扑稳定后,每台交换在收到根桥BPDU后,发送自己的配置BPDU时要以自己的BID设置本字段。

端口ID

由发送该配置BPDU的端口的优先级和ID组成。

消息生存时间(BPDU Message Age)

①指的时BPDU的生存时间,超过将被删除,不再转发,类似IP地址中的TTL字段。

②BPDU若来自根桥,message age为0,若是其他桥转发,message age是从根桥发送到当前根桥接收到BPDU时间的总和

③配置BPDU每经过一个桥,message age就增加1,到达设定的message age值后就不能向下游设备传输。

最大生存时间(Max Age):

又称为老化时间,默认时间为20秒,类似于路由协议中用于维护邻居关系的邻居失效计时器,超过了这个时间,则认为接口连接的邻居失效了,删除原来的配置BPDU。

hello计时器(Hello Time):

两个相邻配置BPDU发送的时间间隔,默认为2秒

转发延时(Forward Delay):

指控制listening和learning状态的持续时间,在拓扑结构改变后,交换机在发送数据包前维持在listening和learning状态的时间,默认为15秒

注意:在网络拓扑稳定之后,非交换机并不是不能发送配置BPDU,只是不能主动发送了,

           非根交换机并不是直接原封不动地转发来自根交换机,或上游交换机的配置BPDU,   二十会修改其中的一些参数,以作为发送者发送配置BPDU

四、TCN BPDU

1.作用

TCN BPDU 是下游交换机感知到拓扑变化发生变化时,向上游发送的拓扑变化通知,其实,在拓扑改变时所发送的BPDU不仅包括TCN BPDU,还包括TCA BPDU(拓扑更改确认)和TC BPDU(拓扑更改)

2.三种BPDU

(1)拓扑变更通知BPDU(TCN PBDU)

用于非根桥在根端口上向上游交换机通告拓扑改变信息,并且每隔hello time(2秒)发送一次,直到收到上游交换机的TCA BPDU或者TC BPDU。

(2)拓扑改变确认配置BPDU(TCA BPDU)

此BPDU flag字段最高位的TCA置1,普通的BPDU中的flag字段全部设置为0,TCA BPDU用于非根桥在接受到TCN BPDU的指定接口上向下游交换发送拓扑改变信息。

(3)拓扑改变配置BPDU (TC BPDU)

此配置BPDU flag字段中最低位的TC置1,用于根交换机向下游全网泛洪拓扑改变信息 ,通知修改MAC表项的老化时间为一个转发延时时间(默认15秒),所有下游交换机都在自己所有的指定端口上泛洪此BPDU。

TCN BPDU中的BPDU type字段值为0x80,TCA BPDU和TC BPDU 均为配置BPDU,故该字段仍为0x00。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

「已注销」

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

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

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

打赏作者

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

抵扣说明:

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

余额充值