什么是base_reachable_time(ARP相关)proc条目

时间:2012-04-19 10:04:37

标签: linux-kernel arp proc

根据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毫秒。

我不明白这个解释 - 尤其是关于来自更高级别协议的积极反馈的陈述。有人请澄清一下吗?

2 个答案:

答案 0 :(得分:1)

对于IPv6,函数ndisc_router_discovery可以更新base_reachable_time IPv6邻居发现协议(取代ARP)获取此信息并对其进行更新。

答案 1 :(得分:1)

来自arp(7) man page

  

在某些情况下,现有映射没有正反馈时   time(参见下面的/ proc接口),邻居缓存条目是   被认为是陈旧的。积极反馈可以从更高层获得;   例如来自成功的TCP ACK。其他协议可以发出信号   使用MSG_CONFIRM标志向sendmsg(2)转发进度。在那里   没有前进的进展,ARP试图重新开始。

基本上这意味着如果类似于持续TCP连接的事情发生了很多成功的ACK,那么它假定它具有的IP / MAC对是有效的,并且当条目中的条目时不会打扰新的ARP请求。表通常会过期。