VLAN間ルーティングその2

同じVLAN内のデータの流れ

ルータとスイッチをトランク接続した場合に、どのようにVLAN間ルーティングが行われるかということを見ていきましょう。次の図のように各コンピュータとルータのサブインタフェースにIPアドレスの設定を行っています。

赤VLANは192.168.1.0/24というネットワーク、青VLANは192.168.2.0/24というネットワークに対応付けています。各コンピュータにつけている名前である「A」~「D」はMACアドレスも表していると考えてください。また、ルータのインタフェースのMACアドレスを「R」とします。スイッチが各ポートに接続されているMACアドレスを学習すると、MACアドレステーブルは次のようになります。







































ポート MACアドレス VLAN
1 A
2 B
3 C
4 D
5
6 R トランク

まず、コンピュータAからコンピュータBという同じVLANのコンピュータ同士の通信を考えます。

コンピュータAはARPリクエストを送信して、BのMACアドレスを求めてフレームをスイッチに送ります。スイッチはフレームを受信したポートと同じVLANに所属しているMACアドレステーブルのエントリを検索します。すると、送信先MACアドレスBがポート2に接続されているのがわかるので、フレームをポート2に転送し、コンピュータBが受信します。このように同じVLAN同士の通信であれば、スイッチのみで処理が完結します。

異なるVLAN間のデータの流れ

次にいよいよ本題である、VLAN間の通信を見てみましょう。コンピュータAからコンピュータCへの通信を考えます。

次の図をもとに話を進めていきます。

コンピュータAは送信先IPアドレス(192.168.2.1)からCが異なるネットワークにいることがわかるので、設定されているデフォルトゲートウェイ(ルータ)へフレームを送ります。ルータにフレームを送るためには、先にARPによってMACアドレスを解決します。

ルータのMACアドレスがわかれば、図の1のフレームを送信します。1のフレームの送信先MACアドレスは、ルータのMACアドレスですが、送信先IPアドレスは実際に通信を行いたいコンピュータCのIPアドレスを指定しています。

スイッチが1のフレームを受信すると、ポート1と同じVLANに所属しているポートのMACアドレスエントリを参照します。トランクはすべてのVLANに所属しているとみなされるので、このときにはトランクリンクであるポート6のエントリも参照されます。するとスイッチはポート6からフレームを送出すればよいことがわかります。

ポート6からフレームを送出するときには、このポートがトランクリンクであるためにVLAN識別情報が付加されます。この場合、もともと赤VLANのフレームだったので、図の2のフレームのように赤VLANの識別情報が付加されてトランクリンクを流れていきます。

ルータは2のフレームを受け取ると、VLAN識別情報を確認します。赤VLANのフレームであることがわかるので、赤VLAN用のサブインタフェースで受信することになります。

そして、ルータが持つルーティングテーブルから、どこに中継すべきかとうことを判断します。
目的のネットワークである192.168.2.0/24は青VLANに対応付けられていて、ルータに直接接続されているので、青VLAN用のサブインタフェースからフレームを送出していくことになります。このフレームの送信先MACアドレスは、目的のコンピュータCのMACアドレスが指定され、さらにトランクリンクに入っていくので、青VLANの識別情報が付加されます。図の3のフレームです。

スイッチが3のフレームを受信すると、VLAN識別情報から青VLANのフレームであることがわかります。MACアドレステーブルから青VLANに所属するポートのMACアドレスエントリを参照して、目的のコンピュータCがポート3に接続されていることがわかります。ポート3は通常のアクセスリンクであるために、付加されている青VLANの識別情報を取り除いて(フレーム4)、ポート3からフレームを送出し、コンピュータCが無事に受け取ることができるようになります。

このようにVLAN間の通信の場合には、同じスイッチに接続されていたとしても、

送信元→スイッチ→ルータ→スイッチ→送信先

というデータの流れになります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA