• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

04-二层技术-以太网交换配置指导

目录

01-MAC地址表配置

本章节下载 01-MAC地址表配置  (289.10 KB)

01-MAC地址表配置


1 MAC地址表

1.1  MAC地址表简介

MAC(Media Access Control,媒体访问控制)地址表记录了MAC地址与接口的对应关系,以及接口所属的VLAN等信息。设备在转发报文时,根据报文的目的MAC地址查询MAC地址表,如果MAC地址表中包含与报文目的MAC地址对应的表项,则直接通过该表项中的出接口转发该报文;如果MAC地址表中没有包含报文目的MAC地址对应的表项时,设备将采取广播方式通过对应VLAN内除接收接口外的所有接口转发该报文。

1.1.1  MAC地址表项的生成方式

MAC地址表项的生成方式有两种:自动生成、手工配置。

1. 自动生成MAC地址表项

一般情况下,MAC地址表由设备通过源MAC地址学习自动生成。设备学习MAC地址的过程如下:

·     从某接口(假设为接口A)收到一个数据帧,设备分析该数据帧的源MAC地址(假设为MAC-SOURCE),并认为目的MAC地址为MAC-SOURCE的报文可以由接口A转发。

·     如果MAC地址表中已经包含MAC-SOURCE,设备将对该表项进行更新。

·     如果MAC地址表中尚未包含MAC-SOURCE,设备则将这个新MAC地址以及该MAC地址对应的接口A作为一个新的表项加入到MAC地址表中。

为适应网络拓扑的变化,MAC地址表需要不断更新。MAC地址表中自动生成的表项并非永远有效,每一条表项都有一个生存周期,到达生存周期仍得不到刷新的表项将被删除,这个生存周期被称作老化时间。如果在到达生存周期前某表项被刷新,则重新计算该表项的老化时间。

2. 手工配置MAC地址表项

设备通过源MAC地址学习自动生成MAC地址表时,无法区分合法用户和非法用户的报文,带来了安全隐患。如果非法用户将攻击报文的源MAC地址伪装成合法用户的MAC地址,并从设备的其他接口进入,设备就会学习到错误的MAC地址表项,于是将本应转发给合法用户的报文转发给非法用户。

为了提高安全性,网络管理员可手工在MAC地址表中加入特定MAC地址表项,将用户设备与接口绑定,从而防止非法用户骗取数据。

1.1.2  MAC地址表项的分类

MAC地址表项分为以下几种:

·     静态MAC地址表项:由用户手工配置,用于目的是某个MAC地址的报文从对应接口转发出去,表项不老化。静态MAC地址表项优先级高于自动生成的MAC地址表项。

·     动态MAC地址表项:可以由用户手工配置,也可以由设备通过源MAC地址学习自动生成,用于目的是某个MAC地址的报文从对应接口转发出去,表项有老化时间。手工配置的动态MAC地址表项优先级等于自动生成的MAC地址表项。

·     黑洞MAC地址表项:由用户手工配置,用于丢弃源MAC地址或目的MAC地址为指定MAC地址的报文(例如,出于安全考虑,可以禁止某个用户发送和接收报文),表项不老化。黑洞MAC地址表项优先级高于自动生成的MAC地址表项。

·     多端口单播MAC地址表项:由用户手工配置,用于目的是某个单播MAC地址的报文从多个接口复制转发出去,表项不老化。多端口单播MAC地址表项优先级高于自动生成的MAC地址表项。

静态MAC地址表项、黑洞MAC地址表项和多端口单播MAC地址表项不会被动态MAC地址表项覆盖,而动态MAC地址表项可以被静态MAC地址表项和黑洞MAC地址表项覆盖。静态MAC地址表项、黑洞MAC地址表项和多端口单播MAC地址表项不会彼此覆盖。

多端口单播MAC地址表项不影响对应MAC地址的动态学习,对于同一MAC地址,多端口单播MAC地址表项和动态MAC地址表项可以同时存在,优先根据多端口单播MAC地址转发报文。

本章不涉及静态组播MAC地址表项。有关静态组播MAC地址表项的相关介绍和配置内容,请参见“IP组播配置指导”中的“IGMP Snooping”。

1.2  MAC地址表配置任务简介

本章中的所有配置均为可选,请根据实际情况选择配置。

