今回は、「MACアドレステーブル」と呼ぶ機能のスペックについて説明します。
スイッチは、受信したフレームに記述された宛先のMACアドレスを見て、適切なポートからのみ送信します。これを「フィルタリング」と呼びます。フィルタリングを行うためには、スイッチの中でMACアドレスとスイッチポートとの関連付けがされている必要があります。「MACアドレスがAの端末は、ポート2の先につながっている」といった形で記憶しているわけです。この関連付けと記憶は、スイッチが持つ「MACアドレステーブル」という機能が担っています。
一般にスイッチは、動的にMACアドレステーブルのメンテナンスを実行します。具体的には、図1に示すように、発生した通信を処理する中でMACアドレスを学習します。MACアドレスを学習することを、「ラーニング」といいます。当然ながら、接続したての端末はMACアドレスを学習できていません。その場合は、受信したところを除く全ポートからフレームを送り(これを「フラッディング」といいます)、接続したての端末が返信したフレームからラーニングの処理を行います。
ここで着目したいのは、MACアドレステーブルのサイズは有限、つまりスイッチが学習できるMACアドレスの数には限りがあるということです。
スイッチが学習できる上限のMACアドレスを越えた端末が、ネットワーク上に存在することも考えられます。スイッチは、アドレステーブルに入りきらなかったアドレス宛てのフレームを受信した場合、アドレステーブルに存在しないMACアドレス宛てのフレームを処理することになるので、そのフレームはフラッディング処理が実行(すべてのポートから送信)されます。
なお、学習したMACアドレスが使用されなくなり一定時間が経過すると、そのMACアドレスはアドレステーブルから削除されます。この処理は「エージング」といいます。「一定時間」は通常、数分程度です。
フラッディングは、受信ポート以外の全ポートからフレームを送信しなくてはならないため、不要なフレームによりトラフィックが増大することになります。そのため、アドレステーブルのサイズは、大きいほど効率的です。