これまで見てきたVLANは,LANスイッチごとに設定したり,LANスイッチ同士を接続してLANスイッチをまたがるVLANを設定するものだった。複数のLANスイッチをまたがるVLANでは,タグという制御情報をフレームに挿入する。タグにはどのVLANから送られてきたのかという情報が入っており,スイッチはタグ情報を見てデータを適切なVLANに届ける。ただし,各パソコンのIPアドレスを適切に変更し,ルーターを介さなければVLAN間の通信はできない。
 今回は,ルーターを使って社内ネットに個々のVLANからアクセスするための設定を見ていく。VLANごとに異なるIPネットワーク番号を振り直すことで,ルーターは社内ネットからのIPパケットを個々のVLANに届けられるようになり,VLAN間のデータ中継も可能となる。このほかマンション・ネットワークを例に,マンション自体を一つのネットワークとしつつも,各ユーザー宅別にVLANを作り隣人のパソコンが見えないような設定を紹介する。

Step1:部署と社内ネットをつなぐ

図1●同じネットワーク番号を異なるVLANに設定すると社内ネットと通信できない
ネットワーク番号が同じだと,ルーターは送るべきインタフェースを判別できない。
図2●ネットワーク番号とホスト番号の求め方
サブネット・マスクはネットワーク番号がどこまでかを表す。ネットワーク番号はすべて1,ホスト番号は0にして,アドレスに掛け合わせる。ホスト番号を求めるときはサブネット・マスクの逆数を掛け合わせる。
図3●IPアドレスをサブネット化する
27ビットまでをネットワーク部に割り当てて,細かくネットワークを分ける。
図4●サブネット化したアドレスを割り当てる
大きなネットワークは24ビットまで,小さなネットワークは27ビットまでがIPネットワーク番号。
図5●ネットワークをさらに細かく分割する
IPネットワーク番号を29ビットまで伸ばすとさらにネットワークを四つに分割できる。

 事業部ごとのネットワークを,全社のIPネットワークと接続する構成を考えてみる。事業部ごとのネットワークは,LANスイッチを使ってフレームのやり取りを制御しているとする。IPで構築した全社ネットにつなぐとなると,LANスイッチだけでは構成できない。ルーターを用いて,IPアドレスを基にした中継処理が必要になる。

 目的とするIPアドレスまでデータを届ける機能をルーティング(経路制御)という。スイッチは,データ(フレーム)をフォワーディング・データベースを参照して目的のポートに転送していた。それに対してルーターは,自身が持つルーティング・テーブルを参照してデータ(ルーターが扱うデータをパケットと呼ぶ)を配送する。

 ルーティング・テーブルには,IPネットワーク番号ごとに次に送るべきルーターのIPアドレス(ネクスト・ホップと呼ぶ)が書いてある。ネクスト・ホップとして,次に送るルーター自身のインタフェース番号が書かれることもある。パケットを受信したルーターは,ルーティング・テーブルから一致するIPネットワーク番号を検索して,ネクスト・ホップにパケットを送る。複数の番号が一致する時は,一致する数字が多い方を参照する。ちなみに,0.0.0.0は宛先のIPネットワーク番号がどれにも当てはまらない場合のアドレスを表しており,デフォルト・ルートと呼ぶ。

 VLAN Aのパソコンは次のような設定で社内ネットにアクセスできる。まず,LANスイッチのVLAN Aのポートにルーターを接続する。ルーターには,VLAN AのIPネットワーク番号を定義する。ルーターにあるもう一方のインタフェースには社内ネットのIPネットワーク番号を定義する。VLAN A以外のあて先であるデフォルト・ルートは社内ネットのルーターを指定する。

 ここで,VLAN AがつながっているLANスイッチにVLAN Bを加えてみる(図1[拡大表示])。IPネットワーク番号をVLAN Aと同じ192.168.1.0に設定したとしよう。この場合,VLAN AからもVLAN Bからも社内ネットにデータを送ることはできる。

 だが,社内ネットから送られてくるデータは届かない。IPネットワーク番号が同じなので,ルーターがVLAN AとVLAN Bのどちらのインタフェースに送ればよいか判断できないからだ。適切に通信するには,IPルーティングができるようにIPアドレスを付け直さなければならない。

 IPアドレスはIPネットワーク番号と,そのネットワークに所属するパソコンに付けるホスト番号で構成される。普通,IPアドレスを見ただけではIPネットワーク番号がどこまでかは分からない。それを表すのがサブネット・マスクだ。サブネット・マスクは32ビットの数値であり,IPネットワーク番号を表す部分がすべて1,ホスト番号を表す部分がすべて0である。IPアドレス同様に8ビットごとにドットで区切り,10進数で表記したり,IPアドレスの最後に/27というように何ビット目までがIPネットワーク番号かをスラッシュ(/)のうしろに書く(図2[拡大表示])。

 IPで正しく経路制御するための条件は,IPネットワーク番号が重複しないことと,ホスト番号がサブネットワーク内で重複しないことだ。さらに,ツリー状に構成されたネットワークでは下位のIPネットワーク番号は上位のIPネットワーク番号に包含されるような構成が望ましい。小さいネットワークを集約するような上位のIPネットワーク番号があれば,その番号を外部に知らせるだけで済ませられるからだ。

 IPネットワーク番号を何ビット目までにするかで,収容できるホストの台数が変わってくる(図3[拡大表示])。例えば,IPネットワーク番号を27ビットまでとし,残りの5ビットをホストに割り当てる。5ビットは0と1の組み合わせにより2の5乗通り=32通りの組み合わせを作れる。すべて0という数値はIPネットワーク番号そのものを表し,すべて1という数値はブロードキャストのアドレスを表すのでホスト番号として使えない。その二つを差し引いて,32-2=30個のアドレスが使える。ネットワーク部のビット数を変えることで,ネットワークをさらに細かいネットワーク(サブネット)に分割できる。

 それでは,192.168.0.0/24~192.168.4.0/24というアドレスが割り振られている社内ネットを例にサブネット化する方法を見ていこう。全社ネットは,本店と四つの支店で構成されている。そのうち,支店1には192.168.1.0/24というアドレスが割り振られているとする。このアドレスは,24ビットでIPネットワーク番号を表しているので,IPネットワーク番号を例えば27ビットにすれば支店1をさらに小さなネットワークに分割できる。具体的には192.168.1.0/27~192.168.1.224/27の8個のサブネットを作れる(図4[拡大表示])。

 より多くのサブネットを作るために,192.168.1.32/27のネットワーク番号を29ビットまでにすると,四つのサブネットに分けられる。それらのサブネットのホスト番号は3ビット分になり,6個のIPアドレスを使えるようになる。つまり,小さな事業部向けのサブネットとして使える(図5[拡大表示])。

 ここで,図1のVLAN構成に立ち返って,アドレスを割り振り直す。VLAN Aには192.168.1.0/27,VLAN Bには192.168.1.32/29というふうにアドレスを付け替える。ルーターには,VLAN AとVLAN Bそれぞれのアドレスを集約する192.168.1.0/24を割り当てる。こうすれば,社内ネットに対して,192.168.1.0/24を通知するだけでよい。上記のようなIPアドレスを割り振れば,ルーターはVLAN AとVLAN Bを別々のネットワークとして認識し受信したデータを適切に届けることができるようになる。VLANごとにネットワーク番号が異なるので,他のVLANとも通信できる。