привет

занимаюсь тут одной академической задачей, в рамках которой столкнулся с вопросом, который непонятен. Есть 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 граблям? :-)

Спасибо.