STP 
  -定义
  -作用
  -类型
      1、802.1d - STP  :生成树协议             PVST/PVST+(思科)
	  2、802.1w - RSTP :快速生成树协议         PV-RSTP(思科)
	  3、802.1s - MSTP :多生成树协议
  -报文
  

PVST:per-vlan STP,即在每个 VLAN 内部都运行一个 STP (802.1d);





STP的工作过程:
    1、确定交换机的角色
	        根交换机:整个交换网络中,有且只有一个;
	        非根交换机:剩余的其他交换机,都称之为非根交换机
			
		注意:
            每一个非根交换机都会计算出一条去往根交换机的最短的、
            无环、2层数据转发路径,并且最终该路径是“转发”状态;
			
			
		    选举原则:
			      比较每个交换机的 BID (bridge ID):优先级+MAC地址
				  优先级:默认值为 32768 ; 2个字节;
				  MAC地址:使用的是交换机的主板MAC;6个字节;
				     比较原则 - 
					       首先比较优先级,越小越好;
						   其次比较MAC地址,越小越好;
			
	2、确定端口的角色
	        根端口:在每一个非根交换机上,有且只有一个;
			        距离根交换机最近的端口;
					
			指定端口:在每一个"网段/segment"中,有且只有一个;
			        距离根交换机最近的端口;
					
			非指定端口:其他所有端口,都叫做“非指定端口”
	        
	3、确定端口的状态
	        down       -关闭(指的是当前端口没有启动STP)
			
			listening  -侦听,此时侦听的是网络中的所有的BPDU
			                  目的是为了确定交换机和端口的角色;
							  端口在该状态停留15s;
							  
			learning   -学习,该阶段主要是学习端口上收到的数据帧
			                   的源MAC地址,从而形成 MAC地址表;
							   端口在该状态停留15s;
							   
			forwarding -转发(最终状态),该状态实现数据包的发送和接收
			
			blocking   -阻塞(最终状态),该状态不能发送和接收数据包;
			                            只能接收 BPDU。
BPDU类型:
    1、配置BPDU
	       用于创建和维护 STP 无环转发路径树
	2、TCN BPDU 
	       只有当 STP 无环转发路径树(拓扑)变化的时候,才会
		   产生并发送。
		   并且是:感知到该变化的交换机,产生 TCN BPDU ,只
		   发送给根交换机,然后再由根交换机转发给其他的所有
		   非根交换机;
										
										
STP计时器:
     hello:交换机周期性发送 BPDU 的时间间隔,默认是 2s ; 
	 forward-delay : 转发延迟,默认时间为15s ; 
	 max-age:最大老化时间,默认时间为 20s ;

------------------------------------------------------------------------
STP参数修改(思科):
    1、修改交换机的 STP 优先级 (确保网络中有主根交换机和辅根交换机)
	        spanning-tree  vlan x priority {value} , value 是4096的倍数
			
    2、修改交换机的 STP 模式 (必须确保网络的所有交换机的STP模式相同)
	        spanning-tree mode  {pvst | rapid-pvst | mstp }
			
	3、修改交换机的 端口  cost 
	        interface fas0/22 (该链路指的是 trunk 链路)
			   spanning-tree  vlan 3 cost {value} 
	4、针对某个 VLAN ,关闭 STP 功能
	        no spanning-tree vlan x 
			
STP参数修改(华为):
    1、修改交换机的 STP 优先级: 
	       [SW] stp priority {value} -> 必须得是4096的倍数
    2、修改交换机的 STP 模式
	       [SW] stp mode {stp | rstp | mstp }
    3、修改交换机的端口的 STP  cost : 
	       [SW]interface fas0/13 
		   [sw-fas0/13]stp cost {value}
	4、在交换机上关闭/开启 STP :
	       [sw]stp disable -> 关闭 STP ;
		   [sw]stp enable -> 开启 STP ,默认是开启的;
		   
	

验证命令:
    show spanning-tree vlan  x ->可以查看交换机上关于 VLAN x 的 STP 信息
	show spanning-tree         ->可以查看交换机上关于所有VLAN的 STP 信息
	show spanning-tree summary ->可以查看交换机运行的 STP 的模式; 
	show version -> 可以查看交换机的 base mac ;

    display  stp  
    display  stp brief 
	
注意:
   交换机上的 STP 功能,默认都是开启的;可以人工关闭;


=============================================================
MSTP的配置:
    - MST域(region),同一个域中,可以同时包含多个实例;
	- MSTI(instance),即MST 实例,一个MSTI 可以同时关联多个 VLAN ;
	
  配置 MST region 
       [SW]stp region-configuration 
	   [sw-mstp-region]region-name {string}  //配置 region 的名字;
	   [sw-mstp-region]instance {id} vlan x y z m n  //配置关联的VLAN
	   [sw-mstp-region]active region-configuration 
	   [sw-mstp-region]display this
  配置 MSTI 
       [sw1]stp instance {id} priority {value} <-将 SW1设置为 实例id 的根;
 
  验证命令:
       display stp instance {id}
	   display stp brief 
注意:
    默认情况下,所有的 VLAN 都是属于 instance 0 ; (系统的默认instance)
    一个MSTP网络中,可以同时包含多个 region ; 
	每个MST Region 中,可以包含多个 instance (MSTI)
    属于相同 region 的交换机上,以下参数必须相同:
	         #region-name 
			 #实例与vlan的映射关系必须相同
			 
	属于同一个 region 中的多个交换机之间,可以基于 instance 进行
	   流量的负载均衡和备份;
	   
=====================================================================

STP 收敛速度比较慢 :30-50s 

RSTP收敛速度要比 STP 快,因为做了以下改进:
  1、发现问题比较快
        
  2、反应/传输问题比较快
        发现拓扑变更的交换机,会产生TCN BPDU,直接发送给与自己相连
		的其他所有交换机;
        
  3、解决问题比较快
---------------------------------------------------
端口角色细化:

    根端口(root port ) 
	指定端口 (designated port )	 
	替代端口(alternative port ):是根端口的备胎;
	备份端口(bakcup port ):是指定端口的备胎

(边缘端口:一般都建议关闭 STP ;或者将连接非交换机的端口,设置非边缘端口)

----------------------------------------------------------------------

端口状态精简化:
	learning   :学习
	forwarding :转发
	discarding :丢弃,相当于之前 STP 中的 down / blocking / listening
     
------------------------------------------------------------------------