MACアドレステーブルテーブルとは
MACアドレステーブルには、スイッチがポート間でトラフィックを転送するためのアドレス情報が含まれています。テーブル内のすべてのMACアドレスは、1つ以上のポートに関連付けられています。アドレステーブルには、次の種類のアドレスが含まれます。
| アドレス | 特徴 |
|---|---|
| 動的アドレス | スイッチが学習し、使われていないと期限切れになる送信元MACアドレス。 |
| 静的アドレス | 期限切れにならず、スイッチをリセットしても失われない手動で入力されたユニキャストアドレス。 |
アドレステーブルには、宛先MACアドレス、関連するVLAN ID、ポート番号、およびタイプ(静的または動的)がリストされています。
スイッチは、受信したパケットの宛先アドレスに基づいて、任意の組み合わせのポート間でパケットを送信します。スイッチは、MAC アドレス テーブルを使用して、宛先アドレスに関連付けられたポートにのみパケットを転送します。
デフォルトのMACアドレステーブル設定
MACアドレステーブルのデフォルト設定は以下のようになっています。
| 特徴 | デフォルト設定 |
|---|---|
| エージングタイム | 300秒 |
| 動的アドレス | 自動的に学習 |
| 静的アドレス | 設定なし |
エージングタイムとは、スイッチがMACアドレステーブルに登録されたエントリーを保持する期間のことです。この時間が経過すると、MACアドレスがMACアドレステーブルから削除されます。
アドレスエージングタイムの変更
基本構文
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 グローバル コンフィギュレーション コマンドを使用します。
動的アドレスエントリの削除
すべての動的エントリの削除
Switch#clear mac address-table dynamic
特定のMACアドレスの削除
Switch#clear mac address-table dynamic address mac- address
指定された物理ポートまたはポート チャネル上のすべてのアドレスを削除
Switch#clear mac address-table dynamic interface interface-id
指定された VLAN 上のすべてのアドレスを削除
Switch#clear mac address-table dynamic vlan vlan-id
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コミュニティストリング(認証文字列)を指定します。 snmp-server community コマンド を使用してこの文字列を定義することをお勧めします 。 |
| notification-type | 送信する通知のタイプを指定します。 (例: all はすべての通知、または特定のトラップやインフォームのタイプを指定することも可能) |
スイッチが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 アドレス テーブルに静的アドレスを追加します。
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 アドレス テーブルから静的アドレスを削除します。
Switch(config)#no mac address-table static mac-addr vlan vlan-id [ interface interface-id ]
設定例
MACアドレス:c2f3.220a.12f4をGi1/0/1に設定します。
Switch(config)# mac address-table static c2f3.220a.12f4 vlan 4 interface gigabitethernet 1/0/1
ユニキャスト 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
VLAN での MAC アドレス学習の無効化
デフォルトでは、 スイッチのすべての VLAN で MAC アドレス学習が有効になっています。VLAN で MAC アドレス学習を制御して、どの VLAN (つまりどのポート) が MAC アドレスを学習できるかを制御することで、使用可能な MAC アドレス テーブル スペースを管理できます。
基本構文
指定された VLAN または VLAN での MAC アドレス学習を無効にします。
Switch(config)# no mac address-table learning vlan vlan-id
再有効化
VLAN で MAC アドレス ラーニングを再度有効にするコマンドは以下2つのコマンドがあります。
Switch(config)#default mac address-table learning vlan vlan-id
コマンドはデフォルト状態に戻るため、 show running-config コマンドの出力には表示されません 。
Switch(config)#mac address-table learning vlan vlan-id
show running-config コマンドの出力 に設定を表示します 。
参考文献