·     手工配置MAC地址表项

¡     配置静态/动态MAC地址表项

¡     配置黑洞MAC地址表项

¡     配置多端口单播MAC地址表项

·     配置动态MAC地址表项的老化时间

·     配置MAC地址学习功能

¡     关闭MAC地址学习功能

¡     配置MAC地址数学习上限

¡     配置当达到MAC地址数学习上限时的报文转发规则

·     配置MAC地址迁移上报和抑制功能

·     关闭报文入接口与静态MAC地址表项匹配检查功能

·     开启MAC地址表告警功能

1.3  手工配置MAC地址表项

1.3.1  功能简介

配置MAC地址表项后,当设备收到的报文的源MAC地址与配置表项中的MAC地址相同时,不同类型的MAC地址表项处理方式不同。

表1-1 不同类型MAC地址表项对源MAC地址匹配报文的处理方式

MAC地址表项类型

报文源MAC地址与配置表项中的MAC地址相同

静态MAC地址表项

不检查报文入接口与表项中的接口是否相同,直接根据目的MAC地址转发该报文

多端口单播MAC地址表项

进行MAC地址学习,生成动态MAC地址表项,但仅多端口单播MAC地址表生效

黑洞MAC地址表项

丢弃该报文

动态MAC地址表项

·     如果报文入接口与该表项中的接口不同,则进行MAC地址学习,并覆盖该表项

·     如果报文入接口与该表项中的接口相同,则转发该报文,并更新该表项老化时间

 

1.3.2  配置限制和指导

在手工配置动态MAC地址表项时,如果MAC地址表中已经存在MAC地址相匹配的自动生成表项,但该表项的接口与配置不符,那么该手工配置失败。

如果不保存配置,设备重启后所有手工配置的MAC地址表项都会丢失;如果保存配置,设备重启后手工配置的静态MAC地址表项、黑洞MAC地址表项和多端口单播MAC地址表项不会丢失,手工配置的动态MAC地址表项会丢失。

1.3.3  配置准备

手工配置MAC地址表项时,必须先创建指定接口所属的VLAN,否则配置失败。

1.3.4  配置静态/动态MAC地址表项

1. 系统视图下配置静态/动态MAC地址表项

(1)     进入系统视图。

system-view

(2)     添加或者修改静态/动态MAC地址表项。

mac-address { dynamic | static } mac-address interface interface-type interface-number vlan vlan-id

缺省情况下,未配置静态/动态MAC地址表项。

interface参数指定的接口必须属于vlan-id参数指定的VLAN。

2. 接口视图下配置静态/动态MAC地址表项

(1)     进入系统视图。

system-view

(2)     进入接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     在接口下添加或者修改静态/动态MAC地址表项。

mac-address { dynamic | static } mac-address vlan vlan-id

缺省情况下,接口下未配置静态/动态MAC地址表项。

当前接口必须属于vlan-id参数指定的VLAN。

1.3.5  配置黑洞MAC地址表项

(1)     进入系统视图。

system-view

(2)     添加或者修改黑洞MAC地址表项。

mac-address blackhole mac-address vlan vlan-id

缺省情况下,未配置黑洞MAC地址表项。

1.3.6  配置多端口单播MAC地址表项

1. 功能简介

网络管理员可手工配置多端口单播MAC地址表项,将多个端口和单播MAC地址绑定,以实现目的地址匹配该MAC地址的报文通过多个端口复制转发出去。例如,如图1-1在NLB(Network Load Balancing,网络负载均衡)集群的单播模式下,所有服务器使用一个共同的MAC地址(该MAC地址为集群MAC地址),发往集群MAC地址的报文要求发送到每一台服务器,这时可以在连接服务器组的设备上配置多端口单播MAC地址表项,把客户端发往服务器组的报文从所有连接服务器的端口转发出去。

图1-1 NLB集群

 

2. 系统视图下配置多端口单播MAC地址表项

(1)     进入系统视图。

system-view

(2)     配置多端口单播MAC地址表项。

mac-address multiport mac-address interface interface-list vlan vlan-id

缺省情况下,未配置多端口单播MAC地址表项。

interface参数指定的接口必须属于vlan-id参数指定的VLAN。

3. 接口视图下配置多端口单播MAC地址表项

(1)     进入系统视图。

system-view

