STP报文格式与端口状态

1.STP交换机通过交换STP协议帧来建立和维护STP树,并在网络的物理拓扑发生变化时重新建立STP树。

2.STP协议帧由STP交换机产生,发送、接收和处理。STP协议帧是一种组播帧,组播地址是01-80-c2-00-00-00

3.STP协议帧采用IEEE 802.3封装格式,其载荷数据被称为BPDUBPDU由两种类型:(1)Configuration BPDU(2)TCN BPDU

一。Configuration BPDU

初始形成STP树的过程中,各STP交换机都会周期性的主动产生和发送Configuration BPDU。在STP树形成后,只有根桥才会周期性的主动产生和发送Configuration BPDU;相应的,非根交换机会从自己的根端口周期性的接收到Configuration BPDU,并被立即触发而产生自己的Configuration BPDU,同时从自己的指定端口发送出去。

字段字节数说明
Protocol Identifier20x0000
Protocol Version Identifier10x00
BPDU Type1BPDU类型:(1)0x00:Configuration BPDU;   (2)0x80:TCN BPDU
Flags1

网络拓扑变化标志:仅使用最低位和最高位

最低位为TC(Topology Change)标志;

最高位为TCA(TC Acknoeledement)标志。

Root Identifier8当前根桥的BID
Root Path Cost4发送该BPDU的端口的RPC
Bridge Identifier8发送该BPDU的交换机的BID
Port Identifier2发送该BPDU的端口的PID
Message Age2

该BPDU消息的年龄:

如果Configuration BPDU是根桥发出的,则Message Age为0.否则,Message Age是从根桥发送到当前根桥接收到BPDU的总时间,包括传输延时等。在实际的实现中Configuration BPDU每“经过”一个桥,Message Age增加1。

Max Age2BPDU的最大生命周期,缺省值是20s.
Hello Time2根桥发送Configuration BPDU的周期,也相应地成为其他交换机发送的Configuration BPDU周期,缺省值为2s
Forword Delay2控制端口Listening和Learning状态的持续时间,缺省为15s。

Configuration BPDU中携带的参数类型有三种:

(1)BPDU对自身的标识,包括协议标识、版本号、BPDU类型和Flags;

(2)用于进行STP计算的参数,包括发送该BPDU的交换机的BID、当前根桥的BID、发送该BPDU的端口的PID、发送该BPDU的端口的RPC;

(3)时间参数,包括Hello Time、Forward Delay、Message Age、Max Age。

Hello Time:交换机发送Configuration BPDU的时间间隔。当网络拓扑和STP树稳定后,全局的网络使用根桥指定的Hello Time。要修改该时间参数的话,则需要在根桥上修改才有效

Forward Delay:端口状态的延迟时间。Forward Delay机制:新选出的根端口和指定端口需要经过2倍的转发延时(Forward Delay)后才能进入到用户数据帧的转发状态,以保证此时的工作链路上没有环路。

Message Age:指从根桥发出某个Configuration BPDU,直到这个Configuration BPDU“传”到当前交换机所需要的总时间,包含传输延时等。Configuration BPDU每经过一个桥,Message Age便会增加1.从根桥发出的Configuration BPDU的Message Age为0。

Max Age:Configuration BPDU的最大生命周期。该值由根桥指定,缺省值为20s。STP交换机在收到Configuration BPDU后,会对其中的Message Age和Max Age进行比较。如果Message Age小于等于Max Age,那么Configuration BPDU会触发该交换机产生并发送新的Configuration BPDU,相反的Configuration BPDU会被丢弃。而且也不会触发交换机 产生和发送新的Configuration BPDU。

二。TCN BPDU

TCN BPDU的结构只包含:协议标识、版本号和类型。

工作原理:

当网络中国的某条链路发生了故障,导致工作拓扑发生了变化,那么位于故障点的交换机可以通过端口状态直接感知到这些变化,但是其他的交换机是不能直接感知到这样的变化的。在这样的环境下,位于故障点的交换机会以Hello Time为周期通过其根端口不断的向上游交换机发送TCN BPDU,直到接收到上游交换机发来的、TCA标志为1的Configuration BPDU上游交换机在收到TCN BPDU后,一方面会通过其指定端口回复TCA标志为1的Configuration BPDU,另一方面会以Hello Time为周期通过其根端口不断的向它的上游交换机发送TCN BPDU。这个过程会一直重复,直到根桥接收到TCN BPDU。根桥接收到TCN BPDU后,会发送TC标志为1的Configuration BPDU,通告所有的交换机网络拓扑发生了变化

当交换机接收到TC标志置为1 的Configuration BPDU,便意识到网络的拓扑发生了变化。那么自己的MAC地址表的表项内容可能不是正确的了,所以交换机会将自己的MAC地址表的老化周期(缺省值20s)缩短为Forward Delay(缺省值15s)的时间长度,以加速老化掉原来的地址表项。

三。STP端口状态

STP定义了三种状态:根端口、指定端口、备用端口。

STP的5种端口状态:去能状态、阻塞状态、侦听状态、学习状态、转发状态。

端口状态解释与说明
去能(Disabled)去能转台的端口是无法接受和发送任何帧的,端口处于关闭(Down)状态
阻塞(Blocking)阻塞状态的端口只能接收STP协议帧,但是不能发送STP协议帧,也不能转发用户数据帧
侦听(Listening)侦听状态的端口可以接收和发送STP协议帧,但是不能进行MAC地址的学习,也不能转发用户数据帧
学习(Learning)学习状态的端口可以接收和发送STP协议帧,也可以进行MAC地址的学习,但不能转发用户数据帧
转发(Forwarding)转发状态的端口可以接收和发送STP协议帧,亦可以进行MAC地址的学习和用户数据帧的转发

端口状态迁移过程图:

(1)STP交换机的端口在刚开始的时候,首先会从去能状态进入到阻塞状态。

(2)在阻塞状态中,端口只能接收和分析BPDU,但不能发送BPDU。

(3)如果端口被选为根端口或者的指定端口,则会进入到侦听状态。此时的端口只能接收和发送BPDU,该状态会持续一个转发时延(Forward Delay)的长度,缺省值为15s。

(4)如果没有其他的情况发生导致回到阻塞状态,那么该端口会进入到学习状态,该状态持续一个Forward Delay的时间长度。处于该状态下的端口可以接收和发送BPDU,同时开始构建MAC地址映射表,开始为用户数据帧的转发做准备。(但是该状态下,是不能转发用户数据帧的,因为网络中可能还存在因STP树的计算过程不同步而产生临时环路的情况)。

(5)端口由学习状态进入到转发状态,用户可以开始用户数据帧的转发工作。

(6)在整个状态的迁移过程中,端口一旦发生了链路故障,就会进入到去能状态;在端口的迁过程中,如果端口的角色被选定为非根端口或非指定端口时,那么该端口状态就会立即退回到阻塞状态。

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小柒憨憨吖~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值