交换机里面
一:根桥发送的最优配置BPDU
二:在每台非根交换机上选举一个根端口RP,用来接收
比较原则:4条原则选出RP,根端口
1:比较接口的RPC,以小为优
RPC,去往根桥的根路径开销,去往根桥的开销
2:比较对端设备的BID,以小为优
对面设备的BID
3:比较对端接口的P-ID,以小为优
也是对面的设备的P-ID
4:比较本段设备的P-ID
三:在每条链路上选举一个指定端口DP,用来发送最优的配置BPDU
选举原则:3条原 则选出DP,指定端口
1:比较设备的最小的RPC
一整个带着比较
2:比较本端的B-ID
3:比较本段的P-ID,已小为优
HUB集线器,工作在物理层,不会进行STP的协议
比较呆,从一个接口收到,无脑从另外全部接口发出
生成树版本可以向下兼容,
1,端口状态改变,五个变3个
Discarding, 丢弃状态,能够接受和处理bpdu,但是无法学习mac地址和转发用户流量
对应stp前三个状态,disable,blocking,listening
learning: 学习状态,能够接收处理bpdu,也能学习mac地址,但是无法转发用户流量
forwarding:转发状态,哪个行为都可以
2,端口角色的改进,三个边四个
rp,根端口,接收最优的bpdu
dp,指定端口,转发最优的bpdu
ap,预备端口,收到 其他设备 发送的最优BPDU而
阻塞的端口,作为RP的备份,提供去往根桥的最优路径
当RP出现故障,立即成为新的RP并且立即进入状态
BP:备份端口,因为收到 自己发送的最优bpdu而阻塞的接口
作为DP的备份,提供一条跟桥去往目的网段的备份路径,当DP故障
立即会成为新的DR
但是现在一般不常见BP,HUB基本淘汰
RSTP中,
预备端口AP作为根端口的备份,立即切换,
直接进入转发,无需经过转发延迟时间
BP作为DP的备份
3:报文的改进:RST只存在一种报文,RST-BPDU
1,报文发送的改进:
stp:只有根桥能够主动周期性发送配置BPDU,其他
非根交换机收到后进行转发
RSTP:每台设备都会周期性(2S)发送配置BPDU,无需等待
根桥的BPDU
2:Flag字段的改进:
TCA:拓扑变更确认
Agreement:同意,置位表示同意让对段设备进入转发状态
Forwarding:置位表示发送接口能转发数据流量
Learning:置位表示发送接口能学习MAC地址
Port-role,端口角色,01为AP或者BP,10为RP,11为DP
proposal:提议,置位表示请求让本端设备进入转发状态
TC:拓扑变更通知
3:超时的改进
STP等待消息寿命到达Max Age(20S)后认为超时
RSTP如果6S内没有收到邻居的RST-BPDU,则认为
邻居故障,
4:对次优BPDU的处理:
stp:收到次优bpdu要经过20S老化
RSTP:收到次优,立即转发处理
四:快速收敛机制
1:根段口快速切换:RP故障,AP成为新的RP,立即进入新的转发状态
2:指定端口快速切换,DP故障,BP成为新的DP,立刻进入转发状态
3:P/A握手协商机制
STP中角色能立即切换,但是状态要等30S转发时间,其目的是为了防止临时性环路,这样很被动
通过P/A协商,可以让指定端口快速进入转发状态,加快收敛速度
过程:1:初始情况下双方都认为自己是跟桥,自己端口都是DP
状态初始为discarding,向外发送自己为根的RST-BPDU
其中置位为1,表示请求让自己端口进入转发状态
2:收到对方的报文后,进行比较,次优交换机将自己端口从DP变成
RP,然后进sync同步状态,将自己除了边缘端口以外的
其他端口变成discarding状态,(全部阻塞)确保下游无环,然后让RP直接进入
Forwarding状态,回应对方一个A置位的RST-BPDU,表示
同意让对端接口进入转发状态
3:收到A置位的RST-BPDU后,将DP端口状态直接变为Forwarding
状态,P/A协商完成
1:A置位RST-BPDU只有跟端口才会回应
2; P/A协商只能在全双工的点到点链路进行(中间只能两台设备)
3:三台交换机场景,剩下两台非根交换机之间由于不存在RP端口
无法进行P/A协商,需要等待30S才能进入转发,但实际上该链路
本来就需要阻塞,转发所使用的最短路径树已经完成收敛,所以
也不影响通信
4:如果无法进行P/A协商,那么就需要进行STP的收敛流程
等待2个转发延迟时间进入转发状态
P/A确保网络中无环,
初始情况在双设备都 p置位请求让接口进入转发状态
非根设备发A置位,表示同意让对段设备进行转发状态
生成树报文组播发送
标签:状态,BPDU,RP,RSTP,端口,ST,VS,转发,DP From: https://blog.51cto.com/u_15735404/8668956