-2
  • How often does the ARP table refreshes
  • Why is it refreshing at that rate?

started learning networks and have a difficult time understanding these things about the arp table.

Shraga
  • 67
  • 1
  • 8

1 Answers1

1

ARP tables are not refreshed the way you are thinking. Each ARP table entry is created or purged on its own. An ARP table entry is created when a host needs to send something to a layer-3 address for which there is no corresponding layer-2 address in the ARP table. An entry in an ARP table will time out and be purged after a period of disuse. It will be recreated the next time the host wants to send something to the layer-3 address.

Ron Maupin
  • 6,180
  • 4
  • 29
  • 36
  • So there are only two events for a specific table entry to be changed: *timeout* (entry could be deleted from table) and *sending packet* (entry could be changed if sending packet by this entry fails). Doesn't *receiving packet* (not ARP) can also trigger ARP table entry modifying? – budoattack Sep 21 '20 at 17:42
  • 1
    "_Doesn't receiving some packet (not ARP) can also trigger ARP table entry modifying?_" No, that goes against the RFC (although a host OS _could_ do it differently). ARP is a separate process than IP, so only ARP packets update the ARP table. In fact, a host without an entry for another host, seeing an ARP request will only update the ARP table if the entry already exists. You should read _[RFC 826, An Ethernet Address Resolution Protocol](https://tools.ietf.org/html/rfc826)_, which has pseudocode for what to do in ARP packet reception. – Ron Maupin Sep 21 '20 at 17:48
  • 1
    @budoattack, basically, you do not want a bunch of dead or unnecessary ARP table entries. A received frame with the ARP EtherType gets sent to the ARP process, like a frame with the IPv4 EtherType gets sent to IPv4, a frame with the IPv6 EtherType gets sent to IPv6, etc. Only ARP packets get sent to ARP, so other types of packets do not update the ARP table. In fact, IPv6 does not use ARP, only IPv4 does, but ARP is a separate process from IPv4. – Ron Maupin Sep 21 '20 at 17:52