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

H3C S2000-EA系列以太网交换机 操作手册-Release 2211(V1.01)

14-MAC地址转发表管理操作

本章节下载  (385.39 KB)

14-MAC地址转发表管理操作


1 MAC地址转发表管理

本章节内容只涉及静态、动态和黑洞MAC地址表项的管理,有关组播MAC地址表项管理的内容,请参见“组播协议”部分。

 

1.1  MAC地址转发表管理简介

1.1.1  MAC地址转发表简介

以太网交换机的主要功能是在数据链路层对报文进行转发,也就是根据报文的目的MAC地址将报文输出到相应的端口。MAC地址转发表是一张包含了MAC地址与转发端口对应关系的二层转发表,是以太网交换机实现二层报文快速转发的基础。MAC地址转发表的表项中包含如下信息:

l              目的MAC地址

l              端口所属的VLAN ID

l              本设备上的转发出端口编号

以太网交换机在转发报文时,根据MAC地址表项信息,会采取以下两种转发方式:

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

l              广播方式:当交换机收到目的地址为全F的报文,或MAC地址转发表中没有包含对应报文目的MAC地址的表项时,交换机将采取广播方式将报文向除接收端口外的所有端口转发。

1.1.2  MAC地址学习过程简介

MAC地址转发表中的表项可以通过两种方式进行更新和维护:

l              手工配置方式

l              MAC地址学习方式

通常情况下,多数MAC地址表项都是通过MAC地址学习功能创建和维护的。以太网交换机学习MAC地址的过程如下:

(1)        图1-1所示,当UserA需要与同处在VLAN1中的UserB通信时,需要将报文发送到交换机的Ethernet1/0/1端口,此时交换机将该报文的源MAC地址,即UserA的地址“MAC-A”记录到自身的MAC地址转发表中,形成如图1-2所示的表项。

图1-1 MAC地址学习过程图示一

 

图1-2 交换机中的MAC地址转发表项一

 

(2)        学习过程完成后,交换机将对该报文进行转发,由于现有的MAC地址转发表中没有关于UserB的MAC地址及端口的对应表项,因此,交换机会如所示将该报文向除Ethernet1/0/1之外的所有端口进行转发,以尽最大能力保证UserB能够收到该报文。

图1-3 MAC地址学习过程图示二

 

(3)        由于交换机采用广播方式发送报文,UserB和UserC都会收到,但UserC不是该报文的目的设备,因此不会进行处理。而正常情况下,UserB会向UserA发送报文进行响应,如图1-4所示。当该响应报文发送至Ethernet1/0/4端口时,交换机会采取同样的MAC地址学习方式将UserB的地址和端口对应关系保存到MAC地址转发表中。

图1-4 MAC地址学习过程图示三

 

(4)        此时交换机的转发表中应包含如图1-5所示的两条表项。在转发响应报文时,由于MAC地址转发表中已经包含目的为“MAC-A”的表项,因此交换机不会再次采取广播操作,而是直接将报文通过Ethernet1/0/1端口发送至UserA,完成此次报文交互过程。

图1-5 交换机中的MAC地址表项二

 

(5)        在此之后UserA和UserB的通信报文,交换机将按照表项信息直接进行单播发送。

l          在某些特殊情况下,例如UserB不可达或UserB虽然收到报文但没有回复,交换机将无法学习到UserB的MAC地址。因此,在下一次收到目的为UserB的报文时,交换机依然会以广播方式进行发送。

l          交换机通过MAC地址学习机制只能学习到单播地址;对于源MAC地址是广播地址的报文,交换机将直接丢弃。

 

1.1.3  MAC地址转发表管理

1. MAC地址转发表的老化机制

以太网交换机的MAC地址转发表是有容量限制的,为了最大限度利用地址转发表资源,以太网交换机利用老化机制更新MAC地址转发表,即:系统在动态创建某条表项的同时,开启老化定时器,如果在老化时间内没有再次收到来自该表项中的MAC地址的报文,交换机就会把该MAC地址表项删除。

