Om ditt nätverk använder IPv4 är det Address Resolution Protocol (ARP) som används för att koppla ihop IPv4-adresser med MAC-adresser. Detta avsnitt förklarar hur ARP fungerar.
För att kommunicera i ett nätverk behöver varje nätverksenhet adressuppgifter – främst en adress på lager 3 (IP-adress) och en adress på lager 2 (MAC-adress). Här nedan en bild med förenklade MAC-adresser.

Problemet uppstår när en host bara känner till destinationens IP-adress men inte dess MAC-adress. För att kunna skicka en ram till rätt mottagare måste båda adresserna vara kända. Om mottagaren finns i samma nätverk används mottagarens MAC-adress, men om mottagaren finns i ett annat nätverk används i stället MAC-adressen till default gateway (routern).
Här kommer Address Resolution Protocol (ARP) in i bilden. ARP används i IPv4-nätverk för att mappa, det vill säga binda samman, IP-adresser med motsvarande MAC-adresser.
ARP funktioner
ARP har två viktiga uppgifter:
- Upplösa IPv4-adresser till motsvarande MAC-adresser.
- Underhålla en ARP-tabell (cache) som lagrar kopplingar mellan kända IP- och MAC-adresser.
När ett paket skickas ner till datalänkskiktet för att kapslas in i en Ethernet-ram, kontrollerar enheten sin ARP-tabell (som lagras tillfälligt i RAM-minnet) för att hitta den MAC-adress som hör ihop med den aktuella IPv4-adressen.
- Om destinationens IPv4-adress finns i samma nätverk som avsändaren, söker enheten direkt efter mottagarens adress i ARP-tabellen.
- Om destinationen finns i ett annat nätverk, söker enheten istället efter MAC-adressen till sin default gateway (routern).
I båda fallen handlar det alltså om att matcha en IPv4-adress med rätt MAC-adress. Varje post i ARP-tabellen innehåller en sådan mappning, vilket gör att enheten snabbt kan slå upp rätt information.
Om den efterfrågade IPv4-adressen finns i tabellen används motsvarande MAC-adress som destinationsadress i ramen. Om ingen post finns skickar enheten istället ut en ARP-förfrågan i nätverket för att ta reda på den rätta MAC-adressen.
ARP-förfrågan
En ARP-förfrågan är själva frågan som skickas ut i nätverket:
”Vem har den här IP-adressen? Tala om din MAC-adress för mig.”
Eftersom avsändaren ännu inte vet vilken enhet som har den angivna IP-adressen, skickas förfrågan som en broadcast i en Ethernet-ram till alla enheter i det lokala nätverket.
- Alla mottagare tar emot ARP-förfrågan.
- Endast den enhet vars IP-adress matchar förfrågans Target Protocol Address svarar.
- Svaret (ARP Reply) skickas som unicast tillbaka till den som frågade, och innehåller den korrekta MAC-adressen.
ARP-paket
En ARP-förfrågan skickas alltid som en Ethernet-ram. Ramen består av två delar:
- Ethernet-headern – styr hur ramen levereras i nätverket.
- Destinations-MAC: broadcast (FF:FF:FF:FF:FF:FF) → alla enheter tar emot ramen.
- Source-MAC: avsändarens MAC-adress.
- Typ: 0x0806 → talar om att nyttolasten är ett ARP-paket.
- ARP-paket – själva frågan eller svaret som ligger som last i Ethernet-ramen. Det innehåller bland annat:
- Hardware type = 1 (vanligtvis Ethernet = 1).
- Protocol type = 4 (vanligtvis IPv4 = 0x0800).
- Hardware address length = 6 (6 byte för MAC).
- Protocol address length = 4 (4 byte för IPv4).
- Operation code = 1 (1 = Request, 2 = Reply).
- Source MAC och Source Protocol Address (avsändarens MAC och IP).
- Target MAC = 0000.0000.0000 (okänd i Request, fylls i vid Reply).
- Target Protocol Address (IP-adressen man vill veta MAC-adressen för).

