Po co korzystać z adresu IP, jeśli mamy już adres MAC?

17

Przygotowuję się do egzaminów ICND1, a ostatnio zacząłem poznawać różne urządzenia Cisco. Właśnie dowiedziałem się, w jaki sposób generowany jest pakiet do przesłania przez sieć lub poza nią.

Na przykład, gdy pakiet jest generowany, dodaje źródłowy adres IP, docelowy adres IP, źródłowy adres Mac, docelowy adres mac i inne dane.

Ponieważ Switch jest urządzeniem warstwy 2 i wykorzystuje adresy MAC do interakcji z innymi hostami w sieci, dlaczego używamy adresów IP w naszych sieciach lokalnych?

Co się stanie, jeśli ktoś nie będzie musiał łączyć się z żadnym hostem lub siecią poza własną siecią? Dlaczego nadal musi mieć adres IP, czy adres MAC nie wystarczy?

Sufiyan Ghori
źródło
To pytanie pojawia się od czasu do czasu. świetna odpowiedź tutaj: serverfault.com/questions/410626/…
wyloguj się
Oto kolejny link na podobny temat, który zawiera bardziej przydatne informacje - superuser.com/questions/830857/...
Karthik Balaguru,
jestem
cbt

Odpowiedzi:

21

Ponieważ Switch jest urządzeniem warstwy 2 i wykorzystuje adresy MAC do interakcji z innymi hostami w sieci, to dlaczego używamy adresów IP w naszych sieciach lokalnych?

Zacznijmy od ruchu, który wysyłasz.

Jeśli używasz protokołu ściśle warstwy-2 wewnątrz własnej sieci LAN bez HTTP , SSL, NFS , CIFS , iSCSI , H.323 , SIP , DNS , ICMP , bazy danych, lub WebSockets, następnie propozycja działa dobrze. W rzeczywistości FCoE nie polega na warstwie IP ... więc jeśli tego właśnie chcesz, powal się :-)

Problem polega na tym, że po prostu okaleczyłeś 95% użyteczności większości sieci, usuwając te usługi oparte na protokole IP. Istnieją sieci wymiany informacji; wszystkie systemy operacyjne na tej planecie współużytkują informacje, wiążąc usługi z IP i enkapsulując je. Te informacje są zwykle również pakowane w TCP.

  • Pytanie retoryczne : Czy grupa zdeterminowanych osób mogłaby wdrożyć usługi TCP i UDP bezpośrednio na eterze we wszystkich głównych systemach operacyjnych?
  • Pedantyczna odpowiedź : Tak, ale to marnowanie czasu i zasobów na nieistotny zysk. Zacznijmy od podstaw ... nie ma usługi nazw DNS dla ethernetowych adresów MAC. Oznacza to, że jeśli go nie zbudujesz, w jaki sposób rozwiązujesz adresy URL bez adresów IP? Wątpię, czy ktokolwiek naprawdę chce pisać http://00c0.9b4a.fb2c/tylko po to, aby uniknąć 20 dodatkowych bajtów w każdym pakiecie. To tylko przykład wymaganej pracy.

Co się stanie, jeśli ktoś nie będzie musiał łączyć się z żadnym hostem lub siecią poza własną siecią? Dlaczego nadal musi mieć adres IP, czy adres MAC nie wystarczy?

Technicznie tak. W prawdziwym świecie ... to dość nudna sieć bez adresu IP.

Mike Pennington
źródło
8

(nie znowu)

Warstwa 2 vs. warstwa 3

IP działa na warstwie 3. Jest przenoszony przez sieć Ethernet (warstwa 2), która wykorzystuje MAC do identyfikacji węzłów. Użyj innej warstwy 2 (powiedzmy ATM), a nie będziesz mieć adresów MAC. (Lub użyj innej warstwy 3, powiedzmy IPX, a nie będziesz miał IP.)

Ricky Beam
źródło
1
Czuje się jak okrągła odpowiedź. „Po co korzystać z IP, jeśli mamy już MAC? Ponieważ potrzebujesz IP, aby korzystać z IP”. To prawda, że ​​początkowe pytanie nasuwa pytanie „Co robi Warstwa 3 dla nas, której warstwa 2 nie może?” lub coś.
Smithers,
Nie, to jak pytanie „po co jeździć samochodem, kiedy mam telewizor”. Są to zupełnie inne rzeczy. Ethernet (L2) używa adresów MAC. IP (L3) używa adresów IP. IP może być przenoszony przez Ethernet, ale to tylko jedna z długiej listy L2, z których można skorzystać.
Ricky Beam
0

Bez adresu IP ruch byłby nadawany na całym świecie dla każdego nieznanego / nieaktualnego adresu MAC w systemie (nieznana emisja jednostkowa).

Również IP pomaga logicznie zaplanować sieć w efektywny sposób (na przykład: wykorzystując podsumowanie adresów IP), aby routery mogły zużywać mniej pamięci na tablice routingu i przekazywanie informacji.

Sierżant
źródło
-3

po prostu załóżmy, że mamy 2 podłączone urządzenia i każde z nich ma kartę sieciową. teraz, jeśli w każdym urządzeniu była tylko jedna usługa (nie jest to dokładnie usługa, coś w rodzaju oprogramowania osm ...), masz rację, nie potrzebujesz adresu IP, ale weź pod uwagę, że na każdym urządzeniu jest wiele usług i usługi te powinny się komunikować ze sobą bez żadnego konfliktu. więc oprócz adresu Mac do identyfikacji urządzenia potrzebujemy czegoś innego (nazywamy to IP) dla każdej usługi.

Ali
źródło
1
Aby rozróżnić różne usługi na jednym urządzeniu, używane są porty TCP lub UDP.
Gerben