はじめに
設定変更をしていないにもかかわらず、Cisco スイッチのトランクポートが突然ブロックされ、特定の VLAN だけ通信できなくなることがあります。このとき、ログには PVID(Port VLAN ID)不整合を示すメッセージが出力されます。
本記事は、この PVID Inconsistent エラーを、両端トランクのネイティブ VLAN 不一致という原因に絞って解説します。Type 不整合(アクセス/トランクの種別不一致)とは別のエラーである点を整理し、どの VLAN がなぜブロックされたかを特定して復旧するまでを扱います。STP 全体の位置づけは、関連記事『スパニングツリー(STP)とは|仕組みと RSTP・MSTP の違い』も参照してください。
- PVID Inconsistent エラーの意味と、Type 不整合との違い
- バージョンによって異なる 2 系統のログ表記の読み解き方
- なぜ両側の VLAN がブロックされるのかという仕組み
- ネイティブ VLAN を一致させる確認・対処の手順
要点を先に示すと、このエラーの原因は両端トランクのネイティブ VLAN 不一致です。Cisco の PVST+/Rapid-PVST+ は BPDU に発信元 VLAN の情報を埋め込んでおり、受信した VLAN と食い違うと、受信側 VLAN と対向の発信元 VLAN の両方をブロックします。両端でネイティブ VLAN を揃えれば、不整合 BPDU が止まり、ポートは自動的に回復します。
PVID Inconsistent とは
PVID Inconsistent は、トランクポートで両端のネイティブ VLAN が一致しないときに、Cisco の PVST+/Rapid-PVST+ が検知してポートをブロックする保護動作です。
Cisco の PVST+ BPDU は、末尾に発信元 VLAN を示す PVID TLV を持っています。受信側スイッチはこの値と、BPDU が実際に届いた VLAN を比較し、食い違いを検出するとネイティブ VLAN 不一致と判断します。この検出はタグを扱うトランク(802.1Q)で機能し、標準 BPDU を送るアクセスポートでは発生しません。
参考: Cisco — Troubleshoot Spanning Tree PVID- and Type-Inconsistencies
“When inconsistency is detected, both VLANs are blocked on the port.”
(不整合を検出すると、そのポートで両方の VLAN がブロックされる)
https://www.cisco.com/c/en/us/support/docs/lan-switching/spanning-tree-protocol/24063-pvid-inconsistency-24063.html

