stp-生成树协议

2020-07-03  本文已影响0人  小吉头

stp作用

能让环形网络变成树形网络
1、冗余网络中,避免单点故障
2、容易有环路, 导致广播风暴,mac地址表不稳定

stp工作范围

pvst模式中,每个vlan都有一棵生成树,互不影响。本篇分享的都是基于pvst模式。

#默认是pvst,收敛时间比较长,1分钟左右,如果要求高使用rapid-pvst,2秒左右能实现收敛
sw1(config)#spanning-true mode rapid-pvst

实验一,理解stp工作的四个步骤

所有比较项都是越小越优先

sw1背板mac地址 c001.263c.0001
sw2背板mac地址 c002.1ec8.0001
sw3背板mac地址 c003.04e4.0001

所有接口no shutdown
所有接口配置为trunk模式
三台交换机都创建vlan10

1、选出一个根桥交换机

交换机是通过互相发送bpdu数据包,里面包含了自己的bridge ID,然后选出值最小的作为根桥。所有数据都要经过树根才能转发。
bridge ID是交换机名字(8字节),构成如下:
优先级(默认32768) + vlan号 + mac地址(背板mac,给交换机内置的cpu分配的mac)

可以人为降低优先级,指定某个vlan中指定某个交换机为根交换机

sw2(config)#spanning-tree vlan 10 priority ?     
  <0-65535>  bridge priority
2、非根桥交换机选出一个根端口

第一步通过互相发送bpdu选出根桥后,以后就只有根桥发送bpdu(2秒一次),其他交换机转发该bpdu并附加上下面的4个参数:
bpdu数据包组成:
(1)、根桥名字
(2)、cost stp协议规定100M口cost 19,1000M口 cost 4,10G cost 2按入接口算,根刚出去是0
修改cost值,指定某个vlan中的某个接口为根端口(入方向)

sw2(config-if)#spanning-tree vlan 10 cost ?
  <1-65535>  Change an interface's per VLAN spanning tree path cost

(3)、转发者的桥id(交换机名字)
(4)、转发者的端口id (端口优先级(默认128,可以人工修改) + 端口序号)
修改优先级,指定某个vlan中的某个接口为根端口(出方向)

sw2(config-if)#spanning-tree vlan 10 port-priority ?
  <0-255>  Change an interface's per VLAN spanning tree priority 

按上面的顺序比较,胜出的成为根端口

3、每根线上选出一个指定端口

方法和2一样,按顺序比较,值小的胜出
可以直接判断出根桥连接的接口是指定端口,因为cost是0

4、剩余接口全部阻塞

sw1是根桥交换机
黄圈表示非根桥交换机上的根端口
红圈表示指定端口


sw3#show spanning-tree vlan 10 br

VLAN10
  Spanning tree enabled protocol ieee
  Root ID    Priority    32768
             Address     c001.263c.0001
             Cost        19
             Port        41 (FastEthernet1/0) 
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32768
             Address     c003.04e4.0001
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec #bpdu数据包每2秒发送一次,20秒没有收到bpdu数据包说明
             Aging Time 300    #mac地址在交换机中的缓存时间

Interface                                   Designated
Name                 Port ID Prio Cost  Sts Cost  Bridge ID            Port ID
-------------------- ------- ---- ----- --- ----- -------------------- -------
FastEthernet1/0      128.41   128    19 FWD     0 32768 c001.263c.0001 128.42 
FastEthernet1/1      128.42   128    19 BLK    19 32768 c002.1ec8.0001 128.42 

上面的根桥交换机信息如下:

  Root ID    Priority    32768
             Address     c001.263c.0001
             Cost        19
             Port        41 (FastEthernet1/0) 
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

如果自己的根桥id和根桥交换机信息一致,说明这就是根桥交换机。
如果不一致,可以通过下面的方式快速寻找根交换机:
Port 41 (FastEthernet1/0)说明sw3这台非根交换机的根端口是F1/0(离根桥交换机最近的端口),通过邻居表可以查看到端口连接信息:

sw3#show cdp neighbors 
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID
sw1              Fas 1/0            134         R S I     2691      Fas 1/1
sw2              Fas 1/1            133         R S I     2691      Fas 1/1

可以看到sw3的F1/0接口是跟sw1的F1/1接口连接,由于拓扑简单,sw1正好就是根桥交换机。如果sw1也是非根交换机,继续使用sw1的根端口去查邻居接口...直到找到根桥交换机。

端口状态,只要网络状态发生变化,就会经历临时状态->最终状态
临时状态:
listenning 【down到up,有15秒监听,用来确定根桥、端口角色】
learnning 【学习mac 15秒】
这两个状态的15秒,就是Forward Delay 15 sec
最终状态:
forwarding 【指定端口,根端口】
blk 【剩余的端口】

实验2,能判断哪个是转发者

mac地址 sw1 < sw2 < sw3


sw1是根桥交换机。
sw2选根端口过程(注意sw1是根桥,对sw2来说同时也是转发者):
之前的实验可以知道f1/0和f1/1优先级高于f1/2和f1/3,比较f1/0和f1/1的四个步骤
1、根桥名字一样,都是sw1
2、bpdu数据包从sw1转发到sw2,入f1/0后值变成19,入f1/1后值变成19,cost值一样
3、转发者的桥id即sw1,一样
4、转发者的端口,查看sw1的端口id,sw1上f1/0端口id 128.41,f1/1端口id 128.42。所以f1/0胜出。
sw1#show spanning-tree vlan 10 bri

VLAN10
  Spanning tree enabled protocol ieee
  Root ID    Priority    32768
             Address     c001.2954.0001
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32768
             Address     c001.2954.0001
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

Interface                                   Designated
Name                 Port ID Prio Cost  Sts Cost  Bridge ID            Port ID
-------------------- ------- ---- ----- --- ----- -------------------- -------
FastEthernet1/0      128.41   128    19 FWD     0 32768 c001.2954.0001 128.41 
FastEthernet1/1      128.42   128    19 FWD     0 32768 c001.2954.0001 128.42 
FastEthernet1/4      128.45   128    19 FWD     0 32768 c001.2954.0001 128.45 
FastEthernet1/5      128.46   128    19 FWD     0 32768 c001.2954.0001 128.46

接口上portpast配置

电脑连接到交换机重新插拔后,可以跳过listenning和learnning状态,提升转发效率。
只能配置在access模式下。交换机之间不能用,容易环路。

sw2(config-if)#spanning-tree portfast
上一篇下一篇

猜你喜欢

热点阅读