Opisaliśmy już schemat adresowania TCP/IP, w którym każdy komputer ma przypisany 32-bitowy adres jednoznacznie identyfikujący go w sieci.
Jak jednak wiemy, dwie maszyny mogą się komunikować tylko wtedy, kiedy znają nawzajem swoje adresy fizyczne. Zachodzi więc potrzeba opracowania oprogramowania, które “zasłoni” adresy fizyczne i umożliwi programom wysokiego poziomu pracę tylko z adresami IP. Docelowo jednak komunikacja jest prowadzona za pomocą sieci fizycznej i przy użyciu schematu adresów fizycznych, który zapewnia sprzęt. Nasuwa się pytanie jak dochodzi do przekształcenia adresu IP na adres fizyczny tak aby informacja mogła być poprawnie przesyłana?
Problem ten przedstawimy na przykładzie sieci Ethernet, w której mamy do czynienia z długim 48-bitowym adresem fizycznym przypisanym w trakcie procesu produkcyjnego do urządzeń sieciowych. W efekcie podczas wymiany karty sieciowej w komputerze, zmienia się adres fizyczny maszyny. Ponadto nie ma sposobu na zakodowanie 48-bitowego adresu ethernetowego w 32-bitowym adresie IP.
Przekształcenia adresu IP na adres fizyczny dokonuje protokół odwzorowania adresów ARP (ang. Address Resolution Protocol), który zapewnia dynamiczne odwzorowanie i nie wymaga przechowywania tablicy przekształcania adresowego. Wykorzystuje on możliwość rozgłaszania danych w sieci ethernet. W rozwiązaniu tym nowe maszyny mogą być łatwo dodawane, ponadto nie wymagane jest przechowywanie centralnej bazy danych.

Tak więc protokół ARP umożliwia komputerowi odnajdywanie fizycznego adresu maszyny docelowej z tej samej sieci fizycznej przy użyciu jedynie adresu IP.
Przedstawiony sposób odwzorowywania adresów ma jednak wady. Jest zbyt kosztowny aby go używać za każdym razem gdy jakaś maszyna chce przesłać pakiet do innej: przy rozgłaszaniu każda maszyna w sieci musi taki pakiet odebrać i przetworzyć.
W celu zredukowania kosztów komunikacji, komputery używające protokołu ARP przechowują w pamięci podręcznej ostatnio uzyskane powiązania adresu IP z adresem fizycznym, w związku z tym nie muszą ciągle korzystać z protokołu ARP. Gdy tylko komputer otrzymuje odpowiedź ARP, zapamiętuje adres IP jego nadawcy i odpowiadający mu adres sprzętowy, aby móc później go wykorzystać. Przy przesyłaniu pakietu komputer zawsze, zanim wyśle prośbę ARP, zagląda do pamięci podręcznej czy nie ma tam odpowiedniego dowiązania, jeżeli takie znajduje, to nie musi nic rozgłaszać w sieci.
Możliwe jest wiele udoskonaleń protokołu ARP. Jeśli komputer A wysyła prośbę o adres fizyczny komputera C może od razu dowiązać informację o swoim adresie fizycznym do wysyłanej prośby. Ponieważ prośba ta dociera do wszystkich komputerów w sieci (jest przecież rozgłaszana), mogą one automatycznie umieścić w swoich pamięciach podręcznych informację o adresie fizycznym komputera A.
Jeśli w komputerze zostanie zmieniony adres fizyczny (np. w wyniku zmiany karty sieciowej), to może on bez zapytania o jego adres fizyczny rozgłosić go do innych komputerów, tak aby wszystkie maszyny uaktualniły informacje o jego adresie fizycznym w swoich pamięciach podręcznych.
| Wprowadzenie | Sieć komputerowa | Protokoły | Model OSI (Open Systems Interconnection) | TCP/IP a model OSI | Adresowanie fizyczne | Adresy IP |
| Protokół Odwzorowania Adresów (ARP) | Protokół Odwrotnego Odwzorowania Adresów (RARP) | Internet Protocol (IP) | Kapsułkowanie | Fragmentacja |
| Koleje Życia Datagramu | ICMP | Określanie Ostatecznego Adresata | UDP | Multipleksowanie I Demultipleksowanie | Transmission Control Protocol (TCP) |
| Idea przesuwających się okien | Segment TCP | Porty i połączenia | Konfiguracja TCP/IP w systemie Unix | Przyszłość TCP/IP | Bibliografia |