MACアドレステーブルの管理

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秒にします。

デフォルト値に戻すには、 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 {2c }} community-string notification-type

コマンド内容
host-addrNMS の名前またはアドレスを指定します。
trapsホストに SNMP トラップを送信します。
informsホストに SNMP 通知を送信します
versionサポートする SNMP バージョンを指定します。
デフォルトのバージョン 1 は、informs では使用できません。
community-stringSNMPコミュニティストリング(認証文字列)を指定します。
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トラップを送信します。

静的アドレスエントリの追加と削除

静的アドレスには次の特性があります。

  • アドレス テーブルに手動で入力され、手動で削除する必要があります。
  • ユニキャスト アドレスまたはマルチキャスト アドレスにすることができます。
  • 古くなることはなく、スイッチを再起動しても保持されます。

基本構文

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に設定します。

ユニキャスト 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を持つパケットをドロップするようにスイッチを設定します。

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 コマンドの出力 に設定を表示します 。

参考文献

Managing the MAC Address Table