As per arp(7) – Linux man page :
base_reachable_time (since Linux 2.2)
Once a neighbor has been found, the entry is considered to be valid for at least a random value between base_reachable_time/2 and
3*base_reachable_time/2. An entry’s validity will be extended if it
receives positive feedback from higher level protocols. Defaults to 30
seconds. This file is now obsolete in favor of base_reachable_time_ms.
base_reachable_time_ms (since Linux 2.6.12)
As for base_reachable_time, but measures time in milliseconds. Defaults to 30000 milliseconds.
I did not understand this explanation – especially the statement about the positive feed back from higher level protocols. Somebody please clarify ?
From the arp(7) man page,
Basically this means that if something like a continues TCP connection is happening with a lot of successful ACKs, then it assumes the IP/MAC pair it has is valid and doesn’t bother doing a new ARP request when the entry in the table would normally expire.