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 地址。
此任务可使用适用于 QFX3500 和 QFX3600 交换机的 Junos OS,不支持增强型第 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 学习,请在层次结构级别包含[edit vlans vlan-name switch-options]该no-mac-learning语句:
[edit]
vlans {
vlan-name {
domain-type bridge;
interface interface-name;
switch-options {
no-mac-learning;
}
}
}
要对 VLAN 中的特定逻辑接口禁用 MAC 学习,请在层次结构级别包含[edit vlans vlan-name switch-options interface interface-name]该no-mac-learning语句。
[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]语句。您必须在层次结构级别使用[edit vlans vlan-name switch-options interface interface-name]该no-mac-learning语句来禁用 VLAN 中某个接口上的 MAC 学习。
当 VPLS 路由实例禁用 MAC 学习时,流量不会负载均衡,并且只会使用一个等价下一跃点。
特定于平台的 启用/禁用动态 MAC 学习 行为
| 平台 |
差异 |
|---|---|
| Junos Evolved ACX7000 系列 |
默认情况下,按 VLAN 和逻辑接口启用 MAC 学习。 MAC 学习可以在全局、每个 VLAN 或每个接口选择性地禁用。 静态 MAC 条目仅在逻辑接口上受支持。 MAC 老化计时器和 MAC 移动检测是可配置的。 由于水平分割实施较晚,泛洪流量仍会计入接口统计信息中。 统一转发表 (UFT) 允许对 MAC、主机和 LPM 条目进行内存分区。 |
| Junos Evolved ACX7000 系列 | 全局禁用动态 MAC 学习将阻止所有实体(如 VLAN、路由实例、逻辑接口等)学习源 MAC 地址。
|
也可以看看
禁用一组 VLAN 的 MAC 学习
您可以禁用一组 VLAN 的 MAC 学习。禁用动态 MAC 学习将阻止与一组 VLAN 关联的第 2 层 中继端口学习源和目标 MAC 地址。禁用 MAC 学习后,系统将不会动态学习源 MAC 地址,并且发送到这些源地址的任何数据包都将泛洪到交换机中。
要禁用一组 VLAN 的 MAC 学习,请在层次结构级别包含[edit switch-options]以下no-mac-learning语句:
[edit switch-options] no-mac-learning;