MAC アドレス テーブルの構成

MAC アドレスに関する情報

LAN ポート間でフレームをスイッチングするために、スイッチはアドレス テーブルを保持しています。スイッチがフレームを受信すると、送信側のネットワーク デバイスの MAC アドレスを受信側の LAN ポートにアソシエートします。

スイッチは、受信したフレームの送信元 MAC アドレスを使用して、アドレス テーブルを動的に構築します。そのアドレス テーブルにリストされていない受信側 MAC アドレスのフレームを受信すると、そのフレームを、同一 VLAN のフレームを受信したポート以外のすべての LAN ポートへフラッディングします。送信先ステーションが応答したら、スイッチは、その関連の送信元 MAC アドレスとポート ID をアドレス テーブルに追加します。その後、スイッチは、以降のフレームを、すべての LAN ポートにフラッディングするのではなく単一の LAN ポートへと転送します。

MAC アドレスを手作業で入力することもできます。これは、テーブル内で、スタティック MAC アドレスとなります。このようなスタティック MAC エントリは、スイッチを再起動しても維持されます。

マルチキャスト アドレスは、静的に設定された MAC アドレスとしては入力できません(IP マルチキャストおよび非 IP マルチキャスト MAC アドレスの両方)。これは N3548 プラットフォームではサポートされません。

アドレス テーブルには、フレームを一切フラッディングさせることなく、複数のユニキャスト アドレス エントリを格納できます。スイッチは設定可能なエージング タイマーによって定義されたエージング メカニズムを使用するため、アドレスが非アクティブなまま指定した秒数が経過すると、そのアドレスはアドレス テーブルから削除されます。

MAC アドレスの構成

スタティック MAC アドレスの設定

スイッチの静的 MAC アドレスを構成できます。これらのアドレスは、インターフェイス構成モードまたは VLAN 構成モードで構成できます。

SUMMARY STEPS

  1. switch# configure terminal
  2. switch(config) # mac address-table static mac_address vlan vlan-id {drop | interface {type slot/port} | port-channel number}
  3. (Optional) switch(config)# no mac address-table static mac_address vlan vlan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

switch# configure terminal

グローバル構成モードを開始します。

Step 2

switch(config) # mac address-table static mac_address vlan vlan-id {drop | interface {type slot/port} | port-channel number}

MAC アドレス テーブルに追加するスタティック アドレスを指定します。

Step 3

(Optional) switch(config)# no mac address-table static mac_address vlan vlan-id

(Optional)

MAC アドレス テーブルからスタティック エントリを削除します。

mac address-table static コマンドで静的 MAC アドレスを仮想インターフェイスに割り当てます。

Example

次に、MAC アドレス テーブルにスタティック エントリを登録する例を示します。

switch# configure terminal
switch(config) # mac address-table static 12ab.47dd.ff89 vlan 3 interface ethernet 1/4
switch(config) #

レイヤ 2 インターフェイスでの MAC アドレス学習の無効化

レイヤ 2 インターフェイスで MAC アドレス ラーニングを無効にしてから再度有効にできるようになりました。

手順の概要

  1. switch# configure terminal
  2. switch(config)# interface type slot/port
  3. switch(config-if)# [no] switchport mac-learn disable
  4. switch(config-if)# clear mac address-table dynamic interface type slot/port

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

switch# configure terminal

グローバル構成モードを開始します。

ステップ 2

switch(config)# interface type slot/port

指定したインターフェイスのインターフェイス コンフィギュレーション モードを開始します。

ステップ 3

switch(config-if)# [no] switchport mac-learn disable

レイヤ 2 インターフェイスでの MAC アドレス学習の無効化

no フォームのコマンドは、レイヤ 2 インターフェイスでの MAC アドレス学習の再イネーブル化します。

(注)  

 

ワープ モードでは、Cisco Nexus 3500 スイッチは、switchport mac-learn disable を使用して構成されたポートが存在する VLAN にレイヤ 3 トラフィックをフラッディングせず、トラフィックはドロップされます。通常モードでは、スイッチはレイヤ 3 トラフィックをこの VLAN にフラッディングする必要があります。

ステップ 4

switch(config-if)# clear mac address-table dynamic interface type slot/port

指定されたインターフェイスの MAC アドレス テーブルをクリアします。

重要

 
インターフェイスで MAC アドレス ラーニングを無効化した後、MAC アドレス テーブルを必ずクリアしてください。

次の例では、レイヤ 2 インターフェイスで MAC アドレス ラーニングをディセーブルにする方法を示します。

switch# configure terminal
switch(config)# interface ethernet 1/4
switch(config-if)# switchport mac-learn disable
switch(config-if)# clear mac address-table dynamic interface ethernet 1/4

次の例では、レイヤ 2 インターフェイスで MAC アドレス ラーニングを再イネーブル化する方法を示します。

switch# configure terminal
switch(config)# interface ethernet 1/4
switch(config-if)# no switchport mac-learn disable

MAC テーブルのエージング タイムの設定

