学習目標
この発展編を終えると、以下の問いに学術的な言葉で答えられるようになります。
- VLAN(Virtual LAN) が解く課題を、ブロードキャストドメインの分割・論理的セグメンテーション・セキュリティの3観点で説明できる
- ポートベース VLAN(アクセスポート) の動作と、その限界(複数スイッチ間で同一 VLAN を扱えない)を述べられる
- IEEE 802.1Q による 4 バイトのタグ構造(TPID 0x8100・PCP 3 ビット・DEI 1 ビット・VID 12 ビット = 1〜4094)を図示し、各フィールドの役割を説明できる
- アクセスポート と トランクポート の違い、フレームに対する タグ付与/剥離 の動作を区別できる
- ネイティブ VLAN(native VLAN) がトランク上で唯一タグなしで運ばれる VLAN であることを説明し、両端不一致のリスクを述べられる
- VLAN 間ルーティングの2方式 ── ルータ on a stick(サブインタフェース)と L3 スイッチ(SVI)── を比較できる
- L2 ループの致命性と、スパニングツリープロトコル(STP, IEEE 802.1D) および後継 RSTP(802.1w) による解消の仕組みを、BPDU・ポート状態の用語で説明できる
- LACP(IEEE 802.3ad / 802.1AX) によるリンクアグリゲーションが提供する帯域拡張・冗長化の利点を述べられる
- VLAN ホッピング攻撃(ダブルタグ・スイッチスプーフィング)の概念と、ネイティブ VLAN を未使用にする等の対策を理解する
本講は、標準編の
Ethernet・MAC・ARP・スイッチング を理解したあとに読む発展編です。MAC アドレス・ARP・Ethernet フレーム・CSMA/CD などの基礎は標準編で扱っているので、ここではすでに理解しているものとして話を進めます。標準の学習順に戻る場合は、次に
無線 LAN(IEEE 802.11) へ進みます。データセンタで多テナント環境を実現する
VXLAN は、さらに先の発展話題として本講では扱いません。
このレッスンの目次
なぜ VLAN が必要か
L2 のスイッチは、宛先 MAC アドレスを学習しながらフレームを転送します。しかし ブロードキャストフレーム(宛先 FF:FF:FF:FF:FF:FF) や 未学習の宛先(unknown unicast) は、同一 LAN セグメントの全ポートに溢れ流す(flooding) しかありません。この「同じブロードキャストが届く範囲」を ブロードキャストドメイン と呼びます。
POINT
1台のスイッチに繋がっているノードは、何もしなければ 1つの巨大なブロードキャストドメイン を共有する。VLAN は、同じ物理スイッチを複数の論理スイッチに見立てて ブロードキャストドメインを分割する仕組み。
ブロードキャストドメインを分けたい3つの理由
(1) 性能 ── ブロードキャスト抑制
ARP 要求・DHCP Discover・NetBIOS など、リンク層では ブロードキャスト が頻繁に流れます。1ドメインあたりの端末数が増えるとブロードキャストトラフィックが二次関数的に増え、各 NIC がそれを処理する CPU 負荷が無視できなくなります。VLAN で分割すると、関係ないノードに不要なフレームが届かなくなります。
(2) セキュリティ ── 隔離
同じブロードキャストドメインにいるノードは、お互いに ARP で MAC を解決し合えてしまいます。ゲスト用と社内用、研究室と事務、製造ラインと OA を L2 で分離 することで、L3 に到達する前に通信を遮断できます。VLAN 間の通信はルータ/L3 スイッチで集約的にフィルタできます。
(3) 運用 ── 物理配線からの解放
「人事部のフロアが2階と4階に分かれている」「研究員が研究室から会議室の有線ポートに移動して同じセグメントを使いたい」といった要求に、配線を引き直さずに対応できます。VLAN は ポートに対するタグ なので、物理ロケーションと論理セグメントを切り離せます。
サブネットとの対応
慣習として 1 VLAN = 1 IP サブネット で運用されます(複数サブネットを 1 VLAN に乗せることもできるが推奨されない)。VLAN 10 を 192.168.10.0/24、VLAN 20 を 192.168.20.0/24 に対応させる、というのが定石です。
図の見方:左は VLAN なし。1台のスイッチにつながる端末は全員同じドメインで、ブロードキャストや未学習ユニキャストが全ポートに溢れる。右はスイッチ内で ポートに VLAN 番号を割り当てた 状態。スイッチは「ポート2と3は VLAN10、ポート4と5は VLAN20」と覚え、別 VLAN のポートには絶対にフレームを転送しない。物理的には1台でも、論理的には2台のスイッチが入っているのと同じ動作になる。
Q. もしスパニングツリーや VLAN がなく、L2 で何の制約もなくフレームを転送する世界で、誤って2台のスイッチをケーブル2本で繋いでしまったら、何が起きると思いますか?クリックして確認しましょう。
- ブロードキャストフレームは「受信ポート以外の全ポート」に転送される。これがリングを永遠に回り続ける(ブロードキャストストーム)
- L2 フレームには TTL がない(IP 層には TTL があるが Ethernet ヘッダにはない)。減衰せず増殖し続ける
- 同じ MAC アドレスが複数ポートから到着し、スイッチの MAC 学習テーブルが 振動(MAC flapping) する
- ものの数秒で CPU・帯域がほぼ100%になり、ネットワーク全体が機能停止する
これが「L2 ループは即死」と言われる理由です。だからこそ後で扱う STP/RSTP がほぼすべての業務用スイッチで既定で動いています。
考えてみよう: 大学の研究室で「自分のラボ用 IP 電話を設置したいので別 VLAN にしたい」と申請するのは、上記の3観点(性能・セキュリティ・運用)のうちどれが一番効いているでしょうか?多くの場合は セキュリティ + 運用(電話用 VLAN は QoS 設定や DHCP プール、ファイアウォールルールが PC 用と異なる) です。
ポートベース VLAN(アクセスポートだけの世界)
最も素朴な VLAN は ポートベース VLAN です。スイッチの設定で「ポート 1〜8 は VLAN 10、ポート 9〜16 は VLAN 20」のように、各物理ポートに VLAN 番号を貼り付けます。端末側はまったく VLAN を意識しません ── 普通のイーサネットフレームを送るだけです。スイッチ側で勝手に分けてくれます。
POINT
ポートベース VLAN の規則:ポートに付いた VLAN 番号 が同じポート同士でしかフレームを転送しない。これだけで論理分割は成立する。
1台で完結する場合は単純
1 台のスイッチで完結するなら、これだけで十分です。ところが現実のオフィスでは スイッチを複数台 並べることがほとんどです。「1F のスイッチ A の VLAN 10 と、2F のスイッチ B の VLAN 10 を同じセグメントとして繋ぎたい」── このとき、スイッチ間のリンクをどうするか が問題になります。
素朴な解決策は「VLAN ごとに物理ケーブルを 1 本ずつ引く」ことです。VLAN 10 用ケーブル、VLAN 20 用ケーブル、VLAN 30 用ケーブル ── スイッチ間のポートと配線が VLAN 数に比例して必要になります。VLAN を 50 個運用したいなら 50 本のケーブルです。明らかに非効率です。
図の見方:ポートベース VLAN だけで複数スイッチを跨ぐ場合、VLAN ごとに専用の物理ケーブルが要る。これでは VLAN を増やすたびにスイッチ間のポートが食いつぶされ、配線管理が破綻する。これを解決するのが次に学ぶ 802.1Q タグ VLAN とトランクポート。
もっと詳しく:VLAN の他の分類方式
ポートベース以外にも次のような方式が定義されていますが、現代のキャンパス LAN では ポートベース + 802.1Q タグ が圧倒的に主流です。
- MAC ベース VLAN:端末の MAC アドレスごとに所属 VLAN を決める。ノート PC を持ち歩いてもどのポートでも同じ VLAN になるが、MAC 偽装に弱い
- プロトコルベース VLAN:Ethernet タイプ(IPv4 / IPv6 / IPX 等)で振り分け。混在環境のための仕組みで現在は廃れ気味
- 動的 VLAN(802.1X 認証連動):ユーザ認証結果に応じて RADIUS が VLAN を割り当てる。BYOD やゼロトラスト化で再評価されている
IEEE 802.1Q タグ ── 4 バイトをフレームに挿す
複数 VLAN を1本のケーブルで運ぶには、フレームに「私は VLAN 10 です」と名札を貼って 送ればよい、というのが IEEE 802.1Q(1998 年標準化) の発想です。Ethernet フレームの「送信元 MAC」と「タイプ」の間に 4 バイトの VLAN タグ を挿入します。
POINT
802.1Q タグは 4 バイト = 32 ビット。内訳は TPID 16 ビット(0x8100 固定) + TCI 16 ビット。TCI の中身が PCP 3 ビット + DEI 1 ビット + VID 12 ビット。VID が VLAN 番号(1〜4094)で、これが本体。
タグ付きフレームの構造
図の見方:タグなしフレームの「送信元MAC」と「Type/Length」の間に4バイトを挿入する。先頭2バイトの TPID = 0x8100 は「これは 802.1Q タグですよ」という目印。受信側スイッチはここを見て「あ、タグ付きだ」と認識する。後ろ2バイトの中身が TCI(Tag Control Information) で、QoS 用の優先度・破棄可否フラグ・そして本命の VLAN ID(12 ビット) が入る。
各フィールドの意味
| フィールド | サイズ | 役割 |
| TPID(Tag Protocol Identifier) | 16 ビット | 0x8100 固定。「以降は 802.1Q タグだ」という識別子。一般の Ethernet タイプフィールドと同じ位置にあるので、タグなしフレームとして読むとタイプ番号 0x8100 と誤認するが、その値域はリザーブされている |
| PCP(Priority Code Point) | 3 ビット | QoS の優先度(8 段階)。IEEE 802.1p で定義。音声(EF)・ビデオ(AF)・ベストエフォート(BE)などに対応 |
| DEI(Drop Eligible Indicator) | 1 ビット | 輻輳時に優先的に破棄してよいかのフラグ。旧名 CFI(Canonical Format Indicator) 。802.1ad で再定義 |
| VID(VLAN Identifier) | 12 ビット | VLAN 番号。理論値は 0〜4095(2¹² = 4096 通り)だが、0 はタグなしを意味し、4095 は予約 なので実運用は 1〜4094 の 4094 個 |
小問:802.1Q タグの中で実用的に使える VLAN ID の範囲は次のうちどれ?
正解: C。VID は 12 ビットなので理論値は 0〜4095 の 4096 通り。ただし VID = 0 は「優先度タグだけで VLAN は指定しない」、VID = 4095 は予約と決まっているため、運用上使えるのは 1〜4094 の 4094 個。「VLAN は最大 4094 個」という業界の合言葉はここから来ている。さらに大量の論理分離が要るデータセンタでは 発展編シリーズで扱う VXLAN(24 ビット VNI) へ拡張する。
もっと詳しく:なぜタイプフィールドが0x8100なのか
Ethernet II フレームで「送信元 MAC」の直後 2 バイトは EtherType です。0x0800 = IPv4、0x0806 = ARP、0x86DD = IPv6、そして 0x8100 = 802.1Q VLAN と割り当てられています。つまりスイッチは「タイプフィールドが 0x8100 なら、その先頭 2 バイトはタイプではなく TPID である」と解釈し、4 バイト読み進めてから本来のタイプフィールドを読み直す、という処理を行います。QinQ(802.1ad) ではさらに外側の TPID として 0x88A8 が使われ、二重タグでキャリア網の中をテナント VLAN ごと運ぶ仕組みが定義されています。
考えてみよう: もしタグの長さが 8 ビットだったとして、研究室・部署・ゲスト・電話・IoT・サーバ用…と分割していくと、組織規模によってはあっという間に枯渇します。現代的なデータセンタでは数十万テナントが当たり前で、12 ビット = 4094 でも足りないため、L3 オーバーレイ(VXLAN, 24 ビット = 約 1670 万) が登場した、という歴史を覚えておきましょう。
アクセスポートとトランクポート
802.1Q タグはスイッチ間で運ばれます。一方で、PC や IP 電話などの末端機器は普通タグを意識しません。そのため、スイッチのポートには動作が異なる2種類のモードがあります。
POINT
アクセスポート(access port):単一 VLAN に所属。出る方向ではタグを剥がす、入ってきたタグなしフレームにそのポートの VLAN 番号を付ける。
トランクポート(trunk port):複数 VLAN を運ぶ。フレームは原則タグ付きのまま流れる。スイッチ間のリンクで使う。
アクセスポート ── 端末用
PC や プリンタ、IP 電話を直接挿すポートです。設定例(Cisco IOS 風) は次のようになります。
interface GigabitEthernet0/3
switchport mode access
switchport access vlan 10
- 受信時:タグなしフレームが届く → スイッチが内部的に「これは VLAN 10 の所属」とマークして処理
- 送信時:他 VLAN のフレームは絶対に出さない。VLAN 10 のフレームだけ、タグを剥がして 送出
- もしタグ付きフレームを誤って受信した場合、原則 破棄(機種により VID と一致すれば受け入れるなどの差異あり)
端末は VLAN の存在を一切知らずに、ただの Ethernet として通信できます。「タグを付けたり剥がしたりするのはスイッチの仕事」と覚えてください。
トランクポート ── スイッチ間リンク用
スイッチ間や、スイッチとルータ・ハイパバイザ間など、1 本のリンクで複数 VLAN を多重 したい箇所で使います。
interface GigabitEthernet0/24
switchport mode trunk
switchport trunk allowed vlan 10,20,30
switchport trunk native vlan 999
- 送信時:許可された VLAN のフレームに 802.1Q タグを付けて 送出する
- 受信時:タグを読み、書かれている VID の VLAN として処理する
- allowed vlan リストで、このトランクで運ぶ VLAN を絞れる(セキュリティ・帯域節約のため明示する運用が望ましい)
- 例外的に ネイティブ VLAN だけはタグなしで運ばれる(次節で詳述)
VMware や Hyper-V の仮想スイッチもトランクを受け取り、内部で仮想 NIC をアクセスポートとして VM に提供します。物理ホストの 1 NIC に何十もの VLAN を流し込めるのが利点です。
並べて比較
| 観点 | アクセスポート | トランクポート |
| 所属 VLAN | 1 つだけ | 複数 VLAN を同時に運ぶ |
| 送出フレーム | タグなし(剥がして出す) | 原則タグ付き(ネイティブ VLAN 除く) |
| 典型的な接続先 | PC・プリンタ・電話・サーバ NIC | 別のスイッチ・ルータ・仮想化ホスト |
| 端末側の VLAN 認識 | 不要(普通の Ethernet) | 必要(タグを理解できる NIC が必要) |
| 主な目的 | 端末収容 | VLAN を跨ぐ多重伝送 |
フレームの旅をステップで追う
ステップ1. PC-A は普通の Ethernet フレームを送出します(タグなし)。PC は VLAN を一切意識していません。スイッチ A の物理ポートはアクセスポートで VLAN 10 に設定 されています。
ステップ2. スイッチ A はフレームを受信し、内部的に「これは VLAN 10 のフレーム」とマークします。MAC 学習テーブルも (MAC, ポート, VLAN) の3つ組で管理されます。
ステップ3. スイッチ A は宛先 MAC を見て「向こう側のスイッチ B に流すべき」と判断。出力ポートは トランクポート です。送信時に 4 バイトの 802.1Q タグ(VID=10) を挿入し、フレームをタグ付きで送出します。
ステップ4. スイッチ B はトランクポートでタグ付きフレームを受信。タグを読んで「これは VLAN 10 だ」と判定し、VLAN 10 に所属するアクセスポート(PC-B 側) を出力先候補として絞り込みます。
ステップ5. スイッチ B が PC-B 側のアクセスポートに送出する瞬間、タグを剥がして 普通の Ethernet フレームに戻します。PC-B はやっぱり VLAN を一切意識せずに受け取ります。タグはトランクの上だけに存在し、両端の端末には見えないのがミソ。
1 / 5
図の見方:タグはスイッチ A とスイッチ B の間でだけ存在する。両端の PC は VLAN を知らない。VLAN は 「スイッチの中の概念」 であって、端末から見れば普通の LAN に見える ── これが VLAN 設計の最重要な性質。
ネイティブ VLAN ── トランクで唯一タグなしのVLAN
トランクポートでは原則すべてのフレームがタグ付きで運ばれます。ただし 1 つだけ例外 があり、それを ネイティブ VLAN(native VLAN) と呼びます。ネイティブ VLAN に所属するフレームは タグなしのまま トランクを流れます。
POINT
トランク上のタグなしフレームを受信したスイッチは、自分のネイティブ VLAN の番号(既定では VLAN 1) を内部的に貼り付けて処理する。両端のネイティブ VLAN 設定が 不一致 だとセキュリティ・到達性事故の元になる。
なぜネイティブ VLAN という仕組みがあるのか
- 後方互換性:802.1Q を理解しない古い機器がトランクの片端に挿さってしまっても、ネイティブ VLAN のフレームは普通の Ethernet として届く
- 制御プロトコル:CDP(Cisco) や LLDP の一部、PVST+ の BPDU など、タグなしで送るのが慣例の制御フレームがある
- 歴史的経緯:802.1Q が後から決まった規格なので、既存の素のフレームと共存できるよう「タグなしも許容する」枠を残した
図の見方:同じトランクリンクの上で、VLAN 10 のフレームには tag10 のタグが付くが、ネイティブ VLAN(この例では VLAN 999) のフレームだけはタグなしで流れる。両端のスイッチが「タグなしで来たら VLAN 999 として扱う」と合意していれば、これで通信が成立する。
運用上の注意: ネイティブ VLAN の設定が 両端で食い違う と、片方のスイッチが「VLAN 1 のつもりで投げたタグなしフレーム」をもう一方が「VLAN 999 として処理」してしまい、本来分離されているはずの VLAN を 意図せず接続 してしまいます。これは VLAN ホッピング攻撃 の温床にもなるため、現場では「ネイティブ VLAN = 使っていない番号(例 999) に固定」「access vlan として誰にも割り当てない」「vlan dot1q tag native でネイティブ VLAN もタグ付与する」といった対策が定石です。
考えてみよう: Cisco スイッチの既定値は ネイティブ VLAN = VLAN 1 です。多くの教科書が「VLAN 1 を使うな」と警告するのは、既定値どうしのまま運用する 危険性を避けるため。VLAN 1 は工場出荷状態の管理 VLAN でもあるので、攻撃者から見れば最初に試す VLAN になります。
VLAN 間ルーティング ── 分けたら繋ぎ直す
VLAN は L2 で隔離する 仕組みです。隔離した VLAN 同士で通信したい(例:研究室 VLAN から共有ファイルサーバ VLAN へアクセス) ならば、L3 の機器に登らせて 経路選択させる必要があります。これを VLAN 間ルーティング(inter-VLAN routing) と呼びます。
POINT
VLAN 間ルーティングの典型実装は2つ:
(1) ルータ on a stick:ルータの 1 物理 IF にトランクを接続し、サブインタフェース を VLAN 数だけ作る。
(2) L3 スイッチ:スイッチ自体に L3 機能を持たせ、SVI(Switch Virtual Interface) を VLAN ごとに作る。
(1) ルータ on a stick
古典的な構成です。スイッチとルータを 1 本のトランク でつなぎ、ルータ側でその物理 IF を VLAN ごとの仮想サブインタフェース に分割します。各サブインタフェースに対応する VLAN のデフォルトゲートウェイ IP を持たせれば、VLAN 間トラフィックはここを経由してルーティングされます。
interface GigabitEthernet0/0.10
encapsulation dot1Q 10
ip address 192.168.10.1 255.255.255.0
interface GigabitEthernet0/0.20
encapsulation dot1Q 20
ip address 192.168.20.1 255.255.255.0
欠点は、VLAN 10 → VLAN 20 のトラフィックも、VLAN 20 → VLAN 10 のトラフィックも、同じ 1 本のリンクを 2 度通る(行きで上り、帰りで下る) ため帯域がボトルネックになることです。
(2) L3 スイッチ(SVI 方式)
現代のキャンパス LAN で主流の方式です。スイッチに L3 ルーティングエンジンを内蔵し、VLAN ごとに SVI(VLAN インタフェース) という仮想 IF を作ります。フレームが SVI に入った瞬間に L3 処理 → 別 VLAN の SVI から L2 出力、という変換が スイッチ筐体内 で完結するため高速です。
ip routing
interface Vlan10
ip address 192.168.10.1 255.255.255.0
interface Vlan20
ip address 192.168.20.1 255.255.255.0
図の見方:左のルータ on a stick は古典的構成で「1 本のトランクで複数 VLAN を見せる」発想。教育的には分かりやすいが性能と冗長性に難あり。右の L3 スイッチは VLAN 間転送が ASIC で処理されるため、ほぼワイヤスピードで動作する。現代のオフィスやキャンパス LAN では右が主流。
クラウド/データセンタでは、さらに VRF(Virtual Routing and Forwarding) でルーティングテーブル自体をテナント毎に分離したり、VXLAN + EVPN でリーフ-スパイン構成のオーバーレイを作ったりします。これらは 発展編シリーズ(第38回)で扱います。
スパニングツリー(STP / RSTP) ── ループの宿敵
VLAN を跨ぐ前に、もう1つ L2 の重要な仕組みを抑えておきます。可用性のためにスイッチを冗長化すると、自然と 物理的なループ が発生します。L2 ループは前述の通り致命的 なので、論理的に1本だけ枝を残し、残りはブロック する必要があります。それが STP(Spanning Tree Protocol, IEEE 802.1D) と、その高速化版 RSTP(Rapid STP, IEEE 802.1w) です。
POINT
STP は全スイッチで BPDU(Bridge Protocol Data Unit) という制御フレームを定期交換し、ルートブリッジ(ID が最小のスイッチ) を頂点とする 木構造(spanning tree) を計算する。木に含まれない冗長リンクのポートは ブロッキング状態 にしてフレームを止め、ループを断ち切る。
L2 ループはなぜ致命的か
- 冗長リンクで物理ループが発生(スイッチ2台がケーブル2本で繋がっている等)
- ブロードキャストフレームは「受信ポート以外の全ポート」へ転送 → ループの中を回り続ける
- L2 フレームには TTL がない(IP の TTL は別レイヤ) ので減衰しない
- 1秒経たずにブロードキャストストーム発生・全帯域が制御不能になる
図の見方:3 台のスイッチがリング状に繋がっている。STP はルートブリッジ(ROOT) を選び、そこからの距離(コスト) が小さい経路を残し、最後に残った1本(SW-A ↔ SW-B 間) を ブロッキング 状態にする。これで論理的にツリー構造になり、ループがなくなる。万一 ROOT〜SW-A 間が切れたら、ブロッキング状態のリンクが フォワーディング に昇格して通信が継続する。
もっと詳しく:STP のポート状態遷移
古典的 IEEE 802.1D STP では、ポートが Forwarding 状態に到達するまで以下のような状態遷移を経ます。
| 状態 | 動作 | 滞在時間(既定) |
| Disabled | 管理的に無効。何もしない | − |
| Blocking | BPDU 受信のみ。データ転送・MAC 学習しない | (冗長リンクは継続) |
| Listening | BPDU 送受信。データ転送・MAC 学習しない | 15 秒 |
| Learning | MAC 学習開始。データ転送はまだしない | 15 秒 |
| Forwarding | 通常転送・MAC 学習 | (定常状態) |
つまりポート起動から実際にフレームが流れるまで 30 秒以上 かかるのが旧 STP の弱点でした。RSTP(802.1w, 2001 年)はこれを 1〜数秒に短縮し、状態も Discarding / Learning / Forwarding の3つに簡素化されています。さらに VLAN ごとに別ツリーを作る MSTP(802.1s)、Cisco 独自の PVST+ などのバリアントがあります。
運用面では、エッジポート(端末直結) には PortFast や BPDU Guard、根に化けようとする偽 BPDU を防ぐ Root Guard を併用するのが定石です。
Q. STP がないネットワークで、運用者がうっかり「ループになる繋ぎ方」をしてしまった場合、何分くらいで気づくと思いますか?クリックして確認しましょう。
「数分」ではなく 数秒〜十数秒 です。ブロードキャストストームの増殖はネットワーク帯域に対して二次関数的なので、ものの 1〜2 秒で全スイッチの CPU と帯域が飽和し、ping すら通らなくなり、SSH/Telnet で機器に入ることも困難になります。物理的にケーブルを引き抜いて止めるのが最速の対処、というのが現場の悲しい現実です。だから STP は予防的にデフォルトで動かす、これが鉄則です。
リンクアグリゲーション(LACP) ── 太く・冗長に
STP はループを 止める 仕組みですが、せっかくの冗長リンクを遊ばせるのはもったいない。複数の物理リンクを 1 つの論理リンク として束ね、合計帯域を提供 しつつ 1 本切れても残りで通信継続 する仕組みが リンクアグリゲーション(Link Aggregation, LAG) です。標準は IEEE 802.3ad(現在は 802.1AX に移管) で定義された LACP(Link Aggregation Control Protocol)。
POINT
複数物理リンクを束ねて 1 つの論理ポート(Port-channel / Etherchannel / bond 等の名で呼ばれる) にする。STP からは 1 本のリンクに見えるためループ判定の対象にならず、全リンクをアクティブに使える。
図の見方:4 本の 10Gbps 物理リンクを LACP で束ねると、論理的には 40Gbps のリンクとして見える。STP はこれを 1 本のリンクと見なすのでブロッキングしない。フレームは送信元/宛先 MAC・IP・ポートからのハッシュで物理リンクへ振り分けられる(フローごと に同じリンクを通る) ため、1 つの TCP フローが 10Gbps を超えることはない点に注意。
もっと詳しく:LACP のメリットと注意点
メリット
- 帯域の集約:N 本の物理リンクで N 倍の合計帯域を提供
- 無停止のリンク冗長:1 本切れても LACP がメンバを更新し、フローは生きているリンクへ自動再分配
- 運用シンプル:STP の収束待ちが不要(STP からは 1 本のリンクに見えるので関与しない)
- マルチシャーシ拡張:Cisco vPC, Arista MLAG, Cumulus CLAG などで 異なる2台のスイッチに分散 しながら1つのLAGに見せる構成も可能(サーバ側から見ると単一の冗長LAG)
注意点
- 1 つのフローは 1 本の物理リンクに固定 される(ハッシュベース)。1 本の TCP セッションが帯域を超えて高速化されるわけではない
- 両端のハッシュ方式が偏っていると 特定リンクだけ混む 現象(ハッシュポラリゼーション) が起きる
- ベンダ独自の 静的(static / on)モード もあるが、ケーブル誤接続の検知ができないので LACP の動的モードを推奨
VTP / GVRP の存在
VLAN 数が多くなると、各スイッチに「VLAN 10 を作る」「VLAN 20 を作る」と1台ずつ手で設定するのは大変です。これを自動同期する仕組みが VTP(VLAN Trunking Protocol, Cisco独自) や、IEEE 標準の GVRP(GARP VLAN Registration Protocol, IEEE 802.1Q-2003)、その後継の MVRP(IEEE 802.1ak) です。実務では誤設定で全 VLAN が消える事故が起きやすいことから、VTP は transparent モード(同期しない) で運用したり、明示的なオーケストレーション(Ansible 等) で代替したりするのが一般的です。[要確認] 詳細な実装差は機種依存。
VLAN ホッピング攻撃の概念
VLAN は セキュリティ境界として使える と書きましたが、設定を誤ると本来到達できないはずの VLAN へ攻撃者が侵入する VLAN ホッピング(VLAN hopping) が成立します。代表的な2手口を概念だけ抑えておきます。
(1) スイッチスプーフィング
攻撃者がスイッチのフリ(DTP/Dynamic Trunking Protocol で trunk を要求) をして、自分のアクセスポートを 勝手にトランクに昇格 させる。トランクになれば全 VLAN のフレームが流れてくるので、覗き見・別 VLAN への送出が可能になる。
対策: アクセスポートでは switchport mode access を明示し、DTP を無効化(switchport nonegotiate) する。
(2) ダブルタギング攻撃
ネイティブ VLAN の不一致や設定ミスを突き、フレームに 2 重に 802.1Q タグ を付ける。最初のスイッチが外側のタグ(ネイティブ VLAN と一致) を剥がし、内側のタグ(別の VLAN) が残ったまま隣のスイッチへ転送される。攻撃者は片道だが、別 VLAN にフレームを送り込める。
対策: ネイティブ VLAN を未使用の番号にする / vlan dot1q tag native でネイティブ VLAN もタグ付与する / 不要 VLAN をトランクの allowed リストから外す。
VLAN は強い隔離手段ですが、万能ではありません。本当にセンシティブな分離(医療系・金融系・OT 系) は、物理的分離 や ファイアウォール / マイクロセグメンテーション と組み合わせて多層防御するのが現代の指針です。
まとめと用語チェック
SUMMARY
1. VLAN は同一物理スイッチを 論理的に分割 する仕組み。動機は性能(BCドメイン縮小)・セキュリティ・運用柔軟性。
2. IEEE 802.1Q はフレームに 4 バイト のタグを挿入。TPID 0x8100 / PCP / DEI / VID(12 ビット = 1〜4094)。
3. アクセスポートは1 VLAN専用、タグなしで送出。トランクポートは複数 VLAN を運び、原則タグ付き。
4. ネイティブ VLAN はトランク上で唯一タグなしで運ばれる VLAN。両端不一致は事故の元。
5. VLAN を跨ぐ通信は L3 で集約。ルータ on a stick(サブインタフェース) と L3 スイッチ(SVI) の2方式。
6. L2 ループは TTL がなく即死。STP/RSTP が BPDU を交換しツリー化、冗長リンクをブロックする。
7. LACP(IEEE 802.3ad / 802.1AX) は複数物理リンクを束ねて帯域集約・冗長化を実現。
8. VLAN は 銀の弾丸ではない。スイッチスプーフィング・ダブルタギングなどの VLAN ホッピング を意識した設定が必要。
用語チェック
| 用語 | 1行説明 |
| VLAN(Virtual LAN) | 1 台のスイッチを論理的に分割し、ブロードキャストドメインを切り分ける仕組み |
| ブロードキャストドメイン | 同じブロードキャストフレームが届く範囲。L2 の到達性の単位 |
| IEEE 802.1Q | VLAN タグの標準。4 バイトタグ。1998 年標準化 |
| TPID | タグの先頭 16 ビット、0x8100。「これは 802.1Q タグ」の目印 |
| VID(VLAN ID) | 12 ビットの VLAN 番号。実用は 1〜4094 |
| PCP / DEI | QoS 優先度(8 段階) と破棄可否フラグ |
| アクセスポート | 単一 VLAN 所属。タグなしで端末と通信 |
| トランクポート | 複数 VLAN を多重伝送。タグ付きで運ぶ |
| ネイティブ VLAN | トランク上で唯一タグなしで運ばれる VLAN(既定 VLAN 1) |
| VLAN 間ルーティング | VLAN を跨ぐ通信を L3 で行う処理。ルータ on a stick / L3 スイッチ |
| SVI(Switch Virtual Interface) | L3 スイッチが VLAN ごとに持つ仮想 IF。VLAN 間ルーティングの主役 |
| STP(Spanning Tree Protocol) | L2 ループを論理的に切る IEEE 802.1D プロトコル |
| RSTP | STP の高速化版(IEEE 802.1w)。収束秒数を大幅短縮 |
| BPDU | STP の制御フレーム。ルートブリッジ ID やコストを伝える |
| ルートブリッジ | STP のツリーの頂点。ブリッジ ID(優先度+MAC) が最小のスイッチ |
| LACP(IEEE 802.3ad / 802.1AX) | 複数物理リンクを束ねるプロトコル。帯域集約と冗長化 |
| VTP / GVRP / MVRP | VLAN 設定の自動同期プロトコル(Cisco独自 / IEEE標準) |
| VLAN ホッピング | 誤設定や DTP を悪用して別 VLAN に侵入する攻撃の総称 |
NEXT: 標準編の学習順に戻る場合は、次に
標準 無線 LAN(IEEE 802.11) へ進みます。CSMA/CA・隠れ端末・RTS/CTS・インフラストラクチャモードなど、有線とは違う「電波ならではの工夫」を扱います。
確認問題
問1. VLAN を導入する主目的として、最も適切なものを1つ選べ。
次の選択肢から最も適切なものを選択してください。
A. ケーブルを物理的に減らし、配線コストを削減する
B. 同一スイッチ上のブロードキャストドメインを論理的に分割する
C. データを暗号化して盗聴を防ぐ
D. IP アドレスの不足を解消する
正解:B
VLAN の本質は ブロードキャストドメインの論理分割。これに付随して(B → 結果的に) 性能・セキュリティ・運用柔軟性が改善される。A はケーブル数を減らすのは結果的にそうなる場合があるだけ(主目的ではない)。C は暗号化機能を VLAN は提供しない(別レイヤの仕事)。D は IP アドレス節約とは無関係(NAT などの仕事)。
問2. IEEE 802.1Q タグの VLAN ID(VID) フィールドのビット長と、運用上利用可能な範囲の組合せとして正しいものを1つ選べ。
次の選択肢から最も適切なものを選択してください。
A. 8 ビット / 1〜254
B. 16 ビット / 1〜65534
C. 12 ビット / 1〜4094
D. 24 ビット / 1〜16777214
正解:C
VID は 12 ビット。理論値は 0〜4095(4096 通り) だが、0 はタグなし(優先度タグ専用)、4095 は予約 なので実用は 1〜4094 の 4094 個。D の 24 ビットはデータセンタ向けの VXLAN VNI(発展編シリーズ) のサイズで、ここではない。802.1Q タグ全体は 4 バイト = 32 ビットだが、その内訳は TPID 16 + PCP 3 + DEI 1 + VID 12 となっている点を整理しておく。
問3. アクセスポートとトランクポートの動作の違いとして、最も適切なものを1つ選べ。
次の選択肢から最も適切なものを選択してください。
A. アクセスポートは複数 VLAN を運び、トランクは 1 VLAN だけを運ぶ
B. アクセスポートは光ファイバ用、トランクは UTP 用
C. アクセスポートは送信時に必ずタグを付け、トランクは剥がす
D. アクセスポートは単一 VLAN・タグなしで送出、トランクは複数 VLAN・原則タグ付きで送出
正解:D
アクセスポートは「単一 VLAN 所属、端末向け、タグなし送出」。トランクポートは「複数 VLAN を運ぶ、スイッチ間/仮想化ホスト向け、原則タグ付き送出」。A は逆、B は物理メディアと無関係(光でも UTP でもアクセス/トランクどちらにもなり得る)、C は逆向き。例外として、トランクの ネイティブ VLAN だけはタグなしで送出される。
問4. STP(IEEE 802.1D) が解いている問題として、最も適切なものを1つ選べ。
次の選択肢から最も適切なものを選択してください。
A. 冗長化された L2 トポロジで発生する物理ループを論理的に切断し、ブロードキャストストームを防ぐ
B. IP アドレスを動的に配布する
C. 複数物理リンクを束ねて帯域を集約する
D. VLAN 設定を全スイッチで自動同期する
正解:A
STP は BPDU を交換してネットワークをツリー化し、ループを構成するリンクを ブロッキング 状態にすることで論理的に切断する。L2 フレームには TTL がないため、ループがあるとブロードキャストストームで瞬時に機能停止する。B は DHCP の仕事、C は LACP の仕事、D は VTP/GVRP の仕事。それぞれ別の機能なので混同しないこと。
問5. ネイティブ VLAN に関する記述として、最も適切なものを1つ選べ。
次の選択肢から最も適切なものを選択してください。
A. アクセスポートが所属する固定の VLAN のこと
B. トランクポート上で唯一タグなしで運ばれる VLAN。両端の設定不一致は意図しない VLAN 接続の原因となる
C. ルータが工場出荷時に持つ管理用 VLAN で、変更してはいけない
D. STP のルートブリッジが選ばれた直後に自動生成される一時的な VLAN
正解:B
ネイティブ VLAN は トランクポート上でタグを付けずに運ばれる唯一の VLAN。Cisco 既定では VLAN 1。両端のスイッチでネイティブ VLAN の番号が食い違うと、片側がタグなしで送ったフレームをもう片側が別の VLAN として受け取り、本来分離しているはずの VLAN を意図せず繋いでしまう。これは VLAN ホッピング(ダブルタギング) の温床にもなるため、運用では「未使用の番号にする」「vlan dot1q tag native でタグ強制付与」が定石。A はアクセスポートの「access vlan」の説明、C と D は誤り。