bpdu报文(传统stp)

Dëm0n Dëm0n     2022-09-08     468

关键词:

 

BPDU字段包含的信息:

Protocol ID   协议ID

Version    STP版本(三种)

STP(802.1D)传统生成树    值为0

RSTP(802.1W)快速生成树    值为2

MSTP(802.1S)多生成树    值为3

Message Type   消息类型(常见的两种)

   配置BPDU:负责建立,维护STP拓扑     

   TCN BPDU:传达拓扑变更        

Root ID    根桥ID

Cost of Path   路径开销

Bridge ID      桥ID

Port ID     端口ID

Message Age    当前消息年龄(STP每经过一台交换机,该字段+1,同步不同位置的设备根桥超时)

Max Age           最大消息年龄(超过则代表根桥故障)

Hello Time    问候时间(根桥通过不断发送STP维持自己的地位,Hello time 是发送的间隔时间)

Forward Delay   端口从listening -> learning  或 learning -> forwarding 的转态需要时间

 

STP 选举流程:

1.选举根桥

2.非根交换机选举根端口

3.每个线路选举指定端口

4.阻塞非根,非指定端口

 

选举根桥,根端口,指定端口,阻塞端口都以下面的规则来选,都是越小越好

这些信息在BPDU中都有。

 

比较规则:

1.bridge ID:   优先级(默认32768) + MAC地址

2.Cost路径开销   根据接口带宽比例计算

3.port ID:    优先级 (默认128)+ 端口号

 

 

根桥选举:

1.选根桥:每个交换机假设自己为根,互相发送BPUD报文,然后通过比较规则竞选根桥

2.选根端口:每个交换机根据接收由根桥发送的BPDU中的开销来选举根端口(最优路径),交换机接收累加开销,转发不累加

3.选指定端口:每条链路根据比较规则来选出指定端口,每条链路必须有指定端口。

4.选阻塞端口:除了根端口,指定端口,剩下的为阻塞端口

 

 

下面是华为设备STP  的配置BPDU

从这里可以分析出,该端口的端口号是2,据开销20000可知千兆口,所以为G0/0/2

很明显该端口所属的交换机不是根桥,并且是根桥的邻居。BPDU类型是配置BPDU。

 

下面看下当某条链路断开时,发生了拓扑变化的BPDU报文

 

比如有一台交换机,一个端口为根端口,另一个为阻塞端口。如果根端口被关闭了

那么阻塞端口会发送一个拓扑变更BPDU的报文给相邻的交换机,这个BPDU类型为:TCN

 

而相邻的交换机会向这个阻塞端口发送一个确认拓扑变更的BPDU,这样阻塞端口就知道自己的消息被收到并将会传达。

这个BPDU类型为 TCA,同时相邻的交换机就会把继续把 TCN 向根端口方向转发,之后也会收到上层交换机发来的TCA确认接收报文

如果根桥收到了这个由阻塞端口传来的TCN,便会下发拓扑变更BPDU其类型为TC,每台收到此TC报文的交换机都会将自己的MAC缓存表刷新或减低过期时间。

然后再向下传达这个TC报文。

 

 

看下下面的拓扑图

 

在交换机 LSW5中 GE0/0/1原本为阻塞状态,GE0/0/0为根端口

但是有一天GE0/0/2端口down掉了

如果没有上述的拓扑变更BPDU的话,那么会发生如下情况

 

client6 发送 数据 给 client4

缓存表里client6的mac地址对应的却是GE0/0/2的接口(已经down掉了)

这样导致client6无法与外界通信,除非要等mac缓存表的过期时间300s也就是5min

这个时间实在太长了,解决的办法就是发送拓扑变更给根桥,根桥同意变更后向下发送

TC BPDU,所有收到此报文的交换机都把MAC缓存表刷新或减少过期时间来避免收敛速度慢

 

与根桥的直连链路发生故障

LSW8交换机上的G0/0/1为根端口,G0/0/2为指定端口,

G0/0/1发生故障后,G0/0/2会的端口角色会编程根端口

当是状态要从 listening->learning->forwarding需要30秒的时间

 

 

与根桥的非直连链路发生故障

在LSW8中GE 0/0/1为根端口,因为HUB集线器与根设备的线down掉了

所以LSW8 会在Max Age 的时间内不能收到根桥发送的BPDU,于是他会以

自身为根桥向周围发送 BPDU,当LSW9收到两边的BPDU则会对比,发现LSW7

才适合做根桥,于是又会通知LSW8,这样GE0/0/3就会转变成根端口。

所用的时间为50s(MAX Age +Forward Delay)

stp原理-路由交换原理11-hcna笔记

1、BPDU报文格式    交换机之间使用BPDU(网桥协议数据单元)来交换STP(生成树协议)信息,BPDU报文分为配置BPDU和TCNBPDU两类分别对应STP的两种应用场景(STP工作在数据链路层)。BPDU帧帧头Data(BPDU报文)FCS配置BPD... 查看详情

stp理论02-bpdu(stp)

...路径开销和端口ID等信息,所有这些信息都是通过BPDU协议报文传输。1)、配置BPDU是一种心跳报文,只要端口使能STP,则配置BPDU就会按照HelloTime定时器规定的时间间隔从指定端口发出。2)、TCNBPDU是在设备检测到网络拓扑发生变... 查看详情

传统stp快速stpmstp的总结和比较