ログの読み解き方
PVID 不整合のログ表記は、プラットフォームや IOS/IOS XE のバージョンによって 2 系統に分かれます。どちらも意味は同じで、ネイティブ VLAN 不一致を示します。
系統 A(従来からの表記)
%SPANTREE-2-RX_1QPVIDERR: Rcved pvid_inc BPDU on 1Q port 3/25 vlan 1
%SPANTREE-2-RX_BLKPORTPVID: Block 3/25 on rcving vlan 1 for inc peer vlan 10
%SPANTREE-2-TX_BLKPORTPVID: Block 3/25 on xmtting vlan 10 for inc peer vlanこの例では、VLAN 1 が BPDU を受信した VLAN、VLAN 10 が対向で発信された VLAN を指します。両者が食い違うため、VLAN 1 と VLAN 10 の両方がブロックされます。
系統 B(新しめの表記。検索で見かける RECV_PVID_ERR はこちら)
%SPANTREE-2-RECV_PVID_ERR: Received BPDU with inconsistent peer vlan id 10 on GigabitEthernet1/1 VLAN1.
%SPANTREE-2-BLOCK_PVID_PEER: Blocking GigabitEthernet1/1 on VLAN0010. Inconsistent peer vlan.
%SPANTREE-2-BLOCK_PVID_LOCAL: Blocking GigabitEthernet1/1 on VLAN0001. Inconsistent local vlan.こちらは「対向(peer)の VLAN」と「自拠点(local)の VLAN」をそれぞれ明示してブロックします。表記は異なりますが、両端のネイティブ VLAN がずれているという原因は系統 A と同じです。
show spanning-tree inconsistentportsを実行すると、Inconsistency 列に Port VLAN ID Mismatch と表示され、show spanning-tree vlan <id>ではポート状態が BKN*(ブロック)かつ *PVID_Inc と確認できます。
Type 不整合との違い
ログが似ているため Type 不整合と混同しやすいですが、原因も対処も異なります。
| 項目 | Type 不整合 | PVID 不整合 |
|---|---|---|
| 原因 | アクセス/トランクの種別不一致 | 両端トランクのネイティブ VLAN 不一致 |
| 代表的なログ | RECV_1Q_NON_TRUNK/BLOCK_PORT_TYPE | RX_1QPVIDERR や RECV_PVID_ERR 系 |
| inconsistentports 表示 | Type Inconsistent | Port VLAN ID Mismatch |
| 対処の方向 | 両端のポート種別を揃える | 両端のネイティブ VLAN を揃える |
Type 不整合(アクセス/トランクの食い違い)の原因と対処は、関連記事『Cisco スイッチで Inconsistent port type が出る原因と対処』で詳しく扱っています。本記事は、両端がトランクである前提での PVID 不整合に絞ります。
なぜ両側の VLAN がブロックされるのか
PVID 不整合では、ネイティブ VLAN がずれている 2 つの VLAN が同時にブロックされます。その理由は、PVST+ が BPDU に埋め込む発信元 VLAN 情報の比較にあります。
Cisco の PVST+/Rapid-PVST+ は、VLAN ごとに BPDU を生成します。トランクでは、ネイティブ VLAN の BPDU をタグなしで、それ以外の VLAN の BPDU をタグ付きで送出します。そして、各 BPDU の末尾には発信元 VLAN を示す PVID TLV が付加されています。
受信側スイッチは、BPDU が届いた VLAN(自拠点のネイティブ VLAN)と、TLV が示す発信元 VLAN(対向のネイティブ VLAN)を比較します。両端のネイティブ VLAN が異なると、この 2 つが食い違い、PVID 不整合として検知されます。
このとき、受信側の VLAN と対向の発信元 VLAN の両方がブロックされます。例えば、自拠点のネイティブ VLAN が 1、対向のネイティブ VLAN が 10 の場合、その当該ポートで VLAN 1 と VLAN 10 の両方がブロックされます。両方を止めるのは、ネイティブ VLAN がずれたまま通信を許すと、本来分離されているべき VLAN 1 と VLAN 10 がトランクのタグなし領域で接続され、VLAN の混線を招くためです。 PVID 不整合のブロックは、この混線を防ぐ保護動作にあたります。

