Catalyst 2960Xでのインターフェイスに対するspanning-tree portfast、bpduguard、bpdufilterの動作検証結果


背景

Catalyst2960Xの2つのポートに spanning-tree portfast、bpduguard enable、bpdufilter enable を設定し、そのポートを同じ8ポートスイッチに接続するとループとなりブロードキャストストームが発生する。この挙動について一部不明瞭な点があったのであらためて検証機で検証した。

前提条件

・Catalystには spanning-tree mode rapid-pvst コマンドを投入
・LANケーブルを接続する各ポートはVLAN100、スイッチポートとする

構成

Catalystと8ポートスイッチを2本のLANケーブルで接続

テストケース

GigabitEthernet0/1-2、3-4...と奇数-偶数のポートに同じ設定を投入する。

・テストケース1
 portfastとbpduguardを設定

 Gi0/1-2
  switchport access vlan 100
  switchport mode access
  spanning-tree portfast
  spanning-tree bpduguard enable

・テストケース2
 portfastのみ設定

 Gi0/3-4
  switchport access vlan 100
  switchport mode access
  spanning-tree portfast

・テストケース3
 bpduguardのみ設定

 Gi0/5-6
  switchport access vlan 100
  switchport mode access
  spanning-tree bpduguard enable

・テストケース4
 bpdufilterのみ設定

 Gi0/7-8
  switchport access vlan 100
  switchport mode access
  spanning-tree bpdufilter enable

・テストケース5
 ポートにspanning-treeコマンドを設定しない

 Gi0/9-10
  switchport access vlan 100
  switchport mode access

・テストケース6
 portfast、bpduguard、bpdufilterを設定

 Gi0/11-12
  switchport access vlan 100
  switchport mode access
  spanning-tree portfast
  spanning-tree bpdufilter enable
  spanning-tree bpduguard enable

・テストケース7
 portfastとbpdufilterを設定

 Gi0/13-14
  switchport access vlan 100
  switchport mode access
  spanning-tree portfast
  spanning-tree bpdufilter enable

・テストケース8
 bpdufilterとbpduguardを設定

 Gi0/15-16
  switchport access vlan 100
  switchport mode access
  spanning-tree bpdufilter enable
  spanning-tree bpduguard enable

結果

テストケース1 bpduguardにより片方のポートがerrdisabledとなりループとならない
テストケース2 rapid-pvstにより片側のポートがブロッキングとなりループとならない
テストケース3 bpduguardにより片方のポートがerrdisabledとなりループとならない
テストケース4 pbdpfilterによりBPDUの送受信が停止するためループとなる
テストケース5 rapid-pvstにより片側のポートがブロッキングとなりループとならない
テストケース6 pbdpfilterが優先されループとなる(bpduguardは無視される)
テストケース7 pbdpfilterが優先されループとなる
テストケース8 pbdpfilterが優先されループとなる(bpduguardは無視される)

追加検証

①片方のポートにbpdufilter enable、もう片方のポートは設定なしで8ポートスイッチと接続
→ループとなる

②Catalystと8ポートスイッチを1本のケーブルで接続し、8ポートスイッチの2つのポートをループ接続する
→Catalystのポートがスパニングツリーのブロッキングとなりループにならない

結論

ループ構成となるいずれか1つのポートに spanning-tree bpdufilter enable コマンドが設定されているとBPDUの送受信がストップされループ構成となる。たとえbpduguard enableが設定されていたとしても無視される。