Dlaczego potrzebne jest tłumaczenie adresu IP na MAC?

9

Dlaczego w sieciach korzystających z protokołu TCP / IP adres IP jest tłumaczony na adres MAC?

Mam na myśli, że skoro każde urządzenie zna swój adres IP, po co dalej używać adresu MAC, a nie adresu IP jako adresu bezpośrednio?

użytkownik32569
źródło

Odpowiedzi:

18

Główną różnicą jest to, że adres IP jest używany przez protokół IP, który jest protokołem sieci, a adres MAC jest używany przez Ethernet jako protokół warstwy łącza (2). IP może działać na różnych protokołach warstwy 2, więc nie obejmuje funkcji „dostępu do multimediów”. Możesz uruchomić IP przez linie szeregowe, Ethernet, DSl, ISDN itp.

Na przykład DHCP zapewnia dynamiczne adresy IP przez Ethernet; serwer DHCP potrzebuje adresu MAC, aby mógł przypisać adres IP do komputera.


źródło
2
+1 To jest naprawdę kluczowa kwestia. IP może działać na różnych warstwach fizycznych. Różne warstwy fizyczne wymagają różnych adresów fizycznych. MAC to adresowanie używane przez Ethernet. Są też inne protokoły Ethernet, które nie używają IP, w tym BootP, DUX i IPX. Ten sam fizyczny Ethernet może obsługiwać jednocześnie IPv4 i IPv6. Ale ostatecznie wszystko jest dostarczane do MAC w sieci Ethernet.
Rob Napier
Ważne jest również, aby zrozumieć, że w różnych czasach zobaczysz różne elementy. Twój komputer może otrzymać pakiet od kogoś, na kogo musi odpowiedzieć i jeszcze nie zna swojego MAC (Mac widzi, że byłby z najbliższego urządzenia łączącego, ale to nie jest ważne) i musiałby arp lub odwrotną i Rarp. Lub masz nazwę hosta, ale potrzebujesz mac lub ..... dowolną liczbę różnych konfiguracji i kombinacji protokołów
PsychoData,
5

Ponieważ TCP / IP jest używany przez Ethernet , który wykorzystuje adresy MAC.

Jakob Borg
źródło
4

Innym sposobem spojrzenia na to jest zadanie odwrotnego pytania: Dlaczego potrzebujemy adresów IP, skoro już mamy adresy MAC przypisane do sprzętu?

Zostało to omówione w odcinku 29 podcastu Security Now ( transkrypcja HTML ).

Dzięki adresom MAC nasze komputery mogą komunikować się bezpośrednio z jednym komputerem. Ale aby wiedzieć, jak się tam dostać, musimy skierować nasze pakiety do niego. Niepraktyczne jest posiadanie globalnej tabeli wyszukiwania adresów MAC na każdym z naszych komputerów.

Z drugiej strony adresy IP są uporządkowane hierarchicznie. Nasze komputery mogą ustalić, które adresy IP znajdują się w sieci LAN, a reszta zostanie wysłana do bramy sieci LAN (np. Routera domowego). Po opuszczeniu sieci LAN kolejne routery sprawdzają adres IP i kierują pakiety do innego routera. W końcu router, który ma docelowy adres IP w swojej sieci LAN, może zidentyfikować adres MAC i wysłać pakiet do komputera docelowego.

Doug Harris
źródło
Dlaczego adresy MAC nie były tak inteligentne jak adres IP i nie zostały zaimplementowane w sposób hierarchiczny? Czy były po prostu nieostrożne, czy istnieje ograniczenie, które uniemożliwia?
Pacerier
2
Adresy MAC są przydzielane przez producentów sprzętu i nie mają pojęcia, gdzie zostaną zainstalowane urządzenia sieciowe ani w jakiej konfiguracji. Istnieje wiele witryn (takich jak ta ), które pozwalają zidentyfikować producenta kart sieciowych według adresu MAC.
Doug Harris
Dobry argument (i wyjaśnienie dzięki!)
Pacerier
3

Są dla różnych warstw w stosie sieciowym. Adres MAC dotyczy warstwy sieci Ethernet, a adres IP, no cóż, warstwy IP. Możesz używać IP w różnych transportach, takich jak SLIP, gdzie nie ma MAC, ponieważ nie ma sieci Ethernet. Możesz również użyć protokołu innego niż IP przez Ethernet, jeśli chcesz.

Jeśli się nad tym zastanowić, jeśli połączę się przez połączenie SLIP, jeden pakiet IP może zacząć się od niepowiązanego adresu MAC, a następnie mieć inny adres MAC, ponieważ przeskakuje z jednego routera na drugi, gdy jest przesyłany przez Internet do końcowego miejsca docelowego IP.

Ukko
źródło
3

Gwarantujemy, że adresy MAC są unikalne dla urządzenia (karta sieciowa zazwyczaj zawiera adres MAC) i są niezmienne, podczas gdy można ponownie zdefiniować adres IP na dowolnym komputerze.

