STP详细笔记

STP详细笔记

产生的背景

由于网络的冗余性(关键设备冗余、关键链路冗余)带来的问题,可能带来二层环路问题,从而引发广播风暴,设备MAC地址紊乱、以及MAC地址漂移等一系列问题。而STP可以保持网络冗余的前提下打破网络二层环路。
生成树协议一共有三种:STP(802.1d)、RSTP(802.1w)、MSTP(802.1s)
注:生成树具有向下兼容性,如果全网中有一台设备运行低版本协议,网络中运行高版本的协议会自动降级向低版本兼容。如果2倍的hello time 时间没收到低版本协议的BPDU报文则会切换为高版本。

基本概念:

1、桥ID(bridge identification)BID
每台运行STP的交换机都会拥有全网唯一的桥ID。BID共8byte,包含16bit的桥优先级和48bit的桥MAC地址。优先级缺省值32768,范围是0-655535,使用时数值必须为4096倍数。MAC地址为背板最小地址。
2、根桥(root bridgr)RB
根桥在全网中只会有一个。STP运行的第一件事就是选举根桥。选举规则为全网中拥有最小的桥ID为根桥。BID由优先级和MAC地址组成,选举规则为先比较优先级再比较MAC地址,两者皆是小优。缺省值为32768,可以进行修改从而干涉根桥选举。
3.开销(cost)
每个运行了STP的接口,都有一个cost值,接口的缺省cost值不但和接口速率和工作模式有关,还与所使用的计算方法有关。
4、根路径开销(root path cost)RPC
RPC值是主要计算某接口到达RB的沿途累加cost值。也就是从该接口到RB需要多少的开销。数值越小越优。
5、接口ID(port identification)PID
运行stp的交换机使用PID来标记每一个接口。PID的长度为16bit,由4bit的接口优先级和12bit的接口编号组成。缺省为128,范围为0-240,调整时必须是16的倍数。

6、STP的选举流程

1、选举根桥
比较BID,优者为根桥。首先比较优先级,若相同比较MAC,都是小优。
2、选举根端口
 比较RPC值,小者胜出。若相同进行下一项比较。
 在比较对端BID,小者优
 比较对端PID,小者优
3、选举指定端口
 一般情况下,根桥下所有的端口为指定端口
 比较RPC值,小者胜出。若相同进行下一项比较
 比较本端BID,小者优
 比较本端PID,小者优
4、既不是根端口也不是指定端口的接口则为阻塞接口
思考:为什么选举根端口比较对端信息而指定端口比较本端信息。
为什么桥ID的优先级为0-65535?

STP报文

BPDU报文分为两中类型:分别为配置BPDU(configuration BPDU)、拓扑改变BPDU(topology change notification)。
BPDU发送方式:组播,组播MAC地址为0180-c200-0000
配置BPDU
在网络初始化过程中,每台交换机都会从自己激活了STP的接口发送配置BPDU报文。当STP收敛完成后,只有根桥才会周期的发送配置BPDU(缺省发送时间为2秒),而非根网桥的RP口收到上游发送的配置BPDU后,立即触发产生自己的配置BPDU,并从指定端口发出。

配置BPDU的报文格式

字节数 字段 描述
2 协议ID(protocol identifier) 在stp中该值总为0
1 协议版本ID(protocol version identifier、) 在stp中该值总为0;生成树的版本
1 BPDU类型(BPDU type) 值为0x00为配置BPDU;值为0x80为TCN BPDU
1 标志(Flage) 在STP中该字段用于网络拓扑变化标志。STP仅使用了最低位(TC,拓扑变更),最高位是TCA(拓扑变更确认)标志
8 根桥ID 根桥的桥ID
4 根路径开销 到达根桥STP路径开销
8 网桥ID 发送本BPDU的桥ID
2 接口ID 发送本BPDU的接口ID
2 消息寿命(message age) 根桥所发送的BPDU中,该字段值为0,此后每经过一个交换设备,该字段值加一,本质上指BPDU所经过的交换设备个数。
2 最大寿命(Max age) BPDU的最大存活时间,也被称为老化时间,缺省20S
2 Hello时间 BPDU所发送的时间间隔
2 转发延迟(forward delay) 接口在侦听和学习状态所停留的时间

TCN BPDU

格式:协议ID、协议版本ID、BPDU类型。
作用:当网络中拓扑发生改变时,该交换机的根端口逐级向根桥通知变化的发生,使全网交换机尽快老化自己的MAC地址表项,以便快速适应新网络。在网络稳定时只会产生配置BPDU。
两种特殊的BPDU
1、“标志”字段中TCA比特位被设置为1的配置BPDU
为了保证STP从拓扑变更的交换机传递到根桥的过程是可靠的,当收到下游发送的TCN BPDU后,需使用“标志”字段中TCA比特位被置位为1 的配置BPDU回应对方并向自己的上游发送TCN BPDU。一直持续到根桥收到该TCN BPDU。
2、“标志”字段中TC比特位被设置为1的配置BPDU
当根桥收到TCN BPDU后,意味者网络拓扑发生改变,它将向网络中泛洪“标志”字段中TC比特位被设置为1的配置BPDU,网络中交换机收到该报文后,会将自己的MAC老化时间改为转发延时,使得MAC表尽快刷新。

STP时间参数

Hello time:发送配置BPDU的时间间隔。修改必须在根桥上进行修改,修改后所有非根网桥会向根桥对齐该时间值。
forward time:接口从侦听状态到学习状态,或者学习状态到转发状态的延迟时间,缺省15秒。这两种状态分别为了避免临时环路和数据帧的泛洪现象。
Max age:BPDU老化时间,缺省20S.在非根网桥的接口上保存这来自上游的最优BPDU,如过在老化时间之前收到这个BPDU,则该计时器会被重置,若未收到,该BPDU被老化,将会从新选举根端口。
从阻塞进入转发状态需要花费30 -50s

STP的接口状态

状态名称 状态描述
禁用状态 disable 不能收发BPDU,也不能转发数据帧
阻塞状态 blocking 不发送BPDU,但会持续侦听。不能转发业务数据帧,不进行MAC学习
侦听状态 listening 可以收发BPDU报文,但是不能转发业务帧,不进行MAC地址学习
学习状态 learning 可以收发BPDU报文,但是不能转发业务帧,进行MAC地址学习
转发状态 forwarding 可以正常收发业务帧,也会进行BPDU处理。

STP配置

STP详细笔记_第1张图片

你可能感兴趣的:(数通)