Cisco CyberOps Associate - ARP
- Adres fizyczny (adres MAC) – Służy do komunikacji między kartami sieciowymi Ethernet w tej samej sieci.
- Adres logiczny (adres IP) – Służy do przesyłania pakietu od źródła do docelowego urządzenia. Adresy IP służą do identyfikacji źródła i docelowego urządzenia. Adres IP docelowego urządzenia może znajdować się w tej samej sieci IP co źródło lub w oddzielnej sieci.
Większość aplikacji korzysta z systemu DNS (Domain Name System), aby przypisać adres IP na podstawie nazwy domeny, np. www.cisco.com. DNS jest omawiany w późniejszym module.
Adresy MAC Ethernet mają inne zastosowanie. Służą do dostarczania ramki warstwy 2 z pakietem IP z jednej karty sieciowej do drugiej w tej samej sieci. Jeśli adres IP docelowego urządzenia znajduje się w tej samej sieci, adres MAC docelowego urządzenia będzie taki sam jak adres MAC docelowego urządzenia.
Poniższy rysunek przedstawia adresy MAC Ethernet i adres IP dla komputera PC-A wysyłającego pakiet IP do serwera plików w tej samej sieci.
Warstwa 2 ramki Ethernet zawiera:
- Adres MAC docelowego urządzenia – Jest to adres MAC karty sieciowej serwera plików.
- Adres MAC źródła – Jest to adres MAC karty sieciowej komputera PC-A.
Pakiet IP warstwy 3 zawiera:
- Adres IP źródła – Jest to adres IP oryginalnego źródła, czyli komputera PC-A.
- Adres IP docelowego urządzenia – Jest to adres IP docelowego urządzenia, czyli serwera plików.
Na rysunku przedstawiono adresy MAC Ethernet i adresy IPv4 dla komputera PC-A. Komputer ten wysyła pakiet IP do serwera plików w oddzielnej sieci. Routery analizują adres IPv4 docelowego urządzenia, aby określić najlepszą ścieżkę przekazywania pakietu IPv4. Jest to podobne do sposobu, w jaki poczta przekazuje listy na podstawie adresu odbiorcy.
Gdy router otrzymuje ramkę Ethernet, dekapsuluje informacje warstwy 2. Na podstawie adresu IP docelowego określa urządzenie następnego skoku, a następnie umieszcza pakiet IP w nowej ramce warstwy 2 dla interfejsu wychodzącego. Wzdłuż każdego odcinka ścieżki pakiet IP jest umieszczany w ramce specyficznej dla technologii łącza danych związanego z danym odcinkiem, np. Ethernet. Jeśli urządzenie następnego skoku jest docelowym urządzeniem, adres MAC docelowego urządzenia będzie taki sam jak adres MAC karty sieciowej tego urządzenia.
Adresy IPv4 pakietów IPv4 w przepływie danych są powiązane z adresami MAC na każdym odcinku ścieżki do celu. Proces ten nazywa się protokołem ARP (Address Resolution Protocol).
3. Jeśli sieć korzysta z protokołu komunikacyjnego IPv4, protokół rozpoznawania adresów (Address Resolution Protocol, ARP) jest używany do mapowania adresów IPv4 na adresy MAC. Ten temat wyjaśnia, jak działa ARP.Każde urządzenie IP w sieci Ethernet ma unikalny adres MAC Ethernet. Gdy urządzenie wysyła ramkę warstwy 2 Ethernetu, zawiera dwa adresy:
- Adres MAC docelowego urządzenia – Jest to adres MAC urządzenia docelowego w tym samym segmencie sieci lokalnej. Jeśli host docelowy znajduje się w innej sieci, adres docelowy w ramce będzie adresem domyślnej bramy (czyli routera).
- Adres MAC źródła – Jest to adres MAC karty sieciowej źródłowego hosta.
Problem przy wysyłaniu ramki do innego hosta w tym samym segmencie sieci IPv4:
Aby wysłać pakiet do innego hosta w tej samej lokalnej sieci IPv4, host musi znać adres IPv4 i adres MAC urządzenia docelowego. Adresy IPv4 urządzeń docelowych są albo znane, albo rozpoznawane na podstawie nazwy urządzenia. Jednak adresy MAC muszą być odkrywane.
Urządzenie używa protokołu ARP (Address Resolution Protocol), aby określić adres MAC urządzenia lokalnego, gdy zna jego adres IPv4.
ARP pełni dwie podstawowe funkcje:
- Rozpoznawanie adresów IPv4 na adresy MAC.
- Utrzymywanie tabeli przyporządkowań adresów IPv4 do adresów MAC.
- Jeśli adres IPv4 docelowego pakietu znajduje się w tej samej sieci co adres IPv4 źródła, urządzenie przeszukuje tabelę ARP w poszukiwaniu adresu IPv4 docelowego.
- Jeśli adres IPv4 docelowego pakietu znajduje się w innej sieci niż adres IPv4 źródła, urządzenie przeszukuje tabelę ARP w poszukiwaniu adresu IPv4 domyślnej bramy.
5. Żądanie ARP jest wysyłane, gdy urządzenie musi określić adres MAC skojarzony z adresem IPv4 i nie ma wpisu dla tego adresu IPv4 w swojej tablicy ARP.
Komunikaty ARP są bezpośrednio enkapsulowane w ramce Ethernetowej. Nie ma nagłówka IPv4. Żądanie ARP jest enkapsulowane w ramce Ethernetowej z następującymi informacjami nagłówka:
- Adres MAC docelowy – Jest to adres rozgłoszeniowy FF-FF-FF-FF-FF-FF, wymagający, aby wszystkie karty sieciowe Ethernet w sieci lokalnej akceptowały i przetwarzały żądanie ARP.
- Adres MAC źródłowy – To adres MAC nadawcy żądania ARP.
- Typ – Komunikaty ARP mają pole typu o wartości 0x806. Informuje to kartę sieciową odbierającą, że część danych ramki musi zostać przekazana do procesu ARP. Ponieważ żądania ARP są rozgłoszeniowe, są przesyłane na wszystkie porty przez przełącznik, z wyjątkiem portu odbierającego. Wszystkie karty sieciowe Ethernet w sieci lokalnej przetwarzają rozgłoszenia i muszą dostarczyć żądanie ARP do swojego systemu operacyjnego w celu przetworzenia. Każde urządzenie musi przetworzyć żądanie ARP, aby sprawdzić, czy docelowy adres IPv4 odpowiada jego własnemu. Router nie przekazuje rozgłoszeń na inne interfejsy.
Tylko jedno urządzenie w sieci lokalnej będzie miało adres IPv4 odpowiadający docelowemu adresowi IPv4 w żądaniu ARP. Wszystkie inne urządzenia nie odpowiedzą.
6. Tylko urządzenie z adresem IPv4 docelowym skojarzonym z żądaniem ARP odpowie za pomocą odpowiedzi ARP. Odpowiedź ARP jest enkapsulowana w ramce Ethernetowej z następującymi informacjami nagłówka:
- Adres MAC docelowy – Jest to adres MAC nadawcy żądania ARP.
- Adres MAC źródłowy – To adres MAC nadawcy odpowiedzi ARP.
- Typ – Komunikaty ARP mają pole typu o wartości 0x806. Informuje to kartę sieciową odbierającą, że część danych ramki musi zostać przekazana do procesu ARP. Tylko urządzenie, które pierwotnie wysłało żądanie ARP, otrzyma jednoadresową odpowiedź ARP. Po otrzymaniu odpowiedzi ARP urządzenie doda adres IPv4 i odpowiadający mu adres MAC do swojej tablicy ARP. Pakiety kierowane pod ten adres IPv4 mogą teraz być enkapsulowane w ramkach przy użyciu odpowiadającego mu adresu MAC.
Jeśli żadne urządzenie nie odpowie na żądanie ARP, pakiet zostanie odrzucony, ponieważ nie można utworzyć ramki.
Wpisy w tabeli ARP mają znaczniki czasowe. Jeśli urządzenie nie otrzyma ramki od określonego urządzenia przed upływem znacznika czasowego, wpis dla tego urządzenia zostanie usunięty z tabeli ARP.
Dodatkowo, można wprowadzać statyczne wpisy mapy w tabeli ARP, ale jest to rzadko stosowane. Statyczne wpisy w tabeli ARP nie wygasają z upływem czasu i muszą być usuwane ręcznie.
Protokół IPv6 używa podobnego procesu do ARP dla IPv4, znanego jako ICMPv6 Neighbor Discovery (ND). IPv6 wykorzystuje komunikaty żądania sąsiada i ogłoszenia sąsiada, podobnie jak żądania ARP i odpowiedzi ARP w IPv4.
7. Kiedy adres IPv4 docelowy nie znajduje się w tej samej sieci co adres IPv4 źródła, urządzenie źródłowe musi przesłać ramkę do swojej bramy domyślnej. Jest to interfejs lokalnego routera. Gdy źródłowe urządzenie posiada pakiet z adresem IPv4 w innej sieci, enkapsuluje ten pakiet w ramkę, używając adresu MAC routera jako adresu docelowego.
Adres IPv4 bramy domyślnej jest przechowywany w konfiguracji IPv4 hostów. Gdy host tworzy pakiet dla określonego celu, porównuje adres IPv4 docelowy z własnym adresem IPv4, aby określić, czy oba adresy IPv4 znajdują się w tej samej warstwie 3 sieci. Jeśli host docelowy nie jest w tej samej sieci, źródło sprawdza swoją tablicę ARP w poszukiwaniu wpisu z adresem IPv4 bramy domyślnej. Jeśli nie ma takiego wpisu, używa procesu ARP, aby określić adres MAC bramy domyślnej.
Dla każdego urządzenia istnieje timer pamięci podręcznej ARP, który usuwa wpisy ARP, które nie były używane przez określony czas. Czas ten różni się w zależności od systemu operacyjnego urządzenia. Na przykład nowsze systemy Windows przechowują wpisy w tabeli ARP przez okres od 15 do 45 sekund. Można również używać poleceń do ręcznego usuwania niektórych lub wszystkich wpisów w tabeli ARP. Po usunięciu wpisu proces wysyłania żądania ARP i odbierania odpowiedzi ARP musi się ponownie wykonać, aby wpis pojawił się w tabeli ARP.
Na routerze Cisco polecenie show ip arp
jest używane do wyświetlania tabeli ARP. Na komputerze z systemem Windows 10 polecenie arp –a
jest używane do wyświetlania tabeli ARP.
8. Jako ramka rozgłoszeniowa, żądanie ARP jest odbierane i przetwarzane przez każde urządzenie w sieci lokalnej. W typowej sieci firmowej takie rozgłoszenia prawdopodobnie miałyby minimalny wpływ na wydajność sieci. Jednak jeśli duża liczba urządzeń zostanie włączona i wszystkie zaczną korzystać z usług sieciowych jednocześnie, może to prowadzić do pewnego obniżenia wydajności na krótki okres czasu, jak pokazano na rysunku. Po wysłaniu początkowych rozgłoszeń ARP i poznaniu niezbędnych adresów MAC, wpływ na sieć zostanie zminimalizowany.
W niektórych przypadkach użycie ARP może prowadzić do potencjalnego ryzyka bezpieczeństwa. Aktor zagrożenia może użyć podszywania ARP (ARP spoofing), aby przeprowadzić atak zatrucia ARP. Jest to technika używana przez aktora zagrożenia, który odpowiada na żądanie ARP dla adresu IPv4 należącego do innego urządzenia, takiego jak brama domyślna, jak pokazano na rysunku. Aktor zagrożenia wysyła odpowiedź ARP z własnym adresem MAC. Odbiorca odpowiedzi ARP doda błędny adres MAC do swojej tablicy ARP i przesyła te pakiety do aktora zagrożenia. W przełącznikach na poziomie przedsiębiorstwa stosowane są techniki łagodzenia znane jako dynamiczna inspekcja ARP (DAI).