常见问题
地址:西安市雁塔区吉祥路179号雁塔世纪商务8层A座
电话:029-88833660
联系人:高老师
您所在的位置:首页 > 常见问题

轻松定位MAC地址学习不到问题

发布时间:2016-08-25  

一·什么是MAC

MAC全称Media Access Control,是设备的唯一标识符,是由各个厂商向IETF等机构申请的。它有48Bit,通常被表示为12位的点分十六进制数,每个MAC地址的前6位(点分十六进制)代表OUIOrganizationally Unique Identifier),后6位由厂商自己分配。

例如,48BitMAC000000001110000011111100001110011000000000110100,表示为12位点分十六进制就是00e0.fc39.8034。前面的00e0.fcIEEE分配给华为公司的OUI,后面的39.8034是由华为公司自己分配的地址编号。

 

二·MACMAC地址表项、MAC地址表的关系是什么呢?

          MAC地址表是由一条条的MAC地址表项组成。MAC地址表项是由MACVLAN和端口组成。所以这里所说的MAC地址学习不到,是指的MAC地址表项学习不到。

 

三·MAC地址表项是怎么学习的呢?

MAC地址表项是在交换机收到数据帧时,解析出数据帧的源MAC地址和VLANID,然后和接收数据帧的端口组合成的。如下图所示就是一条MAC地址表项。

 

四·MAC地址学习不到,会导致什么问题?

问题1MAC地址是用来指导报文进行单播转发的。通过目的MAC地址在MAC地址表中查找不到的报文,就会进行广播,就会占用带宽,浪费网络资源了。

问题2:设备收到报文,才会进行MAC地址学习。MAC地址学习不到,很可能是设备没有收到报文。设备没有收到报文,就意味着设备间的通信是不通的哟。

 

五·MAC地址学习不到问题的定位步骤

第一步:判断端口是否收到报文

查看方法:先在用户视图下执行reset counters interface GigabitEthernet3/0/0命令清空端口的计数,然后再在用户视图下执行display interface GigabitEthernet 3/0/0查看入报文的统计计数是否为0。

在场景比较复杂的情况下,端口入报文计数不为0不表示端口就收到了指定MAC地址的报文哟。在这种情况下可以根据源MAC地址做流量统计,判断端口是否收到了指定MAC的报文。如果条件允许,也可以直接在使用抓包工具进行抓包,判断端口是否收到了指定MAC的报文。

 

第二步:查看设备配置是否正确

1.VLAN是否创建并加入端口。

查看方法:任意视图下执行display vlan vlan-id命令,查看VLAN是否存在并加入端口。

2.端口下是否配置了MAC地址不学习功能。

查看方法:接口视图下执行display this命令,查看是否存在mac-address learning disable配置。

3.端口下是否配置了MAC地址学习限制数功能。

查看方法:接口视图下执行display this命令,查看是否存在mac-limit maximum配置。

4.VLAN下是否配置了MAC地址不学习功能。

查看方法:VLAN视图下执行display this命令,查看是否存在mac-address learning disable配置。

5.VLAN下是否配置了MAC地址学习限制数功能。

查看方法:VLAN视图下执行display this命令,查看是否存在mac-limit maximum配置。

 

小贴士:接口视图下执行display this命令,会看到很多配置,是不是很烦呢。小编教你一招,可以使用display this | include  mac-address快速查看命令中含有mac-address的命令的。

 

第三步:查看端口是否被阻塞

1.查看端口是否被生成树协议阻塞。

查看方法:任意视图下,执行display stp brief命令查看端口的状态。

2.查看端口是否被LBDTLDT环路检测协议阻塞。

查看方法:任意视图下,执行display loop-detection命令查看端口是否被LDT阻塞。在任意视图下,执行display  loopback-detect命令查看端口是否被LBDT阻塞。

 

小贴士:端口被阻塞,是否正常呢?这就要各位大侠根据组网确认一下,该端口是否需要使能破环协议或者环路检测协议了,如果确认需要使能并且阻塞端口也是正确的,那这个端口学习不到MAC地址也是正常的。