Cisco Nexus 3000 シリーズ NX-OS レイヤ 2 スイッチング コンフィギュレーション ガイド リリース 6.x
MAC アドレス テーブルの設定
MAC アドレス テーブルの設定

MAC アドレス テーブルの設定

この章の内容は、次のとおりです。

MAC アドレスに関する情報

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

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

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

さらに、非 IP マルチキャスト アドレスを静的に設定された MAC アドレスとして入力することもできます。 非 IP マルチキャスト アドレスは、複数のインターフェイスを送信先として受け付けることができます。

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

MAC アドレスの移動

MAC アドレスがポート間を移動する回数を検出して制限することができます。 このポート間の MAC アドレスの移動はループを引き起こす可能性があります。 Cisco NX-OS Release 6.0(2)U3(1) までは、2 つのポート間でループが検出されると、MAC ラーニングが 180 秒間ディセーブルになりました。 現在は、mac address-table loop-detect port-down コマンドを使用して、このようなループが検出された場合に、より下位のインターフェイス インデックスを持っているポートをダウンさせるアクションを設定できるようになりました。 MAC ラーニングをディセーブルにするデフォルト アクションに戻すには、このコマンドの no 形式を使用します。

MAC アドレスの設定

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

スイッチのスタティック MAC アドレスを設定できます。 これらのアドレスは、インターフェイス コンフィギュレーション モードまたは VLAN コンフィギュレーション モードで設定できます。

手順
     コマンドまたはアクション目的
    ステップ 1switch# configure terminal  

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

     
    ステップ 2 switch(config) # mac-address-table static mac_address vlan vlan-id {drop | interface {type slot/port} | port-channel number} [auto-learn]  

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

    auto-learn オプションをイネーブルにすると、同じ MAC アドレスが別のポート上で見つかった場合には、スイッチがエントリを更新します。

     
    ステップ 3 switch(config)# no mac address-table static mac_address vlan vlan-id   (任意)

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

    mac address-table static コマンドを使用して、スタティック MAC アドレスを仮想インターフェイスに割り当てます。

     

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

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

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

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


    (注)  


    Cisco Nexus デバイスがレイヤ 2 またはレイヤ 3 の終端スイッチとして使用される場合は、すべての VLAN で mac-address-table aging-time を 1800(デフォルトの ARP エージング タイム 1500 秒よりも高く)に設定することを推奨します。

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


    手順
       コマンドまたはアクション目的
      ステップ 1switch# configure terminal  

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

       
      ステップ 2switch(config)# mac-address-table aging-time seconds [vlan vlan_id]  

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

      seconds の範囲は 0 ~ 1000000 です。 デフォルトは 1800 秒です。 0 を入力すると、MAC エージングがディセーブルになります。 VLAN を指定しなかった場合、エージングの指定がすべての VLAN に適用されます。

       

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

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

      MAC 移動ループ検出の設定

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

      手順
         コマンドまたはアクション目的
        ステップ 1switch# configure terminal  

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

         
        ステップ 2switch(config)#[no] mac address-table loop-detect port-down  

        MAC 移動ループ検出用のポート ダウン アクションを指定します。

        このコマンドの no 形式は、MAC ラーニングを 180 秒間ディセーブルにするデフォルト アクションに戻します。

         

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

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

        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 アドレスの設定の確認

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

        表 1 MAC アドレス設定の確認コマンド

        コマンド

        目的

        show mac-address-table aging-time

        スイッチ内で定義されているすべての VLAN の MAC アドレスのエージング タイムを表示します。

        show mac-address-table

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

        (注)     

        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     1800
        13    1800
        42    1800

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

        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

        レイヤ 2 整合性チェッカーのトリガー

        レイヤ 2 整合性チェッカーを手動でトリガーして、MAC アドレスのハードウェア設定とソフトウェア設定を比較し、その結果を表示することができます。 これにより、ソフトウェアで設定され、ハードウェアで設定されていない MAC アドレスだけでなく、ハードウェアで設定され、ソフトウェアで設定されていない MAC アドレスも表示されます。 レイヤ 2 整合性チェッカーを手動でトリガーして結果を表示するには、次のコマンドを特定のモードで使用します。

        手順
           コマンドまたはアクション目的
          ステップ 1switch# show consistency-checker l2  

          MAC アドレスに対するレイヤ 2 整合性検査を開始して結果を表示します。

           

          次に、レイヤ 2 整合性検査をトリガーして結果を表示する例を示します。

          switch# show consistency-checker l2
          Consistency Check: FAILED
          Legend:         * - primary entry, G - Gateway MAC, (R) - Routed MAC        age - seconds since last
           seen
          
          
          
           Missing entries in the MAC Table
             VLAN     MAC Address      Type      age     Secure NTFY   Ports
          ---------+-----------------+--------+---------+------+----+------------------
            1        0100.0100.0106    dynamic     -        F     F    0
            1        0200.0100.0125    static      -        F     F    0
          
          
           Extra and Discrepant entries in the MAC Table
             VLAN     MAC Address      Type      age     Secure NTFY   Ports
          ---------+-----------------+--------+---------+------+----+------------------
          * 1        0000.0100.0109    dynamic   370        F    F  Eth1/41