Address Resolution Protocol är ett sätt för en nätverksapplikation eller enhet att fastställa Ethernet-adressen för en annan enhet. Även känd under akronymen ARP, försöker den matcha en Internet Protocol (IP) adress med en hårdvaruadress. ARP används av varje enhet i ett lokalt nätverk första gången den kommunicerar med en annan enhet i samma nätverk.
Applikationer och nätverksenheter kommunicerar på hög nivå med hjälp av paket på nätverkslagret i protokollstacken. Dessa paket dirigeras till IP-adresser. När varje paket skickas över det lokala nätverket (LAN) med datalänklagret måste mottagarens Ethernet-adress också vara känd. IP-adresser kan tilldelas dynamiskt och ändras över tid, medan Ethernet-adresser i allmänhet förblir desamma. En applikation eller enhet behöver ett sätt att fastställa hårdvaruadressen som för närvarande är associerad med en given IP-adress.
Address Resolution Protocol definierar en standardmetod för att upptäcka dessa adresser. ARP dokumenterades av Internet Engineering Task Force (IETF) 1982 som Request For Comments (RFC) 826. När ett system är redo att skicka ett IP-paket, konsulterar det sin cache med nyligen lösta adresser. Om destinationens IP-adress inte finns i cachen sänder den ett meddelande till hela LAN med ARP. Detta meddelande ber enheten med destinations-IP-adressen att svara med sin Ethernet-hårdvaruadress.
Detta adressupplösningsprotokollförfrågningspaket inkluderar förfrågarens IP- och hårdvaruadresser, såväl som den sökta IP-adressen. Varje enhet på LAN lyssnar efter ett ARP-begäranpaket som innehåller dess IP-adress. Om en hörs, komponerar den matchande enheten ett ARP-svarspaket som innehåller dess Ethernet-hårdvaruadress. Detta svarspaket skickas sedan direkt till förfrågaren, som lagrar adresserna i sin ARP-cache för senare återanvändning. Svararen kan också lagra adresserna i sin cache, eftersom den sannolikt kommer att kommunicera vidare med förfrågaren.
IP Version 4 (IPv4) och Ethernet-adresser är de vanligaste typerna av adresser som löses av Address Resolution Protocol. Förfrågningspaketet stöder dock andra typer genom fälten Protocol Type och Address Length. IP Version 6 (IPv6)-adresser löses med Neighbour Discovery Protocol (NDP) istället för ARP.
RARP (Reverse Address Resolution Protocol) begär en IP-adress för förfrågarens hårdvaruadress. En RARP-server svarar på en av dessa förfrågningar genom att tilldela en ny IP-adress och associera den med förfrågarens hårdvaruadress. Omvänd ARP anses vara föråldrad – dess funktionalitet är inkorporerad i Dynamic Host Configuration Protocol (DHCP). Inverse Address Resolution Protocol begär den befintliga IP-adressen som är associerad med den givna hårdvaruadressen. I det här fallet kan hårdvaruadressen vara den för vilken nod som helst på samma LAN.