Virtual Local Area Network (バーチャル・ローカル・エリア・ネットワーク、仮想LAN、バーチャルLAN)・VLAN (ブイラン)は、物理的な接続形態とは別に、仮想的に分割されたLAN 接続のこと。レイヤ2スイッチ の機能の1つで、通信帯域の有効利用や情報セキュリティ の向上などを目的とする。
様々な方式があるが、IEEE 802.1Q で標準化されたタグVLANが広く使われている。
概要
LAN では一般に、ケーブル または無線電波 などでスイッチ に接続されている範囲内は、すべてレイヤ2レベル(データリンク層 )での通信が可能である。これを「ブロードキャスト ドメイン」と呼ぶ。
VLANでは、このような物理的な接続を切り離さなくても、スイッチ内部の処理によってトラフィックを分割することができる。これによりブロードキャストドメインを制限することができ、相互に通信できる端末を小さい範囲内にサブグループ化できる[ 1] 。
VLANを構成する目的は主に以下のものがある。
ネットワークの大規模化に対してブロードキャストドメインを分割することで通信帯域を確保する
VLAN間のアクセスを制限することでネットワークセキュリティ を確保する
LAN構成に必要なネットワーク機器の台数を減らす
通常のLAN同様、VLAN間はレイヤ3スイッチ などを用いてルーティング することでトラフィックを疎通させることができる。
VLANの方式
VLAN機能を持つスイッチ では様々な設定方法でLANセグメントの分離が実現された。方法は大きく分けて2つあり、接続ポートによるものと受信データによるものとがある。
ポートベースVLANの構成例。ポート2・3・5とポート4・6・7がグループ化され、グループ外との通信はできない。
接続ポートによるLAN分離
ポートベースVLAN
接続ポートによりLANセグメントを分離する方式[ 2] 。ポート1・2間とポート3・4間は相互通信できるが、それぞれの組以外のポートとは切り離されている、などの構成が可能となる。
マルチプルVLAN
ポートベースVLANの機能の1つで、「マルチプルポート」と呼ばれるポートを設定できるもの[ 3] 。マルチプルポートではポートベースVLANで設定した全てのVLANグループと通信可能である。ポート1-4は相互通信できないが、マルチプルポートにあたるポート5とだけはそれぞれ通信できるなどの構成が可能となり、アップリンク との接続に使われる。タグVLANに似ているが、アップリンクの接続先がVLAN非対応の端末でも使用できる。
プライベートVLAN
ポートベースVLANの機能の1つで、VLAN内の通信をさらに細分化するもの[ 4] 。ポート1を単独ポート、ポート2-4を相互通信可能なポートとしてグループ分けし、ポート1もポート2-4もグループ外とは通信できないがアップリンク に相当するポート5とは通信できる、などの構成が可能となる。この例では、ポート1-5をプライマリVLAN、このグループ分けをセカンダリVLANと呼び、ポート1はIポート(isolated)、ポート2-4はCポート(community)、ポート5はPポート(promiscuous)と呼ぶ[ 5] [ 6] 。
なお、これらの方式はタグVLANの一部として実装されることがあり、同じ名称で製品やメーカによって異なる機能を指す場合がある。
受信データによるLAN分離
MACベースVLAN
接続される機器のMACアドレス により所属するLANセグメントを分離する方式。受信フレームの送信元MACアドレスを見て転送先ポートを決定する。
サブネットベースVLAN
接続される機器のIPアドレス のサブネットによりLANセグメントを分離する方式。受信パケットのIPアドレスおよびサブネットマスク を見て転送先ポートを決定する。
認証VLAN (ユーザベースVLAN)
端末のログイン情報を取得してLANセグメントを分離する方式。登録されたユーザであることが確認できたときのみアップリンクに転送する、などの構成が可能となる。IEEE 802.1X で標準化され[ 7] 、EAP やRADIUS サーバと組み合せて使われる。
タグVLAN
タグVLAN は、VLANの代表的な実装の1つで、主にイーサネットフレーム 内にどのLANに所属する通信かを表すタグを付加して、LAN間の通信を混在・識別させる方式。1998年にIEEE 802.1Q で規定されており、その実装方式を明示するためにしばしば「Dot-1Q VLAN」と呼ばれる。
タグVLANでは一般に、複数のスイッチにわたってVLANを構成しており、送信する側がフレーム内にタグを挿入し、受信する側がそのタグを見て所属するLANを識別する。これにより、一つの通信ポートで複数の異なるVLANを混在させて通信することができる。タグVLAN対応のスイッチでは、VLANの混在の有無で以下のように接続ポートを呼び分ける。
アクセスポート : 1つのLANに属するポート。端末などを接続する。
トランクポート : 複数のLANを混在させるポート。タグを処理できるスイッチ ・ルータ ・サーバ などを接続する。
運用例
下図のように、社内ネットワークが階をまたいでおり、両方の階に開発部署・企画部署の作業部屋がそれぞれあるような場合を考える。上下階をつなぐ物理接続が単一であっても、部署ごとの論理ネットワークに分離し、一方の部署のトラフィックがもう一方の部署からは観測できないようにすることができる。
タグVLANの構成例
この例では、各階のエッジスイッチにVLAN設定を入れ、スイッチ間の接続ポートを「トランクポート」、各部署内の接続ポートを「アクセスポート」として扱う。部署ごとに一意のVLAN番号(VLAN IDまたはVID)を割り当て、トランクポートには各部署からの全フレームに適切なVLANタグを挿入するよう設定する。タグつきのフレームがトランクポートから送信されると、受信した宛先階のエッジスイッチはそのタグを見て転送先を決め、部署内に転送する際にVLANタグを除去する。このような方法で、いずれの部署も上下階の自分の部署のみを同じLANとして扱うことができる。
フレーム書式
VLANタグは、送信元MACアドレス とイーサタイプ のフィールドの間に、以下のような書式の4バイト(32ビット)を挿入する[ 8] 。
VLANタグ(4バイト)の書式
TPID
TCI (Tag Control Information)
16 ビット
3 ビット
1 ビット
12 ビット
TPID 0x8100
PCP 0-7
DEI 0-1
VID 0-4094
TPID (Tag Protocol Identifier)
16ビット値0x8100
で、VLANタグ付きフレームであることを示す。フレーム全体がタグによりカプセル化 され、形式上はこの値がEtherType 、以降のデータがペイロードとなる。
PCP (Priority Code Point)
優先度(CoS; Class of Service)を指定する。3ビット値で0
~7
のいずれかを示し、7
が最優先となる。各種トラフィック(音声・動画・データなど)の優先順位付けに使う。
DEI (Drop Eligible Indicator)
0
か1
を指定し、輻輳 発生時に破棄してもよい場合に1
を示す。PCPと組み合わせて判定に使うこともできる。
VID (VLAN Identifier)
12ビット値で、そのフレームが属するVLANを指定する[ 9] 。
1~4094 (0x001~0xFFE)
の値はVLANの識別子として使うことができ、最大4094個のVLANを扱える。
VID=0
は、どのVLANにも属していないことを意味し、PCP・DEIを通知するための優先度タグとして使われる。
VID=1
は、無タグフレーム受信時にスイッチ内部で処理されるVIDであり、これをPVID (ポートVLAN ID)と呼ぶ。PVIDのデフォルト設定値として1
が規定されているが、変更も可能。
VID=2
は、SRP (Stream Reservation Protocol)用途のPVIDで、こちらもデフォルト値であり変更可能。
VID=4095 (0xFFF)
はシステム内部のエントリ検索などに用いる予約値で、フレーム送信に使うことはできない。
VLANタグ挿入により最大フレームサイズが4バイト増加するため、トランクポートから発行する際はフレーム全体のFCS を再計算する必要がある。
また、1998年のIEEE 802.3ac ではフレーム長の最大値が従来の1518バイトからタグの分を増加した1522バイトに変更されており、タグ付きフレームを中継するだけの機器でもこのフレーム長に対応していなければならない。
古い実装
DEIの領域は、初期にはCFI (Canonical Format Indicator)の名称で規定され、トークンリング などイーサネットのフレーム書式ではないことを示すものだった[ 10] 。イーサネットポートでCFIを受信した場合、そのフレームは無タグのポートへは転送されない。後の改版でイーサネットでの動作が前提となったためDEIに変更された。
IEEE 802.2 のSNAPフレームによるカプセル化にも対応していた。このフレームでSNAPヘッダはOUI とプロトコルIDの値から成る。OUI=00-00-00
の場合はイーサネットでないフレームであり、このときプロトコルIDの値は0x8100
と設定され、SNAPヘッダの後ろにVLANタグの4バイトが配置された。
二重タグ
二重タグ は、イーサネットフレーム内に2つのタグを挿入したもの。2つのタグをそれぞれサービスタグ「S-TAG」とカスタマータグ「C-TAG」と呼ぶ[ 11] 。2005年にIEEE 802.1ad で規定され、2011年にIEEE 802.1Q に取り込まれた[ 12] 。「Q-in-Q VLAN」「VLANトンネリング」とも呼ぶ。
インターネットサービスプロバイダ での用途を意図したもので、既にVLANタグの付いた加入者のトラフィックを混合させつつ、プロバイダが内部で独自にVLANタグを使用することができる。S-TAG(プロバイダのVLANタグ)を外側にあたる先に置き、C-TAG(加入者のVLANタグ)を内側にあたる後に置く。このときS-TAGのTPIDは0x88a8
, 0x88a7
が規定されている[ 13] が、0x9100, 0x9200, 0x9300
などの値を使うこともある。
イーサネットフレームにQ-in-Qタグを挿入(3段目水色)
出典
^
Stallings, William (2016). Foundations of modern networking : SDN, NFV, QoE, IoT, and Cloud . Florence Agboma, Sofiene Jelassi. Indianapolis, Indiana. ISBN 978-0-13-417547-8 . OCLC 927715441 . https://www.worldcat.org/oclc/927715441
^ “日経 xTECH: ポートVLANとタグVLANの違いとは? ” (2018年2月20日). 2023年11月14日 閲覧。
^ “IT用語辞典: マルチプルVLAN 【multiple VLAN】 ” (2021年12月17日). 2023年11月14日 閲覧。
^ “IT用語辞典: プライベートVLAN 【PVLAN】 ” (2021年12月17日). 2023年11月14日 閲覧。
^ “Private VLANs | Junos OS | Juniper Networks ”. www.juniper.net . 2023年11月8日 閲覧。
^ “Catalyst 4500 Series Switch Cisco IOS Software Configuration Guide, 12.2(25)EW - Configuring Private VLANs [Cisco Catalyst 4500 Series Switches ]” (英語). Cisco . 2023年11月8日 閲覧。
^ “802.1X Task Group ”. 2023年11月14日 閲覧。
^ IEEE 802.1Q-2022, Clause 9.4 TPID formats
^ IEEE 802.1Q-2022, Table 9-2
^ IEEE 802.1Q-2022, Clause 9.6, NOTE 2
^ IEEE 802.1Q-2022, Clause 9.5, Tag Protocol identification
^ “IEEE 802.1Q-2011 ” (2011年8月31日). 2023年11月14日 閲覧。
^ IEEE 802.1Q-2022, Table 9-1
参考文献
関連項目