MAC地址的老化机制只对动态MAC地址表项生效。

 

2. MAC地址表项的分类与特点

根据自身特点和配置方式等的不同,MAC地址表项可以分为三类:

l              静态MAC地址表项:也称为“永久地址”,由用户手工添加和删除,不会随着时间老化。对于一个设备变动较小的网络,手工添加静态地址表项可以减少网络中的广播流量。

l              动态MAC地址表项:指可以按照用户配置的老化时间而老化掉的MAC地址表项,交换机可以通过MAC地址学习机制或通过用户手工建立的方式添加动态MAC地址表项。

l              黑洞MAC地址表项:由用户手工配置的一类特殊的MAC地址,当交换机接收到源MAC地址或目的MAC地址为黑洞MAC地址的报文时,会将该报文丢弃。

MAC地址表项的分类与特点如表1-1所示。

表1-1 MAC地址表项的分类与特点

MAC地址

配置方式

有无老化时间

设备重启后是否被保留(在保存配置的情况下)

静态MAC地址表项

用户手工配置

动态MAC地址表项

由设备通过MAC地址学习机制生成或者由用户手工配置

黑洞MAC地址表项

用户手工配置

 

1.1.4  MAC地址表项映射功能配置

1. MAC地址表项映射功能简介

MAC地址表项映射功能是指将一个(或多个)VLAN的MAC地址表项复制到另一个VLAN的MAC地址表中。在使用traffic-remark-vlanid命令对报文的VLAN ID进行重标记的过程中,使用MAC地址表项映射功能可以有效减少网络中的广播,提高网络安全性。

2. MAC地址表项映射功能在重标记VLAN ID功能中的应用

缺省情况下,配置了重标记VLAN ID功能的端口将报文的源MAC地址学习到原始VLAN的MAC地址表中,而将报文在重标记后的VLAN中进行转发。因此,当返回的报文从重标记后的VLAN到达设备时,设备在该VLAN的MAC地址表中无法找到对应的表项,只能对报文以广播的形式进行发送。

图1-6 缺省情况下重标记VLAN ID功能对MAC地址的学习过程

 

图1-6所示,在端口Port1上配置重标记VLAN ID功能,将报文的VLAN ID由VLAN3标记为VLAN4。在缺省情况下,该端口接收报文时,设备将源MAC地址MAC-A学习到原始VLAN(VLAN3)的MAC地址表中。

当返回的报文从VLAN4返回到设备时,设备将从VLAN4的MAC地址表中查找MAC-A的发送端口,但由于对应表项没有被学习到VLAN4的MAC地址表中,该报文会被认为是目的MAC地址未知的单播报文,系统将在VLAN4内的所有端口进行广播。这种处理方式不但浪费网络资源,而且造成一定的安全隐患。

通过配置MAC地址表项映射功能,可以将原始VLAN内的MAC地址表项复制到重标记后的VLAN的MAC地址表内。这样设备便可以从重标记后的VLAN的MAC地址表中找到相应的转发路径,并对报文进行单播转发,避免在网络中产生过多的广播报文,如图1-7所示。

图1-7 开启MAC地址表项映射功能后的MAC地址学习过程示意图

 

同样,在上行端口处也可以将重标记后的VLAN的MAC地址表项复制到原始VLAN的MAC地址表中,以便设备在下行端口接收报文时,能够从原始VLAN的MAC地址表中找到报文在重标记VLAN ID后的发送端口,实现单播转发。

1.2  MAC地址转发表管理配置

1.2.1  MAC地址转发表管理配置简介

表1-2 MAC地址转发表管理配置任务

配置任务

说明

详细配置

设置MAC地址表项

必选

1.2.2 

设置系统的MAC地址老化时间

可选

1.2.3 

设置以太网端口最多可以学习到的MAC地址数量

可选

1.2.4 

禁用VLAN的MAC地址学习功能

可选

1.2.5 

