STP生成树协议

本文详细介绍了STP(SpanningTreeProtocol)及其在消除局域网环路、角色选举、链路故障检测和收敛时间等方面的工作原理,包括BID、桥优先级、MAC地址、BPDU报文交互和端口状态转换等内容。
摘要由CSDN通过智能技术生成

文章大纲

1-STP

华为的设备默认是多实例STP协议,MSTP

1-STP是什么?

消除局域网内二层环路的协议,使用的标准是IEEE802.1D,通过选举特殊端口(DP,RP,AP),阻塞端口,达到消除二层环路的作用,并工作在数据链路层之上,汇聚层和接入层交换机设备之间.

2-STP的解决链路中的什么问题?

1-广播风暴

  • MAC地址表漂移

3-STP如何去解决?

1-选举根桥

1-BID

1-桥优先级

2-mac地址

2-选举备份根桥

3-选举端口

1-RP

1-比较RPC

2-比较对端的BID

3-比较对端的PID

4-比较自身的PID

2-DP

1-比较RPC

2-比较自身的BID

3-比较自身的PID

3-AP

4-STP的交互

1-STP端口的五种状态机

1-disable 禁用 不收不发 ,不处理

2-blocking 阻塞 接收并处理,但是不转发 ---------预备端口的最终状态:ap

3-listenning 侦听 收发BPDU,转发,不处理数据报文

4-learning 学习mac地址表, 收发BPDU 不处理数据报文 ----防止临时环路

5-forwarding 转发 什么都收发 ,只有rp和dp才能进入此状态

2-STP报文的交互

通过BPDU桥协议数据单元(报文)来进行交互的

1-配置BPDU

桥协议数据单元--BID,PID,路径开销等参数

         开始都认为自己是根桥,都会向外面发送配置bpdu,稳定后,根桥周期性发送配置bpdu,其他非根桥设备收到后,才会发送bpdu

2-TCN BPDU-----设备只要感知到拓扑发生改变,就会不停的发送TCN BPDU

3-STP的收敛时间

5-STP的链路故障

1-直连链路发生故障

2-非直连链路发生故障

3-根桥发生故障

 1-STP是什么?

    STP(Spanning Tree Protocol)是一个用于局域网中消除环路的协议,它的标准是IEEE 802.1D。STP通过将部分冗余链路强制为阻塞状态,其他链路处于转发状态,将环形网络结构修剪成无环路的树形网络结构,可实现消除环路。当处于转发状态的链路不可用时,STP重新配置网络,并激活合适的备用链路状态,恢复恢复网络连通性。

 2-STP在那种情况下产生?

1-单点网络

    链路上任何一个设备出现,故障,就会影响整个链路,为了解决这样的问题使用多个设备对链路,增加冗余性(冗余性:增加线网的备份,对网络增加可靠性)

2-增加冗余的网络

    虽然解决了网络的单点的缺点,但是增加网络冗余的时候,链路会造成二层环路(因为交换机的特性是泛洪,会把网络资源给耗尽)的风险,生成树协议,STP使用于此.

 3-STP解决什么现象?

1-广播风暴

    因为交换机的特性就是泛洪,现交换机默认开启了stp的协议,假设没有开启,因为交换机是一整个广播域,所以只要收到任何报文,交换机都会进行泛洪,并消耗网络资源的现象就是"广播风暴"

2-MAC地址漂移

    假设交换机有两个接口并在一个三角形结构中,从01接口上学到一个mac地址,对应的接口,因为交换机的泛洪,02也会收到一个mac地址,但是与01学到的mac地址一样,所以会进行,端口的替换,不稳定的现象,叫做mac地址漂移

 4-STP怎么去解决?

1-通过选举不同的设备角色,以及接口的不同角色,阻塞接口,打破二层环路

选举的参数

1-BID

桥ID(Bridge id),桥就是交换机的意思

分两部分组成

1-桥的优先级16bite

2-MAC地址48bite

2-PID

接口编号(port id)

分两部分组成

1-接口优先级默认是128,必须是16的倍数

2-接口编号G0/0/1

3-PRC(路径开销)---根桥的根路径开销是0

STP cost指的是接口的开销,按照IEEE802.1T标准,默认是2000,华为设备默认也是按照IEEE802.1T的标准,PRC指的是根桥到本设备的入接口的STP cost之和,可以进行修改

2-选举规则都是越小越优

3-根桥和备份根桥的选举设备角色-----桥优先级相同的话,比较mac地址表,越小越优

1-比较BID

1-先比较桥优先级

优先级默认是32768,是4096的倍数,最小默认

2-比较MAC地址大小

2-根桥上都是DP,没有根端口

4-端口的选举端口角色(根端口,指定端口,备份端口也可以叫做阻塞端口)

