桥协议数据单元。
属于二层协议。用于在交换机与交换机之间发送,构建无环网络,
协议字段 | 作用 |
---|---|
Flags | 8bit,STP只用一个最高位和一个最低位,最高位置位为TCA BPDU,最低位置位为 TC BPDU |
Root-id | 根桥ID,根桥设备的BID,由优先级+mac地址组成 |
Cost of path | 根路径开销,描述到达根桥的开销值 |
Bridge-id | 转发桥id,描述发送该BPDU的设备BID. |
Port-id | 端口id,发送给BPDU的端口id |
Message age | 配置BPDU能够在网络中存活的最大生存时间,华为实现,每经过一台设备,该值+1 |
Max age | 接口缓存BPDU的老化时间,默认为20s |
hello time | 根桥发送配置BPDU的发送周期,默认为2s |
Forward delay | Listening,Learning状态的持续时间,默认为15s |
BID:BID一共8个字节,其中优先级2个字节,MAC地址6个字节,优先级又分为两部分组成,一个是优先级字段,一个是system id字段,system id实质就是vlan id,华为默认为0,所以设置优先级实质还是从高4位开始进行,高四位为2^12,为4096,所以优先级必须设置为4096的倍数。
Message age 如果是根桥发出的配置,那么值为0,否则为根桥发出到达当前桥接收BPDU的总时间,华为实现,每经过一个交换机,值加1
状态 | 描述 |
---|---|
Disabled | 关闭状态 |
Blocking | 阻塞状态,接收BPDU,不发送,不学习MAC,不转发数据 |
Listening | 侦听状态,接收并发送BPDU,不学习MAC,不转发数据,停留一个forward delay的时间 15s |
Learning | 学习状态,接收并发送BPDU,学习MAC,不转发数据,停留一个forward delay的时间 15s |
Forwrading | 转发状态,接收并发送BPDU,学习MAC,转发数据 |
虽然有STP的独特的破环机制,但是端口进入转发状态的时间最少依旧还是等待30s的时间,很显然满足不了现在的业务需求,所以在STP的基础上,改良开发出了RSTP
STP/RSTP对比
STP/RSTP对比 | STP | RSTP |
---|---|---|
端口角色 | RP/DP/BP-AP | RP/DP/BP/AP/EP |
端口状态 | 五种 | 三种,(将STP前三种合为了一种-Discarding) |
快速收敛机制 | 无 | P/A机制、EP端口,AP端口特性, |
端口状态 | 描述 |
---|---|
Discarding | 禁用状态,接收并发送BPDU,不学习MAC,不转发数据,停留一个forward delay的时间 15s |
Listening | 侦听状态,接收并发送BPDU,不学习MAC,不转发数据,停留一个forward delay的时间 15s |
Forwrading | 转发状态,接收并发送BPDU,学习MAC,转发数据 |
由STP的五种端口装换为了三种端口,这是因为原先STP的前两个端口,都不能发送BPDU,所以就将两个直接替代了,是的三种端口合为了一种,端口状态数据少,以便于人工管理
EP端口,用于连接交换机。
BP端口,用于做DP的备份端口
AP端口,用于做RP的备份端口
报文 flags字段,8位全部占用:
TCA置位 | A置位 | 端口状态标识符 | P置位 | P置位 | TC置位 |
---|---|---|---|---|---|
高7位,RSTP不再使用 | 高6位,置位标识A置位的BPDU | 高5,4位同时置位,01表示DIS状态,10表示lear状态,11表示for状态 | 低2,3位同时置位,01代表AP/BP,10代表RP,11代表DP. | 低1位,置位表示P置位的BPDU | 低0位,置位表示为TC置位的BPDU |
边缘端口保护:
P/A机制:
AP端口特性:
BP端口特性:
触发条件:交换机端口状态由Discarding状态转换为Forarading状态(说明就是有端口角色的切换),该接口Down会影响其他接口角色的切换,
交换机会跟除EP端口外所有端口启动 Tc While time,这个计时器是hello time的两倍,
在这个时间内,清空除EP端口外所有端口映射学习来的MAC地址,同时由端口发送RST BPDU,其中TC置位,一旦Tc While 计时器超时,就不再发送
交换机收到RST BPDU后,清空除接受端口,和EP端口以外的所有的MAC地址条目,
并开启Tc While time,继续朝着DP/RP端口进行转发。
优点:1.不用清空所有的MAC地址条目,保留了一些有效的,有效的避免了过多单播报文的泛洪
? 2.以拓扑变化者为源,向外扩散TC置位的BPDU,不必到达根桥,节省了收敛时间。
MST交换机使用MST configuration id来标识自己
MST configuration id包含三个参数:
MSTP实例:
MSTI:用户自定义多生出实例
MSTP通过设置VLAN映射表(即VLAN和MSTI的对应关系表)把VLAN和MSTI联系起来
MSTI可以与一个或多个vlan对应。
各MSTI之间单独进行RSTP计算,互不干扰、
每个MSTI进行802.1W算法
每个端口在每个MSTI中的端口角色,状态,参数不一样
ISTl:默认实例0,他是特殊的MST实例缺省情况下,所有vlan都属于该实例。
CITI:MSTP 多域。MST实例仅出现在每个区域内,并不出现在区域间,如果把每一个区域看做是一台大的交换机,则连接这些交换机的树被称为CSI,
每个区域中的IST和区域间的CST一起构成CIST
EP端口如果收到BPDU后,会丧失特性,那么如果有人恶意的跟EP端口发送BPDU。是EP端口丧失特性
使用在EP端口上,EP端口如果收到BPDU后,不会使其失去边缘端口特性,而是直接关闭,需要手动开启,或者手动配置自动恢复的时间,
如果在现有的拓扑中,新加入一各交换机,并恶意的将优先级设置最低,使之网络受到优先级更高的BPDU,从而引起网络拓扑错误变更,会导致原来应该通过高速链路转发的数据朝着低速链路进行转发,造成网络拥塞
启用ROOT保护的RP端口,端口角色一致保持在RP端口。如果指定端口收到优先级更高的报文,端口进入Discarding状态,不在转发BPDU,在经过两倍的Forwrad delay时间后,如果端口一直没有收到更优的BPDU,则自动恢复到正常的Forwarding状态。
比较类型 | STP | RSTP |
---|---|---|
端口角色 | DP,RP,AP | DP,RP,AP,BP |
端口状态 | 五种 | 三种 |
快速收敛 | 没有快速收敛机制,最快30s,最慢50s | P/A机制,EP端口 |
收敛过程 | 必须由根桥发出TC置位的BPDU | 由变更交换机发出TC置位BPDU,EP |
接受到TC置位的BPDU处理机制 | 将MAC地址老化时间改为15s | 除接收端口,EP端口以外的所有端口对应的MAC地址条目清除 |
BPDU falgs字段不一样 | 只用最高位TCA和最低位TC | 全部都用,但是最高位TCA在RSTP里面没意义。 |
报文类型 | 两种:TCN BPDU,配置BPDU | 一种:RSTP BPDU |
BPDU老化时间 | 20s max age时间 | 18s: hello time时间 x 3 x 时间因子(默认为3s) |
原文:https://www.cnblogs.com/dh1226/p/13252379.html