スイッチは、自らのスイッチ ファブリックを介してネットワーク通信を宛先ノードへの適切なポートに誘導するために MAC アドレスを使用します。 スイッチ ファブリックは集積回路であり、そのスイッチを介したデータ パスを制御できるように機械的にプログラミングされています。 ユニキャスト フレームの送信にどのポートを使用するのかがわかるように、スイッチは各ポート上に存在するノードを最初に学習する必要があります。
スイッチは、MAC アドレス テーブルを使用して受信データ フレームの処理方法を決定します。 また、各ポートに接続されているノードの MAC アドレスを記録することで、MAC アドレス テーブルを構築します。 あるポート上の特定のノードの MAC アドレスが一度アドレス テーブルに記録されると、スイッチは、以降の送信でその特定のノード宛てのトラフィックはそのノードにマップされているポートに送信すればよいことがわかります。
テーブルにない宛先 MAC アドレスが受信フレームに含まれている場合、スイッチは、そのフレームを受信したポート以外のすべてのポートにフレームを転送します。 宛先ノードから応答があると、スイッチはフレームの送信元アドレス フィールドにあるノードの MAC アドレスをアドレス テーブルに記録します。 複数のスイッチが相互に接続されているネットワークでは、そのノードを反映しているスイッチに接続しているポートについても、複数の MAC アドレスが MAC アドレス テーブルに記録されます。 通常、2 台のスイッチの相互接続に使用されるスイッチ ポートについては、MAC アドレス テーブルに複数の MAC アドレスが記録されます。
この動作を確認するには、図 1-6 の各手順を参照してください。
このプロセスの説明は次のとおりです。
手順 1: スイッチがポート 1 で PC1 からのブロードキャスト フレームを受信します。
手順 2: スイッチは、送信元 MAC アドレスと、フレームを受信したスイッチ ポートをアドレス テーブルに入力します。
手順 3: 宛先アドレスはブロードキャストなので、フレームはすべてのポート(フレームを受信したポートを除く)にフラッディングされます。
手順 4: 宛先デバイスが PC1 宛てのユニキャスト フレームによってブロードキャストに応答します。
手順 5: スイッチは、PC2 の送信元 MAC アドレスと、フレームを受信したスイッチ ポートのポート番号をアドレス テーブルに記録します。 フレームの宛先アドレスと関連ポートが MAC アドレス テーブルに見つかります。
手順 6: 関連ポートを特定するエントリが MAC アドレス テーブルに登録されたので、次はフラッディングを行うことなく、送信元デバイスと宛先デバイスの間でフレームを転送できます。
注:MAC アドレス テーブルは、連想メモリ(Content Addressable Memory; CAM)テーブルと呼ばれることもあります。 CAM テーブルという用語はかなり一般的ですが、このコースの目的上、ここでは MAC アドレス テーブルと呼びます。