Address Resolution Protocol (ARP) – protokół sieciowy umożliwiający mapowanie logicznych adresów warstwy sieciowej (warstwa 3) na fizyczne adresy warstwy łącza danych (2). Protokół ten nie ogranicza się tylko do kojarzenia adresów IP z adresami MAC stosowanymi w sieciach Ethernet, lecz jest także wykorzystywany do odpytywania o adresy fizyczne stosowane w technologiach Token ring czy FDDI. Zdefiniowany jest w RFC 826 i jest określany jako standard internetowy STD 37.

Protokół ARP opisuje także zachowanie systemu operacyjnego, który zarządza tzw. tablicą ARP. Znajdują się w niej pary: adres warstwy sieciowej i przypisany do niego adres fizyczny. Zapobiega to wysyłaniu zapytania ARP przy próbie wysłania każdego pakietu do hosta znajdującego się w tej samej sieci.

Protokół ARP nie jest niezbędny do działania sieci komputerowych, może zostać zastąpiony przez statyczne wpisy w tablicy ARP, przyporządkowujące adresom warstwy sieciowej adresy fizyczne na stałe.

Zasada działania ARP działa w następujący sposób: W celu ustalenia adresu fizycznego hosta docelowego wysyłane jest żądanie do wszystkich hostów znajdujących się w tej samej sieci. Zapytanie zawiera adres logiczny hosta docelowego oraz adres fizyczny hosta wysyłającego zapytanie. Na zapytanie odpowiada tylko ten host, którego adres logiczny jest identyczny z adresem logicznym umieszczonym w zapytaniu. Odpowiedź zawiera adres logiczny i fizyczny hosta docelowego. Odebrany adres fizyczny zapisywany jest w tablicy ARP i parowany z adresem logicznym hosta docelowego, dzięki czemu nie będzie wymagane ponowne odkrywanie adresu fizycznego do momentu wyczyszczenia tablicy.

Często po podłączeniu do sieci host rozsyła zapytanie ARP o własny adres. Ma to na celu dwie rzeczy, po pierwsze: ustalenie, czy w sieci jest już podpięty system dysponujący identycznym adresem. Po drugie: każdy host obecny w danej sieci może zapisać w pamięci podręcznej dane o nowym hoście przyłączonym do sieci.

Format komunikatu ARP EtherType + Bity 0 – 7 8 – 15 16 – 31 0 Typ warstwy fizycznej (HTYPE) Typ protokołu wyższej warstwy (PTYPE) 32 Długość adresu sprzętowego (HLEN) Długość protokołu wyższej warstwy (PLEN) Operacja (OPER) 64 Adres sprzętowy źródła (SHA) ? Adres protokołu wyższej warstwy źródła (SPA) ? Adres sprzętowy przeznaczenia (THA) ? Adres protokołu wyższej warstwy przeznaczenia (TPA)

Typ warstwy fizycznej (HTYPE) – typ protokołu warstwy fizycznej. Możliwe wartości dla pola HTYPE w tabeli po prawej stronie. Wartość HTYPE Typ 1 Ethernet 6 IEEE 802.3 15 Frame Relay 16 ATM 17 HDLC 18 Fibre Channel 19 ATM 20 Serial Line 30 ATM 31 IPsec

Typ protokołu wyższej warstwy (PTYPE) – dla protokołu IPv4 jest to 0x0800. Dopuszczalne wartości są zawarte w tabeli EtherType.

Długość adresu sprzętowego (HLEN) – długość adresu sprzętowego (MAC) podana w bajtach. Długość protokołu wyższej warstwy (PLEN) – długość adresu protokołu, np. IP (4 bajty). Operacja (OPER) – kod operacji ARP. Poniżej cztery najważniejsze wartości:

Wartość OPER Opis RFC 1 Zapytanie 826 2 Odpowiedź 826, 1868 3 Zapytanie odwrotne 903 4 Odpowiedź odwrotna 903

Adres sprzętowy źródła (SHA) – sprzętowy adres (MAC) nadawcy Adres protokołu wyższej warstwy źródła (SPA) – adres protokołu warstwy wyższej nadawcy, np. adres IP Adres sprzętowy przeznaczenia (THA) – sprzętowy adres (MAC) odbiorcy Adres protokołu wyższej warstwy przeznaczenia (TPA) – adres protokołu warstwy wyższej odbiorcy, np. adres IP

Zobacz też ARP spoofing Reverse Address Resolution Protocol (RARP) Bootstrap Protocol (BOOTP) Dynamic Host Configuration Protocol (DHCP) ettercap

Przypisy

Linki zewnętrzne

Kategoria:Protokoły warstwy dostępu do sieci