为什么ARPcaching没有被清空,因为我除了它是?

我试图凭经验testing一个条目停留在ARP cache表中的时间。

这一次似乎是由/proc/sys/net/ipv4/neigh/default/gc_stale_time文件和/proc/sys/net/ipv4/route/gc_timeout/proc/sys/net/ipv4/route/gc_interval文件为garbage collector

由于数值分别为60,300和60,所以不应该超过420秒。

无论如何,它似乎停留更长时间(如果我不想错过什么)。 事实上,我正在做的,以validation是执行下面的bash命令:

 while true; do date; sudo arp -n; sleep 30; done 

超过15分钟后仍然在ARP table

请注意,据我所知,内核可以基于来自更高级协议的正面反馈更改超时值,但在此期间,我没有尝试访问网站。

所以我的问题是:为什么在这么长时间之后,表中还是引用了这个条目呢? 我做错了什么或失踪?

我会问自己:

  1. 子网上的哪个ip地址是映射MAC地址的arp表项(即,哪个主机是入口点)?
  2. 是否arp表条目持久或不(即我可以指望从arp表中自动清除)?
  3. 在testing间隔期间是否通过相关接口嗅探了stream量(find或未find针对给定ip地址的arp重新映射的证据)?

最后:

  • 我如何试图以受控的方式在arp表中input一个条目,期望测量它的耐用性?

通过前三个问题获得的答案可能会改进最后一个问题给出的testing程序。