Nie rozumiem, dlaczego potrzebne są adresy MAC Ethernet. Czy nie wszystkie komputery mogą być podłączone do ujednoliconej sieci i używać adresów IP do komunikacji?
Na przykład w sieci Ethernet występuje następujący mechanizm:
- Komputer z adresem IP
192.168.1.1
(X.1
) chce wysłać pakiet do192.168.1.2
(X.2
) X.1
używa ARP, aby uzyskać MACX.2
- Aby to zrobić,
X.1
musi wysłać pakiet do wszystkich komputerów w sieci; tylko jeden odpowie X.1
pobiera MAC i wysyła pakiet
Czy nie byłoby łatwiej zrobić tylko jeden krok:
X.1
wysyła pakiet do wszystkich komputerów w sieci; tylkoX.2
to przetworzy, inni to zignorują
Uzupełniające pytanie brzmiałoby: dlaczego adresy IP są potrzebne, jeśli wszystkie urządzenia mają unikalne adresy MAC?
networking
ethernet
ip-address
mac-address
użytkownik2449761
źródło
źródło
Odpowiedzi:
Te różne warstwy sieci są tam, aby mogły zostać zamienione na różnych technologiach.
Dwie warstwy, o których tu mówisz, to warstwy 2 i 3. Warstwa 2 w tym scenariuszu to Ethernet - z której powstają adresy MAC, a Warstwa 3 to IP.
Ethernet działa tylko na poziomie lokalnym, między urządzeniami sieciowymi podłączonymi do „łącza danych” sieci rozgłoszeniowej, podczas gdy IP jest routowalnym protokołem i dlatego może być ukierunkowany na urządzenia w sieciach zdalnych.
Wymagania każdego z nich są różne. Ethernet określa rodzinę technologii, które pozwalają na wysyłanie i odbieranie pakietów między urządzeniami sieciowymi, podczas gdy IP określa protokół, który pozwala pakietom danych przechodzić przez wiele sieci.
Żadne z nich nie jest zależne od drugiego, co zapewnia sieci elastyczność. Na przykład możesz połączyć się z usługą internetową za pomocą protokołu IP przez sieć Ethernet, ale w sieci wewnętrznej możesz zdecydować się na użycie protokołu IP przez ... papier. Gdy ktoś zapisuje zawartość każdego pakietu i fizycznie przekazuje go na inną maszynę i wpisuje go. Oczywiście nie byłoby to szczególnie szybkie, ale nadal byłoby to IP, pod warunkiem, że osoba nosząca kawałki papieru przestrzega reguł routingu IP.
W prawdziwym świecie istnieją różne protokoły łącza danych, z których już korzystasz (dwa) (chociaż ich schematy adresowania są takie same): 802.3 - ethernet i 802.11 - wifi.
IP nie dba o to, jaka jest podstawowa warstwa.
Podobnie, IP można zamienić na różne protokoły warstwy sieci (pod warunkiem, że dzieje się tak dla wszystkich uczestników). Takich jak bankomat .
Chociaż nic nie stoi bezpośrednio na przeszkodzie, aby utworzyć protokół obejmujący zarówno warstwę 2, jak i warstwę 3, byłby on mniej elastyczny, a więc mniej atrakcyjny, a więc jest mało prawdopodobne, aby go użyć.
źródło
Gdzie miałaby zostać podjęta decyzja o tym, czy przetworzyć lub zignorować pakiet? Żadna odpowiedź nie jest naprawdę zadowalająca:
1) W przełączniku? Oznaczałoby to, że przełączniki muszą rozumieć każdy protokół, który określa, które komputery są zainteresowane, które pakiety. To nie tylko zwiększyłoby koszt przełączników i zmniejszyło ich szybkość, ale znacznie utrudniłoby wprowadzenie zmian w protokole IP.
2) W sprzęcie interfejsu Ethernet? To sprawiłoby, że sieć byłaby znacznie wolniejsza, ponieważ każdy pakiet danych musiałby trafić na każdą maszynę. Technologie takie jak WiFi i mostkowanie sieci z wolniejszymi mostami byłyby niemożliwe. Niemożliwe byłoby współdziałanie sieci Ethernet z różnymi prędkościami. Technologie takie jak IPv6 lub IP multicast wymagałyby zmian sprzętowych do wdrożenia we wszystkich stacjach końcowych Ethernet.
3) W oprogramowaniu? To spowodowałoby, że komputery byłyby znacznie wolniejsze, ponieważ musiałyby radzić sobie ze znacznie większą liczbą przerwań interfejsu sieciowego. Wszystkie powyższe problemy związane z mostowaniem, VPN i Wi-Fi również byłyby problemami.
Wszystko to sprawiłoby, że Ethernet nie nadawałby się do użytku bez adresu IP i oznaczałoby, że zmiany w sieci Ethernet byłyby potrzebne do wprowadzenia zmian w adresie IP. Fuj
Rozdzielenie problemów jest dobre.
źródło
Adres IP i adresy MAC 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, ponieważ każda warstwa korzysta z warstw leżących poniżej. Na stronie wspomnianej wcześniej można znaleźć ładne diagramy szczegółowo wyjaśniające pakiet protokołów.
źródło
Problem z przeciążeniem napotyka sieć ethernetowa wraz ze wzrostem wielkości. Ten zamiar może udusić sieć i wprowadzić opóźnienie. Jest to jeden z czynników, który wprowadził koncepcję podsieci. Jednak w przypadku podsieci potrzebujemy dodatkowego elementu zwanego routerem, aby umożliwić pakietowi podróżowanie z komputera w jednej podsieci do komputera w innej podsieci.
Odległość pokonywana przez kabel Ethernet jest kolejnym poważnym problemem, ponieważ może ograniczyć powodzenie transmisji, jeśli przekroczy określony limit. To przyniosło kolejne nowe podmioty w postaci hub / repeater.
Pamiętaj, że wszystkie mechanizmy komunikacji nie używają adresu MAC do komunikacji. PPP i HDLC nie używają adresu MAC do identyfikacji.
Pamiętaj też, że niektóre sieci nie używają sieci Ethernet. Sieci Token Ring wymagają innej warstwy łącza danych.
Jeśli wyślesz pakiet z sieci A do urządzenia w sieci B, adresując go poprzez adres MAC urządzenia w sieci B, zostanie on upuszczony w samej sieci A. Zauważ, że nawet jeśli istnieje router między siecią A i siecią B, router upuści pakiet, ponieważ router działa, odbierając pakiety adresowane na jego adres MAC, ale dla innego adresu IP.
Z powyższych scenariuszy jasno wynika, że Internet nie jest siecią płaską ze względu na różne sieci lokalne / prywatne. Istnieją również różne jednostki sieciowe między źródłem a miejscem docelowym.
Ponieważ internet nie jest siecią płaską, adres MAC nie jest wykorzystywany do wszystkich rodzajów komunikacji, a niektóre sieci wymagały innej warstwy łącza danych niż sieć Ethernet, potrzebujemy adresu IP do przekierowania go do pożądanego węzła, niezależnie od lokalizacji węzła i tego osiąga się dzięki warstwie sieci.
Odwołaj się również do podobnej dyskusji w https://stackoverflow.com/questions/26290069/arp-vs-ip-why-do-we-need-both
źródło
Jak wyjaśnili inni, potrzebujesz protokołów warstwy 2 do kontroli zatorów w sieci lokalnej. Warstwa 3 służy do routingu i adresowania między sieciami.
Powiedziawszy to, ważne pytanie może brzmieć: dlaczego obie warstwy nie mogą korzystać z tego samego schematu adresowania?
Pierwsza odpowiedź: jak wspomnieli inni, pozwala to na przełączanie technologii L2 i / lub L3 i wszystko nadal działa.
Druga odpowiedź: nawet jeśli wszyscy zgodziliby się, aby protokoły warstwy 2 korzystały z adresów IP, nadal musielibyśmy używać dwóch adresów IP, jednego dla warstwy 2 i jednego dla warstwy 3. Dlaczego? NATting. Jeśli komputer ma publiczny adres IP, adresy L2 i L3 mogą być takie same. Jeśli jednak użyjesz NAT, twoje adresy L2 i L3 będą inne.
Ostatni komentarz: Kiedy mówisz, że wszyscy otrzymali wiadomość, a osoby nie biorące ich ignorują, mówisz o WiFi. Przewodowy Ethernet już tak nie działa. Tak było kiedyś, gdy używaliśmy kabli koncentrycznych, a później, kiedy korzystaliśmy z koncentratorów. Przełączniki wysyłają tylko wiadomości / pakiety do odpowiedniego portu (chyba że wykonasz na nich atak i nasycisz ich tabele).
źródło
Adresy MAC i adresy IP działają w różnych warstwach sieci do różnych celów. Pozbycie się jednej z warstw może powodować problemy, powodować zamieszanie lub uniemożliwić działanie.
Powiedzmy, że mam jakiś starożytny sprzęt (powiedzmy tokarkę CNC za milion dolarów), która obsługuje tylko IPX . W jaki sposób ktoś mógłby z nią rozmawiać w twojej sieci opartej tylko na IP? Lub powiedz, że podłączam nieskonfigurowany komputer do nowej sieci. W przypadku braku adresów MAC, w jaki sposób serwer DHCP może powiedzieć komputerowi, jakiego adresu IP użyć?
Załóżmy, że mam serwer z czterema gigabitowymi połączeniami do przełącznika szkieletowego, połączonych w jedno wirtualne połączenie. W twojej sieci opartej tylko na MAC jaki jest adres mojego serwera? Lub powiedz, że mam komputer podłączony przez modem PPPoA i nie mam adresu MAC. Jak ktokolwiek może się z tym połączyć?
źródło
Hmmm, myślę, że mogło to zostać wykonane (właściwie / zrobiłem / ręcznie przypisałem adres MAC); jednak gdyby to zostało zrobione, musiałbyś kupić nowy sprzęt dla IPv6 i prawdopodobnie nie byłoby nakładania się. W sumie nie lubię konsekwencji.
źródło
Ja w IP oznacza Międzysieciowa protokołu.
Oznacza to, że adres IP ma być unikalny we WSZYSTKICH sieciach na całym świecie.
Adresy IP powinny być dosłownie globalne. Jeśli wysyłasz ruch do 9.9.9.9, ma on docierać wszędzie tam, gdzie 9.9.9.9 nie ma znaczenia, gdzie na świecie 9.9.9.9 jest fizycznie lub która sieć 9.9.9.9 jest fizycznie włączona.
(Jest to nieco zepsute z powodu NAT. Kiedy wynaleziono TCP / IP, NAT nie był częścią pierwotnego planu i jest to „hack”, dopóki IPv6 nie stanie się bardziej powszechny tam, gdzie nie jest potrzebny. Udawaj, że NAT nie istnieje, aby zrozumieć ta odpowiedź).
Adres MAC powinien być unikalny tylko w sieci lokalnej, w której znajduje się host. Nie ma na celu umożliwienia komunikacji między czymkolwiek, co nie znajduje się w tej samej sieci lokalnej. Istnieje więc fizyczne ograniczenie adresów MAC, ale nie ma takich ograniczeń adresów IP.
TCP / IP opiera się na założeniu, że:
Gdyby istniał inny fundamentalny mechanizm, w którym dwie powyższe koncepcje nie mają zastosowania, wówczas IP i MAC nie byłyby potrzebne, tak jak obecnie.
Jeśli projektujesz protokół lub coś, co absolutnie nigdy nie musi rozmawiać z komputerami poza tą samą siecią lokalną, dobrym pomysłem jest po prostu trzymać się adresów MAC. Myślę, że taki jest protokół ATA over Ethernet, ponieważ został zaprojektowany w celu umożliwienia współużytkowania napędów ATA w tej samej sieci, a nie przez Internet ze względów bezpieczeństwa.
źródło
Właśnie miałem podobne myśli. Ale doszedłem do wniosku, że potrzebujesz warstwy MAC. Nawet w celu zamiany!
Nieuniknionym problemem jest to, że masz inny niż tylko protokół IP, nawet jeśli mówimy o IP, istnieją IPv4 i IPv6. Skąd urządzenie sieciowe wie, które to urządzenie? więc potrzebujesz MAC jako warstwy ładującej, w polu protokołu jest kolejna warstwa, która mówi ci, co jest przenoszone przez MAC.
źródło
Utkniesz, myśląc tylko o pojedynczej warstwie OSI. IP działa tylko dlatego, że istnieje Ethernet (i inne), podobnie jak Ethernet istnieje tylko dlatego, że istnieją fizyczne przewody do przenoszenia ruchu. To nie jest „IP ani MAC” - routing ruchu wymaga adresów MAC do działania: technologia IP (podobnie jak inne powiązane i niepowiązane technologie) jest na szczycie. Nie możesz po prostu wymienić jednego na drugi.
źródło
Dynamiczne adresy IP mój przyjacielu! W swoim lokalnym środowisku (w domu, na uczelni, w miejscu pracy) masz konfigurację sieci. Nie jest podłączony bezpośrednio do Internetu (za pomocą dużej litery „I”), ale przez router. Router otrzymuje dynamiczny adres IP (w większości przypadków, chyba że masz statyczny) od twojego dostawcy usług internetowych i przypisuje adresy dynamiczne (takie same „ale” jak wyżej) wszystkim podłączonym komputerom. Dlaczego tak się dzieje? W linii, aby zapewnić obsługę większej liczbie użytkowników niż posiadanych adresów IP. Chodzi o to, że musisz być w stanie zidentyfikować swojego MacBooka Pro (: D) wśród wszystkich innych komputerów, więc potrzebujesz adresu UNIKALNEGO, a nie dynamicznego / współdzielonego. To twój Mac. I dlatego go potrzebujesz.
Możesz przeczytać dalej tutaj
źródło