Powód zarówno adresu MAC, jak i adresu IP

25

Jeśli mój komputer ma adres IP, dlaczego potrzebuje adresu MAC?

użytkownik1369975
źródło
2
Aby udzielić ci najlepszej odpowiedzi, czy możesz rozszerzyć swoje pytanie, aby uwzględnić powód, dla którego uważasz, że nie potrzebujesz adresu MAC, jeśli komputer ma adres IP?
Brett Lykins,
1
Poleciłbym wziąć dobrą podstawową książkę o pracy w sieci i przeczytać ją; będzie tego warte. Odpowie na to pytanie i wiele innych: amazon.com/Computer-Networking-Top-Down-Approach-Edition/dp/…
Manoj Pandey
4
Brzmi to może wrednie, ale jest to najprostszy sposób na zmniejszenie zamieszania. Dlaczego włożyłeś kartę Ethernet do swojego komputera? Odpowiedz na to pytanie, a odpowie na pytanie o konieczność adresu MAC.
Mike Pennington
4
@Reprovo, jedynym miejscem, w którym komentarze / odpowiedzi naprawdę zawierają to stwierdzenie, jest to, że OP odpowiada na odpowiedź Teun Vink z chęcią uniknięcia modeli sieciowych w odpowiedziach. Jeśli nie wiesz, dlaczego i jakie są modele sieci, naprawdę nie rozumiesz swojej sieci, a „wykonanie zadania” będzie o wiele bardziej bolesne lub spowoduje dodatkowe problemy. Jest wiele rzeczy, których tak naprawdę nie musisz znać jako specjalista od sieci (na przykład, jak bity są umieszczane na kablu itp.), Ale modele sieciowe nie są czymś, czego mogą uniknąć przynajmniej podstawowego zrozumienia.
YLearn
2
@ user1369975, myślę, że nie rozumiesz sedna sprawy. Nie twierdzimy, że pytanie jest nieważne, ani nie mówimy, że ludzie nie muszą się uczyć. Jest to jednak strona dla inżynierów / profesjonalistów sieciowych, którzy proszą o sformułowanie tutaj odpowiedzi, ignorując podstawowe podstawy sieci, nie jest uzasadnione. Jeśli chcesz, aby odpowiedź nie była skierowana do innych specjalistów sieciowych, powinieneś ją zadać na jednej z innych stron, takich jak SuperUser .
YLearn

Odpowiedzi:

13

bez wchodzenia w model OSI, warstwę TCP itp .:

W przeszłości powstały sieci: niektóre komputery komunikowały się ze sobą, aby coś udostępnić. Aby to zrobić, muszą wiedzieć, z kim rozmawia i z kim rozmawia. Zamiast nadawać każdemu komputerowi nazwę, nadaliśmy mu identyfikator. Ten identyfikator nazywa się adresem MAC i powinien jednoznacznie identyfikować każdy komputer.

(ok, zidentyfikuj każdą kartę sieciową, ale w tamtym czasie możesz pomyśleć o jednym adresie MAC dla każdego komputera).

Nie było unikalnej specyfikacji dotyczącej sposobu, w jaki komputery będą ze sobą rozmawiać: pojawiło się wiele protokołów: TCP / IP, IPX / SPX i tak dalej. Każdy protokół określałby to, co uważały za właściwe. Na przykład IPX / SPX adresowałby każdy komputer za pomocą adresu MAC i kilku innych informacji.

Ale protokół TCP / IP został zaprojektowany nieco inaczej: zdecydowali, że posiadanie adresu wirtualnego składającego się z 4 bajtów (od 0.0.0.0 do 255.255.255.255) jest wystarczające, a nawet łatwiejsze do zarządzania: nie ma znaczenia, czy wszystkie karty sieciowe mają podobny adres MAC lub nie, zgrupujemy nasz komputer, aby wszystkie adresy TCP / IP, które rozpoczęły się od 10.0.xx, były częścią grupy inżynieryjnej, a te z 10.1.xx to drukarki, i. ..

Tak więc, jeśli adres TCP / IP musi się komunikować z innym, to po prostu używa adresu TCP / IP. Ale urządzenia sieciowe muszą wiedzieć, do której karty sieciowej trafia ten komunikat, więc w jakiś sposób tłumaczą adres TCP / IP na adres MAC.

Dlaczego nie po prostu wyeliminować MAC i zamiast tego użyć tylko TCP / IP?

pewne powody:

  • łatwe do grupowania adresy TCP / IP,
  • wszystkie urządzenia są zbudowane, aby dbać o adres MAC, w tym wymaganiu niskiego poziomu, i należy je zmienić
  • pomimo tego, że stanowią ogromną większość (myślę :-P), niektóre inne protokoły są nadal w użyciu i opierają się na adresie MAC
