Czytałem o różnicach między adresami MAC i IP i dlaczego potrzebujemy obu z nich.
Podsumowując, adresy MAC są fizycznymi, niezmiennymi, niepowtarzalnymi identyfikatorami dla każdego urządzenia, podczas gdy adresy IP są przypisywane, zmienne i wirtualne. Analogicznie, adresy MAC są jak ludzie o stałych nazwach, a adresy IP są tam, gdzie obecnie mieszkają.
W prawdziwym świecie łączymy adresy i nazwiska za pomocą książki telefonicznej. Jaki mechanizm łączy adresy IP z adresami MAC i gdzie znajduje się ten mechanizm w sieci?
Odpowiedzi:
Mechanizm nosi nazwę Address Resolution Protocol (ARP) . Każdy ARP urządzenia Ethernet IPv4 do rozwiązywania adresów MAC Ethernet dla docelowych adresów IP. Odwzorowania adresów IP na mac są przechowywane w tabeli ARP każdego urządzenia (książka telefoniczna w Twojej analogii).
Aby uprościć: W większości przypadków, aby rozwiązać adres MAC powiązany z adresem IP, wysyłasz pakiet emisji ARP (do wszystkich urządzeń w sieci), pytając, kto ma ten adres IP. Urządzenie z tym adresem IP odpowiada na ARP (z jego adresem MAC).
źródło
Ponieważ pytanie było oznaczone IPv6, odpowiem na to, ponieważ IPv6 różni się bardzo od IPv4.
Na początek nie ma czegoś takiego jak ARPv6. Mapowanie między adresami warstwy 2 a adresami IPv6 jest wykonywane przez protokół Neighbor Discovery Protocol (NDP), który jest przesyłany przez ICMPv6. Dlatego nie wolno ignorować ICMPv6 i filtrować go, podobnie jak w przypadku starszych adresów IP. NDP udostępnia dwa typy wiadomości, które są tutaj interesujące: Pozyskiwanie sąsiadów i Reklama sąsiadów. Węzeł, który chce nauczyć się adresu warstwy łącza dla określonego adresu IP, wysyła żądanie sąsiada na odpowiedni adres multiemisji łącza lokalnego - nie ma już emisji dla IPv6.
Na przykład, jeśli dany adres to
2001:db8::0011:2233:4455:6677
, to odpowiedni adres multiemisji dla węzła zamówionego toff02::1:ff55:6677
odpowiedni adres multiemisji Ethernet33:33:ff:55:66:77
. Wszystkie węzły z adresem kończącym się*55:6677
należą do tej grupy multiemisji i nasłuchują - najprawdopodobniej jest to tylko sam system docelowy. Pozyskiwanie sąsiadów zawiera także adresy IPv6 emisji pojedynczej i adres MAC systemu rejestrującego.Po otrzymaniu węzeł docelowy odpowiada za pomocą swojej reklamy sąsiedzkiej, która jest wysyłana na adres emisji pojedynczej (warstwa łącza i IPv6) węzła odbiorczego. W ten sposób węzeł rejestrujący uczy się adresu MAC węzła docelowego.
I tak, fałszowanie NDP działa podobnie jak spoofowanie ARP. I nie, IPsec nie jest odpowiedzią.
źródło
Najlepsza odpowiedź jest dobra. Jeśli to pomoże, oto opis w kategoriach analogii do książki telefonicznej. Prawdziwe warunki pracy w sieci w nawiasach.
W oparciu o ich nazwę (adres IP) wiesz, że mieszkają w Twojej okolicy (domena rozgłoszeniowa). Najpierw zajrzyj do książki telefonicznej (pamięć podręczna ARP), aby sprawdzić, czy znasz już ich adres (adres MAC). Jeśli nie ma ich w książce telefonicznej, wychodzisz na zewnątrz i krzyczysz (transmitujesz): „Gdzie mieszka Steve?” wystarczająco głośny, aby wszyscy mogli go usłyszeć (żądanie ARP). Zakładając, że Steve faktycznie tam mieszka i nie śpi, odpowiada - tylko tobie, nie krzycząc - „Oto mój adres” (odpowiedź ARP). Zapisujesz to w książce telefonicznej do wykorzystania w przyszłości (buforowanie ARP).
źródło
Adresy MAC można zmienić. W systemie Linux użyj ip lub ifconfig dla większości systemów Windows, sprawdź ustawienia sterownika interfejsu sieciowego.
Niczego nie konwertujesz. Adresy MAC znajdują się w warstwie 2, a IP w warstwie 3 modelu OSI. W przypadku IPv4 ARP służy do ustalenia, który adres MAC (Layer-2) należy do określonego adresu IP (Layer-3). W przypadku IPv6 stosuje się ICMPv6 (Neighbor Discovery).
źródło
Address Resolution Protocol (ARP)
Adres IP ---> ARP ---> Adres MAC
Adres MAC ---> RARP ---> Adres IP
Adres IP = adres logiczny [32 bity]
Adres MAC = adres fizyczny [48 bitów]
Warstwa sieci (IP) ----> ARP ---> Warstwa łącza danych (MAC)
Adres IP jest potrzebny w warstwie sieciowej do identyfikacji hosta źródłowego / docelowego.
Adres MAC jest potrzebny w warstwie łącza danych do identyfikacji hosta źródłowego / docelowego.
źródło
Stos sieci najpierw sprawdza docelowy adres IP w swojej tabeli routingu, na podstawie której określa dwie rzeczy.
Zauważ, że adres IP następnego przeskoku jest koncepcją czysto lokalną, nigdy nie staje się częścią pakietu wysyłanego przewodowo.
Jeśli pakiet ma zostać wysłany na wielopunktowej warstwie łącza (np. Ethernet itp.), System operacyjny następnie wyszukuje następny przeskok w swojej tabeli arp (ipv4) lub sąsiada (ipv6). Jeśli znajdzie tam nieświeży wpis, to ma adres MAC, którego potrzebuje i może wysłać pakiet.
Jeśli nie ma użytecznego wpisu, wstrzymuje pakiety przeznaczone do następnego przeskoku i wysyła żądanie znalezienia adresu MAC. Mechanizmy tutaj różnią się nieco między wersjami v4 i v6.
W v4 wysyłane są żądania arp. Zwykle jest to transmitowane, ale w niektórych przypadkach, jeśli host ma nieaktualny wpis, może najpierw wypróbować żądanie emisji pojedynczej, a jeśli nie powiedzie się, wróci do emisji. Odpowiedź jest zwykle emisji pojedynczej.
W v6 neigbour żądania pozyskiwania są wysyłane na adres multiemisji wygenerowany z adresu następnego przeskoku. Cel odpowiada reklamą sąsiada emisji pojedynczej. Gospodarze mogą również wysyłać reklamy sąsiadów do grupy „wszystkie węzły multiemisji” (inaczej skutecznie nadawane) w celu odświeżenia wpisów w pamięci podręcznej odnajdywania sąsiadów.
źródło