标签:导致 修改 生成 链路聚合 参数 同步 会计 idg 现象
STP生成树(IEEE 802.1D)协议ID:表明哪一种生成树
版本:生成树的版本(如cisco的pvst/pvst+)
Message type:BPDU的包的种类(配置BPDU、拓扑变更BPDU)
Flags:标记
Root ID:根ID
Cost of path:到达根的开销,带宽越大,开销越小,叠加值
Bridge ID:自己的桥ID
Port ID:描述端口的两个参数,端口优先级、端口MAC
Message age:按照时间算,最大20s(Max age)
Hellotime:2s
Forward delay:15s
20s+15s*2=50s,即原始生成树的切换时间
第一个20s的来源是BPDU最迟被收集到的时间,转发延时牵扯到侦听和学习,指的是一个数据包(无论是BPDU数据包还是普通数据包)在一个有限的交换网络中从一个交换机到达另一个交换机的转发时间最长是15s。
原始生成树的运算过程
总的来说,在最开始的时候,每个交换机会发送BPDU,收集完BPDU后开始选举,选完根交换机选根端口,选举完成后收敛完成。
发送BPDU之前,交换机的接口会同步它的全局BPDU参数,即交换机将BPDU同步给接口,接口将BPDU保存后向外发送,到达对端接口的时候,对端接口由于同步了自己的全局BPDU,会将自己的BPDU与收到的BPDU进行比对(BID),比对后同步较优的BPDU,此时交换机会认为较优BPDU的发送者是本地的根交换机,同时接口会同步全局BPDU后再同步给其他接口,因为周期的存在,其他接口会根据周期发送所同步的BPDU,一直扩散。只要保证自己所发出的BPDU一定能被其他设备接收到,全网一定会同步出一个唯一的根ID,这就是选根的过程,也因此必须等待20s,否则可能会导致某一条BPDU没有同步结束,此时选的根就不一定是一个准确的根。如果想加快收敛,可以手动将max age改小,但不建议改动,后期生成树因为更改了选举方法,故不会有这样的问题。
根接口:设备对端的接口会被同步,被同步后会计算cost-path,远端设备的BPDU同步时,会叠加cost-path,其他设备的接口在同步BPDU比对RID时会发现RID相同,接着会比对cost-path,设备在同步全局BPDU时,会保留最优的cost-path,此时被同步cost-path的接口即为根接口。如果cost-path依旧相等,就比对对方的BID,因为此时全局BPDU被对端设备同步了,此时的BID就是对端的BID,大部分人会认为是因为对端的BID越小,就越能成为下一代根,但实际上这是从结果推导出来的结论,存在逻辑上的问题 然后比对对端的port ID(port优先级/port MAC),在port优先级相同时比对MAC,MAC值小为优。
如果要修改参数以达到更改原有线路的目的,cost-path一般在本端修改,PID优先级在对端接口修改。
SW(config-if)#spanning-tree vlan 1 ?
Cost Change an interface’s per VLAN spanning tree path cost
Port-priority Change an interface’s spanning tree port priority
1
2
3
根的选举
根据BID的参数来选,越小越优,先看优先级后看MAC
根端口选举
越小越优
cost-path
对端BID 桥优先级和桥MAC
对端的PID 端口优先级
指定端口的选举
一条线路上只能有一个指定端口
BID本交换机成根的可能性越大越能成为指定接口
状态接口跳转
为什么要有状态切换?
状态切换的其中一个目的是要保证生成树在收敛完成之前没有环路,如果出现环路,数据有可能会无法传递,导致生成树无法收敛。状态切换就是为了保证不会出环并且按照既定步骤完成生成树的收敛。
blocking 不能收也不能发送数据及BPDU,但可以监听BPDU 20s(max age)
Listening 收集BPDU信息选举,本质是选举根接口,可以发送BPDU 15s(forward delay)
Learning 可以发送普通数据,但不能转发,学习接口转发的MAC地址 15s(forward delay)
Forwarding 可以转发数据及BPDU
其他的生成树都是在STP生成树的基础上改进的,STP生成树最大的问题还是收敛过程太长,所以改进的方向也是以此为主
版权声明:本文为博主原创文章,转载请附上博文链接!
标签:导致 修改 生成 链路聚合 参数 同步 会计 idg 现象
原文地址:https://blog.51cto.com/14224418/2415127