Address Resolution Protocol

Protokół Rozwiązywania Adresów (ARP)

Address Resolution Protocol (ARP) to protokół sieciowy, który pozwala na mapowanie logicznych adresów z warstwy sieciowej (warstwa 3) na fizyczne adresy z warstwy łącza danych (warstwa 2). Jego zastosowanie nie ogranicza się jedynie do łączenia adresów IP z adresami MAC w sieciach Ethernet, ale również obejmuje pytania o adresy fizyczne w technologiach takich jak Token Ring czy FDDI. ARP został zdefiniowany w RFC 826 i jest uznawany za standard internetowy oznaczony jako STD 37.

Protokół ARP reguluje również działanie systemu operacyjnego, który zarządza tzw. tablicą ARP. Tablica ta zawiera pary: adres warstwy sieciowej oraz odpowiadający mu adres fizyczny. Dzięki temu zapytanie ARP nie jest wysyłane przy każdej próbie przesłania pakietu do hosta znajdującego się w tej samej sieci.

Chociaż protokół ARP jest przydatny, nie jest niezbędny do funkcjonowania sieci komputerowych, ponieważ można go zastąpić statycznymi wpisami w tablicy ARP, które na stałe przyporządkowują adresy warstwy sieciowej do adresów fizycznych.

Zasada działania

ARP działa w następujący sposób:

Aby ustalić adres fizyczny hosta docelowego, wysyłane jest żądanie ARP request do wszystkich hostów w tej samej sieci. Zapytanie to zawiera adres logiczny hosta, do którego kierowane jest zapytanie, oraz adres fizyczny hosta, który je wysyła.

Odpowiedź na zapytanie jest udzielana jedynie przez ten host, którego adres logiczny zgadza się z adresem logicznym zawartym w zapytaniu. Odpowiedź ta zawiera zarówno adres logiczny, jak i fizyczny hosta docelowego.

Otrzymany adres fizyczny jest zapisywany w tablicy ARP i powiązany z adresem logicznym hosta docelowego, co eliminuje potrzebę ponownego odkrywania adresu fizycznego, dopóki tablica nie zostanie wyczyszczona.

Po podłączeniu do sieci, host często rozsyła zapytanie ARP o swój własny adres. Ma to na celu dwie rzeczy: po pierwsze, ustalenie, czy w sieci istnieje inny system z takim samym adresem, a po drugie, umożliwienie wszystkim hostom w danej sieci zapisanie w pamięci podręcznej informacji o nowym hoście.

Format komunikatu ARP

  • Typ warstwy fizycznej (HTYPE) – określa typ protokołu warstwy fizycznej. Możliwe wartości tego pola znajdują się w tabeli po prawej stronie.
  • Typ protokołu wyższej warstwy (PTYPE) – dla protokołu IPv4 wynosi 0x0800. Akceptowalne wartości można znaleźć w tabeli EtherType.
  • Długość adresu sprzętowego (HLEN) – długość adresu sprzętowego (MAC) wyrażona w bajtach.
  • Długość protokołu wyższej warstwy (PLEN) – długość adresu protokołu, np. IP (4 bajty).
  • Operacja (OPER) – kod operacji ARP, w tym cztery kluczowe wartości:
  • Adres sprzętowy źródła (SHA) – adres sprzętowy (MAC) nadawcy.
  • Adres protokołu wyższej warstwy źródła (SPA) – adres protokołu wyższej warstwy nadawcy, np. adres IP.
  • Adres sprzętowy przeznaczenia (THA) – adres sprzętowy (MAC) odbiorcy.
  • Adres protokołu wyższej warstwy przeznaczenia (TPA) – adres protokołu wyższej warstwy odbiorcy, np. adres IP.

Zobacz też

Przypisy

Linki zewnętrzne

D.D. Plummer D.D., Ethernet Address Resolution Protocol: Or Converting Network Protocol Addresses to 48-bit Ethernet Address for Transmission on Ethernet Hardware, STD 37, RFC 826, IETF, listopad 1982, DOI: 10.17487/RFC0826, ISSN 2070-1721, OCLC 943595667 (ang.).