配置以太网端口的MAC地址

可选

1.2.6 

配置MAC地址表项映射功能

可选

1.2.7 

 

1.2.2  设置MAC地址表项

管理员根据实际情况可以人工添加、修改或删除MAC地址转发表中的表项。可以删除与某个端口相关的所有MAC地址表项,也可以选择删除某类MAC地址表项如动态表项、静态表项。

用户可以在系统视图或以太网端口视图下添加MAC地址表项。

1. 在系统视图下添加MAC地址表项。

表1-3 在系统视图下添加MAC地址表项

操作

命令

说明

进入系统视图

system-view

-

添加MAC地址表项

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

必选

 

l          在添加MAC地址表项时,命令中interface参数指定的端口必须属于vlan参数指定的VLAN,否则将添加失败。

l          如果vlan参数指定的VLAN是动态VLAN,在添加静态MAC地址之后,会自动变为静态VLAN。

 

2. 在以太网端口视图下添加MAC地址表项

表1-4 在以太网端口视图下添加MAC地址表项

操作

命令

说明

进入系统视图

system-view

-

进入以太网端口视图

interface interface-type interface-number

-

添加MAC地址表项

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

必选

 

l          在添加MAC地址表项时,当前的端口必须属于命令中vlan参数指定的VLAN,否则将添加失败。

l          如果vlan参数指定的VLAN是动态VLAN,在添加静态MAC地址之后,会自动变为静态VLAN。

 

1.2.3  设置系统MAC地址老化时间

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

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

l              如果用户设置的老化时间太短,以太网交换机可能会删除有效的MAC地址表项,降低转发效率。

表1-5 设置系统MAC地址老化时间

操作

命令

说明

进入系统视图

system-view

-

设置MAC地址表项的老化时间

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

必选

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

 

一般情况下,推荐缺省的老化时间300秒。使用参数no-aging时表示不对MAC地址表项进行老化。

MAC地址老化时间的配置对所有端口都生效,但地址老化功能只对动态的(学习到的或者用户配置可老化的)MAC地址表项起作用。

 

1.2.4  设置以太网端口最多可以学习到的MAC地址数量

以太网交换机可以利用MAC地址学习功能获取与某端口相连的网段上各网络设备的MAC地址。对于发往这些MAC地址的报文,以太网交换机直接通过查找MAC地址转发表使用硬件转发,提高转发效率。如果MAC地址转发表过于庞大,可能延长查找相应转发表项的时间,导致以太网交换机的转发性能下降。

管理员可以通过设置以太网端口最多学习到的MAC地址数,控制以太网交换机维护的MAC地址转发表的表项数量。当端口学习到的MAC地址条数达到用户设定的最大值时,该端口将不再对MAC地址进行学习。

表1-6 设置以太网端口最多可以学习到的MAC地址数量

操作

命令

说明

进入系统视图

system-view

-

进入以太网端口视图

interface interface-type interface-number

-

设置端口最多可以学习到的MAC地址数量

mac-address max-mac-count count

必选

缺省情况下,没有配置对端口学习MAC地址数量的限制

 

如果端口配置了最大MAC地址学习个数,则禁止在该端口上启动MAC地址认证和端口安全功能。反之,如果端口启动了MAC地址认证和端口安全功能,则不能配置该端口的最大MAC地址学习个数。

 

1.2.5  禁用指定VLAN的MAC地址学习功能

用户可以通过禁用指定VLAN的MAC地址学习功能,保证此VLAN中网络用户的稳定性和安全性,防止非法用户接入网络。

表1-7 禁止在指定VLAN中学习MAC地址

操作

命令

说明

进入系统视图

system-view

-

进入指定的VLAN视图

vlan vlan-id

-

禁用当前VLAN的MAC地址学习功能

mac-address max-mac-count 0

必选

缺省情况下,允许交换机在所有VLAN中学习MAC地址

 

