| この記事の要点 |
|
概要
VLAN(Virtual LAN, 仮想 LAN)とは、物理的な配線構成にとらわれず、スイッチ上でネットワークを論理的に分割する技術です。OSI 参照モデルではデータリンク層(レイヤ 2)の機能にあたります。本来 1 台のスイッチに接続された端末はすべて同じネットワーク(同じブロードキャストドメイン)に属しますが、VLAN を使うと、同じスイッチに挿さっていてもポートごとに別々のネットワークへ振り分けられます。
たとえば 24 ポートのスイッチで、ポート 1〜8 を「営業部 VLAN」、9〜16 を「経理部 VLAN」、17〜24 を「ゲスト VLAN」のように分けられます。物理的には 1 台のスイッチでも、論理的には 3 つの独立したネットワークとして振る舞います。配線を引き直さずに、部署や用途ごとのネットワーク分離を実現できるのが VLAN の大きな利点です。
仕組み
複数のスイッチをまたいで同じ VLAN を扱うために、フレームに「どの VLAN に属するか」を示す情報を埋め込みます。この標準が IEEE 802.1Q(タグ VLAN)です。イーサネットフレームの送信元 MAC アドレスの直後に 4 バイトの VLAN タグを挿入し、その中の 12 ビットの VLAN ID(1〜4094)で所属 VLAN を識別します。
802.1Q タグ付きフレームの構造
┌──────────┬──────────┬─────────────┬──────┬─────┬─────┐
│ 宛先 MAC │ 送信元MAC│ 802.1Q タグ │ Type │ データ│ FCS │
└──────────┴──────────┴─────────────┴──────┴─────┴─────┘
└─ TPID(0x8100) + VLAN ID 等 4 byte ─┘
スイッチのポートには 2 つのモードがあります。アクセスポートは 1 つの VLAN だけに所属し、端末(PC・プリンタなど)を接続します。端末はタグの存在を意識せず、スイッチがポートの設定に基づいて VLAN を割り当てます。トランクポートは複数 VLAN のフレームをタグ付きでまとめて運ぶポートで、スイッチ間やスイッチとルータの接続に使います。トランクを通ることで、複数 VLAN を 1 本のケーブルで相互接続できます。
VLAN とトランクのイメージ
[PC営業] ─access(VLAN10)─┐
├─[SW1]══trunk(VLAN10,20 タグ付き)══[SW2]─┐
[PC経理] ─access(VLAN20)─┘ ├access─[PC経理2]
(VLAN20)
異なる VLAN は別のブロードキャストドメインなので、VLAN 10 の端末から VLAN 20 の端末へは、L2 のままでは通信できません。両者をつなぐには L3 機器(ルータまたは L3 スイッチ)を経由するVLAN 間ルーティングが必要です。
設定・実用例
Cisco スイッチでの VLAN 設定とトランク設定の例です。
# VLAN を作成
Switch(config)# vlan 10
Switch(config-vlan)# name Eigyo
Switch(config)# vlan 20
Switch(config-vlan)# name Keiri
# ポートをアクセスポートとして VLAN10 に割り当て
Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
# ポートをトランクにして VLAN10,20 を許可
Switch(config)# interface GigabitEthernet0/24
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 10,20
# VLAN 間ルーティング(ルータオンアスティック / サブインタフェース)
Router(config)# interface GigabitEthernet0/0.10
Router(config-subif)# encapsulation dot1Q 10
Router(config-subif)# ip address 192.168.10.1 255.255.255.0
# 確認
Switch# show vlan brief
最後の VLAN 間ルーティングは「ルータオンアスティック」と呼ばれる構成で、1 本のトランクをサブインタフェースに分割し、各 VLAN にゲートウェイ IP を割り当てています。L3 スイッチを使う場合は SVI(interface vlan 10)に IP を設定する方法が一般的です。
主な用途
- 部署・用途ごとのネットワーク分離 — 営業・経理・開発などを論理的に分け、配線変更なしで再編できます。
- セキュリティ境界の設定 — VLAN 単位でアクセス制御を適用し、ゲスト Wi-Fi を社内ネットから隔離するなどに使います。
- ブロードキャストの抑制 — ドメインを小さく保ち、ブロードキャストによる帯域・負荷の無駄を減らします。
- 音声 VLAN — IP 電話と PC のトラフィックを分離し、音声に優先制御をかけます。
関連技術との比較
| 項目 | VLAN(論理分割) | 物理的なネットワーク分割 | サブネット(L3 分割) |
|---|---|---|---|
| 動作レイヤ | データリンク層(L2) | 物理層 | ネットワーク層(L3) |
| 分割の手段 | スイッチの設定(タグ) | 別々の機器・配線 | IP/サブネットマスク |
| 配線変更 | 不要 | 必要 | 不要 |
| 分離の単位 | ブロードキャストドメイン | 物理機器 | IP ネットワーク |
| 相互通信 | VLAN 間ルーティングが必要 | ルータ接続が必要 | ルーティングで可能 |
注意点・落とし穴
- VLAN とサブネットの対応 — 通常 1 VLAN に 1 サブネットを対応させます。同一 VLAN に複数サブネットを混在させると管理が複雑になります。
- トランクの許可 VLAN 設定漏れ — トランクで許可する VLAN を絞りすぎると必要な通信が落ち、緩めすぎると不要な VLAN まで流れます。
- ネイティブ VLAN の不一致 — トランク両端でネイティブ VLAN(タグなしフレームの扱い)が食い違うと、誤った VLAN へフレームが漏れる恐れがあります。
- VLAN ホッピング攻撃 — 設定の甘いポートを悪用して別 VLAN へ侵入される攻撃があり、不要ポートのアクセス VLAN 固定や DTP 無効化で対策します。
- VLAN 間通信の失念 — VLAN を分けただけでは別 VLAN へ通信できません。L3 機器によるルーティング設計を忘れないこと。
関連リンク
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- djangoのテンプレートの作成とヘッダー・フッターの共通化 2026-10-03 21:41:49
- テンプレートフラグメント(ヘッダー等の共有化) 2026-10-03 21:41:49
- reCAPTCHA v3 使い方(サンプル付き) 2026-10-03 21:37:05
- Content-Type一覧|MIMEタイプとはとHTTPでの主な使用場面 2026-10-03 21:37:05
- SpringにおけるAOPの使い方 2026-10-03 21:37:05
- X (Twitter) API でツイートできないがエラーが出ない問題の原因と対処 2026-10-03 11:33:01
- X (Twitter) API アプリケーション登録完全ガイド|v2・Bearer Token・OAuth 2.0 PKCE 2026-10-03 11:33:01
- X (Twitter) API 完全ガイド|従量課金の料金・単価(2026年10月)と v2 移行 2026-10-03 11:32:40
- Google DeepMind とは?Gemini・AlphaFold の開発元 2026-10-03 11:26:56
- Cursor とは?AI 統合型コードエディタの使い方・料金 2026-10-03 11:26:56
- Claude (Anthropic) とは?AIチャットの使い方・モデルファミリ・API 2026-10-03 11:26:56
- AIベンダー一覧:OpenAI・Anthropic・Google DeepMind・Microsoft・Meta 2026-10-03 11:26:56
- クラウド・インフラ完全ガイド — AWS/Azure/GCP/Kubernetes 2026-10-03 11:26:56
- テキストエディタ完全比較 (VS Code / Cursor / Vim / Emacs / IDE) 2026-10-03 11:26:56
- プログラミング学習プラットフォーム|Scratch・micro:bit ほか 2026-10-03 11:26:56