ARP: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
The Address Resolution Protocol (ARP) provides IPv4 hosts within a broadcast domain with a means to discover what (if any) other host owns a network address. It is replaced by the [[NDP|Neighbor Discovery Protocol]] in [[IPv6]]. | |||
==Arp packet types== | ==Arp packet types== | ||
This nomenclature comes from RFC 3927. | This nomenclature comes from RFC 3927, which specifies all-zero destination hardware addresses for broadcasting. All-ones is more common. | ||
* 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 Announcement -- Source and destination network address are equal. Destination hardware address is all zeros. Source hardware address is the sending station's MAC. | ||
** Used to claim an address in LLMNR for [[Zeroconf|zero-configuration networking]] | |||
* 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. | * 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]] | ** Used to check address suitability for LLMNR in [[Zeroconf|zero-configuration networking]] | ||
* Gratuitous ARP -- ARP for which there was no request | |||
* Inverse ARP -- Opcodes 8 and 9 allow for Inverse ARP: "I know this hardware address; what's the physical address?" | |||
* Reverse ARP -- Opcodes 3 and 4 allow for Reverse ARP: "I know my hardware address; what's my physical address?" Replaced by [[DHCP|DHCP/BOOTP]]. | |||
==Linux ARP states== | ==Linux ARP states== | ||