Spanning Tree 生成树

目的:

交换机之间存在冗余(备份)路径,以及交换机的泛洪机制,导致交换机之间产生 二层交换环路。

造成影响:

Spanning Tree 生成树
1.广播风暴(数据在两个或多个交换机之间大量重复传递)
2.MAC地址表不稳定 (交换机会将某个主机的mac地址重复删除和学习)
3.数据帧的重复拷贝(由于ARP会泛洪和数据的重复传递,导致A主机发送的ARP会被交换机重复发送到B主机)

解决方案:

逻辑性阻塞某个接口. 在交换机之间,通过发送比较信息,选择在环路之间应该被阻塞的接口.

生成树类型:

  • 公有生成树:
    STP(又称为802.1D 标准生成树)
    RSTP(802.1W 快速生成树)
    MST(802.1S 多生成树)
  • 私有生成树:
    PVST(基于VLAN的标准生成树,每一VLAN都有自己的一套生成树)
    PVRST+(基于VLAN的快速生成树)

发送比较信息

BPDU—网桥协议数据单元
配置BPDU:config-BPDU
拓扑变更BPDU:TCN-BPDU
Spanning Tree 生成树

  • Protocol ID
    协议号,代表我是一个BPDU报文
  • Version
    表示是哪一种BPDU(802.1D或者802.1W等)
  • Message Type
    表示是配置BPDU还是拓扑变更BPDU
  • Flags
    802.1D中描述是拓扑变更BPDU还是拓扑变更BPDU确认,占2Bit。802.1W和802.1S中,用于整个生成树的选举,占6Bit。
  • Root ID
    根标识符 ,在一棵生成树中表示唯一根.使用最优质的BID表示,即根交换机的RID=BID。
  • Cost Of Path
    也称为CoP值,路径开销,描述了本接口到达根的路径开销值之和,数值越小越优
    10G-----2
    1G--------4
    100M-----19
    10M-----100
    默认根网桥上所有接口的COP值为0,经过不同的链路增加对应的cost
  • **Bridge ID **:网桥标识符,用于表示该交换机或网桥在交换网络中的唯一性
    构成:BID 优先级 + mac地址
    注意:
    PVST、PVRSTP+ 的构成 :BID优先级+VLAN ID+mac地址
    MST 的构成 :BID优先级+ instance ID + mac地址
  1. BID优先级:
    默认值为32768,数值范围0-65535(BID优先级数值必须为4096的倍数, 范围也可称为0-61440),再使用BID优先级时,数值越小越优.
  2. Mac 地址:
    本交换机上背板地址池中最小的MAC地址,mac地址越小越优
  3. Port ID :端口标识符,用于表示本交换机上接口的唯一性标识
    构成: PID优先级+port number
  4. PID优先级:
    默认为128,数值范围0-255(PID优先级必须为16的倍数,所有范围 0-240),数值越小越优
  5. Port number:端口号,表示了本交换机该接口的唯一性,一般为接口的端口号标 识,数值越小越优.
  • ** Message age** :
    消息时间,也称消息的老化时间,实际上等于MAC地址老化时间, 默认300s,即300s不发任何数据就删掉此mac地址,在启用portfast等特性时变为15s
  • Max age
    最大等待时间,默认20s,hello数据包的超时时间以及从blocking进入 listening 状态等待时间
  • Hellotime
    默认2s,配置BPDU的发送间隔
  • Forward delay
    转发延时,默认15s ,在生成树中状态切换间隔
    Listening进入learning进入forwarding 时间隔

交换网络中交换机的角色以及端口状态切换

交换机角色:分为根网桥和非根网桥
端口角色:根端口、指定端口、非指定端口(阻塞端口)
端口状态切换:

  • Blocking :阻塞状态,不能发送BPDU,接收BPDU,不能发送和接收数据,被动等待 20s进入下一状态
  • Listening :监听状态,可以发送和接收BPDU,不能发送和接收数据,进行STP选举, 被动等待一个 forward delay 15s进入下一状态
  • Learning :学习状态,可以发送和接收BPDU,不能发送和接收数据,可以学习BPDU 中的源MAC地址(MAC地 址学习状态),被动等待一个forward delay 15s进入下一 状态,生成树的选举在此过程中完成。
  • Forwarding :转发状态,可以发送、接收BPDU和数据,mac地址学习和生成树接口 状态切换完成

生成树选举

选举顺序:根网桥->根端口->指定端口->非指定端口(阻塞端口)
根网桥选举:具有最优BID的交换机为根网桥

  • 根端口:用于接收来自根的BPDU信息,只能存在于非跟网桥之上,并且一个交换机 只能存在一个.

根端口选举
1.最小COP值
2.发送方最小的BID
3.发送方的PID

  • 指定端口:用于发送或转发BPDU信息,存在于每条链路中,一条只能存在一个指定 端口,根网桥的所有接口全为指定端口

