MACアドレス数
メディアアクセス制御(MAC)レイヤー 2 サブレイヤーの概要
このトピックでは、データリンク層(レイヤー 2)の MAC サブレイヤーの概要を説明します。
ネットワークのレイヤー 2 では、メディアアクセス制御(MAC)サブレイヤーが、複数の端末またはネットワークノードがネットワーク内で通信できるようにするアドレス指定およびチャネルアクセス制御メカニズムを提供します。
MAC サブレイヤーは、LLC(論理リンク制御)イーサネット サブレイヤーとレイヤー 1(物理レイヤー)の間のインターフェイスとして機能します。MAC サブレイヤーは、マルチポイント ネットワークで全二重論理通信チャネルをエミュレートします。このチャネルは、ユニキャスト、マルチキャスト、またはブロードキャスト通信サービスを提供する場合があります。MAC サブレイヤーは、MAC プロトコルを使用してコリジョンを防止します。
レイヤー 2 では、スイッチ上のすべてのポートに割り当てられている MAC アドレスを使用することで、同じ物理リンク上の複数のデバイスがデータリンク層で相互に一意に識別できます。MACアルゴリズムは、認証すべき秘密鍵と任意の長さのメッセージを入力として受け取り、MACアドレスを出力します。
MAC アドレスは、12 桁の 16 進数(長さは 48 ビット)です。MACアドレスは通常、次のいずれかの形式で書き込まれます。
MM:MM:MM:SS:SS:SS
MM-MM-MM-SS-SS-SS
MAC アドレスの前半には、アダプターの製造元の ID 番号が含まれています。これらの ID は、インターネット標準化団体によって規制されています。MAC アドレスの後半は、製造元によってアダプターに割り当てられたシリアル番号を表します。
レイヤー2で動作するMACアドレッシングと、レイヤー3(ネットワークおよびルーティング)で動作するIPアドレッシングを対比させます。違いを覚える1つの方法は、MACアドレスが物理ノードまたは仮想ノードに適用されるのに対し、IPアドレスはそのノードのソフトウェア実装に適用されることです。MACアドレスは通常、ノードごとに固定されていますが、IPアドレスは、ノードがネットワークのある部分から別の部分に移動すると変更されます。
IP ネットワークは、ARP(アドレス解決プロトコル)テーブルを使用して、ノードの IP アドレスと MAC アドレス間のマッピングを維持します。DHCP は通常、ノードに IP アドレスを割り当てるときにも MAC アドレスを使用します。
関連項目
EXシリーズスイッチでのMACアドレス割り当てについて
このトピックでは、スタンドアロンのジュニパーネットワークスEXシリーズイーサネットスイッチでのインターフェイスへのMACアドレスの割り当てについて説明します。バーチャル シャーシでの MAC アドレスの割り当てについては、 バーチャル シャーシでの MAC アドレスの割り当てについてを参照してください。
MACアドレスは、レイヤー2でネットワークデバイスを識別するために使用されます。レイヤー2トラフィックの決定はすべてインターフェイスのMACアドレスに基づいているため、スイッチがネットワークトラフィックをどのように転送および受信するかを理解するには、MACアドレスの割り当てを理解することが重要です。ネットワークがMACアドレスを使用してトラフィックを送受信する方法の詳細については、 スイッチのブリッジングとVLANについてを参照してください。
MAC アドレスは、2 桁の 16 進数字からなる 6 つのグループで構成され、各グループはコロンで区切られます(例:aa:bb:cc:dd:ee:00)。16 進数の最初の 5 つのグループはスイッチから派生し、スイッチ上のすべてのインターフェイスで同じです。
各ネットワーク インターフェイスに一意の MAC アドレスを割り当てることで、冗長トランク グループ(RTG)、リンク アグリゲーション制御プロトコル(LACP)、一般的な監視機能など、MAC アドレスの差別化を必要とする機能が正しく機能できるようになります。
ラインカードを使用するスイッチでは、このMACアドレッシングスキームにより、スイッチ内の異なるラインカード上のレイヤー2インターフェイスが区別されます。
EXシリーズ スイッチの場合、最初の5つの16進数字グループは、スイッチの製造時に決定されます。次に、スイッチは、16進数字の最後のグループとして一意の識別子を割り当てることにより、各インターフェイスに一意のMACアドレスを割り当てます。割り当ては、インターフェイスの設定方法によって異なります。スイッチは、異なるパターンを使用して、RVI(ルーテッドVLANインターフェイス)、VME(仮想管理イーサネット)インターフェイス、または集合型イーサネットインターフェイスのいずれかとして設定されているインターフェイス、またはRVI、VME、または集合型イーサネットインターフェイスのいずれとしても設定されていないインターフェイスを区別します。
集合型イーサネットインターフェイスの場合、インターフェイスの構成がレイヤー2かレイヤー3かに関係なく、MACアドレスの割り当ては一定です。
Junos OS リリース 11.3 以降のリリースからリリース 12.1 では、インターフェイスをレイヤー 2 からレイヤー 3 に、またはその逆に変更すると、集約型イーサネット インターフェイスの MAC アドレスの割り当てが変更されます。Junos Release 12.2以降、インターフェイスがレイヤー2かレイヤー3かに関係なく、アグリゲートイーサネットインターフェイスのMACアドレスの割り当ては一定です。
Junos OS リリース 11.3 以前までは、レイヤー 2 インターフェイスの MAC アドレスを、同じスイッチ内の異なるラインカード上のインターフェイスと RVI 間で共有できました。ただし、ラインカードをサポートするスイッチでJunos OSリリース11.2以前からJunos OSリリース11.3以降にアップグレードすると、これらのインターフェイスのMACアドレスが変更されます。
MACアドレスはインターフェイスに自動的に割り当てられるため、ユーザーによる設定は必要ありません。show interfaces
コマンドを使用して、インターフェイスに割り当てられた MAC アドレスを表示できます。
関連項目
MAC 移動パラメータの設定
MACアドレスが異なる物理インターフェイス上または同じ物理インターフェイスの別のユニット内に出現し、この動作が頻繁に発生する場合、MACの移動と見なされます。以下のパラメータに基づいて、MACアドレスの移動を報告するようにルーターを設定できます。MAC アドレスの移動が発生する回数、MAC アドレスの移動が発生する指定された期間、および 1 秒間に MAC アドレスの移動が発生する指定された回数。global-mac-move
ステートメントは、グローバル階層レベルでのみ設定できます。
MAC 移動アクション機能をグローバルに無効にするには、[edit protocols l2-learning global-mac-move]
に disable-action
ステートメントを含めます。これにより、MAC移動検出が存在する間は、MAC移動アクション機能が無効になります。
ポートのブロックが解除されるまでの期間を設定するには、[edit protocols l2-learning global-mac-move]
に reopen-time
ステートメントを含めます。デフォルトの再オープン タイマーは 180 秒です。
MACアドレスが1秒間に少なくとも指定された回数移動した場合にMACアドレス移動レポートを設定するには、[edit protocols l2-learning global-mac-move]
階層レベルでthreshold-time
ステートメントを含めます。デフォルトのしきい値時間は 1 秒です。
MAC アドレスが指定した期間移動した場合の MAC アドレス移動のレポートを設定するには、[edit protocols l2-learning global-mac-move]
階層レベルで notification-time
ステートメントを含めます。デフォルトの通知タイマーは 1 秒です。
MACアドレスが指定した回数移動した場合に、MACアドレス移動のレポートを設定するには、[edit protocols l2-learning global-mac-move]
階層レベルにthreshold-count
ステートメントを含めます。デフォルトのしきい値カウントは 50 ムーブです。
show l2-learning mac-move-buffer
コマンドを使用して、MAC アドレス移動機能の結果としてのアクションを表示します。
MAC 移動アクションの結果としてブロックされた IFL のセットを表示するには、 show l2-learning mac-move-buffer active
コマンドを使用します。
exclusive-mac
コマンドを使用して、MAC 移動制限アルゴリズムから MAC アドレスを除外し、MAC アドレスが追跡されないようにします。
clear l2-learning mac-move-buffer active
コマンドを使用して、MAC 移動アクション機能によってブロックされた IFBD のブロックを解除します。これにより、ユーザーは reopen-time
を大きな値に設定したままにすることができますが、ループエラーが修正された場合、ユーザーは手動でブロックを解除できます。
次に、MAC 移動の通知時間を 1 秒に、しきい値時間を 1 秒に、再オープン時間を 180 秒に、しきい値カウントを 50 移動に設定する例を示します。
[edit protocols l2-learning] global-mac-move { notification-time 1; reopen-time 180; threshold-count 50; threshold-time 1; }
MAC 制限(ELS)の設定
このトピックでは、デバイスが送受信するパケットの MAC アドレスに制限を設定するさまざまな方法について説明します。
このセクションでは、拡張レイヤー 2 ソフトウェア(ELS)構成スタイルをサポートする EX シリーズ スイッチ、QFX3500 および QFX3600 スイッチ、PTX シリーズ ルーターで Junos OS を使用します。ELS設定の詳細については 、 拡張レイヤー2ソフトウェアCLIの使用 を参照してください。
-
MAC制限によるシャットダウンから自動的に回復するようにインターフェイスを設定する方法については、 ポートセキュリティイベントの自動回復の設定を参照してください。無効状態から自動リカバリーするようにデバイスを設定しない場合、
clear ethernet-switching recovery-timeout
コマンドを実行して、無効になっているインターフェイスを起動できます。
MAC制限を設定するさまざまな方法については、次のセクションで説明します。
インターフェイスが学習するMACアドレスの数を制限する
PTXシリーズルーターでは、インターフェイスが学習するMACアドレスの数のみを制限できます。
ポートを保護するために、インターフェイスが学習できるMACアドレスの最大数を設定できます。
[edit switch-options] user@switch# set interface interface-name interface-mac-limit limit packet-action action
[edit routing-instances] user@switch# set routing-instance-name switch-options interface interface-name interface-mac-limit limit
[edit switch-options] user@switch# set interface-mac-limit limit
[edit routing-instances] user@switch# set routing-instance-name switch-options interface-mac-limit limit
インターフェイスに新しい MAC 制限を設定すると、システムはインターフェイスに関連付けられた MAC アドレス転送テーブル内の既存のエントリをクリアします。
VLANが学習するMACアドレスの数を制限する
VLAN が学習する MAC アドレスの数を制限するには、次の手順を実行します。
[edit vlans] user@switch# set vlan-name switch-options mac-table-size limit packet-action action
VLAN内のインターフェイスが学習するMACアドレスの数を制限する
VLAN 内のインターフェイスで学習される MAC アドレスの数を制限するには、次の手順を実行します。
ELS をサポートするスイッチのイーサネット スイッチング テーブルへの静的 MAC アドレス エントリの追加
このタスクでは、拡張レイヤー2ソフトウェア(ELS)設定スタイルをサポートするEXシリーズスイッチ向けJunos OS、およびQFX3500やQFX3600スイッチ向けJunos OSを使用します。ご使用のスイッチが ELS をサポートしていないソフトウェアを実行している場合、 イーサネット スイッチング テーブルへの静的 MAC アドレス エントリーの追加を参照してください。ELSの詳細については、「拡張レイヤー2ソフトウェアCLIの使用」を参照してください。
イーサネット スイッチング テーブルは、転送テーブルとも呼ばれ、VLAN ノードの既知の場所と、それらのノード内のデバイスのアドレスを指定します。スイッチ上のイーサネット スイッチング テーブルにデータを読み込むには、2 つの方法があります。最も簡単な方法は、スイッチに MAC アドレスでテーブルを更新させることです。
イーサネット スイッチング テーブルにデータを入力する 2 つ目の方法は、テーブルにアドレスを手動で挿入する方法です。これにより、フラッディングを減らし、スイッチの自動学習プロセスを高速化できます。
静的MACアドレスを設定する前に、以下を確認してください。
VLAN をセットアップします。ELS をサポートする EX シリーズ スイッチの VLAN の設定(CLI 手順)を参照してください。
静的MACアドレスを持つようにインターフェイスを設定するには:
[edit vlans vlan-name switch-options interface interface-name] user@switch# set static-mac mac-address
イーサネット スイッチング テーブルへの静的 MAC アドレス エントリーの追加
このタスクでは、拡張レイヤー 2 ソフトウェア(ELS)構成スタイルをサポートしない EX シリーズ スイッチ向け Junos OS、および QFX3500 や QFX3600 スイッチ向け Junos OS を使用します。スイッチが ELS をサポートするソフトウェアを実行している場合は、 ELS をサポートするスイッチのイーサネット スイッチング テーブルへの静的 MAC アドレス エントリの追加を参照してください。ELSの詳細については、「拡張レイヤー2ソフトウェアCLIの使用」を参照してください。
イーサネット スイッチング テーブルは、転送テーブルとも呼ばれ、VLAN ノードの既知の場所を指定します。スイッチ上のイーサネット スイッチング テーブルにデータを読み込むには、2 つの方法があります。最も簡単な方法は、スイッチに MAC アドレスでテーブルを更新させることです。
イーサネット スイッチング テーブルにデータを入力する 2 つ目の方法は、VLAN ノードの場所をテーブルに手動で挿入することです。これにより、フラッディングを減らし、スイッチの自動学習プロセスを高速化できます。スイッチング プロセスをさらに最適化するには、ノードを離れた後にパケットが使用するネクスト ホップ(ネクスト インターフェイス)を指定します。
静的MACアドレスを設定する前に、以下を確認してください。
VLAN をセットアップします。EX シリーズスイッチの VLAN の設定またはスイッチ上の VLAN の設定を参照してください。
イーサネット スイッチング テーブルに MAC アドレスを追加するには:
テーブルに追加する MAC アドレスを指定します。
[edit ethernet-switching-options] set static vlan vlan-name mac mac-address
指定されたMACアドレスに送信されたパケットのネクストホップMACアドレスを指定します。
[edit ethernet-switching-options] set static vlan vlan-name mac mac-address next-hop interface
例:不明なMACアドレスに対するデフォルト学習の設定
この例では、ARP要求のみを使用して、不明な宛先MACアドレスの発信インターフェイスを学習するようにデバイスを設定する方法を示しています。
要件
開始する前に、転送テーブルの MAC アドレスと関連づけられたインターフェイスを決定します。レイヤー 2 VLAN の学習と転送の概要を参照してください。
概要
この例では、トレースルート要求なしで ARP クエリのみを使用するようにデバイスを設定します。
設定
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit]
階層レベルでCLIにコピーアンドペーストして、設定モードから commit
を入力します。
set security flow ethernet-switching no-packet-flooding no-trace-route
ステップバイステップでの手順
ARP要求のみを使用して不明な宛先MACアドレスを学習するようにデバイスを設定するには:
デバイスを有効にします。
[edit] user@host# set security flow ethernet-switching no-packet-flooding no-trace-route
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
検証
設定が正常に機能していることを確認するには、 show security flow
コマンドを入力します。