ループが発生するのは2つのスイッチで両方spanning treeを無効にした場合だけである。
2つのスイッチのvlan 10に所属する二つのポートをそれぞれportfastに設定して2本のケーブルでつないだら、 全部FWDになってループが発生すると思ったのだが、ちゃんと一個がBLKになる。どうしてだろう・・・?
portfastを設定したことによってループが発生することになる例が思いつかない。
基本的なところから確認していこう。 まず、STPに対応していないL2スイッチを、ループが発生するようなトポロジで、つまり、2本のケーブルで同じセグメントを接続してみたらどうなるか。
1本目のケーブルを接続すると、LIS, LRNを経てFWDになる。 2本目を接続すると、即時BLKとなる。 この、2本目を接続するポートをportfastにしたらループが発生しそうだ。
やってみよう。 ・・・が、ポートはやはり即時BLKとなる。
Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Fa0/1 Desg FWD 19 128.1 P2p Fa0/2 Back BLK 19 128.2 P2p
fa0/1,0/2をともにportfastに設定してSTPに対応していないスイッチングハブに接続したが、ひとつがBLKになり、 ループは発生しない。これでループが発生しないなら問題ないでしょ・・・・
でも、どうして両方portfastにしても片方がBLKになるんだろう? STP未対応のスイッチングハブでも、BPDUは転送するから、ひとつのポートから送信されたBPDUをもう一方で受信することでBLKになるのか。
http://www.cisco.com/cisco/web/support/JP/100/1007/1007812_65-j.html
どうやら、portfastを設定することによりループが発生することにはならないようだ。 portfastを設定することによって問題となる可能性のあるのは、そのポートにL2スイッチを接続してそれがルートになることにより、トポロジに予期しない変化が発生することのようだ。
そこで、bpduguardを設定する。これはグローバルに設定する。 bpduguardを設定した状態で、portfastを設定したポートにSTP対応スイッチを接続すると、 リンクアップするがすぐにerrdisableになる。
cata1(config)#spanning-tree portfast ? bpdufilter Enable portfast bdpu filter on this switch bpduguard Enable portfast bpdu guard on this switch default Enable portfast by default on all access ports cata1(config)#spanning-tree portfast bpduguard cata1(config)#end cata1# 02:19:08: %SYS-5-CONFIG_I: Configured from console by console cata1#sho spanning-tree VLAN0010 Spanning tree enabled protocol rstp Root ID Priority 32778 Address 000f.90b3.b380 This bridge is the root Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32778 (priority 32768 sys-id-ext 10) Address 000f.90b3.b380 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Fa0/1 Desg FWD 19 128.1 P2p Fa0/2 Back BLK 19 128.2 P2p cata1# 02:19:30: %LINK-3-UPDOWN: Interface FastEthernet0/3, changed state to up 02:19:30: %SPANTREE-2-BLOCK_BPDUGUARD: Received BPDU on port FastEthernet0/3 with BPDU Guard enabled. Disabling port. 02:19:30: %PM-4-ERR_DISABLE: bpduguard error detected on Fa0/3, putting Fa0/3 in err-disable state 02:19:32: %LINK-3-UPDOWN: Interface FastEthernet0/3, changed state to down cata1# cata1#sho spanning-tree VLAN0010 Spanning tree enabled protocol rstp Root ID Priority 32778 Address 000f.90b3.b380 This bridge is the root Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32778 (priority 32768 sys-id-ext 10) Address 000f.90b3.b380 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Fa0/1 Desg FWD 19 128.1 P2p Fa0/2 Back BLK 19 128.2 P2pbpduguardの意味が、やっとわかった。