12-MAC地址转发表管理操作
本章节下载 (228.69 KB)
目 录
本章节内容只涉及静态、动态和黑洞MAC地址表项的管理,有关组播MAC地址表项管理的内容,请参见“组播协议”部分。
以太网交换机的主要功能是在数据链路层对报文进行转发,也就是根据报文的目的MAC地址将报文输出到相应的端口。MAC地址转发表是一张包含了MAC地址与转发端口对应关系的二层转发表,是以太网交换机实现二层报文快速转发的基础。MAC地址转发表的表项中包含如下信息:
l 目的MAC地址
l 端口所属的VLAN ID
l 本设备上的转发出端口编号
以太网交换机在转发报文时,根据MAC地址表项信息,会采取以下两种转发方式:
l 单播方式:当MAC地址转发表中包含与报文目的MAC地址对应的表项时,交换机直接将报文从该表项中的转发出端口发送。
l 广播方式:当交换机收到目的地址为全F的报文,或MAC地址转发表中没有包含对应报文目的MAC地址的表项时,交换机将采取广播方式将报文向除接收端口外的所有端口转发。
MAC地址转发表中的表项可以通过两种方式进行更新和维护:
l 手工配置方式
l MAC地址学习方式
通常情况下,多数MAC地址表项都是通过MAC地址学习功能创建和维护的。以太网交换机学习MAC地址的过程如下:
(1) 如图1-1所示,当UserA需要与同处在VLAN1中的UserB通信时,需要将报文发送到交换机的GigabitEthernet1/0/1端口,此时交换机将该报文的源MAC地址,即UserA的地址“MAC-A”记录到自身的MAC地址转发表中,形成如图1-2所示的表项。
图1-1 MAC地址学习过程图示一
图1-2 交换机中的MAC地址转发表项一
(2) 学习过程完成后,交换机将对该报文进行转发,由于现有的MAC地址转发表中没有关于UserB的MAC地址及端口的对应表项,因此,交换机会如所示将该报文向除GigabitEthernet1/0/1之外的所有端口进行转发,以尽最大能力保证UserB能够收到该报文。
图1-3 MAC地址学习过程图示二
(3) 由于交换机采用广播方式发送报文,UserB和UserC都会收到,但UserC不是该报文的目的设备,因此不会进行处理。而正常情况下,UserB会向UserA发送报文进行响应,如图1-4所示。当该响应报文发送至GigabitEthernet1/0/4端口时,交换机会采取同样的MAC地址学习方式将UserB的地址和端口对应关系保存到MAC地址转发表中。
图1-4 MAC地址学习过程图示三
(4) 此时交换机的转发表中应包含如图1-5所示的两条表项。在转发响应报文时,由于MAC地址转发表中已经包含目的为“MAC-A”的表项,因此交换机不会再次采取广播操作,而是直接将报文通过GigabitEthernet1/0/1端口发送至UserA,完成此次报文交互过程。
图1-5 交换机中的MAC地址表项二
(5) 在此之后UserA和UserB的通信报文,交换机将按照表项信息直接进行单播发送。
l 在某些特殊情况下,例如UserB不可达或UserB虽然收到报文但没有回复,交换机将无法学习到UserB的MAC地址。因此,在下一次收到目的为UserB的报文时,交换机依然会以广播方式进行发送。
l 交换机通过MAC地址学习机制只能学习到单播地址;对于源MAC地址是广播地址的报文,交换机将直接丢弃。
以太网交换机的MAC地址转发表是有容量限制的,为了最大限度利用地址转发表资源,以太网交换机利用老化机制更新MAC地址转发表,即:系统在动态创建某条表项的同时,开启老化定时器,如果在老化时间内没有再次收到来自该表项中的MAC地址的报文,交换机就会把该MAC地址表项删除。
MAC地址的老化机制只对动态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-2 MAC地址转发表管理配置任务
配置任务 |
说明 |
详细配置 |
设置MAC地址表项 |
必选 |
|
设置系统的MAC地址老化时间 |
可选 |
|
设置以太网端口最多可以学习到的MAC地址数量 |
可选 |
|
禁用指定VLAN的MAC地址学习功能 |
可选 |
管理员根据实际情况可以人工添加、修改或删除MAC地址转发表中的表项。可以删除与某个端口相关的所有MAC地址表项,也可以选择删除某类MAC地址表项如动态表项、静态表项。
用户可以在系统视图或以太网端口视图下添加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。
表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。
设置合适的老化时间可以有效利用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地址表项起作用。
以太网交换机可以利用MAC地址学习功能获取与某端口相连的网段上各网络设备的MAC地址。对于发往这些MAC地址的报文,以太网交换机直接通过查找MAC地址转发表使用硬件转发,提高转发效率。如果MAC地址转发表过于庞大,可能延长查找相应转发表项的时间,导致以太网交换机的转发性能下降。
管理员可以通过设置以太网端口最多学习到的MAC地址数,控制以太网交换机维护的MAC地址转发表的表项数量。当端口学习到的MAC地址条数达到用户设定的最大值时,该端口将不再对MAC地址进行学习。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
设置端口最多可以学习到的MAC地址数量 |
mac-address max-mac-count count |
必选 缺省情况下,没有配置对端口学习MAC地址数量的限制 |
如果端口配置了最大MAC地址学习个数,则禁止在该端口上启动集中式MAC地址认证和端口安全功能。反之,如果端口启动了集中式MAC地址认证和端口安全功能,则不能配置该端口的最大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地址认证没有影响。
完成上述配置后,在任意视图下执行display命令,可以显示配置MAC地址转发表后的运行情况。通过查看显示信息,用户可以验证配置的效果。
表1-8 MAC地址转发表管理配置显示
操作 |
命令 |
说明 |
显示地址表信息 |
display mac-address [ display-option ] |
display命令可以在任意视图下执行 |
显示地址表动态表项的老化时间 |
display mac-address aging-time |
服务器通过GigabitEthernet1/0/2端口连接到交换机。为避免交换机在转发目的为服务器的报文时进行广播,要求在交换机上设置静态的服务器MAC地址表项,使交换机始终通过GigabitEthernet1/0/2端口单播发送去往服务器的报文。
l 服务器的MAC地址为000f-e20f-dc71
l 端口GigabitEthernet1/0/2属于VLAN1
# 增加MAC地址(指出所属VLAN、端口、状态)。
<Sysname> system-view
[Sysname] mac-address static 000f-e20f-dc71 interface GigabitEthernet 1/0/2 vlan 1
# 查看当前MAC地址转发表的信息。
[Sysname] display mac-address interface GigabitEthernet 1/0/2
MAC ADDR VLAN ID STATE PORT INDEX AGING TIME(s)
000f-e20f-dc71 1 Config static GigabitEthernet1/0/2 NOAGED
000f-e20f-a7d6 1 Learned GigabitEthernet1/0/2 AGING
000f-e20f-b1fb 1 Learned GigabitEthernet1/0/2 AGING
000f-e20f-f116 1 Learned GigabitEthernet1/0/2 AGING
--- 4 mac address(es) found on port GigabitEthernet1/0/2 ---
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!