Protokół ARP: Mapowanie adresów IP na adresy fizyczne w sieciach Ethernet
W lokalnych sieciach komputerowych (LAN) opartych na standardzie Ethernet karty sieciowe komunikują się ze sobą za pomocą fizycznych adresów MAC (warstwa 2 modelu OSI), podczas gdy wyższe warstwy systemu posługują się logicznymi adresami IP (warstwa 3). Aby urządzenie mogło wysłać ramkę do innego hosta w tej samej podsieci, musi poznać jego adres fizyczny. Służy do tego kluczowy protokół pomocniczy – ARP (Address Resolution Protocol). W ramach przedmiotu LSK (Lokalne Sieci Komputerowe) przyszły technik musi doskonale rozumieć mechanizm działania ARP, tablice translacji oraz proces żądań i odpowiedzi.
1. Zasada działania protokołu ARP
Komunikacja przy użyciu protokołu ARP opiera się na prostym mechanizmie zapytania rozgłoszeniowego i odpowiedzi bezpośredniej:
- Zapytanie ARP (ARP Request - Broadcast): Gdy komputer A chce wysłać pakiet do komputera B (znając jego adres IP, np.
192.168.1.50), ale nie zna jego adresu MAC, generuje komunikat ARP Request. Ramka ta jest rozsyłana jako broadcast do wszystkich urządzeń w danej podsieci (adres docelowy MAC:FF:FF:FF:FF:FF:FF) z zapytaniem: "Kto posiada adres IP 192.168.1.50? Niech poda swój adres MAC". - Odpowiedź ARP (ARP Reply - Unicast): Wszystkie stacje w sieci odbierają zapytanie, ale analizuje je tylko ta, której adres IP zgadza się z poszukiwanym. Wysyła ona odpowiedź bezpośrednio (unicast) do komputera pytającego, ujawniając swój fizyczny adres MAC.
2. Pamięć podręczna ARP (ARP Cache / ARP Table)
Aby nie obciążać sieci ciągłymi zapytaniami rozgłoszeniowymi przy każdym wysyłanym pakiecie, systemy operacyjne przechowują raz zdobyte powiązania w specjalnej pamięci podręcznej:
- Tabela ARP: Zawiera pary powiązizanych adresów (Adres IP $\leftrightarrow$ Adres MAC). Można ją wyświetlić w wierszu poleceń systemu operacyjnego za pomocą komendy
arp -a. - Czas życia wpisów (Aging Timer): Wpisy w tabeli ARP nie są trwale zafiksowane – posiadają określony czas ważności (zazwyczaj od kilku minut do kilkunastu minut), po którym są usuwane, aby sieć mogła dynamicznie reagować na zmianę kart sieciowych lub adresacji.
- Wpisy statyczne i dynamiczne: Wpisy dynamiczne dodawane są automatycznie przez protokół, natomiast administrator może ręcznie wprowadzić trwałe powiązanie za pomocą polecenia
arp -s.
3. Zagrożenia i protokoły pokrewne
Konstrukcja protokołu ARP powstała w czasach, gdy bezpieczeństwo nie było priorytetem, co niesie ze sobą poważne konsekwencje:
- Atak ARP Spoofing (ARP Poisoning): Podszywanie się pod inne urządzenie (np. bramę domyślną) poprzez wysyłanie sfałszowanych odpowiedzi ARP. Pozwala to napastnikowi na przechwytywanie ruchu w sieci w ramach ataku typu Man-in-the-Middle (MitM).
- Bezaparski odpowiednik w IPv6: W nowszym protokole IPv6 tradycyjny mechanizm ARP został całkowicie zastąpiony przez protokół NDP (Neighbor Discovery Protocol) działający w oparciu o komunikaty ICMPv6.
Strategia technika
Diagnozując problemy z brakiem komunikacji między komputerami w tej samej sieci lokalnej pomimo poprawnej adresacji IP, zawsze sprawdź zawartość tablicy ARP za pomocą polecenia arp -a. Jeśli adres IP docelowy ma przypisany niepoprawny adres MAC lub widnieje tam wpis oznaczony jako niekompletny (incomplete), oznacza to problem z warstwą łącza danych, uszkodzenie portu przełącznika lub fizyczny brak odpowiedzi ze strony hosta docelowego. W celu zabezpieczenia krytycznych sieci przed podsłuchem stosuj na przełącznikach zarządzalnych mechanizmy typu DAI (Dynamic ARP Inspection) współpracujące z funkcją Snooping DHCP.