エントリ(パケット送信元の MAC アドレスとそのパケットが入ってきたポート)が MAC テーブル内に留まる時間を設定できます。MAC エージング タイムは、インターフェイス構成モードまたは VLAN 構成モードで設定できます。


(注)  


Cisco Nexus デバイスは VLAN 単位の CAM エージング タイマーをサポートしません。


手順の概要

  1. switch# configure terminal
  2. switch(config)# mac-address-table aging-time seconds

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

switch# configure terminal

グローバル構成モードを開始します。

ステップ 2

switch(config)# mac-address-table aging-time seconds

エントリが無効になって、MAC アドレス テーブルから破棄されるまでの時間を指定します。

[秒(seconds)] の範囲は 0 ~ 1000000 です。デフォルトは 1800 秒です。0 を入力すると、MAC エージングがディセーブルになります。

次に、MAC アドレス テーブル内エントリのエージング タイムを 1800 秒(30 分)に設定する例を示します:

switch# configure terminal
switch(config) # mac-address-table aging-time 1800
switch(config) #

MAC テーブルからのダイナミック アドレスのクリア

MAC アドレス テーブルからすべてのダイナミック エントリを消去できます。

コマンド

目的

switch(config)# clear mac-address-table dynamic {address mac-addr} {interface [type slot/port | port-channel number} {vlan vlan-id}

MAC アドレス テーブルからダイナミック アドレス エントリを消去します。

次に、MAC アドレス テーブル内のダイナミック エントリを消去する例を示します。

switch# clear mac-address-table dynamic

MAC 移動ループ検出の設定

2 つのポート間での MAC アドレス移動数がしきい値を超えると、それによってループが形成されます。mac address-table loop-detect port-down コマンドを使用して、このようなループが検出されたときに、インターフェイス インデックスが低いポートをダウンさせるアクションを設定できます。MAC ラーニングをディセーブルにするデフォルト アクションに戻すには、このコマンドの no 形式を使用します。

手順の概要

  1. switch# configure terminal
  2. switch(config)# [no] mac address-table loop-detect port-down
  3. switch(config)# mac address-table loop-detect port-down edge-port

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

switch(config)# [no] mac address-table loop-detect port-down

MAC 移動ループ検出用のポート ダウン アクションを指定します。このコマンドの no 形式は、MAC ラーニングを 180 秒間ディセーブルにするデフォルト アクションに戻します。

ステップ 3

switch(config)# mac address-table loop-detect port-down edge-port

MAC 移動ループ検出のエッジ ポートの err-disabled 検出をイネーブル化します。

次に、MAC 移動ループ検出用のアクションとしてポート ダウンを構成する例を示します。

switch# configure terminal
switch(config)# mac address-table loop-detect port-down

次の例は、MAC 移動ループ検出のエッジ ポートの err-disabled 検出を有効にする方法を示しています。

switch# configure terminal
switch(config)# mac address-table loop-detect port-down edge-port

MAC アドレス設定の確認


Note


Cisco Nexus 3000 および Cisco Nexus 3548 シリーズ プラットフォームでは、セルフ ルータの MAC または HSRP VMAC は、次の条件下でスイッチによって動的学習されます。
  • スイッチが自身のパケットを受信するためにネットワークに一時的なループがある場合。

  • 送信元 MAC がルータ MAC または HSRP MAC と同じであるスプーフィングされたパケットがある場合。

この動作は、他の Cisco Nexus プラットフォームとは異なります。ただし、MAC テーブルに存在するこれらの自己 MAC エントリによる操作上の影響はありません。ルータ MAC または HSRP MAC 宛てのパケットはすべて回送されます。これらのパケットにはレイヤ 2 ルックアップはありません。

次のいずれかのコマンドを使用して、設定を確認します。

Table 1. MAC アドレス構成の確認コマンド

コマンド

目的

show mac address-table aging-time

スイッチ内で定義されているすべての VLAN の MAC アドレスの経過時間を表示します。

show mac address-table

MAC アドレス テーブルの内容を表示します。

Note

 

IGMP スヌーピングによって学習された MAC アドレスは表示されません。

show mac address-table loop-detect

現在構成されているアクションを表示します。

次に、MAC アドレス テーブルを表示する例を示します。

switch# show mac address-table
VLAN      MAC Address       Type    Age       Port
---------+-----------------+-------+---------+------------------------------
1         0018.b967.3cd0    dynamic 10        Eth1/3
1         001c.b05a.5380    dynamic 200       Eth1/3
Total MAC Addresses: 2

次に、現在のエージング タイムを表示する例を示します。

switch# show mac address-table aging-time
Vlan  Aging Time
----- ----------
1     300
13    300
42    300

次に、現在構成されているアクションを表示する例を示します。

switch# configure terminal
switch(config)# show mac address-table loop-detect
Port Down Action Mac Loop Detect : enabled




switch# configure terminal
switch(config)# no mac address-table loop-detect port-down
switch(config)# show mac address-table loop-detect
Port Down Action Mac Loop Detect : disabled