レイヤー3スイッチ(L3スイッチ)を冗長構成にしたら,パケットが同じところを回り続けるループ現象に注意しなければならない。前号までに紹介したスパニングツリーを使うとパケットの通り道が自動的にツリー状に構成されるので,ループの心配がなくなる。スパニングツリーがタイマーでツリーの構築を進めていくのに対し,RSTP(Rapid Spanning-Tree Protocol)であればスイッチ同士の迅速なやり取りでツリーを素速く構築できる。

 L3スイッチを冗長構成にした場合,ループ以外にもう一つ注意すべきことがある。レイヤー3でのルーティングだ。冗長構成にしたときにはネットワークの出口となる装置が複数になるため,パソコンから見たときのルーティングが複雑になってしまう。今回は,異なるネットワークへパケットを送るときの出口であるデフォルト・ゲートウェイを一つにまとめる方法を紹介する。仮想ルーターを設定して,そこにデフォルト・ゲートウェイのIPアドレスを割り振ることで実現する。

図1●ルーター経由でVLANは通信する
VLAN間の通信はルーターを使って中継する。このようなルーティングをインダイレクト・ルーティングという。これに対して,同一のVLAN内での通信をダイレクト・ルーティングという。
図2●発信元が経路を決める手順
送信元のパソコンは自分のネットワーク番号と通信相手のパソコンのネットワーク番号を比べて,ダイレクト・ルーティングかインダイレクト・ルーティングか調べる。ネットワーク番号はIPアドレスにサブネット・マスクを掛け合わせて求める。

Step1:
2種類のルーティング

 L3スイッチはその名の通り,レイヤー2のVLANを自在に作りつつ,レイヤー3でのルーティングも行う。オフィスLANにおけるVLANの作り方はいろいろあるが,最も広く使われているのはIPのサブネット単位にVLANを作る方法だ。このように構成するとVLANとサブネットが1対1に対応する。VLAN同士で通信する場合,VLANとVLANの中継がルーティング動作と等しくなり,分かりやすい。

 ルーティングというのはネットワーク同士を接続する動作のことである。基本的にレイヤー2スイッチ(L2スイッチ)はケーブルの距離を延長したり,パソコンを接続するポートを増やすための機器だ。それに対して,L3スイッチはネットワークとネットワークを接続するための機器である。

 それではルーティング動作をパソコンの観点から見てみる(図1[拡大表示])。あるVLANに所属するパソコンは,同じVLAN内の相手,すなわち同じサブネットの相手とはL3スイッチを経由しなくても直接通信できる。これを「ダイレクト・ルーティング(direct routing)」と呼んでいる。これに対して違うVLANの相手,すなわち別サブネットの相手と通信するにはL3スイッチに中継を依頼する。このような通信方法を「インダイレクト・ルーティング(indirect routing)」と呼ぶ。では,パソコンはどのようにしてダイレクト・ルーティングとインダイレクト・ルーティングを識別するのだろうか。

 手掛かりになるのは自分に設定されたIPアドレスとサブネット・マスクである。通信したい相手のIPアドレスにサブネット・マスクを掛け合わせた結果が,自分に設定されているサブネットのネットワーク番号と一致すればダイレクト・ルーティング,一致しなければインダイレクト・ルーティングとなる(図2[拡大表示])。

 ダイレクト・ルーティングであればL3スイッチの力を借りることなく,自分で直接相手に届ける。直接届けるには,同じネットワークにあるパソコンのMACアドレスを知る仕組みであるARP(Address Resolution Protocol)を使う。ARPは同じサブネット内にいるマシンを対象に,IPアドレスからMACアドレスを調べるための仕組みのことだ。ARPではまず,あて先のIPアドレスに対応するMACアドレスを聞く「ARPリクエスト」をブロードキャストする。それを受け取った端末で,該当する端末だけが「ARPレスポンス」を応答する。

 インダイレクト・ルーティングの場合には,L3スイッチが自分が持つルーティング・テーブルとIPアドレスを照らし合わせて,どのルーター(もしくはL3スイッチ)に送るかを調べる。 ルーティング・テーブルは,あて先IPアドレスと,送り先がつながるLANスイッチのインタフェースのIPアドレスを対応させた一覧である。

 通常パソコンは,自分と同じサブネット以外はすべてL3スイッチの先にいると考える。つまり,別サブネットとの通信であるインダイレクト・ルーティングは自分のサブネットにいるL3スイッチに任せてしまえばよいと考えられる。このときのL3スイッチがデフォルト・ゲートウェイである。