レイヤー2ラーニングおよび転送用のMACアドレスの設定
概要
ブリッジ ドメイン内の論理インターフェイスの静的 MAC アドレスの設定
ブリッジ ドメイン内の論理インターフェイスの静的 MAC エントリを手動で追加できます。論理インターフェイスごとに 1 つ以上の静的 MAC アドレスを指定できます。
ブリッジ ドメイン内の論理インターフェイスに静的 MAC アドレスを追加するには、[edit bridge-domains bridge-domain-name bridge-options interface interface-name]
階層レベルで static-mac mac-address
ステートメントを記述します。
[edit] bridge-domains { bridge-domain-name { domain-type bridge; bridge-options { interface interface-name { static-mac mac-address { <vlan-id number>; } } } } }
オプションで、 vlan-id
ステートメントを使用して、静的 MAC アドレスの VLAN 識別子を指定できます。静的 MAC アドレスの VLAN 識別子を指定するには、ブリッジ ドメインの VLAN 識別子を設定するときに all オプションを使用する必要があります。
論理インターフェイスに設定した静的MACアドレスが異なる論理インターフェイスに表示されると、そのインターフェイスに送信されたパケットは破棄されます。
ブリッジ ドメインの MAC アドレス テーブルのサイズの設定
各ブリッジ ドメインの MAC アドレス テーブルのサイズを変更できます。デフォルトのテーブル サイズは 5120 アドレスです。設定できる最小アドレス数は 16 アドレス、最大アドレス数は 1,048,575 アドレスです。
MAC テーブルの制限に達すると、新しいアドレスをテーブルに追加できなくなります。未使用の MAC アドレスは、MAC アドレス テーブルから自動的に削除されます。これにより、テーブル内の領域が解放され、新しいエントリを追加できるようになります。
MAC テーブルのサイズを変更するには、[edit bridge-domains bridge-domain-name bridge-options]
階層レベルで mac-table-size limit
ステートメントを含めます。
[edit] bridge-domains { bridge-domain-name { domain-type bridge; bridge-options { mac-table-size limit { packet-action drop; } } } }
ブリッジ ドメイン内のインターフェイスから学習した MAC アドレスの制限
特定のブリッジ ドメインまたはブリッジ ドメインに属する特定の論理インターフェイスから学習する MAC アドレスの数に制限を設定できます。
ブリッジ ドメイン内の各論理インターフェイスから学習する MAC アドレスの数に制限を設定するには、[edit bridge-domains bridge-domain-name bridge-options]
階層レベルで interface-mac-limit limit
ステートメントを含めます。
[edit] bridge-domains { bridge-domain-name { domain-type bridge; interface interface-name; bridge-options { interface-mac-limit limit; } } }
ブリッジ ドメインまたはブリッジ ドメイン全体の特定の論理インターフェイスから学習した MAC アドレスの数を制限するには、[edit bridge-domains bridge-domain-name bridge-options interface interface-name]
または [edit bridge-domains bridge-domain-name bridge-options]
階層レベルで interface-mac-limit limit
ステートメントを含めます。
[edit] bridge-domains { bridge-domain-name { domain-type bridge; interface interface-name; bridge-options { interface-mac-limit limit{ packet-action drop; } interface interface-name { interface-mac-limit limit{ packet-action drop; } } } } }
アクセス ポートの場合、アクセス ポートで学習できる MAC アドレスの最大数のデフォルトの制限は 1024 です。アクセス ポートはネットワーク トポロジ内の 1 つのブリッジ ドメインにしか設定できないため、デフォルトの制限は 1024 アドレスです。これは、ブリッジ ドメイン内の論理インターフェイスで学習された MAC アドレスの制限と同じです([edit bridge-domains bridge-domain-name bridge-options interface interface-name]
階層レベルまたは [edit bridge-domains bridge-domain-name bridge-options]
階層レベルに interface-mac-limit limit
ステートメントを含めることで設定されます)。
トランク ポートの場合、トランク ポートで学習できる MAC アドレスの最大数のデフォルト制限は 8192 です。トランクポートは複数の花嫁ドメインに関連付けることができるため、デフォルトの制限は、仮想スイッチインスタンスの論理インターフェイスで学習されたMACアドレスの制限と同じです(仮想スイッチインスタンスの[edit routing-instances routing-instance-name switch- options interface interface-name]
にinterface-mac-limit limit
ステートメントを含めることによって設定されます)。
特定の論理インターフェイスに設定した値は、 [edit bridge-domains bridge-domain-name bridge-options]
階層レベルでブリッジドメイン全体に指定した値を上書きします。
論理インターフェイスで学習できるMACアドレス数のデフォルトの制限は1024です。特定の論理インターフェイスに設定できる範囲は、1〜131,071です。
MACアドレスの制限に達すると、デフォルトでは、新しい送信元MACアドレスを持つ着信パケットが転送されます。packet-action drop
ステートメントを含めることで、パケットをドロップするように指定できます。ブリッジドメイン全体でパケットをドロップするように指定するには、[edit bridge-domains bridge-domain-name bridge-options interface-mac-limit limit]
階層レベルで packet-action drop
ステートメントを含めます。
[edit bridge-domains bridge-domain-name bridge-options interface-mac-limit limit] packet-action drop;
ブリッジドメイン内の特定の論理インターフェイスに対するパケットをドロップするように指定するには、[edit bridge-domains bridge-domain-name bridge-options interface interface-name interface-mac-limit limit]
階層レベルで packet-action drop
ステートメントを含めます。
[edit bridge-domains bridge-domain-name bridge-options interface interface-name interface-mac-limit limit] packet-action drop;
一部の構成では動作が異なります。集合型イーサネットインターフェイスとラベルスイッチインターフェイスでは、制限に達した場合でも、すべての新しいMACアドレスを学習する動作になります。余分なアドレスは後で削除されます。ブリッジ ドメインのトランク ポートには個々のドメインのカウンタがなく、これらのドメインの MAC 学習制限が異なっている可能性があるため、学習制限は適用されません。
静的 MAC アドレスが設定されている場合、学習制限は、構成された制限からスタティック アドレスの数を引いた値になります。
Junos OSリリース8.4以降を実行するMXシリーズルーターでは、期限切れの宛先MACエントリーの統計は保持されません。また、送信元と宛先の統計情報は MAC 移動中にリセットされます。以前のリリースでは、MAC移動時にソース統計のみがリセットされました。
MXシリーズルーターで学習されたMACアドレスの数に制限を設定することもできます。
論理インターフェイスでのMACアドレス制限の設定
特定の論理インターフェイスから学習したMACアドレスの数に制限を設定することができます。この機能により、MACアドレスのテーブルスペースを異なる論理インターフェイスに分散できるため、輻輳を回避できます。MAC アドレス制限は、VLAN と VPLS の両方のルーティング インスタンスに適用でき、デフォルトの MAC 制限は設定されたプロファイルによって異なります。ブリッジ ドメインと論理インターフェイスで同時に学習される MAC アドレスの数を制限できます。
MAC アドレス制限の設定
MAC アドレス制限は、 set protocols l2-learning global-no-hw-mac-learning
CLI コマンドを使用して設定できます。
ACX シリーズ ルーターでは、MAC アドレスの制限はACX5000ライン ルーターでのみサポートされています。
以下の設定例では、論理インターフェイスでのMACアドレス学習の制限を有効にします。
[edit protocols] l2-learning { global-no-hw-mac-learning; }
MXシリーズルーター上の論理インターフェイスから学習するMACアドレスの数に制限を設定することができます。
論理インターフェイスから学習できる MAC アドレスの総数に制限を設定するには、[edit protocols l2-learning
] 階層レベルで global-mac-limit limit
ステートメントを含めます。
ルーター全体で学習できるMACアドレス数のデフォルト制限は393,215です。ルータ全体に設定できる範囲は、20〜1,048,575です。
設定されたMACアドレス制限に達すると、デフォルトではパケットが転送されます。[edit protocols l2-learning global-mac-limit
] 階層レベルで packet-action drop
ステートメントを含めることで、パケットをドロップするように指定できます。
[edit] protocols { l2-learning { global-mac-limit limit { packet-action drop; } } }
VLAN の MAC アドレス制限の設定
VLAN内の各論理インターフェイスで学習されたMACアドレスの数に制限を設定するには、[edit vlans vlan-name
]階層レベルで interface-mac-limit limit
ステートメントを含めます。VLANの特定の論理インターフェイスで学習されたMACアドレスを制限するには、[edit vlans vlan-name interface interface-name
]階層レベルで interface-mac-limit limit
ステートメントを含めます。VLANの各論理インターフェイスで学習されたMACアドレスを制限するには、[edit vlans vlan-name switch-options
]階層レベルでinterface-mac-limit limit
ステートメントを含めます。
次の例では、VLAN 内の論理インターフェイスで学習した MAC アドレスの数の制限を設定します。
[edit vlans] vlan10 { interface ge-0/0/3.1; interface ge-0/0/1.5; switch-options { interface-mac-limit { 10; } } interface ge-0/0/1.5 { interface-mac-limit { 20; } } }
VPLS の MAC アドレス制限の設定
VPLSルーティングインスタンスの各論理インターフェイスで学習されたMACアドレス数の制限を設定するには、[edit routing-instances routing-instance-name protocols vpls
]階層レベルで interface-mac-limit limit
ステートメントを含めます。VPLSインスタンスの特定の論理インターフェイスで学習されたMACアドレスを制限するには、[edit routing-instances routing-instance-name protocols vpls interface interface-name
]階層レベルで interface-mac-limit limit
ステートメントを含めます。
次に、VPLSルーティングインスタンスの論理インターフェイスで学習したMACアドレス数の制限を設定する例を示します。
[edit routing-instance] v1 { protocols { vpls { interface-mac-limit { 10; } interface ge-0/0/1.3 { interface-mac-limit { 20; } } } } }
ブリッジドメイン内の論理インターフェイスにインターフェイスMACアドレス制限を設定し、ブリッジドメインにグローバルMACアドレス制限を設定している場合は、インターフェイスMACアドレス制限が考慮されます。以下の例では、インターフェイスge-0/0/3.5に、グローバル値を50、ローカル値を30とする2つのMACアドレス制限を設定しています。この場合、ブリッジ ドメインのインターフェイス ge-0/0/3.5 に対して 30 の MAC アドレス制限が考慮されます。
vlan20 { interface ge-0/0/1.5; interface ge-0/0/3.5; switch-options { interface-mac-limit { 50; } interface ge-0/0/1.5; interface ge-0/0/3.5 { interface-mac-limit { 30; } } } }
MAC アドレス制限を設定する CLI コマンド
MACアドレスの制限を設定するには、次のCLIコマンドを使用します。
set protocols l2-learning global-no-hw-mac-learning
- ハードウェアベースのMAC学習をソフトウェアベースのMAC学習モードに変更するコマンド。set vlans vlan-name switch-options interface-mac-limit limit
- VLAN 内の各論理インターフェイスの MAC アドレス制限を設定するコマンド。この制限は、個別のインターフェイスMACアドレス制限が設定されていないVLANに属するすべての論理インターフェイスに適用されます。set vlans vlan-name switch-options interface interface-name interface-mac-limit limit
- VLAN 内の論理インターフェイスのインターフェイス MAC アドレス制限を設定するコマンド。この制限は、それが設定されているVLAN内の特定の論理インターフェイスに適用されます。set routing-instances routing-instance-name protocols vpls interface-mac-limit limit
- VPLSルーティングインスタンスで各論理インターフェイスのMACアドレス制限を設定するコマンド。この制限は、個別のインターフェイス MAC アドレス制限が設定されていない VPLS に属するすべての論理インターフェイスに適用されます。set routing-instances routing-instance-name protocols vpls interface interface-name interface-mac-limit limit
- VPLS の論理インターフェイスのインターフェイス MAC アドレス制限を設定するコマンド。この制限は、設定されている VPLS 内の特定の論理インターフェイスに適用されます。
ルーターまたはブリッジ ドメインの MAC アカウンティングの有効化
デフォルトでは、MACアカウンティングは無効になっています。MX シリーズ ルーターでは、ルーター全体または特定のブリッジ ドメインに対してパケット アカウンティングを有効にできます。パケット アカウンティングを有効にすると、Junos OS は学習した各 MAC アドレスのパケット カウンターを維持します。
MXシリーズルーターのMACアカウンティングを有効にするには、[edit protocols l2-learning
]階層レベルでglobal-mac-statistics
ステートメントを含めます。
[edit protocols l2-learning] global-mac-statistics;
ブリッジ ドメインの MAC アカウンティングを有効にするには、[edit bridge-domains bridge-domain-name bridge-options]
階層レベルで mac-statistics
ステートメントを含めます。
[edit bridge-domains bridge-domain-name bridge-options] mac-statistics;
ブリッジドメインまたは論理インターフェイスのMAC学習の無効化
指定されたブリッジドメイン内のすべての論理インターフェイス、またはブリッジドメイン内の特定の論理インターフェイスに対して、MAC学習を無効にすることができます。動的MAC学習を無効にすると、指定されたインターフェイスは送信元MACアドレスを学習できなくなります。
仮想スイッチのブリッジ ドメイン内のすべての論理インターフェイスの MAC 学習を無効にするには、[edit bridge-domains bridge-domain-name bridge-options]
階層レベルで no-mac-learning
ステートメントを含めます。
[edit] bridge-domains { bridge-domain-name { domain-type bridge; interface interface-name; bridge-options { no-mac-learning; } } }
ブリッジドメイン内の特定の論理インターフェイスのMAC学習を無効にするには、[edit bridge-domains bridge-domain-name bridge-options interface interface-name]
階層レベルでno-mac-learning
ステートメントを含めます。
[edit] bridge-domains { bridge-domain-name { domain-type bridge; interface interface-name; bridge-options { interface interface-name { no-mac-learning; } } } }
MAC 学習を無効にすると、送信元 MAC アドレスは動的に学習されず、これらの送信元アドレスに送信されたパケットはすべてブリッジ ドメインにフラッディングされます。
インターフェイスをブリッジドメインに集約する場合、[edit interfaces interface-name gigether-options ethernet-switch-profile]
階層レベルの no-mac-learn-enable
ステートメントはサポートされません。ブリッジ ドメイン内のインターフェイスでMAC学習を無効にするには、[edit bridge-domains bridge-domain-name bridge-options interface interface-name]
階層レベルで no-mac-learning
ステートメントを使用する必要があります。
VPLSルーティングインスタンスのMAC学習が無効になっている場合、トラフィックは負荷分散されず、等コストネクストホップの1つだけが使用されます。
MAC テーブルのタイムアウト間隔の設定
MACテーブルのエージングプロセスにより、ルーターはネットワーク上のアクティブなMACアドレスのみを追跡し、使用されなくなったアドレスをフラッシュできるようになります。
ルーター上のすべてのブリッジ ドメイン、1 つまたはすべての VPLS インスタンス、または 1 つまたはすべてのイーサネット仮想プライベート ネットワーク(EVPN)インスタンスで、エントリーが「エージングアウト」する前に MAC テーブルに残ることができる最大時間である MAC テーブルのエージング タイムを設定できます。この設定は、イーサネット ルーティング テーブルになくなった MAC アドレスのトラフィックを受信すると、ルーターがすべてのインターフェイスにトラフィックをフラッディングするため、すべてのインターフェイスにフラッディングされるトラフィックの量に影響を与えることで、ネットワーク リソースの使用効率に影響を与える可能性があります。
有効期限が切れるまで MAC テーブルに MAC アドレスを保持する期間に応じて、エージング タイマーを増減できます。デフォルトでは、MAC テーブル内のすべてのエントリのタイムアウト間隔は 300 秒です。MX シリーズルーターの MAC テーブルエントリーのタイムアウト間隔を変更できます。仮想スイッチのタイムアウト間隔は変更できません。
タイムアウト間隔は、動的に学習されたMACアドレスにのみ適用されます。この値は、タイムアウトすることのない設定済みの静的 MAC アドレスには適用されません。
seconds の範囲は 10 から 1,000,000 からです。
タイムアウト間隔は、ルーター(グローバル レベル)またはドメイン単位(ブリッジ ドメイン)で変更できます。
例:MAC 移動アプローチを使用したループ検出
この例では、MAC 移動アプローチを使用してループを検出する方法を示しています。
必要条件
この例では、次のハードウェアとソフトウェアのコンポーネントが必要です。
MXシリーズ3Dユニバーサルエッジルーター
すべてのデバイスで Junos OS リリース 13.2 が実行されています。
概要
MACアドレスが異なる物理インターフェイス上または同じ物理インターフェイスの別のユニット内に出現し、この動作が頻繁に発生する場合は、MACの移動と見なされます。
ネットワークでの設定エラーによって、トラフィックが終わりのない循環パスに押し込まれる可能性があります。レイヤー2ネットワークにループが発生すると、症状の1つにMACが頻繁に移動しますが、これを使用して問題を修正できます。送信元MACアドレスがポート間を移動していることが確認されると、インターフェイスに設定された action-priority
に基づいてインターフェイスがブロックされます。インターフェイスに設定された action-priority
値が同じ場合、MAC アドレスの移動が発生したブリッジ ドメインの最後のインターフェイスがブロックされます。
構成
CLIクイック構成
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、 [edit]
階層レベルのCLIにコマンドをコピーして貼り付けます。
set interfaces ge-1/0/4 vlan-tagging set interfaces ge-1/0/4 encapsulation flexible-ethernet-services set interfaces ge-1/0/4 unit 10 encapsulation vlan-bridge set interfaces ge-1/0/4 unit 10 vlan-id 10 set interfaces ge-1/0/4 unit 11 encapsulation vlan-bridge set interfaces ge-1/0/4 unit 11 vlan-id 11 set interfaces ge-1/0/5 unit 0 family bridge interface-mode trunk set interfaces ge-1/0/5 unit 0 family bridge vlan-id-list 10-12 set interfaces ge-1/0/6 unit 0 family bridge interface-mode trunk set interfaces ge-1/0/6 unit 0 family bridge vlan-id-list 10-12 set bridge-domains bd10 vlan-id 10 set bridge-domains bd10 enable-mac-move-action set bridge-domains bd10 bridge-options interface ge-1/0/5.0 action-priority 1 set bridge-domains bd10 bridge-options interface ge-1/0/6.0 action-priority 5 set bridge-domains bd11 vlan-id 11 set bridge-domains bd11 enable-mac-move-action set bridge-domains bd12 vlan-id 12
前の例では、bd10 と bd11 のトランク インターフェイスを含むすべてのインターフェイスがモニタされます。インターフェイス ge-1/0/5 および ge-1/0/6 内で頻繁に MAC の動きが検出された場合、インターフェイス ge-1/0/5 はブロックされます。トランク インターフェイスのブロックでは、(MAC の動きが検知された)VLAN のデータ トラフィックのみがブロックされ、トランク内のすべての VLAN に対してはブロックされません。 bd12 で頻繁な MAC 移動が観察された場合、アクションは実行されません。
MAC 移動アプローチを使用したループ検知の設定
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。CLIのナビゲーションについては、「 1 コンフィグレーション・モードでのCLIエディタの使用」を参照してください。
MACアドレス移動アプローチを使用してループ検知を設定するには:
インターフェイスを設定します。
[edit interfaces] user@host# set ge-1/0/4 vlan-tagging user@host# set ge-1/0/4 encapsulation flexible-ethernet-services user@host# set ge-1/0/4 unit 10 encapsulation vlan-bridge user@host# set ge-1/0/4 unit 10 vlan-id 10 user@host# set ge-1/0/4 unit 11 encapsulation vlan-bridge user@host# set ge-1/0/4 unit 11 vlan-id 11 user@host# set ge-1/0/5 unit 0 family bridge interface-mode trunk user@host# set ge-1/0/5 unit 0 family bridge vlan-id-list 10-12 user@host# set ge-1/0/6 unit 0 family bridge interface-mode trunk user@host# set ge-1/0/6 unit 0 family bridge vlan-id-list 10-12
ブリッジ ドメイン パラメータを設定します。
[edit bridge-domains] user@host# set bd10 vlan-id 10 user@host# set bd10 enable-mac-move-action user@host# set bd10 bridge-options interface ge-1/0/5.0 action-priority 1 user@host# set bd10 bridge-options interface ge-1/0/6.0 action-priority 5 user@host# set bd11 vlan-id 11 user@host# set bd11 enable-mac-move-action user@host# set bd12 vlan-id 12
業績
設定モードから、 show interfaces
コマンドと show bridge-domains
コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@host# show interfaces
ge-1/0/4 {
vlan-tagging;
encapsulation flexible-ethernet-services;
unit 10 {
encapsulation vlan-bridge;
vlan-id 10;
}
unit 11 {
encapsulation vlan-bridge;
vlan-id 11;
}
}
ge-1/0/5 {
unit 0 {
family bridge {
interface-mode trunk;
vlan-id-list 10-12;
}
}
}
ge-1/0/6 {
unit 0 {
family bridge {
interface-mode trunk;
vlan-id-list 10-12;
}
}
}
user@host# show bridge-domains
bridge-domains {
bd10 {
vlan-id 10;
bridge-options {
interface ge-1/0/5.0 {
action-priority 1;
}
interface ge-1/0/6.0 {
action-priority 5
}
}
enable-mac-move-action;
}
bd11 {
vlan-id 11;
enable-mac-move-action;
}
bd12 {
vlan-id 12;
}
}
デバイスの設定が完了したら、設定モードから commit
を入力します。
検証
MAC移動によりブロックされた論理インターフェイスが表示されていることの確認
目的
MAC移動によってブロックされた論理インターフェイスの現在のセットが表示されていることを確認します(もしあれば)。
アクション
動作モードから、 show l2-learning mac-move-buffer active
コマンドを入力します。
user@host# show l2-learning mac-move-buffer active
MAC Address: 00:00:00:00:01:01, VLAN Id: 0
Time Rec : 2012-06-25 06:23:41 Bridge Domain: bd10
Prev IFL : ge-1/0/5.0 New IFL: ge-1/0/6.0
IFBD : ge-1/0/6.0:10 Blocked : YES
意味
MAC 移動検出の結果、関連するインターフェイス ブリッジ ドメインの 1 つがブロックされます。出力は、ge-1/0/6論理インターフェイスがブロックされていることを示しています。
ACXルーターとしてのカスタマーエッジデバイス間の通信を防止
ブリッジ ドメインでは、CE インターフェイスからフレームを受信すると、宛先 MAC アドレスが学習されない場合、またはフレームがブロードキャストまたはマルチキャストの場合、他の CE インターフェイスとすべての PE(プロバイダ エッジ)インターフェイスにフラッディングされます。宛先MACアドレスが別のCEデバイスで学習された場合、そのようなフレームは、MACアドレスが学習されたCEインターフェイスにユニキャストされます。サービス・プロバイダーが CE 装置が互いに直接通信することを望まない場合、これは望ましくない場合があります。
CE 装置が直接通信しないようにするには、[edit bridge-domains bridge-domain-name]
階層レベルに no-local-switching
ステートメントを組み込みます。[edit interfaces interface-nameunit logical-unit-number family family]
階層レベルで core-facing
ステートメントを含め、VLAN がコアに面する ISP ルーターに物理的に接続されていることを指定し、ネットワークがインターフェイスをクライアント インターフェイスとして不適切に扱わないようにすることで、ブリッジ ドメインの論理インターフェイスをコアに接続する(PE インターフェイス)ように設定します。指定した場合、ある CE インターフェイスからのトラフィックは別の CE インターフェイスに転送されません。
no-local-switching
オプションの場合、このオプションを有効にしてブリッジドメインに設定されたIRB(統合型ルーティングおよびブリッジング)は、指定CEまたはPEインターフェイスとして扱われません。CE または PE インターフェイスから到着したトラフィックは IRB に向かって移動でき、IRB への入力方向に到達するトラフィックは CE または PE インターフェイスから出ることができます。ローカル スイッチングを無効にすると、ブリッジ ドメインでのスプリット ホライズンの機能が実現します。ブリッジ ドメインで no-local-switching が設定されている場合、トラフィックは CE インターフェイスと CE インターフェイスの間を流れることができません。このトラフィック フローの停止には、既知のユニキャストとマルチキャスト、不明なユニキャストとマルチキャスト、ブロードキャスト トラフィックが含まれます。ただし、CE インターフェイスと PE インターフェイス、および PE と PE インターフェイスの間でトラフィックは引き続き送信されます。