Nätverk och protokoll

ARP

Lokalt nätverksprotokoll som mappar IPv4-adresser till länklageradresser.

Var du ser detta: Syns i paketfångster, nätverksdiagram, brandväggsregler samt system- och nätverksloggar.

Vad det är

ARP (Address Resolution Protocol) används på IPv4 Ethernet-nätverk för att hitta länklageradressen för en IP-adress på samma lokala nätverk. IP routing avgör nästa hopp IP. ARP hittar MAC-adressen för nästa hopp så att ramen kan levereras på tråden.

Nyckelpunkter
  • Använder sändningsförfrågningar och unicast-svar på ett LAN.
  • Värdar cache-mappningar ett tag för att undvika upprepade uppslagningar.
  • ARP är en vanlig källa till spoofing och man i mitten attacker på platta nätverk.

Hur det fungerar i stora drag

  1. En värd vill skicka ett IP-paket till en destination. Om destinationen är avlägsen är nästa hopp standardgatewayen.
  2. Värden kontrollerar sin ARP-cache efter MAC-adressen för nästa hopp IP.
  3. Om den saknas sänder den en ARP-förfrågan som frågar vem som har den IP-adressen.
  4. Enheten som äger IP svarar med ett ARP-svar som innehåller dess MAC-adress.
  5. Avsändaren lagrar mappningen i sin cache och skickar Ethernet-ramen till den MAC:n.
  6. Cachar upphör eller uppdateras. Vissa enheter skickar också gratis ARP för att meddela ändringar eller upptäcka konflikter.

Konkret exempel

Din bärbara dator vill nå en server på Internet. Det gör inte ARP för serverns IP. Den ARPs för standardgatewayens IP, lär sig gatewayens MAC och skickar sedan paketet till gatewayen för routing.

Varför det är viktigt

Ethernet levererar ramar till MAC-adresser, men applikationer och IP routing använder IP adresser. ARP överbryggar det gapet inom en lokal broadcastdomän.

Säkerhetsperspektiv

  • ARP är oautentiserad, så angripare kan förgifta cacher genom att skicka falska svar.
  • Switchfunktioner som dynamisk ARP-inspektion och DHCP snooping kan minska förgiftning på hanterade nätverk.
  • Segmentering och begränsning av vem som delar en broadcastdomän minskar sprängradien för ARP-baserade attacker.

Vanliga fallgropar

  • Förutsatt att ARP fungerar över routrar. ARP är lokal för en broadcastdomän.
  • Inaktuella cacheposter kan göra att enkelriktad anslutning eller trafik går till fel värd.
  • Dubbletter av IP-adresser visas ofta som ARP flaxande i loggar.
  • Virtualisering och failover kan ändra MAC-adresser snabbt, förvirrande cacher.
  • Blockering av ARP bryter grundläggande IPv4-kommunikation på Ethernet.

FÖRDJUPNING

Varför ARP finns i Ethernet-nätverk

IP routing avgör nästa hopp IP adress, men Ethernet-leverans kräver en destinations MAC-adress. På ett lokalt subnät är nästa hopp ofta den slutliga värden själv. ARP finns för att mappa en IPv4-adress till en MAC-adress så att en värd kan bygga en Ethernet-ram som faktiskt når rätt maskin.

Denna mappning är bara meningsfull på den lokala broadcastdomänen. Om din destination IP är på ett annat nätverk, gör du inte ARP för fjärrvärden. Du ARP för din standardgateway, eftersom gatewayen är nästa hopp på den lokala länken. Den enda detaljen förklarar en hel del förvirring när folk förväntar sig att ARP ska avslöja internet breda vägar.

ARP är därför ett lokalt upptäcktsprotokoll. Det är snabbt, bullrigt och avsiktligt enkelt. Det förutsätter att enheter på ett LAN kan ställa en sändningsfråga och att rätt enhet svarar.

Steg för steg: hur en värd lär sig en MAC-adress

Värden kontrollerar först sin ARP cache. Om den redan har en ny mappning för målet IP, använder den den omedelbart. Om inte, skickar den en ARP-förfrågan som en sändning av Ethernet-ram som effektivt frågar: vem har denna IP, berätta för mig din MAC.

Endast enheten som äger IP ska svara. Den skickar ett ARP-svar, vanligtvis unicast tillbaka till förfrågaren, som innehåller dess MAC-adress. Beställaren lagrar mappningen i sin ARP-cache med en åldringstimer och sänder sedan det ursprungliga IP-paketet inuti en Ethernet-ram adresserad till den MAC.

Eftersom ARP är cachedriven kan beteendet se konstigt ut under övergångar. Om en maskin flyttar till ett nytt nätverkskort eller en ny switchport, kan cachar tillfälligt peka på en gammal MAC. Det är därför många system skickar gratis ARP-meddelanden för att uppdatera grannar när deras mappning ändras.

Cachar, gratis ARP och verklig nätverksdynamik

ARP cacher upphör. Olika operativsystem använder olika timers och vissa uppdaterar poster när trafiken flyter. Detta är bra eftersom det låter nätverket anpassa sig, men det betyder också att tysta fel kan pågå tills en cache tar slut och utlöser en ny förfrågan.

Gratis ARP är ett meddelande som en värd skickar om sig själv utan att bli tillfrågad. Den används för att tillkännage en ny mappning, upptäcka dubbletter och hjälpa switchar att lära sig var en MAC bor. I inställningar med hög tillgänglighet förlitar sig en failover IP ofta på gratis ARP så att grannar snabbt skickar trafik till den nya aktiva maskinen.

Ur en felsökningsvy förklarar ARP varför en ping först kan misslyckas och sedan lyckas. Den första pingen utlöser ARP-upplösningen. När MAC är inlärt flyter efterföljande paket normalt tills cachen går ut eller kartläggningen ändras igen.

Säkerhet: ARP litar på det lokala nätverket

ARP har ingen autentisering. Enheter accepterar ofta svar och uppdaterar cachar även om de inte frågade, vilket gör ARP spoofing möjlig. En angripare på samma LAN kan göra anspråk på att vara gatewayen och omdirigera trafik genom sig själv.

Företagsnätverk mildrar detta med funktioner som dynamisk ARP-inspektion, DHCP snooping och statiska bindningar i känsliga segment. Att segmentera opålitliga enheter i separata VLANs minskar åtminstone vem som till och med kan delta i samma ARP broadcastdomän.

Det viktiga är att ARP är designad för samarbete, inte fientlighet. Om det lokala nätverket inte är pålitligt måste du lägga till kontroller utanför själva ARP.