根据arp(7) - Linux手册页:
base_reachable_time(自Linux 2.2起) 一旦找到邻居,该条目被认为对于base_reachable_time / 2和之间的至少一个随机值有效 3 * base_reachable_time / 2。 条目的有效期将延长 从更高级别的协议收到积极的反馈。默认为30 秒。此文件现已过时,支持base_reachable_time_ms。 base_reachable_time_ms(自Linux 2.6.12起) 至于base_reachable_time,但以毫秒为单位测量时间。默认为30000毫秒。
我不明白这个解释 - 尤其是关于来自更高级别协议的积极反馈的陈述。有人请澄清一下吗?
答案 0 :(得分:1)
对于IPv6,函数ndisc_router_discovery
可以更新base_reachable_time
IPv6邻居发现协议(取代ARP)获取此信息并对其进行更新。
答案 1 :(得分:1)
在某些情况下,现有映射没有正反馈时 time(参见下面的/ proc接口),邻居缓存条目是 被认为是陈旧的。积极反馈可以从更高层获得; 例如来自成功的TCP ACK。其他协议可以发出信号 使用MSG_CONFIRM标志向sendmsg(2)转发进度。在那里 没有前进的进展,ARP试图重新开始。
基本上这意味着如果类似于持续TCP连接的事情发生了很多成功的ACK,那么它假定它具有的IP / MAC对是有效的,并且当条目中的条目时不会打扰新的ARP请求。表通常会过期。