VLAN・・・柔軟なLAN運用

 VLANは"Virtual LAN"のことです。日本語で言えば「仮想LAN」ということになります。LANはもう立派な日本語ということにしておきましょう。でも、立派な日本語だといっても使い方によって少しずつ意味が違っています。では、ここで言う"LAN"とは何のことでしょうか。ここで言う「LAN」とは"ブロードキャストパケット"が届く範囲のネットワークという意味です。ブロードキャストパケットが届く範囲は、1つのハブやスイッチで構成されるネットワークです。従って、IPアドレスのネットワーク部が同一の範囲、つまり同じサブネットワークということになります。

 VLANはこのLANを仮想的に作る、つまり論理的に作るということです。どういう意味かというと、従来はハブやスイッチなどによって構成する物理ネットワークとブロードキャストの届く範囲(ブロードキャストドメイン)は一致していたのですが、ブロードキャストドメインと物理ネットワークの関係を断ち切って、物理ネットワークとは無関係にブロードキャストドメインを構築できるようにしたということです。VLANを使うと、ブロードキャストドメインを自由に、いくつにも分割することができます。



1.どうしてブロードキャストドメインの分割をしたいのか

 ハブネットワークでは発信された全てのパケットが、宛先に無関係に、全てのホストに到達します。これはパケットの衝突の原因になります。ネットワークのパフォーマンスを上げるためには、できるだけパケットの衝突を少なくすることが重要です。スイッチを使ってネットワークを構築すれば、ユニキャストパケットは宛先のホストが存在するポートからのみ転送されます。スイッチの導入によってネットワークのパフォーマンスは大幅に向上します。しかし、スイッチはブロードキャストパケットをブロックすることはできません。さらなるパフォーマンスの向上のためには、ブロードキャストパケットによる衝突はできるだけ少なくする必要があります。

 ブロードキャストがあまりないなら気にすることはありません。しかし、ネットワークアプリケーションの中にはブロードキャストを多用するものが多くあります。よく利用されるのがARPリクエストです。それからDHCPでも多用されています。ルーティングプロトコルとしてRIPを利用していれば、これもブロードキャストパケットを出します。RIP以外のルーティングプロトコルもマルチキャストを使っていますので、衝突という意味では、ブロードキャストとあまり変わりがありません。それから、Windowsのプリンター共有やファイル共有を使っている場合は、NetBEUIを使います。これもブロードキャストを出しています。ブロードキャストが多くの衝突を生み出していることが容易に想像できると思います。


2 VLANを導入するとどうなるの?

2.1 ルータでブロードキャストドメインを分割するという案

 ブロードキャストドメインを分割する方法としては、ルータを導入する案があります。ルータネットワークでは、ルータのポート毎に別々のサブネットワーク(ブロードキャストドメイン)になります。ただ、一般的にいってルータのポートはあまり多くはありません。スイッチですとポート数128とか、256などのものがありますが、ルータはそういうわけにはいきません。ルータは基本的にはCPUで制御していますので、ポートの数が増えていくと処理しきれなくなってしまいます。ポートの数は1~4個程度というところです。これだと自由にブロードキャストドメインを分割することができません。

2.2 VLANを使うとどうなるのか?

 物理的な接続形態とは独立して仮想的なLANを構築する技術がVLANです。VLANはレイア2スイッチを使います。レイア2スイッチは基本的に多くのポートを持っていますので、VLANを使うことでサブネットワークを自由に構築することができます。

 VLANの利点としてよく上げられるのが、帯域の有効活用、セキュリティの強化、論理グループの構築です。

■ 帯域の有効利用
 ハブネットワークと比較すると、スイッチネットワークでは、衝突の頻度は減少します。しかし、スイッチはブロードキャストパケットをブロックすることはできませんので、ブロードキャストパケットが引き起こす衝突は取り除くことができません。ブロードキャストパケットが引き起こす衝突を少なくすれば、ネットワークのパフォーマンスをさらに向上させることができます。

 ブロードキャストドメインを小さくすることは衝突を少なくするだけではありません。大きなブロードキャストドメインは、多くのホストを収容しています。この多くのホスト間で回線の取り合いを行いますので、個々のホストの立場からすると、必要な時になかなか回線を使うことができないということになります。ブロードキャストドメインを小さくすれば、競争相手が少なくなるわけですから、パフォーマンスが向上することが期待できます。

 ユニキャストパケットの場合、自分宛でないパケットはイーサネットのインターフェースカード(NIC)が処理してくれますが、ブロードキャストパケットは、ブロードキャスト内の全ホストが自分宛のパケットとして処理しなくてはなりません。ということは、自分宛のパケットとして、CPUが処理しなくてはならないことになります。ブロードキャストパケットの受信はCPUの負荷につながります。ブロードキャストパケットを減少させることができれば、CPUの負荷を減らすことができます。