woliveirajr
źródło
25

Adresy MAC i adresy IP działają na różnych warstwach pakietu protokołów internetowych . Adresy MAC są używane do identyfikacji maszyn w tej samej sieci rozgłoszeniowej na warstwie 2, podczas gdy adresy IP są używane na warstwie 3 do identyfikacji maszyn w różnych sieciach.

Nawet jeśli komputer ma adres IP, nadal potrzebuje adresu MAC, aby znaleźć inne maszyny w tej samej sieci (szczególnie router / bramę do pozostałej części sieci / Internetu), ponieważ każda warstwa korzysta z podstawowych warstw. Na stronie wspomnianej wcześniej można znaleźć ładne diagramy szczegółowo wyjaśniające pakiet protokołów.

Teun Vink
źródło
, bardzo dziękuję za odpowiedź, ale byłoby lepiej, gdyby ktokolwiek mógł udzielić odpowiedzi bez wchodzenia w specyfikację warstwy OSI lub warstwy TCP
użytkownik1369975
11
Jeśli to zbyt trudne, to naprawdę nie jest to strona dla ciebie. Można argumentować, że to pytanie jest nie na temat, ponieważ jest to powszechnie uważane przez inżynierów sieciowych.
Teun Vink
11
@ user1369975, modele, do których się odwołujesz, stanowią ramy dla projektowania sieci do działania (zarówno sprzętu, jak i oprogramowania). Bez tego podstawowego zrozumienia nie byłoby sensownej odpowiedzi na twoje pytanie. To byłoby podobne do pytania (o obywatela USA), „jeśli mają nazwisko, dlaczego potrzebują numeru ubezpieczenia społecznego”, nie pozwalając na podanie w odpowiedzi wzmianki o rządzie.
YLearn
5
Pomyśl o adresie MAC jako o opisie domu na twojej ulicy. Wszyscy sąsiedzi zrozumieją „Zielony dom” lub „Dom Johnsonsa” lub „Dupleks na rogu” - są one porównywalne z adresem MAC, opisowym tylko lokalnie. Adres IP jest publicznie routowalny, więc byłoby to jak użycie pełnego adresu: 123 Main St, Somewhere, CA 92069. Wtedy IP IP to chyba listonosz przychodzący na ulicę i krzyczący „KTO JEST NA GŁÓWNEJ 123? !?!? " i pan Johnson słyszy go i mówi „Oto zielony dom!” Zgaduję? Straszna analogia.
David Houde,
3
To wyjaśnia, dlaczego jest to konieczne, biorąc pod uwagę obecną architekturę. Ale dlaczego architektura została tak zaprojektowana? Mogę łatwo wyobrazić sobie świat, w którym są tylko lokalne adresy IP i adresy IP WAN. Jest to technicznie możliwe.
Hello World,
17

Kiedy zrozumiesz, że komunikacja IP-IP jest tak naprawdę serią komunikacji MAC-MAC, która odbywa się przy każdym przeskoku routera, zrozumiesz, dlaczego oba są konieczne.

Nagłówek IP pakietu pozostawiającego twoją stację roboczą przeznaczoną na adres IP w innej podsieci zachowa źródłowy adres IP i docelowy adres IP, na chwilę zapominając o NAT. [Później omówię, co się stanie, gdy miejsce docelowe znajduje się w tej samej podsieci.] Nagłówek Ethernet zawiera źródłowy adres MAC i docelowy adres MAC domyślnej bramy. Z twojej perspektywy nie ma wiedzy na temat docelowego MAC. Ten pierwszy router przepisze źródłowy MAC do siebie, a docelowy MAC do następnego skoku routera i tak dalej, aż pakiet dotrze do ostatniego routera, który jest bezpośrednio podłączony do docelowej podsieci.

Aby spróbować prostej ilustracji, rozważ nagłówki L2 / L3, gdy pakiet przesuwa się ze źródłowego adresu IP (sIP) do docelowego adresu IP (dIP), a źródłowe i docelowe adresy MAC są przepisywane po drodze - fs = first-source i ld = ostatnie miejsce docelowe, a r1-r3 to routery:

fsMAC-r1MAC / sIP-dIP 
r1MAC-r2MAC / sIP-dIP
r2MAC-r3MAC / sIP-dIP
r3MAC-ldMAC / sIP-dIP

Zaangażowane przełączniki L2 nie będą modyfikować adresów MAC.

Teraz do komunikacji z innym adresem IP w podsieci potrzebna jest bezpośrednia komunikacja MAC, ale aby uzyskać, że adres MAC wymaga protokołu ARP, który używa transmisji w podsieci, aby go znaleźć. Nawiasem mówiąc, w ten sposób stacja robocza uzyskuje adres MAC domyślnej bramy, która musi istnieć w tej samej podsieci.

