привет
      
      занимаюсь тут одной академической задачей, в рамках которой
      столкнулся с вопросом, который непонятен. Есть STP (не rapid) в
      следующей топологии:
    
    
    
    в этой топологии - root@sw5, а кольцо разорвано на (sw2-sw1)@sw2.
      Ситуация состоит в следующем:
      
      1) если я рву линк sw4-sw2, то sw4 генерит TCN в сторону sw5 и
      последний, соответственно, генерит ответный TCN, который посылает
      в тот же порт, с которого был получен оригинальный TCN:
    
    sw4(config-if)#shut
      sw4(config-if)#
    Oct 13 23:16:35.647: STP: VLAN0001 sent Topology Change Notice on
      Gi1/0/3
    Oct 13 23:16:35.647: %LINK-5-CHANGED: Interface
    GigabitEthernet1/0/1, changed state to administratively down
    Oct 13 23:16:36.653: %LINEPROTO-5-UPDOWN: Line protocol on Interface
    GigabitEthernet1/0/1, changed state to down
    
    sw5#
    Oct 13 23:16:35.644: STP: VLAN0001 rx BPDU: config protocol = ieee,
    packet from FastEthernet0/3  , linktype IEEE_SPANNING , enctype 2,
    encsize 17
    Oct 13 23:16:35.644: STP: enc 01 80 C2 00 00 00 EC 44 76 F7 28 83 00
    07 42 42 03
    Oct 13 23:16:35.644: STP: Data     00000080
    Oct 13 23:16:35.644: STP: VLAN0001 Fa0/3:0000 00 80
    Oct 13 23:16:35.644: STP: VLAN0001 Topology Change rcvd on Fa0/3
    Oct 13 23:16:35.644: STP: VLAN0001 Fa0/3 tx BPDU: config
    protocol=ieee
        Data : 0000 00 00 81 6001EC30915E0F00 00000000
    6001EC30915E0F00 8005 0000 1400 0500 0F00
    
    Когда sw2 раздупляется о происходящем, он тоже посылает TCN в
      сторону root (sw1->sw5), который обрабатывается рутом по той же
      схеме - получил с порта от sw1 и туда же отправил:
    
    Oct 13 23:16:40.711: STP: VLAN0001 rx BPDU: config protocol = ieee,
    packet from FastEthernet0/1  , linktype IEEE_SPANNING , enctype 2,
    encsize 17
    Oct 13 23:16:40.711: STP: enc 01 80 C2 00 00 00 A4 0C C3 27 42 81 00
    07 42 42 03
    Oct 13 23:16:40.719: STP: Data     00000080
    Oct 13 23:16:40.719: STP: VLAN0001 Fa0/1:0000 00 80
    Oct 13 23:16:40.719: STP: VLAN0001 Topology Change rcvd on Fa0/1
    Oct 13 23:16:40.719: STP: VLAN0001 Fa0/1 tx BPDU: config
    protocol=ieee
        Data : 0000 00 00 81 6001EC30915E0F00 00000000
    6001EC30915E0F00 8003 0000 1400 0500 0F00
    
    2) НО, если я рву линк sw4-sw5 (независимо от того, с какой
      стороны), то sw5 ни хера не генерит в ответ на падение порта, а
      начинает реагировать только когда ему приходит TCN со стороны
      sw2->sw1:
    
    Oct 13 23:32:09.240: STP[1]: Generating TC trap for port
    FastEthernet0/3
    Oct 13 23:32:09.248: %LINK-3-UPDOWN: Interface FastEthernet0/3,
    changed state to down
    Oct 13 23:32:10.246: %LINEPROTO-5-UPDOWN: Line protocol on
    Interface FastEthernet0/3, changed state to down
    Oct 13 23:32:28.643: STP: VLAN0001 rx BPDU: config protocol
    = ieee, packet from FastEthernet0/1  , linktype IEEE_SPANNING ,
    enctype 2, encsize 17
    Oct 13 23:32:28.643: STP: enc 01 80 C2 00 00 00 A4 0C C3 27 42 81 00
    07 42 42 03
    Oct 13 23:32:28.643: STP: Data     00000080
    Oct 13 23:32:28.643: STP: VLAN0001 Fa0/1:0000 00 80
    Oct 13 23:32:28.643: STP: VLAN0001 Topology Change rcvd on Fa0/1
    Oct 13 23:32:29.641: STP: VLAN0001 Fa0/1 tx BPDU: config
    protocol=ieee
        Data : 0000 00 00 81 6001EC30915E0F00 00000000 6001EC30915E0F00
    8003 0000 1400 0500 0F00
    
    причем происходит это с полагающейся задержкой в 20 секунд
      (стандартные величины таймеров), пока sw2 раздупляется с десятью
      неполученными Hello по линку sw5-sw4-sw2:
    
    Oct 13 23:32:09.609: STP: VLAN0001 heard root 32769-ec44.76f7.2880
    on Fa0/1
    Oct 13 23:32:11.152: STP: VLAN0001 heard root 32769-ec44.76f7.2880
    on Fa0/1
    Oct 13 23:32:13.157: STP: VLAN0001 heard root 32769-ec44.76f7.2880
    on Fa0/1
    Oct 13 23:32:15.162: STP: VLAN0001 heard root 32769-ec44.76f7.2880
    on Fa0/1
    Oct 13 23:32:17.167: STP: VLAN0001 heard root 32769-ec44.76f7.2880
    on Fa0/1
    Oct 13 23:32:19.172: STP: VLAN0001 heard root 32769-ec44.76f7.2880
    on Fa0/1
    Oct 13 23:32:21.177: STP: VLAN0001 heard root 32769-ec44.76f7.2880
    on Fa0/1
    Oct 13 23:32:23.181: STP: VLAN0001 heard root 32769-ec44.76f7.2880
    on Fa0/1
    Oct 13 23:32:25.186: STP: VLAN0001 heard root 32769-ec44.76f7.2880
    on Fa0/1
    Oct 13 23:32:27.191: STP: VLAN0001 heard root 32769-ec44.76f7.2880
    on Fa0/1
    Oct 13 23:32:27.611: STP: VLAN0001 new root port Fa0/2, cost 119
    Oct 13 23:32:27.611: STP: VLAN0001 Fa0/2 -> listening
    Oct 13 23:32:28.642: STP: VLAN0001 Topology Change rcvd on Fa0/1
    Oct 13 23:32:28.642: STP: VLAN0001 sent Topology Change Notice on
    Fa0/2
    Oct 13 23:32:42.618: STP: VLAN0001 Fa0/2 -> learning
    Oct 13 23:32:57.625: STP: VLAN0001 sent Topology Change Notice on
    Fa0/2
    Oct 13 23:32:57.625: STP: VLAN0001 Fa0/2 -> forwarding
    
    Вопрос - это фича или баг, что "отрыв ноги" непосредственно на
      root bridge не приводит к моментальному TCN?
      
      И отсюда следует интересное наблюдение - root bridge надо
      размещать на коммутаторе, в который не входит внешняя оптика, т.е.
      что типа:
      
      (внешние линки) >>> [edge switch] --- [root bridge] ---
      [edge switch] <<< (внешние линки)
      
      для того, чтобы "ненадежные" соединения включались в
      edge-коммутаторы, которые будут слать TCN в сторону root. Это так?
      
      Или это я хожу по well-known граблям? :-)
      
      Спасибо.