1-RP根端口-------接收BPDU(接受,发送,和转发数据帧

除了根桥之外,每个交换机都有一个根端口

1-比较RPC

2-比较对端的BID

3-比较对端的PID

4-比较本端的PID

2-DP指定端口-------发送BPDU(接受,发送,和转发数据帧

每个链路上只有一个DP端口,

1-比较PRC

2-比较自身BID

3-比较自身PID

3-AP阻塞端口/备份端口/阻塞分根端口(只能接受和处理数据帧

通过规则选择剩下的接口,都会变成阻塞端口AP

只要超过了max age时间,端口就会变成转发状态

 5-STP端口的状态机,交互,收敛时间

1-STP的端口的状态机

1-stp的五种状态

1-disable 禁用 不收不发 ,不处理

2-blocking 阻塞 接收并处理,但是不转发 ---------预备端口的最终状态:ap

3-listenning 侦听 收发BPDU,转发,不处理数据报文

4-learning 学习mac地址表, 收发BPDU 不处理数据报文 ----防止临时环路

5-forwarding 转发 什么都收发 ,只有rp和dp才能进入此状态

2-接口的状态迁移

1-五种状态的迁移

2-STP信息的交互

stp信息的交互是通过BPDU桥协议数据单元(报文)来进行交互的

1-配置BPDU-----BID,PID,路径开销等参数

作用:
1-选举根交换机
2-选举端口状态
3-选举端口的角色

在开始选举的时候,每个交换机都会发送配置bpdu,但是稳定后只有根桥才会主动发送,其他交换机设备收到后才会发送

1-配置bpdu报文的格式

2-TCN BPDU -----下游交换机感知到拓扑发生变化时向上游发送的拓扑变化通知。

1-会使用到配置bpdu中的flags字段

1-tca

停止发送tcn bpdu,并告知该设备,已经收到

2-tc

根桥设备发送,泛洪,加速更新

MAC地址表项的老化时间由默认的300 s修改为Forward Delay的时间(默认为15 s)

解决mac地址表默认老化时间是300s

2-tcn bpdu

1-设备只要感知到拓扑发生改变,就会不停的发送TCN BPDU

3-为什么要有tcn bpdu?-----实验:拓扑改变导致mac地址表错误

1-mac地址表300s,更改成forwarding时间

2-重置下游设备,重新开始学习,mac地址表的转发

3-可以感知链路上的拓扑发生改变

故障设备通过TCN消息向上游设备通知故障,上游设备收到TCN消息后,向故障设备发送

TCA确认收到的同时,继续向根桥发送TCN告知下游设备故障信息。当根桥设备收到TCN

后,统一向所有的下游设备发送TC消息,告知整个拓扑设备,哪个设备出现了故障,及时

更新MAC地址信息,防止MAC地址错误造成无法访问的情况。

3-收敛时间

根桥失效的收敛时间 = 20S的老化时间+2*转发延迟时间(15S)=20+30 =50S

1-直连故障的收敛时间

由于故障链路与预备接口在同一个设备中,设备可以快速感知错

误,不需要等20S老化即可完成收敛,收敛时间为30S。

2-非直连故障收敛时间

由于故障链路与预备接口不在同一个设备上,所以需要等20S老化 ,加上两倍的forwarding时间

 6-stp链路中拓扑发生了变化

1-根桥故障

稳定的stp链路上,根桥会周期的发送配置bpdu

如果根桥sw1,超过了max age---20s,其他非根桥的交换机就会觉得根桥出现了故障,会重新选举根桥

Sw3设备需要恢复端口状态变成dp,重新发送bpdu选举根桥

Ap(预备端口)默认的状态是blocking状态,首先要等bpdu的老化时间,才能够接收新的bpdu,需要恢复转发状态也就是进入forwarding状态-----20s+15s+15s=50s

2-直连线路出现故障

Sw1和sw2之间的链路出现故障

rp端口出现故障,那么ap端口就要变成rp端口,但是根桥没有问题

ap端口需要从,blocking状态变成,forwarding状态,需要15s+15s=30s

3-非直连线路出现故障

Sw1和sw2之间出现故障

Sw2在经过了max age时间之后,会认为根桥挂了,就会主动向往外面去发送bpdu,但是sw3一直会收到bpdu,所以并没有影响到sw3设备

Sw3的ap端口由于在max age没有收到bpdu,就会把端口变成dp,并发送自己的配置bpdu

Sw2跟sw3互相交互的配置bpdu,进行对比,发现sw3的bpdu要更优

使用的时间max age和ap端口变成转发状态的时间----20s+15s+15s=50s

4-拓扑改变导致mac地址表错误

因为mac地址表的老化时间默认是300s,交换机是依赖mac地址表来进行转发数据帧的

拓扑发生改变之后,需要经过300s才会出现更新

1-为了解决这一个问题,出现了tcn bpdu,可以加快mac地址表的老化时间

1-mac地址表300s,更改成forwarding时间

2-重置下游设备,重新开始学习,mac地址表的转发

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值