选择区域语言: EN CN HK

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

02-MAC地址表配置

本章节下载  (227.11 KB)

docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/S12500/S12500/Configure/Operation_Manual/H3C_S12500_CG-R1828P04-6W182/04/201407/834563_30005_0.htm

02-MAC地址表配置


1 MAC地址表

说明

·     MAC地址表中对于接口的相关配置,目前只能在二层以太网接口和二层聚合接口上进行。

·     本章节内容只涉及单播的静态、动态、黑洞MAC地址表项和多端口单播MAC地址表项的配置,有关静态组播MAC地址表项的相关介绍和配置内容,请参见“IP组播配置指导”中的“组播路由与转发”和“IPv6组播路由与转发”。

·     设备支持两种运行模式:独立运行模式和IRF模式,缺省情况为独立运行模式。有关IRF模式的介绍,请参见“IRF配置指导”中的“IRF”。

 

1.1  MAC地址表简介

MAC地址表记录了与该设备相连的设备的MAC地址、与该设备相连的设备的接口号以及所属的VLAN ID。在转发数据时,设备根据报文中的目的MAC地址查询MAC地址表,快速定位出接口,从而减少广播。

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地址表项,将用户设备与接口绑定,从而防止假冒身份的非法用户骗取数据。手工配置的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地址项覆盖。

 

1.1.3  基于MAC地址表的报文转发

设备在转发报文时,根据MAC地址表项信息,会采取以下两种转发方式:

·     单播方式:当MAC地址表中包含与报文目的MAC地址对应的表项时,设备直接将报文从该表项中的转发出接口发送。

·     广播方式:当设备收到目的地址为全1的报文,或MAC地址表中没有包含对应报文目的MAC地址的表项时,设备将采取广播方式将报文向除接收接口外的所有接口进行转发。

1.2  配置MAC地址表

以下配置均为可选配置,且配置过程无先后顺序,用户可以根据实际情况选择配置。

1.2.1  配置MAC地址表项

一般情况下,设备通过源MAC地址学习过程自动建立MAC地址表。

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

另外,如果需要丢弃指定源MAC地址或目的MAC地址的报文,可配置黑洞MAC地址表项。

1. 全局配置MAC地址表项

表1-1 全局配置MAC地址表项

操作

命令

说明

进入系统视图

system-view

-

全局配置MAC地址表项

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

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

二者必选其一

配置黑洞MAC地址表项

mac-address blackhole mac-address vlan vlan-id

 

说明

在添加MAC地址表项时,命令中interface参数指定的接口必须属于vlan参数指定的VLAN,而且该VLAN必须事先创建,否则将添加失败。

 

2. 接口配置MAC地址表项

表1-2 接口配置MAC地址表项

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网接口或者二层聚合接口视图

interface interface-type interface-number

-

添加/修改接口下的MAC地址表项

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

必选

 

说明

在添加MAC地址表项时,当前的接口必须属于命令中vlan参数指定的VLAN,而且该VLAN必须事先创建,否则将添加失败。

 

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

网络管理员可手工配置多端口单播MAC地址表项,将多个端口和单播MAC地址绑定,以实现目的地址匹配该MAC地址的报文通过多个端口转发出去。比如当有一组服务器同时处理客户端请求时,客户端不用了解服务器的细节,会认为只有一台服务器在响应请求,这时可以在服务器组的连接设备上配置多端口单播MAC地址表项,把客户端发往服务器组(即客户端认为的服务器)的报文转发至每一台服务器。

1. 全局配置多端口单播MAC地址表项

表1-3 全局配置多端口单播MAC地址表项

操作

命令

说明

进入系统视图

system-view

-

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

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

必选

缺省情况下,没有配置静态多端口单播MAC地址表项

 

说明

·     在添加多端口单播MAC地址表项时,命令中interface参数指定的接口必须属于vlan参数指定的VLAN(该VLAN必须事先创建),否则将添加失败。

·     当将以太网接口加入到聚合组后,该端口上的多端口单播MAC地址表项配置可能会不生效。因此,建议用户在该聚合组对应的聚合接口视图下配置多端口单播MAC地址表项。

 

