Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

MAC 地址

媒体访问控制 (MAC) 第 2 层子层简介

本文介绍数据链路层(第 2 层)的 MAC 子层。

在网络的第 2 层中,媒体访问控制 (MAC) 子层提供寻址和通道访问控制机制,使多个终端或网络节点能够在网络中进行通信。

MAC 子层充当逻辑链路控制 (LLC) 以太网子层与第 1 层(物理层)之间的接口。MAC 子层模拟多点网络中的全双工逻辑通信通道。该频道可以提供单播、组播或广播通信服务。MAC 子层使用 MAC 协议来防止冲突。

在第 2 层中,同一物理链路上的多个设备可以使用分配给交换机上所有端口的 MAC 地址,在数据链路层相互唯一识别。MAC 算法接受要验证的密钥和任意长度消息作为输入,并输出 MAC 地址。

MAC 地址是一个 12 位十六进制数字(长 48 位)。MAC 地址通常以以下格式之一编写:

  • 毫米:毫米:毫米:SS:SS:SS

  • MM-MM-MM-SS-SS-SS

MAC 地址的前半部分包含适配器制造商的 ID 号。这些 ID 受互联网标准机构监管。MAC 地址的后半部分表示制造商分配给适配器的序列号。

相比之下,在第 2 层运行的 MAC 寻址与在第 3 层 (网络和路由)运行的 IP 寻址。记住区别的一种方法是,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 地址由六组组成,每组两个十六进制数字,每组与下一组用冒号隔开,例如 aa:bb:cc:dd:ee:00。前五组十六进制数字派生自交换机,对于交换机上的所有接口都是相同的。

为每个网络接口分配唯一的 MAC 地址有助于确保冗余中继组 (RTG)、链路聚合控制协议 (LACP) 和常规监控功能等需要 MAC 地址区分的功能能够正常运行。

在使用线卡的交换机上,此 MAC 寻址方案区分交换机中不同线卡上的第 2 层接口。

对于 EX 系列交换机,前五组十六进制数字在交换机制造时确定。然后,交换机通过分配一个唯一标识符作为最后一组十六进制数字,为每个接口分配一个唯一MAC 地址。分配取决于接口的配置方式。交换机使用不同的模式来区分配置为路由 VLAN 接口RVI)、虚拟管理以太网 (VME) 接口或聚合以太网接口的接口,或者未配置为任何 RVI、VME 或聚合以太网接口的接口。

对于聚合以太网接口,无论接口的配置是第 2 层还是第 3 层,MAC 地址分配都保持不变。

注意:

在 Junos OS 11.3 及更高版本到 12.1 版中,如果接口从第 2 层更改为第 3 层(反之亦然),则聚合以太网接口的 MAC 地址分配将发生变化。从 Junos 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 地址移动的指定时间段以及一秒内发生 MAC 地址移动的指定次数。您只能在全局层级配置该 global-mac-move 语句。

要全局禁用 MAC 移动操作功能,请将该 disable-action 语句 [edit protocols l2-learning global-mac-move]包含在 。这会禁用 MAC 移动操作功能,但存在 MAC 移动检测。

要配置端口解除阻塞的持续时间,请将该 reopen-time 语句 [edit protocols l2-learning global-mac-move]包含在 。默认的重新打开计时器为 180 秒。

要配置 MAC 地址在一秒内移动至少指定次数的 MAC 地址移动报告,请在层次结构级别包含[edit protocols l2-learning global-mac-move]threshold-time语句。默认阈值时间为 1 秒。

要配置在MAC 地址移动指定时间段内的MAC 地址移动报告,请在层次结构级别包含notification-time[edit protocols l2-learning global-mac-move]该语句。默认通知计时器为 1 秒。

要配置MAC 地址移动指定次数时的MAC 地址移动报告,请在层次结构级别包含[edit protocols l2-learning global-mac-move]threshold-count语句。默认阈值计数为 50 步。

使用命令 show l2-learning mac-move-buffer 查看 MAC 地址移动功能导致的操作。

使用此 show l2-learning mac-move-buffer active 命令查看由于 MAC 移动操作而阻止的 IFL 集。

使用命令 exclusive-mac exclude a MAC 地址 from MAC 移动限制算法,防止跟踪 MAC 地址。

使用该 clear l2-learning mac-move-buffer active 命令取消阻止被 MAC 移动操作功能阻止的 IFBD。这允许用户将配置保持 reopen-time 为较大的值,但当循环错误得到修复时,用户可以手动释放阻塞。

以下示例将 MAC 移动的通知时间设置为 1 秒,阈值时间设置为 1 秒,重新开放时间设置为 180 秒,阈值计数设置为 50 移动。

配置 MAC 限制 (ELS)

本主题介绍对设备接收和转发的数据包中的 MAC 地址配置限制的不同方法。

注意:

本部分介绍的任务将 Junos OS 用于支持增强型第 2 层软件 (ELS) 配置样式的 EX 系列交换机、QFX3500 和 QFX3600 交换机以及 PTX 系列路由器。有关 ELS 配置的详细信息,请参阅使用 增强型第 2 层软件 CLI

以下章节介绍了设置 MAC 限制的不同方法:

特定于平台的 配置全局 MAC 限制 行为

表 1:特定于平台的行为

平台

差异

Junos Evolved ACX7000 系列

ACX7000 目前不支持数据包操作

默认 MAC 编号不适用于ACX7000

限制接口获知的 MAC 地址数

注意:

在 PTX 系列路由器上,您只能限制一个接口获知的 MAC 地址数。

要保护端口,可以设置接口可获知的最大 MAC 地址数。

