スイッチ間接続で、一方をswitchport mode trunk、対向をswitchport mode accessに設定してしまう誤接続。
この場合、単に通信が通らないだけでは済みません。Rapid PVST+が動作するCisco Catalystでは、スイッチ自身が設定ミスマッチを検知し、ポートをBKN(Broken)状態で強制ブロックします。
本記事では、この「STP/PVID不整合」がなぜ検知できるのかというプロトコル上の仕組みと、実機での確認・復旧手順を整理します。

何が起きるのか

2台のCatalystが、異なるポートモードで直結された構成を想定します。

[ Switch A ]                          [ Switch B ]
 Gi1/0/1                               Gi1/0/1
 switchport mode trunk  <=========>    switchport mode access
 (Native VLAN: 1)                      (Access VLAN: 10)

物理リンクはUpしますが、両スイッチがBPDUの整合性チェックに失敗し、該当ポートは即座にブロッキングへ遷移します。show spanning-tree上のステータスはBKN、タイプ欄には*PVST_Incまたは*PVID_Incと表示されます。

なぜ検知できるのか:PVST+のBPDU仕様

検知の鍵は、Cisco独自のPVST+/Rapid PVST+が持つBPDUの送信仕様にあります。

  • VLANごとに独立したSTPインスタンス:VLANごとに別々のBPDUが送信されます
  • ネイティブVLAN(VLAN 1)のBPDU:標準IEEE 802.1D形式でタグなし送信されます
  • その他のVLANのBPDU:Cisco独自の宛先MAC(01-00-0c-cc-cc-cd)宛てに、802.1Qタグ付きの「SSTP BPDU」として送信されます

この仕様により、Switch B側のアクセスポート(VLAN 10所属)には2種類の「想定外BPDU」が届きます。

Switch A (Trunk)                     Switch B (Access: VLAN 10)
  |                                    |
  |-- [VLAN 10 Tagged SSTP BPDU] -->   | タグ付きBPDUを受信
  |                                    | → ポートモード/PVIDのズレを検知
  |                                    |
  |-- [VLAN 1 Untagged BPDU] ------>   | VLAN 10所属なのにVLAN 1の
  |                                    | BPDUを受信 → PVID不一致を検知

タグなしで届いたVLAN 1のBPDUに対して、アクセスポートは「自分はVLAN 10なのに、なぜVLAN 1のBPDUが届くのか」という不一致を検知します。この結果、スイッチはループ防止のセーフティネットとして該当ポートを不整合(Inconsistent)状態とし、データ転送を遮断します。

実機で確認されるログとステータス

不整合を検知した瞬間、コンソールには以下のSyslogが出力されます。

%SPANTREE-2-RECV_PVID: Spanning Tree Blocked GigabitEthernet1/0/1 on VLAN0001 - received TX PVID 10
%SPANTREE-2-PORT_BLOCK: Port GigabitEthernet1/0/1 blocked on VLAN0001 due to PVID inconsistency

「PVID不整合を検出したためポートをブロックした」という直接的なログが記録されるため、ここまで確認できれば原因の特定は早くなります。

STPの状態を確認すると、StsがBKN、Typeに*PVST_Incと表示されます。

Switch# show spanning-tree interface gigabitethernet 1/0/1

VLAN0001
  Spanning tree enabled protocol rstp

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- -------------------------
Gi1/0/1             Desg BKN*20000     128.1    P2p Bound(PVST) *PVST_Inc

この状態では、物理リンクはUpのままでも、STPの制御によりデータトラフィックの転送が完全に停止します。「リンクは上がっているのに通信が一切通らない」という現象の典型例です。

なぜここまで厳格にブロックするのか

不整合を無視してフォワーディングを継続すると、TrunkとAccessの間でブロードキャストフレームが予期せぬVLANへ透過し、異なるVLANを跨いだL2ループ(ブロードキャストストーム)に発展する危険があります。

Rapid PVST+は結線の不整合を「致命的な設定ミス」と見なして水際でブロックすることで、ネットワーク全体の崩壊を未然に防いでいます。ポート1本の遮断は、その代償として十分に安いと言えるでしょう。

復旧手順

Step 1:両端の論理設定を比較する

Switch# show interfaces gigabitethernet 1/0/1 switchport
  • Administrative Mode:設定上のモード。一方がtrunk、他方がstatic accessになっていないか確認します
  • Operational Mode:実際の動作状態が想定通りか確認します

設定値(Administrative)と動作状態(Operational)を対比するのが解決への最短ルートです。両端で出力を並べて比較しましょう。

Step 2:ネイティブVLANのズレを確認する

トランク側のネイティブVLANと、アクセス側のアクセスVLAN(またはトランク対向のネイティブVLAN)が一致しているかを確認します。ネイティブVLANが不一致のトランクリンクは、STPループやパケットリークの温床になるため、必ず両端で一致させてください。

Step 3:DTPを無効化してモードを固定する

Catalystのデフォルトポートはdynamic autoで、対向とトランクのネゴシエーションを試みます。これが他社製機器との接続や意図しないトランク化の原因になるため、モードを明示的に固定したうえでDTPフレームの送信を停止することをお勧めします。

Switch(config)# interface gigabitethernet 1/0/1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport nonegotiate

まとめ

Trunk/Accessの誤接続は、PVST+のBPDU仕様(タグ付きSSTP BPDU+タグなしVLAN 1 BPDU)により、PVID/PVST不整合として検知されます。
検知したスイッチはポートをBKN(*PVST_Inc)状態にして通信を強制遮断します。
復旧は「show interfaces switchportで両端のAdministrative/Operationalを対比 → ネイティブVLANの一致確認 → モード固定+nonegotiate」の順で進めれば、レイヤを飛ばさずに原因へ到達できます。