generalnetworkerror
źródło
3
Podsumowując, MACprzekazuje komunikat z jednego przeskoku do drugiego, podczas gdy IP śledzi oryginalne źródło i miejsce docelowe. Wydaje się to analogiczne do urzędu pocztowego, w którym przesyłam mój list do babci w Phoenix, ale listonosz, który odbiera go ze skrzynki pocztowej, troszczy się tylko o dostarczenie go na pocztę, a na poczcie troszczy się tylko o dostarczenie go do sortowania centrum itp ...
CodyBugstein
3
Moje pytanie brzmi jednak: dlaczego mam osobny protokół dla MAC? Dlaczego nie określić kolejnego adresu IP, na który należy przeskoczyć, i zapisać bieżące źródłowe / docelowe adresy IP wraz z oryginalnymi źródłowymi / docelowymi adresami IP?
CodyBugstein
@Imray: Pierwszy problem ze wyeliminowaniem protokołu MAC wymaga przeprojektowania / przepisania standardów Ethernet i TCP / IP. Po drugie, IP nie jest jedynym protokołem w L3, który używa adresów MAC w L2 do komunikacji. Po trzecie, adresy MAC są zwykle powiązane z adresami sprzętowymi (wypalonymi) na kartach sieciowych, podczas gdy adresy IP na wyższym poziomie mogą być nieco arbitralne ze względu na elastyczność. Po czwarte, adresy MAC są istotne lokalnie, podczas gdy adresy IP mają znaczenie globalne (nie biorąc pod uwagę nowszych zmian w NAT i adresów prywatnych, które nie były częścią pierwotnego projektu).
generalnetworkerror
14

Nic nie stoi na przeszkodzie, abyś zaprojektował sieć, która ma tylko adres IP dla L2 i L3. Wtedy „przełącznik ethernetowy” nauczyłby się adresu SIP przychodzących pakietów i zalewał lub przesuwał w kierunku adresu DIP.

Jednak ta sieć zawsze obsługiwałaby IP, ale kiedy nadejdzie IPvX nowej generacji, nie działałaby, ponieważ „przełącznik ethernetowy” nie mógł obsługiwać tego protokołu. Nie można także uruchamiać różnych innych protokołów, takich jak IPX i AppleTalk, ani nowego protokołu, który opracowuje się i testuje w domu.

Warstwy abstrakcji zwiększają szybkość rozwoju i zachęcają do innowacji, ponieważ nie trzeba przebudowywać całego domu, aby zmienić okno.

Teraz mogłeś uruchomić te same przełączniki Ethernet i migrować swoją sieć pomiędzy IPX a IPv4 na IPv6, bez dotykania twojej sieci LAN.

iti
źródło
Nie ma nic fizycznie Cię powstrzymuje od projektowania tej sieci, inne niż te składniki, które istnieją tylko w wyobraźni: a) przełącznika ethernetowego, że adresy IP źródłowe uczy B) Ethernet NIC bez adresu mac
Mike Pennington
3

Adres IP i adres MAC służą innym (ale kluczowym) celom:

Adres MAC pobiera ramkę z jednej karty sieciowej do drugiej. Adres IP pobiera pakiet z jednego komputera na serwer

Biorąc pod uwagę następujące kwestie:

Source Computer  <--->  RouterA  <--->  RouterB  <--->  Destination Server

To, co kieruje pakiet z „Źródła” do „Miejsca docelowego”, to adres IP. Ale to, co przenosi pakiet z komputera źródłowego do routera A, a następnie z routera A do routera B, a następnie z routera B do miejsca docelowego, to adresy MAC.

Relację można zobaczyć na tej ilustracji:

Przesyłanie pakietów - Jak pakiety przemieszczają się przez Internet - pracnet.net/pt

Eddie
źródło
Oczywiście łącza router-router często używają protokołu, który nie ma adresów MAC.
Ron Maupin
@RonMaupin Tak. Oczywiście. Ale ... jak to ma znaczenie, biorąc pod uwagę pytanie dotyczące adresów MAC =)?
Eddie,
Wygląda na to, że twoja odpowiedź sugeruje, że przy każdym przeskoku zostanie przypisany adres MAC, co może wprowadzać w błąd. Działa to również, jeśli twój diagram pokazuje adresy MAC tylko na pierwszym i ostatnim przeskoku. To jest trochę niekompletne, dlatego skomentowałem.
Ron Maupin
1

Protokół IP stanowi podstawę do obsługi pojęcia podsieci i routingu . Oznacza to, że adres IP nie zakłada, że ​​miejsce docelowe znajduje się w tej samej sieci - jeśli nie, ruch musi być przekazywany za pośrednictwem urządzenia pośredniczącego, takiego jak router. IP ma pola TTL / Hop Limit i takie obsługują.