原因の切り分け(確認コマンド)
ログを確認したら、まず不整合の種別を確認し、続いて両端のネイティブ VLAN を突き合わせます。
不整合ポートと種別の確認
show spanning-tree inconsistentportsを実行すると、ブロック中のポートと不整合の種別が一覧表示されます。PVID 不整合では Inconsistency 列に Port VLAN ID Mismatch と表示されます。
Switch# show spanning-tree inconsistentports
Name Interface Inconsistency
-------------------- ------------------------ ------------------
VLAN0001 GigabitEthernet1/0/1 Port VLAN ID Mismatch
VLAN0010 GigabitEthernet1/0/1 Port VLAN ID Mismatch
Number of inconsistent ports (segments) in the system : 2同じポートで 2 つの VLAN が並ぶのは、両側の VLAN がブロックされているためです。該当 VLAN の状態は show spanning-tree vlan <id>でも確認でき、ポートが BKN*(ブロック)かつ *PVID_Inc と表示されます。
両端のネイティブ VLAN の確認
次に、show interfaces trunkで両端のトランクのネイティブ VLAN を比較します。Native vlan 列の値が両端で異なっていれば、それが原因です。
Switch# show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gi1/0/1 on 802.1q trunking 1対向スイッチで同じコマンドを実行し、Native vlan の値(この例では 10 など)が一致しているかを確認します。個別ポートの設定は show interfaces <id> switchportの Trunking Native Mode VLAN 行でも確認できます。
なお、CDP が有効な区間では、STP の不整合とは別に、CDP がネイティブ VLAN 不一致を検知してログを出力します。
%CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on GigabitEthernet1/0/1 (1), with SW2 GigabitEthernet0/1 (10).このログは、両端のネイティブ VLAN がずれていることをポート番号と VLAN 番号付きで示すため、切り分けの裏付けに使えます。
参考: Cisco — Configure Inter-VLAN Routing with Catalyst Switches
“Check that the native VLAN matches on both sides of the trunk link.”
(トランクリンクの両端でネイティブ VLAN が一致しているか確認する)
https://www.cisco.com/c/en/us/support/docs/lan-switching/inter-vlan-routing/41260-189.html
対処: ネイティブ VLAN を一致させる
解消の基本は、両端トランクのネイティブ VLAN を揃えることです。まず設計上どの VLAN をネイティブにするかを決め、両端を同じ値に設定します。
! 設計上のネイティブ VLAN(例: VLAN 1)に両端を揃える
Switch_A(config)# interface GigabitEthernet1/0/1
Switch_A(config-if)# switchport trunk native vlan 1
Switch_B(config)# interface GigabitEthernet0/1
Switch_B(config-if)# switchport trunk native vlan 1両端のネイティブ VLAN が一致し、不整合 BPDU の受信が止まれば、ポートはコマンド操作なしで自動的にブロック解除されます。Cisco の公式ドキュメントでも、不整合 BPDU を受信しなくなれば不整合状態が解除され、通常の STP 動作に戻ると整理されています。
(参照: Cisco PVID/Type 不整合トラブルシュート — https://www.cisco.com/c/en/us/support/docs/lan-switching/spanning-tree-protocol/24063-pvid-inconsistency-24063.html )
設計上の注意
ネイティブ VLAN は両端一致が前提です。加えて、トランクで許可する VLAN(switchport trunk allowed vlan)も両端で揃えておくと、不要な VLAN の伝搬や別種の不整合を避けやすくなります。ネイティブ VLAN を VLAN 1 のまま運用するより、未使用の VLAN を専用のネイティブ VLAN として統一する方が、セキュリティと管理の面で扱いやすくなります。(両端一致が前提です)
よくある誤解と運用上の注意
PVID 不整合の切り分けで踏みやすい誤解と、運用上の注意点を整理します。
多数の VLAN が一斉に不整合表示される場合は、単純なネイティブ VLAN 不一致ではない可能性があります。ネイティブ VLAN 不一致は通常、受信側と対向の 2 つの VLAN の組で現れます。多数の VLAN が同時にブロックされるときは、片側がアクセス・片側がトランクという種別不一致や、中継機器がタグを除去しているケースを疑います。種別不一致については、関連記事『Cisco スイッチで Inconsistent port type が出る原因と対処』を参照してください。
PVID 不整合の検知は、Cisco の PVST+/Rapid-PVST+ に固有の動作です。MST(Multiple Spanning Tree)モードに切り替えている環境では、BPDU の生成方式が異なるため、同じログが出ないことがあります。MST 環境での挙動は、別の個別記事で扱う予定です。

まとめ
PVID Inconsistent は、両端トランクのネイティブ VLAN 不一致を Cisco の PVST+/Rapid-PVST+ が検知し、ポートをブロックする保護動作です。Type 不整合とは原因も対処も異なります。本記事では、ログの読み解き方から確認・対処までを整理しました。
- PVID 不整合は両端トランクのネイティブ VLAN 不一致が原因
- PVST+ BPDU の PVID TLV と受信 VLAN の食い違いを検知してブロック
- 受信側と対向、両方の VLAN が同時にブロックされる
- ログは RX_1QPVIDERR 系と RECV_PVID_ERR 系の 2 表記がある
- inconsistentports の表示は Port VLAN ID Mismatch
- 対処は両端のネイティブ VLAN を揃えることで、一致後は自動回復
- 多数の VLAN が一斉に出る場合は種別不一致や中継機器を疑う
以上、最後までお読みいただきありがとうございました。
