Komputer A, który musi przesłać dane do komputera B w tej samej sieci lokalnej, ustala adres MAC komputera B za pomocą protokołu
A. DHCP
B. DNS
C. ARP
D. ICMP
ARP, czyli Address Resolution Protocol, jest dokładnie tym mechanizmem, którego komputer używa w sieci lokalnej, gdy zna adres IP hosta docelowego, ale musi jeszcze ustalić jego adres MAC. W praktyce wygląda to tak: komputer A chce wysłać ramkę Ethernet do komputera B w tej samej podsieci, więc wysyła zapytanie rozgłoszeniowe ARP typu: kto ma ten adres IP? Komputer B odpowiada swoim adresem MAC, a komputer A zapisuje tę informację w pamięci podręcznej ARP. Dzięki temu kolejne pakiety mogą być już opakowane w ramki Ethernet z właściwym adresem docelowym warstwy drugiej. To bardzo podstawowa, ale mega ważna rzecz w IPv4. Moim zdaniem warto to dobrze zapamiętać: IP służy do logicznej identyfikacji hosta, a MAC do faktycznego dostarczenia ramki w sieci lokalnej. ARP opisano historycznie w RFC 826 i nadal jest standardowym elementem działania sieci Ethernet z IPv4. W diagnostyce można podejrzeć tablicę ARP poleceniami typu arp -a albo ip neigh, co często pomaga przy konfliktach adresów IP, problemach z bramą domyślną czy dziwnymi przerwami w komunikacji.
W tym pytaniu łatwo pomylić kilka protokołów, bo wszystkie są związane z działaniem sieci, ale każdy pracuje w innym celu. DNS nie służy do znajdowania adresów MAC. Jego zadaniem jest tłumaczenie nazw domenowych, na przykład serwer.local albo www.example.com, na adresy IP. DNS działa wyżej w stosie sieciowym i pomaga człowiekowi używać nazw zamiast zapamiętywać liczby, ale nie rozwiązuje problemu dostarczenia ramki Ethernet do konkretnej karty sieciowej w tej samej sieci LAN. DHCP też nie pasuje, chociaż ma związek z adresacją. Ten protokół przydziela hostom parametry konfiguracyjne, takie jak adres IP, maska podsieci, brama domyślna i serwery DNS. Może więc sprawić, że komputer w ogóle dostanie poprawną konfigurację sieciową, ale nie odpowiada na pytanie, jaki adres MAC ma wskazany komputer B. ICMP bywa kojarzony z poleceniem ping, więc częsty błąd polega na uznaniu, że skoro ping sprawdza łączność, to pewnie ustala też adres fizyczny. Tak nie jest. ICMP służy głównie do komunikatów kontrolnych i diagnostycznych w IP, na przykład echo request, echo reply czy destination unreachable. Co ciekawe, zanim ping w sieci lokalnej w ogóle wyśle pakiet ICMP do hosta, system często musi najpierw użyć ARP, żeby poznać adres MAC odbiorcy. Z mojego doświadczenia właśnie to rozróżnienie warstw jest kluczowe: DNS daje nazwę na IP, DHCP daje konfigurację, ICMP pomaga testować i zgłaszać problemy, a ARP łączy adres IP z adresem MAC w obrębie lokalnej sieci IPv4.