生成树协议的理解和配置

1、STP协议:通过判断网络中存在环路的地方并阻断冗余电路。通过这种方式STP能够确保到每个目标都只有一条路径,所以永远不会产生环路。如果发生某条链路失效,网桥就会将接口从阻塞状态过度到转发状态。stp执行一种sta(spanning-tree algorithm)生成树算法。
2、stp(IEEE802.1D)
生成树为每一台交换机分配一个唯一的桥ID,桥ID由两部分组成,桥优先级和MAC地址。(优先级2字节,mac6字节)cisco设备的桥优先级默认是32768,优先级取值范围是0-65535,STP的消息都是通过BPDU(桥协议数据单元)来传递
IEEE802.1D传递消息的时间默认是2秒。
BPDU主要工作:选举根桥,确定冗余路径的位置、通过阻塞特定端口来避免环路、通告网络中的拓扑变化、监控生成树的状态。
BPDU有两种状态:配置BPDU和TCN BPDU,配置BPDU只有根桥才能发出,配置BPDU选择根桥和保持拓扑稳定,TCN BPDU是交换机检测到拓扑发生变化时发出的。
3、生成树端口状态和BPDU计时器
当第二层接口直接从生成树拓扑的非参与状态过度到转发状态,也就可能产生暂时的数据环路。
阻塞状态(blocking):不参与帧转发,但监听流入的BPDU,端口不能学习接收帧的MAC地址。
监听(listening):交换机能决定根,并且可以选择根端口和其他端口,不能学习任何接收帧的单播地址。
学习(learning):准备参与转发,能学习流入帧的MAC地址,但不能转发。
转发(forwarding):学习接收帧的源MAC,可根据MAC进行转发。
禁用(disabled):不能参与生成树,也不能转发。
BPDU三种计时器:hello时间2秒,转发延迟15秒,最大寿命:20秒。端口从阻塞到转发正常是需要30-50秒的时间。
4、STP的选举规则
选择根桥:网络中只有一个根桥,拥有优先级最低的为根桥,优先级相同比较MAC地址,在根桥上所有的端口都未指定端口。
选择所有非根桥的根端口:在每一个非根桥上建立一个根端口,选择根端口是非根桥到根桥的最低开销。如果非根桥有到达根桥的多条等价路径,那么非根桥将选择连接到连接到最低网桥ID的端口(注意:看对方的端口而不是自己),如果对方端口都相同,那么非根桥将选择具有最低端口ID。
选择各个网段的指定端口:在网上桥选择一个指定端口,在一个网段内到达根网桥的路径开销最低。如果相同那么具有最低优先级的端口被选为指定端口,如果端口优先级仍然相同,那么拥有最低端口ID将成为指定端口。
当拓扑发生变化的时候,交换机将发送TCN BPDU,接收方需要回复TCN ACK确认,一直传递到根由根发配置BPDU更新。
5、MAC地址缩减
由于交换地址池容纳的地址有限,交换机需要支持最多4096个VLAN,MAC地址不够用所采取的一种方法,CISCO交换机支持每一个VLAN一个生成树PVST+,如果启用MAC地址缩减特性,网桥优先级就成为4096的倍数加上VLANID,在启用MAC地址缩减的时候,交换机只能将交换机的优先级指定为4096的倍数。
例:VLAN1,桥优先级是8192+1=8193(由于采用了MAC地址缩减所以优先级变成了8193)
6、配置PVST+
spanning-tree vlan xx root  primary(交换机的 宏命令,将交换机设为根桥)
spanning-tree vlan xx root  secondary(将交换机设为备份根桥)
7、快速生成树协议(802.1W)
快速生成树协议也简称RSTP,能够加快计算生成树的速度,
RSTP定义了两个端口:替代端口,备份端口。
RSTP定义了三种端口状态:丢弃状态,学习状态,转发状态。
RSTP的丢弃状态相当于802.1D的禁用,阻塞、监听状态的合并。RSTP认为阻塞状态的端口和监听状态的端口之间不存在区别,两种状态都将丢弃数据帧,并且都不学习MAC地址,RSTP能从端口状态中分离出端口角色。
IEEE802.1W是802.1D的一种进化而不是一种革命。802.1W能兼容802.1D,如果802.1W兼容802.1D那么就会返回到802.1D模式,802.1W的优点就没有了。
8、RSTP定义了五种端口角色
根端口:从路径开销的角度出发,根端口是最接近根网桥的端口。
指定端口:通过将不同网段连接在一起,网桥能创建桥接域。在一个网段中,要求只有一条去往根桥的路径,对于连接到给定网段的所有网桥,它们都将监听其他网桥的BPDU,并将发送最佳BPDU的网桥作为网段的指定网桥(指定端口)
替代端口:替代端口是阻塞从其他网桥接收BPDU的端口,如果活跃的根端口发生故障,替代端口将成为根端口。
备份端口:备份端口是从同一个网桥共享链路的阻塞端口,如果现有的指定端口发生故障那么备份端口将成为指定端口。
禁用端口:禁用端口不担当任何角色。
9、RSTP BPDU格式和BPDU操作
在802.1D中,类型字段只使用了2BIT,也就是TC和TC确认,RSTP使用字节所有剩余6bit来完成端口和角色的选举。
在802.1D中,只有当它在根端口上接收到BPDU的时候非根桥才能产生BPDU,802.1W中即使没有从根桥收到BPDU网桥会每隔2秒发送包含当前信息的BPDU,如果给定端口在连续3个hello时间都没有收到BPDU,那么网桥立即对协议信息进行老化处理。
RSTP收敛所需的时间就是提议和协定BPDU到达两台交换机所需的时间,通常在1秒之内就能完成。(A提议,B协定)
10、多生成树(MST)
MST多生成树协议,相比PVST+拥有更快的收敛速度,并且向后兼容802.1D,802.1W和cisco的PVST+。通过对VLAN分组并将其关联到生成树实例,MST允许在干道上组建多生成树,每个实例都拥有独立于其他生成树实例的拓扑。
例:
  
11、配置:MST
switch(config)#spanning-tree  mode  mst
switch(config)#spanning-tree  mst  configuration
switch(config-mst)#name  cisco
switch(config-mst)revision  1
switch(config-mst)instance  1  vlan 1-10