Address Resolution Protocol

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

edytuj

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

  1. W celu ustalenia adresu fizycznego hosta docelowego wysyłane jest żądanie ARP request 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.
  2. 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.
  3. 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

edytuj
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ż

edytuj

Przypisy

edytuj
  1. „Tanenbaum A. S”: Sieci komputerowe.

Linki zewnętrzne

edytuj