一、BPDU类型1.传统生成树:包括了两种BPDU,一种是配置BPDU,一种是TCNBPDU,配置BPDU由根桥每Hello时间发出;TCNBPDU由感知到拓扑发生变更的网桥从根端口发送出去。配置BPDU中的Flag包括了两个字段,第7位是TCA,第0位是TC,TCA置位... 查看详情

stp协议

...进而在逻辑上断开环路,防止广播风暴的产生。二:BPDU报文格式交换机之间通过互相发送BPDU报文进行根网桥、根端口和指定端口的选举,继而形成逻辑上无环的网络拓扑。BPDU报文格式如下:ProtocolIdentifier:协议ID,该字段为0;... 查看详情

stp报文内容

...PDU第一种是配置BPDU,第二种是拓扑改变通知BPDU(TCNBPDU)BPDU报文中的flags位共8个bit,默认只用了两个比特(第0位和7位),TCA(flag第0位为0):拓扑改变确认TC(lag第7位为0):拓扑改变根桥的优先级和根桥交换机系统的mac地址到根桥的... 查看详情

bpdu报文(rstp)

 与STP的BPDU报文格式相同,就是在flags字段报文中间几位得到应用  RSTP中只有一种RSTPBPDU,RSTP原理是利用FLAGS位中的Proposal与Agreement来进行协商,从而快速从discarding转成forwarding而不用等待30秒超时。协商原理:交换机在... 查看详情

生成树协议(代码片段)

...丢弃低优先级的BPDU消息网络收敛后根交换机向外发送BPDU报文其他交换机对该报文进行配置BPDU报文协议ID:该值总为0。版本号:STP的版本(为IEEE802.1d时值为0)。报文类型:BPDU类型(配置BPDU=0,T 查看详情

生成树协议

...两种:配置BPDU用来进行生成树计算和维护生成树拓扑的报文,通常所说的BPDU报文就是指配置BPDU只要端口使能STP,则配置BPDU就会按照Hellotime的时间从指定端口发出当根端口收到配置BPDU时,发现优先级比自己的大时,则会根据BPDU... 查看详情

stp端口状态和端口角色

参考技术A上期我们讲了STP的选举机制和报文内容,标准的STP的端口角色有RP和DPRP:非根桥交换机接收到来自根桥的最好BPDU的端口DP:是指链路上发送根桥最好的BPDU的端口其实还有一个block状态的端口,在华为设备上,引用RSTP协... 查看详情

stp理论04-rstp相对stp的改进

...化,收敛速度慢;3)、在网络稳定时,只有根桥发送BPDU报文。RSTP对STP的改进:1、通过端口角色的增补,简化了生成树协议的理解及部署;RSTP的端口角色共有4种:根端口、指定端口、Alternate端口和Backup端口;1)、从配置BPDU报... 查看详情

rstp原理

...口,防止出现环路)3:发送A置位的BPDU4:收到A置位的BPDU报文,端口立即进入Forwarding(删除了STP中本来的计时器功能,采取了来回的交流方式)第二个改良:根端口快速切换机制根端口down掉之后,Alternate端口马上进入Forwarding状... 查看详情

stpbpdu报文

字段字节数说明ProtocolIdentifier(协议ID)2总是为0ProtocolVersion(协议版本)1stp值为0;rstp值为2;mstp值为3MessageType(消息类型)1指示当前BPDU消息类型:0x00为配置BPDU,0x80为TCNBPDUFlags(标志)1最低位=TC(TopologyChange,拓扑变化)标... 查看详情

stp端口的状态特征?

...2、阻塞(blocking)-处于这个状态的端口不能够参与转发数据报文,但可以接收BPDU配置消息,并交给CPU处理。不过不能发送配置BPDU消息,也不能进行地址学习。3、监听(listening)-处于这个状态的端口不参与数据转发,也不进行地址学... 查看详情

stp稳定性机制

...的端口收到BPDU后,将被自动关闭BPDUFilter:抑制端口的BPDU报文收发(不推荐)RootGuard:阻止外部的交换机成为根桥uplinkfast在全局模式配置,阻塞端口快速启用变为RP(只在非骨干交换机启用)backbonefast所有交换机全局都配置,骨干... 查看详情

各种生成树(stprstppvstmstpmsti)概念

...ataUnit)。所有支持STP协议的网桥都会接收并处理收到的BPDU报文。该报文的数据区里携带了用于生成树计算的所有有用信息。在Disabled状态下端口不激活不参与STP任何动作,阻塞状态下交换机接收BPDU,判断交换机位置和根ID但不参... 查看详情

华为认证考点hciprstp

...路上面会选举一个指定端口这个指定端口是用来发送BPDU报文或者转发BPDU报文的一般情况ROOT交换机上面的所有接口是指定端口4、阻塞端口不转发用户流量但是可以接收BPDU1.5、端口(RP端口或者DP端口)的竞选规则1、比较设备的BI... 查看详情

路由交换:stp(一)

参考技术A交换机转发BUM报文的机制造成的,数据帧没有防环机制,导致交换机环路无法消除B:boradcast广播U:未知的MAC单播帧M:组播交换机端口学习机制,后学习到的会把之前学习到的覆盖,使得交换机生成错误的表项,导致转... 查看详情

ensp模拟实验-stp定时器

...lotime定时器、maxage定时器、forwarddelay定时器、未收到上游BPDU就重新开始生成树计算超时时间等参数会影响其收敛速度。可以通过配置合理参数实现快速的拓扑收敛。   hellotime定时器:hellotime为周期发送BPDU来维护生成... 查看详情