■ セキュリティの強化
 セキュリティ強化という面ではどうでしょうか。ハブネットワークでは全てのパケットがブロードキャストドメイン全体に行きわたります。従って、ハブネットワークではセキュリティに不安があることは確かです。VLANを使うとセキュリティレベルの異なる部署を別のサブネットにすることなどが簡単にできますので、盗聴などの危険性を抑えることが可能です。

■ 論理グループの構築
 VLANを使うとサブネットを自由に構築できます。レイア2スイッチではどうでしょうか。ポートが128あるスイッチでブロードキャストドメインを構成していたところ、サブネットを分割する必要に迫られて、64ポートのスイッチを2台購入したとします。必要とするポート数がともに50だとすると、これで十分に対応できます。しかし、必要なポート数が70と60になったら、古い128ポートのスイッチを再利用しなくてななりません。サブネットを3つに分割する必要が出てきたら、もう一台買い足すか、古いもので間に合わせるか、しなくてはなりません。サブネットを4つに分割するには、更にスイッチの買い足しが必要となります。分割する数や、必要とされるポート数によっては、更に出費が増えてきます。
 
 VLAN対応のスイッチなら、このような事態に柔軟に対応できます。サブネットAがいくつのポートを必要とし、サブネットBがいくつ、サブネットCがいくつ、サブネットDがいくつと、各サブネットがいかように要求しようと、VLAN対応のスイッチなら、全体のポート数が足りている限り、設定だけで簡単に対応することができます。


 最近の企業組織では、世の中の激しい動きに対応するために、短いサイクルで組織変更や人事異動を行うところが多くなっています。また、人事が非常に流動的で、プロジェクトごとの様々なグループに所属する場合もあります。また、大学等の研究組織でも、最近は学部を超えた連携プロジェクトが増えています。例えば、理工学部の電子系情報系の学科と、医学部の核医学系の学科が連携してプロジェクトを組んだり、理工学部の遺伝子工学系の学科と、医学部と、法学部などで連携するなどのプロジェクトが珍しくありませんが、このような場合にも、組織のバックボーンネットワークを介してVLANを配置すれば簡単に対応できます。VLANを導入すると、組織変更や人事異動の度に、物理ネットワークの変更を余儀なくされるということはなくなるでしょう。

 ある会社の同じ部署で働いていたAさん、Bさん、Cさん、Dさん、Eさん、Fさん、Gさんがいるとします。会社の組織変更で、この7名が働いていた部署が消滅することになり、Aさん、Bさん、Gさんの3名は総務部へ、Cさん、Dさんは経理部へ、Eさん、Fさんは人事部へ異動することになりました。元の部署は2階にあり、移動先の総務部、経理部、人事部は1階にあるとします。大幅な組織変更のために、各フロアで拡張工事を行うため、しばらくの間もとの席で仕事をしなくてはならないとしたらどうでしょうか。従来は、スイッチを用意して、配線を変える必要がありましたが、VLANを使うことができれば、設定だけで簡単に、移動先のサブネットに接続することができ、大きな支障もなく仕事を継続することができます。

 VLANを使うと、会社の合併などで、従来2つの別々の会社の部署を、1つのサブネットにまとめることも簡単にできます。あるいは、大学の別キャンパスにある学生課のような組織を1つのサブネットにまとめることも可能です。

 組織の中でVLANを使おうとすると、複数のスイッチ間でVLANを構築する必要があります。離れたネットワークのサブネット同士を、WAN経由でつなぎ合わせるような場合には、VPNなどの技術も必要になります。