Ethernet zakłada, że ​​docelowy MAC jest osiągalny bezpośrednio, gdy dane są wysyłane poza jego interfejs. Ethernet został pierwotnie zaprojektowany, gdy najczęstszym sposobem łączenia komputerów w sieci była topologia magistrali fizycznej. Chociaż prawie cały przewodowy ruch Ethernet jest teraz przełączany, logicznie nadal działa jak topologia magistrali. Zatem podstawowym założeniem w przypadku Ethernetu jest to, że węzeł z docelowym MAC znajduje się fizycznie w tej samej sieci. W przypadku własności intelektualnej nie ma takiego założenia.

Myślę, że możesz „zhakować” Ethernet do robienia podsieci i routingu, ale równie dobrze możesz zaprojektować protokół, który nie opiera się na szczegółach i założeniach Ethernet na niskim poziomie, i dlatego mamy IP.

LawrenceC
źródło
0

Mówiąc najprościej:

Adres MAC to fizyczny lub wirtualny adres swojej karty NIC lub sieciowego interfejsu. Z komputera z punktu widzenia sieci jest to fizyczny adres karty sieciowej tego komputera. Służy do przekazywania informacji do tego komputera w warstwie 2 modelu OSI.

Adres IP jest wymagany w warstwie 3. Ty wymagają komunikowania się z komputerami w różnych podsieciach i devices.The Adres IP weryfikuje „gdzie”, urządzenie znajduje się w zasięgu sieci.

Te adresy IP i adresy MAC są stosowane w tandemie. Address Resolution Protocol służy do łączenia dwóch razem rozdzielając adresy IP na adresy MAC w warstwie łącza w ramach jednej sieci.

Możesz także sprawdzić tutaj, aby uzyskać bardziej szczegółowe wyjaśnienia.

HAL
źródło
1
Prostota: jeśli masz imię, identyfikujesz się w okolicy. Musisz mieć SSN, aby utrzymać swoją tożsamość na poziomie globalnym
pulsarjune
-2

Adres MAC reprezentuje sprzęt, który zmontował, jest stały, a różne systemy w naszej sieci wykonane przez różnych dostawców mają bardzo różny zakres dodatków do komputerów Mac, więc trudno je uporządkować jako sieć. Ale za pomocą adresów IP możemy rozmieścić urządzenia w naszym sieć w arange czyli równoczesne adresy. nie możemy również wysyłać naszych dodatków do mac do sieci zewnętrznych

sunnychen
źródło
-2

Na początek jest to bardzo dobre pytanie, które dotyczy podstawowych podstaw sieci. Najważniejsze jest to, że tak naprawdę nie potrzebujemy adresu MAC, aby uzyskać łączność. Teoretycznie sieć mogłaby zostać zbudowana z wykorzystaniem samych adresów IP! Korzystanie z takiego programu może jednak powodować pewne praktyczne trudności. Jeśli spodziewasz się ręcznie przypisać adres IP każdemu urządzeniu sieciowemu, możesz uniknąć poważnych pułapek. Jeśli jednak konieczne jest automatyczne przypisanie adresów IP, tak jak w przypadku zbyt dużej liczby węzłów sieciowych do ręcznego administrowania, nie ma sposobu, aby upewnić się, że każdemu węzłowi przydzielono dokładnie jeden adres IP lub określoną liczbę z nich, ponieważ użytkownik nie może odróżnić jednego od drugiego, chyba że jednostka dystrybucji adresu może jednoznacznie i jednoznacznie zidentyfikować urządzenie żądające, np. przez jego adres MAC, który zakłada się, że jest unikalny dla dowolnego urządzenia w sieci LAN. Takie nieidentyfikowalne urządzenie może wielokrotnie prosić o dodatkowe adresy IP i ostatecznie siać spustoszenie w żywotności sieci. Wracając do tematu, wszystko, czego potrzebujesz do ustanowienia sieci opartej tylko na protokole IP, to pozwolić warstwie łącza danych adaptera sieciowego przejść przez dowolną odebraną ramkę danych, bezpośrednio do warstwy sieci, niezależnie od dowolnego typu adresu porównywalnego z MAC, gdzie może być filtrowane według docelowego adresu IP, zamiast filtrować w warstwie danych. Aby zilustrować tę koncepcję, załóżmy, że sieć została ustanowiona poprzez połączenie portów RS-232 UART: urządzenia UART nie mają adresów MAC ani żadnego innego unikalnego identyfikatora, ale można zbudować sieć lokalną przy użyciu UART i adresów IP sam, pod warunkiem, że zainstalujesz odpowiednie sterowniki UART. Mam nadzieję, że ten fragment dał ci pewne spostrzeżenia na ten temat.

Turing
źródło