一、生成树分类
   生成树主要解决二层环路问题,因为三层上有TTL,基本上不存在环路问题。
   本部分主要介绍三种生成树及特性:PVST(+)、 RSTP 、MSTP
1、生成树选举规则(以下各项特性为越低越好)
a、bridge ID  由两部分组成:桥优先级(默认32768)和MAC地址
b、spanning-tree path cost
各种以太网类型的cost如下:
10G:2     1G:4   100M:19    10M:100
c、sender bridge ID
 也就是发送者的桥ID,判断规则通a中的一样
d、port ID
两部分组成:端口优先级(默认32)和端口序列号(1/1,2/0等)
2、BPDU:生成树中用来发送STP消息的数据单元
a、由两种BPDU组成:
configration BPDU:自根交换机开始至上而下,从指定端口开始发送更新
TCN  BPDU:至下而上发送BPDU至根交换机,接着根交换机再发送给下面的交换机
b、端口经历的几个状态:
blocking—— listening 此时间为max age为20S
listening——learning  此时间为foward time 为15S
learning——fowarding 此时间为foward time 为15S
工作原理:如果一个block的端口隔上20S没有收到BPDU更新,将转变成listen状态,再过15S变learn状态,再过15S变成转发状态。这个过程中如果有接收到任何的BPDU,就会直接切换到block状态。
  发送BPDU更新的hello包时间间隔为2S
两个forward time均为15S,且可以通过命令修改
spanning-tree vlan 3 forward-time 5 (改为5S)
3、PVST工作原理
   对于每个VLAN都有一个生成树
命令:(config)#spanning-tree vlan 10 priority 4096
                             root primary
                             root secondary
      (config-if)#spanning-tree vlan 200 cost 11
4、RSTP(快速生成树)
a、接口状态:discarding——learning——forwarding
b、接口类型:(4种)
根端口,指定端口,
对应非指定端口:备份端口(备份同一交换机上的指定端口),替换端口(替换根端口的端口)
C、工作原理
  可自动监测链路状态:对应点到点链路为全双工,共享式为半双工,全双工的可以快速切换成转发状态;
  其BPDU比PVST的结构优异。
5、MST(多生成树)
  多个VLAN可以共用一个实例(instance)
配置:
  (config)#spanning-tree mode mst
  (config)#spanning-tree configration
  (config-mst)#name cisco
  (config-mst)#revision 1
  (config-mst)#instance 1 vlan 1-10      
二、生成树快速特性
1、portfast   
该接口一般接的是终端设备,其优点在于可以使得生成树直接从blocking到fowarding,时间仅仅用了2—4S
配置(config-if)#spanning-tree portfast
2、uplinkfast
该特性用在接入层交换机上面有两条上行链路,如果一条链路down掉,另一条链路可以快速切换到转发状态
(config)#spaning-tree uplinkfast
3、backbonefast
该特性用在核心层交换机上面,在一条链路down后,自动监测次级BPDU消息,使得交换机直接从block进入listening状态,省掉block的20S状态
(config)#spanning-tree backbonefast
4、port channel
分两种:
 PAGP:cisco专用协议
 LACP:共用协议
PAGP有四种状态:
on:不主动发送消息,只能与ON一起工作
desirable:默认配置,可与desirable,auto一起工作
auto:可与desirable一起工作
off:都不工作
三、STP安全特性
1、portfast
a、bpdu guard:防止交换机插入portfast口造成网络瘫痪
b、bpdu filter:功能通上面一样,但有两种配置方式,接口和全局
 接口:不发送也不接收BPDU,进入erro-disable状态
 全局:接收到bpdu后,变成正常的状态(不是portfast了)
2、root guard
在指定端口启用后,确保该端口永远是DP,而不会变成RP。接收到更优的BPDU后变为erro-disable状态。
(config)#spanning-tree guard root
3、loop guard
针对软件故障,在根端口和非指定端口上面启用,针对VLAN
4、UDLD
针对硬件故障,他与一层自动协商一起工作,如果监测到硬件出现故障,即可进入erro-disable状态,防止环路发生
 针对端口
四、冗余特性
1、多默认网关
2、代理ARP(不用)
3、IRDP(不用)
4、HSRP(cisco独有)
5、VRRP(共用标准)
6、GLBP(网关负载均衡协议)
7、SLB(服务负载均衡)