MACアドレステーブル 【MAC address table】
概要
MACアドレステーブル(MAC address table)とは、ネットワークスイッチなどが内部的に管理している情報で、どのポート(端子)にどのMACアドレスを持つ機器が接続されているかを記録したもの。MACアドレスはネットワーク接続可能な機器に製造時に割り当てられた一台ごとに(正確にはアダプタやNICなどのネットワーク接続装置一基ごとに)固有の識別番号である。イーサネット(Ethernet)などのL2ネットワークではMACアドレスによって機器の識別やデータの宛先の指定などが行われる。
ネットワークスイッチは各ポートに接続されている機器のMACアドレスをMACアドレステーブルに登録し、以降は、そのMACアドレスに関連する通信は当該ポートのみに転送するようにすることで、無関係なポートへの転送を避けて性能を向上させることができる。
各ポートにコンピュータなどが直に接続されている場合はテーブルの最大項目(エントリ)数はポート数と等しくなる(16ポートなら16エントリ)が、企業などではスイッチの多段接続(カスケード接続)が行われたり、Wi-Fiアクセスポイントが接続されたりして、一つのポートの先に多数の機器が繋がっている場合がある。そのような場合でもテーブルが機能するよう、数十ポート規模の製品でもテーブルの最大エントリ数が数千や数万に設定されている場合がある。
MACアドレス学習
テーブルへ登録されるMACアドレスは、管理者がコンソールなどを操作して一つずつ手動で登録する「静的MACアドレス」(スタティックMACアドレス)と、機器が通信状況から自動的に登録する「動的MACアドレス」(ダイナミックMACアドレス)に分かれる。
手動登録は特殊な場合に行われ、機器が自動的にアドレスを登録する「MACアドレス学習」が一般的となっている。これはポートを通過するフレームの送信元MACアドレスを読み取り、そのポートとアドレスと対応付ける操作で、機種によってはこれに加えて宛先MACアドレスの情報を利用する場合がある。
エージアウト/エージングタイム
端末やスイッチの接続先や接続形態は変更されることがあるため、動的に登録したアドレスがずっとそのままだと移動した機器が通信できない状況になってしまい不便である。このため、登録後、一定時間が経過すると自動的にエントリを削除する「エージアウト」(age-out)という仕組みが存在する。
削除されたMACアドレスの機器が再び通信すると、これを読み取ってテーブルに再登録される。エージアウトまでの期間を「エージングタイム」と呼び、通常は数百秒(数分)に設定されることが多い。手動で登録されたアドレスにはエージアウトは適用されない。
ARPテーブルとの違い
コンピュータやルータなどは機器の識別や宛先の指定にIPアドレスを使用するため、ARP(Address Resolution Protocol)という通信規約(プロトコル)を使用してIPアドレスとMACアドレスの対応表である「ARPテーブル」を作成する。L3スイッチのようにMACアドレステーブルとARPテーブルを両方作成して転送方式に応じて使い分ける機器もある。