ARP-svar
Endast den enhet som har den efterfrågade IPv4-adressen skickar ett ARP-svar. Svaret skickas som unicast direkt tillbaka till den ursprungliga avsändaren och kapslas i en Ethernet-ram med följande fält:
- Destinations-MAC-adress – MAC-adressen till avsändaren av ARP-förfrågan.
- Source-MAC-adress – MAC-adressen till enheten som skickar svaret.
- Typ – 0x0806, vilket visar att ramen innehåller ett ARP-meddelande.
När avsändaren tar emot ARP-svaret lägger den till en post i sin ARP-tabell där IPv4-adressen kopplas till den mottagna MAC-adressen. Nästa gång ett paket ska skickas till samma destination kan rätt MAC-adress hämtas direkt ur ARP-tabellen. Om inget svar tas emot kan ingen Ethernet-ram skapas, och paketet kasseras.
Poster i ARP-tabellen är alltid tids stämplade. Om en post inte används under en viss tid rensas den automatiskt bort. Det är även möjligt att skapa statisk ARP-poster som ligger kvar permanent, men detta används sällan eftersom de inte tas bort automatiskt utan måste hanteras manuellt.
Obs: IPv6 använder en liknande process, ICMPv6 Neighbor Discovery (ND), som använder neighbor solicitation och neighbor advertisement på samma sätt som IPv4 använder ARP Request och ARP Replay.
| Aspekt | ARP-förfrågan (Request) | ARP-svar (Reply) |
|---|---|---|
| Syfte | Ta reda på MAC-adressen för en känd IPv4-adress. | Meddela MAC-adressen som motsvarar den efterfrågade IPv4-adressen. |
| Skickas som | Broadcast | Unicast till den ursprungliga frågeställaren |
| DA-MAC | FF-FF-FF-FF-FF-FF (broadcast) | MAC-adressen för avsändaren av ARP-förfrågan |
| SA-MAC | MAC-adressen för avsändaren av ARP-förfrågan | MAC-adressen för avsändaren av ARP-svaret |
| EtherType | 0x0806 | 0x0806 |
| Vem genererar? | Enhet som saknar mappning i sin ARP-tabell. | Endast enheten vars IPv4-adress matchar förfrågan. |
| Vem tar emot? | Alla enheter på det lokala nätet (LAN). | Endast den ursprungliga avsändaren av ARP-förfrågan. |
| När uppstår? | När ingen giltig ARP-post finns för mål-IPv4. | Som svar på en matchande ARP-förfrågan. |
| Effekt på ARP-tabell | Ingen direkt uppdatering. | Avsändaren lägger till/uppdaterar IPv4↔MAC-mappning. |
ARP i fjärrkommunikation
När en host vill kommunicera med en enhet utanför sitt eget nätverk, används default gateway (vanligtvis en router). Det betyder att ramen inte skickas direkt till mottagarens MAC-adress, utan till routerns MAC-adress.
Förloppet ser ut så här:
- Avsändaren ser att destinations-IPv4-adressen inte tillhör det egna nätverket.
- Paketet skickas därför till default gateway.
- I Ethernet-ramen sätts:
- Destination MAC = routerns MAC-adress.
- Source MAC = avsändarens egen MAC-adress.
- Routern tar emot ramen, avkapslar den och läser IPv4-headern.
- Baserat på sin routingtabell skickar routern vidare paketet mot nästa hopp på vägen till slutdestinationen.
Om routerns MAC-adress inte redan finns i avsändarens ARP-tabell måste avsändaren först göra en ARP-förfrågan för att ta reda på den. När svaret kommer kan kommunikationen fortsätta utan problem.
ARP-tabellen
Alla enheter i ett nätverk lagrar tillfälliga kopplingar mellan IPv4-adresser och MAC-adresser i en ARP-tabell (även kallad ARP-cache). När en enhet väl har fått reda på en MAC-adress via ARP behöver den alltså inte fråga igen förrän posten försvinner ur tabellen (vilket sker automatiskt efter en viss tid).
För att se innehållet i en ARP-tabell används olika kommandon beroende på system:
Cisco-router eller switch:
R1# show ip arp Protocol Address Age (min) Hardware Addr Type Interface Internet 192.168.10.1 - a0e0.af0d.e140 ARPA GigabitEthernet0/0/0 Internet 209.165.200.225 - a0e0.af0d.e141 ARPA GigabitEthernet0/0/1 Internet 209.165.200.226 1 a03d.6fe1.9d91 ARPA GigabitEthernet0/0/1 R1#
Windows-dator:
C:\Users\PC> arp -a
Interface: 192.168.1.124 --- 0x10
Internet Address Physical Address Type
192.168.1.1 c8-d7-19-cc-a0-86 dynamic
192.168.1.101 08-3e-0c-f5-f7-77 dynamic
192.168.1.110 08-3e-0c-f5-f7-56 dynamic
192.168.1.112 ac-b3-13-4a-bd-d0 dynamic
192.168.1.117 08-3e-0c-f5-f7-5c dynamic
192.168.1.126 24-77-03-45-5d-c4 dynamic
192.168.1.146 94-57-a5-0c-5b-02 dynamic
192.168.1.255 ff-ff-ff-ff-ff-ff static
224.0.0.22 01-00-5e-00-00-16 static
224.0.0.251 01-00-5e-00-00-fb static
239.255.255.250 01-00-5e-7f-ff-fa static
255.255.255.255 ff-ff-ff-ff-ff-ff static
C:\Users\PC>
Båda kommandona visar vilka IPv4-adresser som för tillfället är kopplade till vilka MAC-adresser. På så sätt kan man kontrollera vilka adresser som har blivit upplösta via ARP i nätverket.
Obs! På Cisco-nätverkshanterare lagras varje ARP-post som standard i 240 minuter (4 timmar), vilket kallas ARP-timeaout, och värdet kan ändras per interface.
Ta bort poster ur en ARP-tabell
Alla nätverksenheter har en ARP-cachetimer som automatiskt rensar ut poster i ARP-tabellen när de inte har använts under en viss tid. Exakt tidsgräns beror på operativsystemet. I nyare Windows-versioner ligger denna tid vanligtvis mellan 15 och 45 sekunder.
Det går även att radera poster manuellt. Om en post tas bort måste enheten återigen skicka en ARP-förfrågan och ta emot ett ARP-svar för att fylla på tabellen med rätt koppling mellan IPv4- och MAC-adresser.
Exempel på Windows PC
För att ta bort alla poster:
arp -d *
För att ta bort en specifik post:
arp -d 192.168.10.20
Efter att posten har tagits bort och datorn behöver nå samma IP igen, skickas en ny ARP Request för att hämta MAC-adressen.
Exempel: Cisco-router eller switch (IOS)
För att visa ARP-tabellen:
show ip arp
För att ta bort en specifik post:
clear arp-cache 192.168.10.20
För att rensa hela ARP-tabellen:
clear arp-cache
Efteråt kommer routern automatiskt skicka nya ARP-förfrågningar när den behöver nå dessa adresser.
ARP och nätverksproblem
När en ARP-förfrågan skickas som broadcast tas den emot av alla enheter i det lokala nätverket. I vanliga nätverk märks detta knappt, men i stora nät med många klienter kan det ge en tillfällig prestandaförlust, till exempel när många datorer startas samtidigt och ska börja kommunicera. Så snart enheterna har lärt sig de nödvändiga MAC-adresserna stabiliseras nätverksprestandan igen.
ARP och säkerhet
Eftersom ARP-förfrågningar alltid skickas som broadcasts måste alla enheter i ett lokalt nätverk ta emot och behandla dem. I ett nätverk med många enheter kan detta tillfälligt påverka prestandan, men effekten brukar vara liten och snabbt övergående.
Det som däremot utgör en verklig risk är att ARP saknar autentisering – protokollet litar helt på att de mottagna svaren är äkta. Detta öppnar upp för attacker som kallas ARP spoofing eller ARP poisoning.
Vid en sådan attack skickar angriparen ut falska ARP-svar där den påstår att dess egen MAC-adress tillhör en annan enhets IPv4-adress, exempelvis routerns. På så sätt kan angriparen lura andra datorer i nätverket att:
- skicka all sin trafik till angriparens dator istället för till routern,
- eller att felaktigt koppla en serveradress till angriparens MAC-adress.
Detta gör det möjligt för angriparen att:
- avlyssna (sniffa) trafiken mellan två enheter,
- manipulera data innan den skickas vidare,
- eller helt enkelt stoppa trafiken (en form av Denial of Service).

I små nätverk är detta ovanligt, men i större företagsmiljöer kan det vara en allvarlig säkerhetsrisk. Där används därför skyddsmekanismer, till exempel:
- Dynamic ARP Inspection (DAI) på switchar – kontrollerar att ARP-svar överensstämmer med giltiga adressbindningar.
- Statiska ARP-poster – används ibland i känsliga system, men är opraktiskt i större nätverk eftersom de måste konfigureras och underhållas manuellt.
I den här kursen går vi inte djupare in på dessa tekniker, men det är viktigt att känna till att ARP i sin grundform är osäkert och kan missbrukas av angripare.