ARP står for: Address resolution protocol. ARP er en internetprotokol som oversætter IP-adresser til hardwareadresser (MAC adresser) på et netkort. Når der første gang skal sendes en IP-pakke fra en maskine til en anden, kender afsendermaskinen ikke modtagenes hardwareadresse, og sender derfor en broadcastmeddelelse med den ønskede IP-adresse til alle andre maskiner på det aktuelle net. Den maskine, der har den ønskede IP-adresse sender sin hardwareadresse tilbage, og gemmer samtidig afsenderens hardwareadresse til senere brug. På meget store netværk, kan det ske, at en maskine ikke har kapacitet til at gemme alle adresser på netværket, så de, der bruges mindst kan blive smidt ud. Protokollen RARP har den omvendte funktion.
Argumenter for at ARP er en ISO’s OSI lag 2 protokol:
- ARP hører til ISO’s OSI lag 2, fordi ARP-pakkers højeste (OSI) lag-adresser er (lag 2-switch-bare) lag 2-header-adresser (f.eks. ethernet/mac/fysisk/hardware-adresse).
- Der er ingen routbare lag 3-header-adresser (f.eks. IPv4-adresser). Med andre ord ARP-pakker har ingen lag3-header – ergo ingen lag 3 protokol.
- På lag 2 ethernet har ARP protokolnummeret/typen 0x806. ARP har intet protokolnummer på lag 3 f.eks. IPv4.
- Evt. IPv4-adresser er indlejret i pakkens nyttelast (eng. payload) – ikke i en routebar IPv4-header.