ARP

Protokół mapujący adresy IP na fizyczne adresy MAC w sieci lokalnej, aby pakiety trafiały do właściwej karty sieciowej.

ARP (Address Resolution Protocol) to protokół, który w sieci lokalnej tłumaczy adresy IP na adresy MAC. Brzmi nudno, ale bez niego twój komputer nie miałby pojęcia, do której fizycznej karty sieciowej wysłać ramkę. Krótko: znasz IP odbiorcy, ale do dostarczenia ramki w warstwie 2 potrzebujesz jego adresu MAC — i właśnie po to jest ARP. Działa w sieciach IPv4 (w IPv6 jego rolę przejmuje NDP, oparty na ICMPv6).

Jak to działa

Wyobraź sobie, że chcesz wysłać pakiet na 192.168.1.10 w swojej sieci. Twój host sprawdza tablicę ARP (cache), czy zna już MAC dla tego IP. Jeśli nie — rozgłasza w całym segmencie zapytanie ARP request: „kto ma 192.168.1.10? Daj znać na mój MAC”. To broadcast, słyszą go wszyscy w danej sieci L2. Maszyna, która ma to IP, odpowiada ARP reply ze swoim adresem MAC — i tylko ona, bo to już unicast.

Odpowiedź ląduje w cache na jakiś czas (zwykle kilka–kilkanaście minut), żeby nie pytać przy każdym pakiecie. ARP działa tylko w obrębie jednej podsieci — gdy adresat jest poza nią, twój host wyznacza MAC bramy domyślnej, a nie docelowego serwera.

Z praktyki

Najprościej podejrzysz tablicę poleceniem arp -a (Windows, macOS) albo nowocześnie na Linuksie ip neigh. Zobaczysz pary IP–MAC z twojego segmentu. Gdy debugujesz „dziwny” brak łączności mimo poprawnego pingu IP, odpalasz arping 192.168.1.1, żeby sprawdzić, czy host w ogóle odpowiada w warstwie 2. A jak chcesz zobaczyć ruch na żywo, w Wireshark wpisujesz filtr arp i patrzysz na request/reply w czasie rzeczywistym.

Na co uważać

ARP jest z natury ufny i bezstanowy — host przyjmie reply, nawet jeśli o nic nie pytał. To otwiera drzwi do ARP spoofingu / ARP poisoning: atakujący podszywa się pod bramę, podmienia wpisy w cache ofiar i robi sobie man-in-the-middle. Narzędzia w stylu arpspoof czy Ettercap pokazują, jak łatwo to zrobić w niezabezpieczonej sieci. Obrona to m.in. Dynamic ARP Inspection (DAI) na switchach, statyczne wpisy dla krytycznych hostów i segmentacja VLAN.

Częsty mit: „ARP rozwiązuje nazwy” — nie, od nazw jest DNS. ARP zna tylko parę IP–MAC. Inny mit: że działa też w internecie. Nie — to protokół wyłącznie lokalnego segmentu.

Pojęcia powiązane: adres MAC, adres IP, warstwa łącza danych (L2), broadcast, brama domyślna, DNS, NDP (odpowiednik w IPv6), Wireshark, ARP spoofing.