この記事は、 「ネットワーク中級編|構築・検証・障害切り分けを身につける」 の第5回です。
前回学んだアクセスポートとトランクポートを土台に、 複数のVLANを1本のリンクで識別して運ぶIEEE 802.1Qの仕組みを理解します。
IEEE 802.1Qとは?VLANタグの構造・ネイティブVLAN・通信の流れを図解
トランクポートでは、VLAN 10とVLAN 20のフレームが同じケーブルを通ります。 それでもスイッチが所属VLANを区別できるのは、EthernetフレームへVLAN情報を付加する IEEE 802.1Qを利用しているためです。この記事では、タグの4バイト構造から設定確認、 パケットキャプチャー、障害切り分けまで順番に解説します。
「トランクポートは複数VLANを運ぶ」と覚えていても、 フレームのどこにVLAN番号が入り、受信側がどう判断するのかまで説明できない人は少なくありません。
実務では、allowed VLANの不足、ネイティブVLANの不一致、タグが想定どおり付いていないなど、 802.1Qを理解していないと切り分けにくい障害が発生します。
この記事を読み終えるとできること
- IEEE 802.1Qの役割を説明できる
- VLANタグが挿入される位置を説明できる
- TPID・PCP・DEI・VIDの意味を区別できる
- アクセスポートとトランクポートでのタグ付与・除去を説明できる
- ネイティブVLANの扱いと注意点を説明できる
- 確認コマンドとパケットキャプチャーから障害箇所を絞り込める
IEEE 802.1Qとは何か
IEEE 802.1Qとは、EthernetフレームへVLANを識別するための情報を付加し、 1本の物理リンクで複数のVLANを運べるようにする標準規格です。
VLAN 10とVLAN 20を2台のスイッチ間で延伸するとします。 VLANごとに専用ケーブルを用意する方法では、VLANが増えるほどポートと配線が増えてしまいます。
そこで、スイッチ間のリンクをトランクポートにし、フレームへ 「このフレームはVLAN 10」「このフレームはVLAN 20」という識別情報を付けて運びます。 この識別情報が一般に802.1Qタグ、またはVLANタグと呼ばれます。
IEEE 802.1Qとトランクポートの関係
トランクポートは複数VLANを運ぶポートの役割を表し、IEEE 802.1Qは そのリンク上でフレームの所属VLANを識別する方法を定めています。
タグが必要になる理由
同じリンクに複数VLANが流れる
物理ケーブルだけを見ても、フレームがVLAN 10かVLAN 20かを区別できません。
受信側へVLAN情報を伝える
VLAN IDをタグへ記録することで、受信スイッチは同じVLANへ正しく転送できます。
まず全体を1枚の図で理解する
次の構成では、PC-AとPC-CがVLAN 10、PC-BとPC-DがVLAN 20に所属しています。 SW1とSW2の間は、VLAN 10とVLAN 20を同時に運ぶトランクリンクです。
802.1Qで複数VLANを運ぶ基本構成
重要ポイント
一般的な端末はVLANタグを意識しません。アクセスポートから入ったタグなしフレームに対して、 スイッチが所属VLANを判断し、トランクへ出すときにタグを付けます。
内部ではVLAN情報を保持している
アクセスポートで受信したフレーム自体には802.1Qタグがなくても、スイッチ内部では 「このフレームはVLAN 10」という情報を付けて処理します。 トランクポートから外へ送る段階で、その情報を802.1QタグとしてEthernetフレームへ挿入します。
802.1Qタグはフレームのどこに入るのか
802.1Qタグは4バイトで、Ethernetフレームの 送信元MACアドレスとEtherType/Lengthフィールドの間へ挿入されます。
/Length 2バイト
タグなしフレームでは、送信元MACアドレスの直後にEtherType/Lengthが続きます。 タグ付きフレームでは、その間にTPIDとTCIから構成される4バイトが入ります。
| フレーム | 送信元MACの次 | 所属VLANの判断 |
|---|---|---|
| タグなし | EtherType/Length | 受信ポートの設定やPVIDなどから判断 |
| 802.1Qタグ付き | TPID → TCI → EtherType/Length | TCI内のVIDから判断 |
タグの付与によってフレーム内容が変わるため、送信側スイッチはFCSを計算し直します。 受信側はフレームの整合性を確認し、必要に応じてタグを取り除いて再度FCSを生成します。
TPID・PCP・DEI・VIDの構造
4バイトの802.1Qタグは、2バイトのTPIDと、2バイトのTCIに分かれます。
TPID
Tag Protocol Identifier
後続部分が802.1Qタグであることを示す識別子です。一般的なC-tagでは
0x8100が使用されます。
TCI
Tag Control Information
優先度、廃棄可能性、VLAN IDを格納する16ビットのフィールドです。
TCIの16ビット構造
PCP
Priority Code Point
3ビットで優先度を表します。値は0~7で、QoSにおけるレイヤー2の優先制御に利用されます。
DEI
Drop Eligible Indicator
輻輳時に廃棄対象として扱えるかを示すための1ビットです。
VID
VLAN Identifier
12ビットで所属VLANを識別します。通常のVLAN IDとして利用できる範囲は1~4094です。
VIDが12ビットなのに4096個すべて使えない理由
12ビットでは0~4095を表現できますが、VID 0とVID 4095には特別な意味があります。
| VID | 扱い | 概要 |
|---|---|---|
| 0 | 予約・Priority Tag | VLANを指定せず、PCPなどの優先度情報を運ぶ用途 |
| 1~4094 | 通常利用 | VLANを識別するために使用可能 |
| 4095 | 予約 | 通常のVLAN IDとして使用しない |
製品や運用設計によっては、1~4094のすべてを自由に使えるとは限りません。 予約VLAN、システム利用VLAN、プラットフォーム上の制限を確認してください。
タグが付与・除去される通信の流れ
PC-Aから、別スイッチに接続されたPC-Cへ通信する流れを確認します。 両端末はVLAN 10のアクセスポートへ接続されています。
- PC-Aがタグなしフレームを送信する 一般的なPCは802.1Qタグを付けず、通常のEthernetフレームを送信します。
- SW1がアクセスポートで受信する SW1は受信ポートの設定から、そのフレームをVLAN 10として扱います。
- SW1がトランクポートから送信する SW1は802.1Qタグを付け、VIDへ10を格納してトランクリンクへ送信します。
- SW2がタグを読み取る SW2はTPIDからタグ付きフレームと判断し、VID 10からVLAN 10のフレームとして処理します。
- SW2が転送先ポートを判断する VLAN 10のMACアドレステーブルを参照し、PC-Cが接続されたアクセスポートを選びます。
- タグを除去してPC-Cへ送信する アクセスポートから出すときに802.1Qタグを取り除き、PC-Cへタグなしフレームを届けます。
場所ごとのフレーム状態
受信時と送信時を分けて考える
| ポート | 受信時 | 送信時 |
|---|---|---|
| アクセスポート | タグなしフレームをポート所属VLANへ分類 | 基本的にタグを付けず端末へ送信 |
| トランクポート | タグのVIDを読み、所属VLANを識別 | 通常は所属VLANのタグを付けて送信 |
障害切り分けでは「そのポートがaccessかtrunkか」だけでなく、 受信フレームをどのVLANへ分類し、送信時にタグを付けるか外すかまで考えます。
ネイティブVLANの仕組み
802.1Qトランクでは、タグ付きフレームとタグなしフレームを同じリンク上で扱える場合があります。 タグなしフレームを所属させるVLANを、一般にネイティブVLANまたは PVIDに対応するVLANとして扱います。
トランクポート上でタグなしフレームを受信したときに所属させるVLANです。 Cisco系の一般的な初期動作では、ネイティブVLANのフレームは送信時にもタグなしで流れます。
VLAN 10・20とネイティブVLAN 999の例
ネイティブVLAN不一致で何が起こるか
SW1側のネイティブVLANが10、SW2側が20だった場合、SW1からタグなしで送られたVLAN 10のフレームを、 SW2はVLAN 20として受け取る可能性があります。
ネイティブVLANはトランク両端で一致させます。
不一致は、意図しないVLANへの混入、通信不良、管理プロトコルの警告、 セキュリティ上の問題につながるため、設定値と運用方針を両端でそろえてください。
ネイティブVLANをタグ付けする設定
製品によっては、ネイティブVLANのフレームにもタグを付ける設定ができます。
Cisco IOS XE系では、機種やソフトウェアによってvlan dot1q tag nativeなどを使用します。
この動作を有効にすると、ネイティブVLANを含むトランクトラフィックをタグ付きに統一できます。 ただし、対向機器の対応、既存設計、制御フレームの扱い、機種依存の動作を確認してから適用します。
「ネイティブVLANは必ずタグなし」と断定しないことが重要です。 標準の概念と、各ベンダー・機種・設定による実装差を分けて確認してください。
タグ付与によるフレームサイズの変化
802.1Qタグは4バイトです。そのため、同じデータを運ぶ場合でも、タグ付きEthernetフレームは タグなしフレームより4バイト大きくなります。
タグなしEthernet
最大1518バイト
宛先MACからFCSまでを数えた一般的な最大サイズです。
802.1Qタグ付きEthernet
最大1522バイト
4バイトのVLANタグが追加されます。
現在の一般的なスイッチは802.1Qタグ付きフレームを処理できますが、古い機器や中間装置、 独自にフレーム長を制限している環境では、1522バイトのフレームがエラーになる可能性があります。
QinQなどで複数タグを重ねる構成では、さらにフレームが大きくなります。 MTUだけでなく、機器が許容するレイヤー2フレームサイズも確認してください。
Cisco IOSでの設定・確認例
次の例では、Gi0/1をトランクポートにし、VLAN 10と20を許可し、ネイティブVLANを999に設定します。
コマンド構文や必要な設定は、機種、OS、ライセンス、ポート種別によって異なります。
実機では?ヘルプと公式ドキュメントを確認してください。
show interfaces trunkで確認する
| 確認項目 | 見る内容 | 異常例 |
|---|---|---|
| Status | 実際にtrunkingになっているか | not-trunking、down |
| Encapsulation | 802.1Qが使われているか | 想定外の方式、表示なし |
| Native vlan | 対向と同じ値か | SW1は999、SW2は1 |
| Vlans allowed | 必要なVLANが許可されているか | VLAN 20が一覧にない |
| active/forwarding | VLANが存在し、STPで転送可能か | allowedだがactiveに出ない、forwardingに出ない |
併せて確認する代表コマンド
show interfaces trunkだけで原因を断定せず、VLANの存在、MAC学習、STP状態、
インターフェース設定を組み合わせて確認します。
Wiresharkで802.1Qタグを確認する
パケットキャプチャーでタグ付きフレームを取得できれば、VLAN IDやPCPを直接確認できます。 Wiresharkでは、Ethernet IIの下に802.1Q Virtual LANなどの項目が表示されます。
確認するフィールド
| Wireshark上の項目 | 確認内容 |
|---|---|
| Tag Protocol Identifier | 一般的なC-tagで0x8100になっているか |
| Priority | PCPの値が意図した優先度か |
| DEI | 廃棄可能性を示すビット |
| ID | VIDが想定したVLAN番号か |
キャプチャー場所に注意してください。
PCをアクセスポートへ接続して取得すると、通常はタグなしフレームしか見えません。 トランクリンク上で取得するか、SPAN/ミラーポートを利用します。 ただし、SPANがVLANタグを保持するかは機種と設定によって異なります。
タグが見えない主な理由
- アクセスポート側でキャプチャーしている
- ネイティブVLANのフレームを取得している
- ミラーポートでタグが除去されている
- NICドライバーやハードウェアオフロードがタグを処理している
- 対象通信が想定したトランクを通っていない
802.1Q障害の切り分け
「同じVLANなのにスイッチをまたぐと通信できない」場合は、 802.1Qトランクの設定とフレームの所属VLANを順番に確認します。
up/エラーを確認
trunkingを確認
allowed・activeを確認
MAC・STP・タグを確認
基本的な確認順序
- 物理リンクとエラーを確認する インターフェースがupか、CRCエラーやドロップが増加していないか確認します。
- 両端がトランクとして動作しているか確認する 片側だけaccess、またはDTPなどのネゴシエーション不一致になっていないか確認します。
- 必要なVLANがallowed VLANに含まれるか確認する VLAN 20だけ通信できない場合は、片側でVLAN 20が許可されていない可能性があります。
- VLANが作成され、activeか確認する allowed VLANに書かれていても、スイッチ上にVLANが存在しなければ正常に転送できません。
- ネイティブVLANが両端で一致するか確認する タグなしフレームの所属先がずれていないかを確認します。
- STPの状態を確認する 対象VLANでポートがblocking/discardingになっていないか確認します。
- MACアドレステーブルをVLAN単位で確認する 対象端末のMACが正しいVLANとポートで学習されているか追跡します。
- 必要に応じてタグをキャプチャーする 送信側でタグが付いているか、受信側で想定VIDとして認識されているか確認します。
症状から考える原因
| 症状 | 考えられる原因 | 主な確認 |
|---|---|---|
| すべてのVLANが通らない | リンク断、片側access、トランク未確立、STPブロック | interfaces status、interfaces trunk、STP |
| 特定VLANだけ通らない | allowed VLAN不足、VLAN未作成、対象VLANのみSTPブロック | allowed/active/forwarding一覧 |
| ネイティブVLANだけ不安定 | ネイティブVLAN不一致、タグ付与設定の差 | native vlan、tag native設定 |
| タグが想定と違う | 接続ポートのVLAN誤り、PVID誤り、上流での変換 | switchport、MACテーブル、キャプチャー |
| 大きなフレームだけ落ちる | レイヤー2フレームサイズ、MTU、中間装置の制限 | インターフェースカウンター、サイズ設定 |
調査結果の報告例
確認結果:SW1–SW2間のGi0/1は両端とも802.1Qトランクとしてupしています。 VLAN 10は両端のallowed/active/forwarding一覧に存在し、MACアドレスもVLAN 10として対向ポートで学習されています。 一方、VLAN 20はSW2側のallowed VLANに含まれていません。VLAN 20のみ通信できない原因は、 SW2 Gi0/1のトランク許可設定不足と判断します。
設定変更前の判断ポイント
- 対向側の設定も同時に確認する
- 追加するVLANが本当に必要か構成図・設計書と照合する
- STPやVTPなど、関連機能への影響を確認する
- ネイティブVLANを変更する場合は両端を計画的に変更する
- 変更後は対象VLANだけでなく既存VLANの疎通も確認する
IEEE 802.1Qに関するよくある勘違い
ネイティブVLANやPVIDの扱い、機器設定によって、タグなしフレームがトランクを通る場合があります。
802.1Qタグは、送信元MACアドレスとEtherType/Lengthの間へ挿入されます。
タグにはTPIDとTCIがあり、TCIにはPCP、DEI、VIDが含まれます。
VLANの作成状態、STP、MAC学習、アクセスポート側のVLAN、上位レイヤー設定も正常である必要があります。
アクセスポートでは通常、端末へ届く前にタグが除去されます。トランク上での取得方法を検討してください。
802.1Q障害はタグだけを見ても断定できません。トランク状態、allowed VLAN、native VLAN、STP、MACテーブルを照合します。
理解度チェック
次の6問に答えてください。解答を見る前に、フレームのどこで何が変化するかを考えてみましょう。
問題1.IEEE 802.1Qの主な役割として最も適切なものはどれですか。
- IPアドレスからMACアドレスを調べる
- EthernetフレームへVLAN情報を付け、複数VLANを識別して運ぶ
- ルーティングテーブルから最適経路を選ぶ
- スイッチ間のループを防止する
解答を見る
IEEE 802.1Qは、EthernetフレームへVLAN識別情報を付加し、トランクリンクなどで複数VLANを運ぶために使われます。
問題2.802.1Qタグが挿入される位置はどこですか。
- 宛先MACアドレスの前
- 宛先MACアドレスと送信元MACアドレスの間
- 送信元MACアドレスとEtherType/Lengthの間
- FCSの後ろ
解答を見る
4バイトの802.1Qタグは、送信元MACアドレスの後、元のEtherType/Lengthの前へ挿入されます。
問題3.TCI内でVLAN IDを格納するフィールドはどれですか。
- TPID
- PCP
- DEI
- VID
解答を見る
VIDは12ビットでVLANを識別します。PCPは優先度、DEIは廃棄可能性を示します。
問題4.一般的なアクセスポートからPCへフレームを送るとき、VLANタグはどうなりますか。
解答を見る
PCなどの一般的な端末はタグなしフレームを送受信し、スイッチがポート設定からVLANを判断します。
問題5.ネイティブVLANがトランク両端で不一致の場合、どのような問題が起こり得ますか。
解答例を見る
タグなしで送られたフレームを対向側が別VLANとして分類し、意図しないVLANへの混入や通信不良が発生する可能性があります。
問題6.VLAN 10は通信できるのにVLAN 20だけスイッチ間を通過できません。最初に確認したい項目を3つ挙げてください。
解答例を見る
- 両端トランクのallowed VLANにVLAN 20が含まれるか
- 両スイッチにVLAN 20が作成されactiveか
- VLAN 20のSTP状態がforwardingか
併せて、アクセスポート側のVLAN設定とMACアドレステーブルも確認します。
実践演習:VLAN 20だけ通信できない原因を特定しよう
SW1とSW2はGi0/1で接続されています。VLAN 10の端末間通信は成功しますが、VLAN 20の端末間通信だけ失敗します。
演習構成
SW1の確認結果
SW2の確認結果
課題1.原因を特定する
VLAN 20だけ通信できない直接的な原因は何ですか。
課題1の解答を見る
SW2 Gi0/1のallowed VLANにVLAN 20が含まれていないことが原因です。
SW1ではVLAN 20が許可されていますが、SW2側では10,999のみです。
SW2のトランクでVLAN 20のフレームを転送できません。
課題2.修正コマンドを考える
課題2の解答を見る
既存の許可VLANを上書きしないよう、機種が対応していればaddを使います。
実行前に現在の設定とコマンド動作を確認してください。
課題3.変更後の試験項目を挙げる
修正後に確認すべき項目を4つ以上挙げてください。
課題3の解答例を見る
show interfaces trunkでVLAN 20がallowed/active/forwardingに表示されること- PC-BからPC-Dへpingできること
- SW1・SW2がVLAN 20でPC-B/PC-DのMACアドレスを学習すること
- VLAN 10の既存通信が継続して成功すること
- インターフェースエラーが増えていないこと
- ログに新たな警告が出ていないこと
課題4.調査結果を報告文にする
課題4の報告例を見る
VLAN 20に所属するPC-BとPC-D間のみ疎通できない事象を確認しました。 SW1–SW2間のGi0/1は両端とも802.1Qトランクとしてupしていましたが、 SW2側のallowed VLANが10,999となっており、VLAN 20が許可されていませんでした。 SW2 Gi0/1へVLAN 20を追加後、トランクのallowed/active/forwarding一覧にVLAN 20が表示され、 PC-B–PC-D間のpingとVLAN 20のMAC学習を確認しました。既存のVLAN 10通信にも影響はありませんでした。
自分の言葉で説明する課題
「なぜトランクポートでは複数のVLANを1本のケーブルで運べるのですか?」と聞かれました。 45秒程度で説明してください。
説明例を見る
トランクポートでは、IEEE 802.1Qを使ってEthernetフレームへVLAN IDを含む4バイトのタグを付けます。 受信側のスイッチはタグのVIDを読み、フレームがVLAN 10かVLAN 20かを区別します。 そのため、異なるVLANのフレームを同じ物理リンクで混在させても、所属VLANを維持したまま転送できます。 アクセスポートから端末へ送る際は、通常タグを取り除きます。
「4バイトのタグ」「VIDでVLANを識別」「トランク上で複数VLANを運ぶ」 の3点を含められれば、この記事の重要事項を説明できています。
まとめ
- IEEE 802.1Qは、EthernetフレームへVLAN情報を付加する標準規格
- 802.1Qタグは4バイトで、送信元MACアドレスとEtherType/Lengthの間へ挿入される
- タグはTPIDとTCIから構成され、TCIにはPCP・DEI・VIDが含まれる
- VIDは12ビットで、通常のVLAN IDとして1~4094を利用する
- アクセスポートでは、ポート設定からVLANを判断し、端末へは通常タグなしで送信する
- トランクポートでは、通常VIDを含むタグを付けて複数VLANを運ぶ
- ネイティブVLANはタグなしフレームを分類するVLANであり、両端の設定を一致させる
- タグ付きフレームは4バイト増え、一般的な最大サイズは1522バイトになる
- 障害時はtrunking、allowed VLAN、VLANのactive状態、STP、MAC学習、タグを順番に確認する
802.1Qを理解するポイントは、設定コマンドを暗記することではなく、 フレームがどこでVLANへ分類され、どこでタグが付与・除去されるかを追跡できることです。
参考仕様・公式ドキュメント
- IEEE 802.1Q – Virtual LANs
- IEEE 802.1Q-2022 – Bridges and Bridged Networks
- Cisco Nexus 9000 Series – Configuring Layer 2 Interfaces
製品ごとのコマンドと動作は、対象機種・OSバージョンの公式ドキュメントで最終確認してください。

コメント