2. 接口配置多端口单播MAC地址表项

表1-4 接口配置多端口单播MAC地址表项

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

进入二层以太网接口、二层聚合接口视图

interface interface-type interface-number

二者必选其一

进入二层以太网接口或二层聚合接口视图后,下面进行的配置只在当前接口生效;进入端口组视图后,下面进行的配置将在端口组的所有接口生效

进入端口组视图

port-group manual port-group-name

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

mac-address multiport mac-address vlan vlan-id

必选

缺省情况下,没有配置静态多端口单播MAC地址表项

 

说明

·     在添加多端口单播MAC地址表项时,当前的接口必须属于命令中vlan参数指定的VLAN(该VLAN必须事先创建),否则将添加失败。

·     在IRF模式下,静态多端口单播MAC地址表项中的mac-address参数不能和静态邻居表项中的mac-address参数一致,否则会造成冲突。关于静态邻居表项的介绍请参见“三层技术-IP业务”中的“IPv6基础”。

·     当将以太网接口加入到聚合组后,该端口上的多端口单播MAC地址表项配置可能会不生效。因此,建议用户在该聚合组对应的聚合接口视图下配置多端口单播MAC地址表项。

 

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

当网络拓扑改变后,动态MAC地址表项不会及时自动更新。这样,由于设备学习不到新的MAC地址,会导致用户流量不能正常转发。因此,需要配置动态MAC地址表项老化时间。超出设定的老化时间,动态MAC地址表项被自动删除,设备重新进行MAC地址学习,构建新的动态MAC地址表项。

配置合适的老化时间可以有效利用MAC地址老化功能。用户配置的老化时间过长或者过短,都可能影响设备的运行性能:

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

·     如果用户配置的老化时间太短,设备可能会删除有效的MAC地址表项,可能导致设备广播大量的数据报文,影响设备的运行性能。

表1-5 配置动态MAC地址表项的老化时间

操作

命令

说明

进入系统视图

system-view

-

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

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

可选

缺省情况下,MAC地址老化时间为300s

 

说明

·     动态MAC地址表项的老化时间作用于全部接口上,地址老化只对动态的(设备学习到的或者用户配置的动态的)MAC地址表项起作用。

·     在一个比较稳定的网络,如果长时间没有流量,动态MAC地址表项会被全部删除,可能导致设备突然广播大量的数据报文,被他人侦听,造成安全隐患,此时可将动态MAC地址表项的老化时间设成no-aging(即不老化),以减少广播,增加网络稳定性和安全性。

 

1.2.4  配置最多可以学习到的MAC地址数

1. 配置接口最多可以学习到的MAC地址数

通过配置以太网接口或端口组或二层聚合接口最多可以学习到的MAC地址数,用户可以控制设备维护的MAC地址表的表项数量。当接口学习到的MAC地址数达到配置的最大值时,该接口将不再对MAC地址进行学习。

表1-6 配置接口最多可以学习到的MAC地址数

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

进入以太网接口视图

interface interface-type interface-number

三者必选其一

进入以太网接口或二层聚合接口视图后,下面进行的配置只在当前接口生效;进入端口组视图后,下面进行的配置将在端口组的所有接口生效

进入端口组视图

port-group manual port-group-name

进入二层聚合接口视图

interface bridge-aggregation interface-number

配置接口最多可以学习到的MAC地址数,以及当接口学习到的MAC地址数达到配置的最大值时,是否继续转发源MAC地址不在MAC地址表里的数据帧

mac-address max-mac-count { count | disable-forwarding }

必选

缺省情况下,以太网接口或端口组或二层聚合接口最多可以学习到的MAC地址数目不作限制,并且当以太网接口或端口组或二层聚合接口学习的MAC地址数达到配置的最大MAC地址数后,允许转发源MAC地址不在MAC地址表里的数据帧

 

2. 配置VLAN最多可以学习到的MAC地址数

通过配置VLAN最多可以学习到的MAC地址数,用户可以控制设备维护的VLAN的MAC地址表的表项数量。当VLAN学习到的MAC地址条数达到最大值时,该VLAN将不再对MAC地址进行学习。