Ponadto publiczne adresy IP mogą być współużytkowane przez całą firmę za pomocą translacji adresów sieciowych, więc nie można zagwarantować, że publiczne adresy IP będą korespondowały jeden na jeden z maszyną lub osobą.

Robert Harvey
źródło
3

Mógłbym odpowiedzieć na twoje pytanie innym pytaniem: masz numer telefonu, więc dlaczego potrzebujesz numeru ubezpieczenia społecznego / krajowego numeru identyfikacyjnego?

Innymi słowy, służą one różnym celom. Jeden służy do identyfikacji, kim jesteś (SSN, MAC), a drugi do określenia, jak się z tobą skontaktować (numer telefonu, adres IP).

Ponadto możliwe jest skontaktowanie się z kimś przez telefon, jeśli nie ma on numeru SSN (na przykład inny kraj), podobnie jak możliwe jest skontaktowanie się z kimś przez Internet, jeśli nie ma on MAC (inny rodzaj warstwy łącza) . Różne warstwy łączy mają różne metody identyfikacji miejsc docelowych i źródeł pakietów danych.

Christopher Parker
źródło
1

Adres IP jest zdefiniowany w systemie operacyjnym lub w oprogramowaniu sterownika karty sieciowej lub przekazany przez sieć i może być zmieniany dynamicznie. MAC jest identyfikatorem dla karty sieciowej, czyli sprzętu. Nie ma między nimi relacji 1 do 1.

Tomas Aschan
źródło
0

Nie znasz adresu MAC stackoverflow.com, ponieważ nie ma go w sieci lokalnej. Adresy MAC są używane jako identyfikator następnego skoku w łańcuchu. „IP” jest po prostu używany w protokole, który ma wskazówkę, w którym kierunku powinien wysłać pakiet (której bramy użyć następnie).

baloo
źródło
0

Ponieważ adresy MAC są potrzebne do komunikacji w warstwie łącza (adresy IP są używane jedna warstwa wyżej w warstwie IP).

riwalk
źródło
0

Weźmy przykład

Jeśli złożysz podanie o pracę w firmie ... czy dadzą ci to bez znajomości Twojej tożsamości? na pewno nie .... więc twoim prawdziwym dowodem tożsamości jest adres Mac

a kiedy dołączysz do firmy, podadzą oni inny identyfikator pracownika, aby komunikować się między pracownikami tej firmy. To jest adres IP.

twój identyfikator pracownika może zostać zmieniony, jeśli zmienisz firmę, ale twoich rzeczywistych informacji o tobie nigdy nie można zmienić (wiek, imię itp.) ...

użytkownik294441
źródło
Soooo, czy mogę zmienić swoją rzeczywistą tożsamość? : P Ale to nie jest tak naprawdę odpowiedź, tylko metafora, która jest trochę dziwna i zła
PsychoData,
0

Twoje pytanie jest bardzo uzasadnione! Prawda jest taka, że ​​teoretycznie można stworzyć system oparty wyłącznie na IP i dobrze funkcjonować bez potrzeby systemu adresowania MAC. Warstwę łącza danych można ustawić tak, aby ignorowała wszelkie filtrowanie adresów MAC, pozostawiając tę ​​funkcjonalność warstwie sieci, aby filtrować według własnego adresu IP. Takie systemy istniały w przeszłości, takie jak sieci oparte na łączeniu urządzeń przez ich porty UART (np. RS232). Oczywiście te interfejsy sieciowe nie nosiły adresów MAC ani żadnej innej formy unikalnej, fizycznej tożsamości. Może jednak sprawić, że centralne przypisywanie adresów IP, np. Przez serwer DHCP, będzie koszmarem, ponieważ nie byłoby sposobu, aby upewnić się, że urządzenie nie otrzyma więcej niż z góry określona liczba adresów IP dozwolona dla każdego urządzenia. Również, trudno byłoby jednoznacznie i indywidualnie zidentyfikować każde urządzenie. Unikalny adres MAC, przynajmniej w ramach podsieci, służy jako unikalny token identyfikacyjny. Oczywiście indywidualne przypisywanie adresów IP urządzeniom może rozwiązać problem, ale w przypadku dużej liczby urządzeń w sieci ustanowienie i utrzymanie takiego schematu staje się niepraktyczne.

użytkownik315745
źródło
-3

Adres IP jest podobny do kodu pocztowego lub kodu kraju lub kodu ISD, co upraszcza adres lokalizacji, w przeciwnym razie bardzo trudno jest posortować cały adres MAC lub zidentyfikować dokładną lokalizację, w przeciwnym razie komputer poświęci dużo czasu na identyfikację lub zachowanie adresu ogromna baza adresów MAC na komputerze lokalnym.

Shanti Swaroop
źródło