3 VLANにはどのようなものがあるのか

 VLANの基本はポートベースVLANです。ポートベースVLANはポート毎にVLANの設定を変えるだけで、自由にサブネットを構成することができます。

 ポートベースVLAN以外にはMACベースVLAN、サブネットベースVLAN、プロトコルベースVLANなどがあります。

 MACベースVLANは端末のMACアドレスにより所属するVLANグループを識別する方式です。サブネットベースVLANは端末のIPアドレスにより所属するVLANグループを識別する方式です。プロトコルベースVLANはIP、IPX、AppleTalkなどのプロトコルの違いによりVLANグループを識別する方式です。

3.1 スタティックVLAN

 スタテックVLANはポートが所属するVLANを予め明示的に指定する方法です。スタテックVLANはポートベースVLANとも呼ばれます。ポート1つ1つに設定をする必要がありますので、クライアントコンピュータが多数存在する場合には、手間がかかります。


3.2 ダイナミックVLAN

 ダイナミックVLANはスイッチのポートに接続されているクライアントコンピュータによって、動的にポートの所属するVLANが変わります。ダイナミックVLANにはMACベースVLAN、サブネットベースVLAN、ユーザベースVLANなどがあります。

■ MACベースVLAN
 MACベースVLANは予めどのMACアドレスのコンピュータは、どのVLANに所属するかを決めておきます。例えば、MACアドレスAAAAというコンピュータはVLAN10に所属すると決めておくと、そのコンピュータがポート1に接続すると、ポート1がVLAN10に所属し、ポート2に接続するとポート2がVLAN10に所属します。

■ サブネットベースVLAN
 サブネットベースVLANは、スイッチに接続されるコンピュータのIPアドレスによって、ポートが所属するVLANを決定する方法です。

■ ユーザベースVLAN
 ユーザベースVLANはスイッチに接続されるコンピュータを利用するユーザによって、ポートの所属するVLANを決める方式です。代表的な例として認証VLANがあります。認証VLANについては節を改めて説明します。

3.3 認証VLAN

 認証VLANは認証システムとVLANシステムを組み合わせたシステムです。

 認証(Authentication)は正当性を検証する作業です。通常は、IDとパスワードの組み合わせで、そのユーザが名乗っている本人と同一人物か、どんな権利(コンピュータやネットワークを利用する上での権利)を持っているかなどを検証します。

 この認証システムをVLANと組み合わせると、IDとパスワードでユーザを検証し、その人がどのサブネットに所属しているかをデータベース(設定ファイル)などで確認し、設定通りのサブネットにつなぐシステムになります。

 認証システムの規格としてはIEEE802.11Xがあります。IEEE802.11Xは有線LANと無線LANで使用可能です。


4 VLANのリンク

4.1 アクセスリンク

 VLAN対応のスイッチのうち、ただ1つのVLANに所属する通常のポートをアクセスポート(リンク)といいます。VLANスイッチを1台で使う場合は、これで十分です。しかし、複数台のVLANスイッチを接続して使いたい場合は、これではあまりうまくいきません。

 複数のスイッチにわたったVLANを構築する場合には、スイッチ毎に離れたVLANを接続するためにポートが必要となります。上の例では、各コンピュータを接続するためのポートと、VLAN10同士を接続するためのポート、VLAN20同士を接続するためのポートが必要となります。新しくVLANを追加すると、更にそのVLANをつなぐためのポートが必要となります。VLANスイッチを追加すると、更にケーブルが必要となります。ケーブルは長くなると高価です。VLANスイッチを違うフロアに設置する場合には、ケーブルも縦系統の追加が必要となります。縦系統のケーブル敷設は専門業者に頼む以外にありませんので、工事費用も高くなります。


4.2 トランクリンク

 複数スイッチ間のリンクを何とか1本で済ます方法が欲しいところです。それを実現したのがトランクリンクです。トランクリンクでは複数のVLANに所属するフレームが流れ込んできますので、どのVLANのフレームか区別するための識別子が必要となります

ただ、この識別子はトランクリンクに対応したVLANスイッチにしか理解できませんので、VLANスイッチでトランクリンクに入るときに追加し、トランクリンクの出口側のVLANスイッチがこれを削除しなくてはなりません。


 トランクを通過する際の識別子の付け方にはIEEE802.1Qという標準規格と、シスコ独自の「ISL(Inter Switch Link)」という方法があります。