(2)     进入接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     配置接口加入多端口单播MAC地址表项。

mac-address multiport mac-address vlan vlan-id

缺省情况下,接口下未配置多端口单播MAC地址表项。

当前接口必须属于vlan-id参数指定的VLAN。

1.4  配置动态MAC地址表项的老化时间

1. 功能简介

当网络拓扑改变后,如果动态MAC地址表项不及时更新,会导致用户流量不能正常转发。配置动态MAC地址表项的老化时间后,超过老化时间的动态MAC地址表项会被自动删除,设备将重新进行MAC地址学习,构建新的动态MAC地址表项。

用户配置的老化时间过长或者过短,都可能影响设备的运行性能:

·     如果用户配置的老化时间过长,设备可能会保存许多过时的MAC地址表项,从而耗尽MAC地址表资源,导致设备无法根据网络的变化更新MAC地址表。

·     如果用户配置的老化时间太短,设备可能会删除有效的MAC地址表项,导致设备广播大量的数据报文,增加网络的负担。

用户需要根据实际情况,配置合适的老化时间。如果网络比较稳定,可以将老化时间配置得长一些或者配置为不老化;否则,可以将老化时间配置得短一些。比如在一个比较稳定的网络,如果长时间没有流量,动态MAC地址表项会被全部删除,可能导致设备突然广播大量的数据报文,造成安全隐患,此时可将动态MAC地址表项的老化时间设得长一些或不老化,以减少广播,增加网络稳定性和安全性。

动态MAC地址表项的老化时间作用于全部接口上。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置动态MAC地址表项的老化时间。

mac-address timer { aging seconds | no-aging }

缺省情况下,动态MAC地址表项的老化时间为300秒。

1.5  关闭MAC地址学习功能

1.5.1  功能简介

缺省情况下,MAC地址学习功能处于开启状态。有时为了保证设备的安全,需要关闭MAC地址学习功能。常见的危及设备安全的情况是:非法用户使用大量源MAC地址不同的报文攻击设备,导致设备MAC地址表资源耗尽,造成设备无法根据网络的变化更新MAC地址表。关闭MAC地址学习功能可以有效防止这种攻击。

关闭MAC地址学习功能后,已经存在的动态MAC地址表项会被立即删除。

1.5.2  配置限制和指导

设备暂不支持在系统视图下执行undo mac-address mac-learning enable关闭全局的MAC地址学习功能。缺省情况下,全局的MAC地址学习功能处于开启状态。

当VLAN关闭MAC地址学习时,会导致属于该VLAN的接口的802.1X功能、MAC地址认证以及undo mac-address max-mac-count enable-forwarding命令失效。触发VLAN关闭MAC地址学习的操作包括:

·     关闭全局的MAC地址学习功能。

·     关闭VLAN的MAC地址学习功能。

·     配置VLAN的MAC地址数学习上限。

·     配置OpenFlow实例对应的VLAN禁止MAC地址学习(mac-learning forbidden)。

有关802.1X和MAC地址认证的介绍,请分别参见“安全配置指导”中的“802.1X”和“MAC地址认证”。有关OpenFlow的介绍,请参见“OpenFlow配置指导”。

1.5.3  关闭接口的MAC地址学习功能

1. 功能简介

用户可以关闭设备上单个接口的MAC地址学习功能。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     关闭接口的MAC地址学习功能。

undo mac-address mac-learning enable

缺省情况下,接口的MAC地址学习功能处于开启状态。

1.5.4  关闭VLAN的MAC地址学习功能

1. 功能简介

用户可以关闭设备上指定VLAN的MAC地址学习功能。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     关闭VLAN的MAC地址学习功能。

undo mac-address mac-learning enable

缺省情况下,VLAN的MAC地址学习功能处于开启状态。

1.6  配置MAC地址数学习上限

1.6.1  配置限制和指导

手工配置的动态MAC地址表项也计入接口/VLAN学习到的MAC地址数。手工配置动态MAC地址表项时,不受配置的MAC地址数学习上限的限制。

1.6.2  配置接口的MAC地址数学习上限

1. 功能简介

通过配置接口的MAC地址数学习上限,用户可以控制设备维护的MAC地址表的表项数量。如果MAC地址表过于庞大,可能导致设备的转发性能下降。当接口学习到的MAC地址数达到上限时,该接口将不再对MAC地址进行学习。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     配置接口的MAC地址数学习上限。

