MAC 地址
媒体访问控制 (MAC) 第 2 层子层简介
本文介绍数据链路层(第 2 层)的 MAC 子层。
在网络的第 2 层中,媒体访问控制 (MAC) 子层提供寻址和通道访问控制机制,使多个终端或网络节点能够在网络中进行通信。
MAC 子层充当逻辑链路控制 (LLC) 以太网子层和第 1 层(物理层)之间的接口。MAC 子层模拟多点网络中的全双工逻辑通信通道。此通道可以提供单播、组播或广播通信服务。MAC 子层使用 MAC 协议来防止冲突。
在第 2 层中,通过使用分配给交换机上所有端口的 MAC 地址,同一物理链路上的多个设备可以在数据链路层唯一地相互识别。MAC 算法接受密钥和任意长度的消息作为输入进行身份验证,并输出 MAC 地址。
MAC 地址是一个 12 位十六进制数字(长 48 位)。MAC 地址通常以下列格式之一写入:
MM:MM:MM:SS:SS:SS
MM-MM-MM-SS-SS-SS
MAC 地址的前半部分包含适配器制造商的 ID 号。这些 ID 由互联网标准机构监管。MAC 地址的后半部分表示制造商分配给适配器的序列号。
将 MAC 寻址(在第 2 层工作)与在第 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 地址有助于确保需要区分 MAC 地址的功能(如冗余中继组 (RTG)、链路聚合控制协议 (LACP) 和常规监控功能)能够正常运行。
在使用线卡的交换机上,此 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 地址移动报告,请在层次结构级别包含 threshold-time
该语句 [edit protocols l2-learning global-mac-move]
。默认阈值时间为 1 秒。
要配置在 MAC 地址移动指定时间段时 MAC 地址移动的报告,请在层次结构级别包含 notification-time
该语句 [edit protocols l2-learning global-mac-move]
。默认通知计时器为 1 秒。
要配置在 MAC 地址移动指定次数时 MAC 地址移动的报告,请在层次结构级别包含 threshold-count
该语句 [edit protocols l2-learning global-mac-move]
。默认阈值计数为 50 次移动。
使用该 show l2-learning mac-move-buffer
命令查看作为 MAC 地址移动功能结果的操作。
使用该 show l2-learning mac-move-buffer active
命令可查看由于 MAC 移动操作而被阻止的 IFL 集。
使用命令从 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 地址限制的不同方法。
本节中介绍的任务使用适用于 EX 系列交换机的 Junos OS、QFX3500 和 QFX3600 交换机以及支持增强型第 2 层软件 (ELS) 配置样式的 PTX 系列路由器。有关 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地址数量,请执行以下步骤:
将静态 MAC 地址条目添加到支持 ELS 的交换机上的以太网交换表中
此任务将 Junos OS 用于 EX 系列交换机,将 Junos OS 用于支持增强型第 2 层软件 (ELS) 配置样式的 QFX3500 和QFX3600交换机。如果交换机运行的软件不支持 ELS,请参阅 向以太网交换表添加静态 MAC 地址条目。有关 ELS 的详细信息,请参阅使用增强型第 2 层软件 CLI。
以太网交换表(也称为转发表)指定 VLAN 节点的已知位置以及这些节点内设备的地址。有两种方法可以在交换机上填充以太网交换表。最简单的方法是让交换机使用 MAC 地址更新表。
填充以太网交换表的第二种方法是手动将地址插入表中。您可以这样做来减少泛洪并加快交换机的自动学习过程。
在配置静态 MAC 地址之前,请确保您已:
设置 VLAN。请参阅为支持 ELS 的 EX 系列交换机配置 VLAN(CLI 过程)。
要将接口配置为具有静态 MAC 地址:
[edit vlans vlan-name switch-options interface interface-name] user@switch# set static-mac mac-address
将静态 MAC 地址条目添加到以太网交换表
此任务将 Junos OS 用于 EX 系列交换机,将 Junos OS 用于不支持增强型第 2 层软件 (ELS) 配置样式的 QFX3500 和 QFX3600 交换机。如果交换机运行支持 ELS 的软件,请参阅 将静态 MAC 地址条目添加到支持 ELS 的交换机上的以太网交换表。有关 ELS 的详细信息,请参阅使用增强型第 2 层软件 CLI。
以太网交换表(也称为转发表)指定 VLAN 节点的已知位置。有两种方法可以在交换机上填充以太网交换表。最简单的方法是让交换机使用 MAC 地址更新表。
填充以太网交换表的第二种方法是手动将 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 地址和关联接口。请参阅 VLAN 的第 2 层学习和转发概述。
概述
在此示例中,您将设备配置为仅使用 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
命令。