5 トランク方式

5.1 IEEE802.1Q

 IEEE802.1Q(通称は、「ドットイチキュウ」)は、トランク上でVLANを識別する情報を付加するための標準の方式です。
 イーサネットのフレームは次のようになっていますが、IEEE802.1QによるVLANの識別子は、フレームの「送信元MACアドレス」と「タイプ」の間に挿入されます。

宛先MACアドレス 送信元MACアドレス タイプ データ FCS


 挿入されるのは4バイトで、VLANのIDなどが記載されています。追加フィールドは次の通りです。

TPID PCP CFI VID

 各フィールドの意味は次の通りです。

フィールド ビット数 説明
TPID 16 (Tap Protocol Identifier):IEEE802.1Qフレームであることを受信側に示すための情報。0X8100
PCP 3 (Priority Code Point):フレームの優先度(IEEE802.1pで定義)。0(最低)~7(最高)で示す。音声、動画、データなどの優先順位付けに使うことができる。
CFI 1 (Canonical Format Identifier):1or0、MACアドレスが正規フォーマットであるかどうかを示す。正規フォーマットの場合は0。イーサネットは常に0。イーサネットとトークンリングの相互接続の際に利用される。イーサネットのポートでCFI「1」のフレームを受信したときは、そのフレームはタグ付されていないポートへはブリッジされない。
VID 12 (LAN Identifier):そのフレームが属するVLANを指定する。0~4095。0はどのVLANにも所属していないことを示す。4095(0xFFF)は実装で使用するために予約されている。1(0x001)は管理用に予約されていることが多い。

 PCP、CFI、VIDの3つのフィールドは合わせて、TCI(Tag Control Information)と呼ばれています。トランクリンクを使うタイプのVLANはタグ(付き)VLANなどと呼ばれます。

※IEEE802.11pはパケットの優先順位制御(QoS=Quality of Service)に関する規格です。



5.2 ISL

 シスコのISLはフレームをISLヘッダとFCSでカプセル化します。

ISLヘッダ フレーム FCS

※フレームにはFCSが付いていますが、図に付加しているFCSはISLヘッダを付けるときに、同時に付加するFCSです。

 フレームは全く変更されずにカプセル化されます。フレームのFCSも変更されません。フレームの後ろに追加されたFCSは元々のFCSではなく、ISLでカプセル化する際に新たに追加されたものです。

 ISLヘッダの各フィールドは次の通りです。

フィールド ビット数 説明
DA 40 宛先アドレス。「0x01-00-0C-00-00」あるいは「0x03-00-0C-00-00」のマルチキャストアドレスに設定。パケットがISLフォーマットであることを受信装置に伝える。
Type 4 Ethernet「0000」、TokenRing「0001」、FDDI「0010」、ATM「0011」
USER 4 Ethernetの優先度、通常は「0」
SA 48 送信元のMACアドレス。
LEN 16 フレーム長(DA、Type、USER、SA、LEN、FCSを除く)
SNAP/LLC 24 標準SNAP 802.2LLCヘッダ
HSA 24 SAの上位3バイト(製造者IDを表す部分)。このフィールドには0x00-00-0Cが入る。
VLAN ID 15 VLAN番号。このフィールドはパケットのカラーと呼ばれる。
BPDU/CDP 1 フレームがBPDUであるか、CDPであるかを示す
INDEX 16 パケットがスイッチから出るときの送信元のポートインデックスを示す。このフィールドは診断目的でのみ使用される。
RES 16 FDDIなどの追加の情報用に予約済み

 ISLはシスコ(Cisco Systems)社独自の規格ですので、シスコの機器同士でのみ使用できます。

