Odwzorowanie adresów IPv4 na adresy MAC

W celu umieszczenia ramki w medium LAN koniecznym jest poznanie docelowego adresu MAC. Gdy pakiet jest wysyłany do warstwy łącza danych, aby następnie został opakowany w ramkę, węzeł odwołuje się do tablicy w jego pamięci w celu znalezienia adresu warstwy łącza danych, który jest związany z docelowym adresem IPv4. Tablica ta nazywana jest tablicą ARP albo pamięcią podręczną ARP (ang. ARP cache). Tablica ARP przechowywana jest w pamięci RAM urządzenia.

Każdy wpis lub wiersz w tablicy ARP wiąże adres IP z adresem MAC. Relację pomiędzy tymi dwoma wartościami nazywamy odwzorowaniem, co oznacza, że po zlokalizowaniu w tej tablicy adresu IP można odczytać odpowiadający mu adres MAC. Tablica ARP przechowuje tymczasowo (buforuje) mapowania dla urządzeń w lokalnej sieci LAN.

W celu rozpoczęcia procesu transmitujący węzeł próbuje zlokalizować w tablicy ARP adres MAC odwzorowany na docelowy adres IPv4. Jeżeli takie odwzorowanie jest znalezione w tablicy, to urządzenie wykorzystuje adres MAC jako adres docelowy w ramce, która opakowuje pakiet IPv4. Ramka jest następnie kodowana i umieszczana w medium sieciowym.

Utrzymywanie tablicy ARP

Tablica ARP jest utrzymywana dynamicznie. Są dwa sposoby, za pomocą których urządzenia mogą gromadzić adresy MAC. Jeden sposób to monitorowanie ruchu, który występuje w lokalnym segmencie sieci. Po odebraniu przez węzeł ramki z medium, może on zapisać źródłowy adres IP i MAC jako odwzorowanie w swojej tablicy ARP. Podczas transmisji ramek w sieci, urządzenie wypełnia tablicę ARP odczytywanymi parami adresów.

Innym sposobem aby urządzenie mogło uzyskać parę adresową jest wysyłanie żądania ARP, jak pokazano na rysunku. Żądanie ARP jest transmisją rozgłoszeniową warstwy 2 do wszystkich urządzeń w sieci LAN. Żądanie ARP zawiera adres IP hosta docelowego i rozgłoszeniowy MAC adres czyli FFFF.FFFF.FFFF. Ponieważ jest to transmisja rozgłoszeniowa, wszystkie węzły w sieci LAN otrzymają ją i obejrzą treść. Odpowie tylko węzeł z adresem IP, który jest zgodny z adresem IP w żądaniu ARP. Odpowiedź będzie ramką typu unicast, która zawiera adres MAC odpowiadający adresowi IP w żądaniu. Ta odpowiedź jest następnie używana do zrobienia nowego wpisu w tablicy ARP węzła wysyłającego.

Wpisy w tablicy ARP są opatrzone znacznikiem czasu w taki sam sposób jak wpisy w tablicy MAC w przełączniku. Jeżeli urządzenie nie odbierze ramki z danego urządzenia przed tym jak znacznik czasu straci ważność, to taki zapis jest usuwany z tablicy ARP.

Dodatkowo do tablicy ARP można wprowadzać statyczne odwzorowania adresów, ale jest to rzadki przypadek. Statyczne wpisy do tablicy ARP nie tracą ważności z upływem czasu i muszą być usuwanie ręcznie.