レイヤ2スイッチの動作(続き)
ホストDからホストAへのイーサネットフレームの転送(SW2の動作)
通信は原則として双方向で行われます。ホストAからホストDへイーサネットフレームを送信したら、ホストDからホストAへ返事を返します。今度は、ホストDからホストAへのイーサネットフレームの転送を考えます。
ホストDからホストAへのイーサネットフレームは、次のMACアドレスを指定します。
- 宛先MACアドレス: A
- 送信元MACアドレス: D
ホストDからホストA宛てのイーサネットフレームを送信すると、SW2のポート2で受信します(図5の①)。これまで解説した動作と同じように、まず、送信元MACアドレスをMACアドレステーブルに登録します。SW2のMACアドレステーブルに新たにMACアドレスDが登録されるようになります。SW2はポート2の先にMACアドレスDが接続されていると認識します(図5の②)。
そして、宛先MACアドレスAとMACアドレステーブルを照合します。MACアドレステーブルから、MACアドレスAはポート3の先に接続されていることがわかるので、ポート3へイーサネットフレームを転送します(図5の③)。
ホストDからホストAへのイーサネットフレームの転送(SW1の動作)
SW1がホストDからホストAへのイーサネットフレームを受信すると、やはり同じように動作します。まず、送信元MACアドレスを、MACアドレステーブルに登録します。SW1は、MACアドレスDはポート3の先に接続されていると認識することになります(図6の①)。
そして、MACアドレステーブルから、宛先MACアドレスAはポート1の先に接続されていると認識しているので、ポート1へ転送します(図6の②)。ホストAは、SW1から転送されたイーサネットフレームを受信して上位プロトコルの処理を行います。
最終的なMACアドレステーブル
以上のように、レイヤ2スイッチは、受信したイーサネットフレームの送信元MACアドレスを、MACアドレステーブルにどんどん登録していきます。MACアドレスを学習できていないうちはフラッディングが発生して、余計なイーサネットフレームの転送が発生します。しかし、MACアドレステーブルができあがってくると、必要なポートにのみイーサネットフレームの転送を行うようになります。
今回解説したネットワーク構成において、SW1とSW2の最終的なMACアドレステーブルは、次表のようになります。
ポート | MACアドレス |
---|---|
1 | A |
2 | B |
3 | C |
3 | D |
ポート | MACアドレス |
---|---|
1 | C |
2 | D |
3 | A |
3 | B |
なお、MACアドレステーブルに登録されるMACアドレスの情報は、接続するポートが変わったりすることもあるので、永続的なものではありません。MACアドレステーブルに登録するMACアドレスの情報には制限時間が設けられています。登録されたMACアドレスが送信元となっているイーサネットフレームを受信すると、制限時間がリセットされます。Ciscoのレイヤ2スイッチは300秒がデフォルトの制限時間です。MACアドレステーブルに登録されてから、300秒経過すると削除されます。
ブロードキャストドメイン
レイヤ2スイッチの動作を理解する上で知っておいていただきたいキーワードがブロードキャストドメインです。ブロードキャストドメインとは、宛先MACアドレスがブロードキャストであるイーサネットフレームが転送される範囲です。そして、ブロードキャストドメインは「1つの」ネットワークの範囲です。レイヤ2スイッチは、ブロードキャストフレームをフラッディングするので、1つのブロードキャストドメインを構成します[4]。
なお、フラッディングの対象は、MACアドレステーブルに登録されていないMACアドレスが宛先となっているイーサネットフレームです。具体的には次の3種類です。
- ブロードキャストフレーム
- マルチキャストフレーム
- Unknownユニキャストフレーム
MACアドレステーブルは、受信したイーサネットフレームの送信元MACアドレスを登録していきます。ブロードキャストアドレスおよびマルチキャストアドレスは、送信元MACアドレスになることはありません。そのため、MACアドレステーブルに登録されることはなくフラッディングされます[5]。
注
[4]: VLANによってブロードキャストドメイン、すなわち、ネットワークを分割することができます。
[5]: マルチキャストアドレスをMACアドレステーブルに登録することで、不要なマルチキャストフレームのフラッディングを防ぐこともできます。