l          当指定VLAN已经作为远程端口镜像使用的探测VLAN时,将不能禁用该VLAN的MAC地址学习功能。

l          禁用MAC地址学习功能的VLAN不能作为远程端口镜像使用的探测VLAN。

l          禁用VLAN的MAC地址学习功能对启动该VLAN内端口的MAC地址认证没有影响。

 

1.2.6  配置以太网端口的MAC地址

在缺省情况下,S2000-EA系列交换机的以太网端口是没有配置MAC地址的,因此当交换机在发送二层协议报文(例如STP)时,由于无法取用发送端口的MAC地址,将使用该协议预置的MAC地址作为源地址填充到报文中进行发送。在实际组网中,由于多台设备都使用相同的源MAC地址发送二层协议报文,会造成在某台设备的不同端口学习到相同MAC地址的情况,可能会对MAC地址表的维护产生影响。

为避免上述情况的发生,S2000-EA系列交换机提供了端口MAC地址配置功能,用户可以指定本设备端口MAC地址的起始值,即Ethernet1/0/1端口的MAC地址,其他端口将根据自身端口编号以每端口加1的顺序确定自己的MAC地址。

例如:用户配置Ethernet1/0/1端口的MAC地址为000f-e200-0001,则Ethernet1/0/2端口将自动确定自身的MAC地址为000f-e200-0002,依次类推。

表1-8 配置以太网端口的MAC地址

操作

命令

说明

进入系统视图

system-view

-

配置以太网端口MAC地址的起始值

port-mac start-mac-address

必选

缺省情况下,没有配置以太网端口MAC地址的起始值

 

用户设置的起始MAC地址必须为合法的单播地址,不能是广播、组播、全0或全f的地址。

 

在配置了端口的MAC地址后,交换机在发送以下二层协议报文时,将使用发送端口的MAC地址作为源地址,包括:

l              LACP

l              STP

l              NDP/NTDP

l              GVRP

l              DLDP

用户配置的端口MAC地址对正常业务报文的转发不会产生影响。

1.2.7  配置MAC地址表项映射功能

表1-9 配置MAC地址映射功能

操作

命令

说明

进入系统视图

system-view

-

进入以太网端口视图

interface interface-type interface-number

-

配置MAC地址表项映射功能

mac-address-mapping index source-vlan source-vlan-list destination-vlan dest-vlan-id

必选

缺省情况下,没有配置MAC地址表项映射功能

 

l    MAC地址表项映射功能在一个端口下对某个目的VLAN只能配置一次。如果需要修改,必须先删除之前的配置,然后再重新进行配置。

l    关闭MAC地址表项映射功能后,系统将删除目的VLAN中通过该功能学到的其他VLAN的所有MAC地址表项。

l    用户不能手工删除通过MAC地址表项映射功能获得的MAC地址表项,如果确实需要删除该表项,可以通过关闭MAC地址表项映射功能实现。

 

1.3  MAC地址转发表管理配置显示

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

表1-10 MAC地址转发表管理配置显示

操作

命令

说明

显示地址表信息

display mac-address [ display-option ]

display命令可以在任意视图下执行

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

display mac-address aging-time

显示用户配置的以太网端口MAC地址的起始值

display port-mac

 

1.4  MAC地址转发表管理典型配置举例

1.4.1  在交换机上手工添加静态MAC地址

1. 组网需求

服务器通过Ethernet1/0/2端口连接到交换机。为避免交换机在转发目的为服务器的报文时进行广播,要求在交换机上设置静态的服务器MAC地址表项,使交换机始终通过Ethernet1/0/2端口单播发送去往服务器的报文。

l              服务器的MAC地址为000f-e20f-dc71

l              端口Ethernet1/0/2属于VLAN1

2. 配置步骤

# 增加MAC地址(指出所属VLAN、端口、状态)。

<Sysname> system-view

[Sysname] mac-address static 000f-e20f-dc71 interface Ethernet 1/0/2 vlan 1

# 查看当前MAC地址转发表的信息。

