【テクニカル・上級編】 IEEE 802.1Q VLANタグの構造とTPID・TCIフィールド – インフラ・物理&L2/L3ネットワーク基礎実践ガイド

イーサネットの深淵:802.1Qタグが語る「見えざる論理境界」の解剖学

ネットワークエンジニアにとって、イーサネットフレームは単なるデータの運び屋ではない。それは、L2というカオスな空間で秩序を保つための「身分証明書」だ。特に IEEE 802.1Q が挿入する4バイトのタグは、単なるラベル以上の意味を持つ。今日は、このわずか32ビットの領域が、いかにして現代のハイパフォーマンスかつセキュアなインフラの礎となっているのか、その内部構造を解剖していこう。

802.1Qタグの解剖:TPIDとTCIの静かなる支配

標準的なイーサネットフレーム(EtherType: 0x0800 のIPv4など)に対し、802.1Q はソースMACアドレスとEtherTypeの間に4バイトの情報を割り込ませる。これが「タグ付きフレーム」の正体だ。

| Dest MAC | Source MAC | TPID(0x8100) | TCI(2 bytes) | EtherType | Payload | FCS |

1. TPID (Tag Protocol Identifier): 0x8100の正体

この 0x8100 という値を見たとき、NICのハードウェアフィルターは「あ、これはVLANタグ付きのフレームだな」と即座に判断する。もし、このTPIDが 0x88a8 (802.1ad / Q-in-Q)であれば、積層タグの処理へ回される。この識別処理こそが、ASICレベルでのパケット処理速度を左右する最初の分岐点だ。

2. TCI (Tag Control Information): 2オクテットの密約

TCIは以下の構成になっている。

  • Priority (3 bits): 802.1p CoS(Class of Service)。L2レベルでのQoS制御の要。
  • DEI (1 bit): Drop Eligible Indicator。輻輳時に優先的に破棄してよいかを判定する。
  • VLAN ID (12 bits): 0〜4095の範囲。0 はプライオリティタグ、4095 は予約済み。実質4094個の論理ネットワークを識別できる。

—

パフォーマンスとセキュリティの最前線:なぜ「タグ」が重要か

この小さなフィールドは、単にネットワークを分けるだけではない。ハイパフォーマンスなデータセンターやクラウド基盤では、このタグの扱いが「ボトルネック」にも「最適化の鍵」にもなる。

RTT削減とTCPバッファチューニングの罠

VLANタグを付与することでフレームサイズが4バイト増加する。これはMTU(Maximum Transmission Unit)の計算において無視できない。もし物理インターフェースのMTUを標準の 1500 のままにしておくと、タグ付きパケットが 1504 バイトとなり、フラグメンテーションが発生する。

フラグメンテーションは、TCP のセグメンテーションオフロード(TSO)や、カーネルのバッファ管理に余計なCPU負荷をかけ、結果としてレイテンシ(RTT)を増大させる。インフラアーキテクトとして、以下の設定は必須の流儀だ。

# LinuxインターフェースのMTUをタグ込みで最適化する設定
# 物理ポート側は 1504 (あるいはジャンボフレーム 9000) を確保する
ip link set dev eth0 mtu 1504

トランスポートセキュリティ (TLS) ハンドシェイクへの影響

TLSハンドシェイクにおいて、巨大な証明書チェーンを送信する際、パケットロスは命取りだ。VLANタグにより MSS (Maximum Segment Size) が正しく算出されていないと、パケットドロップが頻発し、TCPの再送制御(Retransmission)でハンドシェイクが遅延する。802.1Q を利用する環境では、MSSクランプを適切に設定し、パスの最大サイズを保証することが、TLSセッションの高速化の第一歩となる。

# iptablesによるMSSクランプの例(PPPoEやトンネル経由の場合にも有効)
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

—

重大な脆弱性を回避する:タグ付きフレームの盲点

セキュリティ専門家として警告したいのが、「VLAN Hopping」攻撃だ。攻撃者は二重にタグ付けされたパケット(ダブルタギング)を送り込み、スイッチの処理ミスを突いて意図しないVLANへ通信を逃がそうとする。

これを防ぐための鉄則はシンプルだ。
1. ネイティブVLANを未使用のダミーIDへ: デフォルトの VLAN 1 をネイティブVLANとして放置してはならない。
2. ポートの厳格なモード設定: トランクポート以外では、必ず switchport mode access を指定し、タグなしフレームのみを受け入れる設定を徹底すること。

# Cisco IOSにおける防御設定例
interface GigabitEthernet0/1
 switchport mode trunk
 # ネイティブVLANを未使用のIDに変更し、タグ付けを強制する
 switchport trunk native vlan 999 
 # 不要なVLANの通過を制限する
 switchport trunk allowed vlan 10,20

結びに代えて:プロトコルの美学

802.1Q は、イーサネットという「古き良きブロードキャスト・メディア」の上に、厳格な論理的秩序を敷くための魔法の呪文だ。TPIDとTCIが織りなすパケットの挙動を深く理解することは、単なる設定作業を超え、ネットワークの血流を可視化することに他ならない。

インフラの安定とパフォーマンスは、このような「たかが4バイト」のヘッダーに対する細部への執着から生まれる。次に tcpdump を開いたとき、802.1Q タグを意識してパケットを眺めてみてほしい。そこには、あなたの設計したインフラが、極めて論理的かつ高速に呼吸している姿が見えるはずだ。

コメント

タイトルとURLをコピーしました