STP生成树

来源:互联网 发布:中文域名icp备案 编辑:程序博客网 时间:2024/06/05 04:44

打字不易,转载请注明出处!
学习总结,雷同请多多包涵!
学识有限,出错请给予指正!
By铁血、诺言

 

谈到生成树我总感觉自己不太熟,说起理论吧,我又感觉我没哪不太明白的,心里总是像有道坎似的,想写又总是犹豫的感觉,可能是实践少了,明天我打算写篇关于园区网络架构的文章,让自己跨过这个坎。

 

STP原理

交换机间有多条链路---->导致网络环路等故障----->生成树逻辑打破环路------>即解决环路又解决冗余性。

 

STP将交换网络中两点之间的多余链路置于Blocking状态,只留一条活动链路,当活动链路失效,立即启用Blocking链路,以此提供冗余性。

 

STP怎么确定两点间存在多条路径?方法就是发个数据包作为测试就能得到答案。比如一台交换机标记发出一个测试包,另外一台交换机从多个接口都收到,说明存在多条链路,需要STP进行计算断开多余链路。

 

STP发出的这个测试包测试网络是否有多条链路,是依靠Bridge Protocol DataUnits(BPDU)实现的,同台交换机发出的BPDU都做上了相同的标记,只要交换机从多个口收到相同的BPDU说明存在冗余链路,需要STP计算断开多余链路。

 

BPDU包中包含:根交换机Bridge ID ,发送者BID,到根的开销Path Cost,发送者接口和优先级。

BID=(优先级+MAC) 优先级默认32768   

STP协议中,优先级越小越优。

 

STP计算依据BPDU给出的参数,选举出根交换机(Root),根端口(Root port),指定端口(Designatedport),剩余端口被block掉。

 

选举原则不再详述

1.最小的BID

2.到达根最小的开销

3.发送者的BID

4.发送者的Port ID

 

交换机启动的端口状态

1.Initialization到blocking   收BPDU但不发送BPDU,不学习MAC

2.blocking到listening        收BPDU发BPDU,决定端口角色,不学习MAC

3.listening到learning        收BPDU发BPDU,(RP收BPDU但不发,DP口发),学习MAC

4.learning到forwarding       正常转发数据,(RP收BPDU但不发,DP口发),学习MAC

listening和learning状态分别有一个forward delay时间15s 。

从上面感受到了什么,RP就是通向根的唯一路径,DP只是向下转发BPDU,向下转发流量,但是不可能从DP到达根交换机,那么逻辑上交换机之间环路被打破了,数据帧在转发时就不可能形成环路了,想想很多交换机连成一个圈,中间有个链路被逻辑block了,那么环路就消失了。

 

BPDU 

Configuration BPDU 只有从根交换机发出,hello间隔2s,max-age时间20s 

TCN BPDU如果拓扑发生变化,普通交换机从根端口发出TCN消息,一跳一跳传到根,再由根向下通告。同时MAC地址表的老化时间也由300秒自动更改为forwarddelay 15秒时间。

 

 

STP分类

IEEE                                 CISCO

802.1D STP(CST)                 PVST/PVST+

802.1W RSTP                       R-PVST     

802.1S MSTP                       MIST     

 

下面详细介绍这几个协议

CST  

  无论多少vlan,交换机只进行一次STP计算,所有流量走相同路径。

 

RSTP 

  CST端口状态blocking,listening,disabled都不发送数据,RSTP将这三个状态归为一个状态,discarding状态。RSTP端口状态有discarding,learning,forwarding。

 

 运行CST时,如果根交换机失效了,那么等待10个hello时间,也就是20秒收不到根交换机BPDU才能发现,再将block的端口转换为forwarding状态,还需要经过两个forwarddelay时间共计30秒,所以CST在网络出现故障好时,要经过50秒才能启用block端口,而RSTP则需要在3个hello时间,即6秒收不到根交换机BPDU,便认为根交换机失去连接,立刻启用discarding状态接口,RSTP在根交换机失效后,并不会进行完整的STP计算,会在该启用备用端口时立即启用,因此网络收敛速度快,RSTP会在低于1秒的时间内恢复网络。

 

PVST+

思科私有协议,之前的PVST只支持ISL的trunk,pvst+扩展PVST支持IEEE 802.1Q协议。PVST+每个vlan一颗生成树,每个STP算法和CST相同。

 

R-PVST+

顾名思义了,具有RSTP特性的PVST+。

 

MSTP

多实例生成树,CST会将所有流量放在单条路径上传输,PVST+则为每个vlan运行一个STP实例,虽然将不同vlan的流量放在不同路径上传输,但是由于维护太多生成树,需要消耗很多系统资源。MSTP就是他们两者的结合体,他根据不同的路径进行STP计算,也就是说无论有多少VLAN,实际需要多好条不同路径,就维护多少个STP。

 

 

总结了下,写了两个小时,我去。。。

   休息一会继续总结STP的特性,感觉这个我老不熟悉了,再次强化吧。

 

 

 

 

 

 

原创粉丝点击