mac-address max-mac-count count

缺省情况下,接口的MAC地址数学习上限仅受硬件能力限制。

1.6.3  配置VLAN的MAC地址数学习上限

1. 功能简介

通过配置VLAN的MAC地址数学习上限,用户可以控制设备为某个VLAN维护的MAC地址表项数量。如果MAC地址表过于庞大,可能导致设备的转发性能下降。当VLAN学习到的MAC地址条数达到上限时,该VLAN将不再对MAC地址进行学习。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     配置VLAN的MAC地址数学习上限。

mac-address max-mac-count count

缺省情况下,VLAN的MAC地址数学习上限仅受硬件能力限制。

1.7  配置当达到MAC地址数学习上限时的报文转发规则

1.7.1  功能简介

当学习到的MAC地址数达到上限时,用户可以选择是否允许系统转发源MAC不在MAC地址表里的报文。

1.7.2  配置当达到接口的MAC地址数学习上限时的报文转发规则

(1)     进入系统视图。

system-view

(2)     进入接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     配置当达到接口的MAC地址数学习上限时,允许转发源MAC地址不在MAC地址表里的报文。

mac-address max-mac-count enable-forwarding

缺省情况下,当达到接口的MAC地址数学习上限时,允许转发源MAC地址不在MAC地址表里的报文。

1.7.3  配置当达到VLAN的MAC地址数学习上限时的报文转发规则

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     配置当达到VLAN的MAC地址数学习上限时,允许转发源MAC地址不在MAC地址表里的报文。

mac-address max-mac-count enable-forwarding

缺省情况下,当达到VLAN的MAC地址数学习上限时,允许转发源MAC地址不在MAC地址表里的报文。

1.8  配置MAC地址迁移上报和抑制功能

1. 功能简介

MAC地址迁移是指:设备从某接口(假设接口A)学习到某MAC地址,之后从另一接口(假设接口B)接收到了以该MAC地址为源MAC地址的报文,且接口B与接口A所属的VLAN相同,则该MAC地址表项的出接口改为接口B,此时认为该MAC地址从接口A迁移到接口B。

如果MAC地址迁移频繁出现,且同一MAC地址总是在特定的两个接口之间迁移,那么网络中可能存在二层环路。可以通过display mac-address mac-move命令查看MAC地址迁移记录,发现和定位环路。

当监测到某端口频繁迁移时,用户可以通过配置MAC地址迁移抑制功能,使频繁迁移的端口down,一定时间后该端口将自行恢复up,或者用户通过手动方式将该端口up。

2. 配置限制和指导

配置mac-address notification mac-move命令后,系统采用Syslog方式上报MAC地址迁移信息到信息中心模块,如果同时通过snmp-agent trap enable mac-address命令开启MAC地址表的告警功能,系统还会采用Trap信息上报MAC地址迁移信息到SNMP模块。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启MAC地址迁移上报功能。

mac-address notification mac-move [ interval interval ]

缺省情况下,MAC地址迁移上报功能处于关闭状态。

(3)     (可选)配置MAC地址迁移抑制功能的相关参数。

mac-address notification mac-move suppression { interval interval | threshold threshold }

缺省情况下,MAC地址迁移抑制时间间隔为30秒、阈值为3次。

配置本命令后,当接口上开启了MAC地址迁移抑制功能时,本命令配置的参数才能生效。

(4)     进入接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(5)     开启接口上的MAC地址迁移抑制功能。

mac-address notification mac-move suppression

缺省情况下,MAC地址迁移抑制功能处于关闭状态。

1.9  关闭报文入接口与静态MAC地址表项匹配检查功能

1. 功能简介

缺省情况下,报文入接口与静态MAC地址表项匹配检查功能处于开启状态。此时,设备会将接收到的报文的源MAC地址与静态MAC地址表项进行匹配。如果存在MAC地址与报文的源MAC相同的表项,但表项的出接口不是接收报文的端口,设备会丢弃该报文。

关闭报文入接口与静态MAC地址表项匹配检查功能后,设备不进行上述检查,即使存在上述类型的静态MAC地址表项,也会转发报文。

2. 配置限制和指导

