伴随着三层交换的出现,原有的802.1D在一分钟内完成收敛恢复连接已经不合时宜,因为一些动态路由协议往往在1S内就能够完成收敛。如何减少生成树的收敛时间?思科提出了三个FAST,IEEE借鉴后开发了RSTP。
另外一个问题便是:802.1D只针对物理设备选举生成树,不考虑VLAN,也就是说这种情况下所有用户流量都只会走一个根,这在冗余的链路环境中势必造成设备资源的巨大浪费,这是不允许的。如何解决这个问题?每个VLAN一棵生成树,通过为不同的VLAN指定不同的根,从而实现负载分担。
然而如果遇上大规模的网络,VLAN数目很多的情况下,这种每个VLAN一棵生成树的方案也变得不可取,因为尽管每VLAN一棵树可以让设备资源不至于闲置,但在VLAN数目很多时会占用很大的设备资源。因为交换机不得不为每个VLAN维持保存一棵树。这种问题如何解决?于是MST多生成树出来了。何谓多生成树,说白了就是多个VLAN对应一棵树。至此,生成树自身已经很完善了。
接下来将会是如何保护生成树不频繁的翻转,保护树根。思科提出了几个增强的方案,具体看下面。
以上这些都只是单条物理链路上的生成树的情况,而在园区网中常常会因各种原因存在多条物理链路以增加带宽,但是一旦启用生成树,这些链路将只会有一条起作用,也就是说增加带宽的目的将不会达到。如何解决?EtherChannel
问题:(1)uplink fast发送伪多播帧抑制TCN是怎么实现的?是怎么一个过程?不明白,请老师指教!
(2)RSTP拓扑变更中的TC while计时器是做什么用的?
(3)RSTP中链路类型是作什么用的?为什么要区别点对点链路和共享链路?
一、思科的三个fast
1、Port Fast
(1)本质:让access接口不参与生成树,不发不收BPDU,在接口启用之后直接变为转发状态;
(2)作用:节省了生成树的收敛时间,提高了效率。
(3)用处:接主机的接入层交换机接口
(4)配置:方法一:全局启用,然后在非access接口改;
方法二:在access接口配置:SW1(config-if)#spanning-tree portfast
方法三:在基于IOS的CatLyst交换机上SW1(config-if)#switchport host 将端口置为接入模式并启用Portfast特性禁用channel.
(5)好处:防止工作站引导时的DHCP超时,Novell登录问题,Apple-talk地址发现等问题
2、Uplink Fast
(1)本质:根端口的备份;
(2)作用:从而节省了生成树收敛时间
(3)实现:在根端口失效时立即变为根端口,而不用等待max-age超时再从blocking状态直到切换为转发状态,该过程在5s之内完成。同时,交换机代理主机发送伪多播帧以抑制TCN拓扑变更通告,进而便于上游交换机将MAC地址表从发生故障的链路立即移动到新的端口。
(4)用处:VLAN数目较少的接入层交换机
(5)配置:SW2(config)#spanning-tree uplinkfast 全局模式下配置。配置完之后该交换机的优先级会增加到49152,并且所有接口的cost值会加上3000,使得该交换机不能成为根桥,当然这只在默认优先级和默认端口开销的交换机上有效.
3、Backbone Fast
(1)本质:指定端口的备份。
(2)实现:当非直连上行链路down掉之后,上游交换机会发送一个次级BPDU,本地交换机收到这个次级BPDU后,先检查有没有到达根桥的替代路径,如果没有则在Max-age过期后发送自己的BPDU开始新的STP选举,如果有则向替代路径发送一个RLQ根链路查询,如果返回的响应是原先的根桥,则说明原来的根桥还活着。这时将把接收到次级BPDU的端口立即变为监听状态。
(3)作用:用于非直连检测。能节省20秒的收敛时间,不用等待最大寿命超时。
(4)用处:所有交换机上
(5)条件:点到点链路。如是共享链路,收到次级BPDU会正常的进行STP的选举。
(6)配置:SW2(config)#spanning-tree backbonefast
二、RSTP
1、端口状态:
(1)Discarding:学习BPDU。由于用到了提议和协定,这个时间通常会在1S内完成。这是RSTP之所以快的主要原因。
(2)Leaning:学习MAC地址
(3)Forwarding:转发用户数据
2、端口角色:
(1)根端口
(2)指定端口
(3)代替端口:相当于cisco的uplink fast,是根端口的备份,在根端口失效后立即变为根端口
(4)备份端口:是指定端口的备份口,一般和指定端口位于同一个交换机上
(5)边缘端口:相当于cisco的port fast,接主机,不发送BPDU,也不发送拓扑变化通告TC,在接收到BPDU时变为普通 |