[Sysname] display mac-address interface Ethernet 1/0/2

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

000f-e20f-dc71    1       Config static    Ethernet1/0/2    NOAGED

000f-e20f-a7d6    1       Learned          Ethernet1/0/2    AGING

000f-e20f-b1fb    1       Learned          Ethernet1/0/2    AGING

000f-e20f-f116    1       Learned          Ethernet1/0/2    AGING

---  4 mac address(es) found on port Ethernet1/0/2 ---

1.4.2  在重标记VLAN ID的应用中使用MAC地址表项映射功能

1. 组网需求

l              在SwitchA的Ethernet1/0/1端口配置重标记VLAN ID功能,对源IP地址为192.168.1.0/24网段的报文(原始VLAN ID为3),将其VLAN ID重标记为VLAN4。

l              为使设备能够正确处理返回的报文,在Ethernet1/0/2端口同样配置重标记VLAN ID功能,对目的地址为192.168.1.0/24网段的报文(原始VLAN ID为4),将其VLAN ID重标记为VLAN3。

l              为避免在数据转发过程中产生大量的广播报文,配置MAC地址表项映射功能。

2. 组网图

图1-8 重标记VLAN ID组网示意图

 

3. 配置步骤

# 在SwitchA上创建VLAN3和VLAN4。

<SwitchA> system-view

[SwitchA] vlan 3 to 4

 Please wait.... Done.

# 配置端口Ethernet1/0/1为Trunk端口,并加入VLAN3和VLAN4。

[SwitchA] interface Ethernet 1/0/1

[SwitchA-Ethernet1/0/1] port link-type trunk

[SwitchA-Ethernet1/0/1] port trunk permit vlan 3 4

Please wait... Done.

[SwitchA-Ethernet1/0/1] quit

# 配置端口Ethernet1/0/2为Trunk端口,并加入VLAN3和VLAN4。

[SwitchA] interface Ethernet 1/0/2

[SwitchA-Ethernet1/0/2] port link-type trunk

[SwitchA-Ethernet1/0/2] port trunk permit vlan 3 4

Please wait... Done.

[SwitchA-Ethernet1/0/2] quit

# 创建高级ACL3000,匹配源地址为192.168.1.0/24网段的报文。

[SwitchA] acl number 3000

[SwitchA-acl-adv-3000] rule permit ip source 192.168.1.0 0.0.0.255

[SwitchA-acl-adv-3000] quit

# 创建高级ACL3001,匹配目的地址为192.168.1.0/24网段的报文。

[SwitchA] acl number 3001

[SwitchA-acl-adv-3001] rule permit ip destination 192.168.1.0 0.0.0.255

[SwitchA-acl-adv-3001] quit

# 在端口Ethernet1/0/1上配置重标记VLAN ID功能,将匹配ACL3000的报文将其VLAN ID重标记为VLAN4

[SwitchA] interface Ethernet 1/0/1

[SwitchA-Ethernet1/0/1] traffic-remark-vlanid inbound 3000 remark-vlan 4

# 在端口Ethernet1/0/1上配置MAC地址表项映射功能,将VLAN3的地址表项复制到VLAN4的MAC地址表中。

[SwitchA-Ethernet1/0/1] mac-address-mapping 0 source-vlan 3 destination-vlan 4

[SwitchA-Ethernet1/0/1] quit

# 在端口Ethernet1/0/2上配置重标记VLAN ID功能,将匹配ACL3001的报文将其VLAN ID重标记为VLAN3

[SwitchA] interface Ethernet 1/0/2

[SwitchA-Ethernet1/0/2] traffic-remark-vlanid inbound 3001 remark-vlan 3

# 在端口Ethernet1/0/2上配置MAC地址表项映射功能,将VLAN4的MAC地址表项复制到VLAN3的MAC地址表中。

[SwitchA-Ethernet1/0/1] mac-address-mapping 0 source-vlan 4 destination-vlan 3

 

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

新华三官网
联系我们