VLANってなんだっけ

背景

先日唐突に、「VLANって何?」と訊ねられました。

咄嗟に「Virtual LANだよ」と言おうと思ったのですが、これでは説明したとは言えない。
かといって全てのVLANの種類を列挙する?…のは正気じゃない。
パケットの中身を説明する?いやいや思い出せない。

とパニパニしてしまったので、まとめておきます。

VLANってVirtual LANだよね

どういう事よ?

Virtual な LAN
つまり仮想的(論理的)なLAN(Local Area Network)てことです
これで理解できたなら天才。

VirtualなLANの何がいいの?

「VLANの何がいいの?」の答えは「物理的な繋がりとは異なるネットワーク(ブロードキャストドメイン)を構成できます!」が一番わかりやすいかと思います。

例えば会社で、来客スペースと執務スペースが同フロアにあるような時、ゲストと社員が同じネットワークを使用するのはセキュリティ的に問題あることは何となくでも感じ取れるかと思います。

踏み込んだ言い方をするのであれば
同じネットワーク…ブロードキャストドメインに属しているとARPが届いてしまいます。
このARPを不正に応答することで、割と容易になりすましができます。(ARPスプーフィング)

そのためVLANによってネットワークを分割することはとても大事なことになります。

そのほかにも
「ネットワーク回線の混雑を防ぎたい」ときにも輝くはずです。きっと多分そうでしょう。

VLANってどう実現するの?

物理的にはVLANを構成しようがしなかろうが、やることは一緒(のはず)です。
LANケーブルをスイッチングハブにさすんです。パチッと!!

大事なのはその後、スイッチングハブの設定をいじる必要があります。
スイッチの管理画面を開いて、スイッチのベンダーの指示している通りに設定しましょう。
ちなみに管理画面への接続用IPアドレスも、VLANの設定で他のネットワークから切り離すような設定にしましょう。
誰かに書き換えられちゃったら元も子もないです。

VLANの正体見たり!

先でも少し書いた通り、VLANは種類がとても多いです。
ここではその中でも特に知られている「ポートベースVLAN」「タグVLAN」に関して書きます。

ポートベースVLAN

ポートベースVLANって何

スイッチングハブの物理的なポート(LANケーブルを指した場所)毎にVLANグループを設定する方法になります。
逆に言うと、複数のVLANグループを作りたい場合は、それだけ多くのポートを使用することになります。
例)N個のVLANグループを作成したいなら、使用するポートはN個以上必要

スイッチングハブはポートを見てルーティングを決めることになります。

タグVLAN

タグVLANって何

タグVLANは、ポートベースVLANと異なり、一つのポートに対して複数のVLANを設定することができます。
これはタグVLANではパケットにタグVLANフレームを埋め込んで通信をすることで実現しております。

スイッチングハブはこのVLANフレームを見てルーティングを決めることになります。

パケット詳細

パケットの構造(先頭から)

  • 宛先MACアドレス(6バイト)
  • 送信元MACアドレス(6バイト)
  • VLANタグ(4バイト)
  • タイプ(2バイト)
  • データ(46〜1500バイト)


VLANタグの構成

  • TPID(2バイト)
  • TCI(2バイト)

正直な話、TPIDとTCIに関しては私自身詳しくは分かっておりません😇
TCIのなかにVLAN ID(タグVLANにおける、どのVLANに属するかの情報)があるのは確か。

このVLAN IDは12ビットで構成されることは覚えて置いた方が良いかもしれません。
つまり、VLAN IDとして2^{12}=4096とることができます。
ただし0,4095は使用できず、1~4094が使用できます。

まとめ

VLANでネットワークを分割することができ、セキュリティ面を高められるよ
VLANにはポートベースVLANとタグVLANがあるよ