Protokół ARP służy do ustalenia
A. adresu IPv6 na podstawie adresu IPv4.
B. nazwy domenowej na podstawie adresu IPv4.
C. adresu MAC na podstawie adresu IPv4.
D. adresu publicznego na podstawie adresu prywatnego.
ARP, czyli Address Resolution Protocol, służy do ustalenia adresu MAC urządzenia na podstawie jego adresu IPv4. To jest bardzo praktyczny mechanizm działający w sieci lokalnej, głównie między warstwą sieciową i łącza danych modelu OSI. Komputer może znać adres IPv4 celu, np. 192.168.1.20, ale żeby faktycznie wysłać ramkę Ethernet w LAN, potrzebuje fizycznego adresu karty sieciowej, czyli MAC, np. 00:1A:2B:3C:4D:5E. Wtedy wysyła zapytanie ARP typu broadcast: kto ma ten adres IP? Odpowiada urządzenie posiadające wskazany adres IPv4 i podaje swój MAC. Wynik trafia do tablicy ARP, żeby nie pytać za każdym razem od nowa. Z mojego doświadczenia to jedna z tych rzeczy, które niby są proste, ale świetnie tłumaczą, czemu ping czasem działa dziwnie po zmianie adresu IP albo po podmianie urządzenia. W praktyce ARP diagnozuje się poleceniami typu arp -a w Windows i Linux. Dobra praktyka to pamiętać, że ARP dotyczy IPv4 w sieci lokalnej; nie przechodzi normalnie przez routery i nie służy do DNS, NAT ani IPv6. W IPv6 podobną rolę pełni Neighbor Discovery Protocol, a nie klasyczny ARP.
W tym pytaniu łatwo pomylić kilka różnych mechanizmów sieciowych, bo wszystkie brzmią jak jakieś tłumaczenie jednego adresu na drugi. ARP nie ustala jednak adresu IPv6 na podstawie IPv4. To już zupełnie inny obszar, związany raczej z przejściem między wersjami protokołu IP, tunelowaniem, translacją albo konfiguracją dual stack. W IPv6 klasyczny ARP nie jest używany; jego zadania przejął mechanizm Neighbor Discovery Protocol, oparty o ICMPv6. To ważna różnica, bo w praktyce administrator inaczej diagnozuje problemy w sieci IPv4, a inaczej w IPv6. ARP nie służy też do ustalania adresu publicznego na podstawie prywatnego. Takie skojarzenie zwykle bierze się z NAT, czyli translacji adresów, wykonywanej najczęściej na routerze brzegowym. NAT zamienia adresy prywatne, np. 192.168.x.x, na publiczny adres używany w Internecie, ale to nie ma związku z wyszukiwaniem adresu MAC w lokalnym segmencie Ethernet. Podobnie nazwa domenowa na podstawie adresu IPv4 to nie jest zadanie ARP. Tu wchodzą w grę DNS i zapytania odwrotne, czyli rekordy PTR. Moim zdaniem najprostsza zasada do zapamiętania jest taka: jeśli komputer zna IPv4, ale musi wysłać ramkę w sieci lokalnej, potrzebuje MAC i wtedy używa ARP. Jeśli chodzi o nazwy, jest DNS. Jeśli chodzi o publiczny i prywatny adres, jest NAT. Jeśli chodzi o IPv6, myślimy o NDP, nie o ARP.