※イーサネットのフォーマットは基本はDIX(タイプ)ですが、その他にIEEE802.3(タイプ/長さ)、IEEE802.3+LLC、IEEE802.3+LLC+SNAPという3つのタイプがあります。違いはMACアドレスフィールドの次のフィールドです。DIXは「タイプ」フィールドが続きます。802.3は「タイプ/長さ」フィールドが続きます。「タイプ/長さ」フィールドは、1500以下の場合は長さを表し、1536以上(1501~1535は定義されていない)の場合は、タイプ番号として利用します。IPの0x0800は10進法では2048、ARPの0x0806は10進法では2054、IPXの0x8137は10進法では33079となります。802.3+LLCは「長さ」フィールドの次にLLCヘッダが、802.3+LLC+SNAPは「長さ」フィールドの次にLLC+SNAPヘッダが続きます。LLCタイプは長さフィールドの次に、LLCヘッダ(DSAP、SSAP、制御の各フィールドから成る)が入ります。SNAP+LLCタイプは長さフィールドの次にLLCヘッダ、SNAPヘッダが入ります。SNAPヘッダは3バイトのプロトコルIDフィールドor組織コードフィールド(実際は全部0)と2バイトのタイプフィールドから成ります。

※BPDUはSPA(スパニング・ツリー・アルゴリズム)でネットワークのトポロジに関する情報を判別するために使用されます。CDPはCisco Discovery Protocolを表します。「BPDU/CDP」フィールドはISLでカプセル化したフレームがBPDUであるか、CDPであるかを示します。





6 VLAN間ルーティング

 VLANで作るのはサブネットですので、サブネット間の通信を実現するためにはルータあるいはレイヤ3スイッチが必要となります。

6.1 ルータによるVLAN間ルーティング

 上の図は2つのVLANをルータの2つのポートで接続したものです。VLANの数が3つになれば、ルータのポートは3つ必要です。VLANが4つになればルータのポートは4つ必要となります。VLANの数がどんどん増えていくとこの方式は現実的ではなくなります。ルータのポートは一般的にはあまり多くはないからです。この場合、ポート数の多いレイヤ3スイッチを使うという考え方もありますが、スイッチが複数になり、どんどん増えていき、スイッチ同士の距離も長くなると、やはり現実的ではありません。

 そこで、スイッチとルータ間をトランクリンクで接続するという案がVLAN間のルーティングでも当然出てきます。


6.2 ルータのサブインターフェースでVLAN間ルーティング

 スイッチとルータの間をトランク接続するにはどうしたらいいでしょうか。スイッチはトランクポートを利用すればいいのですが、ルータにはトランクポートがありません。ルータはトランクポートをサポートしていない代わりに、サブインターフェースの機能を持っています。

 サブインターフェースは、ルータの物理インターフェースを論理的に分けた論理インタフェースです。Ciscoルータの場合は、物理インターフェースのFastEthernet0/0に対して、サブインターフェースを設定する場合には物理インターフェース番号の最後にピリオド(.)を付けて、論理番号を設定します。

※Ciscoルータでは、(config)# interface interface-type.subinterface-numberと設定します。実際は(config)# interface FastEther0/0.1(←FastEthernet0/0に論理番号1を付けたサブインターフェース)となります。

 VLANスイッチとルータ間の全てのパケットが1つのトランクリンクを通りますので、ルータが過負荷になる可能性があります。


6.3 レイヤ3スイッチを使ったVLAN間ルーティング

 レイヤ3スイッチはレイア2スイッチとルータの機能を合わせたものです。レイヤ3スイッチのルータ機能はハードウェアとして実装されているので、VLAN間ルーティングも高速処理することが可能です。外部ルータを利用する場合のように、ルータがボトルネックになる心配はあまりありません。内部のルータもルータに違いありませんので、IPアドレスを設定しなくてはなりません。内部のルータにはVLAN10、VLAN20などのようにインターフェースを作成し、そのVLANインターフェースに対して、それぞれIPアドレスを設定する必要があります。

 レイヤ3スイッチはハードウェアでルーティング処理をしていますので、高速に処理ができます。ハードウェアで処理しているので柔軟性はありません。基本的にはイーサネットの処理に特化しています。従って、内部ネットワークで多くのイーサネットポートを必要としているような状況ではレイア3スイッチの利用が適当です。これに対して、ルータはルーティングをソフトウェアで処理していますので、処理の負荷はCPUにかかってきます。そのため多くのポートを保持することはできません。しかし、ソフトウェアで処理しますので、柔軟な処理が可能で、様々なプロトコルに対応できます。イーサネット以外の回線にも対応できるのが普通です。従って、VPNなどを介してリモートネットワークとの間でVLANを構築するような場合には、ルータによるVLAN間接続が適切な解決策となります。





更新記録

2016/06/08 作成




























 ページの先頭