表1-7 配置VLAN最多可以学习到的MAC地址数

操作

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

配置VLAN最多可以学习到的MAC地址数,以及当VLAN学习到的MAC地址数达到最大值时,是否继续转发源MAC地址不在MAC地址表里的数据帧

mac-address max-mac-count { count | disable-forwarding }

必选

缺省情况下,VLAN最多可以学习到的MAC地址数目不作限制,并且当VLAN学习的MAC地址数达到配置的最大MAC地址数后,允许转发源MAC地址不在MAC地址表里的数据帧

 

1.2.5  配置MAC地址迁移日志上报

MAC地址迁移是指:设备从某接口(假设接口A)学习到某MAC地址,之后从另一接口(假设接口B)接收到了以该MAC地址为源MAC地址的报文,且接口B与接口A所属的VLAN相同,则该MAC地址表项的出接口改为接口B,即MAC地址从接口A迁移到接口B。如果MAC地址迁移频繁出现,且同一MAC地址总是在特定的两个接口之间迁移,那么网络中可能存在二层环路。网络连接错误或配置错误都容易导致网络出现环路,使设备重复发送报文,造成网络资源浪费甚至网络瘫痪。

您可以通过MAC地址迁移日志上报功能来发现和定位二层环路。

表1-8 配置MAC地址迁移日志上报

操作

命令

说明

进入系统视图

system-view

-

使能MAC地址迁移日志上报功能

mac-flapping notification enable

必选

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

 

说明

·     使能本功能后,系统将每分钟上报一次上一分钟发生的MAC地址迁移日志。

·     如果要查看设备启动后的MAC地址迁移记录,请使用display mac-flapping information命令。

 

1.3  MAC地址表显示和维护

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

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

操作

命令

显示MAC地址表信息

display mac-address [ mac-address [ vlan vlan-id ] | [ [ dynamic | static ] [ interface interface-type interface-number ] | blackhole ] [ vlan vlan-id ] [ count ] ] [ | { begin | exclude | include } regular-expression ]

显示多端口单播MAC地址表信息

display mac-address multiport [ vlan vlan-id ] [ count ] [ | { begin | exclude | include } regular-expression ]

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

display mac-address aging-time [ | { begin | exclude | include } regular-expression ]

显示MAC地址迁移记录(独立运行模式)

display mac-flapping information [ slot slot-number ]

显示MAC地址迁移记录(IRF模式)

display mac-flapping information [ chassis chassis-number [ slot slot-number ] ]

 

1.4  MAC地址表典型配置举例

说明

缺省情况下,以太网接口、VLAN接口及聚合接口处于DOWN状态。如果要对这些接口进行配置,请先使用undo shutdown命令使接口状态处于UP。

 

1. 组网需求

·     现有一个用户主机Host A,它的MAC地址为000f-e235-dc71,所属VLAN为VLAN 1,所连的设备接口为GigabitEthernet3/0/1。为防止MAC地址攻击,在设备的MAC地址表中为该用户主机添加一条静态表项。

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

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

2. 组网图

3. 配置步骤

# 增加一个静态MAC地址表项。

<Sysname> system-view

[Sysname] mac-address static 000f-e235-dc71 interface Gigabitethernet 3/0/1 vlan 1

# 增加一个目的黑洞MAC地址表项。

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

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

[Sysname] mac-address timer aging 500

# 查看以太网接口GigabitEthernet3/0/1上的MAC地址表信息。

[Sysname] display mac-address interface Gigabitethernet 3/0/1

MAC ADDR          VLAN ID  STATE            PORT INDEX             AGING TIME(s)

000f-e235-dc71       1     Config static    GigabitEthernet3/0/1       NOAGED

 

  ---  1 mac address(es) found on port GigabitEthernet3/0/1 ---

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

[Sysname] display mac-address blackhole

MAC ADDR        VLAN ID   STATE            PORT INDEX              AGING TIME(s)

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

 

  ---  1 mac address(es) found  ---

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

[Sysname] display mac-address aging-time

Mac address aging time: 500s

 

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