设置接口上的 MAC 限制,并指定设备在超过指定限制后要执行的操作。
如果要在属于默认路由实例的接口上设置 MAC 限制:
如果要在属于路由实例的接口上设置 MAC 限制:
如果要在属于默认路由实例的所有接口上设置 MAC 限制:
如果要在属于路由实例的所有接口上设置 MAC 限制:

为接口设置新的 MAC 限制后,系统将清除与该接口关联的 MAC 地址转发表中的现有条目。

限制 VLAN 获知的 MAC 地址数

要限制 VLAN 获知的 MAC 地址数,请执行以下步骤:

特定于平台的配置 MAC 限制 行为

表 2:特定于平台的行为

平台

差异

Junos Evolved ACX7000 系列

ACX7000 目前不支持数据包操作

默认 MAC 编号不适用于ACX7000

设置 VLAN 可获知的最大 MAC 地址数,并指定设备在超过指定限制后要执行的操作:

限制 VLAN 中的接口获知的 MAC 地址数

要限制 VLAN 中的接口获知的 MAC 地址数,请执行以下步骤:

  1. 设置 VLAN 中的接口可获知的最大 MAC 地址数,并指定设备在超过指定限制后要执行的操作:
  2. 设置 VLAN 中的一个所有接口可以获知的最大 MAC 地址数,并指定设备在超过指定限制后要执行的操作:
    注意:

    如果为 VLAN 中的所有接口 VLAN 中的特定接口指定 MAC 限制和数据包操作,则优先于在特定接口级别指定的 MAC 限制和数据包操作。此外,在 VLAN 接口级别,仅支持和dropdrop-and-log选项。

    使用 mac-table-size 语句为 VLAN 设置新的 MAC 限制,或使用语句为 interface-mac-limit VLAN 关联的接口设置新的 MAC 限制后,系统将清除 MAC 地址转发表中相应的现有条目。

    注意:

    在 QFX 系列虚拟机箱上,如果在层次结构级别包含[edit vlans vlan-name switch-options interface interface-name interface-mac-limit packet-action]shutdown选项并发出操作commit,则系统将生成提交错误。如果在层次结构级别包含[edit switch-options interface interface-name interface-mac-limit packet-action]shutdown选项,则系统不会生成错误。

在支持 ELS 的交换机上的以太网交换表中添加静态 MAC 地址条目

注意:

此任务可使用适用于 EX 系列交换机的 Junos OS,以及支持增强型第 2 层软件 (ELS) 配置样式的 QFX3500 和 QFX3600 交换机的 Junos OS。如果交换机运行的软件不支持 ELS,请参阅 向以太网交换表添加静态 MAC 地址条目。有关 ELS 的详细信息,请参阅 使用增强型第 2 层软件 CLI

以太网交换表也称为转发表,用于指定 VLAN 节点的已知位置以及这些节点内的设备地址。有两种方法可以填充交换机上的以太网交换表。最简单的方法是让交换机使用 MAC 地址更新表。

填充以太网交换表的第二种方法是手动将地址插入表中。这样做可以减少泛洪并加快交换机的自动学习过程。

特定于平台的行为

表 3:特定于平台的行为

平台

差异

Junos Evolved ACX7000 系列

静态 MAC 条目只能在逻辑接口上配置,而不能直接在桥接域上配置。

可以按 VLAN 或接口选择性地禁用 MAC 学习。

按 VLAN 支持 MAC 计费。

MAC 老化计时器和 MAC 移动检测是可配置的。

统一转发表 (UFT) 允许在 MAC、主机和 LPM 条目之间进行内存分区,以优化规模。

MAC 学习行为受泛洪和水平分割逻辑的影响,这些逻辑在转发管道的后期实施,因此泛洪流量仍会计入接口统计信息中。

配置静态 MAC 地址之前,请确保您已:

要将接口配置为具有静态 MAC 地址,请执行以下操作:

向以太网交换表添加静态 MAC 地址条目

注意:

此任务将使用适用于 EX 系列交换机的 Junos OS,以及不支持增强型第 2 层软件 (ELS) 配置样式的 QFX3500 和 QFX3600 交换机的 Junos OS。如果交换机运行的软件支持 ELS,请参阅向支持 ELS 的交换机上的以太网交换表添加静态 MAC 地址条目。有关 ELS 的详细信息,请参阅 使用增强型第 2 层软件 CLI

以太网交换表也称为转发表,用于指定 VLAN 节点的已知位置。有两种方法可以填充交换机上的以太网交换表。最简单的方法是让交换机使用 MAC 地址更新表。

填充以太网交换表的第二种方法是在表中手动插入 VLAN 节点位置。这样做可以减少泛洪并加快交换机的自动学习过程。要进一步优化交换过程,请指明数据包离开节点后将使用的下一跳(下一个接口)。

配置静态 MAC 地址之前,请确保您已:

要将 MAC 地址添加到以太网交换表,请执行以下操作:

  1. 指定要添加到表中的 MAC 地址:

  2. 指示发送到指定 MAC 地址的数据包的下一跃点 MAC 地址:

示例:配置未知 MAC 地址的默认学习

此示例说明如何将设备配置为仅使用 ARP 请求来学习未知目标 MAC 地址的传出接口。

要求

开始之前,请确定转发表的 MAC 地址和关联接口。请参阅 VLAN 的第 2 层学习和转发概述。

概述

在此示例中,您将设备配置为仅使用 ARP 查询,而不使用 traceroute 请求。

配置

过程

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层次结构级别的 [edit] CLI 中,然后从配置模式进入。commit

分步程序

要将设备配置为仅使用 ARP 请求来学习未知目标 MAC 地址:

  1. 启用设备。

  2. 如果完成设备配置,请提交配置。

验证

要验证配置是否工作正常,请输入 show security flow 命令。