Protokół (ARP) ( Address Resolution Protocol ) ( Protokól rozpoznawania adresów ) to protokół komunikacyjny używany do wykrywania adresu warstwy łącza, takiego jak adres MAC, powiązanego z danym adresem warstwy internetowej, zazwyczaj adresem IPv4
. To mapowanie jest kluczową funkcją w zestawie protokołów internetowych.
ARP działa w następujący sposób:
1 Gdy host chce komunikować się z innym hostem w tej samej sieci, musi znać jego adres MAC.
2 Host wysyła ARP request ( pakiet zapytania), który jest pakietem rozgłoszeniowym, do wszystkich hostów w sieci. Pakiet zawiera adresy MAC i IP nadawcy oraz adres IP celu.
3 Host posiadający pasujący adres IP odpowiada ARP reply pakietem zawierającym jego adres MAC.
4 Nadawca odbiera odpowiedź ARP i aktualizuje swoją pamięć podręczną ARP, czyli tabelę przechowującą mapowania adresów IP i MAC.
5 Nadawca może teraz używać adresu MAC do wysyłania pakietów danych do celu.
Komunikaty ARP są bezpośrednio kapsułkowane przez protokół warstwy łącza, taki jak Ethernet, i nie są kierowane przez węzły sieci. Rozmiar i format komunikatów ARP zależy od używanych technologii warstwy łącza danych i sieci. Na przykład w sieci IPv4 działającej w sieci Ethernet wiadomość ARP zawiera 48-bitowe pola dla nadawcy i docelowego adresu sprzętowego oraz 32-bitowe pola dla nadawcy i docelowego adresu protokołu
Istnieją różne odmiany protokołu ARP przeznaczone do różnych celów, na przykład:
* Reverse ARP (RARP): Protokół umożliwiający urządzeniu uzyskanie adresu IP z adresu MAC
* Proxy ARP: technika umożliwiająca urządzeniu odpowiadanie na żądania ARP w imieniu innego urządzenia, które nie znajduje się w tym samym segmencie sieci
* Inverse ARP( Odwrotny ARP ): Protokół umożliwiający urządzeniu odkrycie swojego adresu IP na podstawie adresu MAC w połączeniu punkt-punkt
Oto przykład działania protokołu ARP w sieci IPv4 działającej w sieci Ethernet
* Załóżmy, że urządzenie A z adresem IP 192.168.1.1 i adresem MAC AA:AA:AA:AA:AA:AA chce wysłać dane do urządzenia B z adresem IP 192.168.1.2 i adresem MAC BB:BB:BB:BB:BB:BB .
* Urządzenie A sprawdza swoją pamięć podręczną ARP, aby sprawdzić, czy ma adres MAC urządzenia B. Jeśli nie, wysyła komunikat ARP request do wszystkich urządzeń w sieci z następującymi polami: Adres sprzętowy nadawcy: AA:AA:AA: AA:AA:AA Adres protokołu nadawcy: 192.168.1.1 Docelowy adres sprzętowy: 00:00:00:00:00:00 (nieznany) Docelowy adres protokołu: 192.168.1.2 Kod operacji: 1 (żądanie)
* Urządzenie B odbiera komunikat żądania ARP request i rozpoznaje swój własny adres IP w polu adresu protokołu docelowego. Odpowiada komunikatem odpowiedzi ARP reply do urządzenia A, zawierającym następujące pola: Adres sprzętowy nadawcy: BB:BB:BB:BB:BB:BB Adres protokołu nadawcy: 192.168.1.2 Docelowy adres sprzętowy: AA:AA:AA:AA: AA:AA Adres protokołu docelowego: 192.168.1.1 Kod operacji: 2 (odpowiedź)
* Urządzenie A odbiera komunikat odpowiedzi ARP reply i aktualizuje swoją pamięć podręczną ARP mapowaniem 192.168.1.2 i BB:BB:BB:BB:BB:BB. Następnie wykorzystuje adres MAC urządzenia B do wysyłania do niego danych.
. To mapowanie jest kluczową funkcją w zestawie protokołów internetowych.
ARP działa w następujący sposób:
1 Gdy host chce komunikować się z innym hostem w tej samej sieci, musi znać jego adres MAC.
2 Host wysyła ARP request ( pakiet zapytania), który jest pakietem rozgłoszeniowym, do wszystkich hostów w sieci. Pakiet zawiera adresy MAC i IP nadawcy oraz adres IP celu.
3 Host posiadający pasujący adres IP odpowiada ARP reply pakietem zawierającym jego adres MAC.
4 Nadawca odbiera odpowiedź ARP i aktualizuje swoją pamięć podręczną ARP, czyli tabelę przechowującą mapowania adresów IP i MAC.
5 Nadawca może teraz używać adresu MAC do wysyłania pakietów danych do celu.
Komunikaty ARP są bezpośrednio kapsułkowane przez protokół warstwy łącza, taki jak Ethernet, i nie są kierowane przez węzły sieci. Rozmiar i format komunikatów ARP zależy od używanych technologii warstwy łącza danych i sieci. Na przykład w sieci IPv4 działającej w sieci Ethernet wiadomość ARP zawiera 48-bitowe pola dla nadawcy i docelowego adresu sprzętowego oraz 32-bitowe pola dla nadawcy i docelowego adresu protokołu
Istnieją różne odmiany protokołu ARP przeznaczone do różnych celów, na przykład:
* Reverse ARP (RARP): Protokół umożliwiający urządzeniu uzyskanie adresu IP z adresu MAC
* Proxy ARP: technika umożliwiająca urządzeniu odpowiadanie na żądania ARP w imieniu innego urządzenia, które nie znajduje się w tym samym segmencie sieci
* Inverse ARP( Odwrotny ARP ): Protokół umożliwiający urządzeniu odkrycie swojego adresu IP na podstawie adresu MAC w połączeniu punkt-punkt
Oto przykład działania protokołu ARP w sieci IPv4 działającej w sieci Ethernet
* Załóżmy, że urządzenie A z adresem IP 192.168.1.1 i adresem MAC AA:AA:AA:AA:AA:AA chce wysłać dane do urządzenia B z adresem IP 192.168.1.2 i adresem MAC BB:BB:BB:BB:BB:BB .
* Urządzenie A sprawdza swoją pamięć podręczną ARP, aby sprawdzić, czy ma adres MAC urządzenia B. Jeśli nie, wysyła komunikat ARP request do wszystkich urządzeń w sieci z następującymi polami: Adres sprzętowy nadawcy: AA:AA:AA: AA:AA:AA Adres protokołu nadawcy: 192.168.1.1 Docelowy adres sprzętowy: 00:00:00:00:00:00 (nieznany) Docelowy adres protokołu: 192.168.1.2 Kod operacji: 1 (żądanie)
* Urządzenie B odbiera komunikat żądania ARP request i rozpoznaje swój własny adres IP w polu adresu protokołu docelowego. Odpowiada komunikatem odpowiedzi ARP reply do urządzenia A, zawierającym następujące pola: Adres sprzętowy nadawcy: BB:BB:BB:BB:BB:BB Adres protokołu nadawcy: 192.168.1.2 Docelowy adres sprzętowy: AA:AA:AA:AA: AA:AA Adres protokołu docelowego: 192.168.1.1 Kod operacji: 2 (odpowiedź)
* Urządzenie A odbiera komunikat odpowiedzi ARP reply i aktualizuje swoją pamięć podręczną ARP mapowaniem 192.168.1.2 i BB:BB:BB:BB:BB:BB. Następnie wykorzystuje adres MAC urządzenia B do wysyłania do niego danych.