Check out my first novel, midnight's simulacra!

ARP: Difference between revisions

From dankwiki
No edit summary
No edit summary
Line 1: Line 1:
==Arp packet types==
This nomenclature comes from RFC 3927.
* ARP Announcement -- Source and destination network address are equal. Destination hardware address is all zeros. Source hardware address is the sending station's MAC.
* ARP Probe -- Source network address is all zeroes, as is destination hardware address. Source hardware address is the sending station's MAC. Destination network address is the address being probed.
** Used for LLMNR in [[Zeroconf|zero-configuration networking]]
==Linux ARP states==
==Linux ARP states==
These are encoded in the <tt>ndm_state</tt> bitmask of a RTM_NEWNEIGH/RTM_GETNEIGH [[netlink]] message (valid ndm_flags values include NTF_PROXY for proxy ARP entries and NTF_ROUTER for IPv6 routers).
These are encoded in the <tt>ndm_state</tt> bitmask of a RTM_NEWNEIGH/RTM_GETNEIGH [[netlink]] message (valid ndm_flags values include NTF_PROXY for proxy ARP entries and NTF_ROUTER for IPv6 routers).

Revision as of 08:22, 18 November 2011

Arp packet types

This nomenclature comes from RFC 3927.

  • ARP Announcement -- Source and destination network address are equal. Destination hardware address is all zeros. Source hardware address is the sending station's MAC.
  • ARP Probe -- Source network address is all zeroes, as is destination hardware address. Source hardware address is the sending station's MAC. Destination network address is the address being probed.

Linux ARP states

These are encoded in the ndm_state bitmask of a RTM_NEWNEIGH/RTM_GETNEIGH netlink message (valid ndm_flags values include NTF_PROXY for proxy ARP entries and NTF_ROUTER for IPv6 routers).

state meaning transitions
permanent never undergoes verification or expiry none (manually configured)
noarp normal expiration, never verified

"A device with no destination cache"

use resets use counter
reachable normal expiration use resets timer
stale still usable, needs verification use resets timer and returns to reachable

timer changes state to delay

delay schedule ARP request, needs verification use resets timer and returns to reachable

timer changes state to probe, issuing ARP request

probe need ARP reply for verification (reprobing) use resets timer and returns to reachable

timer reissues ARP requests or moves to failed

incomplete (new entry) need ARP reply for first use use resets timer and returns to reachable

timer reissues ARP requests or moves to failed

failed no response received / invalid cache entry timer governs reissuing of ARP requests

use resets timer and moves to reachable

See Also