美文网首页
stp-生成树协议

stp-生成树协议

作者: 小吉头 | 来源:发表于2020-07-03 16:59 被阅读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
    

    相关文章

      网友评论

          本文标题:stp-生成树协议

          本文链接:https://www.haomeiwen.com/subject/stsyxktx.html