Adresy TL; DR> MAC to niskopoziomowe elementy sieci Ethernet (i niektóre inne podobne standardy, takie jak WiFi). Pozwalają urządzeniu komunikować się z maszyną w lokalnej sieci fizycznej (LAN) i nie mogą być kierowane przez Internet - ponieważ fizyczny sprzęt teoretycznie można podłączyć do dowolnego miejsca na świecie.
Z kolei adresy IP obejmują cały Internet, a routery używają ich, aby dowiedzieć się, gdzie wysłać dane, nawet jeśli potrzebuje wielu przeskoków, aby dotrzeć do miejsca docelowego - ale nie są one pomocne w łączeniu się ze sprzętem fizycznym w sieci lokalnej.
Gdybyśmy kiedykolwiek znaleźli lepszy standard niż Ethernet, może nie używać adresów MAC, ale ruch IP z Internetu może nadal przepływać przez nie, nawet jeśli inne osoby w Internecie nigdy o nim nie słyszały.
Gdybyśmy kiedykolwiek znaleźli lepszy standard niż IP (na przykład IPv6, gdyby wyczerpały się wszystkie adresy IPv4), większość urządzeń Ethernet mogłaby przenosić nowy rodzaj ruchu bez modyfikacji - a prosta aktualizacja oprogramowania / oprogramowania naprawiłaby większość pozostałych.
Adresy MAC są wymagane do wykonywania funkcji lokalnej sieci Ethernet (lub Wi-Fi). Pozwalają urządzeniu sieciowemu przyciągnąć uwagę jednego bezpośrednio podłączonego urządzenia, nawet jeśli fizyczne połączenie jest wspólne. Może to być ważne, gdy tysiące urządzeń są połączone razem w ramach jednej organizacji. Nie pełnią one żadnej funkcji w szerszym Internecie.
Aby naprawdę zrozumieć odpowiedź na to pytanie, musisz zrozumieć model OSI (czasami znany jako 7-warstwowy) .
Aby komunikacja odbywała się między 2 aplikacjami działającymi na osobnych komputerach, które nie mają bezpośredniego połączenia fizycznego, należy wykonać wiele pracy.
W dawnych czasach każda aplikacja wiedziała dokładnie, jakie instrukcje kodu maszynowego należy uruchomić, aby wygenerować odpowiedni sygnał, który dotrze i może zostać zdekodowany przez aplikację na drugim końcu. Cała komunikacja była efektywna punkt-punkt, a oprogramowanie musiało zostać napisane w celu dopasowania do konkretnej sytuacji, w której miało zostać wdrożone. Oczywiście było to niezrównoważone.
Zamiast tego problem sieci został podzielony na warstwy, a każda warstwa wiedziała, jak rozmawiać z pasującą warstwą na zdalnym komputerze i jak komunikować się z warstwą pod nią (a czasem nad nią) na swoim komputerze lokalnym. Nic nie wiedział o żadnych innych warstwach - więc twoja przeglądarka internetowa nie musi dbać o to, czy działa na komputerze, który używa sieci Token Ring, Ethernet lub Wi-Fi - i zdecydowanie nie musi wiedzieć, jaki sprzęt używa zdalnego komputera.
Aby to zadziałało, model 7-warstwowy wykorzystuje system podobny do zagnieżdżonych kopert; aplikacja tworzy dane i pakuje je w kopertę, którą ma dostarczyć system operacyjny. System operacyjny pakuje to w inną kopertę i przekazuje do sterownika sieciowego. Sterownik sieciowy pakuje to w kolejną kopertę i kładzie na fizycznym kablu. I tak dalej.
Dolna warstwa, warstwa 1 , jest warstwą fizyczną. To jest warstwa drutów, tranzystorów i fal radiowych, a na tej warstwie komunikacja jest w większości tylko strumieniem pojedynczych i nici. Dane trafiają wszędzie, gdzie są fizycznie połączone. Port sieciowy komputera podłączasz do przełącznika za pomocą kabla CAT-5.
Warstwa 2 to warstwa łącza danych. Zapewnia to pewną strukturę dla tych i kółek, pewne możliwości wykrywania błędów i korekty, a także pewne wskazanie, które fizycznie podłączone urządzenie (tutaj fizyczne połączenia mogą faktycznie być przez Wi-Fi) powinno zwrócić uwagę na komunikat. To jest warstwa, w którą wchodzą adresy MAC i do niej wrócimy później. Ale adresy MAC nie są jedyną możliwością na tej warstwie. Na przykład sieci Token Ring wymagają innej implementacji łącza danych.
Warstwa 3 to warstwa sieci. Jest to warstwa, na której działa protokół IP (choć nie jest to jedyny protokół warstwy sieciowej), i to on umożliwia komputerom wysyłanie wiadomości, które mogą dotrzeć do dowolnego komputera w dowolnym miejscu w „sieci”. Nie ma potrzeby bezpośredniego połączenia między danymi maszynami.
Warstwy 4-7 to protokoły wyższego poziomu. Coraz bardziej oddalają się od sprzętu i zbliżają do aplikacji. Na przykład protokół TCP znajduje się na szczycie adresu IP i zapewnia mechanizmy, które automatycznie wysyłają ponownie wiadomości, gdy zaginą.
Dlatego adresy MAC działają w warstwie 2 i zezwalają 2 komputerom fizycznie połączonym ze sobą na wysyłanie wiadomości, które będą ignorowane przez inne maszyny, które mają to samo połączenie fizyczne.
Załóżmy, że mam aplikację, która chce wysłać dane do komputera o adresie IP 8.8.8.8
Warstwa 3 otacza dane kopertą zawierającą między innymi adres IP 8.8.8.8, a następnie przekazuje go do warstwy 2.
Warstwa 2 sprawdza ten adres IP i decyduje, z którym komputerem, do którego jest bezpośrednio podłączony, jest w stanie poradzić sobie z tym komunikatem. Będzie miał tablicę przeglądową wyboru bezpośrednio połączonych adresów IP wraz z odpowiednim adresem MAC karty sieciowej w tym urządzeniu. Ta tabela przeglądowa jest zbudowana przy użyciu protokołu o nazwie ARP, który pozwala karcie sieciowej zadawać pytania innym bezpośrednio podłączonym urządzeniom. Ethernet rezerwuje specjalny adres MAC, FF: FF: FF: FF: FF: FF, który pozwala urządzeniu komunikować się ze wszystkimi fizycznie połączonymi urządzeniami.
Jeśli adres IP znajduje się w tabeli (lub można go rozwiązać za pomocą ARP), zawinie kopertę warstwy 3 w kopertę warstwy 2 z adresem MAC w nowym nagłówku, a następnie przekaże cały pakiet do sprzętu w warstwie 1 Karta sieciowa z pasującym adresem MAC otrzyma wiadomość, a sterownik sieci otworzy kopertę warstwy 2 i przekaże zawartość do dowolnej części systemu operacyjnego, która spodziewa się otrzymywać wiadomości pod określonym adresem IP.
Alternatywnie, jeśli adres IP nie znajduje się w sieci lokalnej, nowa koperta będzie miała adres MAC domyślnej bramy (tj. Routera) skonfigurowany dla tego interfejsu sieciowego, a sprzęt przetransportuje pakiet do routera.
Router zauważa swój adres MAC w kopercie warstwy 2 i otwiera pakiet poziomu 2. Sprawdza adres IP na kopercie poziomu 3 i sprawdza, gdzie wiadomość musi iść dalej, co prawdopodobnie będzie routerem u twojego dostawcy usług internetowych. Jeśli router używa NAT (lub podobnego), może nawet zmodyfikować obwiednię poziomu 3 w tym momencie, aby zachować poufność wewnętrznych adresów IP. Następnie owinie kopertę poziomu 3 w nową kopertę poziomu 2, która jest adresowana na adres MAC routera dostawcy usług internetowych, i tam wyśle wiadomość.
Ten proces usuwania zewnętrznej koperty i owijania zawartości w nową kopertę skierowaną do następnego kroku w łańcuchu będzie kontynuowany, dopóki wiadomość nie dotrze do urządzenia docelowego.
Koperty będą dalej odrywane, gdy wiadomość wraca po warstwach, aż w końcu dotrze do zamierzonego odbiorcy, co będzie aplikacją, która, miejmy nadzieję, będzie wiedziała, co zrobić z wiadomością - ale nie będzie miała pojęcia, jak wiadomość dotarła, ani też wszystkie kroki wymagane do uzyskania odpowiedzi z powrotem na pierwotną maszynę.
Ale wszystko działa, prawie jak magia!
Należy pamiętać, że przełączniki sieciowe mogą używać adresów MAC w celu optymalizacji przepływu ruchu sieciowego. Podczas gdy koncentrator Ethernet po prostu przekazuje cały ruch przychodzący do wszystkich swoich portów, natomiast przełącznik może przekazywać ruch tylko do jednego portu, do którego podłączony jest docelowy adres MAC pakietu. Zwiększa to efektywną przepustowość sieci; poprzez ukierunkowanie na określone porty przełącznik pozwala uniknąć przekierowania ruchu na niepotrzebne segmenty sieci. Przełącznik użyje ARP lub wąchania pakietów, aby zidentyfikować, które urządzenia są podłączone do którego portu. Przełączniki całkowicie ignorują zawartość pakietów warstwy 2.