对于源MAC地址是VLAN接口的MAC地址的流量,需要在对应VLAN所在的二层接口上关闭报文入接口与静态MAC地址表项匹配检查功能才能转发该流量。

接口关闭报文入接口与静态MAC地址表项匹配检查功能后,不支持802.1X和MAC地址认证功能,也不支持达到接口的MAC地址数学习上限时丢弃源MAC地址不在MAC地址表里的报文(undo mac-address max-mac-count enable-forwarding)。关于802.1X和MAC地址认证功能的介绍,请参见“安全配置指导”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     关闭报文入接口与静态MAC地址表项匹配检查功能。

undo mac-address static source-check enable

缺省情况下,报文入接口与静态MAC地址表项匹配检查功能处于开启状态。

1.10  开启MAC地址表告警功能

1. 功能简介

开启MAC地址表的告警功能后,MAC地址表模块会生成告警信息,用于报告该模块的重要事件。生成的告警信息将发送到设备的SNMP模块,请通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。

关闭MAC地址表的告警功能后,设备将只发送日志信息到信息中心模块,此时请配置信息中心的输出规则和输出方向来查看MAC地址表模块的日志信息。

有关SNMP和信息中心的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”和“信息中心”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启MAC地址表的告警功能。

snmp-agent trap enable mac-address [ mac-move ]

缺省情况下,MAC地址表的告警功能处于开启状态。

当MAC地址表的告警功能关闭后,将采用Syslog方式上报信息。

1.11  MAC地址表显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后MAC地址表的运行情况,通过查看显示信息验证配置的效果。

表1-2 MAC地址表显示和维护

操作

命令

显示MAC地址表信息

display mac-address [ mac-address [ vlan vlan-id ] | [ [ dynamic | static ] [ interface interface-type interface-number ] | blackhole | multiport ] [ vlan vlan-id ] [ count ] ]

显示MAC地址表动态表项的老化时间

display mac-address aging-time

显示MAC地址学习功能的开启状态

display mac-address mac-learning [ interface interface-type interface-number ]

显示MAC地址迁移记录

(独立运行模式)

display mac-address mac-move [ slot slot-number ]

(IRF模式)

display mac-address mac-move [ chassis chassis-number slot slot-number ]

显示MAC地址表的统计信息

display mac-address statistics

 

1.12  MAC地址表典型配置举例

1.12.1  MAC地址表基本功能配置举例

1. 组网需求

·     现有一台用户主机,它的MAC地址为000f-e235-dc71,属于VLAN 1,连接Device的端口Ten-GigabitEthernet1/0/25。为防止假冒身份的非法用户骗取数据,在设备的MAC地址表中为该用户主机添加一条静态表项。

·     另有一台用户主机,它的MAC地址为000f-e235-abcd,属于VLAN 1。由于该用户主机曾经接入网络进行非法操作,为了避免此种情况再次发生,在设备上添加一条黑洞MAC地址表项,使该用户主机接收不到报文。

·     配置设备的动态MAC地址表项老化时间为500秒。

2. 组网图

图1-2 MAC地址表基本功能配置组网图

3. 配置步骤

 

# 增加一个静态MAC地址表项,目的地址为000f-e235-dc71,出接口为Ten-GigabitEthernet1/0/25,且该接口属于VLAN 1。

<Device> system-view

[Device] mac-address static 000f-e235-dc71 interface ten-gigabitethernet 1/0/25 vlan 1

# 增加一个黑洞MAC地址表项,地址为000f-e235-abcd,属于VLAN 1。

[Device] mac-address blackhole 000f-e235-abcd vlan 1

# 配置动态MAC地址表项的老化时间为500秒。

[Device] mac-address timer aging 500

4. 验证配置

# 查看端口Ten-GigabitEthernet1/0/25上的静态MAC地址表项信息。

[Device] display mac-address static interface ten-gigabitethernet 1/0/25

MAC Address      VLAN ID    State            Port/Nickname            Aging

000f-e235-dc71   1          Static           XGE1/0/25 N

# 查看黑洞MAC地址表信息。

[Device] display mac-address blackhole

MAC Address      VLAN ID    State            Port/Nickname            Aging

000f-e235-abcd   1          Blackhole        N/A                      N

# 查看动态MAC地址表项的老化时间。

[Device] display mac-address aging-time

MAC address aging time: 500s.

 

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们