我们在一个新建的网络中,设备都是全新的时候:
我们查看电脑上的ARP缓存表,他们都是空的;
我们可以看到在电脑、交换机上,所有的ARP表项、MAC地址表项都是空的;
我们第一次用PC1 ping PC2,看一下会发生什么。
通过抓包发现,PC1先发个ARP广播包;
我们再一次看一看PC终端,交换机上会发生什么。
在PC1上的ARP缓存表,返回PC2终端的MAC地址;
在PC2上的ARP缓存表,返回PC1终端的MAC地址;
紧接着第二次用PC1主机Ping PC2,发现这一次没有发ARP包,直接就能互通了。
这就是ARP缓存表的作用。
在交换机上同样有ARP缓存表,如下所示:
[Huawei]dis arp
我们在去交换机看看交换机MAC地址表。
[Huawei]dis mac-address
当交换机是新的,交换机的MAC地址表是空的;但有网络流量在交换机通过时,交换机会学习到终端的MAC地址存入到MAC地址表中,如下所示:
但时间一长,存放在电脑主机的ARP表及存储在交换机的MAC地址表缓存就会被清除,这是因为ARP表项的老化超时时间默认为1200秒(20分钟);
在交换机上可以通过命令来修改ARP表默认老化时间:
[Huawei-Vlanif10]arp expire-time ?
也可以通过命令来修改MAC老化时间,默认为300秒(5分钟):
[Huawei]mac-address aging-time 301
其取值范围是0或30~65535秒。如果将seconds设置为0,表示MAC地址表项不老化。
<Huawei>display mac-address aging-time
如何合理地设置交换机的ARP及MAC地址表老化时间呢?
如果是网络固定不变,老化时间可以设置长一点,如果网络用户经常变化,就不能设置过长,否则出现这种情况:
你用这根网线能正常上网,你走了后,别人用这根网线,可能就不能上网了,因为交换机上MAC地址表上还保留着上一台PC的MAC地址信息,导致转发错误,出现丢包故障,如下图,换了一台PC网络就不通了。
这时,我们可以通过清除ARP信息表来解决这类问题,在电脑终端上输入命令:PC>arp -d
在交换机上清除ARP信息操作如下:
[Huawei]interface Vlanif 10
[Huawei-Vlanif10]shutdown
[Huawei-Vlanif10]undo shutdown
……