PR

Part1で見てきたように,L3スイッチの中継機能は大きく二つに分かれる。一つはLANスイッチとしての中継機能。もう一つはルーターとしての中継機能だ。Part2では,こうした機能を実現するための,L3スイッチの内部の動きを見ていくことにしよう。

 Part1で見てきたように,L3スイッチの中継機能は大きく二つに分かれる。一つはLANスイッチとしての中継機能。これは同じサブネットに属するポート間の通信が対象となる。もう一つはルーターとしての中継機能。こちらは,異なるサブネットに属するポート間の通信が対象だ。

 個々のポートがどのサブネットに属するかを指定するのは管理者の仕事。これはルーターを使うときと同じである。ただしルーターはポートごとに異なるサブネットを設定するが,L3スイッチの場合は複数ポートを同じサブネットに指定できる

アドレスに応じて処理を変える

 L3スイッチの中継処理の特徴は,受信フレームがサブネット内通信なのか,サブネット間通信なのかを自動的に見分けることにある。具体的には,受信フレームの中にある「あて先MACアドレス」を取り出し,それをいくつかの条件に照らすことで判断する。

 どちらの通信でも中継処理は,スイッチ・チップが担当する。スイッチ・チップの内部に,MACアドレスを基に中継する回路(以下L2(エルツー)処理部)と,IPアドレスを基に中継する回路(以下L3処理部)が入っているからだ(図1)。

図1●L3スイッチは受け取るフレームによってLANスイッチにもルーターにもなる<br>スイッチ・チップは,LANスイッチ機能(L2処理部)とルーター機能(L3処理部)の両方を持つ。どちらのモードで動作するかの判断もスイッチ・チップが担当する。
図1●L3スイッチは受け取るフレームによってLANスイッチにもルーターにもなる
スイッチ・チップは,LANスイッチ機能(L2処理部)とルーター機能(L3処理部)の両方を持つ。どちらのモードで動作するかの判断もスイッチ・チップが担当する。
[画像のクリックで拡大表示]

L2処理部は小さなLANスイッチ

 では,いよいよL3スイッチの内部の動きを見ていくことにしよう。

 LANポートから入ってきた電気信号は,PHYチップで整形され,フレームとしてスイッチ・チップへ送られる。

 スイッチ・チップは,フレームを取り込み始めると,そのヘッダー部分を読み込むと同時に,フレーム全体をパケット用メモリーに格納する(図2)。

図2●あて先MACアドレスが自分あてでないならL2スイッチとして処理する<br>あて先MACアドレスが自分あてなら,自分あてのIPパケットを載せているフレームと判断し,L3に処理を受け渡す。あて先MACアドレスが自分あてでないなら,同じサブネット内の通信なのでL2スイッチとして動作する。
図2●あて先MACアドレスが自分あてでないならL2スイッチとして処理する
あて先MACアドレスが自分あてなら,自分あてのIPパケットを載せているフレームと判断し,L3に処理を受け渡す。あて先MACアドレスが自分あてでないなら,同じサブネット内の通信なのでL2スイッチとして動作する。
[画像のクリックで拡大表示]

 次にスイッチ・チップは,あて先MACアドレスを調べる。最初に見分けるのは,あて先MACアドレスが自分あてかどうか。あて先MACアドレスがL3スイッチ自身のMACアドレスのときは,L3処理部に処理を引き渡す。

 もし,あて先MACアドレスが自分あてでないときは,LANスイッチとして動作する。具体的にはあて先MACアドレスをアドレス用メモリーの中にあるアドレス・テーブルに照会し,そこに対応づけられている出力ポートから受信フレームをそのまま送り出す。

なぜMACアドレスで判断できるか

 L2処理部のポイントは,あて先MACアドレスで,L3処理部に処理を引き渡すかどうかを判断すること。なぜ,MACアドレスで判断できるのだろう。

 これは,LANにおけるルーターの役割を考えると理解しやすい。

 TCP/IPでは,自分が所属するサブネットにあて先マシンがいないときにルーターを使う。ルーターに対してIPパケットを送るわけだ。このとき,IPパケットを格納するフレームのあて先MACアドレスは,ルーターのMACアドレスとなる。

 これに対して,同じサブネット内にあて先マシンがいるときは,あて先マシンに直接IPパケットを送る。フレームの中のあて先MACアドレスは,送信相手のMACアドレスとなる。

 スイッチ・チップには,このルールがあらかじめ組み込まれてある。だから,L3スイッチは,自分がルーターとして動作すべきか,それともLANスイッチとして動作すべきかを適切に判断して動作できるのである。