MAC 学习
了解 MAC 学习
MAC 学习 是获取网络上所有节点的 MAC 地址的过程。
当节点首次连接到以太网 LAN 或 VLAN 时,它没有关于网络上其他节点的信息。当数据通过网络发送时,数据包包括一个列出其源和目标 MAC 地址的数据帧。数据帧被转发到目标端口,该端口连接到第二个设备。MAC 地址在目标端口本地学习,这有助于稍后进入目标端口并包含先前从接收的帧获知的地址的帧进行通信。
默认情况下,在 QFX 和 NFX 系列上启用 MAC 学习。
在支持 ELS 的设备上禁用 MAC 学习
默认情况下,MAC 学习在所有节点上全局启用。本主题介绍如何禁用 MAC 学习,以及如何重新启用和验证是否已启用或禁用 MAC 学习。
此任务支持增强型第 2 层软件 (ELS) 配置样式。有关 ELS 详细信息,请参阅 使用增强型第 2 层软件 CLI 如果您的交换机运行的软件不支持 ELS,请参阅 在 QFX 交换机上禁用 MAC 学习。
禁用动态 MAC 学习可防止节点学习源和目标 MAC 地址。
要禁用 MAC 学习,请执行以下操作:
[edit vlans vlan-name switch-options interface interface-name] user@switch# set no-mac-learning
要启用 MAC 学习,请执行以下操作:
[edit vlans vlan-name switch-options interface interface-name] user@switch# delete no-mac-learning user@switch# deactivate no-mac-learning
要验证 MAC 学习的状态,请在操作模式下查看以太网 MAC 学习统计信息。
user@switch> show ethernet-switching table Ethernet-switching table: 2 entries, 1 learned VLAN MAC address Type Age Interfaces default * Flood - All-members default 00:1f:12:39:90:80 Learn 29 xe-/0/0.0
禁用 QFX 交换机上的 MAC 学习
默认情况下,在设备中的所有节点上全局启用 MAC 学习。本主题介绍如何禁用 MAC 学习,以及如何重新启用和验证是否已启用或禁用 MAC 学习。
在设备上禁用动态 MAC 学习可防止节点学习源和目标 MAC 地址。
此任务将 Junos OS 用于 QFX3500 和 QFX3600 交换机,并且不支持增强型第 2 层软件 (ELS) 配置样式。如果交换机运行的软件支持 ELS,请参阅 在支持 ELS 的设备上禁用 MAC 学习。
要在 QFX 系列上禁用 MAC 学习:
[edit ethernet-switching-options interfaces interface] user@switch# set no-mac-learning
要在 QFX 系列上启用 MAC 学习:
[edit ethernet-switching-options interfaces interface] user@switch# delete no-mac-learning user@switch# deactivate no-mac-learning
要验证 QFX 系列上的 MAC 学习状态,请在操作模式下查看以太网 MAC 学习统计信息。
user@switch> show ethernet-switching table Ethernet-switching table: 2 entries, 1 learned VLAN MAC address Type Age Interfaces default * Flood - All-members default 00:1f:12:39:90:80 Learn 29 xe-/0/0.0
在 QFX 交换机上的 VLAN 中禁用 MAC 学习
默认情况下,在 VLAN 上启用 MAC 学习。本主题介绍如何在 VLAN 中禁用 MAC 学习,以及如何重新启用和验证是否已启用或禁用 MAC 学习。
在 QFX 系列产品的 VLAN 中禁用动态 MAC 学习可防止节点学习源和目标 MAC 地址。
要在 VLAN 中禁用 MAC 学习:
[edit vlans vlan-name] user@switch# set no-mac-learning
要在 VLAN 中重新启用 MAC 学习,请使用以下两个命令之一:
[edit vlans vlan-name] user@switch# delete no-mac-learning user@switch# deactivate no-mac-learning
要验证 QFX 系列上的 MAC 学习状态,请执行以下操作:
user@switch> show ethernet-switching table
禁用 VLAN 或逻辑接口的 MAC 学习
您可以对指定 VLAN 中的所有逻辑接口或 VLAN 中的特定逻辑接口禁用 MAC 学习。禁用动态 MAC 学习会阻止指定接口学习源 MAC 地址。
要禁用虚拟交换机中 VLAN 中所有逻辑接口的 MAC 学习,请在层次结构级别包含 no-mac-learning
以下语句 [edit vlans vlan-name switch-options]
:
[edit] vlans { vlan-name { domain-type bridge; interface interface-name; switch-options { no-mac-learning; } } }
要对 VLAN 中的特定逻辑接口禁用 MAC 学习,请在层次结构级别包含语句no-mac-learning
[edit vlans vlan-name switch-options interface interface-name]
。
[edit] vlans { vlan-name { domain-type bridge; interface interface-name; switch-options { interface interface-name { no-mac-learning; } } } }
禁用 MAC 学习时,系统不会动态学习源 MAC 地址,发送到这些源地址的任何数据包都会大量涌入 VLAN。
将接口收集到 VLAN 中时, no-mac-learn-enable
不支持层次结构级别的语句 [edit interfaces interface-name ether-options ethernet-switch-profile]
。您必须在 no-mac-learning
层次结构级别使用该 [edit vlans vlan-name switch-options interface interface-name]
语句来禁用 VLAN 中接口上的 MAC 学习。
当为 VPLS 路由实例禁用 MAC 学习时,流量不会均衡,只会使用一个等价的下一跃点。
禁用一组 VLAN 的 MAC 学习
您可以禁用一组 VLAN 的 MAC 学习。禁用动态 MAC 学习可防止与一组 VLAN 关联的第 2 层中继端口学习源和目标 MAC 地址。禁用 MAC 学习时,系统不会动态学习源 MAC 地址,发送到这些源地址的任何数据包都会大量流入交换机。
要禁用一组 VLAN 的 MAC 学习,请在层次结构级别包含 no-mac-learning
以下语句 [edit switch-options]
:
[edit switch-options] no-mac-learning;