MACアドレステーブルとは
MACアドレステーブルには、スイッチがポート間でトラフィックを転送するためのアドレス情報が含まれています。テーブル内のすべてのMACアドレスは、1つ以上のポートに関連付けられています。アドレステーブルには、次の種類のアドレスが含まれます。
- 動的アドレス: スイッチが学習し、使われていないと期限切れになる送信元MACアドレス。
- 静的アドレス: 期限切れにならず、スイッチをリセットしても失われない手動で入力されたユニキャストアドレス。
アドレステーブルには、宛先MACアドレス、関連するVLAN ID、ポート番号、およびタイプ(静的または動的)がリストされています。
スイッチは、受信したパケットの宛先アドレスに基づいて、任意の組み合わせのポート間でパケットを送信します。スイッチは、MAC アドレス テーブルを使用して、宛先アドレスに関連付けられたポートにのみパケットを転送します。
デフォルトのMACアドレステーブル設定
特徴 | デフォルト設定 |
エージングタイム | 300秒 |
動的アドレス | 自動的に学習 |
静的アドレス | 設定なし |
アドレスエージングタイムの変更
コマンド
Switch(config)# mac address-table aging-time [0 | 10-1000000] [routed-mac | vlan vlan-id]
aging-time [0 | 10-1000000] | 範囲は 10 ~ 1000000 秒です。デフォルトは 300 です。 0 を入力してエージングを無効にすることもできます。 |
vlan-id | 有効な ID は 1 ~ 4094 です。 |
設定例
vlan2のMACアドレスエージングタイムを500秒にします。
Switch(config)# mac address-table aging-time 500 vlan 2
デフォルト値に戻すには、 no mac address-table aging-time グローバル コンフィギュレーション コマンドを使用します。
動的アドレスエントリの削除
コマンド | 内容 |
clear mac address-table dynamic | すべての動的エントリの削除 |
clear mac address-table dynamic address mac- address | 特定のMACアドレスの削除 |
clear mac address-table dynamic interface interface-id | 指定された物理ポートまたはポート チャネル上の すべてのアドレスを削除 |
clear mac address-table dynamic vlan vlan-id | 指定された VLAN 上のすべてのアドレスを削除し |
MAC アドレス移動通知トラップの設定
MAC 移動通知を設定すると、MAC アドレスが同じ VLAN 内のあるポートから別のポートに移動するたびに、SNMP 通知が生成され、ネットワーク管理システムに送信されます。
コマンド
トラップ メッセージの受信者を指定します。
Switch(config)# snmp-server host host-addr {traps | informs } {version {1 | 2c | 3 }} community-string notification-type
host-addr | NMS の名前またはアドレスを指定します。 |
traps | ホストに SNMP トラップを送信します。 |
informs | ホストに SNMP 通知を送信します |
version | サポートする SNMP バージョンを指定します。 デフォルトのバージョン 1 は、informs では使用できません。 |
community-string | 通知操作で送信する文字列を指定します。 この文字列はsnmp-server hostコマンドを使用して設定できますが、 snmp-server hostコマンドを使用する前にsnmp-server community コマンド を使用して この文字列を定義することをお勧めします 。 |
notification-type | mac-notification キーワードを使用します 。 |
スイッチがMAC アドレス移動通知トラップを NMS に送信できるよう にします 。
Switch(config)# snmp-server enable traps mac-notification move
MAC アドレス移動通知機能を有効にします。
Switch(config)# mac address-table notification mac-move
設定例
SNMPサーバの172.20.10.10にSNMPトラップを送信します。
Switch(config)# snmp-server host 172.20.10.10 traps private mac-notification
Switch(config)# snmp-server enable traps mac-notification move
Switch(config)# mac address-table notification mac-move
コマンドの無効化
MAC アドレス移動通知トラップを無効にするには、 no snmp-server enable traps mac-notification moveグローバル コンフィギュレーション コマンドを使用します。MAC アドレス移動通知機能を無効にするには、 no mac address-table notification mac-move グローバル コンフィギュレーション コマンドを使用します 。
静的アドレスエントリの追加と削除
静的アドレスには次の特性があります。
- アドレス テーブルに手動で入力され、手動で削除する必要があります。
- ユニキャスト アドレスまたはマルチキャスト アドレスにすることができます。
- 古くなることはなく、スイッチを再起動しても保持されます。
コマンド
MAC アドレス テーブルに静的アドレスを追加します。
Switch(config)# mac address-table static mac-addr vlan vlan-id interface interface-id
mac-addr | アドレス テーブルに追加する宛先 MAC ユニキャスト アドレスを指定します。 指定された VLAN で受信されたこの宛先アドレスを持つパケットは、 指定されたインターフェイスに転送されます。 |
vlan-id | 指定された MAC アドレスを持つパケットを受信する VLAN を指定します。 有効な VLAN ID は 1 ~ 4094 です。 |
interface-id | 受信したパケットを転送するインターフェイスを指定します。 有効なインターフェイスには、物理ポートまたはポート チャネルが含まれます。 静的マルチキャスト アドレスの場合、複数のインターフェイス ID を入力できます。 静的ユニキャスト アドレスの場合、一度に入力できるインターフェイスは 1 つだけですが、 同じ MAC アドレスと VLAN ID を使用してコマンドを複数回入力できます。 |
設定例
MACアドレス:c2f3.220a.12f4をGi1/0/1に設定します。
Switch(config)# mac address-table static c2f3.220a.12f4 vlan 4 interface gigabitethernet 1/0/1
アドレス テーブルから静的エントリを削除
アドレス テーブルから静的エントリを削除するには、 no mac address-table static mac-addr vlan vlan-id [ interface interface-id ] グローバル コンフィギュレーション コマンドを使用します。
ユニキャスト MAC アドレス フィルタリングの設定
ユニキャスト MAC アドレス フィルタリングを有効にすると、 スイッチは 特定の送信元または宛先 MAC アドレスを持つパケットをドロップします。この機能はデフォルトでは無効になっており、ユニキャスト スタティック アドレスのみがサポートされます。
コマンド
Switch(config)# mac address-table static mac-addr vlan vlan-id drop
mac-addr | 送信元または宛先ユニキャスト MAC アドレス(48 ビット)を指定します。 この MAC アドレスを持つパケットはドロップされます。 |
vlan-id | 指定された MAC アドレスを持つパケットを受信する VLAN を指定します。 有効な VLAN ID は 1 ~ 4094 です。 |
設定例
送信元、または宛先のユニキャストMACアドレス:c2f3.220a.12f4を持つパケットをドロップするようにスイッチを設定します。
Switch(config)# mac address-table static c2f3.220a.12f4 vlan 4 drop
コマンドの無効化
ユニキャスト MAC アドレス フィルタリングを無効にするには、 no mac address-table static mac-addr vlan vlan-id グローバル コンフィギュレーション コマンドを使用します。
VLAN での MAC アドレス学習の無効化
デフォルトでは、 スイッチのすべての VLAN で MAC アドレス学習が有効になっています。VLAN で MAC アドレス学習を制御して、どの VLAN (つまりどのポート) が MAC アドレスを学習できるかを制御することで、使用可能な MAC アドレス テーブル スペースを管理できます。
コマンド
指定された VLAN または VLAN での MAC アドレス学習を無効にします。
Switch(config)# no mac address-table learning vlan vlan-id
再有効化
VLAN で MAC アドレス ラーニングを再度有効にするには、 default mac address-table learning vlan vlan-idグローバル コンフィギュレーション コマンドを使用します。mac address-table learning vlan vlan-id グローバル コンフィギュレーション コマンドを入力して、VLAN で MAC アドレス ラーニングを再度有効にすることもできます 。最初の ( default ) コマンドはデフォルト状態に戻るため、 show running-config コマンドの出力には表示されません 。2 番目のコマンドは、 show running-config 特権 EXEC コマンドの出力 に設定を表示します 。