指定端口选举
1.接口所属交换机上根端口到达根网桥的COP值
2.本交换机BID
3.本地的PID
阻塞端口
逻辑上打破接口.

选举详细过程

Spanning Tree 生成树
根网桥选举
这里假设sw1 BID优先级最高(bid优先级以此类推),故sw1为根网桥
根端口选举

  • SW1:无根端口
  • SW2:
    1.最小cop(接口1和2)相同
    2.发送方都为根网桥,bid相同
    3.根网桥接口5的pid小,故选出根端口为接口1
  • SW3:
    1.最小cop(接口1和2)相同
    2.发送方都为根网桥,bid相同
    3.根网桥接口1的pid小,故选出根端口为接口1
  • SW4:
    1.最小cop(接口1和2)相同
    2.发送方都为根网桥,bid相同
    3.根网桥接口3的pid小,故选出根端口为接口1
  • SW5:
    1.最小cop(接口1和2)相同
    2.发送方sw3的bid小于sw4的bid,故选出根端口为接口1
  • SW6:
    1.最小cop(接口1和2)相同
    2.发送方sw3的bid小于sw4的bid,故选出根端口为接口1

根端口选举结果如图
Spanning Tree 生成树

指定端口选举

  • SW1:所有接口都为指定端口
  • SW2:接口2一定为阻塞端口
    1.接口3和4与sw2相比, cop相同,接口5与6和sw4相比,cop相同
    2.本交换机BID优于sw3和sw4,故接口3,4,5,6为指定端口
  • SW3:sw5和sw6有唯一的根端口,故接口7和8一定为指定端口,接口2,3,4一定为阻塞端口
    1.接口5和6与sw4相比cop相同
    2.本交换机BID优于sw4,故接口5和6为指定端口
  • SW4:接口2,3,4一定为阻塞端口
    1.接口7与sw5相比,cop小于sw5,故接口7为指定端口
    接口8与sw6相比,cop小于sw6,故接口8为指定端口
  • SW5:接口2为阻塞端口
  • SW6:接口2为阻塞端口
    Spanning Tree 生成树

指定端口选举第三条的特殊情况

Spanning Tree 生成树
假设sw1和sw2的cop相同,sw2的bid优,但sw2的接口1和2不能同时成为指定端口,否则会出环,所以比第三条接口pid,由于sw2的接口1的pid小于接口2的pid,故接口1成为指定端口
生成树拓扑结构变化
由发生改变的交换机的根端口向根网桥发送拓扑变更BPDU,根网桥收到后以自己为根重新收敛,之后在向之前发送拓扑变更BPDU的根端口发送拓扑变更BPDU确认

生成树的控制

Spanning Tree 生成树

根网桥的控制

设置BID优先级,默认为32768,修改sw2的bid为32768-4096=28672
sw2(config)#spanning-tree vlan 1 priority 28672
This bridge is the root
设置主根和备份根,设置sw1为主根,sw2为备份根
sw1(config)#spanning-tree vlan 1 root primary
sw2(config)#spanning-tree vlan 1 root secondary
主根的优先级变为32768-2*4096=24576
Bridge ID Priority 24577 (priority 24576 sys-id-ext 1)
备份根的优先级变为32768-4096=28672
Bridge ID Priority 28673 (priority 28672 sys-id-ext 1)

控制根端口的位置

修改链路cost值:修改sw2的cost为120
sw2(config-if)#spanning-tree vlan 1 cost 120
修改前
Et0/0 Root FWD 100 128.1 Shr
Et0/1 Altn BLK 100 128.2 Shr
修改后
Et0/0 Altn BLK 120 128.1 Shr
Et0/1 Root LIS 100 128.2 Shr
修改发送方BID:与上述修改根网桥之修改BID优先级方法一致
修改发送方PID:修改sw1的e0/2接口pid为192
sw1(config-if)#spanning-tree vlan 1 port-priority 192
修改之后sw1
Et0/2 Desg FWD 100 192.3 Shr
修改之前sw3
Et0/2 Root FWD 100 128.3 Shr
Et0/3 Altn BLK 100 128.4 Shr
修改之后sw3
Et0/2 Altn BLK 100 128.3 Shr
Et0/3 Root LIS 100 128.4 Shr

802.1D生成树优缺点

优点:树少、简单、
缺点:生成树收敛速度慢(默认共计收敛时间50s),基于计时器收敛、不能进行负 载分担

PVST优缺点

优点:简单、支持负载分担
缺点:生成树收敛速度慢,生成树数量较多.

解决办法:

1.使用spanning tree 的增强特性 portfast、backbonefast 、uplinkfast
2.使用RSTP或MST

相关文章: