VLAN とは
VLAN (Virtual LAN) 機能とは、端末をグループ化し、論理的なサブネットを構成する機能である。1つのグループは1つの LAN セグメントに属しているかのように通信できる。
VLAN 機能は IEEE802.1Q で規定されており、ポートベース VLAN とタグ VLAN がある。
ポートベース VLAN
グループを一意に識別する番号は VLAN ID となる。グループ化の設定は、スイッチングハブのポートごとに VLAN ID を割り当てる方式が採用されている。この方式をポートベース VLAN という。
なお、VLAN 機能を装備しているスイッチングハブの全てのポートは、デフォルトで VLAN ID が 0x1 の VLAN に収容されており、この VLAN のことをデフォルト VLAN と呼ぶ。
タグ VLAN
タグ VLAN とは、所属する VLAN が異なる複数の論理的なリンクを、1 本の物理的なリンクの上に束ねる技術のことであり、IEEE802.1Q で規格化されている。その物理リンクを収容するポートは、タグ VLAN で束ねた全ての VLAN に所属することになる。
タグ VLAN を利用する場合としない場合の違いは以下の通り。
図の下段に示した構成が、タグ VLAN を用いる場合の構成であり、スイッチングハブ間の物理リンクが 1 本になっている。VLAN10 、VLAN20 それぞれには 1 本ずつの論理リンクが用意されており、論理的な構成はタグ VLAN を用いない場合と同等だが、この 2 本の論理リンクが 1 本の物理リンクに収容されている。
つまり、タグ VLAN を用いることで、VLAN ごとに論理リンクを設けることができるというメリットが得られる。
これらの論理リンクを識別するため、この物理リンク上を流れるフレームにはタグフレームと呼ばれる特別なフレームが用いられている。
これは VLAN タグと呼ばれる 4 バイトのデータが挿入されたフレームであり、この VLAN タグの中には VLAN ID が格納されている。例えば VLAN10 に収容されたステーション間で通信する場合、タグフレームには “VLAN ID = 10” が格納され、同様に、VLAN20 間で通信する場合は “VLAN ID = 20” が格納される。
タグ VLAN を使用してネットワークを構成する場合、スイッチングハブのポートに対し、格納できる VLAN ID の値を事前に設定しておく必要がある。(図の下段の例では 10 及び 20)
なお、タグフレームを送受信するポートを「タグポート」と呼ぶ。タグポートから送信されるとき、フレームには VLAN タグが挿入され、送信元ステーションが収容されている VLAN ID の値が格納される。
そして、対抗のタグポートでフレームが受信されるとき、タグが取り除かれて VLAN ID の値が評価される。その後、スイッチングハブ内の各 VLAN のアドレステーブルの値に従い、フレームが転送される。
タグ VLAN のフレームフォーマットは以下の通り。
DIX 規格ではタイプ領域の前に VLAN タグが挿入される。VLAN タグのバイト長は 4 バイトであり、2 バイトのタグプロトコル識別子 (TPID: Tag Protocol Identifier) と、2 バイトのタグ制御識別子 (TCI: Tag Control Identifier) で構成される。
前半 2 バイトのタグプロトコル識別子では、フレームのタイプが IEEE802.1Q タグフレームであることを意味している。これにより、ステーションは後続の 2 バイトをタグ制御識別子として解釈することになる。
イーサネットフレームは最大 1518 バイトであるため、VLAN タグがつくことにより、最大 1522 バイトになる。
タグ制御識別子の中身は先頭ビットから順に次の通りである。
領域 | ビット数 | 内容 |
---|---|---|
優先度 | 3 | VLAN ID が 0 の時、優先度タグつきフレームとして扱われ、この領域が解釈される |
DEI (Drop Eligible Indicator) | 1 | 1 である時、混み合った際に優先的に破棄して良いフレームとなる |
VLAN ID | 12 | VLAN を識別する番号。1 ~ 4094 までを使用する。0 は優先度タグ付きフレームとなる |