本サイトはPRが含まれています。
-
VLANが無いとセグメント毎にスイッチが必要
-
VLANによってポート単位で通信可能なグループを設定可能
-
1スイッチで複数のVLANを制御可能
-
trunk=1ポートに複数VLAN、aceess=1ポートに1VLAN
-
VLANでブロードキャストを分割
企業ネットワークではVLANって良くあるけど、どんな機能なのかしら?
チャーチルさん
ポン先生
企業のように規模が大きかったり複数の用途や種類の機器がある場合は必ず必要になる機能だよ。スイッチと必ずセットになる機能なので覚える必要があるね。
本記事ではVLANの概要について解説します。家庭では不要ですが、企業ネットワークにおいてVLANが必要ないというケースは殆どありません。ネットワークに携わる人であればエンジニアでなくとも知っている単語ですので説明できるようになりましょう。
HAL校長
目次
VLANの機能
L2スイッチはL3機能を認識できない
これは誤解を生む表現かもしれませんが、まず前提としてL2スイッチはネットワークセグメントを認識できません。どうゆうことかというと、そもそもIPアドレスやセグメントはL3の機能です。一方L2スイッチは当然L2です。つまりL2スイッチから見てセグメントと言うのは、レイヤ的に上位の機能なので自身の機能では扱う事ができないのです。
ただ、最近の機器は高機能なOSがインストールされており上位レイヤの機能を扱える機器もあります。それはあくまで各メーカの実装・努力ということでここでは一旦置いておきます。
さて、話は戻ってL2スイッチはL3の機能を扱えないという話です。ただしこれだと実際すごく使いにくいです。セグメントの概念がない状態でL2スイッチを設置する必要があり無駄が多いです。
そこでL2スイッチでもL3の機能を“完全ではないが無理やり”実装しています。この機能をVLAN(Virtual LAN)と言います。そもそもLAN(Local Area Network)とは企業の特定の建屋や家庭のネットワーク等限られた・狭い範囲のネットワークを表す抽象的な言葉です。
逆にLANではないWAN(Wide Area Network)は例えば物理的に離れた拠点間を接続する広域的な回線などです。
本来L3スイッチやルータが持っているL3機能をL2機器でも利用できるように「仮想的」に実装したのがVLANという訳です。
次章以降で具体的に見ていきます。
VLANの機能 -accessとtrunk-
例えば以下のようなネットワークを考えます。ルータ配下に3つのセグメントがあります。セグメントごとに用途を分けています。
※ここではルータの例ですがL3スイッチでも同様です。
物理的な接続はこのようになります。ルータ側は各ポートにセグメントを割り振っています。各セグメントでデバイスが1台という訳ではないので、配下のスイッチで分岐させています。
この構成はどうでしょう?素直に作るとこうなりますが、無駄が多いです。デバイスの数はセグメント毎に2台ずつです。一方スイッチは24ポートのスイッチを使っています。つまり各スイッチ20ポート以上余っている状態です。もしこれでさらにセグメントが増えたらその度にスイッチを買い足す必要があります。。。
ここでようやくVLANの登場です!VLANを使うとL2スイッチの物理ポート単位で通信可能な範囲を指定する事が可能です。要は“同じVLAN同士のポートは通信可能”ということです。
このケースの場合、L2スイッチの1,2,24番ポート=VLAN1と定義しています。つまり1,2,24番ポートのデバイス同士は通信可、それ以外のポートとは通信不可とする事ができます。そしてL2スイッチの24番ポートはルータの1番ポート(192.168.1.0/24)に接続しているので実質的にはVLAN1=192.168.1.0/24となる訳です。
“実質的に”と言ったのはこの状態でもL2スイッチは192.168.1.0/24を認識しておらす、あくまで「1,2,24番ポートは同じグループである」という設定をしているに過ぎません。
たまたまルータの1番ポートに接続されたので192.168.1.0/24のセグメントとして利用されますが、ルータの2番ポートであればVLAN1=192.168.2.0/24となっていました。繰り返しになりますが、L2スイッチはVLANを設定することで特定ポートのグループ分けをしているだけであり、そのネットワークのセグメントは認識していません。
VLANを使うことで複数セグメントの通信をポート毎に分けられるようになりました。つまり今まで3セグメントであればL2スイッチが3台必要だったのが1台で収まりました。
もう少し効率化できないか考えます。現状ルータ⇔L2スイッチ間のケーブルは3本(セグメント数分)です。スイッチの台数は減りましたがケーブルの数は減っておらず、セグメントが増える度にケーブル本数が増えてしまいます。
実はルータ~スイッチ間ケーブルは1本にまとめる事ができます。複数のVLANを1本のケーブルにまとめて通信します。これをtrunkと言います。
一方、PC等末端のデバイスが接続するポートはaccessと言い1VLANのみ設定可能です。
※末端であってもtrunkで接続する機器もありますがここでは割愛します。
trunkポートはタグというVLANを識別する情報を使って通信させています。スイッチから送信する際に「そっちの通信はVLAN 1」、「こっちの通信はVLAN3」といった情報を追加します。受信側のスイッチはタグ情報を読み取りつつタグを外します。VLAN1のタグが付いていた通信は自身のVLAN1のポートへ転送、VLAN3のタグが付いていた通信は自身のVLAN3のポートへ転送する、といった具合です。
要は、物理的には1本のケーブルにまとめられるが論理的には混ざらないように印が付けられているということですね。
一般的に、ネットワーク機器間のポートはtrunkにしておきます。例えば構築時はVLANが1つしか無ければaccessで接続しても通信は可能です。しかし後々にVLANが追加されると設定変更が面倒になってしまいます。
最初からtrunk設定でVLANを追加するだけであれば簡単ですが、access→trunkへの変更となると厄介です。設定変更の際に一時的にスイッチ1のポート=trunk、スイッチ2のポート=accessの状態になると通信できなくなるためです。機器の目の前で作業するならばまだしもリモートで作業する際に最悪ログインできなくなる等起きてしまうので注意が必要です。
もちろん構成上後々のVLAN追加が絶対にないポイントであればaccessで設定するケースもありますが一般論としては覚えておきましょう。
ポン先生
因みにVLANや、それに近い機能はL2スイッチの他にL3スイッチやルータにもあるよ。仕様や設定方法は機種によって違う点もあるから調べてみよう。
VLANの機能 -ブロードキャストドメインの分割-
VLANのその他の機能として、ブロードキャストドメインの分割があります。そもそもブロードキャストドメインとはブロードキャストが届く範囲を言います。
ブロードキャストは例えばARPのようなセグメント全体に投げかけるような通信です。宛先が分からないため全体に投げますがその分無駄も多いです。例えば端末が200台あり、ある1台からARPを送信します。通信したい宛先の端末は1台だけなので残りの198台からしてみれば無駄な通信が着信してしまいます。
VLANを設定することでブロードキャストドメインの範囲限定する事が可能です。つまり同じVLANのポートにしかブロードキャストは届かないため、無駄な通信の削減になります。
また、単純に通信の効率化だけではなくセキュリティ的なメリットもあります。先程のARPを例にすると、端末をLANに接続しネットワークのキャプチャをすると実際に自分宛の通信でなくてもパケットの中身を確認可能です。これは上記の通りARPがブロードキャストでありネットワーク全体宛の通信なので見えてしまいます。悪意を持って行えばこうした点から各PCのネットワーク的な情報を取られてしまいます。
そのため例えば会社支給PCを接続するポートだけVLANを設定する等で他からブロードキャストをキャプチャされる恐れもなくなりセキュリティも向上します。
補足:セカンダリアドレス
一点補足的な内容ですが、一般的には「1VLAN=1ネットワークセグメント」として設計する事が多いです。ただしこれは多いというだけであって必須ではありません。
例えば1VLANの中に複数のセグメントを入れる事もできます。これをセカンダリアドレスと言います。
例えば同じVLAN1のポートであっても192.168.1.1のPCもいれば172.16.1.100の複合機もいるという環境の構築も可能です。
そういう意味で言うと、「ブロードキャストはセグメント内全体に広報する」という説明は厳密には違います。ブロードキャストドメインはセグメントではなくVLANによって分割されます。そのため上記構成の場合、PC(192.168.1.1)のARPテーブルに複合機(172.16.1.100)のIPアドレス情報が乗るという見慣れない状態になります。
同じVLANの中であれば例えセグメントが違ってもARP(ブロードキャスト)の通信は届くということなのね。
チャーチルさん
ポン先生
そうだね。
ちなみにセカンダリアドレス自体はVLANの機能では無いよ。VLANの無いルータでも実装は可能だけど、イメージ付きにくい点なので一緒に説明したよ。
ネットワークエンジニアを目指すならCCNAを取得しよう!
CCNAとはCisco社のメーカ認定資格です。CCNAの取得はネットワークエンジニアの基本的な知識やCisco製品の理解の証明になります。
特定メーカの資格で役に立つの?実際には他メーカの機種も扱うんじゃないの?
チャーチルさん
ポン先生
確かに業務上Cisco以外の機器を扱うことはあるだろうけど、最初にCiscoを勉強しておくと他の機器も理解しやすくなるんだ。
Ciscoは数あるネットワーク機器メーカの内の1社ですがディファクトスタンダードと言われています。つまり業界標準として位置付けられており、他メーカ機種でもCiscoのコマンドライン等を参考にしている事が多いです。そのため初見の機器でもCiscoと設定方法が似ており、「大体は分かる」なんてケースも多々あります。ネットワークエンジニアとしてはCiscoの学習はむしろ必須と言えるレベルでしょう。
また、Ciscoの資格と言っても独自仕様や製品の話だけでなく、ネットワークの一般的な知識も必要です。Cisco製品と言えベースはネットワークの標準規格に基づいて設計されており、CCNA取得でネットワークの一般的な知識も習得可能です。
上記理由からCCNAは非常におすすめの資格です。ネットワークエンジニアとして本格的に活躍したいのであれば是非チェックすべきでしょう。
【CCNAとは】難しい?勉強は?Cisco資格の登竜門 基本解説
まとめ
-
VLANが無いとセグメント毎にスイッチが必要
-
VLANによってポート単位で通信可能なグループを設定可能
-
1スイッチで複数のVLANを制御可能
-
trunk=1ポートに複数VLAN、aceess=1ポートに1VLAN
-
VLANでブロードキャストを分割
家庭用ネットワーク機器にはなく、企業ネットワーク機器には有る機能はたくさん有りますが、VLANはその中でも最もポピュラーな機能の一つです。企業には様々な種類のデバイスがあります。またそれなりの規模の拠点であればフロアが広かったり複数フロアあったりします。その中でセキュリティや管理上の理由でネットワークを分けるという事は非常に重要になります。VLANが無ければ物理的にスイッチで分ける必要があり追加の度に手間やコストがかかります。論理的に分けるということはネットワークとしてはかなり一般的であり、他の分野でも共有する基本的な考え方になっています。